位置: IT常识 - 正文

Python 人脸识别系统

编辑:rootadmin
Python 人脸识别系统 简介

推荐整理分享Python 人脸识别系统,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

人脸识别不同于人脸检测。在人脸检测中,我们只检测了人脸的位置,在人脸识别任务中,我们识别了人的身份。

本文重点介绍使用库 face_recognition 实现人脸识别,该库基于深度学习技术,并承诺使用单个训练图像的准确率超过 96%。

识别系统用例

寻找失踪者识别社交媒体上的帐户识别汽车中的驾驶员考勤系统了解人脸识别的工作原理我们将人的照片和他们的名字传递给模型。该模型拍摄每张照片,将它们转换为某种数字编码,并将它们存储在一个列表中,并将所有标签(人名)存储在另一个列表中。在预测阶段,当我们传递未知人的图片时,识别模型会将该人的图像转换为编码。在将未知人的图像转换为编码后,它会尝试根据距离参数找到最相似的编码。与未知人的编码距离最小的编码将是最接近的匹配。在获得最接近的匹配编码后,我们从该列表中获取该编码的索引并使用索引。我们找到检测到的人的名字。传统人脸识别算法

传统的人脸识别算法不符合现代人脸识别标准。它们旨在使用旧的传统算法识别面部。

OpenCV 提供了一些传统的面部识别算法。

Eigenfaces:http://www.scholarpedia.org/article/Eigenfaces尺度不变特征变换 (Scale Invariant Feature Transform,SIFT):https://en.wikipedia.org/wiki/Scale-invariant_feature_transformFisher faces:http://www.scholarpedia.org/article/Fisherfaces局部二进制模式直方图 (Local Binary Patterns Histograms,LBPH):https://en.wikipedia.org/wiki/Local_binary_patterns

这些方法在提取图像信息和匹配输入和输出图像的方式上有所不同。

LBPH 算法是一种简单但非常有效的方法,仍在使用中,但与现代算法相比速度较慢。

人脸识别深度学习

有多种基于深度学习的面部识别算法可供使用。

DeepFaceDeepID series of systemsFaceNetVGGFace

一般来说,基于地标的人脸识别器对人脸图像进行拍摄,并试图找到眉毛、嘴角、眼睛、鼻子、嘴唇等基本特征点。有60多个地标。

人脸识别涉及的步骤人脸检测:定位人脸,记下每个人脸定位的坐标,并在每个人脸周围绘制一个边界框。面部对齐。标准化人脸以获得快速训练。特征提取。从面部图片中提取局部特征进行训练,这一步由不同的算法执行不同的操作。人脸识别。将输入人脸与我们数据集中的一个或多个已知人脸进行匹配。 识别流程

使用python实现人脸识别系统。使用 face_recognition 库实现基于深度学习的人脸识别系统。

1. 设置人脸识别库:Python 人脸识别系统

为了安装人脸识别库,我们需要先安装dlib

dlib:它是一个现代 C++ 工具包,包含与机器学习相关的算法和工具。

pip install dlib

安装实际的人脸识别库face recognition。

pip install face recognition

Opencv用于一些图像预处理

pip install opencv Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .

导入库

import cv2 import numpy as np import face_recognition

2. 加载图片:

我们完成了库的安装和导入。是时候将一些示例图像加载到face_recognition库中了。

该face_recognition库仅支持 BGR 格式的图像。在打印输出图像时,我们应该使用 OpenCV 将其转换为 RGB。

Face_recognition仅加载 BGR 格式的图像。

import cv2import numpy as npimport face_recognitionimg_bgr = face_recognition.load_image_file('student_images/modi.jpg')img_rgb = cv2.cvtColor(img_bgr,cv2.COLOR_BGR2RGB)cv2.imshow('bgr', img_bgr)cv2.imshow('rgb', img_rgb)cv2.waitKey

输出→ BGR 与 RGB

3.检测和定位人脸:

face_recognition库可以自行快速定位人脸,我们不需要使用haar_cascade或其他技术。

img_modi=face_recognition.load_image_file('student_images/modi.jpg')img_modi_rgb = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)#--------- Detecting Face -------face = face_recognition.face_locations(img_modi_rgb)[0]copy = img_modi_rgb.copy()# ------ Drawing bounding boxes around Faces------------------------cv2.rectangle(copy, (face[3], face[0]),(face[1], face[2]), (255,0,255), 2)cv2.imshow('copy', copy)cv2.imshow('MODI',img_modi_rgb)cv2.waitKey(0)4. 样本图像识别:

