《人工智能技术应用(第三版)》课件 第3章 让机器认识你_第1页
《人工智能技术应用(第三版)》课件 第3章 让机器认识你_第2页
《人工智能技术应用(第三版)》课件 第3章 让机器认识你_第3页
《人工智能技术应用(第三版)》课件 第3章 让机器认识你_第4页
《人工智能技术应用(第三版)》课件 第3章 让机器认识你_第5页
已阅读5页,还剩58页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章让机器认识你3.1人脸识别《人工智能技术应用》(第3版)目录01|场景导入02|知识小百科03|AI实验室04|分享评价场景导入:刷脸时代想象一下:走进公司大门,脸部数据被记录,整座大楼每一扇门为你自动打开。自动贩卖机前,抬脸看摄像头即可完成支付。刷脸登机、刷脸吃饭、刷脸支付、新生刷脸报到人脸识别已成为生活中被普遍应用的技术。基于人脸的情绪分析也应用到教育、消费品行业。活动目标了解人脸识别的技术原理及应用领域掌握如何进行人脸检测以及图像采集掌握如何提取人脸特征进行训练人脸模型搭建一套完整的人脸识别系统人脸识别技术实际上是人工智能技术应用最多、最广泛的图像识别的分支。那么,到底人脸识别应用了哪些人工智能技术呢?接下来,让我们一起去探究!人脸识别应用场景人脸识别概述这两年,随着科技的迅速发展,人脸识别已经逐渐成为了计算机视觉和新时期生物识别技术应用的重要领域。该技术在金融、社保、零售、安防等领域表现活跃,成为人工智能技术领域的明星。人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。与人的指纹和虹膜等特征类似,每个人都有唯一的一张脸,因此人脸就可以像身份证一样用来识别人们的身份。用相机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。人脸识别人脸识别发展人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年代后期。随着互联网、大数据以及深度学习等技术的不断提高,人脸识别技术也同样得到一个质的飞跃。目前在全球范围内,从事人脸识别技术的企业很多,国外知名的有google、facebook、斯坦福、卡耐比等;国内这些年也涌现了很多实力派,如海康威视、科大讯飞、旷视科技,商汤科技、阿里、百度等,我国的人脸识别技术正处于百花齐放的“井喷期”,应用场景十分广泛。无人售货机、商场、超市的刷脸支付;

手机、计算机、门禁系统的刷脸登录;

个人身份、护照、驾驶证等身份识别;

公安系统对嫌疑犯的人脸追踪等等;人脸识别技术原理一个完整的人脸识别系统包含四个主要部分,即人脸检测(FaceDetection)、人脸配准(FaceAlignment)、人脸特征提取(FaceFeatureExtraction)、人脸识别(FaceRecognition)。具体流程操作:

(1)人脸检测是在图像中找到人脸的位置;

(2)人脸配准是在人脸上找到眼睛、鼻子、嘴巴等面部器官的位置;

(3)人脸特征提取是将人脸图像信息抽象为字符串信息;

(4)人脸识别是将目标人脸图像与人脸训练模型库进行人脸比对计算相似度,根据输出结果确认人脸对应身份。

人脸识别原理框图人脸检测人脸检测是检测出图像中人脸所在位置的一项技术。首先通过摄像头捕获一张图片(或者视频流中的一帧图像)作为输入,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的人脸坐标框为一个正朝上的正方形,但也有一些人脸检测技术输出的是正朝上的矩形,或者是带旋转方向的矩形。常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此,人脸检测算法的计算速度会跟图像尺寸、图像内容有关。在应用开发过程中,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、或“人脸数量上限”的方式来加速算法。人脸配准人脸配准是根据输入的人脸图像,自动定位出人脸上五官关键点坐标的一项技术。自动定位五官关键点坐标。输入:人脸图片+坐标框输出:关键点坐标序列(5点/68点/90点)应用:自动人脸识别、表情识别、人脸动画合成流程:特征点定位->仿射变换矫正->送入识别网络⚠不矫正则非正面识别准确率低当前效果的较好的一些人脸配准技术,基本通过深度学习框架实现,这些方法都是基于人脸检测的坐标框,按某种事先设定规则将人脸区域抠取出来,缩放的固定尺寸,然后进行关键点位置的计算。因此,若不计入图像缩放过程的耗时,人脸配准算法是可以计算量固定的过程。人脸配准人脸特征提取人脸特征提取是将一张人脸图像转化为一串固定长度的数值的过程。这个数值串被称为“人脸特征(FaceFeature)”,具有表征这个人脸特点的能力。人脸提特征过程的输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。人脸提特征算法会根据人脸五官关键点坐标将人脸对齐预定模式,然后计算特征。近几年来,深度学习方法基本统治了人脸特征提取算法,这些算法都是固定时长的算法。早前的人脸提特征模型都较大,速度慢,仅使用于后台服务。但最新的一些研究,可以在基本保证算法效果的前提下,将模型大小和运算速度优化到移动端可用的状态。

