Dlib中的人脸landmark检测的模型压缩
Switch branches/tags
Nothing to show
Clone or download
Latest commit 5b8f6e6 Oct 9, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Update README.md Oct 9, 2018
huffman.hpp fix htree memory leak and change values' data type Mar 9, 2018
main.cpp 删除中文字符 Jan 9, 2018
model_utils.hpp Update model_utils.hpp Jul 18, 2018

README.md

dlib-face-landmark-compression

Dlib中的人脸landmark检测的模型压缩

具体介绍见博客:http://www.miaoerduo.com/c/dlib人脸关键点检测的模型分析与压缩.html

使用前,需要修改dlib的源码: DLIB_PATH/include/dlib/image_processing/image_processing/shape_predictor.h

修改 shape_predictor 类的成员变量的属性为public。

另外,有同学反映说不能正常加载模型,后来换了dlib 19.8之后,就可以了。这里也请大家出现类似的问题注意一下。

请注意,压缩之后的模型,存储格式发生变化,因此是不能通过dlib原本的方式去加载的,要换成下面的方式:

dlib::shape_predictor sp;
med::load_shape_predictor_model(sp, "/path/to/compressed_model");

需要使用该项目的同学,只需要加huffman.hppmodel_utils.hpp加入项目中即可。

编译方式如下,建议每个人先运行main.cpp的Demo:

git clone https://github.com/miaoerduo/dlib-face-landmark-compression.git
cd dlib-face-landmark-compression
g++ main.cpp -o main.bin -O2 -I ./ -I DLIB_PATH/include -L DLIB_PATH/lib -ldlib -std=c++11
./main.bin src_dlib_shape_predictor_model dest_model

为了方便大家的调试,这里上传一个dlib的68点landmark的原模型和使用main.cpp的代码压缩之后的模型。

链接: https://pan.baidu.com/s/1OnT45TUHkQnqkN2h2zCc9g 密码: 22ju