天天看點

利用自己的人臉資料集對人臉識别模型進行精度評測

本博記錄為鹵煮學習過程中的了解,作為備忘demo。其中有錯誤疏漏之處,還請大家幫忙指正。

鹵煮:非文藝小燕兒

本博位址:利用自己的人臉資料集對人臉識别模型進行精度評測

一般人臉識别模型的精度驗證都是用LFW,但是LFW的資料分布于我們實用階段有些差距,是以最好還是在我們自己實用環境下的人臉圖像進行測試評估。

LFW精度評測:利用LFW對人臉識别模型進行精度評測

以下使用的都是crop後的人臉彩色圖像,人臉的圖檔命名都是以name_****.jpg的格式存放(***的長度和内容随意)。以便區分同人(name相同)和異人*(name不同)。

(1)自己的圖檔分兩組,一組為ref_faces(M張),一組為test_faces(N張)。

(2)利用你的人臉識别模型和網絡,計算所有faces的特征。

(3)将ref_faces中每一個face,與test_faces中的所有face一一比對計算相似度。

将相似度存放在Similarity_file.txt中,每比對完一張ref_face,進行一次回車。最終會得到M行資料,每行N個相似度。也就是M*N的矩陣。

同時将真實比對結果(同人為1,異人為0),以相同的方式存放在Ref_file.txt中,也相當也得到一個M*N的矩陣。

(4)ref_file矩陣的和,就是同人比對對的個數S_n,則異人比對對的個數D_n=M*N-S_n。

(5)以ref_file為參照,将Similarity_file中的所有同人比對機率存放到Same_p向量中,所有異人比對機率存放到Diff_p向量中。

(6)由(5)的結果已經可以通過matlab繪制出機率密度figure,和累積分布figure。如下圖:

利用自己的人臉資料集對人臉識别模型進行精度評測

(7)對Same_p進行從小到大排序,Diff_p進行從大到小排序。指定一個錯誤接受率(FAR),根據異人比對總數D_n,可以計算出容錯個數Miss_n,在排序後Diff_p中第Miss_n+1個數值,便是判定門檻值。

(8)在排序後的Same_p中,從頭開始查找比判定門檻值大的數,找到第一個大于門檻值的數為止。由于找到這個數之前所排查的數都是小于門檻值的,是以這些就是同臉比對失敗的結果,用其總數除以S_n就可以得到錯誤拒絕率(FRR)。

備注:

FAR:False Accept Rate,錯誤接受率,指将身份不同的兩張照片,判别為相同身份,越低越好

FRR:False Reject Rate,錯誤拒絕率,指将身份相同的兩張照片,判别為不同身份,越低越好

這兩個名額有明确的實體意義,FAR決定了系統的安全性,FRR決定了系統的易用程度。

繼續閱讀