时间:2021-05-23
0.引言
利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的;
可以自动从摄像头中抠取人脸图片存储到本地,然后提取构建预设人脸特征;
根据抠取的 / 已有的同一个人多张人脸图片提取128D特征值,然后计算该人的128D特征均值;
然后和摄像头中实时获取到的人脸提取出的特征值,计算欧氏距离,判定是否为同一张人脸;
人脸识别 / face recognition的说明:
wikipedia 关于人脸识别系统 / face recognition system 的描述:theywork by comparing selected facial featuresfrom given image with faces within a database.
本项目中就是比较 预设的人脸的特征和 摄像头实时获取到的人脸的特征;
核心就是提取128D人脸特征,然后计算摄像头人脸特征和预设的特征脸的欧式距离,进行比对;
效果如下(摄像头认出来我是default_person预设的人脸 / 另一个人不是预设人脸显示diff):
图1 摄像头人脸识别效果gif
1.总体流程
先说下 人脸检测 (face detection) 和 人脸识别 (face recognition) ,前者是达到检测出场景中人脸的目的就可以了,而后者不仅需要检测出人脸,还要和已有人脸数据进行比对,识别出是否在数据库中,或者进行身份标注之类处理,人脸检测和人脸识别两者有时候可能会被理解混淆;
我的之前一些项目都是用dlib做人脸检测这块,这个项目想要实现的功能是人脸识别功能,借助的是 dlib官网中 face_recognition.py这个例程 (link:http://dlib.net/face_recognition.py.html);
核心在于 利用 “dlib_face_recognition_resnet_model_v1.dat” 这个model,提取人脸图像的128D特征,然后比对不同人脸图片的128D特征,设定阈值计算欧氏距离来判断是否为同一张脸;
# face recognition model, the object maps human faces into 128D vectorsfacerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat") shape = predictor(img, dets[0])face_descriptor = facerec.compute_face_descriptor(img, shape)图2 总体设计流程
2.源码介绍
主要有
这三个py文件;
2.1get_face_from_camera.py / 采集构建XXX人脸数据
人脸识别需要将 提取到的图像数据 和已有图像数据进行比对分析,所以这个py文件实现的功能就是采集构建XXX的人脸数据;
程序会生成一个窗口,显示调用的摄像头实时获取的图像(关于摄像头的调用方式可以参考我的另一博客https:///coneypo/Dlib_face_recognition_from_camera
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python3利用Dlib19.7实现摄像头人脸检测特征点标定0.引言利用python开发,借助Dlib库捕获摄像头中的人脸,进行实时特征点标定;图1工程效果示
利用Python+opencv实现从摄像头捕获图像,识别其中的人眼/人脸,并打上马赛克。系统环境:Windows7+Python3.6.3+opencv3.4.
tof3d立体摄像头能够实现3D人脸识别功能。 tof3d立体摄像头是利用ToF测量原理来确定摄像头与物体或周围环境之间距离,并通过测量的点生成深度图像或3D
本文实例为大家分享了python3实现人脸识别的具体代码,供大家参考,具体内容如下第一种:importcv2importnumpyasnpfilename='t
ipad目前还是不支持人脸识别解锁。 在苹果系列中,只有苹果5s或以上版本才支持人脸识别。苹果人脸识别的原理:苹果低门槛识别技术在前置摄像头捕获图像的情况下,