原
2023年03月11日 13:52:02
jobbofhe
本篇部落格主要介紹了,使用lfw資料集測是dlib模型準確率的過程。是乙個小白入門的介紹,大神可自行繞過。
1. 人臉檢測測試資料庫:
fddb:
2. 人臉識別測試資料庫:
lfw:
3. lfw(人臉比對資料集)
無約束自然場景人臉識別資料集,該資料集由13000多張全世界知名人士網際網路自然場景不同朝向、表情和光照環境人臉組成,共有5000多人,其中有1680人有2張或2張以上人臉。每張人臉都有其唯一的姓名id和序號加以區分。
lfw資料集主要測試人臉識別的準確率,該資料庫從中隨機選擇了6000對人臉組成了人臉辨識對,其中3000對屬於同乙個人2張人臉**,3000對屬於不同的人每人1張人臉**。測試過程lfw給出一對**,詢問測試中的系統兩張**是不是同乙個人,系統給出「是」或「否」的答案。通過6000對人臉測試結果的系統答案與真實答案的比值可以得到人臉識別準確率。
這個集合被廣泛應用於評價 face verification演算法的效能。
13233 images
5749 people
1680 people with two or more images
4. 技術報告(lfw technical report):
5. 測試過程概述
通過dlib進行人臉識別網路訓練後,得到dlib_face_recognition_resnet_model_v1.dat。通常大家在lfw人臉資料集上對該模型進行精度驗證。以下梳理驗證過程:
(1) 在原始lfw資料集中,擷取人臉影象並儲存。(例如:可以使用開源人臉檢測對齊seetaface將人臉crop出來,並 儲存,建議以原影象名稱加乙個字尾命名人臉影象)
(2) 通過python,matlab,或者c++,構建訓練時的網路結構並載入dlib_face_recognition_resnet_model_v1.dat。
(3) 將擷取的人臉送入網路,每個人臉都可以得到網路前向運算的最終結果,一般為乙個n維向量,並儲存,建議以原影象名稱加乙個字尾命名。
(4) lfw提供了6000對人臉驗證txt檔案,lfw_pairs.txt,其中第1個300人是同乙個人的兩幅人臉影象;第2個300人是兩個不同人的人臉影象。按照該list,在(3)儲存的資料中,找到對比人臉對應的n維特徵向量。
(5) 通過cosine距離/歐式距離計算兩張人臉的相似度。同臉和異臉分別儲存到各自對應的得分向量中。
(6) 同臉得分向量按照從小到大排序,異臉向量按照從大到小排序。
(7) far(錯誤接受率)從0~1,按照萬分之一的單位,利用排序後的向量,求frr(錯誤拒絕率)或者tpr(ture positive ratio)。
(8) 根據7可繪製roc曲線。
6. 閾值確定
(1) 將測試人臉對分為10組,用來確定閾值並驗證精讀。
(2) 自己擬定乙個人臉識別相似度閾值範圍,在這個範圍內逐個確認在某一閾值下,選取其中1組資料統計同臉判斷錯誤和異臉判定錯誤的個數。
(3) 選擇錯誤個數最少的那個閾值,用剩餘9組,判斷識別精度。
(4) 步驟(2)和(3)執行10次,將每次(3)獲取的精度進行累加並求平均,得到最終判定精度。
其中也可以用下述方式替換
自己擬定乙個人臉識別相似度閾值範圍,在這個範圍內逐個確認在某一閾值下,針對所有人臉對統計同臉判斷錯誤和異臉判定錯誤的個數,從而計算得出判定精度。
pairs.txt 官方介紹
第一行:300表示的是300個匹配(相同的人),10表示的是重複十次
abel_pacheco 1 4 表示這個資料夾的abel_pacheco_0001.jpg 和abel_pacheco_0004.jpg
300行以後 開始不匹配
一共重複10次構成完整的pairs.txt,因此一共3000 mached, 3000個no_mached
得出準確率的思路就是:(正確判斷出 matche的次數+正確判斷 no_mached的次數) / 6000
非學,無以致疑;非問,無以廣識
去開通我的chat快問
人臉識別 LFW資料集介紹
labeled faces in the wild官網 lfw lfw labeled faces in the wild 人臉資料庫是由美國麻薩諸塞州立大學阿默斯特分校計算機視覺實驗室整理完成的資料庫,主要用來研究非受限情況下的人臉識別問題。lfw 資料庫主要是從網際網路上蒐集影象,而不是實驗室,...
lfw資料驗證
以facenet的lfw資料驗證為例 lfw資料 驗證資料分兩個,乙個用於開發,乙個用於最終的驗證 這裡驗證使用的是view 2的pairs.txt檔案 training,validation,and testing view 1 development training testing sets ...
Erlang簡單介紹整理
最近在看 七周七語言 適當了解一些c語言家族以外的程式語言也很有意思,下面記錄一下各個語言的語法特點。一,erl開啟erlang互動命令列 用百分號注釋,語句用句號標誌結束 變數必須是大寫字母開頭,只可賦值一次 name ciaos ciaos name.ciaos 符號首字母小寫 color re...