人工智能知识全面讲解: 人脸识别技术
早在40年前,圖像識別領域就有很多關于人臉識別的研究。但是在當時,
傳統算法在普通圖像識別中已經很難取得良好的識別效果,更何況還要從人臉
中提取更加細微的特征。在很長一段時間里,人臉識別主要存在過擬合與欠擬
合兩個問題。
一方面是因為不同的人臉之間的差別只有五官上細微的差異,這要比區分
飛機、桌子的照片更難。因為后者的特征差異明顯,比較容易判斷,而模型容
易將長得很像的兩個人誤判為同一個人;另一方面是同一個人在不同時間拍攝
的兩張照片可能由于光照、角度、年紀、表情、化妝等不同的原因,導致同一
個人的臉在計算機看來有很大的差異。因為過擬合與欠擬合這兩個問題的限
制,人臉識別技術一直發展得非常緩慢。
直到深度神經網絡出現以后,人臉識別技術才有了真正的可用性。自從
2014年來自香港中文大學的團隊開發的模型,使得計算機在人臉識別任務上的
表現第一次超越人類,人臉識別開始從電影銀幕進入人們的日常生活。現在我
們開通金融賬戶,不必再跑到營業點,直接就能通過手機刷臉驗證;在火車
站、出入境等地方使用人臉識別技術搜索犯罪嫌疑人,成了案件偵破的利器。
11.3.1 人臉檢測
人臉識別是一個從一幅數字圖像或一幀動態視頻中,“找到人臉”和“認
出人臉”的過程。這兩個環節也稱為“人臉檢測”與“人臉識別”。之所以設
置人臉檢測,不僅是為了檢測出照片上人臉的位置,更重要的是去掉照片中與
人臉無關的噪聲信息,加快識別速度。否則將整張照片的所有像素點都輸入模
型中會影響模型的判斷,也會增加計算復雜度。
目前主流的人臉檢測是用方向梯度直方圖,這個方法主要是將圖像灰度化
后,分析某片像素區域,根據明暗度生成一個箭頭,箭頭的指向代表了像素逐
漸變暗的方向。如果我們重復操作每一個區域,最終圖像會被很多箭頭取代。
這些箭頭稱為梯度(gradients),它們能顯示出圖像從明亮到黑暗流動的過
程,這樣做可以將人臉的結構用梯度大致表示出來,如圖11-18所示。最后再
與已知的人臉梯度庫對比,即可找出新圖像的人臉位置。
對于人臉檢測的這個環節不一定要使用深度學習技術,因為這個環節的要
求相對低一些,只需要識別照片中有沒有人臉以及人臉在照片中的大致位置即
可。
11.3.2 人臉識別
找到人臉以后,接?來我們要區分不同的人臉。人臉識別是一個圖像分類
任務,整個識別過程通常包含以?幾個步驟:人臉檢測、特征提取、人臉對比
分析與分類。人臉檢測是對包含用戶臉部的圖像進行提取,找到人臉的五官、
角度等信息,完成讓計算機“看得見”的任務。特征提取則是讓計算機“看得
懂”,對于計算機來說朝向不同的人臉是不同的東西,為此我們得適當地調整
扭曲圖像中的人臉,使得眼睛和嘴總是與被檢測者重疊。
有一種方法叫面部特征點估計法,可以幫助我們解決上面的問題。該算法
的基本思路是找到人臉普遍存在的68個點,這些點被稱為特征點,如圖11-19
所示。
有了這68個特征點,計算機就能夠知道一張照片中眼睛、鼻子和嘴巴的位
置在哪里。因為每張照片的拍攝角度多少有些不同,因此我們需要再做一些人
臉位置的對齊、角度的調整工作,經過這道工序以后這才意味著完成了讓計算
機“看得見”的任務。找準了臉的位置后,就進入了人臉識別技術的核心環
節,讓計算機能夠“看得懂”,看懂特征,區分不同的人臉。這個環節的核心
在于通過眼睛、眉毛、鼻子、嘴巴、臉頰輪廓特征關鍵點和面部表情網,找
出彼此之間的關聯,最終判定這些圖像是否為同一個人 。
因此接?來我們需要使用深度卷積神經網絡模型來提取細微的臉部特征,
主要步驟是用卷積神經網絡計算圖像的特征,利用特征計算相似函數,最后為
人臉生成128個測量值。
為了讓模型不會產生過擬合或者欠擬合的現象,同時能夠獲得比較好的識
別效果,我們采用一種定?三元函數的方法。這種方法需要我們在每次訓練時
輸入三張不同的臉部圖像,即同一個人不同角度的兩張照片以及另外一個人的
一張照片,三張照片分別代表目標、正例和反例。如果目標與正例是同一個
人,那么它們的測量值不會相差太多;如果目標與反例不是同一個人,那么它
們的測量值會相差比較多。神經網絡不斷調整參數,以確保第一張和第二張生
成的測量值接近,讓第二張和第三張生成的測量值略有不同。經過百萬次的訓
練,模型可以用一種較為準確的方式為不同的人臉照片編碼。
最后,若要判斷一個人的圖像在不在數據庫里,只需要用這個人的人臉圖
像與數據庫里的圖像比對即可。比對時,我們計算兩張圖片之間的編碼距離,
然后與設定的閾值相比較。如果計算的結果高于閾值我們就認為相似度較高,
即兩張照片為同一個人。通過這樣的方式完成同一個人的匹配,也代表計算機
能夠識別出這個人的身份。
實際上關于人臉識別技術,目前已經有許多成熟的算法都能夠達到我們的
要求。盡管每個算法的步驟和計算方式不太一樣,但核心都是人臉檢測與人臉
識別,首先要讓計算機能夠找到臉,確定臉的位置,接?來才能夠分析臉,識
別出不同的臉。
除了識別身份以外,人臉識別技術還有很多不同的應用。比如活體檢測,
在很多風控場景?需要確認攝像頭前是一個真實的用戶還是一張虛假的照片;
比如人數計算,在出入境等關口可以通過攝像頭實時計算過關人數。對于不同
的場景,產品經理關注的指標不同,因此指標的含?也是我們重點關注的事
情。
11.3.3 人臉識別的效果評價方法
在人臉識別領域,常用的評價指標為FAR與FRR。在前文中我們曾提到,在
進行人臉識別,判斷測試照片與人臉數據庫中某張照片是不是同一個人時,一
般會計算兩張照片編碼后的相似度或距離。在比較的過程中,我們會設定一個
相似度閾值。如果兩張照片的相似度高于閾值則認為這兩張照片是同一個人,
如果低于閾值就認為這兩張照片不是同一個人。但是無論如何調整閾值的大
小,總是會有一定的錯誤率,這個錯誤率稱為誤識率,用FAR表示。關于FAR,
簡單理解就是我們比較不同人的照片時,把兩張不同的照片當成同一個人的照
片的概率。所以我們希望模型的 FAR越小越好。
參考以上對 FAR的解釋,我們知道,當對同一個人的兩張照片進行比較時
可能會出現相似度小于閾值的情況,這個錯誤率我們稱之為錯誤拒絕率,用
FRR表示。簡單理解FRR就是我們比較同一個人兩張不同的照片時,錯誤識別為
兩個人的概率。所以我們希望模型的FRR越小越好。
需要將FAR與FRR兩個指標結合起來看才能夠看出一個模型的效果。試想一
種極端的情況,如果我們把模型的相似度閾值設為1,即使是兩張相同的照
片,模型也會判定為兩個不同的人,因此模型的誤識率為0%。如果單看這一個
指標會誤以為模型的效果很好。但如果我們再看誤拒率,會發現高達100%,那
么這樣的模型對我們來說沒有任何意?。
人臉識別技術如今已經融入我們生活的方方面面,我們可以真實地感知到
生活的變化。在購物支付時,不再需要一遍一遍輸入密碼,只需要刷臉就能迅
速完成支付;在進行出入境安檢時,也不再需要人工審核我們的身份,通過人
臉識別已經能夠高效、準確地判斷;甚至我們上班打卡、計算機開機都能夠用
人臉識別,每一個場景的原有流程都大大簡化了。除了以上場景外,還有很多
應用場景待產品經理去一一探索,相信借助人臉識別這一有力的?器,未來能
夠涌現出越來越多更智能、方便的產品。因此產品經理只有掌握了圖像識別、
人臉識別的原理,才能夠發現真正有價值的場景,設計出可行的方案。?
總結
以上是生活随笔為你收集整理的人工智能知识全面讲解: 人脸识别技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 覆盖所有面试知识点,已拿到offer
- 下一篇: 固态硬盘计算机意外,在SSD上安装win