Python可以从图像或视频中检测和识别你的面部。
人脸检测和识别是计算机视觉领域的研究热点之一。
人脸识别的应用包括人脸解锁,安全防护等医生和医务人员利用人脸识别获取病历和病史,从而更好地诊断疾病
关于Python人脸识别
在这个python项目中,我们将建立一个从图像中识别人的机器学习模型我们在项目中使用了人脸识别API和OpenCV
跟上最新的技术趋势。
加入DataFlair的电报!
python—3 . x CV2—4 . 5 . 2 Chunky—1 . 20 . 3人脸识别—1.3.0带工具库
要安装上述软件包,请使用以下命令。
pip安装numpy opencv—python
要安装FaceRecognition,首先要安装dlib包。
pip安装dlib
现在,使用以下命令安装面部识别模块
Pipface _ recognition下载用于人脸识别的Python代码
请下载python人脸识别项目源代码:人脸识别工程代码。
项目数据集
我们可以使用自己的数据集来完成这个人脸识别项目对于这个项目,我们就拿热门美网系列朋友是一个数据集这个数据集包含在面部识别项目代码中,您在上一节中下载了该代码
建立人脸识别模型的步骤
在继续之前,让我们知道什么是人脸识别和检测。
人脸识别是从照片和视频帧中识别或验证人脸的过程。
人脸检测是指在图像中定位和提取人脸以供人脸检测算法使用的过程。
OpenCV是一个用C++编写的开源库它包含计算机视觉任务和深度神经网络实现的各种算法
1.准备数据集
为了您的舒适,我们增加了培训和测试数据和项目代码。
2.模型的训练
首先,导入必要的模块。
将face_recognition作为frimport作为npimport os导入numpy
人脸识别库包含了帮助人脸识别过程的各种实用程序的实现。
现在,创建两个列表来存储图像的名称和它们各自的面孔代码。
路径= "。/train/" known _ names = known _ name _ encodings = images = OS . listdir
人脸编码是一个值的向量,它代表了面部特征之间的重要度量,如两眼之间的距离,前额的宽度等。
我们循环遍历火车目录中的每一幅图像,提取图像中人的名字,计算他们的人脸编码向量,并将信息存储在相应的列表中。
for _ in images:image = fr . load _ image _ file image _ path = path+_ encoding = fr . face _ encodingsKnown _ name _ encodings . appendKnown _ names . append)大写())3
如前所述,我们的测试数据集只包含一个包含所有人的图像。
使用CV2 imread方法读取测试图像。
test_image = "。/test/test . jpg " image = cv2 . im read
人脸识别库提供了一个很有用的方法,叫做Face_Locations,它定位图像中每个检测到的人脸的坐标(左,下,右,上)使用这些位置值,我们可以很容易地找到人脸代码
face_locations = fr . face _ locations face _ encodings = fr . face _ encodings(image,face _ locations)
我们遍历图像中的每个人脸位置及其编码然后,我们将这个编码与火车比较数据集中的人脸代码
然后计算人脸距离,即计算测试图像编码和训练图像编码的相似度现在,我们从中选择最小距离,这意味着测试图像的人脸是训练数据集中的一个人
现在,使用CV2模块中的方法绘制一个带有面部位置坐标的矩形。
使用CV2模块的imShow方法显示图像。
cv2.imshow
使用imwrite方法将图像保存到当前工作目录。
cv2.imwrite
释放未释放的资源。
cv2 . waitkeycv 2 . destroyallwindows()
Python人脸识别输出
我们来看看模型的输出。
郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。