[普通]人脸系列:人脸检测、人脸关键点定位、人脸优选、人脸对齐、人脸特征提取、人脸跟踪、人脸活体检测

作者(passion) 阅读(1206次) 评论(0) 分类( 算法)

一、一点想法

缘由:最近想整理下从事人脸方向的所有查阅过的论文,做过的相关实验,因为随着时间的推移,自己总会遗忘当初的一些想法,所以想好好整理下自己的学习笔记。


过程:本系列包括从人脸检测、人脸关键点检测、人脸优选、人脸对齐、再到人脸特征提取的一系系列过程,每个模块都有尝试一些网络结构和方法,因为自己主要部署在嵌入式平台、移动端等设备,所以都是采用轻量级的网络结构,采用Caffe训练,然后采用腾讯的NCNN框架部署,每个模块都发布过想要的版本,这其中也遇到过很多坑,所以想记录下自己的学习过程。这个过程包括先了解各个模块相关的最前沿的论文,然后在github上查找相关作者的网络结构,再到最后自己复现和实验,过程都很繁琐,但是作为了一个从事CV的小白来说,需要的是更多的耐心和毅力去弯沉整个流程的学习,因为过程很重要。


结果:每一个模块,都需要时间去探索和学习,在这条道路上,我遵循的原则是先了解在深入,先将每个模块的基础框架建立,以后在慢慢深入,先打通了任督二脉,再去闯荡江湖,边闯边学边琢磨。这里的每篇论文现在还只有论文地址,我会在近段时间慢慢完善内容,把框架建立起来,从论文到实验,给出自己的见解,争取做到最好,也给需要的同学一些方向。论文也是从简单到复杂的方向去写的,自己开始的时候都是从基础网络和模型开始的,所以可以按照下面的目录慢慢深入,以后会写的更加深入和完美。


二、人脸系列

 


人脸检测:Face Detection

人脸检测主要用到了MTCNN和MobileNet_SSD做人脸检测生成检测框,为后续的识别做处理。


MTCNN解读: https://blog.csdn.net/TheDayIn_CSDN/article/details/93190812


MTCNN学习总结:https://blog.csdn.net/TheDayIn_CSDN/article/details/86588731


MobileNet_SSD解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93190972


Tiny-DSOD解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93191904


 


人脸关键点检测:Face Landmark Detection

关键点检测主要训练过MobileNetv1、MobileNetv2、MobileNetv3,尝试过各种轻量化的网络结构。后面会完善关键点训练过程和总结。


PFLD解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93191633


 


人脸优选:Face Selection

人脸优选主要是做质量筛选,刚开始是用传统图像处理的方法做边缘检测,图像质量筛选等,但是效果不好;后面又尝试用深度学习的分类的方法做模糊人脸,人脸姿态,人脸遮挡,人脸关照等,训练过单分类和多分类的方法,效果都不是很理想。


人脸质量评估-模糊检测方法总结:https://blog.csdn.net/thedayin_csdn/article/details/86671972


图像增强方法总结:https://blog.csdn.net/thedayin_csdn/article/details/86682034


人脸模糊检测:https://blog.csdn.net/thedayin_csdn/article/details/86682266


质量判断总结:https://blog.csdn.net/TheDayIn_CSDN/article/details/86682184


 


人脸对齐:Face Alignment

人脸对齐主要是在人脸关键点检测的基础上,利用仿射变换、相似变换等对关键点进行处理,将非正面人脸旋转成正脸来进行人脸特征提起,人脸关键点的好坏和对齐的效果影响人脸对齐的结果。


 


人脸识别:Face Recognition

刚开始接触人脸特征提取吗,觉得很高大上,不管是什么论文都想看看,但是发现论文的理论性很强,人脸识别经常会有很多新的loss函数出现,所以越学越吃力,单纯从理论方面有时候很难理解,所以我的做法是边看论文边做实验,训练模型,训练的过程中去理解,然后又回过头去复盘,查看自己的理解程度。其实人脸识别就是一个分类的过程,只不过分的类别是根据人脸ID去分类,不是我们平时做的只有几类的分类任务,总的来说就是一个分类的过程。网络训练的时候有很多技巧,比如先用Softmax训练一个基础版本,然后在用另外的loss函数比如arcface去微调模型。人脸特征提取的知识很多,需要学习的内容也很多,所以需要好好沉下心来。


最初训练的网络模型是SphereFace64和MobileFaceNets,先从基础的模型开始,采用公开数据集,后续慢慢根据场景优化。


Center Loss 解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93177519


CosFace 解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93177824


ArcFace解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93176376


SphereFace解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93175787


MobileFaceNets解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93190363


 


人脸跟踪:Face Tracking

待补充KCF人脸跟踪


Face Tracking:人脸跟踪KCF解读:https://blog.csdn.net/TheDayIn_CSDN/article/details/93630743


 


人脸活体检测:Face Anti-Spoofing

待补充双目红外活体


Face Anti-Spoofing:人脸活体检测 :https://blog.csdn.net/TheDayIn_CSDN/article/details/93631468


« 上一篇:wifi共享上网(至尊版wifi)
« 下一篇:TensorFlow与主流深度学习框架对比
在这里写下您精彩的评论
  • 微信

  • QQ

  • 支付宝

返回首页
返回首页 img
返回顶部~
返回顶部 img