• 通行领域。很多城市的火车站已经安装了人脸识别通行设备,进行人证对比过检,有些城市的地铁站也可以通过人脸识别的方式进行地铁进出站通行。

  • 泛娱乐领域。现在市场上火爆的美颜相机,网络直播,短视频等都是建立在人脸识别的基础上对人脸进行美颜和特效处理。

  • 公安,司法领域。公安系统在追捕逃犯时也会利用人脸识别系统对逃犯进行定位,监狱系统目前也会对服刑人员通过人脸识别系统进行报警和安防

  • 自助服务设备。如银行的自动提款机,无人超市等。

  • 考勤及会务。如工作考勤,会议出席人脸墙等。目前人脸识别市场上的巨头主要有商场,也有很多领域内巨头公司投资的小公司。

第一步:导入模块


dlib模块安装其实是比较繁琐的,要认真耐心点,可以参考:dlib安装,如果不行再看看别的教程。

import sys

import cv2

import face_recognition #dlib 人脸识别库

第二步:加载图片并数值化


测试图片为我的偶像:

在这里插入图片描述

face_img=face_recognition.load_image_file(‘1.png’)

print(face_img)

打印结果:

在这里插入图片描述

输出为三维图像矩阵,把图像转为矩阵。

第三步:获取图片中的人脸数据


提取人脸特征编码,并获取到人脸五官的位置:

face_encodings=face_recognition.face_encodings(face_img)#进行特征提取向量化,获取人脸的编码

face_locations=face_recognition.face_locations(face_img)#五官对应的位置

print(face_encodings)

图片中有几个人脸就有几个数组:

在这里插入图片描述

第四步:人数计算


这里只做判断两个人是否为一个人,超出两个就退出了

n=len(face_encodings)

print(n)

#这里只做判断两个人是否为一个人,超出两个就退出了

if n>2:

print(‘超过两个人’)

sys.exit()

打印可以分出是两个人:

在这里插入图片描述

第五步:人脸比较


#获取两个人的数据

face1=face_encodings[0]

face2=face_encodings[1]

result=face_recognition.compare_faces([face1],face2,tolerance=0.6)#人脸比较,,误差不超过0.6则可以,默认值也为0.6

print(result)

返回:

在这里插入图片描述

判断出为不是同一个人。

再稍微修改一下,让表达更清楚:

if result==[True]:

name=‘same’

print(‘两个人为同一个人’)

else:

print(‘两者不是同一个人’)

name=‘different’

返回:

在这里插入图片描述

第六步:框出人脸写上文字


获取两个人脸位置坐标:

for i in range(len(face_encodings)):

face_encoding=face_encodings[(i-1)] #倒序获取

face_location = face_locations[(i - 1)]

print(face_location)#获取人脸位置

返回:

在这里插入图片描述

元祖四个数值分别表示框人脸矩形框的四个点坐标。

获取到坐标后开始画框框并写上文字:

top,right,bottom,left=face_location#确定出坐标

#画框框

cv2.rectangle(face_img,(left,top),(right,bottom),(255,0,0))#传参分别为:图片,坐标,RGB颜色,框粗细

#写字上去

cv2.putText(face_img,name,(left-10,top-10),cv2.FONT_HERSHEY_DUPLEX,0.8,(255,255,0),2)#传参数分别为:图片,文字,坐标,字体,字体大小,颜色,粗细

第七步:显示处理好的图像


face_img_rgb=cv2.cvtColor(face_img,cv2.COLOR_BGR2RGB)#确保颜色不要混乱

#展示图像

cv2.imshow(‘compare’,face_img_rgb)

#设置等待关闭

cv2.waitKey(0)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

e862fe4e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