该face_recognition库基于深度学习,它支持单次学习,这意味着它需要一张图片来训练自己检测一个人。

img_modi = face_recognition.load_image_file('student_images/modi.jpg')img_modi = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)#------to find the face locationface = face_recognition.face_locations(img_modi)[0]#--Converting image into encodingstrain_encode = face_recognition.face_encodings(img_modi)[0]#----- lets test an imagetest = face_recognition.load_image_file('student_images/modi2.jpg')test = cv2.cvtColor(test, cv2.COLOR_BGR2RGB)test_encode = face_recognition.face_encodings(test)[0]print(face_recognition.compare_faces([train_encode],test_encode))cv2.rectangle(img_modi, (face[3], face[0]),(face[1], face[2]), (255,0,255), 1)cv2.imshow('img_modi', img_modi)cv2.waitKey(0)

上面的代码拍了两张总理的照片,因为两张照片都是同一个人,所以它返回了true。

face_recognition.face_encodings(imgelon)[0]→返回传递图像的编码。face_recognition.compare_faces([train_encode],test_encode) 获取经过训练的编码列表和未知图像的测试编码。如果两个测试编码在训练编码中匹配,则返回True ;否则,它会返回False.挑战姿势:识别系统容易受到人体姿势的影响。面部识别系统将无法预测该人的面部是否不可见。照明:照明会极大地改变面部轮廓。用于人脸识别的照片应在适当的照明条件下拍摄。面部表情:不同的面部表情会导致对同一个人的图像的不同预测。低分辨率:低分辨率图片包含的信息较少,因此不适合人脸识别训练。
本文链接地址:https://www.jiuchutong.com/zhishi/300463.html 转载请保留说明!

上一篇:【前端进阶】-TypeScript高级类型 | 交叉类型、索引签名类型、映射类型(前端技巧)

