PFLD pytorch
1.0.0
Implementierung von PFLD Ein praktischer Meilensteindetektor von Pytorch.
pip3 install -r requirements.txtBreitere Gesichtsmarke in-the-wild (WFLW) ist ein neuer vorgeschlagener Gesichtsdatensatz. Es enthält 10000 Gesichter (7500 für das Training und 2500 zum Testen) mit 98 vollständig manuellen annotierten Orientierungspunkten.
./data/WFLW/ anziehenMirror98.txt WFLW/WFLW_annotations $ cd data
$ python3 SetPreparation.pyAusbildung :
$ python3 train.pyVerwenden Sie Tensorboard, öffnen Sie ein neues Terminal
$ tensorboard --logdir=./checkpoint/tensorboard/
Testen:
$ python3 test.py
Pytorch -> Onnx
python3 pytorch2onnx.pyonnx -> ncnn
Erstellung
cd ncnn/build/tools/onnx
./onnx2ncnn pfld-sim.onnx pfld-sim.param pfld-sim.binJetzt können Sie pfld-sim.param und pfld-sim.bin in NCNN verwenden:
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: Ein praktischer Gesichtsmark -Detektor https://arxiv.org/pdf/1902.10859.pdf
TensorFlow -Implementierung: https://github.com/guoqiangqi/pfld