七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测

admin 5个月前 (04-22) 科技 50 1

人脸应用在盘算机视觉系统中占很大一块,在深度学习火起来之前,基于传统机械学习的人脸应用就已经很成熟了,有许多商用应用场景。本文用一个可以现实运行的Demo来说明人脸应用中常见的手艺观点,包罗‘人脸检测’、‘人脸对比’、‘人脸表征检测(五官定位)’、‘眨眼检测’、‘活体检测’以及‘疲劳检测’。

 

人脸检测

严酷来讲,人脸检测只包罗对照片中的人脸举行定位,人脸检测只获取照片中人脸的矩形方框(Left、Top、Right、Bottom),再没有其他的内容。现如今网上大部分“人脸检测”观点模糊,包罗的器械许多,好比除了适才说的定位,还包罗后面要说的人脸对比,这个严酷上讲是错的。

 

人脸对比

当你使用人脸检测手艺发现图片(视频帧)中包罗一个人脸,那么若何判断该人脸是谁呢?这个就是我们常见的人脸授权应用,将一个人脸与数据库的其他人脸举行对比,看它与数据库中已有人脸哪个最相似。传统机械学习中,人脸对比历程需要先提取人脸特征编码,寻找一个特征向量来取代原有人脸RGB图片,再通过盘算两个人脸特征向量距离来判断人脸是否相似(传统机械学习中的特征工程可以参考上一篇文章)。若是距离小于某值,则以为是同一个人脸,反之亦然。

 

上图显示传统机械学习方法中人脸对比的历程,历程相对来说比较庞大,需要提取合适的特征向量,该特征对原RGB人脸图片有一定代表性。基于深度学习的方式去做人脸对比就相对来说简朴许多,可以直接是一个端到端的流程:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第1张

固然也有的做法是先通过神经网络提取人脸特征,然后再用传统机械学习的方式去训练类似SVM模子去做分类。

 

人脸表征检测(五官定位)

一样平常人脸应用使用前面说到的‘人脸检测’、‘人脸对比’两种手艺就足够了,好比人脸打卡、人脸自动马赛克、人脸开锁等应用。然则更庞大的一些人脸应用只有人脸检测和对比是不够的,好比后面要说的活体检测、疲劳检测等场景。这些时刻不仅要判断人脸的位置(矩形方框),还需要检测出人脸五官位置,好比眉毛形状、眼睛区域、鼻子位置、嘴巴位置等等,有了五官位置数据之后,我们就可以基于这些数据做一些更庞大的应用了,好比实时判断视频中的人是否眨眼、是否闭眼、是否语言、是否低头仰面等等。下图为人脸表征检测获得的效果:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第2张

上图显示通过机械学习提取到一张人脸表征的68个点,分别为:

(1)左眉毛5个点

(2)右眉毛5个点

(3)左眼睛6个点

(4)右眼睛6个点

(5)鼻梁4个点

(6)鼻尖5个点

(7)上嘴唇/下嘴唇20个点

(8)下巴17个点

我们可以通过下标(python中可以使用切片)快速获取对应的坐标点,该坐标点代表脸部表征在原输入图片中的现实位置(像素单元)。

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第3张

 

眨眼检测

对视频每帧做人脸表征检测,获得视频每帧画面中人脸五官的位置数据后,我们可以通过剖析人眼区域(六个点组成一个闭合的椭圆形)的闭合水平来判断是否发生眨眼,那么若何权衡每个眼睛的闭合水平呢?凭据前人研究:http://vision.fe.uni-lj.si/cvww2016/proceedings/papers/05.pdf可知,通过每只眼的6个点即可判断眼睛的闭合水平:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第4张

眼睛在打开到闭适时,下面这个表达式的值快速趋近于零:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第5张

上面表达式EAR(Eye Aspect Ratio)的值即是垂直偏向两个线段长度之和除以水平偏向线段长度*2,这个值在闭眼的瞬间可以趋近于零,在睁眼的瞬间,恢复到原来值。EAR的转变历程如下图所示:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第6张

我们只需要监控EAR的值是否快速颠簸而且趋近于零来判断是否闭眼,是否快速恢复来判断是否睁眼。若是闭眼和睁眼时间距离很短(只占几个视频帧,每秒25帧算),那么就认定为眨眼。

 

活体检测

人脸应用中,为了防止人们使用照片等伪造人脸通过授权,一样平常都需要对画面中的人脸举行活体过滤,即判断当前视频画面中的人脸是否是真人,而不是照片等其他取代物。通过前面先容的眨眼检测手艺,我们可以实现一个异常简朴的‘活体检测’算法,算法每隔一个随机时间段(好比几秒,时间不牢固,防止人们录制视频来伪造)就要求视频画面中的人眨眼,若是画面中的人努力配合算法发出的指令,那么可以以为画面中是真人,否则可能就是伪造人脸。

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第7张

需要说明的是,活体检测仅仅通过以上这种方式可能还不是足够平安,一样平常还可以连系其他活体检测手艺,好比相机深度检测、脸部光线检测、以及行使深度学习手艺直接对人脸举行二分类(活体/非活体)。

 

疲劳检测

疲劳检测这个应用场景太大了,好比可以用于长途汽车司机疲劳监控告警、值班人员疲劳监控告警等。主要原理照样通过前面先容的眨眼检测手艺,将其稍微改善一下,我们就可以对闭眼举行检测,若是闭眼跨越一段时间(好比1秒),那么就以为疲劳发生,发出告警。眨眼判断很简朴,闭眼判断更简朴,这些所有的判断逻辑所有基于人脸表征提取的数据:

七台河信息:[计算机视觉]人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测 第8张

 

Demo源码:在民众号上

需要明确的是,本文所有算法的准确性所有依赖于模子训练的利害,人脸检测是否准确、人脸特征提取是否合适、人脸表征检测效果是否准确。机械学习就是这样,效果的利害完全取决于模子训练的利害(特征提取的利害)。好比本文这个demo中可以容易看到,人脸表征检测对戴眼镜的人脸效果不是很好,需要更多这方面的训练数据。有问题的同伙请留言,感兴趣的同伙请关注民众号,分享原创CV/DL相关文章。

,

申慱手机版登陆

欢迎进入申慱手机版登陆!Sunbet 申博提供申博开户(sunbet开户)、SunbetAPP下载、Sunbet客户端下载、Sunbet代理合作等业务。

网友评论

  • (*)

最新评论

  • 阳光在线app 2020-04-22 01:37:28 回复

    皇冠登录APP皇冠体育APP是一个开放皇冠代理APP下载、皇冠会员APP下载、皇冠线路APP下载、皇冠登录APP下载的平台,皇冠体育APP上最新登录线路、新2皇冠网址更新最快,皇冠体育APP开放皇冠会员注册、皇冠代理开户等业务。百看不厌呢

    1

文章归档

站点信息

  • 文章总数:668
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1076
  • 评论总数:245
  • 浏览总数:14718