APP下载

基于HSV模型的运动目标提取与跟踪

2010-07-16李素珍霍家道

指挥控制与仿真 2010年2期
关键词:直方图图像处理滤波

周 明,李素珍,霍家道

(1.中国船舶重工集团公司江苏自动化研究所,江苏 连云港 222006;2.解放军91033部队,山东 青岛 266071)

运动目标的提取与跟踪是应用视觉研究领域一个重要课题,在军事工业和民用生活等领域如目标跟踪、交通自动导航、视频信号传输和机器人视觉等领域应用广泛。目前,随着图像处理技术以及一些相关领域技术的发展,目标提取与跟踪技术得到了飞快的发展。在硬件方面,随着高速数字信号处理器的诞生,对运动目标的提取与实时跟踪成为可能。但是,目前对目标提取和跟踪算法的研究还存在局限性。对某些运动目标的提取和跟踪测试,在实验室中的效果很好,但在实际应用中,由于许多不可预知的环境条件(光照、气候、能见度等)的影响,使目标图像提取难度加大,进而影响到目标跟踪的稳定性。所以,对运动目标跟踪系统进行深入研究,具有很重要的学术意义和实用价值[2]。

目标提取与跟踪系统可以划分为目标提取系统和目标跟踪系统。跟踪算法主要解决图像序列中某一目标的连续识别和跟踪问题,算法要建立在目标提取的基础上,涉及跟踪目标的特征分析、运动轨迹估计及保证跟踪稳定性的稳定跟踪策略等内容。文章提出了一种基于HSV颜色空间的阈值分割法,对目标进行提取。根据提取到的目标的位置信息,采用卡尔曼预测滤波算法,高效地实现了对目标的跟踪。

1 目标跟踪原理

视频信号经采集、数字化后,送往计算机进行图像处理,提取出目标信号,通过对视频图像序列相邻帧的计算,得到目标的运动信息,包括位置信息和速度信息,将这些信息提供给伺服系统。伺服系统接收来自图像处理子系统的信息,计算运动向量,将这些数字信号经数/模转换后通过驱动电路带动摄像头发生转动,使运动目标一直锁定在摄像头的视野中[3],如图1所示。

图1 运动目标跟踪系统组成框图

2 目标提取的图像处理方法

2.1 基于特征的序列图像分析方法

图像处理是目标跟踪系统的核心,处理效果的好坏直接决定着系统能否有效跟踪目标。图像处理主要包括图像的获取,图像的预处理(滤波),特征分析,目标提取,目标的位置预测等过程,如图2所示。其中,目标提取是图像处理子模块的核心部分,图像处理的目的是为了获取图像中的目标信息,而忽略其它的部分。因此,需要将目标和背景进行区分。

目前,对序列图像目标提取主要采用基于特征的序列图像分析方法[5],它从图像中抽取一些与物体的某些三维特征相对应的二维特征,然后建立起相邻帧间图像特征的对应关系,以确定目标的位移。根据这些信息可以计算出实际目标的运动参数和运动轨迹。这种方法稳定性较好,计算量相对较低,技术成熟。利用视频图像的特征点的色彩信息可以很方便的对图像目标进行提取,它是基于特征的序列图形分析方法之一。

图2 图像处理子模块框图

2.2 颜色空间模型的选择

视觉系统中,常用的颜色空间模型包括 RGB,HIS,HSV,YUV等。其中,RGB是最流行的、与设备相关的颜色空间,主要用在显示器上。HSV是从人的视觉系统出发,用色调、饱和度和亮度来描述色彩,比RGB色彩空间更符合人的视觉特性。较选用HSV颜色模型对目标的特性进行分析。这种模型把图像按视觉特性分为三个分量,将亮度从颜色信息中分离出来,这种分离在图像处理中有很大的优势,非常直观,稍微调整它的饱和度和亮度就可改变颜色,因此比较灵敏,并且RGB信号转换为HSV信号有简单快捷的算法[6]。

色调H:用角度度量,取值范围为0°到360°。从红色开始逆时针方向计算,红色为0°,绿色为120°,蓝色为 240°。它们的补色是:黄色为60°,青色为180°,品红为300°。

饱和度S:取值范围为0.0~1.0。

亮度值V:取值范围为0.0(黑色)~1.0(白色)。

2.3 图像的获取

视频采集卡采集后的数字化视频输入到计算机,由于视频是一帧一帧传送的,我们可以把每一帧看作是一幅单独的图像进行分析和处理。提取到的第一帧图像如图3所示。

图3 视频图像第一帧

其中,汽车为跟踪目标。在Matlab环境下,可以通过Aviread命令读取视频图像。并通过Frame2im将获取的第一帧图像转换为索引图像,以便后面处理。

2.4 图像滤波

