基於facenet的人臉識別(tensorflow)

運行環境:Ubuntu+anaconda+tensorflow-gpu==1.9.0

環境配置:  pip install -r requirements.txt,如果出現model缺失,根據提示安裝依賴的包。

一:準備工作

1 下載源碼,地址: https://github.com/davidsandberg/facenet

2 下載LFW 數據集: http://vis-www.cs.umass.edu/lfw/   ->Download->All images as gzipped tar file

LFW 是由美國馬薩諸塞大學阿姆斯特分校計算機視覺實驗室整理的。它包含13233張圖片,共5749人,其中4096人只有一張圖片,1680人的圖片多餘一張,每張圖片尺寸是250x250 。

文件解壓到facenet/datasets/lfw 目錄下。

3 下載預訓練模型

官網提供了分別是基於CASIA-WebFace和 VGGFace2的預訓練模型

二:在lfw數據集上評估

參考官網說明:https://github.com/davidsandberg/facenet/wiki/Validate-on-LFW

具體實現

(1)圖片預處理

因爲程序中神經網絡使用的是谷歌的“inception resnet v1”網絡模型,這個模型的輸入時160*160的圖像,而我們下載的LFW數據集是250*250限像素的圖像,所以需要進行圖片的預處理。

python src/align/align_dataset_mtcnn.py   datasets/lfw  datasets/lfw-160  --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25

參數說明:

datasets/lfw  數據集路徑

datasets/lfw_160 轉換尺寸後路徑

--image_size 160 --margin 32 --random_order--gpu_memory_fraction 0.25  指定圖片尺寸

error:找不到facenet

方法:將align_dataset_mtcnn.py複製到src路徑下

評估:python src/validate_on_lfw.py datasets/lfw-160 models/20180402-114759

三 在自己的數據集上訓練

參考官網說明:https://github.com/davidsandberg/facenet/wiki/Train-a-classifier-on-own-images

在l自己數據集上訓練和測試,數據尺寸250*250

python src/classifier.py TRAIN datasets/my-data/train/ models/20180402-114759/20180402-114759.pb models/my_classifier.pkl --batch_size 50

python src/classifier.py CLASSIFY datasets/my-data/train/ models/20180402-114759/20180402-114759.pb models/my_classifier.pkl --batch_size 50

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章