赞
踩
人脸检测/人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头擦剂含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
人脸识别被认为是生物特征识别领域甚至人工智能邻域最困难的研究课题之一。人脸识别的困难主要是人脸作为生物特征的特点所带来的:
1、相似性:不同个体之间的区别不大,所有人脸的结构都相似,甚至人脸器官的结构外形都很相似。这样的特点对于利用人脸进行定位是有利的,但是对于利用人脸区分人类个体是不利的;
2、易变性:人脸的外形很不稳定,人可以通过脸部的变化产生很多表情,而在不同观察角度,人脸的视觉推向也相差很大,另外,人脸识别还受光照条件(例如白天和夜晚,室内和室外等)、人脸的很多遮盖物(例如口罩、墨镜、头发、胡须等)、年龄等多方面因素的影响。
在人脸识别中,第一类的变化是应该放大而作为区分个体的标准的,而第二类的变化应该消除,因为他们可以代表同一个个体。通常称第一类变化为类间变化(inter-class difference),而称第二类变化为类内变化(intra-class difference)。对于人脸,类内变化往往大于类间变化,从而使在受类内变化干扰的情况下利用类间变化区分个体变得异常困难。
人脸识别主要用于身份识别,由于视频监控正在快速普及,众多的视频监控应用迫切需要一种远距离、用户非配合状态下的快速身份识别技术,以求远距离快速确认人员身份,实现智能预警。人脸识别技术无疑是最佳的选择,采用快速人脸检测技术可以从监控视频中实时查找人脸,并与人脸数据库进行实时比对,从而实现快速身份识别。
人脸识别产品已广泛应用于金融、司法、军队、公安、边检、政府、航天、店里、工厂、教育、医疗及众多事业单位等领域。随着技术的进一步成熟和社会认同度的提高,人脸识别技术将应用在更多的领域。
1、企业、住宅安全和管理。如人脸识别门禁考勤系统,人脸识别防盗门等;
2、电子护照及身份证、公安、司法、刑侦等;
3、自助服务、信息安全等。
MTCNN(Multi-task convolutional neural network)即多任务卷积神经网络,该网络将人脸区域检测与人脸关键点检测放在了一起。
从工程实践上,MTCNN是一种检测速度和准确率都很不错的算法,算法的推断流程有一定的启发性。
其总体可分为P-Net、R-Net和O-Net三层网络结构。
1、由原始图片和P-Net生成预测的bounding boxes。
2、输入原始图片和P-Net生成的bounding box,通过R-Net,生成矫正后的bounding box。
3、输入原始图片和R-Net生成的bounding box,通过O-Net,生成矫正后的bounding box和人脸面部轮廓关键点。
MTCNN主要包括三层网络:
1、第一层P-Net将经过卷积,池化操作后输出分类(对应像素点是否存在人脸)和回归(回归box)结果。
2、第二层网络将第一层输出的结果使用非极大值抑制(NMS)来去除高度重合的候选框,并将这些候选框放入R-Net中进行精细的操作,拒绝大量错误框,再对回归矿做校正,并使用NMS去除重合框,输出分支同样两个分类和回归;
3、最后将R-Net输出认为是人脸的候选框输入到O-Net中再一次进行精细操作,拒绝掉错误的框,此时输出分支包含三个分类:a)是否有人脸,2个输出;b)回归:回归得到的框的起始点的xy坐标和框的长宽,4个输出;c)人脸特征点定位:5个人脸特征点的xy坐标,10个输出。
注:三段网络都有NMS,但是设置的阈值不同。
首先对图片进行Resize操作,将原始图像所方程不同的尺度,生成图像金字塔。然后将不同尺度的图像诉讼入到这三个字网络中进行训练,目的是为了可以检测到不同大小的人脸,从而实现多尺度目标检测。构建方法是通过不同的缩放洗漱factor分别对图片的h和w进行缩放,每次缩小为原来的factor带下。
注意:缩小后的长宽最小不可以小于12。
对图片做“金字塔”变换的原因在于,图片中的人脸尺度有大有小,让识别算法不被目标尺度影响一直是个挑战。
MTCNN使用了图像金字塔来解决目标多尺度问题,即把原图按照一定的比例(如0.707),多次等比缩放得到多尺度的图片,很像个金字塔。
P-Net的模型是用单尺度
12
×
12
12\times 12
12×12的图片训练出来的。推理的时候,缩小后的长宽最小不可以小于12.
对多个尺度的输入图像做训练,训练是非常耗时的。因此通常只在推理阶段使用图像金字塔,提高算法的精度。
设置合适的最小脸尺寸和缩放因子可以优化计算效率:
1、factor是指每次对边缩放的倍数;
2、第一阶段会多次缩放原图得到图片金字塔,目的是为了让缩放后图片中的人脸与P-Net训练时候的图片尺度
12
p
x
×
12
p
x
)
12px\times 12px)
12px×12px)接近;
3、引申优化项:先把图像缩放到一定大小,在通过factor对这个大小进行缩放,可以减少计算量。
最基本的构造四一个全卷积网络。对于上一步构建完成的图像金字塔,通过一个FCN(全卷积网络)进行初步特征提取与标定边框。
MTCNN算法能够接受任意尺寸的图片的原因在于:
从网络图可以看到,只是由于该网络结构和P-Net网络结构有差异,多了一个全连接层,所以会取得更好的抑制false-positive的作用。在输入R-Net之前,都需要缩放到
24
×
24
×
3
24\times 24 \times 3
24×24×3,网络的输出与P-Net是相同的,R-Net的目的是为了去除大量的非人脸框。
该层比R-Net多了一层卷积层,所以处理结果会更加精细。输入的图像大小为
48
×
48
×
3
48\times 48 \times 3
48×48×3,输出包括N个边界框的坐标信息,score以及关键点位置。
从P-Net到R-Net,再到最后的O-Net,网络输入的图像越来越大,卷积层的通道数越来越多,网络的深度(层数)也越来越深,因此识别人脸的准确率应该也是越来越高的。
MTCNN人脸检测的训练数据下载地址:http://shuoyang1213.me/WIDERFACE/。该数据集有32203张图片,共有93703张脸被标记。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。