人脸检测只是人脸识别系统中的一步,当然是非常重要的一步;反人脸检测(躲开人脸检测)也只是反人脸识别的一种手段,在特定场景下是奏效的,但“头部左右倾斜15度以上”的“伎俩”是达不到这效果的,为什么呢?是否有更有效的方法呢?我们来探讨一下:
首先,我们需要了解人脸识别的一般过程,如图2:
图2. 人脸识别一般过程
可以看出,人脸检测是入口,检测失败则后续识别无从谈起;人脸检测一般也包括了人脸关键点检测(Facial Landmark Detection),检测成功后的预处理是根据人脸关键点将人脸摆正、对齐,将人脸图像规定在只包含五官的部分,当然也可能包含对光照的处理;识别过程则类似一般图像(模式)分类,大体是提取某种特征(用于表示人脸图像的数学向量,是对人脸图像进行特定的运算获得,如获得矩阵特征值即为一种方法),选择某种分类方法(传统神经网络及DeepLearning方法与此有别)。
那么,影响人脸识别的因素实际上可包含影响人脸检测的因素和影响特征提取的因素:
影响人脸检测的因素有:光照、人脸姿态、遮挡程度;
影响特征提取的因素有:光照、年龄、表情、遮挡程度。
所以,反人脸检测是反人脸识别最直观的方法,题主所引用VEDO中用到的反人脸检测 的方法莫过于从影响人脸检测的因素及人脸检测原理入手,这里留在下一节讲。
同样的道理,破坏影响特征提取的因素在理论上也是可以达到反人脸识别的效果。
2.1 人脸检测
目前流行的人脸检测方法多源自Viola–Jones object detection framework( Viola ),这里并不打算描述该过程,OpenCV Face Detection: Visualized 非常直观地展现了这一过程。
基本上,了解了该算法,使用OpenCV自带的分类器,便可实现正脸的检测;但对于图像中人脸的其他姿态,则有较高的漏检率,这也就是为何题主及其引文将场景设为“头部左右倾斜15度以上”,其实还可以为“头部向下俯或向上仰15度以上”或“头部向左或向右偏15度以上”,只不过“头部左右倾斜15度以上”伪装或躲避镜头的意图不算太明显而已。
人脸在空间中的旋转有三种,即绕水平轴旋转(俯仰)、绕垂直轴旋转(摇摆)和绕视平面法向轴旋转(倾斜),如图3所示:
图3. 人脸在空间中的旋转
也即roll, yaw, pitch,注意图1结果中的红框,对应如图4:
图4. 人脸在空间中的旋转
也就是说,完善的人脸检测算法,是要适应一定多视角的,如考虑的姿态范围为摇摆[-90°, +90°],倾斜[-45°, +45°]和俯仰[-20°, +20°]。更多的结果如下:
图5. Multi-View Face Detection
图6. Face
图7. CNN for Facial Point Detection
2.2 反人脸检测
了解了人脸检测的原理及影响人脸检测的因素,反人脸检测似乎有头绪了,当我们只是产生了这些念头的时候,有人已经实验多时。
A、基于VJ人脸检测原理的反人脸检测
[2.1]中将VJ人脸检测可视化的同学 Adam Harvey 做了这个实验, 前期的实验 主要是寻找一种可行的遮挡模式:
第二阶段的实验 是对遮掩层的精化( Project ):
反人脸检测的动态过程见 CV Dazzle: ITP Thesis Demo Look #1 (after) from Adam Harvey on Vimeo .Adam Harvey在facebook.com所用的phototagger上的测试见 CV Dazzle vs PhotoTagger from Adam Harvey on Vimeo .
B、基于光照干扰因素的反人脸识别
日本东京国立信息研究院教授ISAO ECHIZEN研发出了世界首款反面部识别的眼镜,通过眼镜上的11组近红外环形灯,可以完美阻止被摄像头的面部识别程序抓取信息。
图8. Execution of face detection Research projects
特征提取方法繁多,要在这个层面上达到反人脸识别,似乎难以做到,除非获知该识别系统可能使用的特征提取方法,即便如此,鲁棒的特征应该具备一定的不变性,比如光照、年龄、噪声等的影响,要做到破坏性,需具备一定的专业水准。
如果不想去推测或遍历当前流行的人脸特征算法,那么在这个层面上要做到反人脸识别,目前我只能不负责任地举出这个栗子: [视频]能骗过面部识别的人脸面具
人脸识别的广泛应用,势必对民众的隐私造成一定的影响,这也是Google及Facebook尚未在其SNS系统中公开使用该技术的原因之一。对于大街小巷星罗棋布的监控设备,你我的身影或行迹总会不知不觉地记录在某块硬盘的扇区,尽管2013年波士頓馬拉松爆炸案等事件表明目前的技术并不像 鹰眼 (豆瓣) 中描述的那样神乎其乎,但做为想像成为拯救无辜人类的化身的技术宅,自然是要事先发起反击战–反人脸识别。