




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘 要 IIIAbstract IV引 言 1第一章 绪 论 21.1 系统开发背景 21.2 计算机视觉技术发展的历程 21.3 计算机视觉图像分析技术 31.4 计算机视觉国内外研究现状 31.5 系统开发环境 4第二章 定位与跟踪视线范围内运动状态物体方法 62.1 定位视线内运动状态物体的方法 6常见的传统检测方法 6高斯混合背景建模法 7算法 82.2 跟踪视线内运动状态物体的方法 8基于光流跟踪算法 8卡尔曼跟踪算法 9粒子滤波跟踪算法 10长时间跟踪TLD算法 12第三章 软件平台 143.1 OpenCV简介 143.2 OpenCV中常用数据结构体系 15第四章 图像处
2、理 174.1 彩色图像灰度化处理 174.2 中值滤波处理 184.3 二值化处理 194.4 腐蚀与膨胀处理 204.5 开运算和闭运算处理 22第五章 混合高斯模型与压缩感知跟踪算法原理详解 245.1 混合高斯模型原理 245.2 压缩感知跟踪(Compressive Tracker) 27第六章 系统实现与结果 326.1 视线检测的实现与结果 326.2 视线追踪的实现与结果 34结束语 37参考文献 38致 谢 39附 录 40摘 要计算机视觉技术就是利用了摄像机以及电脑拥有人类双眼所具有的分类、识别、追踪、判别决策等视觉功能。计算机视觉系统就是创建了能够在平面图像或者三维立体图
3、像的数据中,以获取需要的信息的一个完整的人工智能系统。本文在研究了计算机视觉技术的基础上,针对于运动目标检测与跟踪在未来的发展,提出了一套基于OpenCV视觉库的检测、跟踪视线范围内动态物体的检测系统,以达到模拟人眼的识别、追踪、分类功能。动态目标检测与跟踪作为计算机视觉领域的一个重要部分,在工业、医疗保健、航空航天、军事等各个领域具有广泛的应用前景,一直受到广泛的关注,并成为计算机视觉领域的研究热点。本文在现有研究成果的基础上,对静态和动态场景下的运动目标检测与跟踪进行了深入的讨论。本文总结了计算机视觉技术的国内外发展的现状,深入研究了计算机视觉技术、图像分析处理技术、动态检测技术等相关资料
4、。详细阐述了基于OpenCV的计算机视觉技术的动态物体检测系统的设计方案、工作原理、以及实现。其中着重讨论混合高斯背景模型与压缩感知算法的C+代码设计(结合OpenCV库)的实现,并通过采样视频给出了程序的运行结果以及说明算法的可行性。关键词:计算机视觉,目标检测,OpenCV,混合高斯背景模型AbstractComputer vision technology is the use of cameras and computer withclassification, human eyes have identification, tracking, visual function ofde
5、cision. A computer vision system is created in the graphic or three-dimensional image data, to a complete artificial intelligence system to obtain required information. Based on the study of the computer vision technology, for moving target detection and tracking in the future development, and put f
6、orward a set ofdetection, detection system based on the OpenCV library visual tracking dynamicobjects within sight of, recognition, in order to simulate human tracking,classification function. Dynamic target detection and tracking is an important partin the field of computer vision, which has wide a
7、pplication prospect in the fields of industrial, medical, aerospace, military, has received the widespread attention,and becomes a hotspot in the field of computer vision. In this paper, based on the existing research results, the static and dynamic scenes of moving targetdetection and tracking is d
8、eeply discussed.This paper summarizes the current situation of the development of computervision technology at home and abroad, in-depth study of the computer vision technology, image processing technology, the dynamic detection technology and other relevant information.Expounds design, dynamic obje
9、ct detection system of computer vision technology OpenCVs working principle, and the realization based on. With the emphasis on the C+ code design of mixed Gauss background model and compressed sensing algorithm (with OpenCV Library implementation, and by sampling the video gives running result of p
10、rogram and the feasibility that algorithm.Keywords: computer vision, moving object detection, OpenCV, mixed Gauss background model引 言随着计算机设备逐渐融入到社会生活的各个方面,利用计算机进行视觉和数字图像处理技术也日趋成熟,并在各个尖端的技术领域中早已崭露锋芒。计算机视觉(ComputerVision,CV)是一门研究如何让计算机达到人类那样“看”的学科。也就是用计算机来实现对客观世界的识别与理解,理解是指对被观察对象的形状、尺寸、离开观察点的距离、质地、运动特
11、征(包括方向和速度 等的理解,更准确点说,它是利用摄像机和电脑代替人眼使得计算机拥有类似于人类的那种对目标进行分割、分类、识别、跟踪、判别决策的功能。作为一个新兴学科,计算机视觉是通过对相关的理论和技术进行研究,从而试图建立从图像或多维数据中获取“信息”的人工智能系统。它是一门综合性的科学技术,主要包括计算机科学与工程、信号处理、物理学、应用数学与统计、神经生理学和认知科学等。随着日益发展成熟的计算机自身的视觉技术,以及日益显现的计算机视觉技术的光明未来,综合应用与计算机视觉技术的处理软件程序相继的研发,能够预期到期在现代以及未来的各个尖端的技术领域中将开拓出越来越大的应用市场。目前,计算机视
12、觉技术已经应用在制造业、工业检验、文档分析、医疗诊断、军事目标跟踪、自主导航等系统当中。第1章 绪 论1.1 系统开发背景长期以来,计算机就像文盲一样,总是被动地接受键盘的输入信息,而不能主动的从现实世界中获取信息并智能的处理。人们为了让计算机实现看到这个世界并主动从这个世界寻找信息,因此发展了计算机视觉;为了让计算机实现自主处理和判断所得到的信息,因此发展了人工智能科学。可以说所有人都有这么一个期盼,人机之间的交流可以像人与人之间的交流一样畅通和友好。迄今为止,计算机视觉的发展已经历了一个漫长的过程。经过研究人员不懈努力,全新的信息技术和媒体手段的出现,使得更加有效和友好的人机交互方式得到了
13、发展,新型的人机交互将不再依赖传统输入设备。计算性价比的提高与视频获取成本的降低,使计算机视觉系统能够向桌面级和嵌入式系统发展,这就意味着计算机视觉系统能够安装在一切电子系统之中。相信在不久的将来,拥有高级视觉系统的智能电子产品会给人们的生活带来更大的方便。 计算机视觉要处理的一个重要内容,就是对视线范围内物体运动的检测与跟踪。视频中的目标检测与跟踪是指计算机代替人眼进行对外界物体运动的感知和理解分析,从而利用这样的只能系统为人类生活工作提供便利。目前,运动目标检测与跟踪在医学研究、交通监视、客流量统计、天文观测等领域有着非常重要的实用价值,有着广阔的发展前景。因为它不但可以提供目标的运动轨迹
14、,也为场景中运动目标的运动分析、场景分析提供了可靠的数据来源。1.2 计算机视觉技术发展的历程计算机视觉技术是在20世纪50年代从统计模式识别开始的。当时的工作主要集中在二维图像分析和识别上,如光学字符识别。工件表面、显微图片和航空图片的分析和解释等。60年代,Roberts(1965通过计算机程序从数字图像中提取出诸如立方体、楔形体、棱柱体等多面体的三维结构,并对物体形状及物体的空间关系进行描述。到了70年代,已经出现了一些视觉应用系统。70年代中期,麻省理工学院(MIT人工智能(AI实验室正式开设“机器视觉”课程,由国际著名学者BKPHom教授讲授。80年代以来,计算机视觉的研究已经历从实
15、验室走向实际应用的发展阶段。而计算机工业水平的飞速提高以及人工智能、并行处理和神经元网络等学科的发展,更促进了计算机视觉系统的实用化和涉足许多复杂视觉过程的研究。目前,计算机视觉技术正在广泛的应用于计算几何、计算机图形学、图像处理、机器人学等多个领域中。1.3 计算机视觉图像分析技术对于信息化的时代,人们早已经越来越注重于信息的处理与获取。图像分析和关于人的视觉的分析研究有着密切的关系,为了提高计算机视觉能力,就需要对人的视觉机制中的有些可辨识模块进行较为深入的分析研究。生活中,人们所看到的一切连续活动的场景,实际上就是一系列连续变化的模拟图像组成的。对于图像的分析其实质就是关注这些图像中的运
16、动目标。因此,对于运动物体的研究方向也就慢慢衍生为检测、分析视频的序列图像中的运动物体。在数字图像处理技术和计算机视觉技术中,基于序列图像形成的视频图像的运动物体的分析研究是最为复杂的一个方向。其研究方向的实质是:针对连续的图像中,一帧帧图像的差分比较,提取出不同的部分,根据图像的分割技术,就可以提取出每帧图像的不同部分,即运动的物体,同时根据数学算法和函数就可以针对于运动目标进行识别和跟踪了。综上述以数字图像处理为基础,从而分析视频图像的运动的整个处理过程,涉及到了一些不同领域与科学。图像分析一般划分为四个主要的过程:1、传感设备的输入;2、目标物体的分割;3、目标物体的识别;4、解释识别所
17、得到的信息。1.4 计算机视觉国内外研究现状计算机视觉技术属于人工智能领域中的一个分支,是一门通过对图像或者视频的处理从而是使得计算机具备人眼“看”的能力的学科。为了有效的完善计算机对数据处理已经应用的能力,人们开始研究计算机视觉技术,从最初的人工智能的子方向,计算机视觉技术作为一个完整的研究领域已经活跃了长达40年之久。近几年来研究人员已经渐渐将研究的重点从图像中的静态目标慢慢过渡到了复杂环境中的动态目标序列上面。对于这方面的研究和发展,已经广泛的应用于控制系统中的视频检测系统、视频编解码技术、军事上的制导、雷达视频图像中的目标分析等等。在当今对于图像处理,视频中动态物体的检测技术中,存在的
18、主要问题有:(1)在采集到的图像信息中,对于想要检测的目标物总不能避免地出现相互遮挡的现象,从而导致了获取到不完整的目标信息,这样的结果就给只能通过结合图像信息来识别世界的人工智能技术带来了一定困扰。(2)在简单场景下,分析目标物体是相对比较简单的。但是在复杂的背景下,需要提高检测目标物体的精确性,以及检测的数学算法的鲁棒性、实时性。(3)对于实时采集到的图像信息,所具有的原始数据极其丰富,因为采集的时间间隔非常小,所以图像相邻帧之间有很强的相关性,利用好这个关键点,对于提高整个检测、跟踪系统的效率极其具有实际意义。(4)随着图像处理技术的提高,将采集到的图像信息创建成3D场景,复原真是的场景
19、,对于目标物体的分析、处理、跟踪技术都将会有很大的帮助。针对于计算机视觉技术广阔的发展前景,很多发达国家都早已瞄准了这个应用市场,并且开展了大量的相关技术项目的开发和研究。Microsoft,IBM,EMITALL,CMU等尖端公司包括知名技术性的实验室近年来都投入了大量的人力和物力致力于研发人工智能的监控系统,并且开始造福于人类。国内的研发机构与人员也开展了对于计算机视觉技术的研究。目前处于领先地位的是中国科学院北京自动化研究所下属的模式识别国家重点实验室。研究的主要方向为复杂环境中的运动物体的跟踪算法以及模型定位。1.5 系统开发环境本系统是在Windows 平台上使用VS2010,综合运
20、用计算机视觉技术、数字图像处理技术,基于OpenCV 设计实现运动物体检测与跟踪系统。Visual C+是Microsoft 公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。OpenCV(Open Source Computer Vision Library)由Intel公司在背后提供支持(本系统使用的是版本)。它包含了超过500个函数来实现用于图形处理和计算机视觉方面的通用算法。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primi
21、tives得到更快的处理速度。OpenCV包括以下几个模块,具体功能是:1、CV:主要的OpenCV函数;2、CVAUX:辅助的(实验性的)OpenCV函数。3、CXCORE:数据结构与线性代数支持;4、HIGHGUI:图像界面函数;5、ML:机器学习,包括模式分类和回归分析等;6、CVCAM:负责读取摄像头数据的模块(在新版本中,当HIGHGUI模块中加入DirectShow支持后,此模块将别废除)。HALCON源自学术界,它有别于市面一般的商用软件包。事实上,这是一套image processing library,由一千多个各自独立的函数,以及底层的数据管理核心构成。其中包含了各类滤波,
22、色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能,由于这些功能大多并非针对特定工作设计的,因此只要用得到图像处理的地方,就可以用HALCON强大的计算 分析能力来完成工作。应用范围几乎没有限制,涵盖医学,遥感探测,监控,到工业上的各类自动化检测。MATLAB: MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。第2章 定位与跟踪视线范围内运动状态物体方法定位与追踪视线范围内运动状态物体顾名思义是让计算机模拟人类眼睛视觉对物体的观察、
23、定位并追踪的能力。这种情况下一般使用单个固定的摄像机对场景进行拍摄。定位运动状态物体即对于视线范围中运动物体的检测,主要措施分为两种:宏观检测法以及微观检测法。时下应用较为广泛的是背景差法、帧间差分法以及综合法。2.1 定位视线内运动状态物体的方法常见的传统检测方法(1)背景差分法:原理是实时输入的图像与背景进行比较,能完整快速地分割出运动图像。其不足之处是易受光线变化影响,背景的更新是关键。不适用于摄像头运动的情况。(2)连续帧间差分法:受光线变化影响较小,简单快速,但不能分割出完整的运动对象,需进一步运用目标分割算法。还有一些改进的算法,主要致力于减少光照影响和检测慢速物体变化。(3)光流
24、法:光流法的概念:图像中模型运动的速度,拟定其一种2D的瞬时速度场。其实2D速度矢量就是可见的3D速度矢量在平面上的一个投影,给图像中的每个像素一个速度的矢量,从而形成一个图像的运动场,每时每刻图形上的点都与3D立体物体上的点一一对应,即投影关系就是2D转换到3D的两者间的关系,根据速度矢量的特征,从而分析动态情况。在整个图像中,光流失量其实是连续变化的,一但返现速度矢量出现了不连续,有断裂的情况,那么就可以得出运动物体的位置。高斯混合背景建模法高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。对图像背景建立高斯
25、模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以认为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。首先要提起背景和前景的概念,前景是指在假设背景为静
26、止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型是是建模最为成功的方法之一。混合高斯模型使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型,用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点,否则为前景点。通观整个高斯模型,主要是有方差和均值两个参数决定,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的
27、稳定性、精确性和收敛性。由于是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率;为提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。到这里为止,混合高斯模型的建模基本完成。最后归纳一下其中的流程,首先初始化预先定义的几个高斯模型,对高斯模型中的参数进行初始化,并求出之后将要用到的参数。其次,对于每一帧中的每一个像素进行处理,看其是否匹配某个模型,若匹配,则将其归入该模型中,并对该模型根据新的像素值进行更
28、新,若不匹配,则以该像素建立一个高斯模型,初始化参数,代理原有模型中最不可能的模型。最后选择前面几个最有可能的模型作为背景模型,为背景目标提取做铺垫。该算法为图像中每一个像素点建立一个码本,每个码本可以包括多个码元,每个码元有它的学习时最大最小阈值,检测时的最大最小阈值等成员。在背景建模期间,每当来了一幅新图片,对每个像素点进行码本匹配,也就是说如果该像素值在码本中某个码元的学习阈值内,则认为它离过去该对应点出现过的历史情况偏离不大,通过一定的像素值比较,如果满足条件,此时还可以更新对应点的学习阈值和检测阈值。如果新来的像素值对码本中每个码元都不匹配,则有可能是由于背景是动态的,所以我们需要为
29、其建立一个新的码元,并且设置相应的码元成员变量。因此,在背景学习的过程中,每个像素点可以对应多个码元,这样就可以学到复杂的动态背景。2.2 跟踪视线内运动状态物体的方法基于光流跟踪算法流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方法;(2)基于频域的方法;
30、(3)基于梯度的方法;简单来说,光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”。光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”。研究光流场的目的就是为了从图片序列中近似得到不能直接得到的运动场。光流法的前提假设:(1)相邻帧之间的亮度恒定;(2)相邻视频帧的取帧时间连续,或者,相邻帧之间物体的运动比较“微小”;(3)保持空间一致性;即,同一子图像的像素点具有相同的运动。光流法用于目标跟踪的原理:(1)对一个连续的视频帧序列进行处理;(2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;(3)如果某一帧出现了前景目标,找到其
31、具有代表性的关键特征点(可以随机产生,也可以利用角点来做特征点);(4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;(5)如此迭代进行,便可实现目标的跟踪。卡尔曼跟踪算法Kalman滤波理论主要应用在现实世界中个,并不是理想环境。主要是来跟踪的某一个变量的值,跟踪的依据是首先根据系统的运动方程来对该值做预测,比如说知道一个物体的运动速度,那么下面时刻它的位置按照道理是可以预测出来的,不过该预测肯定有误差,只能作为跟踪的依据。另一个依据是可以用测量手段来测量那个变量的值,当然该测量也是有误差的,也只能作为依据,不过这两个
32、依据的权重比例不同。最后Kalman滤波就是利用这两个依据进行一些列迭代进行目标跟踪的。在这个理论框架中,有两个公式一定要懂,即: 下面来看看使用Kalman编程的主要步骤:(1Kalman这个类需要初始化下面变量:转移矩阵,测量矩阵,控制向量(没有的话,就是0,过程噪声协方差矩阵,测量噪声协方差矩阵,后验错误协方差矩阵,前一状态校正后的值,当前观察值。(2调用Kalman这个类的predict方法得到状态的预测值矩阵,预测状态的计算公式如下:其中x(k-1为前一状态的校正值,第一个循环中在初始化过程中已经给定了,后面的循环中Kalman这个类内部会计算。A,B,u(k,也都是给定了的值。这样
33、进过计算就得到了系统状态的预测值x(k了。(3调用Kalman这个类的correct方法得到加入观察值校正后的状态变量值矩阵,其公式为: 其中x(k为步骤二算出的结果,z(k为当前测量值,是我们外部测量后输入的向量。H为Kalman类初始化给定的测量矩阵。K(k为Kalman增益,其计算公式为计算该增益所依赖的变量要么初始化中给定,要么在Kalman理论中通过其它公式可以计算。经过步骤三后,我们又重新获得了这一时刻的校正值,后面就不断循环步骤二和步骤三即可完成Kalman滤波过程。粒子滤波的核心思想是随机采样与重要性重采样。首先肯定不知道目标在哪里,那就随机的撒粒子。撒完粒子后,根据特征相似度
34、计算每个粒子的重要性,然后在重要的地方多撒粒子,不重要的地方少撒粒子。所以说粒子滤波较之蒙特卡洛滤波,计算量较小。这个思想和RANSAC算法真是不谋而合。RANSAC的思想也是(比如用在最简单的直线拟合上,既然不知道直线方程是什么,那就随机的取两个点先算个直线出来,然后再看有多少点符合这条直线。哪条直线能获得最多的点的支持,哪条直线就是目标直线。具体地流程如下:(1)初始化阶段-提取跟踪目标特征该阶段要人工指定跟踪目标,程序计算跟踪目标的特征,比如可以采用目标的颜色特征。具体到Rob Hess的代码,开始时需要人工用鼠标拖动出一个跟踪区域,然后程序自动计算该区域色调(Hue空间的直方图,即为目
35、标的特征。直方图可以用一个向量来表示,所以目标特征就是一个N*1的向量V。(2)搜索阶段-放小白鼠(为了方便模拟,所以以小白鼠作为粒子)已经掌握了目标的特征,下面放出很多只小白鼠,去搜索目标对象,这里的小白鼠就是粒子particle。小白鼠有很多种放法。比如,a均匀的放:即在整个图像平面均匀的撒粒子(uniform distribution;b在上一帧得到的目标附近按照高斯分布来放,可以理解成,靠近目标的地方多放,远离目标的地方少放。Rob Hess的代码用的是后一种方法。小白鼠放出去后,每只小白鼠怎么搜索目标呢?就是按照初始化阶段得到的目标特征(色调直方图,向量V。每只小白鼠计算它所处的位置
36、处图像的颜色特征,得到一个色调直方图,向量Vi,计算该直方图与目标直方图的相似性。相似性有多种度量,最简单的一种是计算sum(abs (Vi - V。每只小白鼠算出相似度后再做一次归一化,使得所有的小白鼠得到的相似度加起来等于1.(3)决策阶段放出去的小白鼠发回报告,“一号小白鼠处图像与目标的相似度是0.3”,“二号小白鼠处图像与目标的相似度是0.02”,“三号小白鼠处图像与目标的相似度是0.0003”,“N号小白鼠处图像与目标的相似度是0.013”.那么目标究竟最可能在哪里呢?做次加权平均。设N号小白鼠的图像像素坐标是(Xn,Yn,它报告的相似度是Wn,于是目标最可能的像素坐标X = sum
37、(Xn*Wn,Y = sum(Yn*Wn。(4)重采样阶段Resampling既然是做目标跟踪,一般说来,目标是跑来跑去乱动的。在新的一帧图像里,目标的所在还是放小白鼠搜索吧。综合所有小白鼠的报告,一号小白鼠处的相似度最高,三号小白鼠处的相似度最低,于是要重新分布,在相似度最高的小白鼠那里放更多的小白鼠,在相似度最低则少放,甚至可以将原有的撤销掉。这就是Sampling Importance Resampling,根据重要性重采样。(2-(3-(4-(2如是反复循环,即完成了目标的动态跟踪。长时间跟踪TLD算法主要讨论研究视频流中的目标物体的长时间跟踪问题。在一幅单独的图像帧中,目标物体是由其
38、位置和自身特征所表征的。在连续的视频帧中,需要做的就是确定出目标物体的位置和其特征,或者是能够指出目标丢失或遮挡。因此需要提出了一个全新的跟踪框架(TLD)。该框架将目标的长时间的跟踪任务清晰地分解成三个部分,跟踪,学习和检测。跟踪器在一帧帧的视频帧中跟踪目标。检测器是将已经检测到的特征(表征目标物体)进行局部化处理,并且根据需要不断修正跟踪器。学习器估计出检测器的错误,并及时更新检测器,以避免后续再出现这些错误。既然已经了解怎样来识别出或检测出检测器的错误,并且从中进行学习训练。那么可以开创一种全新的学习方法(P-N学习,Positive和Negative),这种方法通过一对约束来估计出错误
39、。正约束可以检测出是否丢失,负约束可以检测出错误的警告。整个学习过程可以被看作是一个独立的离散的动态过程模型,并且在该过程模型下能够发现学习器所能够带来的效果提升。压缩感知跟踪(CT跟踪)通过稀疏感知理论可以知道,通过一个满足RIP条件的非常稀疏的测量矩阵对原图像特征空间做投影,就可以得到一个低维压缩子空间。低维压缩子空间可以很好的保留高维图像特征空间的信息。所以可以通过稀疏测量矩阵去提取前景目标和背景的特征,作为在线学习更新分类器的正样本和负样本,然后使用该朴素贝叶斯分类器去分类下一帧图像的目标待测图像片(感知空间下)。简单地说,压缩感知理论指出:只要信号是可压缩的或在某个变换域是稀疏的,那
40、么就可以用一个与变换基不相关的观测矩阵将变换所得高维信号投影到一个低维空间上,然后通过求解一个优化问题就可以从这些少量的投影中以高概率重构出原信号,可以证明这样的投影包含了重构信号的足够信息。在该理论框架下,采样速率不再取决于信号的带宽,而在很大程度上取决于两个基本准则:稀疏性和非相关性,或者稀疏性和等距约束性。压缩感知理论主要包括三部分:(1)信号的稀疏表示;(2)设计测量矩阵,要在降低维数的同时保证原始信号x的信息损失最小;(3)设计信号恢复算法,利用M个观测值无失真地恢复出长度为N的原始信号。理论依据:(1)设长度为N的信号X在某个正交基上是K-稀疏的(即含有k个非零值);(2)如果能找
41、到一个与不相关(不相干)的观测基;(3)用观测基观测原信号得到长度M的一维测量值M个观测值Y,K ; (4)那么就可以利用最优化方法从观测值Y中高概率恢复X。第3章 软件平台3.1 OpenCV简介OpenCV是Intel资助的开源计算机视觉库。它由一系列C函数和少量C+类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C/C+函数的跨平台的中、高层API。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV对非商业应用和商业应用都是免费(FREE)的。(细节参考发布版本的license)。另外OpenCV也为Intel公司的Integrated P
42、erformance Primitives(IPP提供了透明接口。这意味着如果有为特定处理器(当然是INTEL的处理器了)优化的的IPP库,OpenCV将在运行时自动加载这些库。OpenCV是用C/C+编写的开源计算机视觉库。目的是为了实时应用独立于操作系统/硬件/图形管理器,通用的图像/视频载入、保存和获取模块,底层和高层的应用开发包。特征:图像数据的操作(分配、释放、复制、设置和转换。图像是视频的输入输出I/O(文件与摄像头的输入、图像和视频文件输出)。矩阵和向量的操作以及线性代数的算法程序(矩阵积、解方程、特征值以及奇异值等)。各种动态数据结构(列表、队列、集合、树、图等)。基本的数字图
43、像处理(滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等)。结构分析(连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay三角划分等)。摄像头定标(发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应)。运动分析(光流、运动分割、跟踪)。目标识别(特征法、隐马尔可夫模型:HMM)。基本的GUI(图像与视频显示、键盘和鼠标事件处理、滚动条)。图像标注(线、二次曲线、多边形、画文字)OpenCV模块:cv主要的OpenCV函数。cvaux辅助的(实验性的)OpenCV函数。cxcore数据结构与
44、线性代数支持。highgui 图像界面函数。3.2 OpenCV中常用数据结构体系OpenCV设计了一些基础的数据结构类型和一些帮助数据类型。OpenCV的算法中,图像的格式被设定为IplImage,其结构具体定义如下:typedef struct _IplImageint nSize;/IplImage大小int ID;/版本(=0)int nChannels;/大多数OPENCV函数支持1,2,3或4个信道int alphaChannel;/被OpenCV忽略int depth;/像素的位深度int dataOrder;/0:交叉存取颜色信道,1:分开的颜色信道.只有cvCreateIma
45、ge可以创建交叉存取图像int origin;/0:顶-左结构,1:底-左结构int width;/图像宽像素数int height;/图像搞像素数struct _IplROI *roi;/图像感兴趣区域。当该值非空只对该区域进行处理struct _IplImage *maskROI;/在OpenCV必须设置为NULLvoid *imageId;/获取图像的ID号,必须设置为NULLstruct _IplTileInfo *tileInfo;/必须设置为NULLint imageSize;/图像数据大小char *imageData;/指向排列的图像数据int widthStep;/排列的图像
46、大小,以字节为单位char *imageDataOrigin;/指针指向一个不同的图像数据结构IplImage;上述,IplImage的结构被定义在Intel Image Processing Library(图像处理库中,OpenCV是其中的一个自己,对于结构体的更详细的信息请参考OpenCV的技术手册。第4章 图像处理4.1 彩色图像灰度化处理将彩色的图像转化成为灰度的图像的过程叫作图像的灰度化处理。彩色的图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同
47、的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值
48、。效果如下图4.1所示图4.1-彩色图像与灰度图像对比结果4.2 中值滤波处理中值滤波的基本思想是用象素点邻域灰度值的中值来代替该象素点的灰度值,对于奇数个元素,中值是指按大小排序后中间的数值;对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。中值滤波这种方法由于不依赖于邻域内那些与典型值差别很大的值,因而能在去除噪声脉冲、椒盐噪声的同时又能保留图像边缘细节。中值滤波一般采用一个含有奇数个点的滑动窗口,具体方法为首先确定一个奇数象素的窗口W,窗口内各象素按灰度大小排队后,用其中间位置的灰度值代替原f(x,y灰度值成为增强图像 (x,y,即: (4.2)其中W为选定窗口。本文在对图像进行
49、滤波时正是考虑了图像中多为尖峰状干扰,中值滤波能去除点状尖峰干扰而边缘不会变坏,若用低通滤波虽能去除噪声但陡峭的边缘将被模糊。对于一维情况,中值滤波器不影响阶跃函数和斜坡函数,并可以有效地消除单、双脉冲,使三角函数的顶端变平;对于二维情况,中值滤波的窗口形状和尺寸对滤波器效果影响很大。使用二维中值滤波最值得注意的是要保持图像中有效的细线状物体,如果图像中的线、尖角细节较多,则不宜采用中值滤波。中值滤波特性中值滤波有两大特性:(1对某些输入信号中值滤波的不变性;(2中值滤波去噪性能:可以用来减弱随机干扰和脉冲干扰。对尖峰性干扰效果好,即保持边缘的陡度又去掉干扰,对高斯分布噪声效果差;对脉冲干扰来
50、讲,特别是相距较远的窄脉冲干扰,中值滤波是很有效的。图中值滤波前后效果对比4.3 二值化处理图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处
51、理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。效果如下图4.3所示:图4.3-二值化前后效果对比4.4 腐蚀与膨
52、胀处理数学形态学中二值图像的形态变换是一种针对集合的处理过程。其形态算子的实质是表达物体或形状的集合与结构元素间的相互作用,结构元素的形状就决定了这种运算所提取的信号的形状信息。形态学图像处理是在图像中移动一个结构元素,然后将结构元素与下面的二值图像进行交、并等集合运算。基本的形态运算是腐蚀和膨胀。在形态学中,结构元素是最重要最基本的概念。结构元素在形态变换中的作用相当于信号处理中的“滤波窗口”。用B(x)代表结构元素,对工作空间E中的每一点x。1.腐蚀定义为:上式表明E用B腐蚀的结果是所有x的集合,其中B平移X后仍在E中。换句话说,用E来腐蚀A得到的集合是B完全包含在E中时B的原点位置的集合
53、。对图像进行腐蚀运算的作用是消除物体边界点。腐蚀可以把小于结构元素的物体去掉。另外,如果两个物体之间有细小的连通,那么选择适当的结构元素,通过腐蚀运算就可以把两个物体分开。2.膨胀定义为:上式表明用B膨胀E的过程是,先对B做关于原点的映射,再将其映象平移x,这里E与B映象的交集不为空集。膨胀运算的作用是把图像周围的背景点合并到物体中。如果两个物体之间的距离比较近,那么膨胀运算可能会使两个物体连通在一起。膨胀对填补图象分割后物体中的空洞很有用。用B(x)对E进行腐蚀的结果就是把结构元素B平移后使B包含于E的所有点构成的集合。用B(x)对E进行膨胀的结果就是把结构元素B平移后使B与E的交集非空的点
54、构成的集合。4.5 开运算和闭运算处理膨胀和腐蚀并不是互为逆运算,所以它们可以级连结合使用。例如,可先对图像进行腐蚀然后膨胀其结果,或先对图像进行膨胀然后腐蚀其结果(使用同一个结构元素。先腐蚀后膨胀的过程称为开运算。它具有消除细小物体,在纤细处分离物体和平滑较大物体边界的作用。先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。可见,二值形态膨胀与腐蚀可转化为集合的逻辑运算,算法简单,适于并行处理,且易于硬件实现,适于对二值图像进行图像分割、细化、抽取骨架、边缘提取、形状分析。但是,在不同的应用场合,结构元素的选择及其相应的处理算法是不一样的,对不同的目标图像
55、需设计不同的结构元素和不同的处理算法。结构元素的大小、形状选择合适与否,将直接影响图像的形态运算结果。因此,很多学者结合自己的应用实际,提出了一系列的改进算法。如梁勇提出的用多方位形态学结构元素进行边缘检测算法既具有较好的边缘定位能力,又具有很好的噪声平滑能力。许超提出的以最短线段结构元素构造准圆结构元素或序列结构元素生成准圆结构元素相结合的设计方法,用于骨架的提取,可大大减少形态运算的计算量,并可同时满足尺度、平移及旋转相容性,适于对形状进行分析和描述。效果图如下图4.5所示:图4.5-开运算前后效果对比第5章 混合高斯模型与压缩感知跟踪算法原理详解5.1 混合高斯模型原理背景差分法和帧间差
56、分法以及光流法,虽然有算法简单、实时性强等优点,但当摄像机场景中,背景自身含有(如随风晃动的树叶等)运动的物体存在时,此两种方法将出现大量的误检测信息。同时,此两种算法在对差分图像进行二值化时,整幅图像均使用统一的二值化阈值,使得阈值选择难度大,往往顾此失彼。而cood_book算法目前并不成熟,在实际应用中,远不及混合高斯模型应用广泛。为解决这些问题,背景建模的跟踪方法被提出。它使用统计学、概率论方法对图像的每个像素点的灰度值或彩色值进行分析,建立各像素点的统计学规律,形成完整的背景模型,并在后继帧中不断更新背景的统计模型。该方法提取的背景具有很高的质量和适应能力,因而得到广泛运用。其中,以
57、高斯分布背景建模及其改进方法使用最为广泛。混合高斯模型的建立使用混合高斯模型方法11-15对背景进行建模的方法,由Stauffer和Grimson等于1999年提出。该方法假定,在噪声影响下,背景图像各个像素点的颜色值变化符合高斯分布。通过对视频图像帧中各像素点建立对应的高斯模型,形成完整的背景模型,并根据该高斯模型的均值和方差信息,判断像素点是背景像素还是前景目标。若当前帧中像素的特征与对应像素点的背景高斯模型相匹配,则此点被判定为背景;否则,此点为前景目标的一部分。因为背景中常常含有轻微扰动的因素(如树叶的晃动)、不同时间段内场景中光线的变化等,因此,使用单一的高斯模型表征某一像素点已不能满足要求。在树叶晃动情况下,树叶在此像素点位置时,需要一个高斯模型来描绘;当树叶离开此位置时,又需要另一个高斯模型来描绘。由此,提出使用多个高斯模型来描述同一像素点的混合高斯模型。同时,使用混合高斯模型方法,可以分别对彩色图像的R、G、B分量分别建立模型,使算法适应于对彩色图像下的运动目标跟踪,能充分利用目标的颜色信息。设t时刻,图像的每个像素点(x, y的颜色It(x, y可由K个高斯分布描述,K通常为37个,i1, 2. .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年03月宁波市海曙区古林镇人民政府公开招聘3人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 广东省东莞市实验中学2024-2025学年高一下学期3月月考数学试卷(含答案)
- 南京邮电大学通达学院《中华音乐英文演绎》2023-2024学年第二学期期末试卷
- 西安外事学院《篆书》2023-2024学年第一学期期末试卷
- 宁夏大学新华学院《工程三级实训(数据可视化技术)》2023-2024学年第一学期期末试卷
- 上海震旦职业学院《构成基础》2023-2024学年第二学期期末试卷
- 丽江文化旅游学院《医学统计学实验》2023-2024学年第一学期期末试卷
- 滨州职业学院《小学课堂观察》2023-2024学年第二学期期末试卷
- 贵州航空职业技术学院《交通运输工程》2023-2024学年第二学期期末试卷
- 渤海理工职业学院《体适能理论与实践》2023-2024学年第一学期期末试卷
- GB/T 21566-2008危险品爆炸品摩擦感度试验方法
- GB/T 17207-2012电子设备用固定电容器第18-1部分:空白详细规范表面安装固体(MnO2)电解质铝固定电容器评定水平EZ
- 国开电大《人员招聘与培训实务》形考任务4国家开放大学试题答案
- 临时用电现场安全检查表
- 猪营养体系课件
- 青少年模拟法庭剧本(敲诈勒索)
- 中考复习确定二次函数的解析式课件
- 万用表校准报告
- 公司金融课件(完整版)
- 地铁盾构法施工技术试题
- 高处作业审批表
评论
0/150
提交评论