当前位置:文档之家› 基于单摄像头的运动目标跟踪定位技术研究

基于单摄像头的运动目标跟踪定位技术研究

工程技术 Computer CD Software and Applications 2012年第18期— 82 —基于单摄像头的运动目标跟踪定位技术研究谢鹏程(北京信息科技大学仪器学院,北京 100101)摘要:单目视觉跟踪定位、双目视觉跟踪定位和多目视觉传感器跟踪定位是当前的计算机主要的视觉定位跟踪方式,但是由于利用双目视觉跟踪定位和多目视觉传感器中存在着视场小、系统结构庞大、立体匹配难等缺陷,在很多工业制造场合已逐渐被标定步骤少、结构简单的单目视觉所代替。

本实验通过单目视觉方式实现了对运动目标跟踪定位,并设计了基于单摄像头的运动目标跟踪定位系统,采用CamShift 算法通过目标颜色信息选取对目标进行识别、提取以及检测,通过基于邻域线性搜索与卡尔曼滤波器相结合的跟踪算法,准确实现运动目标的识别和定位,并进行了一系列相应的理论实验验证与分析,给出了最终的实验结果。

关键词:单目视觉;CamShift 算法;颜色空间;目标定位 中图分类号:TP391 文献标识码:A 文章编号:1007-9599 (2012) 18-0082-031 引言计算机视觉是计算机科学和人工智能的一个重要分支,它既是工程领域,也是科学领域中的一个富有挑战性的重要研究领域,已经吸引了来自各个学科的研究者参加到对它的研究之中。

计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。

机器视觉需要图像信号,纹理和颜色建模,几何处理和推理,以及物体建模。

一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起[1]。

本文中通过单目视觉检测方法实现了对运动目标跟踪定位,并设计了基于卡尔曼滤波器与邻域线性搜索相结合的跟踪算法,大大地减少了传统的目标跟踪算法对目标运动位置预测搜索的迭代时间,并解决了在相邻两帧图像中由于目标位置发生剧烈变化而导致目标丢失的问题,该系统简单便携,在工业自动化方面具有较高的应用价值。

2 构建单目视觉的运动目标跟踪定位系统本系统共分为目标提取识别和目标跟踪定位两大模块,目标提取识别模块由边缘提取,特征提取,图像分割等方法实现。

其实质是用数字图像处理的方法实现对目标的识别,数字图像处理一般包括图像的获取、增强、存储、处理、表达和识别等步骤[2]。

目标跟踪定位模块由CamShift 算法,邻域线性搜索法组成。

本文的图像处理流程为:图1 图像处理流程图在目标识别前,首先要进行目标采集,本文所用设备为USB 摄像头,所采集图片的颜色空间为RGB 空间,然后把RGB 空间转换成HSV 颜色空间,然后选取目标的颜色模板,通过特征匹配和邻域线性搜索等检测跟踪算法,最终实现对目标的识别与跟踪。

2.1 采用HSV 颜色空间对图像进行处理 首先,本文的识别系统主要是通过对目标颜色信息的提取进行定位,色彩信息在HSV 空间有显著差异,HSV坐标可以用图2表示,由图可以看出色度H 差异明显,此外白色与黑色分别位于锥顶和锥底中心,与彩色的V 值和饱和度差异明显。

设定门限较为容易,而采用RGB 空间,在目标识别时可造成某些颜色分量的重叠,这些重叠目前无规律可循,因此不利于进行目标的识别和定位。

图2 圆锥表示的HSV 颜色模型其次,采用HSV 颜色空间可抵抗光照强度的变化,HSV 颜色模型的坐标系统如图2所示,H 表示色彩信息,即所处的光谱颜色的位置,该参数用一角度量来表示,红、绿、蓝分别相隔120°,互补色分别相差180°。

饱和度S 为一比例值,范围为0-1,它表示所选颜色的纯度和该颜色最大纯度之间的比率。

V 表示色彩的明亮程度,范围为0-1[3]。

由转换关系:max=max(R ,G ,B) min=min(R ,G ,B)if R=max ,H=(G-B)/(max-min) if G=max ,H=2+(B-R)/(max-min) if B=max ,H=4+(R-G)/(max-min)H=H*602012年第18期 Computer CD Software and Applications 工程技术— 83— if H<0,H=H+360 V=max(R ,G ,B) S=(max-min)/max仅有V 与RGB 的绝对数值有关,色度H 与饱和度S 只与GRB 分量的比例有关,因此,在颜色属性不发生变化,摄像机传感器未饱和的情况下,H 与S 的变化与光强的变化无关,相比之下RGB 颜色模型与光照强度密切相关,光线较强时,RGB 各分量普遍化的能力。

2.2 运动目标检测跟踪CamShift 算法实现CamShift 跟踪算法是MeanShift 算法的改进,CamShift 算法的全称是"Continuously Adaptive Mean-SHIFT",被称为连续自适应的MeanShift 算法,它的基本思想是将视频图像所有帧作MeanShift 运算,并将上一帧的结果(即Search Window 的中心和大小)作为下一帧MeanShift 算法的Search Window 的初始值,如此迭代下去[4-5]。

CamShift 算法流程为:图3 CamShift 算法流程图处理流程如下所示:图4 用摄像头采集的篮球图片 图5 选取的颜色模板图6 计算出的H 分布图图6中坐标轴的横轴是颜色的0~255级,纵轴是对应每级的像素点个数图7 原图反向投影图 图8 经过识别定位后的球 2.3 运动目标的定位运动目标跟踪定位是计算机视觉的关键组成部分,它主要是针对目标的运动图像序列进行分析处理,来确定运动目标在每帧图像中的位置,从而实现运动目标运动轨迹的重建。

