人脸应用在盘算机视觉系统中占很大一块,在深度学习火起来之前,基于传统机械学习的人脸应用就已经很成熟了,有许多商用应用场景。本文用一个可以现实运行的Demo来说明人脸应用中常见的手艺观点,包罗‘人脸检测’、‘人脸对比’、‘人脸表征检测(五官定位)’、‘眨眼检测’、‘活体检测’以及‘疲劳检测’。
人脸检测
严酷来讲,人脸检测只包罗对照片中的人脸举行定位,人脸检测只获取照片中人脸的矩形方框(Left、Top、Right、Bottom),再没有其他的内容。现如今网上大部分“人脸检测”观点模糊,包罗的器械许多,好比除了适才说的定位,还包罗后面要说的人脸对比,这个严酷上讲是错的。
人脸对比
当你使用人脸检测手艺发现图片(视频帧)中包罗一个人脸,那么若何判断该人脸是谁呢?这个就是我们常见的人脸授权应用,将一个人脸与数据库的其他人脸举行对比,看它与数据库中已有人脸哪个最相似。传统机械学习中,人脸对比历程需要先提取人脸特征编码,寻找一个特征向量来取代原有人脸RGB图片,再通过盘算两个人脸特征向量距离来判断人脸是否相似(传统机械学习中的特征工程可以参考上一篇文章)。若是距离小于某值,则以为是同一个人脸,反之亦然。
上图显示传统机械学习方法中人脸对比的历程,历程相对来说比较庞大,需要提取合适的特征向量,该特征对原RGB人脸图片有一定代表性。基于深度学习的方式去做人脸对比就相对来说简朴许多,可以直接是一个端到端的流程:
固然也有的做法是先通过神经网络提取人脸特征,然后再用传统机械学习的方式去训练类似SVM模子去做分类。
人脸表征检测(五官定位)
一样平常人脸应用使用前面说到的‘人脸检测’、‘人脸对比’两种手艺就足够了,好比人脸打卡、人脸自动马赛克、人脸开锁等应用。然则更庞大的一些人脸应用只有人脸检测和对比是不够的,好比后面要说的活体检测、疲劳检测等场景。这些时刻不仅要判断人脸的位置(矩形方框),还需要检测出人脸五官位置,好比眉毛形状、眼睛区域、鼻子位置、嘴巴位置等等,有了五官位置数据之后,我们就可以基于这些数据做一些更庞大的应用了,好比实时判断视频中的人是否眨眼、是否闭眼、是否语言、是否低头仰面等等。下图为人脸表征检测获得的效果:
上图显示通过机械学习提取到一张人脸表征的68个点,分别为:
(1)左眉毛5个点
(2)右眉毛5个点
(3)左眼睛6个点
(4)右眼睛6个点
(5)鼻梁4个点
(6)鼻尖5个点
(7)上嘴唇/下嘴唇20个点
(8)下巴17个点
我们可以通过下标(python中可以使用切片)快速获取对应的坐标点,该坐标点代表脸部表征在原输入图片中的现实位置(像素单元)。
眨眼检测
对视频每帧做人脸表征检测,获得视频每帧画面中人脸五官的位置数据后,我们可以通过剖析人眼区域(六个点组成一个闭合的椭圆形)的闭合水平来判断是否发生眨眼,那么若何权衡每个眼睛的闭合水平呢?凭据前人研究:http://vision.fe.uni-lj.si/cvww2016/proceedings/papers/05.pdf可知,通过每只眼的6个点即可判断眼睛的闭合水平:
眼睛在打开到闭适时,下面这个表达式的值快速趋近于零:
上面表达式EAR(Eye Aspect Ratio)的值即是垂直偏向两个线段长度之和除以水平偏向线段长度*2,这个值在闭眼的瞬间可以趋近于零,在睁眼的瞬间,恢复到原来值。EAR的转变历程如下图所示:
我们只需要监控EAR的值是否快速颠簸而且趋近于零来判断是否闭眼,是否快速恢复来判断是否睁眼。若是闭眼和睁眼时间距离很短(只占几个视频帧,每秒25帧算),那么就认定为眨眼。
活体检测
人脸应用中,为了防止人们使用照片等伪造人脸通过授权,一样平常都需要对画面中的人脸举行活体过滤,即判断当前视频画面中的人脸是否是真人,而不是照片等其他取代物。通过前面先容的眨眼检测手艺,我们可以实现一个异常简朴的‘活体检测’算法,算法每隔一个随机时间段(好比几秒,时间不牢固,防止人们录制视频来伪造)就要求视频画面中的人眨眼,若是画面中的人努力配合算法发出的指令,那么可以以为画面中是真人,否则可能就是伪造人脸。
需要说明的是,活体检测仅仅通过以上这种方式可能还不是足够平安,一样平常还可以连系其他活体检测手艺,好比相机深度检测、脸部光线检测、以及行使深度学习手艺直接对人脸举行二分类(活体/非活体)。
疲劳检测
疲劳检测这个应用场景太大了,好比可以用于长途汽车司机疲劳监控告警、值班人员疲劳监控告警等。主要原理照样通过前面先容的眨眼检测手艺,将其稍微改善一下,我们就可以对闭眼举行检测,若是闭眼跨越一段时间(好比1秒),那么就以为疲劳发生,发出告警。眨眼判断很简朴,闭眼判断更简朴,这些所有的判断逻辑所有基于人脸表征提取的数据:
Demo源码:在民众号上
需要明确的是,本文所有算法的准确性所有依赖于模子训练的利害,人脸检测是否准确、人脸特征提取是否合适、人脸表征检测效果是否准确。机械学习就是这样,效果的利害完全取决于模子训练的利害(特征提取的利害)。好比本文这个demo中可以容易看到,人脸表征检测对戴眼镜的人脸效果不是很好,需要更多这方面的训练数据。有问题的同伙请留言,感兴趣的同伙请关注民众号,分享原创CV/DL相关文章。
,欢迎进入申慱手机版登陆!Sunbet 申博提供申博开户(sunbet开户)、SunbetAPP下载、Sunbet客户端下载、Sunbet代理合作等业务。
网友评论
最新评论
皇冠登录APP皇冠体育APP是一个开放皇冠代理APP下载、皇冠会员APP下载、皇冠线路APP下载、皇冠登录APP下载的平台,皇冠体育APP上最新登录线路、新2皇冠网址更新最快,皇冠体育APP开放皇冠会员注册、皇冠代理开户等业务。百看不厌呢