人臉識別走進現實,刷臉時代來了!

出品:科普中國

製作:北極星創客團隊

監製:中國科學院計算機網路信息中心

你還記得電影里的這些情節嗎?《變形金剛2》中,年輕的男主角和他的小夥伴們過關卡時,雖然騙過了值班軍人,卻被軍方的人臉識別技術發現。2014年翻拍版的《機械戰警》中,機械戰警第一次面對大眾公開亮相,就在人群中不停地掃描所有人臉,同時將獲取的人臉在通緝犯資料庫中作比對,瞬間就發現看熱鬧的人群中有一個逃逸多年的通緝犯,並將其制服。其他還有許多電影中,但凡是美國的機要部門,進門就要掃描各種生物特徵,從早年電影中的指紋、虹膜,到現在的人臉。

人臉識別到底是什麼?

人臉識別,是視覺模式識別的一個細分問題,也大概是最難解決的一個問題。

其實我們人每時每刻都在進行視覺模式識別,我們通過眼睛獲得視覺信息,這些信息經過大腦的處理被識別為有意義的概念。於是我們知道了放在我們面前的是水杯、書本,還是什麼別的東西。

我們也無時無刻不在進行人臉識別,我們每天生活中遇到無數的人,從中認出那些熟人,和他們打招呼,打交道,忽略其他的陌生人。甚至躲開那些我們欠了錢還暫時還不上的人。

然而這項看似簡單的任務,對機器來說卻並不那麼容易實現。

對計算機來講,一幅圖像信息,無論是靜態的圖片,還是動態視頻中的一幀,都是一個由眾多像素點組成的矩陣。比如一個1080p的數字圖像,是一個由1980*1080個像素點組成矩陣,每個像素點,如果是8bit的rgb格式,則是3個取值在0-255的數。

機器需要在這些數據中,找出某一部分數據代表了何種概念:哪一部分數據是水杯,哪一部分是書本,哪一部分是人臉,這是視覺模式識別中的粗分類問題。

而人臉識別,需要在所有機器認為是人臉的那部分數據中,區分這個人臉屬於誰,這是個細分類問題。

人臉可以分為多少類呢?

取決與所處理問題的人臉庫大小,人臉庫中有多少目標人臉,就需要機器進行相應數量的細分類。如果想要機器認出每個他看到的人,則這世界上有多少人,人臉就可以分為多少類,而這些類別之間的區別是非常細微的。由此可見人臉識別問題的難度。

更不要提,這件事還要受到光照,角度,人臉部的裝飾物等各種因素的影響。這也不難解釋為什麼人臉識別技術目前還沒有大量應用在日常生活中,大部分人只能在科幻電影中接觸人臉識別了。

傻傻分不清楚——一些容易被混淆的概念

一些不太被人熟悉的事物,經常會伴隨著大量的概念混淆。

比如對西方宗教不太了解的國人,可能搞不清楚為什麼有些人信上帝但不信耶穌;都是在教堂工作的大叔,為什麼有些要禁慾,有些卻能結婚。

而人臉識別作為一個新事物,也伴隨著大量的概念混淆,而分清這些概念,對於理解人臉識別還是比較重要的。

人臉檢測與人臉識別

完成人臉識別的工作,要經過幾個步驟。首先計算機需要在圖像或視頻中找到人臉的位置,這部分工作一般叫做人臉檢測。如前所述,這是一種粗分類,具體到人臉檢測中,實際上是二分類,計算機只需要判斷目標圖像是或者不是人臉。但由於並不能事先確定人臉的大小和位置,計算機需要以每個可能的人臉大小對全圖進行掃描,逐個判斷子窗口所截取的圖像是否為人臉。而每次掃描過程,子窗口移動的步長可能是幾個像素。

所以你可以大致想像下,作一張圖的人臉檢測,計算機需要作多少次二分類判斷。

人臉檢測步驟從一張圖中獲得人臉的位置和大小,並將該部分圖像送給後續步驟,包括:人臉部件點定位,人臉圖像的對齊和歸一化,人臉圖像質量選取,特徵提取,特徵比對。所有步驟完成後,才能得知該人臉的身份。

當然,我們也可以單獨使用人臉檢測功能來完成某些應用,比如當前大部分照相機,及手機攝像頭都有人臉檢測功能,可以自動獲得人臉位置,從而對圖片作一些自動調焦和優化。甚至對人臉做一些初步的判斷,比如性別、年齡,甚至顏值。

1v1人臉驗證與1vN人臉查找

主人公通過各種方式,矇混過層層身份驗證,成功進入某機要部門,這是電影中經常出現的情節。而這層層的身份驗證就經常包括人臉識別。在這種應用中,使用者往往需要提供自己的身份。

比如使用門卡,計算機可以通過門卡在後台中獲取門卡所有者的人臉樣本,將其與當前使用門卡人的人臉圖像進行對比,以確認當前使用門卡的人與門卡的所有者是否匹配,如此可以避免撿到你門卡的人輕鬆混入公司。

這是一種1v1的身份驗證,計算機對當前人臉和庫存人臉進行一次比對,是對其他驗證方式的一種輔助,從而提高身份驗證的可靠性。這種應用目前已經大量使用,比如敏感設施的准入,互聯網金融領域的遠程開戶及大額提取的身份驗證等。

文章開始時提到的《機械戰警》中的橋段,則是1vN的人臉查找。機械戰警可以聯機查找一個保存了所有通緝犯數據的人臉庫,每次他遇到一個人,都會先獲取該人的人臉信息,用所獲得信息去通緝犯資料庫中去逐個比對,如果發現匹配度足夠高的,就當場抓捕。每次人臉識別,計算機要作n次人臉比對,n為待識別庫中的人臉模板數。

如果要求計算機只憑藉人臉識別出一個人的身份,這實際上也是一種1vN的人臉查找,其目標人臉庫是一個由n個人臉組成的「熟人庫」,隨著n的增大,準確識別的難度也會增大,一次識別所需要的計算時間也會增加。我們可以考慮一下,一個普通人能對多少個人臉進行準確識別?大概也就在幾十個這個數量級上吧。

而目前最好的人臉識別技術實際上已經超過了這個水平。

例如國內頂級的人臉識別公司,一般會有一面屏幕牆,演示公司各個攝像頭所拍攝到人員活動,並對身份進行準確識別,而公司內一般維護一個百人數量級的人臉庫。但如果N再繼續增大,達到千人庫,萬人庫,那麼實時查找唯一的匹配人臉就成為一種科幻要求了,在較大的人臉庫應用中,一般會降低對實時性的要求,並且只要求查出前m名非常匹配的疑似人臉,以便縮小人工檢索的範圍。

「科普中國」是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。

本文由科普中國移動端出品,轉載請註明出處。


推薦閱讀:

肌肉發達的「基因敲除狗」是怎麼造出來的?
糖尿病的故事(十一):雄關漫道(下)
看銀河系如何「發福」

TAG:中国科普博览 |