人脸检测

其实前面几个月看过人脸检测测论文,就是我写MTCNN那阵,看过了10篇?其实主要仍是看的别人的专栏和总结,本身没怎么深刻看。由于感受和目标检测用的方法很像。还没决定作哪一个方向以前,仍是在加强基本功比较好。网络

人脸检测和通用目标检测的区别架构

1. 要求速度快,能作到实时。毕竟用在安防这种地方,讲究的就是实时监测框架

2. 要求效率高,由于人脸比较小,因此须要对小物体准确率比较高优化

因此须要在通用目标检测框架基础上作一些见得修改。参照别人的专栏,本身写一下吧。翻译

https://zhuanlan.zhihu.com/p/327028683d

https://zhuanlan.zhihu.com/p/38512246blog

https://zhuanlan.zhihu.com/p/36621308图片

1.级联系列ast

https://zhuanlan.zhihu.com/p/38340206模板

主要参考这我的的文章,写的很详细。

Cascade CNN

这篇为级联网络结构和CNN结合的第一论文?以后MTCNN就是在他的基础上作得修改。结构以下,3个特征提取网络,分析是否属于人脸,3个回归框调整网络,对回归框位置进行调整:

先是3个特征提取网络,12net,24net和48net,表明属于输入的图片格式大小。即便用12*12的滑动窗口进行滑动,提取图片输入网络中。12net的做用是先大量粗晒不符合的图片,为下一步准备分类减小负担。注意24net和48net都有一个分支,这个分支也会提取特征,而后与24net或48net的全链接层组合,一块儿判断是否属于人脸。

 

 回归框调整网络,彻底是利用先验知识作得调整。注意最后labels是48个评分,即对48种调整分别作了评分。以下:

 

 如何进行的45种调整呢?5*3*3以下:

  Sn:(0.83,0.91,1.0,1.10,1.21)

  Xn:(-0.17,0,0.17)

  Yn:(-0.17,0,0.17)

 MTCNN

 MTCNN是在原来Cascade CNN上作得一种调整。

 第一步是先造成图像金字塔,取不一样大小的图像,以后在整幅图上作全卷积,注意第一次P-net无全链接网络,由于输入的图片大小不同。以后筛选以后将第一次的预测图像resize成24*24,而后输入到R-net中,而后进行预测。第三次resize成48*48,而后输入到O-net中,再进行预测。流程以下图:

 

 精细的网络结构以下图。能够看到和Cascade仍是很像的,都是级联网络,加入了关键点检测,同时第一层12*12网络也去掉了全链接层:

 

 Facecraft

级联网络的进一步优化,作到了end2end训练,可是貌似效果不如MTCNN不过端到端训练应该是个趋势,毕竟速度快。.总体框架如图,很明白的图,就是分三支路,以后分别预测同时和下一支路特征进行融合。还提到了和Fastrcnn进行联合训练?没仔细看是如何提出的。。。

 

 loss部分

Finding tiny face

这个不是级联网络,更像目标检测中One-Stage方法作得一种优化,明显针对小目标的。如图,有几种训练方式,能够直接看翻译。

1. 模板固定,即人脸大小固定,输入不一样resize后的图像。

2. 图像固定,输入不一样大小的人脸

3.前两种的结合,改变人脸和图像

由于同一副图像中多个不一样人脸,大小也不同,resize的意义在于检测多尺度信息,尤为是小目标。这个模板是如何取得?不是特别清楚。模板就很像目标检测的anchor结构了。估计也是经过聚类来获得的一种先验统计

4,5. 在3的基础上增长一些上下文信息,有助于分类识别。文中叫context.

下图为网络架构不一样大小,不一样大小图片和不一样size的人脸模板

 

 还对比了一组加入上下文信息后的结果,融入不一样层feature map有助于小人脸的识别:

Face-RCNN

对Faster-RCNN作得一个优化,加入center loss,多尺度训练,还有对正负样本的限制。。没仔细看,由于一看到和Frcnn像就没看下去了。。

central loss更多用于人脸识别。就是不一样人脸经过网络造成向量,对比不一样向量间差别能更好识别人脸。

 

 SSH

 基于SSD的,对传统的人脸检测改进就是再也不resize输入图片,而是由不一样的卷积,形成不一样的感觉野,以此区分大,中,小脸。还要产生K个anchor结构

其中MA,M2,M3模块就是不一样的感觉野模块,经过不一样大小的卷积造成的。

相关文章
相关标签/搜索