




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
合肥工业大学计算机与信息学院计算机系2011级方向综合设计报告方 向: 数字媒体选修方向 课题题目: 基于OPENCV的 视频人脸识别系统 姓 名: 杨玉茹 专业年级: 计算机科学与技术11-1班 学 号: 指导教师: 胡敏 验收时间: 2015年元月 数字媒体方向综合设计报告一、 设计目的和内容目的:安全问题在人类社会的发展至今已经成为了困扰人们日常生活的重要问题之一。社会的发展促进着人类的流动性,随之而来的问题就是增加了社会的不稳定性,安全问题就变得更为值得广泛关注。所以随着人工智能技术的兴起,以及人类视觉研究的进展,人们逐渐对于人脸图像的机器识别投入了很大的兴趣,并形成了一个人脸图像识别研究领域,这一领域除了关于它的重大理论价值外,就是实用价值了,也就是说对于安全问题来看是一种解决途径。和人的其他地方一样,例如:指纹,人脸也是唯一的,可以用来判别一个人的身份。而且人脸图像的识别系统对比于指纹识别、DNA鉴定等系统更具方便性,开发研究更具有重大的实际意义。但是人脸图像受到很多因素的干扰,给识别带来了很大的难度。内容:人脸识别,是指对输入的人脸图像或者视频,判断其中是否存在人脸,如果存在人脸,则进一步对每张人脸的位置、大小和各个面部主要器官的位置信息输出,利用这些信息,进一步提取每张人脸蕴含的身份特征,并且将其与已知人脸库中的人脸进行对比,从而得出每张人脸的身份信息。主要的研究内容包括五个方面:(1)人脸检测;(2)人脸表征;(3)人脸鉴别;(4)表情或姿态分析;(5)生理分类。本次设计主要是人脸识别中人脸检测,在已知的视频图像中找出人脸图像,进行圈出。二、 组员介绍与项目分工组员介绍: 马涛 杨玉茹项目分工: 共同完成,查阅人脸识别的相关资料,学习OPENCV及图像的有关算法,配置计算机环境,编写程序代码,制作成果视频,编写答辩文件等等。三、 背景知识近几年来,已开发应用了声音识别、签字识别、指纹识别、掌形识别、眼虹膜识别等人体生物特征识别技术,与上述识别技术相比较,而最近开发的人脸识别技术则具有简便、准确、经济及可扩展性良好等众多优势,因此可广泛应用于出入口控制、安全验证、安防监控与搜寻罪犯等有关方面。人脸识别和其他的生物识别比起来有以下几个优点:1、其他的生物特征识别方法都需要一些人为的行为配合,而人脸识别不需要。2、人脸识别可应用在远距离监控中。3、针对现在的身份证,建立人脸库能够更直观、更方便的核查需要搜寻的人的身份。4、相较于其他生物特征识别技术,更具有信息丰富以及使用面广等优点。由于人脸识别具有的特性,使得这项技术越来越多地应用于除安全问题外的各种身份识别领域。例如:在安全防范领域中的应用;在犯罪刑侦领域中的应用;在公共事业领域中的应用等等方面。四、 系统方案和实现 在本次方向设计中采用了Adaboost算法,而关于这次的人脸检测方法是一种基于积分图、级联检测器和Adaboost算法的方法,这种方法框架可以分为三大部分:1)使用Harr-like特征表示人脸,使用“积分图”实现特征数值的快速计算;2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器;3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。Adaboost算法是一种用来分类的方法,它的基本原理就是“三个臭皮匠,顶个诸葛亮”。它把一些比较弱的分类方法合在一起,组合处新的很强的分类方法。 在这里关于分类器的训练结果,OPENCV中对于人脸检测的模型已经建立为一个XML文件,其中包含了harr特征的分类器的训练结果,所以我们直接调用了OPENCV中现有的东西,我们通过加载这个文件而省略掉自己建立级联表的过程。建立好级联表之后,我们将待检测图片和级联表一同传递给OPENCV的目标检测算法即可得到一个检测到的人脸的集合。程序流程图如下:调用OPENCVOPENCV 解码视频一帧的图像信息CvCapture 保存 传递API 流程图开始视频 调用OPENCV 初始化API结束 YES NO解码 NO NO YES图像IPlImage获取缓存 YES 显示 释放五、 设计结果(包括必要的截图和代码片段)具体程序代码如下:int main( int argc, char* argv ) cascade_name = haarcascade_frontalface_alt2.xml; cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 ); /CvCapture* pCap = cvCreateCameraCapture( 1 );/IplImage *frame = NULL;/if (cvCreateCameraCapture = NULL)/return(0);/cvNamedWindow(Camera,CV_WINDOW_FULLSCREEN);/while (frame = cvQueryFrame(pCap) != 0 & cvWaitKey(20) != 27) /frame = cvQueryFrame(pCap);/cvShowImage(Camera, frame); /cvReleaseCapture(&pCap); /cvDestroyWindow(Camera); if( !cascade ) fprintf( stderr, ERROR: Could not load classifier cascaden ); return -1; storage = cvCreateMemStorage(0); / cvNamedWindow( result, 1 ); /const char* filename = op.jpg; /IplImage* image = cvLoadImage( filename, 1 ); /if( image ) / / detect_and_draw( image ); / cvWaitKey(0); / cvReleaseImage( &image ); /cvDestroyWindow(result); capture = cvCaptureFromFile(hello.avi); if( capture ) for(;) if( !cvGrabFrame( capture ) break;frame = cvRetrieveFrame( capture );if( !frame ) break;detect_and_draw( frame ); cvShowImage( source, frame ); if( cvWaitKey( 10 ) = 0 ) break; cvReleaseCapture( &capture ); cvDestroyWindow(source);/cvDestroyWindow(result); return 0; void detect_and_draw(IplImage* img ) double scale=1.2; static CvScalar colors = 0,0,255,0,128,255,0,255,255,0,255,0, 255,128,0,255,255,0,255,0,0,255,0,255 ; IplImage* gray = cvCreateImage(cvSize(img-width,img-height),8,1); IplImage* small_img=cvCreateImage(cvSize(cvRound(img-width/scale),cvRound(img-height/scale),8,1); cvCvtColor(img,gray, CV_BGR2GRAY); cvResize(gray, small_img, CV_INTER_LINEAR); cvEqualizeHist(small_img,small_img); cvClearMemStorage(storage); double t = (double)cvGetTickCount(); CvSeq*objects=cvHaarDetectObjects(small_img,cascade,storage,1.1,2,0,cvSize(30,30); t = (double)cvGetTickCount() - t; printf( detection time = %gmsn, t/(double)cvGetTickFrequency()*1000.) ); for(int i=0;itotal:0);+i) CvRect* r=(CvRect*)cvGetSeqElem(objects,i); cvRectangle(img,cvPoint(r-x*scale,r-y*scale),cvPoint(r-x+r-width)*scale,(r-y+r-height)*scale), colorsi%8); for( int i = 0; i total : 0); i+ ) CvRect* r = (CvRect*)cvGetSeqElem( objects, i ); CvPoint center; int radius; center.x = cvRound(r-x + r-width*0.5)*scale); center.y = cvRound(r-y + r-height*0.5)*scale); radius = cvRound(r-width + r-height)*0.25*scale); cvCircle( img, center, radius, colorsi%8, 3, 8, 0 ); /cvShowImage( result, img ); cvReleaseImage(&gray); cvReleaseImage(&small_img); 运行成果图:六、 总结与心得 在此次的方向设计中,我们学习制作了人脸检测系统。之前在学校安排的教学课程中,虽然有学习图像相关的课程,了解了一些关于图像处理等方面的知识内容,但是关于人脸识别的内容却是知之甚少。借助于这次的方向设计,较为全面的学习了解了关于人脸识别这一方面的课题研究和技术方法等知识,我觉得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年旅游酒店行业智慧旅游发展模式探索报告
- 2025南航会计面试题目及答案
- 2025年通信行业5G技术应用与产业生态圈构建研究报告
- 2025会计外包面试题目及答案
- 2025年健康养生行业健康产品与养生方法研究报告
- 2025年及未来5年中国茶叶行业发展前景预测及投资战略研究报告
- 2025年汽车智能驾驶行业自动驾驶技术市场与政策研究报告
- 2025年教育培训行业在线教育平台用户体验报告
- 2025财务会计英语面试题目及答案
- 2025昆明市盘龙区人民医院第二季度招聘编外人员(1人)考前自测高频考点模拟试题及完整答案详解一套
- 2024-2025学年山东省济南市高一上册第一次月考数学学情检测试题
- 2025年印刷行业趋势分析报告
- 劳动教育的跨学科融合
- 2025年中考英语高频词汇表
- 《钠离子电池简介》课件
- 十八项核心制度
- 《水的组成说课课案》课件
- 理疗课件教学课件
- 起重作业十不吊、八严禁
- 医院消防安全知识培训课件
- 快件处理员(中级)职业技能鉴定考试题库(含答案)
评论
0/150
提交评论