程序猿是如何算出你的“顏值”的?

某日偶遇同窗好友在用某款測顏值的APP 。 問他得了幾分, 他微微一笑, “必須是9分男神 。 ”詫異間我又隨手搜了張鳳姐的照片一試, 竟然得了9.4分 。 這次輪到我大笑了 。 “哈哈, 男神女神果真般配啊 。 ”

后來筆者聽聞好友玩的那款測顏值APP竟然也風靡一時 。 我一時好奇間就先拿兩款APP做了測試 。 第一組測試對象是高圓圓和鳳姐 。 結果嘛, 呵呵 。 鳳姐以9.4的高分力壓女神高圓圓呢!第二組測試對象是我家沙發 。 這些APP再次顯示了自己的無能為力 。 同一個沙發得分基本上均勻的分布在1-10分之間 。 沒錯, 一張沙發的照片有時候都能得到9分以上 。 這種簡單的顏值APP甚至都不太能進行面孔識別 。 還要它們來進行標準化打分, 實在是為難了 。

程序猿是如何算出你的“顏值”的?



程序猿是如何算出你的“顏值”的?



話說回來, 即使人工來打分, 大家也口味各異, 御姐蘿莉各有所愛 。 一款APP又豈能判斷美丑呢?所以用APP測了顏值的大家, 高分玩家勿要得意, 低分玩家也不用暗自神傷, 當成飯后娛樂笑笑便好了 。

雖說這些APP性能還不夠強大, 但是實際上的確有科學家研究過人臉的美麗程度, 并試圖以此為依據開發“顏值算法” 。 這里就簡單介紹一下吧 。 那就是廣為流傳的“平均臉”效應了 。 科學家曾做過這樣的實驗, 找來志愿者看大量的人臉照片, 給照片打分 。 實驗結果表明, 人們更喜歡對稱的臉 。 另外研究表明, 將大量人臉取平均得到“標準臉”, 臉的指標和這種“標準臉”越接近, 越是讓人覺得好看 。

韓國仁濟大學整形外科教授李承哲在2010于國際美容整形外科學會(ISAPS)下屬刊物《美容整形外科》中發表一篇論文, 發布了使用全球多名最漂亮女藝人的照片合成的五張平均臉 。 即使是跨人種, 我們也依然能發現美貌的一致性 。 其中中國人的面孔是不是很像某位明星?
程序猿是如何算出你的“顏值”的?



大概就是“丑人多作怪, 美人一個胚”的感覺吧 。 而正是這種“美人一個胚”的現象讓顏值算法有了可行性 。 至于為什么APP表現不太好, 請吐槽不靠譜的碼農吧 。

從進化角度來看, “美人都似一個模子里出來的”也并不讓人意外 。 進化是經過漫長自然選擇的結果, 擁有平均性狀的個體也更容易幸存 。
最后再Geek地介紹一下“顏值算法” 。

剛才我們說了, 長得對稱又標準, 是基因正常、健康狀態良好的體現和保證, 從進化的角度來看是很合理的 。 因此, 如果得到了這些人臉的數據, 我們可以通過計算人臉的對稱性和與“標準臉”的差距, 定性計算“顏值” 。
程序猿是如何算出你的“顏值”的?



接下來的問題是, 怎么用軟件得到這些測量指標呢?或者說, 怎么讓軟件“認出”人的臉呢?其實, 人臉檢測是計算機科學領域一個重要方向, 已經有了諸多發展 。 在人臉檢測算法中, 按發展順序有基于知識的模板匹配, 紋理特征, 顏色特征, 基于統計的PCA特征臉, 支持向量機, AdaBoost方法等等 。

想想看我們自己是怎么識別出人臉的呢?很多時候我們看到一些石頭或云, 也會覺得像人的臉, 不論總體上有多么大差距, 那往往是因為恰好有什么東西構成了眼睛、鼻子和嘴 。 再想一想我們怎么堆雪人的?最后是不是往往要弄個眼睛鼻子嘴什么的才有“人”的感覺?沒錯了!其實眼睛、鼻子和嘴對我們識別人臉有非常重要的作用 。 我們對人的臉有一些先驗知識, 知道眼睛鼻子嘴等等的形狀、特征, 知道它們之間相互位置, 和這些先驗知識符合程度高的, 我們的大腦就會判斷為是人臉 。

猜你喜歡