人机大战之网红脸识别,人类能否一雪前耻?
本文由 ARinChina(www.arinchina.com)原创,转载请联系 ARinChina(微信 ID:arinchinaservice)
继 “围棋” 人机大战——以李世石为代表的人类,输给了 Alpha Go 代表的计算机后,人类又发起了 “人脸识别” 之人机大战。这一次是诞生于杭州的人脸识别机器人蚂可,对战 “鬼才之眼” 王昱珩。
15 年 “最强大脑” 中,在同质同量同源的 520 杯水中,王昱珩成功指出评审选中的那杯,并精准说出水杯旋转了 15 度,中间经人手,从此,“水哥” 一战成名。
(腾讯视频)
这次,对上 “万变不离其宗” 的网红脸,人类可以一雪前耻么?
结果揭露前,先了解计算机 “看人” 的套路。
人眼和计算机,都喜欢瞄 “点”。只不过,人眼在辨别物体时,往往通过不同点来判断。而计算机则相反,它找的是相同点。
通过摄像头 “观察” 目标,计算机将拍摄到的物体,以图片形式传给计算机,这就是图像识别过程。淘宝的图片搜索、百度的图片识别功能,都属于这类应用。
在识别中时,计算机会找一些 “与众不同” 的点,来和 “脑海” 中的图片进行匹配。这些 “鹤立鸡群” 的点,通常被称为 “角点” 或 “关键点”。这些点在图像中具有一定特征,如局部最大或最小灰度(即图像亮度)、某些梯度特征(描述图像灰度变化情况的量)。
比如人脸上的一颗痣,在计算机识别时就会被当成参考点。那么计算机是如何找到这些 “角点” 的?
角点图
计算机在查找某个像素点时,是遵行逐个查询的规则。为了判断一个点是否为 “角点”,会选取一个大小合适的窗口(比如 3*3 的窗口),让窗口中心遍历(即依次访问)整个图像像素,同时,判定中心点与它的周围点是否有明显不同。
因此,当窗口在平滑区域(图 a),窗口在各方向上移动时,图中三个窗口内部的图像无变化。当窗口在沿边缘方向上移动时(如图 b),三个窗口内图像也是不变的。当窗口在 “角点” 处时(如图 c),窗口无论朝哪个方向移动,三个窗口内部图像均不一样,因此判断该点为 “角点”。
不同的 “角点” 检测算法使用的窗口不一样,采用圆形窗口检测 “角点” 的 FAST,和采用 16*16 采样窗口的 SIFT 算子中,是图像特征点检测的两大算法。
“配对” 又是怎么一回事?
找到特征点,对它们进行描述后,才能开始图像匹配。描述的大前提是,我们需要利用特征点周围像素的梯度方向分布特性,为每个关键点指定方向。
比如在 SIFT 算子中,将采样点与特征点的相对方向,通过高斯加权后得到一个 4*4*8 的 128 维特征描述子。
(一系列加工后,就成了上图这个 “鬼样子”)
有了特征点描述子,就可以和模板图的特征点描述子进行比较,得分最高的就是最佳匹配点。然后对所有特征点进行遍历。
计算机的 “人脸识别” 就是基于以上理论。同时,它还会进行一些纵向比较,比如通过图片上五官的分布距离,来进行比较。
所以,结果是?
第一局,从 150 张网红照片中找出 3 人,蚂可胜
第二局,从 300 张网红照片中找出 3 人,“水哥” 胜
第三局,从 80 张网红童年照中找出 2 人,“水哥” 胜
(腾讯视频)
三局两胜,“水哥” 代表的咱人类胜利了~ 蚂可能胜一局,说明计算机在图像识别的未来可期,但最终失败,也说明还存在一些问题。
胜败分析
这次比赛挑选的识别对象——网红脸,看上去都是从一个模子里刻出来的,无疑增加了比赛的难度。
面对这些千篇一律的网红脸,蚂可在识别近照时尚可,但到了童年照就有点吃力。
蚂可在识别人脸时,部分程序是通过五官之间的距离来判断的。但是,人在幼年时五官比较居中,随着年龄增长会分散开些,“长开了”。更不用说,有些网红还进行了 “微整”,连亲妈都认不出了,何况是蚂可。
第三局失败情有可原。但为什么蚂可还能赢第一局?因为快。
如果你仔细看上文视频,可能对这句话还有印象:计算机识别时,先将照片划分为四个区域,再分成几百个关键点。
这是加快图像识别的关键一步,在所有的图像识别中,几乎都采用了这种方式。图像识别中有个专业名词来形容,称为 “图像金字塔”。
图像金字塔
图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低的图像集合。底部是待处理图像的高分辨率表示(上图 G0),而顶部是低分辨率的近似(上图 G3)。当向金字塔的上层移动时,尺寸和分辨率就降低,识别速度得以提高。(注:分辨率越高,图片越大越清晰)
同时,人在比赛中会受到外界干扰,心理作用比较大,但计算机没有。所以 “水哥” 在开始失利,也有非专业因素在内。
但是,后面蚂可连输两局,还有更深层次的原因。
比赛中,两位选手都需要通过自身移动来识别图像,这对蚂可是很不利的。因为摄像机移动时图像识别会不稳定,就像我们坐在车中看窗外景色,随着车速增加,景色越模糊。
同时,现场灯光组给力,反光很强,也会影响蚂可的识别。
生活中,当我们背光看屏幕,由于反射光太强会导致看不清屏幕,这时我们会拉上窗帘或用手遮光,来降低光的反射。而计算机就得对现实环境亮度进行实时检测,根据检测结果对图像亮度阈值进行调整后,再进行比较。
目前,机器对光的调节作用还赶不上人眼的调节,又碰上 “水哥”,只能甘拜下风了!
不过,即便这次蚂可败给了 “水哥”,但 “水哥” 只有一个,蚂可还有很多。下一次,我们还会赢么?