TensorFlow+FaceNet+GPU訓練模型(超詳細過程)(二、數據預處理)

在配置完環境之後,訓練模型之前,就是尋找合適的訓練數據。

人臉模型對數據集的要求非常的高,比較出名的有lfw、vggface、CASIA-WebFace等等,這裏提供一個別人收集好的數據資源信息,https://blog.csdn.net/Martin20150405/article/details/79788501

在近幾年中,基本上大多數的模型都用lfw數據集進行驗證,成了一個常態,所以本文也使用lfw數據集對訓練中的模型進行測試,同時,vggface2和WebFace都是非常優秀的數據集,建議使用它們中的一個進行模型訓練,其中vggface2包含300w+的照片,WebFace擁有50w+,請理性選擇數據集(對自己的電腦心裏有點13數)

vggface2:http://zeus.robots.ox.ac.uk/vgg_face2/signup/

lfw:http://vis-www.cs.umass.edu/lfw/

WebFace:鏈接已死,有人有最新的官網鏈接麻煩共享下,thanks

然後嘛,vggface2訓練集大小,36G,嘻嘻^_^,一般外網下載數據8k/s,只需要大約55天就能下完,我覺得還是有希望的,hhhhh

lfw數據集較少,雖然外網速度同樣感人,WebFace數據集大小爲4G,網上資源基本上都是需要付費或者積分兌換的(嫌棄),所以這邊還是好人做到底,免費提供三大數據集(有用上的小夥伴,至少點個贊,嘿嘿)

鏈接:https://pan.baidu.com/s/1_5vtL18zMX-ov6tnw1vkxA

提取碼:i565

(vggface2正在分卷壓縮,結束之後再上傳更新)

使用MTCNN對數據集進行預處理

MTCNN,多任務級聯卷積神經網絡,大名鼎鼎,請自行百度瞭解。

在FaceNet項目中,新建目錄datasets

同時右鍵將此文件夾設爲excluded,不這樣做的話,Pycharm會將所有圖片讀取到緩存中

將下載下來的lfw數據集解壓到該文件夾下,輸入命令開始進行人臉檢測以及提取。

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

然後,恭喜你,它肯定會報錯(^_^),如果這麼簡單的話,教程就沒用了呀,嘻嘻

錯誤提示很直觀,沒有找到facenet文件,其實我們查看目錄結構就會發現,src目錄下還有個align子目錄,在Python中是無法通過直接引用的方法去訪問上一級目錄的,熟悉包導入方法的童鞋可以自己手動修改,下面提供一個超級簡單的方法。

打開Python虛擬環境中的Lib目錄和FaceNet項目中的src目錄,將src目錄下的所有文件拷貝到Lib目錄下即可,這也是爲什麼強烈建議每個項目擁有一個獨立的虛擬環境的原因。

接着再次運行上述命令,即可成功運行

 這裏友情提示,請將項目放置固態硬盤中,原因很簡單,即使不使用GPU,只用CPU的話,機械硬盤的讀寫速度跟不上CPU的計算速度,更不要說GPU了,然而,即使是使用GPU,固態硬盤也可以輕鬆承擔這個任務。

在處理完lfw這個對模型進行驗證的數據集之後,我們還需要處理訓練數據集,這裏使用vggface2爲例,但由於數據集太大,用CPU處理的話會耗時很久,如果有興趣配置GPU的童鞋,請先進入下一章GPU的配置環境,再返回進行數據處理(只有顯卡爲N卡纔行呦)

Next: https://blog.csdn.net/qq_40204582/article/details/104100734

python src/align/align_dataset_mtcnn.py datasets/vggface2/train/ datasets/vggface2/train_182 --image_size 182 --margin 44

請理智選擇訓練的數據集,如果使用vggface2的話,請留出超過100G的硬盤空間。

 

 

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