版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第28课人脸识别第六单元AI项目工坊义务教育信息科技课程资源
人工智能
第28课学习目标1理解人脸识别的基本原理和实现流程。学习目标能够设计一个简单的人脸识别系统。23能够编程实现设计的人脸识别系统。问题情境同学们每天上学进校门时,要刷卡或者登记才能进入。现在,学校打算升级门禁系统,使用更方便快捷的人脸识别技术。只要在摄像头前一站,系统就能自动识别出身份,判断是否可以通行。AI第28课课堂导入刷脸门禁手机解锁无接触支付......在生活中,你知道的人脸识别技术的应用场景有哪些?你知道这些应用是如何实现的吗?问题情境第28课课堂导入第28课学习内容一
人脸识别过程三
训练模型二
准备数据四
调用模型识别人脸学习活动一、人脸识别过程第28课学习内容你是如何通过人脸识别其他人呢?你在什么情况下会记住一个人的脸?哪些特征让你印象深刻?一、人脸识别过程第28课学习内容遇见一个不认识的人或者看到一张陌生人的照片时,会不自觉地观察对方的脸、眼睛、鼻子、嘴巴……这是在收集那个人的面部特征。再次遇到或看到照片时,尽管场景、服饰等可能发生了变化,但人的大脑还是会立刻认出这个人来。一、人脸识别过程第28课学习内容这就是人通过人脸识别他人的过程,具体可以分为三步:1.观察某人的面部,获取相关的特征信息;2.根据这些信息在头脑中建立相应的模型;3.根据建立的模型,识别出特定的人。机器进行人脸识别时,过程也与此相同。第28课学习内容若要提取某人的面部特征,需要先把这个人的面部找出来。这个任务对人类来说很简单,但对计算机来说较为困难。当然,可以人工从照片中选取人脸区域,不过如果照片数量较多,那么采用人工方式来完成显然就不合适了。实际上可以使用一些编程工具来辅助完成,如专门用于处理计算机视觉问题的OpenCV库。这个库提供了一个现成的模型,可以把照片中的人脸单独选取出来。二、准备数据二、准备数据第28课学习内容1.要像拍证件照那样让人脸清晰居中,避免美颜滤镜。2.背景尽量干净、单调,避免复杂花纹和装饰物,减少干扰。3.如果程序无法从某些照片中自动选取人脸,可考虑删除这些照片。采集照片时应遵守的原则二、准备数据第28课学习内容1.把模型文件haarcascade_frontalface_default.xml保存到程序所在的文件夹中。这个文件通常在OpenCV的安装文件夹里。2.建立名为“pics”的文件夹,将每个人的单人照片分别存入不同子文件夹中,如p01、p02、p03、p04。每人最好准备多张照片,人的面部要正对镜头,背景越淡越好。通常符合要求的照片数量越多,收集到的数据越丰富,训练出来的模型质量就会越高。第27课学习内容大家可以根据实际情况修改图像文件夹的路径和人物标签。#引入编程模块,OpenCV对应cv2模块importos,cv2#选取面部的函数,参数imgfile为图像文件defdetect_face(classifier,imgfile):img=cv2.imread(imgfile,cv2.IMREAD_GRAYSCALE)faces=classifier.detectMultiScale(img)x,y,w,h=faces[0]returnimg[y:y+h,x:x+w]data_dir='../data/faces'#faces用来存放面部数据,labels用来做标记,区分是哪个人faces,labels=[],[]#加载选取图像中人脸的模型classifier=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#把人脸和标签对应起来,p01表示第一个子文件夹forp,minzip(['p01','p02','p03','p04'],[0,1,2,3]):forimg_fileinos.listdir(f'{data_dir}/{p}'):face=detect_face(classifier,f'{data_dir}/{p}/{img_file}’)faces.append(face);labels.append(m)#展示选取的人脸forfaceinfaces:cv2.imshow("image",face)
#显示1000毫秒,即1秒后自动关闭cv2.waitKey(1000)cv2.destroyAllWindows()二、准备数据3.根据前面所学,理解配套资源中的step1.py程序。二、准备数据第28课学习内容4.运行程序选取照片中的人脸,相关的数据会保存到列表变量faces中。二、准备数据第28课学习内容在检测、识别的过程中,通常需要将图像转换成灰度图的形式。这样做可以避免颜色干扰,同时抓住重点,脸上的皱纹、五官位置等关键特征在黑白对比下更明显。虽然彩色照片色彩丰富,但机器进行人脸识别时,使用黑白照反而更高效。原始图像可能大小不一,为了提高训练质量,可以考虑通过以下代码将图像中的人脸区域转换成相同大小:cv2.resize(img[y:y+h,x:x+w],(128,128))第28课学习内容三、训练模型1.参考配套资源中的step2.py程序,编写训练人脸识别模型的函数。2.在主程序适当位置插入调用函数的代码,完成训练程序的编写工作。3.运行程序,待图像展示完毕,文件夹中会出现名为face_mod.xml的文件,这个文件就是训练得到的模型。#训练人脸识别模型defgen_recognizer(faces,labels):#调用OpenCV提供的人脸识别训练器
recognizer=cv2.face.LBPHFaceRecognizer_create()#利用面部数据和标记,训练模型
recognizer.train(faces,np.array(labels))recognizer.save('face_mod.xml')#放到主程序的合适位置gen_recognizer(faces,labels)第28课学习内容三、训练模型计算机通过学习多张人脸图像及其对应的身份标签,建立起人脸特征与身份之间的对应关系,并将这些信息保存在模型文件中。这个模型就像是一个“数字大脑”,在后续的人脸识别任务中可以用来判断新输入的人脸属于哪一个人。训练模型就是让计算机记住这些人的脸。第28课学习内容四、调用模型识别人脸对照片进行人脸识别,其实包括两个步骤:1.找出照片中的人脸区域;2.利用模型对人脸进行识别。整体流程:读取图像→选取人脸区域→调用模型进行识别→显示结果第28课学习内容四、调用模型识别人脸#importos,cv2names=['yingzi','xiaoxue','hehe',mengmeng']#不同标记对应的不同人员#加载已有模型,用于找出人脸区域classifier=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')recognizer=cv2.face.LBPHFaceRecognizer_create()#加载生成的模型,用于识别人脸recognizer.read('face_mod.xml')font=cv2.FONT_HERSHEY_PLAINforfileinos.listdir('pics/test'):#读取图像文件img=cv2.imread(f'pics/test/{file}')gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转化为灰度图faces=classifier.detectMultiScale(gray_img)x,y,w,h=faces[0]#选取人脸数据face_data=gray_img[y:y+h,x:x+w]#获取标记和相关数据mark,confidence=recognizer.predict(face_data)#根据获取的标记,得到照片对应的人员名字name=names[mark]cv2.putText(img,name,(50,50),font,2,(255,0,255),2)cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()1.准备一些用来进行识别的照片,并把这些照片杂乱地放在一个文件夹中,如pics的test子文件夹。2.参考配套资源中的step3.py程序,编程调用模型进行人脸识别。第28课学习内容四、调用模型识别人脸3.运行程序观察识别效果。可以看到,训练得到的模型将待测照片中的人都识别出来了。如果遇到不认识的人,模型是如何怎么处理的?该如何进行改进?第28课课堂总结1.人脸识别过程主要有三个步骤:收集特征、建立模型、识别身份。2.开发人脸识别系统过程中,主要使用了自动选取人脸、模型和调用模型进行人脸识别的程序。第28课拓展与提升近年来,儿童
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- WBC、CRP、PCT化验指标解读及临床意义
- 医院消毒供应医师2026年二季度器械消杀管控总结
- 2026秋一升二部编版语文暑假衔接讲义|字词阅读写话(含答案)
- 2026年秋季小学开学第一课 开学适应与心理疏导主题班会
- 2026年北师大版小学六年级数学上册课时《分数的运算总结》教案
- 2026年保温材料行业市场竞争格局分析
- 工地建材砂石供货合同 建材购销可修改模板
- 阑尾炎切除术护理查房
- 辅警行测提分秘籍:60个纯技巧+刷题训练双攻略
- abs使用顾比交易技巧和风险控制
- 2026年全国保密教育线上培训考试试题库及参考答案【完整版】
- 2026福建漳州闽投华阳发电有限公司招聘43人笔试参考题库及答案详解
- GB/T 47655-2026电力电子装备和系统的构网性能要求及试验方法
- GA/T 1466.1-2026智能手机型移动警务终端第1部分:技术要求
- 中信建投:未来产业投资地图系列之“可控核聚变”
- 检验科生物安全培训内容及记录
- 2025广东省深圳市中考历史真题(解析版)
- 门诊一站式服务流程建设方案
- 浙江省食用农产品批发市场食品安全主体责任清单与技术评审指南(2023版)
- 注册安全工程师考试金属冶炼(中级)安全生产专业实务复习难点详解
- 大型赛事活动安保服务方案投标文件(技术标)
评论
0/150
提交评论