PFLD pytorch
1.0.0
PFLD的实施PFLD由Pytorch实施实际面部标志性检测器。
pip3 install -r requirements.txt更宽的面部地标在野外(WFLW)是一个新提出的面部数据集。它包含10000个面孔(7500张训练,2500张用于测试),带有98个完全手动注释的地标。
./data/WFLW/上Mirror98.txt移动到WFLW/WFLW_annotations $ cd data
$ python3 SetPreparation.py训练 :
$ python3 train.py使用张板,打开一个新的终端
$ 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现在,您可以在ncnn中使用pfld-sim.param和pfld-sim.bin :
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