PFLD pytorch
1.0.0
Mise en œuvre de PFLD Un détecteur de repère facial pratique par Pytorch.
pip3 install -r requirements.txtDes monuments pour le visage plus larges dans le monde (WFLW) sont un nouvel ensemble de données de visage proposé. Il contient 10000 visages (7500 pour la formation et 2500 pour les tests) avec 98 repères annotés entièrement manuels.
./data/WFLW/Mirror98.txt à WFLW/WFLW_annotations $ cd data
$ python3 SetPreparation.pyentraînement :
$ python3 train.pyUtilisez Tensorboard, ouvrez un nouveau terminal
$ tensorboard --logdir=./checkpoint/tensorboard/
essai:
$ python3 test.py
Pytorch -> onnx
python3 pytorch2onnx.pyonnx -> ncnn
comment construire: https: //github.com/tencent/ncnn/wiki/how-to-build
cd ncnn/build/tools/onnx
./onnx2ncnn pfld-sim.onnx pfld-sim.param pfld-sim.binVous pouvez maintenant utiliser pfld-sim.param et pfld-sim.bin dans ncnn:
ncnn::Net pfld;
pfld.load_param( " path/to/pfld-sim.param " );
pfld.load_model( " path/to/pfld-sim.bin " );
cv::Mat img = cv::imread(imagepath, 1 );
ncnn::Mat in = ncnn::Mat::from_pixels_resize(img.data, ncnn::Mat::PIXEL_BGR, img.cols, img.rows, 112 , 112 );
const float norm_vals[ 3 ] = { 1 / 255 . f , 1 / 255 . f , 1 / 255 . f };
in.substract_mean_normalize( 0 , norm_vals);
ncnn::Extractor ex = pfld.create_extractor();
ex.input( " input_1 " , in);
ncnn::Mat out;
ex.extract( " 415 " , out);PFLD: Un détecteur de monument facial pratique https://arxiv.org/pdf/1902.10859.pdf
Implémentation de Tensorflow: https://github.com/guoqiangqi/pfld