目录
人脸检测:
人脸检测核心算法:级联模型、多任务模型、多尺度模型
人脸关键点检测:
人脸关键点检测核心算法:关键点点数、多任务模型、大姿态定位、关键点跟踪
人脸识别:
人脸识别核心算法:检测-对齐-识别流程、度量学习、分类+验证模型、优化目标改进
人脸属性识别:
人脸属性分析核心算法:表情识别、年龄识别、颜值识别、装饰识别、脸型识别、性别识别
人脸与关键点检测实战、人脸识别实战、人脸表情识别实战
人脸检测核心算法:
任务流程:
- 如何选择图像块?
- 如何提取特征?
- 如何判断是否为人脸?
选择图像块—>提取特征进行描述—>判断是否为人脸
基础的数据集:
WiderFace:为现在主流使用数据集,比较适合评测人脸识别算法,检测结果的权威性比较高
伪造脸是目前安全领域内比较重要的问题
基于人脸先验知识的方法:
Faceness:
- 分区域检测人脸五官(概率图)
- 基于五官分布规则
![](https://i-blog.csdnimg.cn/blog_migrate/c3be84e97de83275b787ccafd8442a36.png)
faceness:借助了多个基于DCNN网络的facial parts分类器对人脸进行打分,然后根据每个部件的得分进行规则分析得到Proposal的人脸区域,最后通过一个Refine的网络得到最终的人脸检测结果。
第1阶段:生成partness map,由局部推理出人脸候选区域。
根据attribute-aware深度网络生成人脸部件map图(partness map),文章共使用了5个部件:hair,eye,nose,mouth,beard. 通过part的结合计算人脸的score.部件与部件之间是有相对位置关系的,比如头发在眼睛上方,嘴巴在鼻子下方,因此利用部件的spatial arrangement可以计算face likeliness. 通过这个打分对原始的人脸proposal进行重排序。
第2阶段:Refining the face hypotheses
上一阶段proposal生成的候选框已经有较高的召回率,通过训练一个人脸分类和边界回归的CNN可以进一步提升其效果。
Faceness的整体性能在当时看来非常令人兴奋。此前学术界在FDDB上取得的最好检测精度是在100个误检时达到84%的检测率,Faceness在100个误检时,检测率接近88%,提升了几乎4个百分点;除了算法本身的精度有很大提升,作者还做了很多工程上的优化比如:通过多个网络共享参数,降低网络参数量 83%;采用多任务的训练方式同一网络实现不同任务等。
这部分内容参考链接:人脸检测 - 知乎
检测到五官后会去得到最终的人脸:
人脸概率图计算:基于预定规则;积分图快速计算
Cascade CNN:级联结构不断筛选候选框;边界改进网络更好的定位人脸位置
级联:指建立层次连接的层级结构。
优点:
级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快。
缺点:
在数据较小时易陷入过拟合。
- 3个尺度的检测网络(12net,24net,48net)
- 3个尺度的边界修订网络(12-calibration-net,24~,48~)
图中从输入到输出,不断减小候选的人脸区域,得到最终的结果
通用的目标检测模型也是可以用到人脸识别上的
![](https://i-blog.csdnimg.cn/blog_migrate/056306490ccc9c8f8df6538aa571d365.png)
小脸检测问题:
面临的挑战:
- 尺度小,特征模糊
- 感受野的大小和预设anchor的大小、小脸的大小不匹配
使用方法:
- 多尺度输入(图像金字塔)
- 多尺度特征
- 多尺度预测
- 各类方法融合
M1分支,因为步长最小,则特征图大,可以检测到更小的人脸
通用目标检测模型使用在人脸识别上:
anchor策略:(预测的anchor与实际人脸的尺度不匹配)