前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机视觉基础及应用范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
(1)课程内容方面:工程应用价值较小的内容居多;具备工程应用价值的方法,如基于结构光的3D信息获取,在课程内容中却极少出现。
(2)课程定位方面:现有课程体系中未能体现最新研究成果,而掌握世界最新工程应用成果是卓越工程师的基本要求之一。
(3)教学形式方面:传统计算机视觉课程侧重基本原理,尽管范例教学被引入到课堂教学中,在一定程度上帮助学生理解,但卓越工程师培养目标是培养学生解决实际工程问题的能力。针对卓越工程师培养目标,以及目前计算机视觉课程中存在的问题,本文提出工程应用导向型的课程内容、面向最新成果的课程定位、理论实例化与工程实践化的教学形式,以培养具有扎实理论基础及工程实践能力的卓越工程师。
1工程应用导向型的课程内容传统计算机视觉课程围绕Marr理论框架展开教学,其中部分原理仅在理想状态或若干假设下成立,不能直接运用到工程实践中。近年来已具备工程应用基础的原理及方法,在传统课程内容中较少出现,如已在工业测量、视频监控、游戏娱乐等领域中应用的主动式三维数据获取方法等。我们对工程应用价值高的课程内容,增加课时,充分讲解其原理及算法,并进行工程实例分析;对工程应用价值较低内容,压缩课时,以介绍方法原理为主。例如,在教授3D信息获取部分时,课时主要投入到工程应用价值较大的内容,如立体视觉、运动恢复结构、基于结构光的3D信息获取等;而对于基于阴影的景物恢复等缺乏应用基础的内容主要介绍其基本原理,并引导学生进行其工程应用的可行性分析,培养学生缜密的思维习惯,训练学生辩证的分析能力。
2面向最新成果的课程定位计算机视觉近十年来发展迅速,新方法和新理论层出不穷,在现有课程体系中未能得以体现。跟进世界最新成果是卓越工程师的基本要求之一,因此计算机视觉课程定位应当面向国际最新成果。为实现这一目标,我们主要从以下两方面入手。
(1)选用涵盖最新成果的教材。我们在教学中加入国际最新科研成果及应用范例,在教材选取上采用2010年RichardSzeliski教授所著《Computervision:algorithmsandapplications》作为参考教材。该书是RichardSzeliski教授在多年MIT执教经验及微软多年计算机视觉领域工作经验基础上所著,涵盖计算机视觉领域的主要科研成果及应用范例,参考文献最新引用至2010年。这是目前最新的计算机视觉著作之一,条理清晰,深入浅出,特点在于对计算机视觉的基本原理介绍非常详尽,算法应用紧跟国际前沿。
(2)强化学生调研及自学能力。“授之以鱼”,不如“授之以渔”。在教授学生的同时,更重要的是培养学生调研、跟踪、学习并分析国际最新科研及工程应用成果的能力。为强化学生的知识结构,培养学生跟踪国际前沿的能力,我们在教学中加入10%的课外学时,指导每位学生完成最近三年本领域的国际最新文献调研及工程应用新技术调研,并撰写相关调研论文。同时,设置2学时课内学时,让每位学生介绍调研成果,并进行课堂讨论。在调研基础上,选择相关算法进行了实验证明,进一步强化学习成果。实践证明,由于学生能够根据自己的兴趣,选择本领域感兴趣的课题进行深入调研,极大地调动了学生的积极性,强化了学生调研、跟踪、学习并分析国际最新科研及工程应用成果的能力。
3工程实践化的教学形式我们在教学中提出工程实践化的教学形式,即以人类视觉功能为背景,由相应工程实例引出相关理论,并最终将理论运用到工程实例中的算法和方法传授给学生。
关键词:计算机;视觉技术;交通工程
中图分类号:TP391 文献标识码:A 文章编号:1674-7712 (2014) 04-0000-01
一、引言
随着科技的发展,计算机替代人的视觉与思维已经成为现实,这也是计算机视觉的突出显现。那么在物体图像中识别物体并作进一步处理,是客观世界的主观反应。在数字化图像中,我们可以探寻出较为固定的数字联系,在物体特征搜集并处理时做到二次实现。这既是对物体特征的外在显现与描绘,更是对其定量信息的标定。从交通工程领域的角度来看,该种技术一般应用在交管及安全方面。监控交通流、识别车况及高速收费都是属于交通管理的范畴;而对交通重大事件的勘察及甄别则是交通安全所属。在这个基础上,笔者对计算机视觉系统的组成及原理进行了分析,并形成视觉处理相关技术研究。
二、设计计算机视觉系统构成
计算机视觉处理技术的应用是建立在视觉系统的建立基础上的。其内部主要的构成是计算机光源、光电转换相关器件及图像采集卡等元件。
(一)照明条件的设计。在测量物体的表征时,环境的创设是图像分析处理的前提,其主要通过光线反射将影像投射到光电传感器上。故而要想获得清晰图像离不开照明条件的选择。在设计照明条件时,我们通常会视具体而不同处理,不过总的目标是一定的,那就是要利于处理图像及对其进行提取分析。在照明条件的设定中,主动视觉系统结构光是较为典型的范例。
(二)数据采集的处理。如今电耦合器件(CCD)中,摄像机及光电传感器较为常见。它们输出形成的影像均为模拟化的电子信号。在此基础上,A模式与D模式的相互对接更能够让信号进入计算机并达到数字处理标准,最后再量化入计算机系统处理范围。客观物体色彩的不同,也就造就了色彩带给人信息的差异。一般地黑白图像是单色摄像机输入的结果;彩色图像则需要彩色相机来实现。其过程为:彩色模拟信号解码为RGB单独信号,并单独A/D转换,输出后借助色彩查找表来显示相应色彩。每幅图像一旦经过数字处理就会形成点阵,并将n个信息浓缩于每点中。彩色获得的图像在16比特,而黑白所获黑白灰图像则仅有8比特。故而从信息采集量上来看,彩色的图像采集分析更为繁复些。不过黑白跟灰度图像也基本适应于基础信息的特征分析。相机数量及研究技法的角度,则有三个分类:“单目视觉”、“双目”及“三目”立体视觉。
三、研究与应用计算机视觉处理技术
从对图像进行编辑的过程可以看出,计算机视觉处理技术在物体成像及计算后会在灰度阵列中参杂无效信息群,使得信息存在遗失风险。成像的噪声在一定程度上也对获取有效信息造成了干扰。故而,处理图像必须要有前提地预设分析,还原图像本相,从而消去噪音。边缘增强在特定的图像变化程度中,其起到的是对特征方法的削减。基于二值化,分割图像才能够进一步开展。对于物体的检测多借助某个范围来达到目的。识别和测算物体一般总是靠对特征的甄别来完成的。
四、分析处理三维物体技术
物体外轮扩线及表面对应位置的限定下,物体性质的外在表现则是其形状。三维物体从内含性质上来看也有体现,如通过其内含性质所变现出来的表层构造及边界划定等等。故而在确定图像特征方面,物体的三维形态是最常用的处理技术。检测三维物体形状及分析距离从计算机视觉技术角度来看,渠道很多,其原理主要是借助光源特性在图像输入时的显现来实现的。其类别有主动与被动两类。借助自然光照来对图像获取并挖掘深入信息的技术叫做被动测距;主动测距的光源条件则是利用人为设置的,其信息也是图像在经过测算分析时得到的。被动测距的主要用途体现在军工业保密及限制环境中,而普通建筑行业则主要利用主动测距。特别是较小尺寸物体的测算,以及拥有抗干扰及其他非接触测距环境。
(一)主动测距技术。主动测距,主要是指光源条件是在人为创设环境中满足的,且从景物外像得到相关点化信息,可以适当显示图像大概并进行初步分析处理,以对计算适应功率及信息测算程度形成水平提高。从技术种类上说,主动测距技术可分为雷达取像、几何光学聚焦、图像干扰及衍射等。除了结构光法外的测量方法均为基于物理成像,并搜集所成图像,并得到特殊物理特征图像。从不同的研究环境到条件所涉,以结构光法测量作为主要技术的工程需求较为普遍,其原理为:首先在光源的设计上由人为来进行环境考虑测算,再从其中获取较为全面的离散点化信息。在离散处理后,此类图像已经形成了较多的物体真是特征表象。在此基础上,信息需要不断简化与甄别、压缩。如果分析整个物体特征信息链,则后期主要体现在对于数据的简化分析。如今人们已经把研究的目光转向了结构光测量方法的应用,体现在物体形状检测等方面。
(二)被动测距技术。被动测距,对光照条件的选择具有局限性,其主要通过对于自然光的覆盖得以实现。它在图像原始信息处理及分析匹配方面技术指向较为突出。也通过此三维物体之形状及周围环境深度均被显露。在图像原始信息基础上的应用计算,其与结构光等相比繁杂程度较高。分析物体三维特性,着重从立体视觉内涵入手,适应物体自身特点而存在。不过相对来说获得图像特征才是其适应匹配的条件保障。点、线、区域及结构纹理等是物象特征的主体形式。其中物特较为基础与原始的特征是前两个特征,同时它们也是其他相关表征的前提。计算机系统技术测量基本原理为对摄像机进行构建分析,并对其图像表征进行特征匹配,以得到图像不同区间的视觉差异。
五、结束语
通过对计算机视觉技术的研究,悉知其主要的应用领域及技术组成。在系统使用的基础上深入设计,对系统主要构成环节进行分析。从而将三维复杂形态原理、算法及测量理论上升到实际应用。随着社会对于计算机的倚赖程度增加,相信该技术在建筑或者其他领域会有更加深入的研究及应用。
参考文献:
[1]段里仁.智能交通系境在我国道路空通管理中的应用[J].北方工业时报,2012(06).
[2]王丰元.计算机视觉在建筑区间的应用实例分析[J].河北电力学报,2011(04).
关键词:计算机视觉;案例推理;图像处理;图像描述
中图分类号:TP391.41 文献标识码:A文章编号:1009-3044(2007)04-11102-03
1 引言
基于案例推理(case-base reasoning)是人工智能中正不断发展的一项重要推理技术。基于案例推理与类比推理方法相似,案例推理将旧经验或教训转换为知识,出现新问题时,首先查找以前是否有相似的案例,并用相似案例解决新问题。如果没遇到相似案例的,经过推理后解决新问题的方法,又会成为新的案例或新经验,下一次再遇到相同问题时,就可以复用这些案例或经验。
这与人遇到问题时,首先会用经验思考解决问题的方式相似,这也是解决问题较好的方法。基于案例推理应用于工业产品检测或故障诊断时具有以下特点:
CBR智能化程度较高。利用案例中隐含的难以规则化的知识,以辅助规则推理的不足,提高故障诊断系统的智能化程度。
CBR较好解决“知识获取”的瓶颈。CBR知识表示以案例为基础,案例的获取比规则获取要容易,大大简化知识获取的过。
CBR求解效率较高。是对过去的求解结果进行复用,而不是再次从头开始推导,可以提高对新问题的求解效率。
CBR求解的质量较高。CBR以过去求解成功或失败的经历,可以指导当前求解时该怎样走向成功或避开失败。
CBR持续不断的学习能力,使得它可以适应于将来问题的解决。
所以基于案例推理方法正不断应用在产品质量检测和设备故障诊断方面,并取得较好的经济效益。为了产品检测和设备故障诊断中,更为智能化,更容易实现现场检测和诊断,计算机视觉技术起到很大的作用。
计算机视觉是研究用计算机来模拟人和生物的视觉系统功能的技术学科,使计算机具有感知周围视觉世界的能力。通过计算机视觉,进行图像的获取预处理、图像分割与特征抽取、识别与分类、三维信息理解、景物描述、图像解释,让计算机具有对周围世界的空间物体进行传感、抽象、判断的能力,从而达到识别、理解的目的。
计算机视觉随着科学技术发展,特别计算机技术、通信技术、图像采集技术、传感器技术等,以及神经网络理论、模糊数学理论、小波的分析理论等计算机视觉理论的不断发展和日趋成熟,使计算机视觉从上世纪60年代开始兴起发展到现在,取得快速发展,已经从简单图像质量处理发展到围绕着纹理分析、图像编码、图像分割和滤波等研究。图像的分析与处理,也由静止转向运动,由二维转向三维,并主要着眼于对图像的识别和理解上,也使计算机视觉的应用领域更为广泛,为案例推理中运用计算机视觉打下基础。
2 案例推理系统的主要关键技术
(1)案例的表示与组织
案例的表示与组织即是如何抽取案例的特征变量,并以一定的结构在计算机中组织存储。如何将信息抽取出特征变量,选择什么语言描述案例和选择什么内容存放在案例中,案例按什么组织结构存放在存储器中,这关系到基于案例推理方法的效率,而且对于案例数量越来越多,结构十分复杂的案例库,尤其重要。
(2)案例的索引与检索
案例的索引与检索即是为了查找最佳相似案例,如何建立案例索引和相似度算法,利用检索信息从案例库中检索并选择潜在可用相似案例。后面的工作能否发挥出应有的作用,很大程度上依赖于这一阶段得到的案例质量的高低,因此这一步非常关键。
(3)案例的复用和调整
案例的复用即是如何根据旧案例得出新解,涉及到找出案例与新问题之间的不同之处,案例中的哪些部分可以用于新问题,哪些部分不适合应用于新问题的解决。而复用还分案例的结果复用,案例的求解方法复用。
(4)案例的学习
案例的学习即是将新解添加到案例库中,扩充案例库的案例种类与数量,这过程也是知识获取。此过程涉及选取哪些信息保留,以及如何把新案例有机集成到案例库中,包括如何存储,如何建立索引等等。
针对案例推理的关键技术,根据检测和故障诊断系统的特点,计算机视觉主要解决如何将产品图像输入系统,如何将产品图像特征进行抽取和描述,如何区别产品不同之处。以便案例推理系统进行案例建模,确立案例的表示形成和案例相似度的计算。本文主要从计算机视觉如何运用在案例推理系统进行探讨。
3 产品输入系统
产品输入系统在不同产品类型和生产环境可能有不同之处,主要应有传感器单元和图像采集单元。如图1。
图1 产品输入系统结构
传感器单元主要判断是否有产品存在,是否需要进行图像采集,是否继续下一个产品图像的采集。这简单传感器可使用光电开关,配合光源,当产品经过时,产品遮挡住光源,使光电开关产生一个0值,而没有产品经过时,光电开关产生相反的1值,系统通过判断光电开关的值,从而判断是否有产品。
图像采集单元简单地说是将产品拍摄并形成数字化图像,主要包括光源、反射镜、CCD相机和图像采集卡等组成。光源和反射镜作用主要使图像中的物体和背景之间有较大灰度。CCD相机主要是拍摄设备。图像采集卡主要是将图像数字化。通过传感器判断有产品后,光源发出的光均匀地照在被测件上,CCD相机拍摄,拍摄图像经过图像采集卡数字化后输入存储设备。存储设备即为计算机硬盘。存放原始图像、数据、处理结果等。
这是案例推理系统的原始数据,是图像处理、图像特征抽取描述的基础。
4 图像处理
在案例推理系统中,需要对案例的组织和案例建模,案例的组织即案例的表示,相对计算机而言,即图像特征的抽取,即某图像具有与其它图像不同之处,用于区别其它图像,具有唯一性。同时,又能完整地表示该图像。所以案例的表示要体现案例的完整性、唯一性、操作容易性。
图像中有颜色区别、又有物体大小之分以及图像由不同的物体组成。如何表示图像,或说图像内部包含表示的本质,即图像的描述。根据图像特点,确立图像案例的表示,以图像的像素、图像的数字化外观、图像物体的数字组成等属性。这需要对产品输入的原始图像进行处理。
在计算机视觉技术中,对原始图像主要进行图像增强、平滑、边缘锐化、分割、特征抽取、图像识别与理解等内容。经过这些处理后,输出图像的质量得到相当程度的改善,既改善了图像的视觉效果,又便于计算机对图像进行分析、处理和识别。具体工作流程如图2所示:
图2 计算机视觉的任务与工作流程
图像预处理是将产品的数字图像输入计算机后,首先要进行图像的预处理,主要完成对图像噪声的消除以及零件的边缘提取。预处理的步骤为:图像二值化处理;图像的平滑处理;图像的边缘提取。
图像二值化处理主将灰度图形二值化的关键是阈值的选取,由于物体与背景有明显的灰度差,可以选取根据灰度直方图中两峰之间的谷值作为阈值来分割目标和背景。
图像的平滑处理技术即图像的去噪声处理,主要是为了去除实际成像过程中因成像设备和环境所造成的图像失真,提取有用信息。
图像边缘提取是为了将图像中有意义的对象与其背景分开,并使之具有某种指定的数学或符号表达形式,使计算机能够理解对象的具体含义,检测出边缘的图像就可以进行特征提取和形状分析了。可采用多种算法,如采用Sobel算子提取边缘。
图像预处理是为下一步的特征描述打基础,预处理的好坏直接影响案例推理的结果和检测诊断的效率。
特征提取是对图像进行描述,是案例建模关键,案例建模是根据案例组织要求抽取图像特征,是建立案例索引和检索的关键。如果图像没有特征,就谈不上进行检索。图像特征可通过图像边界、图像分割、图像的纹理等方法,确定图像特征,包括是什么产品、产品形状大小、产品颜色,产品有什么缺陷、产品缺陷在什么位置等特征,根据这些图像特征进行描述,形成计算机中属性值,并从数据库查找相应信息资料,从而确定产品之间的关系,相似度,也就是案例推理的方向。
5 系统的检索
根据案例推理原理和相应算法,建立案例推理系统模型,如图3所示。
图3 案例推理系统
对话系统:完成人机交互、问题描述、结果显示和系统总控制。
案例库系统:由案例库及案例库管理系统组成。
数据析取系统:对各种已有的源数据库的数据通过转换而形成所需的数据。
多库协同器:根据问题求解的需要,按照一定的数据抽取策略,完成问题求解过程中对模型库系统、方法库系统、知识库系统和数据库系统等资源的调度与协调。
知识库系统:由产生式规则组成,这些知识包括专家经验和以规则形式表示的有关知识,也可以是数据挖掘结论,支持案例检索、案例分析、案例调整等。 模型库系统:由模型库、算法库、模型库管理系统组成。完成模型识别和调用,并把结果综合,送入对话系统显示,作为补充信息供案例检索、调整使用。
数据库系统:存放待决策支持的所有问题,并完成其维护与查询等功能。
由于系统主要应用产品的现场实时检测监控或故障诊断,所以系统的检索时,也必须输入检索值,即输入现场产品的图像,在通过产品预处理、图像的二值化、分割和边界处理后,进行图像特征描述,根据图像描述进行分类识别。根据案例推理的算法检索案例库中,是否有相似的案例。即确定相似度。相似度确定主要由案例推理的算法确定,如贴近分析法。确定相似度最大作为结果,并将案例的解输出,给相关控制系统进行决策。如产品质量检测,确定产品质量是否合格,是否有不合格产品,不合格产品是什么原因造成,故障源是什么,如何解决和排除故障,等等。
6 结论
案例推理方法有效地解决计算机视觉技术中图像检索问题。对提高图像检索的效率和准确度提供了平台。
计算机视觉技术也为案例推理系统实现产品现场实时检测、监控、诊断提供技术支持。计算机视觉技术现场的数据采集、处理为案例推理打好基础。
两者的结合设计的系统适用范围很广,只要产品需要进行质量检测、监控,或设备需要进行故障诊断和维护,都可以适用。
系统提供的实时检测、监控和诊断功能,提高企业的生产效益,降低了生产成本。
参考文献:
[1](美)桑肯(Sonka,M).图像处理分析与机器视觉[M].人民邮电出版社.
[2]王宏等译.计算机视觉[M].电子工业出版社.
[3]蔡建荣.自然场景下成熟水果的计算机视觉识别[J].农业机械,36(2):61-64.
[4]王宇辉.基于计算机视觉的锥体零件尺寸在线检测算法[J].重型机械,2005,2:4-6
[5]骆志坚.基于计算机视觉检测技术自动计数系统的研究与应用[J].仪表技术与传感器,2005,3:41-43.
[6]左小德.贴近度分析法在案例库推理中的应用[J],南大学学报(自然科学版),1997,18(1):21-26.
[7]姜丽红.案例推理在智能化预测支持系统中的应用研究[J].决策与决策支持系统,1996,6(4):63-69.
关键词:数字摄影测量 计算机视觉 多目立体视觉 影像匹配
引言
摄影测量学是一门古老的学科,若从1839年摄影术的发明算起,摄影测量学已有170多年的历史,而被普遍认为摄影测量学真正起点的是1851―1859年“交会摄影测量”的提出。在这漫长的发展过程中,摄影测量学经历了模拟法、解析法和数字化三个阶段。模拟摄影测量和解析摄影测量分别是以立体摄影测量的发明和计算机的发明为标志,因此很大程度上,计算机的发展决定了摄影测量学的发展。在解析摄影测量中,计算机用于大规模的空中三角测量、区域网平差、数字测图,还用于计算共线方程,在解析测图仪中起着控制相片盘的实时运动,交会空间点位的作用。而出现在数字摄影测量阶段的数字摄影测量工作站(digital photogrammetry workstation,DPW)就是一台计算机+各种功能的摄影测量软件。如果说从模拟摄影测量到解析摄影测量的发展是一次技术的进步,那么从解析摄影测量到数字摄影测量的发展则是一场技术的革命。数字摄影测量与模拟、解析摄影测量的最大区别在于:它处理的是数字影像而不再是模拟相片,更为重要的是它开始并将不断深入地利用计算机替代作业员的眼睛。[1-2]毫无疑问,摄影测量进入数字摄影测量时代已经与计算机视觉紧密联系在一起了[2]。
计算机视觉是一个相对年轻而又发展迅速的领域。其目标是使计算机具有通过二维图像认知三维环境信息的能力,这种能力将不仅使机器能感知三维环境中物体的几何信息,包括它的形状、位置、姿态、运动等,而且能对它们进行描述、存储、识别与理解[3]。数字摄影测量具有类似的目标,也面临着相同的基本问题。数字摄影测量学涉及多个学科,如图像处理、模式识别以及计算机图形学等。由于它与计算机视觉的联系十分紧密,有些专家将其看做是计算机视觉的分支。
数字摄影测量的发展已经借鉴了许多计算机视觉的研究成果[4]。数字摄影测量发展导致了实时摄影测量的出现,所谓实时摄影测量是指利用多台CCD数字摄影机对目标进行影像获取,并直接输入计算机系统中,在实时软件的帮助下,立刻获得和提取需要的信息,并用来控制对目标的操作[1]。在立体观测的过程中,其主要利用计算机视觉方法实现计算机代替人眼。随着数码相机技术的发展和应用,数字近景摄影测量已经成为必然趋势。近景摄影测量是利用近距离摄影取得的影像信息,研究物体大小形状和时空位置的一门新技术,它是一种基于数字信息和数字影像技术的数据获取手段。量测型的计算机视觉与数字近景摄影测量的学科交叉将会在计算机视觉中形成一个新的分支――摄影测量的计算机视觉,但是它不应仅仅局限于地学信息[2]。
1. 计算机视觉与数字摄影测量的差异
1.1 目的不同导致二者的坐标系和基本公式不同
摄影测量的基本任务是严格建立相片获取瞬间所存在的像点与对应物点之间的几何关系,最终实现利用摄影片上的影像信息测制各种比例尺地形图,建立地形数据库,为各种地理信息系统建立或更新提供基础数据。因此,它是在测绘领域内发展起来的一门学科。
而计算机视觉领域的突出特点是其多样性与不完善性。计算机视觉的主要任务是通过对采集的图片或视频进行处理以获得相应场景的三维信息,因此直到计算机的性能提高到足以处理大规模数据时它才得到正式的关注和发展,而这些发展往往起源于其他不同领域的需要。比如在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用计算机来替代人工视觉。
由于摄影测量是测绘地形图的重要手段之一,为了测绘某一地区而摄影的所有影像,必须建立统一的坐标系。而计算机视觉是研究怎样用计算机模拟人的眼睛,因此它是以眼睛(摄影机中心)与光轴构成的坐标系为准。因此,摄影测量与计算机视觉目的不同,导致它们对物体与影像之间关系的描述也不同。
1.2 二者处理流程不同
2. 可用于数字摄影测量领域的计算机视觉理论――立体视觉
2.1 立体视觉
立体视觉是计算机视觉中的一个重要分支,一直是计算机视觉研究的重点和热点之一,在20多年的发展过程中,逐渐形成了自己的方法和理论。立体视觉的基本原理是从两个(或多个)视点观察同一景物,以获取在不同视角下的感知图像,通过三角测量原理计算像像素间的位置偏差(即视差)来获取景物的三维信息,这一过程与人类视觉的立体感知过程是类似的。一个完整的立体视觉系统通常可分为图像获取、摄像机定标、特征提取、影像匹配、深度确定及内插等6个大部分[5]。其中影像匹配是立体视觉中最重要也是最困难的问题,也是计算机视觉和数字摄影测量的核心问题。
2.2 影像匹配
立体视觉的最终目的是为了恢复景物可视表面的完整信息。当空间三维场景被投影为二维图像时,同一景物在不同视点下的图像会有很大不同,而且场景中的诸多因素,如光照条件,景物几何形状和物理特性、噪声干扰和畸变以及摄像机特性等,都被综合成单一的图像中的灰度值。因此,要准确地对包含了如此之多不利因素的图像进行无歧义的匹配,显然是十分困难的。
在摄影测量中最基本的过程之一就是在两幅或者更多幅的重叠影像中识别并定位同名点,以产生立体影像。在模拟摄影测量和解析摄影测量中,同名点的识别是通过人工操作方式完成的;而在数字摄影测量中则利用计算机代替人工解决同名点识别的问题,即采用影像匹配的方法。
2.3 多目立体视觉
根据单张相片只能确定地面某个点的方向,不能确定地面点的三维空间位置,而有了立体像对则可构成与地面相似的立体模型,解求地面点的空间位置。双目立体视觉由不同位置的两台或者一台摄像机(CCD)经过移动或旋转拍摄同一幅场景,就像人有了两只眼睛,才能看三维立体景观一样,然后通过计算空间点在两幅图像中的视差,获得该点的三维坐标值。现在的数字摄影测量中的立体像对技术通常是在一条基线上进行的,但是由于采用计算机匹配替代人眼测定影像同名像对时存在大量的误匹配,使自动匹配的结果很不可靠。其存在的问题主要是,对存在特殊结构的景物,如平坦、缺乏纹理细节、周期性的重复特征等易产生假匹配;在摄像机基线距离增大时,遮挡严重,能重建的空间点减少。为了解决这些问题,降低双目匹配的难度,自1986年以来出现了三目立体视觉系统,即采用3个摄像机同时摄取空间景物,通过利用第三目图像提供的信息来消除匹配的歧义性[5]。采用“多目立体视觉技术”可以利用摄影测量的空中三角测量原理,对多度重叠点进行“多方向的前方交会”,既能较有效地解决随机的误匹配问题,同时又能增加交会角,提高高程测量的精度[2]。这项技术的应用,将很大程度地解决自动匹配结果的不可靠性,提高数字摄影测量系统的准确性。
关键词:目标跟踪;CAMSHIFT算法;OpenCV;颜色直方图
中图分类号:TP391文献标识码:B文章编号:1004373X(2008)2012803
Moving Object Tracking Method and Implement Based on OpenCV
LI Zhenwei1,2,CHEN Chong1,2,ZHAO You1
(1.Changchun Observatory,National Astronomical Observatories,Chinese Academy of Sciences,Changchun,130117,China;
2.Graduate School,Chinese Academy of Sciences,Beijing,100049,China)
Abstract:CAMSHIFT is an object tracking algorithm based onthe color histogram.In the process of object tracking,CAMSHIFT operates on a color back-projection image produced from object histogram model in current frame and finds the location and size of the current frame by adaptively adjusting the size and the location of the searching windows according to the tracking results of the previous frame in the video.On the basis of introducing OpenCV(an Intel open source computer vision library),through CAMSHIFT algorithm,the paper realizes moving object tracking and resolves some problems including distractor and occlusion by other objects.Experimental results show good performances,superiority and feasibility of the algorithm.
Keywords:object tracking;CAMSHIFT algorithm;OpenCV;color histogram
目标跟踪是计算机视觉的一个重要分支,日益广泛应用于科学技术、国防安全、航空、医药卫生以及国民经济等领域。实现目标跟踪的关键在于完整地分割目标、合理提取特征和准确地识别目标,同时,要考虑算法实现的时间,以保证实时性。当视频图像中被跟踪目标发生姿态变化,存在旋转或部分遮挡时,简单的灰度模板或者Hausdorff距离匹配一般很难达到实时跟踪目标的要求,出现误匹配或者跟踪丢失的情况,而且跟踪效率较低。
Gary R.Bradski提出的CAMSHIFT[1](Continuously Adaptive Mean Shift)算法是以颜色直方图为目标模式的目标跟踪算法,可以有效地解决目标变形和部分遮挡的问题,而且运算效率很高。该文首先详细介绍CAMSHIFT算法,并结合Intel公司开发的开源OpenCV计算机视觉库,实现了运动目标跟踪,并验证了CAMSHIFT算法的有效性以及展现OpenCV计算机视觉库的灵活性和优越性。
1 CAMSHIFT算法
由于RGB颜色空间对光照亮度变化比较敏感[2],为了减少光照亮度变化对跟踪效果的影响,CAMSHIFT算法将图像由RGB颜色空间转化到HSV(Hue,Saturation,Value)颜色空间再进行后续处理。
图1是CAMSHIFT算法流程。首先选择大小为S的初始搜索窗口,然后对该窗口中每一个像素点的H通道上采样,得到运动目标的色调(Hue)直方图,再将该直方图保存下来作为搜索目标的颜色直方图模型。在目标跟踪过程中,对摄像头当前帧图像的每一个像素,通过查询目标的颜色直方图模型,可以得到该像素为目标像素的概率。经上述预处理,视频中每一帧图像都转化为目标颜色概率分布图,也称为目标颜色投影图。在一般情况下,将投影图转化为8位的灰度投影图,概率为1的像素值设为255,概率为0的像素值为0,其他像素也转换为相应的灰度值。
图1中虚线部分是CAMSHIFT算法的核心。设点(x,y)为搜索窗口中的像素位置,I(x,y)是投影图中(x,y)处的像素值。为此,定义搜索窗口的零阶矩M00和一阶矩M01,M10分别如下:
M00=∑x∑yI(x,y)
M01=∑x∑yyI(x,y)
M10=∑x∑yxI(x,y)
图1 CAMSHIFT算法跟踪流程
该搜索窗口的质心位置为:
(xc,yc)=(M10/M00,M01/M00)
计算跟踪目标的方向和尺寸:
二阶矩:
M20=∑x∑yx2I(x,y)
M02=∑x∑yy2I(x,y)
M11=∑x∑yxyI(x,y)
令:
a =M20 /M00 -x2c,b=2(M11/M00-xcyc),
c =M02 /M00 -y2c
目标长轴的方向角为:
θ=12tan-1(ba-c)
图像中目标的长轴和短轴的长度计算公式:
l=(a+c)+b2+(a-c)22,
w=(a+c)-b2+(a-c)22
然后,根据零阶矩M00调整搜索窗口的大小,并将搜索窗口的中心移动到质心,如果移动距离大于预先设定的固定阈值,则重新计算调整后的窗口质心,进行新一轮的窗口位置和尺寸调整,直到窗口中心与质心间的距离小于预设的固定阈值,或者循环运算的次数达到某一最大值,认为收敛条件满足,进入下一帧图像进行心的目标搜索。在下一帧图像中,利用上一帧图像中最终得到的窗口质心位置和S=2M00256来设置新的搜索窗口位置和尺寸。CAMSHIFT跟踪算法在视频单帧内与帧间都根据上一步得到的M00自适应地调整搜索窗口的大小,因而可以适应跟踪目标动态变形的情况。
2 计算机视觉类库OpenCV简介
开放源代码的计算机视觉类库OpenCV( Intel@ Open Source Computer Vision Library)由英特尔公司位于俄罗斯的研究实验室所开发,它是一套可免费获得的、由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。
OpenCV主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。
与其他计算机视觉工具相比,OpenCV的优越性如表1所示:
表1 图像处理、计算机视觉工具比较(IPL,openCV,IPP,visDSK与 Matlab)
开发工具开发单位应用领域免费情况源码公开与否备注
IPLIntel图像处理Free不公开已被并入到IPP
OpenCVIntel图像处理、计算机视觉Free公开基于Intel芯片代码优化
IPPIntel集成开发环境库(图像处理、信号处理等)Not free不公开基于Intel芯片代码优化
VisDSKMircrosoft图像处理Free公开无优化
MatlabMathWorks多学科、多种工作平台Not free不公开速度慢,不宜编译成可执行文件
OpenCV是Intel公司开发的图像处理和计算机视觉函数库,它有以下特点:
(1) 开放C及C++源码;
(2)基于Intel处理器指令集开发的优化代码;
(3)统一的结构和功能定义;
(4)强大的图像和矩阵运算能力;
(5)方便灵活的用户接口;
(6) 同时支持MS-Windows,Linux平台;
(7) 在速度上OpenCV还有Intel 公司的mmx和ssl优化。
2.1 OpenCV的数据结构
OpenCV设计一些基本数据类型,基本的数据类型包括:图像类的IplImage,矩阵类的CvMat,可变集合类的CvSeq,CvSet,CvGraph以及用于多维柱状图的混合类CvHistogram。辅助数据类型包括:用于表示二维点坐标的CvPoint,用于表示图像宽和高的CvSize等。
2.2 OpenCV的函数体系
OpenCV中每个函数的命名都以“cv”开始,然后是该函数的行为及目标。例如用来创建图像的函数“cvCreateImage”,载入图像的函数“cvLoadImage”。OpenCV是为图像处理及计算机视觉在实际工程中的应用而设计的一个类库,其中所有的函数都由于其在实际应用中所实现的不同的功能而分属不同的类型,主要的函数类型有:
(1) 基本的图像处理与分析函数。
这个类型的函数主要用于实现一些基本的图像处理与分析功能,例如图像平滑函数cvSmooth,Sobel算子cvSobe,l Canny边缘分割函数cvCanny等。
(2) 结构分析函数。
包括有轮廓处理函数,几何学函数以及平面细分函数。
(3) 运动分析与目标跟踪函数。
包括有用于运动分析与目标跟踪的函数,例如背景重建函数cvAcc,用光流法或动态轮廓模型来实现目标跟踪的函数cvCalcOpticalFlowBM和cvSnakeImage以及卡尔曼滤波函数CvKalman等。
(4) 摄像机标定和3D重建函数。
包括有用于摄像机标定,姿态估计以及从两个摄像机进行3D相似重构的函数。
(5) GUI与视频处理函数。
包括有高级图形用户接口highGUI用以实现对图像的载入、显示及保存等基本操作以及用以实现视频输入输出及处理的函数。
3 CAMSHIFT算法实现
在OpenCV库中,CvCamShiftTracker类就是用来实现CAMSHIFT算法的,使得进行二次开发变得很简单。该函数为:
int cvCamShift( const CvArr* prob_image,CvRect window,CvTermCriteria criteria,CvConnectedComp* comp,CvBox2D* box=NULL );
prob_image:目标直方图的反向投影
window:初始搜索窗口
criteria:确定窗口搜索停止的准则
comp:生成的结构,包含收敛的搜索窗口坐标 (comprect 字段) 与窗口内部所有像素点的和 (comparea 字段).
box:目标的带边界盒子。如果非 NULL,则包含目标的尺寸和方向。
利用该函数,在VC6.0开发环境下,就容易实现CAMSHIFT算法跟踪运动物体,图2是程序界面:
图2 CAMSHIFT跟踪界面
4 实验结果与分析
在本实验中,用一个摄像头来跟踪一运动物体,下面图3~图6一系列图像是采用CAMSHIFT算法跟踪运动物体部分图像。
图3 摄像头拍到的场景
图4 手动选中的目标物体
图5 物体快速移动时跟踪目标
图6 物体发生旋转、变形时跟踪目标物体
由此可见,基于颜色直方图的CAMSHIFT算法可以有效地解决目标变形和旋转问题,而且运算效率很高,可以实时跟踪运动目标。
5 结 语
本文在详细分析CAMSHIFT算法原理的基础上,采用Intel公司开发的OpenCV视觉库,在VC6.0开发环境下,实现了运动目标实时跟踪,解决了目标旋转、变形、部分遮挡问题。同时,可以看到,在开源库OpenCV的基础上,根据自己所开发应用程序所要实现的功能选择所需的库函数,能够大大减少在计算机视觉领域中的开发时间和精力,缩短程序开发的周期。
参考文献
[1]Bradski G puter Video Face Tracking for Use in a Perceptual User Interface[J].Intel Technology Journal,1998,2:214-219.
[2]Boye M.The Effects of Caputre Conditions on the CAMSHIFT Face Tracker[R].Alberta,Canada:Department of Computer Science,University of Calgary,2001.
[3]Comaniciu D,Ramesh V,Meer R.Real-time Tracking of Non-rigid Objects Using Meanshift[A].Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition[C].Dublin,Ireland,2000,2:142-149.
[4]张宏志,张金换,黄世霖,等.基于Camshift的目标跟踪算法[J].Computer Engineering and Design,2006,27(11):2 012-2 014.
[5]刘雪,常发亮,王华杰.基于改进Camshift算法的视频对象跟踪方法[J].微计算机信息,2007(21):297-298,305.
[6]孙鑫,余安平.VC++深入详解[M].北京:电子工业出版社,2006.
[7]刘瑞祯,于仕琪.OpenCV教程基础篇[M].北京:北京航空航天大学出版社,2007.
[8]Intel Open Source Computer Vision Library Reference Manual[EB/OL]./research/mrl/research/opencv/.
[9]/hunnish.
[10]/group/OpenCV.
作者简介 李振伟 男,1983年出生,河南安阳人,硕士研究生。研究方向为视频运动目标跟踪。
陈 硕士研究生。