下一篇:Pytorch+PyG实现MLP(pytorch map)

  • 华为Mate X2支持哪些NFC模式

    华为Mate X2支持哪些NFC模式

  • 荣耀30s支持双频WiFi的吗(荣耀30s支持双频wifi吗)

    荣耀30s支持双频WiFi的吗(荣耀30s支持双频wifi吗)

  • 苹果12如何使用面容解锁(苹果12如何使用nfc功能)

    苹果12如何使用面容解锁(苹果12如何使用nfc功能)

  • 微信系统处于通话状态怎么关闭(微信系统处于通话)

    微信系统处于通话状态怎么关闭(微信系统处于通话)

  • 淘宝购买账号是什么(淘宝购买账号是在哪里看)

    淘宝购买账号是什么(淘宝购买账号是在哪里看)

  • qq情侣空间被解除有提示吗(qq情侣空间被解绑怎么办)

    qq情侣空间被解除有提示吗(qq情侣空间被解绑怎么办)

  • 手机突然不能语音输入(手机突然不能语音识别)

    手机突然不能语音输入(手机突然不能语音识别)

  • 手机显示月牙是什么意思(手机上面显示月牙)

    手机显示月牙是什么意思(手机上面显示月牙)

  • 继电保护三误是什么(继电保护三种状态)

    继电保护三误是什么(继电保护三种状态)

  • 钉钉小窗记录观看时长吗(钉钉打开小窗可以记录时间吗)

    钉钉小窗记录观看时长吗(钉钉打开小窗可以记录时间吗)

  • 华为cdy-an00是什么型号(华为CDY-AN00是什么手机)

    华为cdy-an00是什么型号(华为CDY-AN00是什么手机)

  • 苹果ipad和air区别(apple ipad 和ipad air)

    苹果ipad和air区别(apple ipad 和ipad air)

  • 三星手机忘记密码无法关机(三星手机忘记密码怎样开锁不删除数据)

    三星手机忘记密码无法关机(三星手机忘记密码怎样开锁不删除数据)

  • 苹果手机通话记录突然不同步(苹果手机通话记录怎么没有了)

    苹果手机通话记录突然不同步(苹果手机通话记录怎么没有了)

  • 磁盘有什么用(磁盘有什么作用)

    磁盘有什么用(磁盘有什么作用)

  • 亲情卡能看到消费记录吗(亲情卡能看到消费去向吗)

    亲情卡能看到消费记录吗(亲情卡能看到消费去向吗)

  • surface pro1796是几代(surfacepro1796是几代)

    surface pro1796是几代(surfacepro1796是几代)

  • 荣耀20怎么信任软件(荣耀怎么信任应用)

    荣耀20怎么信任软件(荣耀怎么信任应用)

  • 苹果xr充电时间(苹果xr充电时间长什么情况)

    苹果xr充电时间(苹果xr充电时间长什么情况)

  • 微信对话框绿色能改吗(微信对话框绿色是什么色号)

    微信对话框绿色能改吗(微信对话框绿色是什么色号)

  • windows11怎么设置默认输入法? win11默认输入法设置中文的技巧(windows11怎么设置壁纸)

    windows11怎么设置默认输入法? win11默认输入法设置中文的技巧(windows11怎么设置壁纸)

  • 昂达主板的组装机怎么重装系统?(昂达主板的组装视频)

    昂达主板的组装机怎么重装系统?(昂达主板的组装视频)

  • vue项目实战-电商后台管理系统(vue实战开发项目视频)

    vue项目实战-电商后台管理系统(vue实战开发项目视频)

  • 织梦dedecms自定义表单添加地区联动显示数字解决方法(织梦怎么改网站主页)

    织梦dedecms自定义表单添加地区联动显示数字解决方法(织梦怎么改网站主页)

  • 农村信用社可计息贷款吗
  • 机械设备买回来怎么消毒
  • 免税行业可以开什么发票
  • etc怎么取过路费啊
  • 个税按照计提申报怎么调整
  • 已经认证的发票对方可以作废吗
  • 社保代理公司的合作协议
  • 税款差0.01是怎么用会计分录处理
  • 准则依据
  • 公司零星费用报销话术
  • 银行退回服务费怎么写分录
  • 个人交的工会经费个税
  • 个人去税务局开劳务费税率
  • 应税服务计入什么科目
  • 不动产的进项税额分两年抵扣吗?
  • 辞退福利税前扣除标准
  • 小规模纳税人的条件
  • 增值税开票金额在哪里看
  • 应交税金的明细科目
  • 购买少数股东权益的会计处理
  • 在建工程可以质押吗
  • 招待客人买的烟计入业务招待费吗
  • 企业注销时未分配利润怎么处理
  • 对方公司只能开发票吗
  • 理财认购申购
  • 华为手机屏幕碎了照片
  • 如何防止程序被关闭
  • 长期股权投资和资本公积关系
  • 财政性资金所得税
  • 长期借款的业务处理
  • 板栗怎样保存1年不坏
  • 小米mini路由器mesh
  • 交易性金融资产包括哪些项目
  • 企业通讯费管理办法
  • laravel入门与实战:构建主流php应用开发框架
  • php命名空间和自由空间
  • thinkphp框架下404页面设置 仅三步
  • 升级nodejs到最新版本
  • vue中使用原生js
  • php 微信公众号自定义菜单
  • gin框架使用案例
  • 企业向个人借款协议范本
  • 会计人员未参加继续教育
  • 汽车租赁行业税负是多少
  • 七天年化收益率2%
  • 劳务外经证预缴税款
  • 土地增值税预缴计算方法70号公告
  • 无形资产摊销账面价值
  • 利息收入如何做分录
  • 房地产企业取得政府补助
  • 劳动仲裁要出面吗
  • 酒店客人损坏物品不赔偿怎么报警
  • 固定资产一次性扣除账务处理
  • 长期待摊费用包括增值税吗
  • 一般纳税人劳务税率是多少?
  • 现汇账户和现钞账户
  • 个体工商户个税2023最新政策
  • sql server如何进行安全设置
  • centos6.10安装教程
  • MacBook怎么恢复出厂设置
  • 简述linux系统有什么显著特点
  • 这张图告诉我们什么道理
  • win7系统安装谷歌浏览器
  • 微软系统如何恢复出厂设置
  • win7如何获取管理员密码
  • opengl 投影矩阵
  • python条件语句的基本结构
  • nodejs实战
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
  • python怎么调用shell脚本
  • jquery定义方法
  • js文件保存
  • 北京税务举报投诉
  • 粮食购销企业税收服务
  • 税代扣代缴
  • 税费算管理费用还是财务费用
  • 乌市沙区医保局电话是多少
  • 要深化税收制度改革健全
  • 期房交了契税就可以拿房产证了吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设