dlib库的学习
dlib库支持cnn算法,有python版本和c++版本,先实现python版本,再实现C++版本,最后实现android版本。
准备:
下载dlib压缩包,http://dlib.net/,最新版本是19.15版本,解压后打开README.md,查看如何编译,或者查看:http://dlib.net/compile.html。
注意,还需要安装libx11-dev库,使用命令:
sudo apt-get install libx11-dev
实现python用例
在dlib-19.15目录下执行命令:
mkdir build; cd build; cmake .. ; cmake --build .
再在dlib-19.15目录下,执行命令:
python setup.py install
进入python_examples目录,打开cnn_face_detector.py文件,或者face_detector.py文件,文件最上面告诉如何运行该python脚本,如:
./cnn_face_detector.py mmod_human_face_detector.dat ../examples/faces/*.jpg
其中,mmod_human_face_detector.dat文件需要在http://dlib.net/files/mmod_human_face_detector.dat.bz2下载。
实现c++用例
在dlib-19.15目录下执行如下命令:
cd examples mkdir build cd build cmake .. cmake --build . --config Release
编译完成后,执行:
./dnn_mmod_face_detection_ex mmod_human_face_detector.dat ../faces/*.jpg
结果如下:
在android上执行
主要参考:https://github.com/gv22ga/dlib-face-recognition-android
从上面的实验来看,dlib的方案,人脸检测用普通的不带cnn的方法,人脸识别用带cnn的方法,效果还不错,待进一部优化。