这也是计算机人脸检测的两大类方法其中之一, 基于知识的方法 。 这类方法检测人脸的过程和我们的大脑类似, 都是根据轮廓、颜色、纹理等等, 判断是否是人脸 。 例如, 我们简单推理一下就能得到一种思路:先找眼睛鼻子或者嘴巴的轮廓 。 当然这对计算机还是有点难, 但计算机有方法可以找到边界线, 或者椭圆直线等几何图形 。 用这些方法可以找到图像中的线条和形状, 再从中提取脸的明显轮廓, 比如鼻子眼睛和下巴的轮廓来定位人脸 。 即先用对图像进行边缘提取, 再判断哪些边缘是脸的轮廓哪些边缘是眼睛鼻子等等 。
但和人脑不同, 这样灵活的分析对计算机来说仍然有点吃力 。 人的五官各种各样, 很难制定出一套规则教会计算机正确识别;现实生活是3D的, 而照片是2D的, 这些增加了人脸检测的难度 。 所以科学家们找到了另外一类方法来检测人脸——基于统计的方法 。 这就属于近些年非常火热的机器学习了 。
这类“人脸人工智能”方法放弃了具体分析人的眉眼, 而是把人脸看作一个整体, 不用区分是五官还是脸颊, “鼻子眉毛一把抓”, 整张照片的所有像素点都交给计算机分析 。 通过大量的人脸图片, 构建出计算机能理解的人脸模式空间, 再根据相似度来判断人脸 。 这里的“通过大量的人脸图片”就是一个人脸识别机进行学习的过程 。
1991年MIT科学家发表了基于主成份分析(PCA)的特征脸方法, 通过一个变换矩阵进行投影, 将高维图像信息变到低维子空间, 提高了计算效率与准确率 。 2001年P. Viola和M.J. Jones发表了经典的《Rapid Object Detection using a Boosted Cascade of Simple Features》和《Robust Real-Time Face Detection》提出了基于哈尔特征积分图方法 和AdaBoost级联的著名方法, 从此计算机真正做到了可以实时监测人脸 。
哈尔特征是挺有意思的特征, 从这个特征就我们很容易就能看出人类思维和计算机算法有多么大的差别 。
哈尔特征在图像中取大大小小很多矩形, 将矩形分成两份或三份, 用黑白两种颜色标记, 将黑白两色矩形里的像素值和相减得到差值 。 然后用这些差值来对图像的子区域进行分类 。 通过不同的黑白矩形组合, 就能提取边缘特征、线性特征、中心特征和对角线特征, 共同构成特征模板 。 除了平行的矩形框, 还可以取45度的矩形框 。 通过改变特征模板的大小和位置, 可在图像子窗口中提取出大量的特征 。 哈尔特征值反映了图像的颜色灰度变化情况, 由于通常眼睛、嘴要比脸颜色深, 鼻梁两边比鼻梁颜色要深, 所以一部分面部特征能由哈尔特征描述 。 这种方法更好得利用了五官之间的相互位置信息, 所以能得到很好的检测准确度 。
好啦, 看不懂也没关系 。 这正是因为计算机思维和人类思维存在巨大差异 。 这样的方法看上去傻瓜又繁琐, 算那么多矩形似乎即费时间又漫无目的, 我们判断人脸的时候是不会这么做的, 但计算机就适合这样简单繁琐的工作 。
再简单总结一下算法过程, 理论上可以实现对“颜值”的打分:1)通过计算机算法在照片中检测到人脸;2)定位五官, 提取人脸的各项数据、指标;3)根据指标计算脸的对称性、与“标准脸”的差距, 计算“颜值” 。

【程序猿是如何算出你的“颜值”的?】希望下一代颜值APP们可以用上更好的算法 。 至少要能告诉我们高圆圆比沙发美多了吧 。
猜你喜欢
- 牛在十二生肖中与什么属相是最配
- 兔在十二生肖中与什么属相是最配的
- 白牡丹是什么茶
- 白豪银针的特点
- 白毫银针的泡法和步骤
- 久坐会死,椅子要命?
- 为什么是“东山”再起,而不是西山、南山、北山?
- 古希腊雕塑为什么都是裸体造型?
- 地球上最丑最怪的生物是什么?
- 哪种鸟是捉虫能手