人脸特征提取人脸验证人脸识别是一种识别出输入人脸图对应身份的算法技术。输入一张人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。

人脸识别过程人脸识别系统的其他功能除了以上四个过程,人脸识别系统还包含人脸搜索、人脸属性识别、人脸比对、人脸验证、人脸活体检测等功能。(1)人脸搜索

人脸搜索是通过将输入的人脸和一个集合中已有的人脸进行比对,根据比对后的相似度对集合中的人脸进行排序,根据相似度从高到低排序的人脸序列即使人脸搜索的结果。(2)人脸属性识别

人脸属性识别技术是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术。输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的属性值。(3)人脸比对

人脸比对是衡量两张人脸之间相似度的算法技术。输入是两个人脸特征,输出是两个特征之间的相似度。人脸识别系统的其他功能(4)人脸活体检测人脸活体检测是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的一项技术。这项技术融合人工智能深度学习算法,它让计算机更加智能化,如银行系统人脸识别过程中,会提示用户“眨眨眼”或“点点头”。人体活体检测不仅用到了各种反欺骗算法,还用到了—系列硬件设备,用于实现如静默活体检测、红外活体检测、获取生物信号(心率等)、光流场可视化、语音指令配合等功能。-人脸识别系统涵盖了机器学习、图像视频处理等多学科知识,以上只对人脸识别技术做了简要介绍,让初学者有个大概的认识。

OpenCV库从整体上来讲,级联分类器是一个多层次的结构,就是一个退化的决策树。让待检测的人脸图像按照一定的次序经过多个简单分类器,如果检测到人脸,就会通过检测,否则会跳出。人脸级联分级器示意图OpenCV安装Opencv库不仅可以处理图像,还可以处理视频流,功能十分强大。本书采用的Opencv库版本是Opencv-python-4.9.0.80,用户首先要通过pip安装Opencv库,其安装方法如下。(1)找到Opencv库安装包,在Opencv库安装包所在文件夹的路径栏输入“cmd”,按回车键进入命令提示符窗口。OpenCV安装(2)在命令提示符窗口中,输入本地安装命令:pipinstallopencv_python-4.9.0.80-cp37-abi3-win_amd64.whl(3)安装成功界面,如图所示。OpenCV安装OpenCV库虽然自带人脸检测级联分级器,但不含人脸识别器face.LBPHFaceRecognizer_create,它属于OpenCV拓展库opencv-contrib的一部分,需要单独安装。安装命令如下。在线安装:pipinstallopencv-contrib-python本地安装:pipinstallopencv_contrib_python-4.9.0.80-cp37-abi3-in_amd64.whlOpenCV安装示例3-1:使用OpenCV库读取、显示和保存图像。导入OpenCV库importcv2读取图像(以灰度方式读取图像)img=cv2.imread('./cat.png',cv2.IMREAD_GRAYSCALE)显示图像cv2.imshow('image',img)保持画面持续,0表示无限持续cv2.waitKey(0)保存图像cv2.imwrite('cat_1.png',img)运行结果Pillow库本书采用的Pillow库版本是Pillow-10.3.0,本地安装命令:pipinstallpillow-10.3.0-cp311-cp311-win_amd64.whl这是一张关于使用PythonPillow库进行图像基础操作的教程截图,让我来帮你提取其中的文字内容:示例:使用Pillow库打开、显示和保存图像。Image模块是PIL中常用的模块,包含对图像进行基础操作的功能。Pillow库导入Pillow库fromPILimportImage打开一幅图像PILImage=Image.open("./cat.png")输出图像信息print(PILImage.format,PILImage.size,PILImage.mode)显示图像PILImage.show()保存图像PILImage.save('./cat_2.png')NumPy库NumPy(numericalPython)库是Python的一个扩展程序库,支持大量的维度数组与矩阵运算,也针对数组运算提供大量的数学函数库。在后面的任务实现中,需要对图像数组进行处理,这就需要用到NumPy库。本书采用的NumPy库版本是numpy-1.26.3,安装命令:pipinstallnumpy-1.26.3-cp311-cp311-win_amd64.whlNumPy库示例:使用NumPy库创建数组。导入NumPy库importnumpyasnp创建一维数组a=np.array([1,2,3])输出数组aprint(a)创建二维数组b=np.array([[1,2,3],[4,5,6],[7,8,9]])输出数组bprint(b)运行结果:[123][[123][456][789]]任务发布与任务环境导入OpenCV库importcv2加载检测人脸分类器faceClassifier=cv2.CascadeClassifier(r'./cv2data/haarcascade_frontalface_default.xml')开启摄像头(注:0代表笔记本电脑内置摄像头,1代表USB外接摄像头)cap=cv2.VideoCapture(0)捕获视频帧(注:read()

函数返回两个值:布尔值和视频帧)whileTrue:ret,img=cap.read()导入OpenCV库图像灰度化gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)检测人脸faceRects=faceClassifier.detectMultiScale(gray,1.3,5)在人脸处画矩形框for(x,y,w,h)infaceRects:img=cv2.rectangle(img,(x,y),(x+h,y+w),(0,255,0),2)显示图像cv2.imshow(camera,img)保持画面持续key=cv2.waitKey(1)按空格键保存,保存路径为当前目录ifkey==ord(""):cv2.imwrite("./image.jpg",img)按Esc退出导入OpenCV库ifkey==27:break关闭摄像头cap.release()关闭所有窗口cv2.destroyAllWindows()运行结果:要想实现检测人的眼睛功能要想实现检测人的眼睛功能,只需要在检测人脸代码的基础上添加识别眼睛的分类器,代码分析如下:输入用户用户名字imgsrc=imgsrc.astype(float)

