準備工作
下載下傳FaceNet源碼
https://github.com/davidsandberg/facenet
LFW評估測試資料下載下傳
http://vis-www.cs.umass.edu/lfw/lfw.tgz
下載下傳亞洲人臉資料CASIA-FaceV5
原上傳者位址:https://download.csdn.net/download/weixin_42179317/10405384
若無csdn積分可以直接用百度雲盤下載下傳:
https://pan.baidu.com/s/1WS4nooNQgmQHR6EpmrW6dw 密碼: sc8b
步驟
- align_dataset_mtcnn.py提取lfw資料人臉
- validate_on_lfw.py測試預訓練模型在lfw資料上的準确率,用了三個預訓練模型:20170512-110547,20180402-114759,20180408-102900。(一個小插曲,跑的時候會報錯,32位需要64位,可參考https://blog.csdn.net/meihuafeixue/article/details/85085839,總結下來是2017的模型需要64,2018兩個模型需要32)
- align_dataset_mtcnn.py提取亞洲人臉(在此之前需要先生成一個pairs.txt檔案,存放樣本配置設定,可參考https://blog.csdn.net/cytheria43/article/details/103560164)
- 修改一下validate_on_lfw.py,測試預訓練模型在亞洲人臉資料上的準确率,時間原因隻用了兩個個預訓練模型:20170512-110547,20180402-114759
測試結果
1. 三個預訓練模型在LFW上的結果
###### 模型:20170512-110547
python validate_on_lfw.py ../data/lfw_160 ../20170512-110547 --lfw_pairs ../data/pairs.txt
## 結果
Accuracy: 0.99200+-0.00464
Validation rate: 0.97633+-0.01433 @ FAR=0.00167
Area Under Curve (AUC): 1.000
Equal Error Rate (EER): 0.008
###### 模型:20180402-114759
python validate_on_lfw.py ../data/lfw_160 ../20180402-114759 --lfw_pairs ../data/pairs.txt
## 結果
Accuracy: 0.98467+-0.00407
Validation rate: 0.90567+-0.01995 @ FAR=0.00067
Area Under Curve (AUC): 0.998
Equal Error Rate (EER): 0.015
###### 模型:20180408-102900
python validate_on_lfw.py ../data/lfw_160 ../20180408-102900 --lfw_pairs ../data/pairs.txt
## 結果
Accuracy: 0.97817+-0.00502
Validation rate: 0.83967+-0.03686 @ FAR=0.00133
Area Under Curve (AUC): 0.997
Equal Error Rate (EER): 0.025
2. 在亞洲人臉的結果
#### 模型:20170512-110547
python validate_on_lfw.py ../data/64_CASIA-FaceV5_160 ../20170512-110547 --lfw_pairs ../data/pairs_Asia.txt
##結果
Accuracy: 0.93383+-0.01126
Validation rate: 0.50733+-0.02662 @ FAR=0.00133
Area Under Curve (AUC): 0.984
Equal Error Rate (EER): 0.066
#### 模型:20170512-110547
python validate_on_lfw.py ../data/64_CASIA-FaceV5_160 ../20180402-114759 --lfw_pairs ../data/pairs_Asia.txt
##結果
Accuracy: 0.94017+-0.00361
Validation rate: 0.63900+-0.03310 @ FAR=0.00133
Area Under Curve (AUC): 0.985
Equal Error Rate (EER): 0.061
結論
預訓練模型從LFW資料到亞洲人臉,準确率Accuray下降了4-6%左右,看着下降不多,但是Validation rate則從97%和90%左右下降到51和64%,效果衰減很厲害。
為什麼說效果衰減很大,要了解Validation rate的意思。
Validation rate: 0.50733+-0.02662 @ FAR=0.00133
拿上面這個例子來說:FAR好像是false accuray的意思,就是說把不同的人預測成為同一個人的機率,是以說,validation rate是指,模型把不同的人錯誤的認定為同一個人的機率為0.00133(這個機率值很小,就是模型大機率不會把不同的人認錯為同一個人),把同一個人識别成功的機率為0.50733+-0.02662
說的有點繞,大家可以參考https://blog.csdn.net/anthea_luo/article/details/80258856
或者google,有人說的比較清楚的
接下來就是看如何用亞洲人臉圖庫來訓練facenet模型拉。
參考:
https://github.com/MrZhousf/tf_facenet
https://blog.csdn.net/zhongzhongzhen/article/details/78293789
https://blog.csdn.net/sinat_36742186/article/details/84667702
https://blog.csdn.net/cytheria43/article/details/103560164
https://blog.csdn.net/anthea_luo/article/details/80258856