Python基于OpenCV的人脸识别自助水果店(源码&部署视频)

2024-01-28 11:40

本文主要是介绍Python基于OpenCV的人脸识别自助水果店(源码&部署视频),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python基于OpenCV的人脸识别自助水果店(源码&部署视频&万字技术文档)

1.模块功能介绍

实现人脸识别模块、人脸登录与注册功能、商店显示和用户余额页显示功能

用GUl图形界面实现(pyqt)语言python windows下软件pycharm
1.用户登录模块:刷脸登录
2.注册模块:拍照截取与对齐上传人脸信息录编入用户的余额和号
3.登陆成功后,进入商店页面
4.用户进入商店有余额和商店商品价格
注册录入:人脸截取与对齐( opencv+dlib):
利用opencv 或dlib的检测视频人脸并截取。并输入编号和余额。

2.视频演示

[项目分享]基于OpenCV的人脸识别自助商店(源码&部署视频)_哔哩哔哩_bilibili

3.效果展示

3.png
2.png

3.png

4.第三方包的安装

opencv 的安装,输入:pip install opencv-python。

注:numpy与OpenCV绑定安装,无需自己输入命令。

pillow的安装,输入: pip install pillow

注:pillow为图像处理包。

contrib的安装,输入:pip instal opencv-contrib-python

5.OpenCV人脸识别的原理:

您可能想知道本教程与我几个月前用dlib进行人脸识别时所写的不同?
好吧,请记住,dlib人脸识别帖子依赖于两个重要的外部库:
(1)dlib(显然)
(2)face_recognition(这是一组易于使用的人脸识别实用程序,包含dlib)
虽然我们使用OpenCV来进行人脸识别,但OpenCV本身并不负责识别人脸。
在今天的教程中,我们将学习如何将深度学习和OpenCV一起应用(除了scikit-learn之外没有其他库):
(1)检测人脸
(2)计算128维人脸嵌入以量化人脸
(3)在嵌入之上训练支持向量机(SVM)
(4)识别图像和视频流中的人脸
所有这些任务都将通过OpenCV完成,使我们能够获得“纯粹的”OpenCV人脸识别管道(pipeline)。
为了构建我们的OpenCV人脸识别管道,我们将在两个关键步骤中应用深度学习:

应用人脸检测,检测人脸在图像中的存在和位置,但不识别它
提取量化图像中每个面部的128维特征向量(称为“嵌入”)
我之前已经讨论过OpenCV的人脸检测是如何工作的,所以如果你以前没有检测到人脸,请参考:
5.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 = Truewhile 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 quitbreakcap.release()
cv2.destroyAllWindows()

7.刷脸购物相关研究:

技术原理:人脸特征模板识别

支付宝的人脸识别技术采用在该领域广泛应用的区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值。通过这个值即可确定是否为同一人。

说得更加技术宅一些,阿里巴巴提供的材料显示的技术原理是:这个系统人脸识别中各个环节全部基于深度神经网络技术(CNN),通过人脸检测、关键点定位、特征提取和特征比对等技术手段,从图像或视频中发现,定位人脸进而识别出人脸所属的人的身份。

据称该系统已累计处理10亿人脸图像数据。

支付宝人脸识别操作流程:

人脸照片由用户上传到支付宝系统,经过系统分析认证,然后“绑定”自己的支付账户。每次支付只要在下单购买后,让支付系统扫描用户脸部并确认身份,即可完成支付。

为什么选择人脸支付而不是现在应用更广泛的指纹识别呢?支付宝给出的答案是由于操作方式是非接触式,比指纹等支付更有利于打消用户对个人隐私的顾虑。

未来应用:无需携带现金和银行卡,经过收银机1秒内即可实现刷脸支付

马云的“刷脸支付”给未来生活支付方式带来了全新变革,根据阿里巴巴应用此技术的前景,有了扫脸支付系统,人们无需携带现金和银行卡,更不需要记忆各种密码或账号,用户只需要用手机前置摄像头拍摄照片上传到多核处理系统上完成注册,系统抽取人脸特征,进行处理之后注册成功。当在线下购物时,用户只要走到收银机前就可在1秒内实现人脸识别完成支付。

其实类似的脸部识别技术在全球技术研发中并不罕见,去年芬兰一家叫做Uniqul的公司已经在赫尔辛基开始了“刷脸支付”的实践应用,并按照服务覆盖面积收取不同价格的使用费用。而我国中科院的生物识别与安全技术研究中心也在研究基于人脸识别的支付方式,其实该识别技术已经于2008年北京奥运会时使用过。

8.完整源码&环境部署视频教程&自定义UI界面&操作指南&万字技术文档:

Python基于OpenCV的人脸识别自助水果店(源码&部署视频) (mianbaoduo.com)

9.完整项目的整合:

