pytorchはmtcnn顔検出アルゴリズムを実現する
2926 ワード
pytorchはmtcnn顔検出アルゴリズムを実現する
このブログでは、CSDNブロガー@Sierkinhaneが提供するmtcnn-pytorch顔検出アルゴリズムコードを再現する過程を記録し、@Sierkinhaneの仕事に感謝します.
トレーニングデータの準備ダウンロードWIDER FACEは./data_set/face_detectionパスでrun>python./anno_store/tool/format/transform.py CNNをダウンロードFacePointは./data_set/face_landmarkパスのダウンロードアドレス:http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm
トレーニングステップ P-Netトレーニングデータ(positive、negative、part)run>python mtcnn/data_を生成preprocessing/gen_Pnet_train_data.py run > python mtcnn/data_preprocessing/assemble_pnet_imglist.py トレーニングP-Net run>python mtcnn/train_net/train_p_net.py R-Netトレーニングデータ(positive、negative、part)run>python mtcnn/data_を生成preprocessing/gen_Rnet_train_data.py(コードで訓練されたP-Netモデルパスを変更する必要があるかもしれませんが、デフォルトは元のモデルです)run>python mtcnn/data_preprocessing/assemble_rnet_imglist.py トレーニングR-Net run>python mtcnn/train_net/train_r_net.py O-Netトレーニングデータ(positive、negative、part)run>python mtcnn/data_を生成preprocessing/gen_Onet_train_data.py run > python mtcnn/data_preprocessing/gen_landmark_48.py run > python mtcnn/data_preprocessing/assemble_onet_imglist.py トレーニングO-Net run>python mtcnn/train_net/train_o_net.py
実行gen_Pnet_train_data.pyでは小さな問題がたくさんありますが、ここでは一つ一つ挙げていません.最後にWIDER FACEデータベースgtに格納フォーマットはbox(x_left,y_top,w,h)であり、トレーニングデータ準備段階でtransformを実行する.py生成anno_train.txt変換はbox(x_left,y_top,x_right,y_bottom)の形式で保存され、実行に成功しました.その他、WIDER_train\images\54–Rescue54_Rescue_rescuepeople_54_29.jpgの最後から5番目のgtで与えられたwは負数であり、私は直接このサンプルを削除した.
: https://blog.csdn.net/Sierkinhane/article/details/83308658
mtcnn-pytorch : https://github.com/Sierkinhane/mtcnn-pytorch(star!)
: https://kpzhang93.github.io/MTCNN_face_detection_alignment/paper/spl.pdf
このブログでは、CSDNブロガー@Sierkinhaneが提供するmtcnn-pytorch顔検出アルゴリズムコードを再現する過程を記録し、@Sierkinhaneの仕事に感謝します.
トレーニングデータの準備
トレーニングステップ
Error1
: ValueError: low >= high delta_x = np.random.randint(max(-size,-x1),w)
File "mtrand.pyx", line 1264, in mtrand.RandomState.randint
ValueError: low >= high;;
Solution1
: 実行gen_Pnet_train_data.pyでは小さな問題がたくさんありますが、ここでは一つ一つ挙げていません.最後にWIDER FACEデータベースgtに格納フォーマットはbox(x_left,y_top,w,h)であり、トレーニングデータ準備段階でtransformを実行する.py生成anno_train.txt変換はbox(x_left,y_top,x_right,y_bottom)の形式で保存され、実行に成功しました.その他、WIDER_train\images\54–Rescue54_Rescue_rescuepeople_54_29.jpgの最後から5番目のgtで与えられたwは負数であり、私は直接このサンプルを削除した.