人工智能時代,帶你打開初窺人臉識別之門!

人工智能,是計算機領域近幾年炙手可熱的技術。我認為它近幾年的一個重要引爆點是谷歌的阿爾法狗大戰李世石。如今人工智能的應用領域越來越廣,如無人機(大疆),智能語音(科大訊飛),智能家居(小米),谷歌眼鏡,仿真機器人(亞馬遜)等等。

今天來聊一聊其中的一個重要分支-人臉識別技術。人臉識別應用如今已經在金融,安檢等領域大量投產,國內知名的公司有:曠世,商湯科技,雲從,依圖等等。

銀行人臉識別

人臉識別的一些應用場景:

人工智能時代,帶你打開初窺人臉識別之門!

智能機器人開啟銀行服務“新模式”

人工智能時代,帶你打開初窺人臉識別之門!

全國首個“刷臉”智能通道落戶山大,學生進出宿舍要“刷臉”

大致流程:首先獲取一張待識別的圖片,先圖像預處理使得照片更清晰,經過預處理後從圖片中檢測到人臉區域,下一步對人臉區域根據模型提取特徵值,通過分類器進行識別判斷,最後得到識別結果。

人工智能時代,帶你打開初窺人臉識別之門!

對應上述流程需要的技術關鍵點主要有3個部分:

1.人臉檢測。基於滑動窗口及卷積神經網絡進行訓練,同時利用圖片預處理保證高效和準確性,

2.人臉特徵提取。可借鑑一些國外的開源的特徵提取算法。

3.多種數據進行增量模型訓練。人臉分類結合多種模型並通過完全自主訓練可以確保準確性,另外還能夠實現年齡、情緒等相關延伸功能識別。

先介紹一下圖像預處理:通常利用圖像增強及銳化等方式,使得原始圖片處理的更加清晰,邊界更明顯,然後對圖片進行鏡像處理增加圖片對比方式,最後對圖片進行裁剪和縮放提升人臉檢測的效率。

人臉檢測是人臉識別裡面最早出現的技術了,從早期的模板匹配逐漸過渡到目前數據驅動的方法,常用的方法有cnn,mtcnn等。目前cnn有很多開源的框架直接拿過來用即可,不需要深入研究每層的計算原理,比如把不同類型的水果照片進行反覆訓練就能通過照片識別出來,當然訓練是反覆迭代的過程,比如apple訓練之後可能會把橘子認成蘋果,但是不斷迭代學習會最終達到目標。

卷積神經網絡相對於普通神經網絡有兩大利器可以降低參數數目:

1.局部感知:一般認為人對外界的認知是從局部到全局的,而圖像的空間聯繫也是局部的像素聯繫較為緊密,而距離較遠的像素相關性則較弱。因而,每個神經元其實沒有必要對全局圖像進行感知,只需要對局部進行感知,然後在更高層將局部的信息綜合起來就得到了全局的信息。

2.權值共享:全局圖像是640*360,但局部圖像大小隻有10*10,10*10個參數只針對局部圖像,如果全局圖像中各個局部圖像之間的權值共享,即10*10個參數在不同局部圖像上參數應用相同,則在全局圖像上通過全局共享則只需要10*10個參數。

下面介紹人臉檢測流程:

首先是數據準備,我們知道人臉檢測是通過滑動窗口,但是由於每個圖片人臉大小不一,所以為了適應窗口的大小,我們將圖片進行逐級縮小構建一個圖像金字塔,然後逐個對每張圖片進行檢測,具體流程包括:選擇觀察窗口,然後分別採用不同的網絡模型進行窗口的率選動作,採用逐級增強的模型對窗口進行評判是否符合人臉標準。

人工智能時代,帶你打開初窺人臉識別之門!

在人臉檢測之後還要進行清晰度判斷及眼鏡檢測等,過濾掉模糊的照片,帶眼鏡的閾值會進行調整。

人工智能時代,帶你打開初窺人臉識別之門!

模型訓練是人臉特徵提取的核心部分,首先是構建訓練數據集。(網上有一些可用的公開數據集),通過真實的數據結合公開數據進行訓練既能保證人臉的識別的通用性又能提升專業性,當然模型訓練是一個比較慢的過程,需要反覆調整參數進行迭代。

訓練分類過程:

很多框架都提供了靈活的學習率設置方法,學習率也就是參數更新速度。可以先使用較大的學習率來得到一個比較優的解,隨著迭代的繼續逐步減小學習率,使得模型在後期更加穩定比如指數衰減法。目前,常見的分類模型主要有knn,svm,聯合貝葉斯及cnn四種。

Knn是最簡單的,通過歐氏距離進行分類;

聯合貝葉斯相對複雜,需要訓練,既關注個體差異也關注自身差異;

Svm也是需要訓練,和聯合貝葉斯有一個缺陷就是類別很少的時候會出現不準確的情況;

Cnn是一個適應性比較強的模型,需要訓練。

另外針對目標的年齡,情緒,行為和動線也可以進行研究,從而構建圖像分析處理體系。

人工智能時代,帶你打開初窺人臉識別之門!

人工智能時代,帶你打開初窺人臉識別之門!


分享到:


相關文章: