欢迎来到天天文库
浏览记录
ID:49690340
大小:731.50 KB
页数:6页
时间:2020-03-02
《移动物体检测与跟踪算法的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.移动物体检测与跟踪算法的实现移动物体检测算法已经在带LCD的IntelXScale270平台上实现,效果如下图所示。这个界面是在Linux操作系统下利用QT库采用C++开发的。如果在MicroBlaze上移植Linux成功的话,可能会出现不能支持QT的情况,那我们将舍弃用QT做出来的控制界面,而将图像视频直接显示在VGA显示器上。接下来我将介绍一下实现这个效果我们所采用的算法和程序的流程:一、算法1、基于灰度图像的检测算法为了完成实时目标检测,需要一系列的操作,所以就需要对目标的特征进行提取,包括目标的形状和颜色分布。由于人体是非刚性的,外
2、在的障碍物和自身的噪声可能给建立唯一的模型带来困难。为了减小这些影响我们把摄像头观察点放置在人群的正上方,这样几乎不会有重叠的现象而且每个目标占用图像的面积很小。我们采用基于灰度直方图的方法简化目标模型,由于系统只需识别出有物体的存在并进行跟踪,所以要求的精度不需要很高,因此在该系统只识别人体的大体外形及所处的位置而忽略身体的细节部分,使算法更加简化。为了突出目标本文采用相邻帧差法去除不变的部分(比如背景、身体的一些部分),通过分析剩下的部分我们可以定位目标所在的位置。简单的帧差法并不足以达到检测的精度,这里采用相差后图像的水平和垂直投影完成
3、检测功能。下面给出这个算法的过程:(1)相邻图像相差后得到M*N的图像I,如图1所示。非零的那些像素大部分是头部的运动边缘,通过对差分图的分析就可以定位运动目标。..图1相邻帧相减后的图像(2)求出差分图像I的水平及垂直投影分别用H和V表示。如图2显示了两相邻帧和差分后的水平投影值的分布。水平投影的计算如下:(1)图2两相邻帧以及差分后的水平投影从图中可以很明显地看出,在人体头部周围跟随两个峰值。这里我们利用这个特征来检测定位目标。为了最小化噪声的扰动和摄像机抖动的影响我们采用对V进行中值滤波来保持边缘并滤除孤立脉冲噪声和胡椒噪声。(3)如果
4、运动物体存在,那么在向量V中肯定存在具有足够多的灰度值大于分割阈值的像素点的段。我们将图像I分成n个域(n就是段数),每一个域都位于相应段的中心并且具有一定的宽度。那么这就检测出具有n个运动目标。(4)假设每个域有一组纵向目标。对每个域进行水平投影得到然后进行中值滤波,如果在第i个域中存在m个目标,那么在中一定具有m个显著的值(峰值)。再进行中值滤波并且利用另外一个阈值将域中的一组目标分割开。这样就得..图3目标分割到了当前帧中可能的目标的坐标值,然后用外接矩形画出运动目标的边界,如图3所示。以上使用的阈值具有很大的范围,但是它们的成分大体是
5、固定的。通过系统训练和结果分析我们发现了阈值T和图象的平均灰度值之间具有如图4所示的关系。因此,系统引进通过连续帧的平均灰度值表述的阈值自适应模型。图4阈值与平均灰度值的关系2、基于一个新的评价函数的跟踪算法在图像帧中可能发生目标的出现和消失,这就需要将最近检测到的目标和以前检测过的目标进行匹配。基于模板匹配的算法被广泛采用但是它们的搜索空间会随图像大小和模板的增大而急剧增大。所以较难达到实时处理的目的,而且也不可能在人群中提取到所有的模板。这里采用一种新的基于颜色直方图的算法,认为同一物体的直方图是在帧间是相对不变的。但是这种方法忽视了自身
6、的误差,因此还需要做相应地处理来尽可能减小误差的影响。该系统采用改进的一种新的评估函数来解决匹配问题。此算法将最近相邻算法、速度相关性和单一化灰度直方图结合在一起。由于帧间的时间间隔很短,所以人体特征如质心、边界矩形和速度不会发生突然地变化,在实验中我们得到了质心位移的上限。假设分别表示某物体水平方向和垂直方向的速度,那么用分别表示在第K帧的第C个目标和第K+1帧的第S个目标。两向量规格化的关系定义为(2)..其中表示内积,。、分别表示向量的模。根据施瓦兹不等式有。帧间物体的彩色直方图相对稳定而且在检测处理过程中本文关注的是加了边界的那些区域
7、,然后计算它们的灰度直方图。这里关心的是所有灰度值的一小部分而其中的大部分都不关心,于是为减轻处理的负担简化后的直方图H是必须的。这里采用了第K帧的第C个目标和第K+1帧的第S个目标灰度直方图的相似度计算,匹配程度的计算公式如下:(3)设d(C,S)表示它们之间的欧几里得距离,建立一个新的评价函数如下:(4)其中表示两帧间任意两目标之间的欧几里得距离,的取值都在0到1之间。这样就将三个重要特征联合在一起作为匹配规则对运动目标进行跟踪。下面给出跟踪算法的流程:(1)所有在第一帧中出现的目标都标记为新目标,并且为了以后的匹配为每个目标建立一条空链
8、。(2)当接收到第k帧图像时,计算当前帧第j个可能目标(,m表示当前帧中出现的目标数)和以前检测过的第i个目标(,n表示以前检测过的总的目标数)之间的G(k,S,C
此文档下载收益归作者所有