python项目|做一个人脸识别相关的毕业设计

本文旨在简单聊一下做一个与人脸识别相关的本科毕业设计,希望不是挖坑文。
背景:普通本科毕业设计大多是构建网站(购物、管理系统、论坛),相对来说老师看的也审美疲劳,当然如果买毕设的话价格会相对便宜。
本文不会过多涉及或者一开始会极少出现具体代码,毕竟只是简单探讨或是启发一下阅读者的思路,而非教程。
人脸识别的技术方法网上一搜一大堆,具体项目则是要和各类实际情况结合,比如某种情景下的人的统计,通过人脸识别进行考勤,识别特定人物等。

相关技术方法:Python、OpenCV、dlib

【python项目|做一个人脸识别相关的毕业设计】大体思路:
一.获取照片
这一步这一使用本地的图片,也可以通过摄像头拍摄照片,后者会与识别时使用的照片更为契合。
1.具体方法
OpenCV调用摄像头获取图像并进行基础的处理(灰度等),Dlib进行特征获取,这里可以使用官方的识别模型或检测器。
例如 shape_predictor_68_face_landmarks.datdlib_face_recognition_resnet_model_v1.dat
可以直接从网上下载,一些用法和介绍可以见dlib官网介绍http://dlib.net/
这是dlib官方训练好的模型,准确率较高,并且文档也较为丰富。
随后提取特征并可以存储在CSV文件中,方便之后使用。

2.大体流程
python项目|做一个人脸识别相关的毕业设计
文章图片


二、识别
1.具体方法
此间的大致方法也是cv获取图像,调用模型处理并且和上面计算出的特征进行欧氏距离,比较一定阈值就判为识别成功。完成了识别后后续操作则根据项目来。
这里用到的模型是128维人脸识别模型,同样由Dlib官方提供。dlib_face_recognition_resnet_model_v1
理论上认为0.5的阈值就可以达到一个颇为理想的数值,但是考虑到现实情况较为恶劣的光照,所以可以调低了些。
2.大致流程
python项目|做一个人脸识别相关的毕业设计
文章图片


三、界面
1.具体方法,Python提供了Pyqt、tkinter等较为不错的库,如果考虑到风格或是个人习惯的话也可以用别的库来写界面,例如PyQt等,但是注意PyQt安装时可能会出现一定的问题,一定要对应好版本。
四、实践思路
那么具体实践肯定不能就做一个识别界面,扫一下告诉是谁,这样一点也没有意义。结合到具体生产实践中去,这就是我们所说的落地,也可以看作是毕业设计的加分项。
具体人脸识别的应用大概有这些,仅仅是思路,希望能给读者一些启发:考勤系统,门禁系统,识别特定目标人物,锁,等等。

具体demo可以github上搜索face recognition等相关关键词 类似的:https://github.com/ageitgey/face_recognition
https://github.com/search?q=face+recognition
总结:本文初稿旨在简单探讨一个要求较低的设计项目的思路,虽然网上都有现成的代码和demo,但是结合这项技术还是较能做出一个一般院校中新颖的设计作品。
https://github.com/coneypo/Dlib_face_recognition_from_camera
这是一个很优秀的demo,极力推荐,博主可谓业界良心了 欢迎评论探讨

    推荐阅读