上面的模型训练好了,但对于我们来说它的作用就只是知道了其准确率还行,其实深度学习的目的最重要还是应用,是时候用上面的模型做点自定义的部分,背景图可以自己选择,避免了出现网红UI界面的情况出现(避免了搭边的时候撞衫)。可不可以用上面的模型识别下自己表达的情绪呢?不如做个系统调取摄像头对实时画面中的表情进行识别并显示识别结果,既能可视化的检测模型的实用性能,同时使得整个项目生动有趣激发自己的创造性,当你向别人介绍你的项目时也显得高大上。这里采用PyQt5进行设计,首先看一下最后的效果图,完整的项目如下:
1.png

10.参考文献

**1.[期刊论文]**基于CNN和SVM的人脸识别系统的设计与实现

期刊:《计算机与数字工程》 | 2021 年第 002 期

**摘要:**针对人脸识别在实际应用中存在姿态变化、表情、遮挡等问题,研究了结合支持向量机(SVM)分类的卷积神经网络(CNN)人脸识别算法,设计并实现了人脸识别系统.系统首先使用CNN提取人脸特征向量,再将特征向量通过SVM进行分类.测试结果表明,系统在训练样本充分时面对人脸姿态变化、表情、遮挡等情况下都具有较好的性能,识别率在95%以上,能满足一般的人脸识别需求.

**关键词:**人脸识别;卷积神经网络;支持向量机;深度学习


**2.[期刊论文]**基于Python语言的视频监控人脸识别系统的实现

期刊:《集成电路应用》 | 2021 年第 001 期

**摘要:**基于调用人脸识别接口实现鉴别功能具有使用方便和识别率高的特点,阐述百度和旷世人脸识别接口的调用方法,并使用Python语言进行了测试验证,从而取得较好的实用价值。

**关键词:**人脸识别;接口;活体检测;Python


**3.[期刊论文]**图像降噪和增强对人脸识别系统识别性能的影响

期刊:《刑事技术》 | 2021 年第 001 期

**摘要:**目的 研究图像降噪和图像增强方法 对人脸识别系统识别性能的影响,以期为人脸识别系统应用过程中的图像处理方法 选取提供理论指导和技术方案.方法 收集33起人像鉴定领域实际案例中的人脸图像素材,研究以高斯滤波和小波变换为代表的图像降噪技术以及具有边缘保持和小波变换特性的单帧图像超分辨率增强技术对人脸识别系统识别性能的影响,并对不同图像处理方法 对人脸识别性能的影响进行量化比较分析.结果 本文研究的图像降噪技术均显著提高了人脸识别系统的识别准确性,而图像增强技术虽然提高了人脸图像显示效果,但对人脸识别系统的识别性能无正向促进作用.此外,高斯模糊图像处理的图像降噪方法 虽然简单,但与本文研究的其他方法 比较,其在人脸识别系统识别性能改善方面效果最显著.结论 人脸图像质量对人脸识别系统的识别性能具有显著影响,可以通过图像处理技术改善人脸图像质量进而提高人脸识别系统的识别准确性.其中,图像降噪处理可以显著提高人脸识别系统的识别性能,且比图像增强技术更适合于实际人像鉴定应用中的人脸识别系统识别性能增强.

**关键词:**人像鉴定;人脸识别;图像降噪;图像增强;人脸识别系统


**4.[期刊论文]**RGB-D防伪人脸识别系统设计

期刊:《数字技术与应用》 | 2021 年第 002 期

**摘要:**为解决常用的基于普通可见光图像的人脸识别技术常面临的缺陷,如抵抗照片、视频等伪造人脸攻击能力较弱、在光照不理想(如弱光照、侧强光)时所成的RGB图像质量差、识别对象不配合、识别姿态不理想等,所以本项目基于此设计了RGB-D防伪人脸识别系统,该系统数据基于深度图的RGB-D人脸识别,并使用云服务器进行数据处理,可以很好的解决因光照条件不足引起的识别失败问题,具有更好的识别准确率.

**关键词:**RGB-D;防伪;人脸识别


**5.[期刊论文]**基于Java的图书馆人脸识别系统设计与实现

期刊:《科技创新与应用》 | 2021 年第 007 期

**摘要:**文章提出了一种基于彩色图像的24位面部识别方法,图像处理的主要部分在软件中占据非常重要的位置,图像质量直接影响位置确定和识别精度.通过背光补偿,高斯平滑和二进制进行判别.在判别之前,经过互补光对图像施行处置,而后通过肤色得到大致的人脸.最后,依照面部固有眼睛的对称性断定面部,提升了定位和判别精度.最终该系统应用与图书馆人脸识别,并有很好的效果

**关键词:**Java;MySQL;人脸识别系统


这篇关于Python基于OpenCV的人脸识别自助水果店(源码&部署视频)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653538

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学