Opencv之人脸检测.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Opencv之人脸检测.doc

Opencv之人脸检测 如之前所说的,运动物体检测的工作已经告一段落了,目前正式进入无所事事的阶段。也罢,索性就Opencv进一步学习。这里,就不得不说一下,百度确实是一个强大的工具。我自学Opencv的资料都来自于网上,图书馆借来的书基本上都是冷宫状态。为什么呢?用户体验感呗。不得不喷一下,书上的理论公式啥的,哪对得上我这急性子的胃口啊! 这里,推荐几个人的博客给大家,这些资料对于要从Opencv的角度学习图像处理的童鞋应该还是很有帮助的。 1、/index.php/%e9%a6%96%e9%a1%b5 2、/blog/morewindows/8225783 3、/column/details/opencv-tutorial.html 这三个网站上有部分内容将会重复出现,但只要仔细观察,会发现每位博主的重点都不一样,毕竟每个人编程过程中遇到的问题都不同。 好了,讲讲人脸识别吧,我其实对于这项新起的技术没有多学术化的认识。结合这次项目中的进度:检测出了运动物体,把它提取出来,再进行人脸检测判断是否为人类,如果是,进行跟踪判断其行为是否异常。所以我也有必要了解它。 刚开始对于这项功能的实现还是很期待的,总觉得人的属性那么复杂,要想这么立竿见影的对它进行技术约束,应该很不容易。结果,强大的opencv让这项功能的实现难度指数将至负。且不说这个,他检测的结果也真是让人哭笑不得。 这里附上一图吧。 蓝色圆圈示意出的区域即为系统检测到的“人脸”,我初看到这个结果也甚是惊讶,难道这项技术就是把人脸的五官做成相对坐标进行备份,设置一系列阈值即可。虽然,我的猜测有点剑走偏锋,但并不是没有依据。因为之前我用“奶茶妹”卖萌的一张照片做检测,因为其脸是横着地,就是那种依偎在东哥肩膀上的姿势,可能这种脸的姿势违背了Opencv对于人脸五官相对坐标的分布,所以,可怜的奶茶妹没有被人脸检测出来。(虽然事先我一直以为是长的太萌就,,,技术失效),看来是我想多了。唉,玩技术的屌丝再不能为自己找借口! “奶茶妹的事件”事件让我发现了人脸的姿势对于检测造成的误差是不容小觑的。所以,我乖乖地走回到正轨。 再加载分类器(haarcascade_frontalface_alt2.xml)的时候,我四处求助同学把他们训练的分类器共享给我,暑假期间无聊成我这样的估计还是少数。我在线等了差不多1各小时,一位和我同门的大神传了个给我,alt不是2的。我用他的分类器检测了几张图片,效果都不是很好,不,应该是基本检测不出来。后来,死马当活马医,就在代码上到处游走。无意间,嘿嘿,发现了一个现象。 当我把equlizeHist()函数注释掉时,图片中的其中一些就可以检测出人脸了,当然,奶茶妹除外。这项发现一下子让我细胞间隙的多巴胺加速分泌,整个人顿时陶醉地云里雾里。 那么,介绍一下equlizeHist()函数吧。 这个是度娘给出的解释。 没错,这个函数最大的特点就是使灰度图像均衡化,所谓均衡化,别以为是什么高大上的概念,无非就是将图像的亮度和对比度增加。像美图秀秀里面的那种功能,P下自拍,顿时感觉就是一张艺术照。其实,都是自欺欺人,你长啥样一照镜子就明白了。 灰度图经过均衡化按理说应该会使图像分割地更加清晰,可为什么反而去掉它会使检测扭转戳样?这里,我真的是百思不得其解!!求大神告知。 介于第一次的代码总是有不如意,于是打算一锅端,改头换面。说到改头换面,也不过是把detectMultiScale()函数换成了cvHaarDetectObjects(),前者直接被CascadeClassifier类对象调用,产生装载矩形序列的向量,后者直接把矩形数组作为返回值的受体。好像真没什么区别啊!我哭。但事实上在运行的效果上,后者明显更加受青睐。时间就是金钱,对有些人来说就是这样。虽然处于码农学徒阶段的我对于性能的要求并不高。掩脸害羞! 昨晚各种图像的检测,突然想起之前那个吊炸天的人工智能课上看老师播放的一段视频,好像就是人脸检测的。我突然想,我这程序改一下图片加载方式,再弄个while循环不就实现了吗。说时迟,那时快。 Ao,完胜。中间那个圆圈也会乖乖地跟着我的运动而运动!(一天不出门,形象更加不能见人了)。。。 其实在跑摄像头和视频的时候曾遇到一个问题,就是能检测出人脸的个数,但是不能现实,捣鼓了半天都无果,下午都打算放弃了。傍晚的时候因为社团招新活动去外面谈了一笔外联,虽然还没有眉头,顿时又打了鸡血。U盘里各种找,把之前写过的加载视频的代码盘了出来,出错的原因真是让人翻江倒胃 好吧,粗心的毛病是改不了了。每一帧没有停顿也没有加载,难怪刚开始看到的是一个灰蒙蒙的画面。看来这33ms真的是不能省啊。 做到这个程度对我来说是满足了,回想起人工智能上的那个视频,原来也不过如此。其实说来可笑,最

文档评论(0)

蝶恋花 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档