導(dǎo)讀:隨著硬件性能的提升和人臉數(shù)據(jù)量的增大,人臉識別也越來越成熟,商業(yè)應(yīng)用也越來越多。經(jīng)常看到很多文章說,人臉識別算法做了什么什么改進(jìn)在LFW上的識別準(zhǔn)確率達(dá)到99.6%以上。
實(shí)際上,僅僅一個(gè)準(zhǔn)確率指標(biāo)是無法衡量一個(gè)模型的性能,準(zhǔn)確率無法體現(xiàn)出人臉識別中最重要的指標(biāo)通過率和拒絕率,通過率包含兩種情況同一個(gè)人通過的概率和不同人通過的概率,拒絕率包含兩種情況不同人被拒絕的概率和同一個(gè)人被拒絕的概率,通常我們希望模型在不同人通過率越低的情況下同一個(gè)人通過率越高越好,下面的評估指標(biāo)主要也是基于這兩個(gè)進(jìn)行演化的。
人臉識別
現(xiàn)在人臉識別的應(yīng)用多種多樣,如人臉考勤、實(shí)名驗(yàn)證、身份驗(yàn)證、人臉支付以及天網(wǎng)系統(tǒng)等。實(shí)際上底層的實(shí)現(xiàn)技術(shù)主要還是依靠人臉驗(yàn)證和人臉?biāo)阉?,人臉?yàn)證也稱為1:1人臉匹配,人臉?biāo)阉饕卜Q為1:N人臉匹配。
首先我們從包含人臉的圖片中通過人臉檢測提取出人臉的位置信息以及人臉關(guān)鍵點(diǎn),然后通過仿射變換結(jié)合人臉關(guān)鍵點(diǎn)進(jìn)行人臉對齊,獲取到對齊后的人臉圖片。再將人臉圖片通過人臉識別模型進(jìn)行人臉特征提取,提取出來的特征是一個(gè)高維向量,這個(gè)向量的維度通常是128、256、512、1024甚至更高。
判斷兩張人臉圖片是否相似的度量主要有兩個(gè)指標(biāo)歐式距離和余弦相似度。先通過人臉識別模型將人臉圖片轉(zhuǎn)換為特征向量。歐式距離顧名思義就是計(jì)算兩個(gè)向量的歐式距離,所以兩個(gè)向量的歐式距離越小表示他們越相似。余弦相似度就是計(jì)算兩個(gè)向量的夾角的余弦值,cosθ的取值范圍在[?1,1],我們可以對其進(jìn)行歸一化操作到[0,1]通過0.5+0.5?cosθ來實(shí)現(xiàn),余弦相似度越大表示是同一個(gè)人的概率越大。
無論是1:1人臉匹配還是1:N人臉匹配,我們都需要先確定一個(gè)閾值(歐式距離或相似度),通常人臉相似的度量指標(biāo)都是用的相似度,我們后面所說的閾值其實(shí)也就是一個(gè)相似度閾值。通過人臉數(shù)據(jù)集根據(jù)指定通過率或拒絕率來確定閾值,大于這個(gè)閾值表示為同一個(gè)人否則不是同一個(gè)人。
人臉驗(yàn)證
1:1人臉驗(yàn)證(verification),比對兩張圖片是否為同一個(gè)人,常見的應(yīng)用有火車站人臉閘機(jī)實(shí)名驗(yàn)證、手機(jī)人臉解鎖等。通過判斷比對圖片的相似度是否大于閾值,常用的性能評估指標(biāo)有如下幾個(gè)
FAR
FAR(False Accept Rate)認(rèn)假率,表示錯(cuò)誤的接受比例,與FPR(False Positive Rate)假正例率等價(jià),指不是同一個(gè)人卻被錯(cuò)誤的認(rèn)為是同一個(gè)人占所有不是同一個(gè)人比較的次數(shù),計(jì)算公式如下
關(guān)于詳細(xì)的混淆矩陣(TP、TN、FP、FN)說明,請參考我的另一篇文章分類算法中常用的評估指標(biāo)
TAR
TAR(True Accept Rate)表示正確的接受比例,與TPR(True Positive Rate)真正率等價(jià),指是同一個(gè)人且被正確的認(rèn)為是同一個(gè)人占所有同一個(gè)人比較的次數(shù),計(jì)算公式如下
FRR
FRR(False Reject Rate)錯(cuò)誤拒絕率,與FNR(False Negative Rate)假負(fù)率,指是同一個(gè)人但被認(rèn)為不是同一個(gè)人占所有是同一個(gè)人比較的次數(shù),計(jì)算公式如下
在一些1:1的人臉識別比賽中,也會有一些其它的評估指標(biāo),F(xiàn)MR(false match rate)和FNMR(false non-match rate)。FMR指錯(cuò)誤匹配率等價(jià)于FAR,F(xiàn)NMR指錯(cuò)誤的不匹配率等價(jià)于FRR。
有時(shí)候還會看見類似于FNMR @ FMR = 0.000001,這種表達(dá)式所指示的是先在數(shù)據(jù)集上計(jì)算出FMR = 0.000001時(shí)的閾值,然后再根據(jù)這個(gè)閾值計(jì)算FNMR。類似于這種TAR=0.998@FAR=1e-6,表示的是當(dāng)不是同一個(gè)人通過率為1e-6時(shí),相同人的通過率為99.8%。對于1:1人臉驗(yàn)證來說當(dāng)FAR越低的情況下,TAR越高越好
人臉?biāo)阉?/p>
1:N人臉識別評估分為兩種情況開集識別(open-set identification)和閉集識別(close-set identification)。
在評估1:N的人臉識別時(shí)我們需要三組圖像,galleryG(底庫,已注冊的人臉庫),probe(探針,待識別的人臉圖像),probe分為Pn和Pg,Pn中的人臉照片不在gallery中,被稱為imposter,Pg中的人臉照片在gallery中,被稱為genius。
開集識別
開集識別(open-set identification):開集識別需要解決的問題是判斷一個(gè)probePj在不在gallery中,如果在這個(gè)人是誰。Pj可以在gallery中,也可以不在。
假設(shè)galleryG={g1,g2.....gn},gi表示gallery中的一個(gè)人,待測人臉Pj與每個(gè)gi計(jì)算一個(gè)相似度,用Sji表示,Sji表示兩張人臉圖片是同一個(gè)人的概率。我們將G中的每一個(gè)人與Pj計(jì)算相似度,得到一個(gè)集合S{sj1,sj2.....sjn},對集合S進(jìn)行由大到小的排序(用的歐式距離就是從小到大排序)。假定與Pj在gallery中對應(yīng)人的是g?,定義rank(Pj)=n表示Pj與g?的相似度排在第n位,rank1也稱為top match。
對于刷臉支付就是一個(gè)TOP1的open-set identification,人臉身份驗(yàn)證就是一個(gè)topk的open-set identification。
閉集識別
閉集識別(close-set identification):閉集識別需要解決的問題是,在gallery中找到probePj,Pj屬于gallery中。與開集識別一樣,閉集識別關(guān)心的也是在topk中是否包含正確的識別結(jié)果。
評估指標(biāo)
下面的評估指標(biāo)在開集識別和閉集識別中都適用
DIR
DIR(Detection and Identification Rate):指Pj∈Pg與G中的真實(shí)的結(jié)果s?之間的相似度大于τ且大于其他所有與Pj不是同一個(gè)人的相似度在Pg中所占的比例,DIR衡量的是庫內(nèi)人員的通過性能。計(jì)算公式如下
下面我們來舉例說明一下
假設(shè)G中有A、B、C三個(gè)人的人臉信息每個(gè)人有一張照片,Pj是屬于C的另一張人臉照片,如果Pj與A、B、C的相似度分別為0.5、0.6、0.9,τ為0.7,那么此時(shí)才算是匹配正確。如果Pj與C的相似度為0.68<τ,會被認(rèn)為是庫外人員從而導(dǎo)致漏匹配。如果Pj與A、B、C的相似度為0.6、0.8、0.78,那么此時(shí)Pj的TOP1匹配應(yīng)該是B,因?yàn)镃與Pj的相似度排在第二位是rank(Pj)=2,此時(shí)Pj匹配上了錯(cuò)誤的人。
FAR
FAR(False Alarm Rate):指Pj∈Pn與G中最相似的人相似度大于τ在Pn中所占的比例,F(xiàn)AR衡量的是對庫外人臉的拒絕性能也是人臉識別系統(tǒng)安全性的保證。計(jì)算公式如下
對于1:N的人臉?biāo)阉鱽碚f,當(dāng)FAR越低的情況下,DIR越高時(shí),表示模型的性能越好,下面我們通過一個(gè)例子來說明一下,這兩個(gè)評估指標(biāo)是如何計(jì)算的
上表展示了Pg(照片在G中)和Pn(照片不在G中)在gallery(G)中的測試結(jié)果,a、b、c在G中分別對應(yīng)A、B、C,d、e、f均不在G中。閾值τ取0.7時(shí),我們來計(jì)算一下DIR和FIR
a與A的相似度最高,且SaA>τ,所以匹配成功雖然b與B的相似度SbB>τ,但SbBc與C的相似度最高,但ScC<τ,所以匹配錯(cuò)誤
所以DIR=1/3≈33.33%
d與A的相似度最高,且SdA<τ,因?yàn)閐不在庫中,所以匹配正確e與C的相似度最高,且SeC>τ,因?yàn)閏不在庫中,所以匹配錯(cuò)誤f與C的相似度最高,且SfC<τ,因?yàn)閒不在庫中,所以匹配正確
所以FAR=1/3≈33.33%