前言
以前在博客:基于PYQT编写一个人脸识别软件 中给出了我自己用PYQT编写的一个小软件。鉴于使用的是开源库——face_recogniton,尽管使用很简单,但是还有些问题,比如:识别黄种人时效果不好,运行速度较慢等等。
有一点还需要说明,face_recogntion的底层是dlib机器学习库,换种想法我们也可以使用dlib的一些基础功能自己编写出一些类似face_recogntion库提供的功能。
我自己基于dlib库重新写了一个新的软件,性能上相对会比原来使用face_recognition好一些。
环境依赖
- dlib机器学习库。安装教程:https://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/pm=5176.100239.blogcont336184.15.b7697a079ArIo。Linux下相对安装更容易一些,Windows下要自行配置好boost库,稍微会麻烦一点。
- OpenCV(python)。图像处理必备,没什么说的。
- PyQt4。GUI界面是基于PYQT编写的,界面设计上我没有花太多功夫,直接在QT Designer设计,然后用eric编译生成的。
- 一些常用库:比如numpy、webbrowser、pickle等等,如果少了用pip装就可以了。
- 软件是基于Python2编写的,尽管尽量注意了py2和py3的兼容问题,但在python3不保证一定能运行通过,可能要自行修改一些代码才能运行通过。
软件截图
下面是部分截图,总共做了9个功能。
换脸。
下载链接
http://download.csdn.net/download/hongbin_xu/10226813
里面提供了两个下载链接。一个是python源码,一个是我打包好的exe可执行文件。
python源码,需要自行配置Python环境,安装dlib、opencv、pyqt等库;
软件使用python2编写,python3不保证一定能运行,需要自己调试或是修改部分代码;
exe文件,可以直接在Windows下运行,不需要安装依赖库;
目录说明
下存放的是有关图像处理,后台功能实现的代码。
文件夹下存放了一些测试图片。
存放了测试人脸聚类功能时使用的一些图片。
保存了人脸聚类的输出结果。
存放了换脸功能的测试图片。
存放了训练数据集,在使用训练目标检测器功能时,会自动导入。里面放的是一些猫脸的数据集,默认会导入我用imglab(dlib提供的工具软件)做好的xml文件。
存放了训练数据集,用于训练人脸特征点检测器,软件默认会导入做好的xml文件,引入数据集。
剩下的几张图片,是随便放的一些测试图片。
文件夹中存放了人脸比对功能中使用的模板图片,以及我生成好的模板。
后记
这个软件也是断断续续地写的,哪天有多余时间就来写几个功能,也是当做练手用的小项目。用代码统计了一下有4000多行Python代码,不过除去用软件生成的画GUI界面的那些代码,差不多加起来也有2000-3000行吧。感觉主要时间都是花在调试bug上,写一个功能也花不了多少时间,也许自己还是太菜了。
最近一直在等我的双目摄像头,总算到了,正好也把软件给写完了,可以开始做实验了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!