对于图像采集卡采集到的图像,由于光照不均匀以及摄像头等硬件的精度、缺陷等问题,不可避免地含有各种噪声和失真。因此,需要对波门内的图像进行滤波。图像滤波是在提取图像特征之前的必要步骤,通过滤波可以降低图像噪声和失真程度,增强图像中的有用信号,改善图像的质量,有利于图像的后续处理。

图像滤波有均值滤波、中值滤波等多种方法,本文采用了中值滤波方法。中值滤波是一种非线性的空间滤波器。它一般是采用一个含有奇数点的滑动窗口,用窗口中各点的中值来代替中心点的值。

传统的中值算法对N个数据进行排序,需要N( N - 1 )/2次比较操作,由于每移动一次窗口,都需要对窗口内的数据排序,因此,软件的开销会很大,计算速度较慢。

本文采用了一种改进的算法,即利用相邻窗口数据的重叠性,保留重叠部分数据的排序,加入新数据,并对这部分数据进行排序。平均每个窗口需要N( N - 1 )/4 + S ( 2 N - S - 1 )/4次比较操作,其中N、S均为偶数。这种方法的复杂度在窗口较小时下降明显。

设计中采用了一个3*3的中值滤波器,可明显地降低噪声。

2.5 目标特征分析

图像滤波后,需要对目标的特征进行提取和分析,对得到的图像进行 HSV转换。目前,已经出现多种RGB和HSV颜色空间之间的转换算法,包括Travis算法、Foley and VanDam算法等,其中,Foley and VanDam算法描述为[5]:

1)R、G、B的取值范围为[0,1],找出每个像素点RGB的最大值max和最小值min;

2)V=max,S=(max-min)/max;

3)令delta=max-min,若R=max,H=(G-B)/delta;B=max,H=(R-G)/delta;

4)H=H*60,如果H<0,则H=H+360。

由以上算法转换后得到三个二维矩阵,分别是H、S、V。通过对波门内图像(滤波后的图像)进行统计,得到H、S、V各自的分布范围。为了便于统计分析,将S、V分量的阈值范围扩大为[0,255]。

图4、图5、图6分别为本设计中采用的图3中目标(汽车)的H、S、V直方图分布。

由图4、5、6中可以看出,波门内的像素直方图分布在一定的范围之内,包含背景的颜色分量直方图和目标的颜色直方图。

图4 目标H分量直方图

图5 目标S分量直方图

图6 目标V分量直方图

2.6 目标提取

为了使目标从图像背景中分离出来,寻找目标与非目标的差异的过程称为目标提取,而根据所提取的不同目标之间的某些特征差异对图像进行区域划分则称为图像分割。在视觉系统中,常用的图像分割方法主要是区域增长法和阈值法两大类。区域增长法由于采用递归方式,所以速度较慢,因而在实时较高的系统中应用逐渐减少,本文中使用阈值法分割图像。利用像素值的直方图来确定分割阈值。如图7所示,在HSV颜色空间中,每个颜色类由6个阈值描述,每一维两个阈值,分别表示该颜色类在该维中的最大值和最小值。如图7所示,3个色彩向量(H,S,V)就在色彩空间中确定了一个长方体。当一个待识别的像素在色彩空间中的位置落在这个长方体中时,就认为该像素属于要跟踪的目标。属于目标的像素标记为 1,其他标记为0。

图7 阈值分割

为有效地去处背景干扰,适应不同光照条件下对目标进行提取。本文提出了一种半自动方式实现目标提取的方法:

1)当目标出现时,人工用鼠标或跟踪球点取目标颜色特征较有代表性的一点,程序以这一点为中心,产生一个大小为 96*72(像素)的波门(这里称为大波门),大波门内的图像有背景和目标,后续的提取处理都是在大波门内进行的,这样处理是为了提高系统处理速度,节约系统资源;

2)程序将选取的这一点作为后续目标位置预测的初始值,并以这一点为中心,取与其临近的12*9像素图像(这里称为小波门);分析小波门内像素的颜色特征的分布范围,并进行直方图统计,将直方图累计分布概率大于70%的像素值范围确定为目标的阈值范围,并以这些阈值对大波门内的图像进行整个目标的提取,以计算和预测目标的位置信息;

3)完成计算后,根据目标坐标的预测值(在2.7节和2.8节将做详细介绍),进入下一帧计算,两个波门的中心也移到下一帧目标的预测位置处,再从2)开始处理,并更新阈值。

如果目标的速度较快,操作人员来不及点取目标,此时可以提取出一帧图像,点取这一帧图像中目标的特征点,对其小波门内区域进行分析,获得阈值范围后,将其作为后续目标位置预测的初始值,这一操作是在短时间内进行的,可以假定目标的颜色状态是稳定的。

按照以上方法,经过提取后的第一帧图像如图 8所示,为了验证算法分割目标性能的好坏,选取了整幅图像进行分析。

图8 提取的目标

