寫在前面
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% |
MTCNN網絡結構
環境要求
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