Faces人脸识别

分为两个模块,Faces文件夹下存放人脸识别算法的代码,Web文件夹下存放网站搭建的代码

详情请查看各个模块下的readme文档

项目简介

核心算法

一款基于Dlib、opencv开发的人脸识别程序,包含人脸检测、人脸校正、人脸识别、表情识别四个模块

  • 人脸检测问题上,初步采用了传统HOG+SVM的方式,单次人脸检测仅需0.1s
  • 针对人脸检测过程中部分人头偏移角度过大而检测不到人脸的问题,加入具有角度自适应性的旋转鲁棒算法
  • 人脸识别问题上,使用适用于人脸的ResNet-34深度神经网络来提取人脸特征,在公共数据集上拥有99.37%的准确率
  • 针对女明星妆容变化较大(不同年龄、不同化妆风格)的情况,采用数据增强的方法,通过爬虫自动爬取女明星本人更多的照片,扩大已知人像库,尽可能消除女明星妆容变化较大引起的误差
  • 为了拥有更高的准确性,加入基于人脸关键点的人脸校正模块。先将人脸校正、标准化后再送入深度神经网络中,可以得到更加稳定的编码,同等情况下可以提升3.6%的准确率
  • 为了增加项目的可玩性,加入了基于深度学习的表情识别模块,快来体验一下!

人脸检测效果图如下

经过人脸检测、人脸校正并裁剪后的stdface如图

人脸识别结果

表情识别结果

Web部分

一个基于flask框架搭建的包含人脸图库、人脸识别的轻量级网站

  • 为了与python程序高度耦合,采用python轻量级框架flask,部署在服务器的127.0.0.1:5000上
  • 针对每次调用程序都要花费大量时间重新加载模型的问题,将算法使用到的模型常驻内存中,单次调用人脸识别程序仅需0.3s

网站主要页面如图

  • 首页:

  • 人像图库

  • 人脸识别(未上传)

  • 人脸识别结果

  • 表情识别结果

  • 关于我们

  • API调用耗时

Faces人脸识别项目简介的更多相关文章

  1. 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn

    https://www.cnblogs.com/31415926535x/p/11001669.html 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn ...

  2. Github开源人脸识别项目face_recognition

    Github开源人脸识别项目face_recognition 原文:https://www.jianshu.com/p/0b37452be63e 译者注: 本项目face_recognition是一个 ...

  3. anaconda3下配置python-3.5+tensorflow-gpu-1.9.0人脸识别项目环境

    https://www.cnblogs.com/31415926535x/p/10620732.html 之前为了配置tensorflow-gpu的环境又是装cuda,又是装cudnn,还有tenso ...

  4. 基于Python与命令行人脸识别项目(系列一)

    Face Recognition 人脸识别 摘要:本项目face_recognition是一个强大.简单.易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,方便大家使用.对于本项目可以使用 ...

  5. python人脸识别项目face-recognition

    该项目基于Github上面的开源项目人脸识别face-recognition,主要是对图像和视频中的人脸进行识别,在开源项目给出的例子基础上对视频人脸识别的KNN算法进行了实现. 0x1 工程项目结构 ...

  6. 基于Python与命令行人脸识别项目(系列二)

    接着系统一,继续开始我们face_recognition. Python 模块:face_recognition 在Python中,你可以导入face_recognition模块,调用丰富的API接口 ...

  7. 项目总结二:人脸识别项目(Face Recognition for the Happy House)

    一.人脸验证问题(face verification)与人脸识别问题(face recognition) 1.人脸验证问题(face verification):           输入       ...

  8. opencv基于PCA降维算法的人脸识别

    opencv基于PCA降维算法的人脸识别(att_faces) 一.数据提取与处理 # 导入所需模块 import matplotlib.pyplot as plt import numpy as n ...

  9. 人脸识别Demo解析C#

    概述 不管你注意到没有,人脸识别已经走进了生活的角角落落,钉钉已经支持人脸打卡,火车站实名认证已经增加了人脸自助验证通道,更别提各个城市建设的『智能城市』和智慧大脑了.在人脸识别业界,通常由人脸识别提 ...

随机推荐

  1. django-mvc

    而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处 ...

  2. Maven安装(linux系统)

    解压: 修改配置: export JAVA_HOME=/usr/java/jdk1..0_80 export MAVEN_HOME=/software/apache-maven- export PAT ...

  3. Python之迭代器及生成器

    一. 迭代器 1.1 什么是可迭代对象 字符串.列表.元组.字典.集合 都可以被for循环,说明他们都是可迭代的. 我们怎么来证明这一点呢? from collections import Itera ...

  4. python实现http接口自动化测试(完善版)

    今天给大家分享一个简单的Python脚本,使用python进行http接口的自动化测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值 ...

  5. Deep Learning(1)

    深度学习是机器学习研究中的一个新的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本.深度学习是无监督学习的一种. 深度学习的概念源于人工神经网络的 ...

  6. [C#]解决程序Vista/Win7下因UAC导致的读写错误

    在微软的操作系统中,vista和win7加入了UAC的功能,UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户 ...

  7. SLG手游Java服务器的设计与开发——网络通信

    文章版权归腾讯GAD所有,禁止匿名转载:禁止商业使用:禁止个人使用. 一.前言 上文分析了我们这款SLG的架构,本章着重讲解我们的网络通信架构,由上文的功能分析我们可以得知,游戏的所有功能基本上属于非 ...

  8. MongoDB之Replica Set(复制集复制)

    MongoDB支持两种复制模式: 主从复制(Master/Slave) 复制集复制(Replica Set) 下面主要记录我在centos虚拟机上安装replica set,主要参考:http://d ...

  9. cocos代码研究(13)Widget子类EditBox学习笔记

    理论基础 一个用来输入文本的类,继承自 Widget , 以及 IMEDelegate. 代码部分 Public枚举类型 enum KeyboardReturnType键盘的返回键类型. enum I ...

  10. Ubuntu软件包管理器

    Ubuntu软件包管理 Ubuntu下对软件管理工具有:apt,dpkg,tasksel,aptitude等,我们常用的就是前三个工具.下面就介绍这三个工具的用法. dpkg 在Linux发展之初,安 ...