“微笑挑战”最近火了:左边放上点名者照片,右边放上自己的微笑,再点十个人……这不就是趁机晒自拍嘛!更有(洋葱)新闻犀利指出:【女生都会选比自己丑的朋友——点你是因为你没我好看哦……】还能不能好好做朋友啦!?——别怕,科学青年来教你自拍了!为什么有些人自拍出来的照片总是特别地好看?很明显,自拍时相机与脸之间的相对角度占了绝大部分的因素。我们直接试着从数据中找出规律来。
我们这里选了3位网络“正妹”来做分析:从左到右依次为:Julie Chang(张齐郡)、张香香、Mika 黄杏蕙。选择这3位有两个主要的原因:第一、她们在Facebook上都拥有高人气,表示大家都相当喜欢她们的状态更新;第二、我们需要大量的数据进行分析以免得到不可靠的数据,3位正妹在Facebook公开的上千张自拍照片即成了有用的资料。
要分析正妹们自拍时如何摆POSE,我们得先从影像中估算脸与相机间的相对角度。大致上可以分为3个步骤:首先用现成的软件批次下载正妹们在Facebook上公开的照片;其次我们用Open CV中的人脸侦测软件来自动地标示每张照片里脸部的位置;有了脸部的侦测,我们接着运用计算机视觉的技术来估算脸部3D的Pose。
有了照片中估算的角度,我们可以用Kernel Density Estimation 的方法来估计3位正妹各自的俯仰、扭转和横摆的一维机率分布为何。从这些数据我们可以学到什么东西呢?首先,我们可以看到3位正妹在俯仰度(蓝线)的选择上相当一致,绝大部分的自拍照都选择将脸朝下15°左右的姿势。这和一般人对于自拍的认知相符合,脸朝下自拍往往可以有瘦脸的效果。
第二,我们观察到扭转度(绿线)的选择上有蛮大的差异。第三,3位正妹照相时横摆角度(红线)似乎没有太大的变化,绝大部分的照片都在0°左右。虽然上面的一维机率分布较为简单直觉,但是往往会过于简化而忽略了数据中各维度相互的影响。我们用了Mean-Shift 算法从一堆相片之中,找出机率分布中的模式。
有了从Mean-shift 得到的聚类分析(Clustering),我们可以利用影像“平均”来可视化我们找到具有代表性的自拍姿势。人脸姿势的数据还可以做些甚么呢?这里有个简单的应用。我们使用估计出来的角度做排序,就可以产生下面沿着不同POSE而改变的影像,也许可以方便大家观赏正妹的照片,点选照片可连结到GIF档图集。
当然,从3位正妹的自拍照片我们很难去做明确的结论,希望同样的技术可以运用在大量自拍高手的照片上,相信届时我们将能从中发掘每种脸型最适合的自拍姿势。