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