热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【神经网络】MCCN(Multi-taskCascadedConvolutionalNetworks)人脸识别与特征点检测论文解析

在使用faceNet的时候,看到faceNet官方使用的人脸识别和归一化方法是MCCN(Multi-taskCascadedConvolutionalNetworks),看代码貌似

在使用faceNet的时候,看到faceNet官方使用的人脸识别和归一化方法是MCCN(Multi-task Cascaded Convolutional Networks ),看代码貌似是使用三个网络来共同完成人脸识别与面部特征点确定这个多目标工作。就顺便看了一下论文《Joint Face Detection and Alignment usingMulti-task Cascaded Convolutional Networks》。


第一个网络是一个浅层神经网络(后简称pnet) => 产生初步候选框

第二个网络是一个“more complex CNN“相较pnet更为复杂的网络(后简称rnet)=> 从初步候选框中筛选掉大量的不包括人脸的框

第三个网络是一个“more powerful CNN”相较rnet更为强大的网络(后简称onet)=> 进一步优化结果以及产生五个面部特征点(双眼,鼻尖,嘴角)






从论文上说,这套东西的效率可以达到实时检测(real time performance)。并且从检测性能上和现有技术横向对比也是有了很大提高。


阶段一:

P-Net 提案网络。输出很多的候选框。然后用非最大抑制法来合并重复度很高的框(non-maximum suppression (NMS))

阶段二:

R-Net 调优网络。接受所有阶段一的产出,并且根据面部可信度来过滤提案和优化选框范围。它的结果也要接受NMS。

阶段三:

O-Net 类似P-Net,但会用更多面部特征来要求选框。最后会额外输出五个面部特征点。



网络设计思路

减少了过滤器的数量,并把5x5的过滤器换成3x3的过滤器来减少计算量,且增加深度,以获得更好的性能表现。

激活函数用了PReLU,简单贴一下PReLU的图:


综合看这三个阶段的网络,他们都是一网多功能的高级货,目标都是一致的,只是各自重点和精确度不同,每个网络都同时具有这三个功能:是否人脸的分类器,选择选框的回归问题,人脸特征点标识。

对于是否人脸分类器损失函数选用交叉熵。

对于选框(左上角x,左上角y,截图宽,截图高)回归损失函数选用欧氏距离。

人脸特征点标识(十个值,两两一组,分别表达左眼、右眼、鼻、左嘴角、右嘴角)也是一个回归问题,用欧氏距离做损失函数。

从三个网络最终输出来说,总的来说损失函数如下:


N是样本数量;

α表示损失占比:

在第一、二阶段:

det = 1, box = 0.5 landmark = 0.5

三阶段:

det = 1, box = 0.5 landmark = 1;

L表示损失,对应上述的几种损失计算方法;

β∈{0,1} 表示对不同的样本类型的损失惩罚力度。(或许正样本的β较大,TODO 需关注)



Online Hard sample mining(在线难例选择 )

一般在线的难例都是在一个batch中选择难例,MCCN是在一batch中选择lost排名前70%的用例用于梯度回流,排除计算结果比较正确的例子,增强网络的健壮性。从MCCN对这个trick的使用结果来说,有效的提升了网络的性能。

下面(a)图即是有使用在线难例选择和没有使用在线难例选择在ROC曲线中的差异:


考证多任务网络的优势

各阶段目标重点都不一样,为何都要用多任务网络来训练?实验考证了多任务训练对获得更好单任务输出的裨益。上图(b)表中,考证了O-Net在有人脸检测任务和无人脸检测任务下的性能差别(黄线对蓝线)。也考证了O-Net在有选框回归和无选框回归下的差别(这里存疑)。


关于实验

训练数据:

整个实验过程涉及到四种不同的训练数据。(1)负例来源是IOU<0.3的图片。(2)正例是IOU>0.65的图片。(3)人脸局部,来源是IOU在0.4~0.65之间的人脸内部图。(4)人脸特征标识,即是人脸的五个特征点。这四项样本的比例是3:1:1:2 (negatives/ positives/ part face/ landmarkface) 。

因为负例和人脸局部的边界很模糊,在训练使用的时候是这样的:是否人脸分类任务使用正例和IOU在0.3~0.4之间的负例;选择选框任务使用正例和人脸局部;人脸特征点标识就用人脸特征点数据。

采例来源: 1~3种数据采自WIDER-FACE,4采自CelebA。

实验结果:

在人脸识别(是否人脸任务)上,ROC与其他人脸识别算法比较:



在五点检测上,与其他算法的对比:


据说嘴部检测优势巨大。


最后看看实时检测的效果,论文作者在打出99FPS的结果时还不忘秀一发“这可是我们用没优化的matlab代码跑出来的哟”。




end.


推荐阅读
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了如何使用MATLAB调用摄像头进行人脸检测和识别。首先需要安装扩展工具,并下载安装OS Generic Video Interface。然后使用MATLAB的机器视觉工具箱中的VJ算法进行人脸检测,可以直接调用CascadeObjectDetector函数进行检测。同时还介绍了如何调用摄像头进行人脸识别,并对每一帧图像进行识别。最后,给出了一些相关的参考资料和实例。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 人脸检测 pyqt+opencv+dlib
    一、实验目标绘制PyQT界面,调用摄像头显示人脸信息。在界面中,用户通过点击不同的按键可以实现多种功能:打开和关闭摄像头, ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
  • 读手语图像识别论文笔记2
    文章目录一、前言二、笔记1.名词解释2.流程分析上一篇快速门:读手语图像识别论文笔记1(手语识别背景和方法)一、前言一句:“做完了&#x ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 论文阅读:《Bag of Tricks for LongTailed Visual Recognition with Deep Convolutional Neural Networks》
    基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂 ... [详细]
author-avatar
丹丹2502912601
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有