大話人臉識別(七):我的心思真的不難猜

大話人臉識別(七):我的心思真的不難猜

來自專欄聞西說科技

關於人臉識別的技術原理,聞西說科技打算從三個角度來闡述:

一、 演算法

演算法是人臉識別的核心,也是各種人工智慧應用的核心及基礎。

目前主流的人臉識別方案,基本都是以前端攝像頭抓拍,傳遞給後端系統(設備)比對的模式來進行的,於是這就涉及到兩個演算法:前端攝像頭的人臉檢測抓拍演算法後端系統(設備)人臉比對演算法,而這兩個演算法中,尤以後端系統(設備)人臉比對演算法最為重要,也是各種廠商人臉識別方案PK的核心點。

1)前端攝像頭人臉抓拍演算法要做的事情包括:

1.人臉檢測

實時檢測目標區域內人臉,保證檢測到的是人臉,而不是動物臉或其他物體。

2.人臉追蹤

檢測到人臉後,就開始做人臉追蹤。

人臉追蹤是指從人臉進入畫面開始,到人臉離開畫面,對人臉進行動態追蹤,為下一步做準備。

3.人臉優選去重

當人臉從進入畫面到離開畫面(即在人臉追蹤階段內),在設定時間內,只選取並抓拍一張最佳人臉圖片,減少重複抓拍。

這一步就是根據前面的人臉追蹤演算法來自動判斷人臉最佳角度,最佳清晰度對人臉進行優選,去重。確保檢測到的人臉可以被識別,減少無效人臉傳遞給後端,佔用伺服器資源。

4.人臉摳圖

這一步,可做可不做,前端攝像頭完全可以直接把優選去重好的人臉抓拍圖丟給後端系統即可,或者直接輸出人臉小圖(俗稱人臉摳圖),以減少後端系統(設備)壓力。

很多情況下,前端攝像頭都會把圖摳好。

5.傳遞給後端比對

前面的步驟都完成後,就可以傳給後端系統(設備)去進行比對處理了;

2)後端系統(設備)人臉比對演算法要做的事情有:

1.人臉圖片預處理

對於人臉的圖像預處理是基於人臉檢測結果,對圖像進行處理並最終服務於特徵提取的過程。系統獲取的原始圖像由於受到各種條件的限制和隨機干擾,往往不能直接使用,必須在圖像處理的早期階段對它進行灰度校正、雜訊過濾等圖像預處理。對於人臉圖像而言,其預處理過程主要包括人臉圖像的光線補償、灰度變換、直方圖均衡化、歸一化、幾何校正、濾波以及銳化等。

例如Gamma校正,通過變換增強圖像陰影或降低光區域的灰度值範圍,從而把人臉圖像的整體亮度變換到一個預先定義的標準人臉圖像。

比如下圖為Gamma校正前,圖像太亮所以衣服紋理不清晰:

經過Gamma校正後,圖像明顯好多了,衣服紋理也很清晰的展示出來了:

2.人臉圖像特徵提取

人臉由眼睛、鼻子、嘴、下巴等局部構成,對這些局部和它們之間結構關係的幾何描述,可作為識別人臉的重要特徵,我們常常會描述某人的五官比如:瓜子臉、柳葉眼、蒜頭鼻、櫻桃嘴等,而這就是人腦在進行人臉的特徵提取。

與此類似的,人臉識別演算法(人工智慧)也在做一樣的事情,比如下圖這樣的:

那麼到底人臉識別演算法,會對我們的人臉提取多少個特徵點呢?

聞西說科技以dlib、百度、騰訊三家的人臉識別特徵點為例:dlib識別68個點,百度大腦識別72個點,騰訊AI識別88個點。

以下為騰訊AI的人臉識別特徵點示意圖:

一般來說,機器在臉上識別出的點越多,它最終的判斷結果就會越準確。

但這也不是絕對的,因為越多的特徵點意味著需要越多的計算量,而這並不一定是好事,因此演算法設計時,還是會在特徵點的選取數量和所需計算量之間尋求一個平衡。

3.人臉圖像匹配與識別(比對)

