基于OpenCV 的计算机视觉技术研究

2016-01-09 13:33陈雪娇
电脑知识与技术 2015年30期

陈雪娇

摘要:该文基于OpenCV的计算机视觉技术进行研究,探讨了视频中计算机对运动物体视觉检测的原理,并对OpenCV的应用情况进行说明,阐述了基于OpenCV的计算机视觉技术体系,最终重点叙述了计算机视觉三维模拟技术,以期能为相关工作提供参考。

关键词:OpenCV;计算机视觉技术;三维模拟技术

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)30-0137-02

21世纪是国际计算机技术高度发展的时代,人们生活中的每个角落都可以看到计算机技术的身影,尤其是现代计算机视觉技术和图像处理功能发展更加迅猛,各技术分支也逐渐趋于成熟。计算机视觉技术主要指的就是利用智能计算机系统来代替人类的眼睛对现实三维世界进行辨识和理解,整个过程均是计算机自我学习的过程,而随着这项技术研究的不断深入,其不再仅仅包含计算机技术科学,同时还涉猎了包括生理学、神经学、物理学、应用数学等多门学科,为人类科技的进步提供了有效的动力。

1 计算机对视频中运动物体检测的原理概述

在现代计算机技术基础下,对视频当中的运动物体检测原理主要包括两种,分别是从微观和宏观的角度出发。其中宏观检测技术指的是当计算机截取了视频中的某一个图像,其以整幅图像为对象进行检测;微观检测技术是指在截取图像后,根据实际需求对某一区域内的图像内容进行检测。在计算机视觉技术实际应用时,其第一步就是对图像的采集,第二步是对已经采集的图像进行预分析处理,如果采用宏观检测技术则对图像整体进行分析;如果采用微观检测技术则首先将图像进行分割,然后对分割后各图像内容中出现的运动物体影像进行分析。在图像数据获取过程中应用的是背景差分法,这一技术主要是将背景和运动物体进行分离提取,以获取没有背景图像的运动物体影像数据。还可以利用帧间差分法,这种方法主要是对一个视频图像的逐帧画面进行差别比较,从而获得各帧图像上的差值,而将这些差值帧图结合起来就是一个物体在计算机视觉下的运动轨迹。现代研究者更倾向于将背景和帧间差分法进行结合运用,这样可以获得无背景下的运动物体轨迹,进而提升计算机视觉系统捕捉数据的准确性。

2 OpenCV的应用概述

OpenCV是现代计算机视觉技术当中具有开源性的视觉库,其最早是由俄罗斯Intel分公司所研发,不仅高效,而且具有兼容的优势。同时与传统IPL图像处理系统相比,OpenCV所处理的图像数据等级更高,例如在对运动物体进行特征跟踪、目标分割、运动轨迹分析以及三维模型重建等方面都有着巨大的优势。

OpenCV本身编辑的源代码是开放式的,编写过程简洁且方便,并且程序中大多数函数已经通过了汇编的最优化,使其能够更加高效地被应用。在使用OpenCV的摄像机标定模块已经为用户设计了实用性较强的接口,并且能够支持Windows界面的操作平台,使得这一技术的操作更加简便。这一技术本身操作简便,对于编程人员和检验人员个人技能素质要求并不高,视觉技术系统研发人员可以利用简便的操作来检验其设想是否能够实现,这就使得现代计算机视觉技术开发团队能够形成更好的协作研发关系,进一步提升技术研究效率。目前已知OpenCV编程系统在航空航天定位、卫星地图绘制、工厂大规模生产视觉检测等方面得到了广泛的应用,同时对于无人飞行器的视觉捕捉技术也有极大的帮助。最为重要的是OpenCV编程语言的兼容性较强,编程人员可以根据自己的意愿对源代码进行披露,并且国内也已经形成了规模较大的交流社区,给更多同行业者提供答疑解惑的场所,进一步扩大了OpenCV的应用范围。

3 基于OpenCV的计算机视觉技术

3.1 基于OpenCV下的运动物体检测技术

