用 OpenCV 和 Face-Recog 进行实时人脸识别

image
嘿,这是我要在网上写的第一篇文章,正如你看到的标题,是关于人脸识别的,现在让我们开始吧。

你可以从 这里 查看我 Github 存储库中的代码。

导入

来,让我们导入 OpenCV (你可以从这里安装它)和 numpy 以及此代码中最重要的 face_recognition


import face_recognition
import cv2
import numpy as np

访问网络摄像头并加载示例图像

我们可以利用 openCV 的 VideoCapture(0)来 使用网络摄像头,然后加载你的图像或其他你想识别的图像,你可以使用 face_recog lib 对其进行编码。

获取对网络摄像头 #0 的引用(默认)

video_capture = CV2。视频捕捉( O )

加载示例图片并学习对其进行识别

pavan_image = face_recognition。load_image_file ( "Pavan-1.jpg" )
pavan_face_encoding = face_recognition。face_encodings ( pavan_image )[ 0 ]

加载第二张示例图片并对其进行识别

obama_image = face_recognition.load_image_file(“obama.jpg” )
obama_face_encoding = face_recognition。face_encodings ( obama_image )[ O ]

为现存编码创建一个数组

如标题一样,创建一个数组(有时很简单)并初始化几个变量。

为现存编码创建一个数组并命名

known_face_encodings = [
obama_face_encoding,
pavan_face_encoding
]
known_face_names = [
"Barack Obama",
"Pavan Kunchala"
]
# Initialize some variables
face_locations = []
face_encodings = []
face_names = []
process_this_frame = True

读取、调整大小并进行处理

趁着 True 读取帧的时间,调整它的大小(这样它可以实时工作)并进行实时处理,以便我们可以比较人脸编码。我使用了最小距离公式,以便我们可以轻松地比较人脸,当然还有比这更好的方法,你可以尝试一下。


image
嗯,这就是最终结果(至少现在是)

PS: 我知道我的内容还有很多需要改进的地方,主要是代码问题,我会尽快更新它们。各位可以将建议发送到我的 电子邮件 (可以是建议或者感兴趣的主题),如果你想继续谈论这个主题或任何ML或计算机视觉主题,请在我的LinkedIn上( 在这里 )留言。

我同时也在寻找深度学习和计算机视觉领域的 自由职业机会 ,如有合作意向,请给我发邮件(pavankunchalapk@gmail.com

愿你度过美好的一天

作者 Pavan Kunchala
原文链接 https://medium.com/analytics-vidhya/real-time-face-recognition-using-opencv-face-recog-507d355e0018

推荐阅读
作者信息
AgoraTechnicalTeam
TA 暂未填写个人简介
文章
131
相关专栏
精选文章
82 文章
本专栏仅用于分享音视频相关的技术文章,与其他开发者和 Agora 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。