轮廓匹配跟踪、特征匹配跟踪和基于区域匹配跟踪是较常见的运动目标跟踪方法[6]。

由于在本实验中要跟踪的是一个运动的篮球,具有较好的外形特征,所以可采用提取图像中运动目标的特征圆进行跟踪。

在本实验中,由于摄像机和运动目标背景都在运动,不能采用常见的帧差法、背景相减法等跟踪定位算法对目标进行跟踪,因此采用邻域线性搜索的跟踪定位算法对运动目标进行跟踪,如图9所示。

图9 邻域线性搜索法示意图在目标跟踪前,先手动选定第一帧图像中的运动目标,由于相邻两帧图像的目标运动不会很快,因此可由上一帧图像中运动目标的位置向T ×d (半径)的区域搜索来确定下一帧图像中运动目标的位置。

但有时也会出现2帧图像之间运动目标位置变化极大的情况,由于邻域线性搜索半径不能设置太大,这种情况下就容易丢失目标,以至于后面的跟踪失败,对于这种情况,本实验采用卡尔曼滤波器进行弥补。

若出现目标搜索不到的情况,就使用卡尔曼滤波器通过目标在上一帧图像中的位置来预测运动目标在当前帧的位置,以实现连续跟踪,这样既减少了传统跟踪算法的迭代次数,提高了跟踪的速度,又实现了连续跟踪的准确性[7]。

2.4 运动目标的位置获取在双目视觉定位中通过两个摄像头在不同位置所拍摄目标图像的景深不同,来准确定位出目标的位置,但在单目图像定位中由于所采集的运动目标的位置是用一个二维坐标表示的,因此本文所要解决的一个首要条件是如何通过图像序列将目标在二维坐标系下的位置转换到摄像机坐标系下的三维坐标[8]。

本实验通过相似三角形的原理实现了上述转换。

X =Z/f ×center(x ); Y =Z/f ×center(y); Z =targetdia/r ×f ;工程技术 Computer CD Software and Applications 2012年第18期— 84 —其中f 为摄像头焦距,center (x)为运动目标的中心x 坐标,center (y)为运动目标在图像坐标系下的中心y 坐标,targetdia 为运动目标篮球的直径,r 为半径。

然后由目标坐标(X ,Y ,Z )可知目标与摄像头的距离为(X 2+Y 2+Z 2)1/2,arctan(X/Y)则为左右偏转角度。

在本实验中通过对拍摄的地面运动篮球的位置进行了获取,实验结果截图如图10所示:图10 实验结果截图3 结束语本文设计的基于单摄像头的运动目标跟踪定位系统,应用了CamShift 算法与邻域线性搜索相结合的跟踪算法,不仅在跟踪时间上减少了跟踪运算的迭代时间,而且有效地解决了由摄像机本身精度的原因所造成的在采集相邻两帧图像之间出现丢帧、运动目标位置发生突变的现象,从而避免了跟踪失败的情况。

该系统简单便携,并且兼容性较强,因此在工业控制、智能监控、自动化生产等领域中有广泛的应用前景。

参考文献:[1]孙即祥.图像分析[M].北京:科学出版社,2005.[2]冈萨雷斯,伍兹,阮秋琦.数字图像处理[M].北京:电子工业出版社,2005.[3]刘刚.MATLAB 数字图像处理[M].北京:机械工业出版社,2010.[4]Adrian Kaehler ,Gary Bradski.LearnOpenCv. O'Reilly Media,Inc.2009.[5]Gary puter Vision Face Tracking For Use in a Perceptual User Interface.Intel Technology Journal.1998[6]辛瑞红.运动目标的检测与跟踪研究[D].北京:北京交通大学,2007.[7]孙彪.基于单目视觉的运动目标跟踪定位[J].四川兵工学报,2010,31(4):87-87.[8]张广军.视觉测量[M].北京:科学出版社,2008.[作者简介]谢鹏程(1990-),男,辽宁人,北京信息科技大学仪器学院测控09级。

(上接第51页)在这种技术中,也存在着一些不足之处,比如,防火墙一旦被迂回的绕过或者被攻击突破,则不再能够发挥出任何的作用。

当前,针对防火墙的实现的技术,我们可以将其分为过滤技术、代理技术以及状态监视技术,其中,过滤技术属于基于网络层的防火墙技术,而代理技术则和代理技术有着较大的不同,至于状态监视技术则是当前最有效的防火墙技术,它不仅集中了前二者的很多优点,还可以检测网络通信的各层。

一般来说,按照防火墙的结构,我们可以将其分为包过滤防火墙、双宿主主机防火墙以及屏蔽主机网关防火墙,以下将对其进行详细的分析:4.1 包过滤防火墙。

这种防火墙也就是过滤路由器,它是最为简单,也是最为基本的一种防火墙,在一般的路由器上就可以对其进行实现,当然也能够在基于主机的路由器上应用这种防火墙。

4.2 双宿主主机防火墙。

对于双宿主主机防火墙,在实现的过程中一般是通过较为特殊主机的。

在这个主机中,具备两个网络接口,这两个网络接口是不一样的,一个用来连接外部的网络,而另一个则是对内部的网络进行保护以及运行代理服务器,这也是其名称的由来。

相关主题