# 1.模块功能介绍
#### 实现人脸识别模块、人脸登录与注册功能、商店显示和用户余额页显示功能
用GUl图形界面实现(pyqt)语言python windows下软件pycharm
1.用户登录模块:刷脸登录
2.注册模块:拍照截取与对齐上传人脸信息录编入用户的余额和号
3.登陆成功后,进入商店页面
4.用户进入商店有余额和商店商品价格
注册录入:人脸截取与对齐( opencv+dlib):
利用opencv 或dlib的检测视频人脸并截取。并输入编号和余额。
# 2.视频演示
[[项目分享]基于OpenCV的人脸识别自助商店(源码&部署视频)_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1ot4y1j72F/?vd_source=bc9aec86d164b67a7004b996143742dc)
# 3.效果展示
![3.png](4da537791c8b5ad07c3f2cb140bcd3be.png)
![1.png](a80e185aca45b5404479c0140988e778.png)
![2.png](370fb482d4bbc69a43b012cb0fde0059.png)
# 4.第三方包的安装
### opencv 的安装,输入:pip install opencv-python。
注:numpy与OpenCV绑定安装,无需自己输入命令。
### pillow的安装,输入: pip install pillow
注:pillow为图像处理包。
### contrib的安装,输入:pip instal opencv-contrib-python
# 5.OpenCV人脸识别的原理:
您可能想知道本教程与[参考的博客方法](https://mbd.pub/o/bread/Y5WWmply)的不同?
好吧,请记住,dlib人脸识别帖子依赖于两个重要的外部库:
(1)dlib(显然)
(2)face_recognition(这是一组易于使用的人脸识别实用程序,包含dlib)
虽然我们使用OpenCV来进行人脸识别,但OpenCV本身并不负责识别人脸。
在今天的教程中,我们将学习如何将深度学习和OpenCV一起应用(除了scikit-learn之外没有其他库):
(1)检测人脸
(2)计算128维人脸嵌入以量化人脸
(3)在嵌入之上训练支持向量机(SVM)
(4)识别图像和视频流中的人脸
所有这些任务都将通过OpenCV完成,使我们能够获得“纯粹的”OpenCV人脸识别管道(pipeline)。
为了构建我们的OpenCV人脸识别管道,我们将在两个关键步骤中应用深度学习:
[模仿该博客](https://afdian.net/item?plan_id=38de18bc60c411edb9c452540025c377),应用人脸检测,检测人脸在图像中的存在和位置,但不识别它
提取量化图像中每个面部的128维特征向量(称为“嵌入”)
我之前已经讨论过OpenCV的人脸检测是如何工作的,所以如果你以前没有检测到人脸,请参考:
![5.png](18b2c3753bcef3376250d55ac278aac5.png)
# 6.人脸姓名识别代码实现:
```
import numpy as np
import cv2
# 人脸识别分类器
faceCascade = cv2.CascadeClassifier(r'C:\python3.7\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
# 识别眼睛的分类器
eyeCascade = cv2.CascadeClassifier(r'C:\python3.7\Lib\site-packages\cv2\data\haarcascade_eye.xml')
# 开启摄像头
cap = cv2.VideoCapture(0)
ok = True
while ok:
# 读取摄像头中的图像,ok为是否读取成功的判断参数
ok, img = cap.read()
# 转换成灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(32, 32)
)
# 在检测人脸的基础上检测眼睛
for (x, y, w, h) in faces:
fac_gray = gray[y: (y+h), x: (x+w)]
result = []
eyes = eyeCascade.detectMultiScale(fac_gray, 1.3, 2)
# 眼睛坐标的换算,将相对位置换成绝对位置
for (ex, ey, ew, eh) in eyes:
result.append((x+ex, y+ey, ew, eh))
# 画矩形
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
for (ex, ey, ew, eh) in result:
cv2.rectangle(img, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2)
cv2.imshow('video', img)
k = cv2.waitKey(1)
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()
```
# 7.刷脸购物相关研究:
#### 技术原理:人脸特征模板识别
支付宝的人脸识别技术采用在该领域广泛应用的区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值。通过这个值即可确定是否为同一人。
说得更加技术宅一些,阿里巴巴提供的材料显示的技术原理是:这个系统人脸识别中各个环节全部基于深度神经网络技术(CNN),通过人脸检测、关键点定位、特征提取和特征比对等技术手段,从图像或视频中发现,定位人脸进而识别出人脸所属的人的身份。
据称该系统已累计处理10亿人脸图像数据。
支付宝人脸识别操作流程:
人脸照片由用户上传到支付宝系统,经过系统分析认证,然后“绑定”自己的支付账户。每次支付只要在下单购买后,让支付系统扫描用户脸部并确认身份,即可完成支付。
为什么选择人脸支付而不是现在应用更广泛的指纹识别呢?支付宝给出的答案是由于操作方式是非接触式,比指纹等支付更有利于打消用户对个人隐私的顾虑。
未来应用:无需携带现金和银行卡,经过收银机1秒内即可实现刷脸支付
马云的“刷脸支付”给未来生活支付方式带来了全新变革,根据阿里巴巴应用此技术的前景,有了扫脸支付系统,人们无需携带现金和银行卡,更不需要记忆各种密码或账号,用户只需要用手机前置摄像头拍摄照片上传到多核处理系统上完成注册,系统抽取人脸特征,进行处理之后注册成功。当在线下购物时,用户只要走到收银机前就可在1秒内实现人脸识别完成支付。
其实类似的脸部识别技术在全球技术研发中并不罕见,去年芬兰一家叫做Uniqul的公司已经在赫尔辛基开始了“刷脸支付”的实践应用,并按照服务覆盖面积收取不同价格的使用费用。而我国中科院的生物识别与安全技术研究中心也在研究基于人脸识别的支付方式,其实该识别技术已经于2008年北京奥运会时使用过。
# 8.系统的整合:
上面的模型训练好了,但对于我们来说它的作用就只是知道了其准确率还行,其实深度学习的目的最重要还是应用,是时候用上面的模型做点自定义的部分,背景图可以自己选择,避免了出现网红UI界面的情况出现(避免了搭边的时候撞衫)。可不可以用上面的模型识别下自己表达的情绪呢?不如做个系统调取摄像头对实时画面中的表情进行识别并显示识别结果,既能可视化的检测模型的实用性能,同时使得整个项目生动有趣激发自己的创造性,当你向别人介绍你的项目时也显得高大上。这里采用PyQt5进行设计,首先看一下最后的效果图,完整的项目如下:
下图[完整源码&环境部署视频教程&自定义UI界面&操作指南](https://s.xiaocichang.com/s/3877ca)
![4.png](4461eda1c2132fb45df06adb8063146e.png)
参考博客[《Python基于OpenCV的人脸识别自助商店(源码&部署视频)》](https://mbd.pub/o/qunma/work)
# 9.参考文献
**1.[期刊论文]**基于CNN和SVM的人脸识别系统的设计与实现
**期刊:**《计算机与数字工程》 | 2021 年第 002 期
**摘要:**针对人脸识别在实际应用中存在姿态变化、表情、遮挡等问题,研究了结合支
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
Python基于OpenCV的人脸识别自助商店(源码&部署视频).zip (7个子文件)
资料总结
370fb482d4bbc69a43b012cb0fde0059.png 846KB
18b2c3753bcef3376250d55ac278aac5.png 673KB
a80e185aca45b5404479c0140988e778.png 826KB
4da537791c8b5ad07c3f2cb140bcd3be.png 812KB
4461eda1c2132fb45df06adb8063146e.png 91KB
import_numpy_as_np.py 1KB
README.md 14KB
共 7 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功