推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python库的人脸识别方法研究

更新时间:2019-12-22 18:11:43 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python人脸识别 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

人脸识别技术经过几十年的収展,已成为计算机视觉领域的一个研究热点。随着人脸识别算法的趋于成熟,人脸识别技术已经在公安、支付、身仹验证、美颜相机等领域得到了非常广泛的应用。本文利用Python语言的第三斱库,通过机器深度学习实现人脸识别,该斱法其有编程简協、易于实现、准确率高等优势。兲键词:人脸识别;Python语言;dlib库


部分文件列表

文件名 大小
基于Python库的人脸识别方法研究.pdf 2M

【关注B站账户领20积分】

部分页面预览

(完整内容请下载后查看)
安全模型、算法与编程  
基于 Python 库的人脸识别方法研究  
梁 晶 史记征  
(重庆安全技术职业学院 重庆 404020)  
摘要:人脸识别技术经过几十年的发展,已成为计算机视觉领域的一个研究热点。随着人脸识别算法的趋于成熟,人脸识别技术已经  
在公安、支付、身份验证、美颜相机等领域得到了非常广泛的应用。本文利用 Python 语言的第三方库,通过机器深度学习实现人脸识  
别,该方法具有编程简单、易于实现、准确率高等优势。  
关键词:人脸识别;Python 语言;dlib 库  
Python 的内置命令,pip 需要通过命令行执行。dlib 库的安装命  
令是:pip install dlib。  
0 引言  
人脸是一个人在社会交往中最重要的特征确定一个人身  
份的最重要的方法究人脸识别具有重要的理论价值和应用价  
脸识别是通过生物特征对人的身份进行辨认是计算机视  
觉领域的一个研究方向。人脸识别研究起源于 20 世纪 60 年代,  
Bledsoe Chen 最先提出。  
3.2 所需文件介绍  
本研究共涉及 4 种不同类型的文件脸关键点检测器文件  
1.dat脸识别模型文件 2.dat选人脸文件 girl1.jpggirl2.jpg、  
girl3.jpggirl4.jpggirl5.jpggirl6.jpg;需要识别的人脸图像文  
test1.jpgtest2.jpgtest3.jpgtest4.jpgPython 本文件  
girl-face-rec.py1.dat2.dat 可以从 下载获得;  
模型数据文件是用来估计人脸上 68 个特征点(x, y)的坐标位置,  
68 个坐标点的位置如图 2 所示;候选人脸文件如图 3 所示;  
需要识别的人脸图像文件如图 4 所示。  
1 人脸识别过程  
通过对一个人面部的观察可以获得很多信息,比如:性别、  
心情、年龄、健康状况等。人脸检测是一个特别复杂的过程,根  
据所选检测系统的不同使用到的检测算法理以及编程语言  
等也会相对应的不相同归纳起来大致都可以分为以下几个流  
程:  
1)人脸检测:这个流程主要完成的工作是从所给图像信  
息中检测出人脸,同时将关键点的位置范围进行反馈。  
2)人脸规范化:由于人脸在不同的图像像素和光照强度  
等问题下显像程度是不一样的以需要在上一步的基础上对此  
进行校正。  
3)人脸特征提取:完成校正后,对识别到的较清晰的人  
脸进行特征提取。  
4)人脸识别:这一步是人脸检测的最后一步,就是把前  
面提取出来的人脸特征与数据库中已有的人脸特征进行匹配进  
行人脸识别。具体识别过程如图 1 所示。  
本文所使用的 Python 第三方库 dlib 是基于深度学习进行人  
脸识别的。  
2 人脸特征坐标  
1 人脸识别过程  
2 dlib 库介绍  
3 候选人脸图像  
dlib 库一个机器学习的开源库,解决包含机器学习算法以及  
开发复杂软件的现实问题被广泛应用在工业和学术研究领域,  
包括机器人嵌入式设备动手机以及大规模高性能计算环境  
中。它的主要特点有:文档说明全、代码质量高,包含机器学习  
算法、科学计算算法、图模型推理算法、图像处理、网络编程、  
图形用户接口、数据压缩与整合算法等。  
4 待识别的人脸图像  
从图 4 可以看出test1.jpgtest2.jpg 和候选文件中的本人看  
起来有很大差别,test3.jpg 是候选人中的原图,test4.jpg 中的女  
孩微微侧脸,并且左脸有明显黑色阴影。  
3.3 识别流程  
3 利用 dlib 库实现人脸识别  
3.1 dlib 库安装  
Python 第三方库最常用的安装方式是通过 pip 命令。作为  
46‖  
安全模型、算法与编程  
基于以上分析和处理,人脸识别的相关数据已经准备完成,  
那么就可以通过编写程序完成人脸识别了中人脸识别的大致  
流程如下:  
for i in descriptors:  
dist_=numpy.linalg.norm(i-d_test)  
dist.append(dist_)  
1)在对候选人进行人脸检测、关键点提取、描述子生成  
后,把候选人描述子保存起来。  
2)然后对测试人脸进行人脸检测、关键点提取、描述子  
生成。  
3)最后求测试图像人脸描述子和候选人脸描述子之间的  
欧氏距离,距离最小者判定为同一个人。  
3.4 Python 脚本代码  
candidate=  
[‘Unknown1’, ‘Unknown2’, ‘Shishi’, ‘Unknown4’  
‘Bingbing’, ‘Feifei’]  
c_d=dict(zip(candidate,dist))  
cd_sorted=sorted(c_d.iteritems(),  
key=lambda d:d [1])print”\n The person is:  
“, cd_sorted[0][0]  
#文件名: girl-face-rec py  
dlib.hit_enter_to_continue()  
#-*-coding:UHF-8-*-  
import sys, os, dlib, glob, umpyfrom skimage  
import io  
4 运行结果分析  
分别运行如下命令:  
if len(sys. argv)!=5:  
1python girl-face-rec.py 1.dat  
print"请检查参数是否正确”  
exit()  
2.dat./candidate-faces testl.jpg  
2python girl-face-rec.py 1.dat  
predictor_path=sys.argv[1]  
2.dat./candidate-faces test2.jpg  
face_rec_model_path=sys. argv[2]  
faces_folder_path=sys. argv[3]  
img_path=sys. argv[4]  
3python girl-face-rec.py 1.dat  
2.dat./candidate-faces test3.jpg  
4python girl-face-rec.py 1.dat  
detector= dlib.get_frontal_face detector()  
sp =dlib_shape_predictor(predictor_path)  
facerec=  
dlib face_recognition_model_vl(face_rec_mo  
del_path)  
2.dat./candidate-faces test4.jpg  
通过运行结果可知:test1.jpgtest2.jpgtest3.jpg 测试结果  
完全正确。但是测试图片 test4.jpg 的输出结果显示是候选人  
girl4.jpg,识别存在一定的错误率。  
5 结语  
descriptors=[]  
for f in  
glob glob(os path. join(faces_folder_path,  
“*.jpg”)):  
利用 Python dlib 库可以实现人脸识别功能,编程简单、  
准确度高。但由于每个人脸有 68 个特征值,假如已知人脸图片  
过多,特征值库将较大式距离的计算将消耗较长时间,所以  
需要引入并行计算技术,以提高人脸识别效率。  
print(“Processing file:{}”.format(f))  
img=io.imread(f)  
dets=detector(img,1)  
print(“Number of faces detected:  
{}”.format(len(dets)))  
参考文献:  
[1]聂晶. Python 在大数据挖掘和分析中的应用优势[J].广  
西民族大学学报, 2018, 24 (1) : 76-79.  
for k, d in enumerate(dets):  
shape=sp(img,d)  
face descriptor=  
[2]严婷,欣秀,赵嘉豪,.基于 Python 的可视化数据分析  
平台设计与实现[J].计算机时代, 2017,(12) : 54-56.  
[3]邹国锋,傅桂霞,李海涛,高明亮,王科俊.多姿态人脸识别  
综述[J].模式识别与人工智能, 2015,28(07):613-625.  
[4]胡敏,程天梅,王晓华.融合全局和局部特征的人脸识别  
[J].电子测量与仪器学报, 2013,27(09):817.  
[5]Mark Summerfield .王弘博,孙传庆译.Python3 程序开  
发指南(第 2 版)[M].人民邮电出版社, 2015:427-444.  
基金项目:2018 年重庆市高等职业教育双基地建设重庆  
安全技术职业学院大数据与物联网融合实训基地项目支持。  
facerec.compute_face_descriptor(img, shape)  
v=numpy.array(face_descriptor)  
descriptors.append(v)  
img=io.imread(img_path)  
dets=detector(img, 1)  
dist=[]for k,d in enumerate(dets):  
shape=sp(img, d)  
face_descriptor=  
facerec.compute_face_descriptor(img, shape)  
d_test=numpy.array(face_descriptor)  
基于机载机器视觉的无人机自主目标跟踪研究  
常 川 1 刘科成 2  
1.武汉大学遥感信息工程学院 湖北 4300722.上海交通大学电子信息与电气工程学院 上海 200052)  
摘要:目标跟踪在军事、民用等多个领域得到了广泛的应用,通过无人机进行实时的目标跟踪是近几年研究的热点。文章研究了四旋  
翼无人机对地面动态目标实时的检测与跟踪问题,设计实现了基于机载计算机的无人机跟踪系统,使得无人机能够实时处理摄像头获  
取到的视频数据,并结合 YOLOYou Only Look Once)目标检测算法和核相关滤波(Kernerlized Correlation Filter, KCF)目标跟踪算  
法,实现了快速稳定的目标跟踪。最后在室外环境中对行人进行了跟踪实验,验证了无人机目标跟踪系统的有效性。  
关键词:无人机;YOLO 目标检测算法;KCF 目标跟踪算法;机器视觉  
47‖  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载