• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

教你如何用Python实现人脸识别(含源代码)

python 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论
文章目录[隐藏]

工具与图书馆

  • Python-3.x
  • CV2-4.5.2
  • 矮胖-1.20.3
  • 人脸识别-1.3.0

若要安装上述软件包,请使用以下命令。

pip install numpy opencv-python

要安装FaceRecognition,首先安装dlib包。

pip install dlib

现在,使用以下命令安装面部识别模块

pip install face_recognition

下载人脸识别Python代码

请下载python面部识别项目的源代码: 人脸识别工程代码

项目数据集

我们可以使用我们自己的数据集来完成这个人脸识别项目。对于这个项目,让我们以受欢迎的美国网络系列“老友记”为数据集。该数据集包含在面部识别项目代码中,您在上一节中下载了该代码。

建立人脸识别模型的步骤

在继续之前,让我们知道什么是人脸识别和检测。

人脸识别是从照片和视频帧中识别或验证一个人的脸的过程。

人脸检测是指在图像中定位和提取人脸(位置和大小)以供人脸检测算法使用的过程。

人脸识别方法用于定位图像中唯一指定的特征。在大多数情况下,面部图片已经被移除、裁剪、缩放和转换为灰度。人脸识别包括三个步骤:人脸检测、特征提取、人脸识别。

OpenCV是一个用C++编写的开源库.它包含了用于计算机视觉任务的各种算法和深度神经网络的实现。

1.准备数据集

创建2个目录,训练和测试。从互联网上为每个演员选择一个图片,并下载到我们的“火车”目录中。确保您所选择的图像能够很好地显示人脸的特征,以便对分类器进行分类。

为了测试模型,让我们拍摄一张包含所有强制转换的图片,并将其放到我们的“test”目录中。

为了您的舒适,我们增加了培训和测试数据与项目代码。

2.模型的训练

首先导入必要的模块。

import face_recognition as fr
import cv2
 
impo<mark>来源gaodaimacom搞#^代%!码网</mark>rt numpy as np
import os

人脸识别库包含帮助人脸识别过程的各种实用程序的实现。

现在,创建2个列表来存储图像(人员)的名称及其各自的脸编码。

path = "./train/"
 
known_names = []
known_name_encodings = []
 
images = os.listdir(path)

人脸编码是一种值的矢量,它代表着脸部特征之间的重要度量,如眼睛之间的距离、额头的宽度等。

我们循环遍历火车目录中的每个图像,提取图像中的人的姓名,计算其脸编码向量,并将信息存储在相应的列表中。

for _ in images:
image = fr.load_image_file(path + _)
image_path = path + _
encoding = fr.face_encodings(image)[0]
 
known_name_encodings.append(encoding)
known_names.append(os.path.splitext(os.path.basename(image_path))[0].capitalize())

3.在测试数据集中测试模型

如前所述,我们的测试数据集只包含一个包含所有人员的图像。

使用CV2 imread()方法读取测试映像。

test_image = "./test/test.jpg"
 
image = cv2.imread(test_image)

人脸识别库提供了一种名为Face_Locations()的有用方法,它定位图像中检测到的每个人脸的坐标(左、下、右、上)。使用这些位置值,我们可以很容易地找到脸编码。

face_locations = fr.face_locations(image)
 
face_encodings = fr.face_encodings(image, face_locations)

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:教你如何用Python实现人脸识别(含源代码)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址