位置: 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)

  • 国家反诈中心app怎么举报(国家反诈中心app来电预警有什么用)

    国家反诈中心app怎么举报(国家反诈中心app来电预警有什么用)

  • 创业+故事+网:13岁开始创业,如何赚到千万(创业故事小故事)

    创业+故事+网:13岁开始创业,如何赚到千万(创业故事小故事)

  • i9300怎么刷机呀(i9000刷机教程)(i9300刷miui)

    i9300怎么刷机呀(i9000刷机教程)(i9300刷miui)

  • vivo手机怎么关闭小v(vivo手机怎么关闭5g)

    vivo手机怎么关闭小v(vivo手机怎么关闭5g)

  • 红白黄哪个是音频线(红白黄哪个是声音)

    红白黄哪个是音频线(红白黄哪个是声音)

  • surface怎么开机(微软surface怎么开机)

    surface怎么开机(微软surface怎么开机)

  • 笔记本电脑不关机就盖上盖子,这样好吗 (笔记本电脑不关机只休眠好不好)

    笔记本电脑不关机就盖上盖子,这样好吗 (笔记本电脑不关机只休眠好不好)

  • 华为手机免提声音小怎么办(华为手机免提声音突然变小)

    华为手机免提声音小怎么办(华为手机免提声音突然变小)

  • 苹果手机音量自动调节是什么原因(苹果手机音量自己自动调整咋回事)

    苹果手机音量自动调节是什么原因(苹果手机音量自己自动调整咋回事)

  • 微信解封不符合辅助要求是什么原因(微信解封20元一单联系方式)

    微信解封不符合辅助要求是什么原因(微信解封20元一单联系方式)

  • 小米8屏幕指纹版闪屏(小米8屏幕指纹版换电池)

    小米8屏幕指纹版闪屏(小米8屏幕指纹版换电池)

  • 苹果原装数据线坏了可以免费换吗(苹果原装数据线是几a的)

    苹果原装数据线坏了可以免费换吗(苹果原装数据线是几a的)

  • 华为手机屏幕返回键怎么调出来(华为手机屏幕返回键怎么设置)

    华为手机屏幕返回键怎么调出来(华为手机屏幕返回键怎么设置)

  • ipad可以开热点吗(iPad可以开热点吗)

    ipad可以开热点吗(iPad可以开热点吗)

  • 手机怎么看sd卡的内容(手机怎么看sd卡里面的东西)

    手机怎么看sd卡的内容(手机怎么看sd卡里面的东西)

  • 拼多多怎么送免拼卡(拼多多怎么送免密支付)

    拼多多怎么送免拼卡(拼多多怎么送免密支付)

  • 华为手机隐藏软件在哪里设置(华为手机隐藏软件怎么恢复)

    华为手机隐藏软件在哪里设置(华为手机隐藏软件怎么恢复)

  • airpods充电盒没电了,耳机还能连上吗(Airpods充电盒没电了 还可以连接吗)

    airpods充电盒没电了,耳机还能连上吗(Airpods充电盒没电了 还可以连接吗)

  • qq禁止安装怎么解除(手机qq被禁止安装程序在哪设置可以取消)

    qq禁止安装怎么解除(手机qq被禁止安装程序在哪设置可以取消)

  • 怎么拦截骚扰彩信(拦截彩信app)

    怎么拦截骚扰彩信(拦截彩信app)

  • 三星投屏快进设置方法(三星投屏如何快进)

    三星投屏快进设置方法(三星投屏如何快进)

  • 海浪冲击着悉尼海岸的一个心形岩石岛,澳大利亚 (© Kristian Bell/Getty Images)(海浪冲击着海岸)

    海浪冲击着悉尼海岸的一个心形岩石岛,澳大利亚 (© Kristian Bell/Getty Images)(海浪冲击着海岸)

  • js构造继承有什么优点(js继承方式及其优缺点)

    js构造继承有什么优点(js继承方式及其优缺点)

  • 职工享受工伤津贴的条件
  • 汇算清缴期间费用填表说明
  • 工业总产值收入法
  • 政府补助收入要交印花税吗
  • 内部交易和内部往来是什么意思
  • 小规模收的专票怎么做账
  • 小规模可以开红网吗
  • 水费征税
  • 发票查询校验码看不清怎么办
  • 自然灾害造成的房屋损失怎么处理
  • 中介行业风险
  • 劳务工和临时工
  • 交易性金融资产借贷方向
  • 政府补助款提现流程
  • 股东变动及股东情况章节
  • 经营成本计算公式财务管理
  • 增值税要转到营业税金及附加吗
  • 完税凭证丢失如何补办
  • 已抵扣的进项税额怎么转出
  • 企业工资和社保缴费基数
  • 简易计税项目取得的进项发票可以抵扣别的项目吗
  • 标准误和标准差的区别和联系
  • 怎么查银行账户余额
  • 企业所得税季报人数怎么填
  • 企业年金基金投资管理人应当履行什么职责
  • 让别公司开发票,不打款公账,可以不
  • google搜索打不开怎么办
  • 收到发票怎么入库
  • 其他应付款余额在借方表示什么意思
  • 微软 Windows x64 仿真正式推出,只支持 Win11 ARM
  • 税收保全措施的期限一般不超过几个月
  • 巴拉诺维奇市
  • php图片库
  • 会计政策变更累计数
  • html5新增的标签元素有哪些
  • 深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)
  • 月底结转汇兑损益
  • php绘图库
  • gcm文件
  • 代付代缴社保会计分录
  • 自建自用 房产税
  • 报关单在哪里打出来
  • 运输发票必须附票吗
  • 参展费可以抵扣吗
  • css中字符间距怎么设置
  • 小规模增值税纳税人税率
  • 一般纳税人企业要交哪些税
  • 营业执照变更法人需要本人去吗
  • 收政府的慰问金合法吗
  • 印花税如何申请退税
  • 代销手续费如何交增值税m
  • 关税进口增值税缴纳时间
  • 借款合同需要交印花税吗
  • 收到客户回款 应收账款减少还是增多
  • 金蝶软件版本号有哪些
  • 联营公司是关联方吗
  • 超市会计怎么做会计分录
  • sqlserver多表查询 索引
  • win8怎么运行
  • 正版vista一键升级win7
  • ubuntu 18.04怎么用
  • 重装win7系统后鼠标键盘不能用
  • win7系统的虚拟内存在哪里
  • win7网上邻居怎么共享文件数据
  • win7右键设置方法
  • Android游戏开发教程
  • linux定时任务怎么立刻生效
  • js indexof undefined
  • 怎样设置安卓等比例显示按钮
  • linux运行nginx
  • js工具类库
  • jquery点击按钮修改表格数据
  • Android之Broadcast与BroadcastReceiver
  • 国家税务总局咨询热线电话
  • 开采砂石
  • 国家税务局网上江苏电子税务局官网
  • 环保税新政策
  • 所得税调增调减搞不清
  • 煤炭资源税税率选煤税率多少黑龙江
  • 北京地税app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设