PFLD pytorch
1.0.0
Внедрение PFLD Практический детектор для лица Pytorch.
pip3 install -r requirements.txtБолее широкие достопримечательности лица в WILD (WFLW)-это новый предлагаемый набор данных лица. Он содержит 10000 лиц (7500 для обучения и 2500 для тестирования) с 98 полностью ручными аннотированными достопримечательностями.
./data/WFLW/Mirror98.txt в WFLW/WFLW_annotations $ cd data
$ python3 SetPreparation.pyобучение :
$ python3 train.pyИспользуйте Tensorboard, откройте новый терминал
$ tensorboard --logdir=./checkpoint/tensorboard/
Тестирование:
$ python3 test.py
Pytorch -> onnx
python3 pytorch2onnx.pyonnx -> ncnn
Как построить: https: //github.com/tencent/ncnn/wiki/how-to-build
cd ncnn/build/tools/onnx
./onnx2ncnn pfld-sim.onnx pfld-sim.param pfld-sim.binТеперь вы можете использовать pfld-sim.param и pfld-sim.bin в 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: практическое детектор по лицевому значению https://arxiv.org/pdf/1902.10859.pdf
Реализация TensorFlow: https://github.com/guoqiangqi/pfld