在常规运动物体检测技术下,均是直接通过图像背景和运动物体的区分来实现运动物体的捕捉。而基于OpenCV下的运动物体检测技术则不仅能够针对于图像背景的分离实现运动物体的观察,还可通过物体本身特定的信息来进行检测,主要包括形状、轮廓以及颜色等。这样就能够实现在复杂的背景当中将特定的运动物体完整抽离出来。其基本流程包括:首先,对影像数据当中某一时间点的图像进行捕捉,然后对这一视频图像的格式进行转化;其次,对转化格式后的视频图像进行早期处理,并将运动物体和复杂的背景区分开,降低周围各环境因素对运动物体主体图像的影响;第三,根据完成提取后的运动物体图像进行辨识,然后再从视频当中捕捉拥有相同特征的物体,并对该物体进行跟踪识别。而这一过程的实质则在于先利用图像捕捉技术对画面进行截取,然后同时利用背景差分法和帧间差分法对图像进行分割,逐帧地将运动物体完成提取出来,以供计算机进行视觉跟踪处理。

3.2 基于OpenCV的图像预处理技术

一般情况下,计算机视觉处理技术应用的环境情况较为复杂,大多数应用环境当中均有光照的变化,并且部分计算机视觉处理设备还需要在露天环境下进行工作,此时周围环境中的风、温度、光照、气候以及运动物体数量等对视频图像的采集均有着极大的影响。环境因素会使图像采集的质量大幅度降低,同时图像当中的噪点问题也难以避免,而噪点是视觉捕捉和图像处理当中最大的影响因素。因此,在基于OpenCV下的计算机视觉技术在捕捉视频图像之后先对其进行预处理,然后再由系统对运动物体进行分离、检测和跟踪。一般的预处理过程主要包括平滑度滤波、图像填充、背景实时更新等。

1)图像的平滑度滤波预处理技术

由于在实际计算机视觉捕捉过程中图像噪点是难以避免的问题,以此在对图像中运动物体进行检测前,应该相对这些噪点进行预处理,降低环境噪声对图像的影响。图像的平滑度滤波处理共分为两种方式,分别为线性和非线性。其中线性处理方式就是通过计算机处理设备的简单运算,对图像当中的噪点进行直接清除,但这一技术使用后会造成截获图像模糊不清的情况,因此仅对噪点较少的图像采用该处理方式;非线性滤波处理则是利用复杂的图像处理运算,将截获图像当中的噪点无限缩小,使其不对图像整体造成影响,并且可以有效保证图像的局部调整,但这种处理方式在运算时速度没有线性滤波处理快,因此需应用在噪点较多,图像信息较复杂的处理当中。

2)图像的填充预处理技术

这一处理技术在使用过程中运算速度较慢,主要是由于其需要对逐帧的图像均进行处理,也包括两种处理方式,分别为边缘填充和腐蚀膨胀处理。其中边缘填充处理主要指的是在确定运动物体之后,利用计算机系统自身的边缘检测处理技术,对物体的轮廓进行辨识,并利用形态学上的漫水填充方式对运动物体周围的噪点进行颜色填充,减小其对画面整体元素的影响。而腐蚀膨胀处理与边缘填充处理原理相类似,但这种处理技术主要是针对于噪点进行腐蚀和膨胀,使其在画面当中所占比例扩大,但对运动物体本身不造成影响,这使运动物体和噪点之间的差异就会更加明显,就可以将噪点的影响降到最低,但这种处理方法的效果和摄像机本身的性能、质量等有着密切的关联。

3)背景的实时更新预处理技术

在进行运动物体和背景分离过程中,计算机系统需要对图像上的背景元素进行辨识,并对其开展初始化处理,这样就能够为后期实时背景图像的差异进行凸显,以增加前景图像的效果,降低噪点对图像的影响。在运用这一技术时,首先要先对第一帧的图像进行确定,并将第一帧图像当中的背景图像元素进行辨识,然后在后期图像更新和运动物体检测过程中对背景进行实时更新处理。在更新的过程中其流程主要包括:首先,系统要对所读取的画面进行有效的判断,了解该图像是否为第一帧;其次,将Opencv处理的图像转变为单通道灰度值;第三,对转变后的图像进行高斯平滑度滤波处理,将图像当中的噪点进行去除;第四,采用形态学噪点填充技术对图像当中的噪点进行二次处理,以获得所需要更新的背景图像。

