MTCNN的pytorch實現,測試及訓練

寫在前面

MTCNN 是人臉檢測模型
代碼地址 歡迎 star
論文地址
本程序參考了kuaikuaikim/DFace以及Sierkinhane/mtcnn-pytorch,非常感謝。我修復了程序在訓練上會出現的一些bug,並增加了模型在訓練時的學習率變化表,優化了訓練參數。並在WiderFace驗證集上進行測試,發現我訓練的模型權重性能優於他們本來提供的模型權重。

測試圖

測試圖

WiderFace驗證集測試結果

其中MTCNN-original爲原來權重參數的測試結果
MTCNN-trained爲我訓練的權重參數的測試結果

Style easy medium hard
MTCNN-original 65.3% 65.1% 40.3%
MTCNN-trained 71.4% 70.4% 43.2%

Easy
在這裏插入圖片描述
在這裏插入圖片描述

MTCNN網絡結構

pnet
在這裏插入圖片描述
在這裏插入圖片描述

環境要求

1.pytorch
2.opencv

測試

單張圖

修改程序中圖片路徑

python detect.py

訓練

下載widerface
圖片文件按以下目錄放置

  ./data_set/face_detection/
    WIDER_train/
      images/
    WIDER_val/
      images/

標籤文件我已經製作好

./anno_store/anno_train.txt

標籤文件的內容爲
圖片路徑 左上x 左上y 右下x 右下y
如果圖片有多個框則
圖片路徑 左上x 左上y 右下x 右下y 左上x 左上y 右下x 右下y 。。。。
當然你可以自己製作標籤文件
參考程序在
./anno_store/tool/change.py

訓練pnet

準備pnet數據

python mtcnn/data_preprocessing/gen_Pnet_train_data.py
python mtcnn/data_preprocessing/assemble_pnet_imglist.py

訓練pnet

python mtcnn/train_net/train_p_net.py

準備rnet數據

python mtcnn/data_preprocessing/gen_Rnet_train_data.py
python mtcnn/data_preprocessing/assemble_rnet_imglist.py

訓練rnet

python mtcnn/train_net/train_r_net.py

準備onet數據

python mtcnn/data_preprocessing/gen_Onet_train_data.py
python mtcnn/data_preprocessing/assemble_onet_imglist.py

訓練onet

python mtcnn/train_net/train_o_net.py

測試widerFace val

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