日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python人脸识别训练模型生产_深度学习-人脸识别DFACE模型pytorch训练(二)

發布時間:2023/12/4 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python人脸识别训练模型生产_深度学习-人脸识别DFACE模型pytorch训练(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先介紹一下MTCNN的網絡結構,MTCNN有三種網絡,訓練網絡的時候需要通過三部分分別進行,每一層網絡都依賴前一層網絡產生訓練數據供當前訓練網絡,這樣也推動了兩個網絡之間的最小損耗。

Pnet

Rnet

Onet

MTCNN的人臉模型按照以上結構按照三部分進行訓練。

DFace有兩個主要模塊,即檢測和識別。在這兩個模塊中,我們提供了有關如何訓練模型和運行的所有教程。

首先設置一個pytorch和cv2,版本要求:

* pytorch==0.4.0

* torchvision==0.2.0

* opencv-python==3.4.0.12

pip install torch==0.4.0 torchvision==0.2.0 -i?https://pypi.tuna.tsinghua.edu.cn/simple

pip install opencv-python==3.4.0.12 -i https://pypi.tuna.tsinghua.edu.cn/simple

安裝依賴庫matplotlib:pip install matplotlib

(1)首先將DFace包git到本地用戶目錄,不要放在根目錄:

git clone https://github.com/tuvia0213/DFace.git

(2)添加DFace路徑添加到本地python路徑:

export PYTHONPATH=$PYTHONPATH:{your local DFace root path}/DFace

(3)打開../DFace路徑將WIDER FACE數據集下載到../DFace/WIDER_train/下

(WIDER_train下載地址http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/);

將CelebA下載到../DFace/Celeba/路徑下

(CelebA下載地址:http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html)

并將../CelebA/Img/目錄下的img_align_celeba壓縮包解壓到該目錄;其中WIDER FACE用于訓練人臉分類器與人臉約束框(Bounding Box,代碼里常見形式為BBox),CelebA用于訓練人臉坐標點(landmark點,人臉檢測中的標點為雙眼、鼻子、兩個嘴角);

(4)進入到../DFace路徑下,生成PNet訓練數據和注釋文件(annotation file):

python dface/prepare_data/gen_Pnet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file anno_store/wider_origin_anno.txt

(5)組合注釋文件并將其隨機分布:

python dface/prepare_data/assemble_pnet_imglist.py

(6)訓練Pnet模型:

python dface/train_net/train_p_net.py

(7)生成RNet訓練數據和注釋文件:

python dface/prepare_data/gen_Rnet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file? anno_store/wider_origin_anno.txt --pmodel_file model_store/pnet_epoch_10.pt

(8)組合注釋文件并將其隨機分布:

python dface/prepare_data/assemble_rnet_imglist.py

(9)訓練Rnet模型:

python dface/train_net/train_r_net.py

(10)生成ONet訓練數據和注釋文件:

python dface/prepare_data/gen_Onet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file anno_store/wider_origin_anno.txt --pmodel_file model_store/pnet_epoch_10.pt --rmodel_file model_store/rnet_epoch_10.pt

(11)生成Onet訓練landmark點數據,在此之前,生成testImageList.txt,需先將merge_file.py復制到celeba/CelebA/Anno路徑下:

python dface/prepare_data/gen_landmark_48.py --dface_traindata_store data/ --anno_file celeba/CelebA/Anno/testImageList.txt --prefix_path celeba/CelebA/Img/img_align_celeba

(12)組合注釋文件并將其隨機分布:

python dface/prepare_data/assemble_onet_imglist.py

(13)訓練Onet模型:

python dface/train_net/train_o_net.py

DFace路徑下提供了測試圖片與測試腳本,可以用于測試訓練網絡的識別效果,回到../DFace路徑下:

python test_image.py

顯示出識別圖片效果:

至此,模型訓練完成,可以使用../DFace/model_store下的pnet_epoch_10.pt rnet_epoch_10.pt onet_epoch_10.pt進行模型轉換,從pytorch轉caffe轉ncnn。

總結

以上是生活随笔為你收集整理的python人脸识别训练模型生产_深度学习-人脸识别DFACE模型pytorch训练(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。