3.3 前景运动物体的提取技术

在计算机视觉技术进行运动物体的检测时,只有有效保障检测流程的准确度,才能够有效保障对前景运动物体的跟踪效果。其主要分为两大步骤,其一是对二值化后的图像数据进行分割处理;其二是在图像分析前对其进行充分的填充处理,保证前景图数据的完整性。同时,在前景图像提取的过程中也分为多个步骤,其包括:首先,对所提出的前景图像和背景图像进行差分处理;其次,将差分处理后的图像二值化处理;第三,对背景当中前景物体的轮廓或边缘进行辨识,根据前景图像的轮廓对其进行填充。由于在实际操作过程中,摄像头所处环境的变化较大,并且会在不同场所内的不同角度捕捉画面,因此就需要在前景图像提取时有效提高背景图像实时更新的效果。

利用阀值二值化的分割方式能够有效将前景图像和背景图像分离开,从而使目标运动物体能够呈现独立化,并且阀值分割方式开展前要相对每个像素点进行确定,判断其是否位于灰度值的范围内。而将该图像的像素灰度和阀值进行对比后会出现两种结果,分别是灰度值低于或高于阀值。在实际应用过程中,有效确定图像的分割阀值T,就能够降低环境当中光照因素对图像质量的影响。

4 计算机视觉技术当中的三维重建技术

1)三维重建的视觉系统

计算机视觉技术在对图像进行捕捉时可以视为是对大量的图像信息进行处理,从摄像机的视觉角度出发,其所输入的图像一般为二维属性,但输出的信息确是三维数据,而这种三维空间数据能够提升对运动物体所处空间位置、距离等描述的准确性。在三维重建视觉系统工作过程中,其相对基本的图像数据框架进行确定,然后利用一个坐标点建立2.5D图像数据,即以此点为视角能够观察到的图像数据,再将2.5D图像数据进行整合从而建立三维图像。

2)双目视觉系统

当人体利用双眼在不同角度、同一时间内观察同一个物体时,就可以利用算法来测量该物体和人体之间的距离,而这种方法也被称为双目立体感,其应用的原理主要是人体视觉差所带来的影响。同时利用两台摄像机对同一图像从不同角度进行观察,就能够获得人体双目观察后的效果,因此这一三维重建技术也被称为“双目视觉系统”。两台不同的摄像机即可代表人体双眼,其对图像进行逐帧捕获,但由于角度不同和环境影响因素的差异,因此造成了图像差异,必须对其捕捉的图像进行预处理。

3)三维重构算法

在计算机视觉技术中对于视频流的采集主要依靠的是彩色摄像机、红外摄像机、红外接收摄像头等设备。还可以利用微软所提供的Kinect设备,在进行运动物体检测前能够对NUI进行初始化处理,将系统内函数的参数设定为用户信息深度图、彩图、骨骼追踪图等数据。在使用Kinect设备对视频流进行打开时,其可以遵循三个步骤,其一是彩色和深度数据的处理;其二是根据数据的索引添加颜色信息,并将其引入到深度图数据当中;其三是骨骼追踪数据。

5 结束语

计算机视觉捕捉技术是现代计算机应用当中较为先进的内容,其应用范围较广,对于运动物体的捕捉准确度较高,能够有效推进现代计算机模拟技术的发展。

参考文献:

[1] 张海科.基于Opencv的人手识别与跟踪定位技术研究与实现[D].昆明: 云南大学,2013.

[2] 李旭港.计算机视觉及其发展与应用[J].科学技术,2010(3): 42.

[3] 马玉真,胡亮,方志强,等.计算机视觉检测技术的发展及应用研究[J].济南大学学报: 自然科学版,2014(3): 222-227.