由图8可见,经过分割后,目标的形状位置信息基本得到保持,背景等其它部分的不相关信息被完全滤掉。经分析,处理一幅图像耗时3.2ms(P-IV 3GHz,1G内存,windows XP2),按照电视图像每秒25帧计算,每帧之间时间间隔为 40ms,处理时占用内存3%。本文因为选取的目标为地面目标,且距离较近,所以选取的波门较大,在跟踪空中目标时,由于目标较小,可以选取较小的大波门(一般 30*30),以提高系统处理速度,而小波门也相应地减小。用户需要根据实际应用环境,设定波门大小。

2.7 目标坐标计算

图像的特征提取是在以上几个步骤完成后,提取运动目标的位置信息和速度信息的过程。本系统通过目标提取时标记的值,计算目标的中心点坐标。即目标的尺寸可以通过下式计算。

其中, B [i, j ]为该位置的目标提取时标记值,跟踪目标的中心坐标为:

由于图像采集系统存在一定的采样延迟,造成了图像采样点滞后于目标实际的运动位置;同时又由于伺服机构也存在一定的延迟性,因此,若仅以图像处理的结果进行跟踪必然会使跟踪系统的运动滞后于目标的运动,所以必须进行目标的预测。

2.8 坐标预测

本文采用卡尔曼预测滤波算法对目标位置进行预测,其基本思想是:假定目标的初始状态已知,根据状态方程、测量方程以及过程噪声、测量噪声的统计知识,估计下一时刻的目标位置。在每一个采样周期收到测量值后递归执行[1]。卡尔曼滤波预测为递推过程,速度很快,能满足实时跟踪的要求。

卡尔曼预测滤波器算法过程为[4]:

根据文献资料和工程经验,一般选取 p ( 0)值较大,有利于系统的快速初始对准,Q值选取宁小勿大,R过小噪声变大,过大收敛速度变慢。本文通过分析,选取 p ( 0)=8,Q=0.01, R=0.5,a=1,c=1。

根据以上公式和初始参数值以及每一帧提取到的目标位置信息,可以预测目标位置信息,将预测的目标运动曲线与实际目标运动曲线作对比如图9所示。其中虚线‘-’为实际运动曲线,‘+’为预测运动曲线。

由图9可见,其曲线基本吻合,预测位置较好地满足了要求。

这种算法在P-IV 3.0G处理器下处理每个目标点仅耗时80us,速度很快。加上图像处理的时间3.2ms,也完全满足小于40ms的处理时间要求。

图9 实际运动曲线与预测运动曲线

2.9 目标丢失的处理方法

正常情况下,上述跟踪算法能够稳定地跟踪目标。但当目标做特殊运动或者目标的背景急剧变化时,目标有可能丢失。此时,需要重新搜索目标。一般常采用这种方法:在丢失时的位置设置一定大小的窗口,在窗口内进行搜索,如果未能搜索到目标,则将区域扩大一倍,在一个更大的范围内搜索,一旦搜索到目标,就跳出搜索,转入正常的跟踪过程,否则一直搜索到整个视场[3]。

3 结束语

本文对基于HSV模型的运动目标提取与跟踪算法进行了理论分析和探讨,并通过编程实现算法,分析阈值分割后图像可以看出,这种分割算法能较好地将背景与目标区分开来,有效地降低了背景干扰,速度快、反应灵敏、资源消耗低、抗干扰能力强。采用卡尔曼跟踪算法,高效地实现了目标的跟踪,具有稳定性高,占用资源低等特点。将基于HSV模型的目标提取算法和卡尔曼滤波算法结合使用,能达到很高的性价比,比较适合于工程中的应用。

[1]Mohinder S. Grewal, and Angus P. Andrews, Kalman Filtering: Theory and Practice Using MATLAB(Second Edition)[M]. A Wiley-Interscience Publication,2001.

[2]张玲. 基于 DSP的空中目标跟踪系统[D].重庆:重庆大学硕士论文,2007.

[3]李尊民. 电视自动图像跟踪的基本原理[M].北京:国防工业出版社,1998.

[4]戴礼荣. 数字信号处理 II[EB/OL].合肥:中国科技大学,2007.

[5]李庆忠,刘怀强,侯永海,褚东升. 视频序列中运动目标自动提取的研究[J].微计算机信息,2006(5):246-248.

[6]林福宗. 多媒体技术基础[M]. 第2版.北京:清华大学出版社,2002.

[7]张志涌,徐彦琴,等. MATLAB 教程——基于 6.X 版本[M].北京:北京航空航天大学出版社,2004.

猜你喜欢

直方图图像处理滤波
统计频率分布直方图的备考全攻略
符合差分隐私的流数据统计直方图发布
用直方图控制画面影调
机器学习在图像处理中的应用
模糊图像处理,刑事侦查利器
图像处理技术的实战应用
基于直方图平移和互补嵌入的可逆水印方案
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
Photo Shop通道在图像处理中的应用