基于Dragonboard 410c的智能魔镜设计(5)——通过人脸进行用户身份识别.docVIP

基于Dragonboard 410c的智能魔镜设计(5)——通过人脸进行用户身份识别.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Dragonboard 410c的智能魔镜设计(5)——通过人脸进行用户身份识别 根据前面的设计方案,在设计的基于 dragonboard 410c的 智能魔镜中,需要根据超声波 检测到有人靠近的时候,通过 USB摄像头采集人脸数据,然后根据数据库中的人脸数据进行人脸匹配,识别用户的身份,最终根据用户身份显示不同的消息和推送不同的内容,这期blog将重点向大家介绍智能魔镜中的人脸检测和识别处理实现的原理和过程。 需要进行基于人脸的用户身份识别,首先需要检测出人脸,然后根据检测出来的人脸与数据库中的人脸进行匹配,最终得出匹配度,根据匹配度确定该人脸的身份,这里将从这两个方面来向大家介绍如何在智能魔镜中实现人脸身份检测,其实在前面的一系列blog中已经给大家介绍了人脸识别和检测的实现方法,这里就在结合智能魔镜代码设计再向大家如何应用前面已经设计好的人脸检测和识别的代码,将其集中到智能魔镜中的应用中来。 在基于USB摄像头人脸识别的文章中已经告诉了大家如使用 Python和OpenCV来何构建人脸检测代码,我们这里构建了一个getFac.py文件,在该文件中通过getFac类来实现人脸的检测,其实也就是对前面blog方法的一次封装即可,具体代码如下: ????def getface(self,device): ? ? ? ? cap = cv2.VideoCapture(device) ? ? ? ? faces=[] ? ? ? ? num=self.maxFrames ? ? ? ? while(True): ? ? ? ? ? ? ret,img=cap.re ad() ? ? ? ? ? ? ret,img=cap.read() ? ? ? ? ? ? ret,img=cap.read() ? ? ? ? ? ? ret,img=cap.read() ? ? ? ? ? ? if ret==True: ? ? ? ? ? ? ? ? gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ? ? ? ? ? ? ? ? faces = self.face_cascade.detectMultiScale(gray,1.3,5) ? ? ? ? ? ? ? ? i=0 ? ? ? ? ? ? ? ? f or(x,y,w,h) in faces: ? ? ? ? ? ? ? ? ? ? face=img[y:y+h,x:x+w] ? ? ? ? ? ? ? ? ? ? print(get face sucessful) ? ? ? ? ? ? ? ? ? ? cap.release() ? ? ? ? ? ? ? ? ? ? cv2.imwri te(./temp.jpg,face) ? ? ? ? ? ? ? ? ? ? return True ? ? ? ? ? ? ? ? num=num-1 ? ? ? ? ? ? ? ? if num==0: ? ? ? ? ? ? ? ? ? ? print(get face fai led) ? ? ? ? ? ? ? ? ? ? cap.release() ? ? ? ? ? ? ? ? ? ? return False ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? ?cap.release() ? ? ? ? ? ? ? ? ?return False?? 有了上述类,我们就可以检测并且获得人脸图像,接下来我们需要利用检测到的人脸图像,与数据库中的人脸图像进行匹配,实现人脸的识别,其方法和前面 使用USB摄像头进行人脸识别文章--第二篇 中的方法一样,采用opencv提供的人脸识别 接口来实现,但是这里为了在魔镜中调用,重写了前面blog的方法,构建了一个peopleIden tif ication.py类来实现魔镜中的人脸身份检测,这里封装了一个peopleDetected类来实现人脸的身份识别,重新封装后的代码和前面代码稍有差异,具体设计如下: ???????class peopleDetected: ? ? def __init__(self,tr ainImgPath): ? ?? ? ? ? ? self.threshold=6000 ? ? ? ? self.model = cv2.createFishe rF aceRecognizer() ? ? ? ? self.trainModel(./usrImg) ? ?? ? #load all user img create Train table ? ? #imgPath is user img

文档评论(0)

Jane9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档