https://www.toutiao.com/a6695453740805128717/
2019-05-27 06:40:46
引言
如今,人脸识别和大数据是很热门的行业,那么计算机是如何识别人脸的?为什么又需要大数据?本文将讨论这些问题。
*因为知识有限,并且人脸识别也一直更新发展中,可能牛顿时代,他认为他的理论是完美的,但是到了爱因斯坦时代,其认为的“完美”已经有了缺陷。同样,本文介绍的内容内容,随着计算机技术的发展,也许有局限性,但是对了解相关原理,仍具有一定的参考价值。
1.识别物体边缘
首先看一下下面这种图片,如果问你,这是什么?你第一个感觉这是一个美女。
但是,请继续看下面这张图片,虽然只是“寥寥几笔”,你仍然能够感觉说这是一个“美女”,而是能判断此图和上面图片是“一样的”
为什么会这样?这是因为研究发现,人的视觉细胞对物体的边缘特别敏感。也就是说,我们先看到物体轮廓时,大脑会主动根据“以往存在大脑里的物体”进行自动“对号入座”,然后判断这东西到底是什么。
因此识别物体,最主要的识别物体的边缘或者叫做轮廓。
2.识别物体数据比对
物体识别其实包括两个步骤:提取物体和识别物体。因为习惯的原因,我们通常会把这2个步骤合称为物体识别。
这就像别人说压缩rar文件发给我一样,压缩rar其实是有2个步骤:首先是把所有文件放到一个文件里,然后再把这一个文件压缩,但是我们已经习惯通称为压缩。
提取物品就是上面说的提取物体轮廓,而识别物体早期多采用预定义方式实现。什么意思呢?简单的说,如何定义这只动物是一只“鸭子”?
那么就把鸭子的特征列出来:
(1)鸭子有2条腿
(2)鸭子有2只眼睛
(3)鸭子的羽毛是白的
好吧,你可以把鸭子的主要“特征”列出来,然后把你要验证的图片和你预定义的“特征”相比较,如果符合,就把这个物体当做“鸭子”。
这种识别动物的方式,有非常大的缺陷,例如下图,你可能把鸽子识别为鸭子。
当然,你可以继续给“鸭子”增加预定义,例如鸭子的“嘴”是扁的来排除鸽子,这仍然不完美,例如给你一只“鹅”呢?
还有,这种算法还有致命的缺陷:一旦一个物体的一部分被挡住,那么计算机就识别不出来图片。
3.特征点识别
由于采用预定义方式识别图片有缺陷,现如今图片识别主要采用特征点识别。一幅图片总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征,成为特征点。计算机视觉领域中的很重要的图像特征匹配就是一特征点为基础而进行的。
例如下图这个“人”,这个人的定义既不是说他有鼻子有眼就是人,也不是定义他有头发有牙齿才是人,而是计算机自动提取这种图片的某些特征点,而“这些特征点”具有“人”的特性,进而得出,这张图片是人。
这种特征点是计算机随机自动“提取”的,从开发人员的角度看,计算机为什么提取这些“点”,有时候开发人员也不知道或者说也迷茫,一旦识别出错,就算是开发人员也很难跟踪到底是哪里错了。套用一句:文学源于生活而又高于生活。计算识别图片源于程序而又高于程序,在很多科幻片里,机器人来源人人类,而最终又统治了人类。
4.大数据
采用特征点识别物品时,需要你有大量数据作为特征点。例如你要搜索“范冰冰”的照片,首先必须有足够多的范冰冰的照片,然后告诉“机器”这是范冰冰。
机器从每张照片里提取“范冰冰”特征点,最终所有特征点组成的集合被称为特征点集。有了这个特征集,那么你上传“一张照片”时,计算机就知道这张照片是谁了。
5.机器学习
在上面,你可以看到大数据非常重要,以识别范冰冰为例,你数据库里范冰冰采样照片越多,计算机就识别率越高。如果你采样足够过,那么就能更好的实现“机器学习”。
仍以范冰冰为例,机器学习就是让机器根据现有的范冰冰的照片来判断其它照片是不是范冰冰,如果是则自动提取新特征点,如果不是则忽略(当然机器也可能会有识别失误)。这种机器学习犹如利息的“利滚利”,会产生马太效应。
6.人工训练
在机器获取特征点后,必须告诉这个“图片”是什么,很多搜索引擎会根据上下文来判断。什么意思呢?例如你打开一个网页,“范冰冰国际影响力这么强?...”该页面配有图片,计算机是不知道这张图片是什么,但是计算机能识别文字,他看到标题是“范冰冰”而里面又有配图,自然就认为这张照片就是“范冰冰”。
事实上,在很多情况下我们都是无意识的给机器提供“人工训练”。例如在登录谷歌网站时,谷歌需要让你判断图片验证码,你必须全部选对了才能验证通过。
谷歌身份验证
通过这个步骤,谷歌就可以比对“人工判断”和“机器判断”是否一致,这种判断为谷歌提供“自动驾驶”提供更多数据。