PFLD pytorch
1.0.0
Implementación de PFLD Un detector práctico de puntos de referencia facial por Pytorch.
pip3 install -r requirements.txtLos puntos de referencia faciales más amplios en el Wild (WFLW) es un nuevo conjunto de datos facial propuesto. Contiene 10000 caras (7500 para capacitación y 2500 para pruebas) con 98 puntos de referencia anotados totalmente manuales.
./data/WFLW/Mirror98.txt a WFLW/WFLW_annotations $ cd data
$ python3 SetPreparation.pycapacitación :
$ python3 train.pyUse TensorBoard, abra una nueva terminal
$ tensorboard --logdir=./checkpoint/tensorboard/
pruebas:
$ python3 test.py
Pytorch -> onnx
python3 pytorch2onnx.pyONNX -> NCNN
Cómo construir: https: //github.com/tencent/ncnn/wiki/how-to-build
cd ncnn/build/tools/onnx
./onnx2ncnn pfld-sim.onnx pfld-sim.param pfld-sim.binAhora puede usar pfld-sim.param y pfld-sim.bin en 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 detector práctico de hito facial https://arxiv.org/pdf/1902.10859.pdf
Implementación de TensorFlow: https://github.com/guoqiangqi/pfld