资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘要在现代社会中,视频采集与检测被广泛应用于生活的方方面面,特别是现代 监控、实时统计等领域,有着巨大的商业前景。本设计研究了广告效果评估系统 中的人脸检测和识别技术。本系统是在C+环境下,调用DirectShow和OpenCV的库函数编译实现的。 DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的 新一代基于COM的流媒体处理的开发包,OpenCV是英特尔公司软件开发中心开 发的是面向应用程序开发者开发的计算机视觉库,它由一系列C函数和少量C+ 构成。另外本设计介绍了快速人脸检测算法,快速人脸检测是Viola提出了基于积 分图像与AdaBoost训练的快速人脸检测方法,其中利用积分图像计算矩形特征, 再用AdaBoost方法训练这些矩形特征组成强分类器,由于可以在积分图像上快 速的计算这些矩形特征从而使分类器的速度大大提高。本设计的基本思想是安装摄像装置来拍摄动态场景,然后在视频中检测人脸 信息,并跟踪其运动。该系统硬件结构简单实用,只需在普通PC上安装一块视 频采集卡,与前端摄像头连接以获取视频输入。软件结构主要为视频信息的采集 与检测,算法的核心是人脸快速检测检测。关键词:DirectShow,OpenCV,人脸检测,人脸跟踪,AdaBoostABSTRACTIn modern society, video capture and detection are widely used in all aspects of life, especially modern monitoring, real-time statistics and other fields, has great commercial prospects. The design study to assess the effect of the advertising system of face detection and recognition technology.The system is in C + + environment, called DirectShow and OpenCV to compile the library functions achieve. The design of the basic idea is to install the camera device to shoot dynamic scenes, and then detected in the Face video information, and track their movement. The system hardware structure is simple and practical, just in an ordinary PC to install a video capture card, with the front camera for video input connections. Software architecture of the main video information for the collection and testing, the core algorithm for rapid detection of human face detection.KEY WORDS: DirectShow, OpenCV Face Detection, Face Tracking, AdaBoost目录刖言1第 1 章 DirectShow 视频采集原理31.1 DdiectX 简介31.2 DirectX 9.0c41.3 DirectShow51.4 Directshow 基本原理61.5系统环境及开发环境71.6用DirectShow实现视频采集7第2章开发平台OpenCV82.1 OpenCV 简介82.2 OpenCV图像处理库82.3 OpenCV中的常用结构9第3章快速人脸检测13第4章 人脸检测开发环境搭建164.1硬件安装164.2 DirectX SDK 开发包下载安装174.3 OpenCV下载与安装184.4 Microsoft Visual C+环境配置184.5 VC项目的建立18第5章系统实现215.1系统组成215.2人脸检测的实现21第6章总结与展望25致谢26参考文献27附 录 DirectShow 视频采集函数28-LX. -j-刖言近年来,随着平面广告的发展,对广告效果的评估越来越被企业重视。从功 能上讲,建立一个这样的系统需要做视频采集与检测两方面工作。其核心是利用 计算机视觉技术从视频图像中检测人脸并对其行为进行理解与描述,其中重要算 法就是快速人脸检测。所谓人脸检测,指在给定的一幅静止图像或一段动态图像序列中,从背景未 知的图像中分割、提取并确认可能存在的人脸,如果检测到人脸,则确定其位置 与大小,并提取出人脸的特征。论文共分五章,主要内容概要如下:第1章首先介绍了 DirectShow视频采集原理,DirectShow是微软公司在 ActiveMovie和Video for Windows的基础上推出的新一代基于COM的流媒体处 理的开发包,主要用于视频采集。第2章主要介绍了系统的一个开发平台OpenCV,OpenCV是英特尔公司开发 的,是面向应用程序开发者开发的计算机视觉库,它由一系列C函数和少量C+ 构成,OpenCV函数库不仅对图像进行过滤,统计,分类等基本操作,而且现了 图像处理和计算机视觉方面的很多通用算法,主要用于人脸的检测。第3章摘要介绍了快速人脸检测算法,本算法是Viola提出了基于积分图像 与AdaBoost训练的快速人脸检测方法,其中利用积分图像计算矩形特征,再用 AdaBoost方法训练这些矩形特征组成强分类器,由于可以在积分图像上快速的 计算这些矩形特征从而使分类器的速度大大提高。第4章主要介绍了系统环境的搭建,主要包括软硬件两个部分以及C+库函 数的路径配置。第5章主要介绍了系统的实现主要介绍了实现视频采集与人脸检测的一些 重要函数。人脸检测所存在的主要问题:1.实时性问题,在实际应用中,特别是在数字视频监视系统中,人们往往对 于系统的实时性要求更高,当有人走进监控器的监视范围之内时,要求能够实时、 准确地检测到人脸的位置,并能跟踪它的运动轨迹及大小变化,直到离开所监控 的范围。众所周知,在算法设计时,一方面为了提高实时性,需要减少目标特征 的数量和复杂度;另一方面为了提高准确度,需要同时使用多个特征进行综合判 断,实时性和准确度往往难以同时满足。此外,由于图像本身数据量大,仅仅为 了计算某一个特征往往也需要花费大量的时间。在实时性与准确度之间寻找一个 合理的折衷,是许多算法设计的一个主要目标。2.遮挡处理问题,目前,大部分人脸检测、运动跟踪系统都不能很好地解决 目标之间互遮挡和人体自遮挡等问题,尤其是在拥挤状态下,多人脸检测和跟踪 问题更是难于处理。遮挡时,人体只有部分是可见的,简单依赖于背景减除进行 运动分割的技术此时将不再可靠,为了减少遮挡或深度所带来的歧义性问题,必 须开发更好的模型来处理遮挡时特征与身体各部分之间的准确对应问题。本论文所做的主要工作:本设计的目的是在学习Visual C+的同时,熟悉VC的编程环境,了解和学 习编程的相关知识,并熟悉了一个工程项目的实现过程。本设计对比了几种人脸 检测算法,选择了实时性与准确度相对较好的快速人脸检测AdaBoost算法。本文所研究的主要是在DirectShow和OpenCV支持下的视频采集与检测。第1章DirectShow视频采集原理1.1 DdiectX 简介DirectX是一种应用程序接口,DirectX是由很多API组成的,按照性质分类, 可以分为四大部分,显示部分、声音部分、输入部分和网络部分。显示部分担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D ( D3D), 前者主要负责2D图像加速。它包括很多方面:我们播放mp3、DVD电影、看 图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用 的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中 的人物等等,都是使用了 DirectX的Direct3D。DirectX并不是一个单纯的图形APIE,它是由微软公司开发的用途广泛的 API,它包含有 Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、 Direct Sound、Direct Show、Direct Setup、Direct Media Objects 等多个组件,它 提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其 它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、 声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性 影响的接口。DirectX是一组低级“应用程序编程接口”,可为Windows程序 提供高性能的硬件加速多媒体支持。Windows支持DirectX 8.0,它能增强计算 机的多媒体功能。使用DirectX可访问显卡与声卡的功能,从而使程序可提供 逼真的三维图形与令人如醉如痴的音乐与声音效果。DirectX使程序能够轻松 确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件 程序能够在基于Windows的具有DirectX兼容硬件与驱动程序的计算机上运 行,同时可确保多媒体程序能够充分利用高性能硬件。DirectX包含一组API, 通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些API 控制低级功能、支持输入设备并控制着混音及声音输出。构成DirectX的下列 组件支持低级功能:Microsoft DirectDraw Microsoft DirectDraw API 支持快速访 问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标 准方法,并且使用加速驱动程序时可以更快更直接地访问。DirectDraw为程序 以及Windows系统组件提供了一种独立于设备之外的方法来访问特定显示设 备的功能,而不要求用户提供设备功能的其它信息。2002年底,微软发布DirectX9.0。DirectX 9中PS单元的渲染精度已达到浮 点精度,传统的硬件T&L单元也被取消。全新的VertexShader编程将比以前复 杂得多,新的VertexShader标准增加了流程控制,更多的常量,每个程序的着色 指令增加到了 1024条。PS 2.0具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,还 不占用显存,理论上对材质贴图的分辨率的精度提高无限多;另外PS1.4只能支 持28个硬件指令,同时操作6个材质,而PS2.0却可以支持160个硬件指令, 同时操作16个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可 操作的指令数可以任意长,电影级别的显示效果轻而易举的实现。VS 2.0通过增加Vertex程序的灵活性,显著的提高了老版本的VS性能,新 的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多倍; 增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从128 个提升到256个。增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度, 使最终处理的色彩格式达到电影级
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号