計算機可以認出人長得什麼樣子的原因

  如今一些網站推出了新登入方式,使用者不再需要輸入使用者名稱和密碼,只要用攝像頭自拍一張照片,計算機就可以通過你的臉知道你是哪一位使用者。這是怎麼做到的呢?


計算機可以認出人長得什麼樣子

  

  對於每個人來說,通過臉部長相區分出你我他是再簡單不過的事情。不過,我們在識別人臉的時候,大腦裡究竟是怎麼工作的,科學家到現在為止也不是完全清楚,但這並沒有阻擋計算機成為“面相師”。

  計算機沒有分辨不同人臉的天賦,只擁有和大量資料打交道的能力,所以在計算機眼中,無論帥哥還是美女的照片,都是一堆數字而已。照片上的每一個點的顏色值都以數字的形式儲存在計算機程式裡,所有的任務都是通過計算這些資料實現的。

  計算機首先要做的是用一個“人臉模板”在圖片資料中上下左右移動和計算,根據計算結果,在照片中鎖定出人臉的位置和大小,把照片里人臉部分抓出來,並且把大小調整到標準狀態。在找到了人臉之後,下一步就是判斷這張臉是誰的。為了識別人臉,計算機會建立一個數據庫,裡面儲存著每個人第一次登入時的照片。計算機需要把現在正在看的這張臉和資料庫裡成千上萬的人臉進行比對。為了做好人臉比對這最關鍵的一步,研究人員想了很多主意。

  一種辦法是先在各張臉上找到眼睛、鼻子和嘴的位置。雖然人類一眼就可以看出來,不過計算機是需要通過一定的方法計算出來的。然後,通過測量兩隻眼睛之間的距離、鼻子大小等尺寸資訊,來比較這張照片是不是符合資料庫裡某一個人的面部資訊。

  還有一種精確度更高的“特徵臉”方法。我們能夠看出李雷長得像李雷,韓梅長得像韓梅,一定是通過他們臉上一些特徵辨認出來的,可是有的時候又說不出到底是什麼特徵。計算機可以發揮自己“算術好”的優點,把資料庫裡大量人臉資料合成到一起進行計算,算出幾十張“特徵臉”,然後每一張真人臉都是可以由這些特徵臉按比例組合而成,就像雞尾酒可以由幾種不同的酒調和而成一樣,只要兩張臉中含有的各張特徵臉的“調和比例”很接近,就可以判斷是同一個人的。

  當然,計算機也會有認不出人臉的時候,照片裡的人戴著口罩或者戴著墨鏡,照片裡只有半邊臉,或者照片裡的光線太暗或者太亮,都可能讓人臉識別系統失靈,為了讓計算機的“眼力”更好,科學家還有很多工作要做。