這一步是將提取的人臉圖像的特徵數據與資料庫中已存儲的特徵模板進行搜索匹配,通過設定一個閾值,當相似度超過這一閾值,則把匹配得到的結果輸出。

人臉識別就是將待識別的人臉特徵與已得到的人臉特徵模板進行比較,根據相似程度對人臉的身份信息進行判斷。這一過程又分為兩類:一類是確認,是一對一進行圖像比較的過程,簡稱1:1,它回答的是「這是不是某人?」這個問題,另一類是辨認,是一對多進行圖像匹配對比的過程,簡稱1:N,它回答的是「這人在哪裡?」的問題。

值得一提的是,不管比對結果如何,人臉識別演算法都會有一個比對結果輸出,但演算法本身並不會指出這個到底是不是某人,因為演算法的本質仍然是數學運算,所以演算法只能給出一個值,也就是相似度的百分比,而最終這個人符不符合目標庫中的目標,還是需要人去設定,比如超過80%的相似度即讓系統判定此人是目標,從而報警提示這個人可能是「嫌疑犯」。

此時,警察就可以出動了,那麼一定就能抓對嗎?

我只能告訴你,99.9%的概率可以抓對!

二、 數據訓練

前面從演算法的角度闡述了人臉識別的一些基本處理步驟,但在人臉識別演算法能夠處理人臉之前,還有一個非常重要的事情要做,那就是對人臉識別演算法進行訓練。

可以肯定的告訴你,沒有經過數據訓練的演算法,是無法使用的,它會錯的離譜。

曾經因為著急,拿著只用中國人臉庫訓練過的人臉識別演算法給外國客戶展示,就碰到了極其尷尬的一幕:一位阿拉伯人和非洲黑人光頭哥的臉的相似度竟然達到了81.5%,如下圖:

也許由他們的五官提取出來的特徵點確實很像,但這兩個人的膚色至少大不相同,這也在一定程度上體現了人工智慧目前還是存在很大的局限性的。

關於人臉識別演算法訓練的一個共同的認識是:

每個國家,每個民族的人臉雖然都是人臉,但特點各異,雖然最近幾年湧現出許許多多的做人臉識別演算法的公司,但評判他們演算法的好壞,不是他們的演算法有多複雜,多精巧,而是他們到底經過多少國家,多少種族的人臉訓練過了。

如果只是用中國的人臉庫訓練過的人臉識別演算法,那麼它的使用範圍就很有限,基本也只能適用於中日韓這些黃皮膚黑眼睛的亞洲地區。

通俗易懂的講,人臉識別演算法對於人臉的識別能否取得效果,演算法的訓練至關重要,它似乎跟人一樣,如果你不識字,你怎麼會讀書呢?

三、 系統組成及業務流程

通過前面兩個角度(演算法,數據訓練)的介紹,其實人臉識別的大致技術流程已經大體清晰了,人臉識別系統主要包括四個組成部分,分別為:人臉圖像採集及檢測、人臉圖像預處理、人臉圖像特徵提取以及匹配與識別,系統組成如下圖所示:

業務流對應為下圖所示:

通過本篇的介紹,相信你已經對人臉識別的演算法原理,數據訓練的重要性,系統組成及業務流已經有了不錯的了解了,不過有句話說的是:說是一回事做又是一回事!

因為,在前端攝像頭進行圖像獲取(也即圖像採集)時,前端攝像頭的安裝就很講究,如果安裝不當,整個人臉識別額效果將大打折扣。

且看下回分解:人臉攝像頭該如何安裝

================================

歡迎關注我的公眾號:wenxi_tech(或公眾號搜索「聞西說科技」)

也可前往聞西說科技個人博客:聞西說科技 - 說大家都看得懂的科技!

推薦閱讀:

《紐約時報》如何使用軟體識別國會議員
極市分享|鄔書哲 基於卷積神經網路的魯棒人臉檢測
在樹莓派上實現人臉識別
飛司科技如何解決人臉識別技術發展與隱私保護這對矛盾呢?
這種電話別再接 或被盜用人臉識別危及支付賬戶

TAG:人臉識別 | 圖像識別 | 計算機視覺 |