人脸检测——MTCNN

22596人阅读 评论(9) 收藏 举报
分类:

本次介绍一篇速度还不错的人脸检测文章:

《2016 Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》.

源代码作者刚刚公布,效果相当不错(只有测试代码):
https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html?from=timeline&isappinstalled=1

另外一位同学实现的MTCNN基于MXNET的训练代码,工作比较完整,参考价值比较大: https://github.com/Seanlinx/mtcnn

———————————— Pipeline————————————

JDA Pipeline

上面是该方法的流程图,可以看出也是三阶级联,和我之前的一篇博文CascadeCNN很像。

stage1: 在构建图像金字塔的基础上,利用fully convolutional network来进行检测,同时利用boundingbox regression 和 NMS来进行修正。(注意:这里的全卷积网络与R-CNN里面带反卷积的网络是不一样的,这里只是指只有卷积层,可以接受任意尺寸的输入,靠网络stride来自动完成滑窗)

stage2: 将通过stage1的所有窗口输入作进一步判断,同时也要做boundingbox regression 和 NMS。

stage3: 和stage2相似,只不过增加了更强的约束:5个人脸关键点。

———————————— Network ————————————

Stage1: Proposal Net

JDA Network1

Stage2: Refine Net

JDA Network2

Stage3: Output Net

JDA Network3

由上可以看出,其网络结构较CascadeCNN略深但每层参数较少,所以该方法性能较好同时速度和CascadeCNN也相差无几。

补充:

(1) 文中训练使用了Online Hard sample mining策略,即在一个batch中只选择loss占前70%的样本进行BP;

(2) 不同阶段,classifier、boundingbox regression 和 landmarks detection在计算Loss时的权重是不一样的;

(3) 训练数据共4类,比例3:1:1:2,分别是negative,IOU<0.3; positive,IOU>0.65; part face,0.4

———————————— Result ————————————

在FDDB上的表现:

JDA Network3

速度表现,CPU约15FPS

JDA Network3

9
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:399599次
    • 积分:4926
    • 等级:
    • 排名:第6023名
    • 原创:107篇
    • 转载:10篇
    • 译文:1篇
    • 评论:437条
    最新评论