imgsrc=imgsrc*alpha+bias

imgsrc[imgsrc<0]=0

imgsrc[imgsrc>255]=255

imgsrc=imgsrc.astype(np.uint8)returnimgsrc输入用户用户名字(英文名或中文名拼音)和用户ID(从0开始,依次递增)name=input('Pleaseinputyourname:')face_id=input('Pleaseinputfaceid:')GetFace(name,face_id)#输入用户用户名字#输入用户用户名字3)运行结果当用户输入名字和ID,按下回车键后,只要用户正对着摄像头计算机会自动采集人脸图像,直到采集到100张有效照片后自动退出,照片默认保存在根目录下的Facedata文件夹。如下所示:Pleaseinputyourname:yinPleaseinputfaceid:0It'sprocessing1image.It'sprocessing2image.It'sprocessing3image.......

训练人脸模型

实现人脸识别训练人脸模型3)运行结果如图所示:cv2.putText(img,str(idnum),(x+5,y-5),font,1,(0,0,255),1)cv2.putText(img,str(confidence),(x+5,y+h-5),font,1,(0,0,0),1在图像上实时显示用户名和可信度分享时刻(一)分享时刻1.谈谈你对人脸识别系统框架的理解以及在任务实现过程中遇到的问题。2.想一想人脸识别技术还可以用在哪些领域?3.查询资料,说说目前国内有哪些人脸识别技术公司?他们应用领域是什么?4.为什么带口罩后就无法使用手机的人脸解锁功能?评价环节

评价方式评价环节评价内容评价结果自我评价与相互评价场景导入人脸识别☆☆☆☆☆知识小百科人脸识别概述☆☆☆☆☆人脸识别技术原理☆☆☆☆☆人脸识别常用的第三方库☆☆☆☆☆AI实验室实现人脸和眼睛的检测☆☆☆☆☆实现人脸图像的采集☆☆☆☆☆提取人脸特征,训练人脸数据集模型☆☆☆☆☆实现人脸识别☆☆☆☆☆分享评价人脸识别技术的理解☆☆☆☆☆人脸识别其它场景的应用☆☆☆☆☆致

谢第3章让机器认识你3.2包裹分拣《人工智能技术应用》(第3版)目录01|场景导入02|知识小百科03|AI实验室04|分享评价场景导入现代自动仓储,高耸入云,无数个物流小机器人从早到晚忙碌不休,“他们”会整齐地排成一列列,接受控制中心的智能调度,把可移动货架送到指定的位置。这里每件货物都拥有独一无二的身份识别证明,能够迅速接受识别、检验和调配,实现仓储设施与货物的实时跟踪、网络化管理以及库存信息的高度共享。从订单生成,到打包出库,一切流畅而从容。活动目标:

了解条形码和二维码的基础知识

学习如何生成、解析二维码

利用二维码技术实现包裹分拣条形码要认识二维码,首先要从一维码说起,一维码也就是条形码。相对于二维码,条形码其实更早地进入了人们的视野范围。条形码最早应用在工业管理领域,绿箭香口胶是第一个打上条形码的商品。中国则在1991年加入国际商品编码协会,在1992年开发第一套POS信息条形码采集系统,这标志着我国具备使用条形码的基础条件,而后随着大超市在我国的布局,条形码便进入了国人的日常生活中。常见考试应用条形码商品条形码条形码编码如图所示,条形码是由一组规则排列的条、空及其对应字符组成的,不同粗细的“条”、“空”组合,便构成了不同的数字编码。图示条形码表达的是数字6920152461020,而这一组数字代表了该商品的编码,包含了产地国、生产商、产品编码等信息。计算机通过条形码扫描仪对这些粗细不均的黑白条识别,从而进行定位商品。条形码典型应用领域:零售业图书馆仓储管理与物流跟踪质量跟踪管理数据自动录入(二维条形码)二维码二维码(QR码)是一种特殊类型的条形码,相比于一维条码的基础上扩展出的另一维具有可读性的条码,在两个维度都携带了信息,比条形码能存储更多的数据和信息。QR码(QuickResponseCode,也称快速响应矩阵码),是最常见的一种二维码,于1994年由日本DENSOWAVE公司发明。QR码是矩阵式二维码,它是在一个矩形空间内,常见的是黑白两色。通过黑、白像素在矩阵中的不同分布,来进行编码的。二维码纠错另外即使没有识别到全部的条码或条码有污损时也可以正确地还原条码上的信息。因此,二维码还有纠错能力和校正能力等。相比于一维条形码,二维码是采用纵横向编码的,储存的信息量就大很多。二维码除了常见的QR码,还可以用其他码制进行编码。前面说到了它的纠错能力和校正能力以及加密功能,都是二维码的优势。从一维码过渡到二维码,在未来甚至会出现更好的新产品,但是目前二维码给我们工作生活带来的方便快捷,是毋庸置疑的。我们知道,电脑使用二进制(0和1)数来贮存和处理数据,而在二维码中,用黑白矩形表示二进制数据——我们肉眼能看到的黑色表示的是二进制“1”,白色表示二进制的“0”,黑白的排列组合确定了矩阵式二维条码的内容,以便于计算机对二维码符号进行编码和分析。所有的二维码都不一样,不过每个二维码都有一个共同点:在它的三个角落有三个回字形方块,这三个是帮助解码软件定位的图案,用户扫描时不需要对准二维码,无论以任何角度,数据仍然可以正确被读取。QRcode库PyZBar库实例:二维码的生成实例:二维码的生成二维码信息实例:二维码的解码任务发布与任务环境实现本任务所需的第三方Python库有:QRcode库、Pyzbar库、Pillow库和Serial库。任务实施2、实现包裹分拣定义捕获图像函数defcamera():print('请把二维码放置摄像头正下方.')print('开始捕获图像,按空格键确认拍照,ESC键退出...’)cap=cv2.VideoCapture(1)#0:笔记本内置摄像头1:USB摄像头width=640height=480

cap.set(cv2.CAP_PROP_FRAME_WIDTH,width)

cap.set(cv2.CAP_PROP_FRAME_HEIGHT,height)whileTrue:success,frame=cap.read()#读取图片image=frame.copy()#gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#转为灰度图像定义捕获图像函数#实时显示二维码

img=decodeDisplay(frame)cv2.imshow('camera',img)#保持画面持续key=cv2.waitKey(1)#空格键保存ifkey==ord(""):cv2.imwrite("./image/image.png",image)#Esc退出ifkey==27:break

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论