訂閱
糾錯(cuò)
加入自媒體

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

二、人臉定位

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

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

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

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

三、人臉校準(zhǔn)

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

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

人臉校準(zhǔn)C++代碼可參考如下所示:

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

人臉校準(zhǔn)的效果如圖所示:

四、人臉對(duì)比

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

人臉比對(duì)流程的示意圖如下所示:

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

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

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

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

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

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

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

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

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

resnet-18為pytorch的playground標(biāo)準(zhǔn)模型;

lfw/agedb_30/cfp_ff為標(biāo)準(zhǔn)人臉比對(duì)測(cè)試庫(kù),測(cè)試過(guò)程中圖片已經(jīng)過(guò)人臉居中處理。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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