事先声明,本人只是兴趣使然才研究一下怎么玩,因此可能很多地方并不专业,有问题尽管提出,互相促进。
事不宜迟,马上开始。
此前我有了解过国产的face++, 功能挺强大,自称可以返回106个高精度关键点。可恨的它并不开源啊,于是唯有退而求次。
然后就找到了dlib,这个东西也很强,开源自不必说,不仅跨平台,还提供python、c++版本,而且是全英文(极大程度地提升了程序员的英语水平)。有python版本是一件极好的事,新手入门可以更轻松,如果懂c++的话更好,毕竟源码就是用c++写的。
环境搭建(WIN10系统)(尽量简短,因为网上都有教程,需要注意的地方会说一下)
1.装python,怎么装?不用我说啦,直接去官网下载安装吧。顺带一提,我用的是3.6版本。
2.装opencv,这个相当轻松,pip install opencv-python这一句命令行就搞定,不用配置path这些环境变量,除非玩c++版本。
3.装dlib,官网是有教程的。需要注意的是,网上搜到很多都要安装boost,但现在新版都不用装boost了。
4.下载dlib的训练模型,去作者的github网站即可下载,有他的训练模型才能玩他的demo。
试玩
我们试试face_landmark_detection这个demo,文件里写有运行方式。准备好训练模型和一个装有图片的文件夹就可以运行了。
轻松,简单,我们就拥有一个可以随便玩的人脸识别环境。一整个流程下来好像跟opencv没什么关系,是的,部分demo是不需要opencv的,但之后很多地方都需要它,如摄像头的使用,像素处理等等,也是很有趣的。关于opencv,官方有出pythonAPI的使用教程,并且有中文版,学习资料非常齐全了。
个人感想
我也是不久前才接触这方面的内容,默默研究一番后觉得背后的算法真有意思,出来的视觉效果又可以,略加一些想法应该可以做成酷炫的东西。
为什么要选择dlib,我也不清楚,因为百度开源的人脸识别项目,第一眼就看到它了,而且官网也能在国内访问,它也在不断更新,天时地利人和,就选它了。
我坚信技术是可以玩出来的。
第一次用简书写文章,这个网站好干净,好赞。
下一期,制作样本并识别二次元人脸