訂閱
糾錯
加入自媒體

ZLG深度解析—人臉識別核心技術(shù)

二、人臉定位

面部特征點定位在人臉識別、表情識別、人臉動畫等人臉分析任務(wù)中至關(guān)重要的一環(huán)。人臉定位算法需要選取若干個面部特征點,點越多越精細,但同時計算量也越大。兼顧精確度和效率,我們選用雙眼中心點、鼻尖及嘴角五個特征點。經(jīng)測試,它們在表情、姿態(tài)、膚色等差異上均表現(xiàn)出很好的魯棒性。

人臉定位接口程序如下所示,需要先加載預(yù)先訓(xùn)練好的模型,再進行定位檢測:

人臉定位程序的效果如下所示:

本算法在AFLW數(shù)據(jù)集上的定位誤差及與其他算法的對比情況:

三、人臉校準

本步驟目的是擺正人臉,將人臉置于圖像中央,減小后續(xù)比對模型的計算壓力,提升比對的精度。主要利用人臉定位獲得的5個特征點(人臉的雙眼、鼻尖及嘴角)獲取仿射變換矩陣,通過仿射變換實現(xiàn)人臉的擺正。

目標圖形以(x,y)為軸心順時針旋轉(zhuǎn)Θ弧度,變換矩陣為:

人臉校準C++代碼可參考如下所示:

一般此步驟不建議使用外部庫做變換,所以這里提供仿射變換python源碼以供參考:

人臉校準的效果如圖所示:

四、人臉對比

人臉比對和人臉身份認證的前提是需要提取人臉獨有的特征點信息。在人臉校準之后可以利用深度神經(jīng)網(wǎng)絡(luò),將輸入的人臉進行特征提取。如將112×112×3的臉部圖像提取256個浮點數(shù)據(jù)特征信息,并將其作為人臉的唯一標識。在注冊階段把256個浮點數(shù)據(jù)輸入系統(tǒng),而認證階段則提取系統(tǒng)存儲的數(shù)據(jù)與當前圖像新生成的256個浮點數(shù)據(jù)進行比對最終得到人臉比對結(jié)果。

人臉比對流程的示意圖如下所示:

通過神經(jīng)網(wǎng)絡(luò)算法得到的特征點示意圖如下:

而人臉比對則是對256個浮點數(shù)據(jù)之間進行距離運算。計算方式常用的有兩種,一種是歐式距離,一種是余弦距離。x,y向量歐式距離定義如下:

x,y向量之間余弦距離定義如下:

余弦距離或歐式距離越大,則兩個特征值相似度越低,屬于同一個人的可能性越小。如下圖,他們的臉部差異值為0.4296 大于上文所說的該模型最佳閾值0.36,此時判斷兩人為不同的人,可見結(jié)果是正確的。

把歸一化為-1到1的圖像數(shù)據(jù)、特征點提取模型的參數(shù)還有人臉數(shù)據(jù)庫輸入到人臉比對的函數(shù)接口face_recgnition,即可得人臉認證結(jié)果。程序接口的簡單調(diào)用方式如下所示:

人臉比對算法的準確率方面是以查準率為保證的,AUC (Area under curve)=0.998,ROC曲線圖如下所示:

我們設(shè)計的比對模型主要特點是模型參數(shù)少、計算量少并能保證高的準確率,一定程度上適合在嵌入端進行布置。對比其他人臉比對模型差異如下表格所示:

far@1e-3表示將反例判定為正例的概率控制在千分之一以下時,模型仍能保持的準確率;

dlib在實際測試中,存在detector檢測不出人臉的情況,導(dǎo)致最終效果與官網(wǎng)上有一定差異;

resnet-18為pytorch的playground標準模型;

lfw/agedb_30/cfp_ff為標準人臉比對測試庫,測試過程中圖片已經(jīng)過人臉居中處理。

<上一頁  1  2  3  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號