数字图像相关跟踪算法的MATLAB实现

点赞:10982 浏览:45134 近期更新时间:2023-12-25 作者:网友分享原创网站原创

摘 要:随着实时成像跟踪系统在各个领域的应用,尤其是在军事领域的广泛运用,自动识别跟踪技术成为国内外热门的课题.国内外经典的算法很多,如:对比度跟踪算法、相关跟踪算法,多模跟踪算法,记忆外推跟踪算法等,本文主要对相关跟踪算法进行分析,利用 MATLAB仿真实现.

关 键 词 :数字图像 相关跟踪算法

中图分类号:TN2文献标识码:A 文章编号:1007-3973 (2010) 01-092-02

采用对比度跟踪算法时,如果背景与目标的对比度低、目标大于屏幕的尺寸或者目标所处复杂背景,往往难以找到合适的将目标和背景分离的自适应跟踪窗,背景杂波就可能进入跟踪窗,使对比度跟踪算法测量误差过大而失效.这时,采用模板相关跟踪算法可以有效的解决这一问题.模板相关匹配跟踪充分利用了包含在目标和背景中的各种信息,并且对图像质量要求不高,且可在复杂背景、低信噪比和低对比度条件下稳定工作.因此,相关跟踪算法在成像跟踪中有着重要地位.

1相关跟踪算法原理

模板匹配中初始模板可以是模板库中的模板,也可是从当前帧中提取的目标图像.相关度量函数可以是当前帧图像与模板的相关函数也可是匹配空间中距离测度.相关度最大的点或者匹配距离最小的点取为当前帧目标的位置.目前常用相关跟踪算法有积相关算法(NCC算法等)、差分相关法(SAD、MAD、SSD等)和序贯相似检测算法(SSDA)等.

图1模板及搜索窗图像

相关跟踪的大致工作流程是先在屏幕上用搜索波门套住待跟踪目标且使十字丝对准目标中心并锁定,将此锁定图像中心的333像素的图像作为整个相关跟踪过程中的模板.跟踪时,用一个333像素大小的窗口在655像素大小的搜索窗里以每次一个像素(横向或纵向)的步长移动并取出实时图像.遍历搜索区内的每一个位置点,同时根据某个相似性测度,计算搜索窗内这个位置点的图像区域和参考模板的相关值.然后,根据相关值大小来判定跟踪点位置,得出目标在视场中的位置坐标.

2相关跟踪算法类型

设目标图像为f(x,y),大小为mm个像素,称为模板,实时图像为t(x,y),大小为nn个像素,称为搜索窗,其中m≤n,(x0,y0)为目标图像在搜索窗中的偏移值,则相关跟踪算法可以用下列准则来计算相关值:

(1)绝对差值法SAD(Sum of Absolute Differences)

(1)

其中.

这种相似性度量值其实就是模板和实时图像各点灰度值误差的累加.在理想情况下,实时图像与模板完全匹配时,度量值为0.实际应用中由于各种因素,使得这个度量值不可能为0,即不能完全匹配,这时应取度量值最小的点为匹配点.

(2)平方差值法SSD(Sum of Squared Differences)

(2)

其中

(3)归一化互相关算法NCC(Normalized Cross-Correlation)

(3)

其中

归一化相关算法所采用的相似性度量值可以看作由两幅图像分别构成的矢量之间的夹角,因为计算时用到了两个矢量的点积,所以归一化互相关算法也叫做积相关算法.当模板和实时图像完全一致时,即有条件f(x,y)等于t(x,y)时,相似度度量值 (x0,y0)等于1.而当f(x,y)与t(x,y)不相等时,根据Cauchy-Schwarz不等式定理可知 (x0,y0)小于1.当然实际应用中 (x0,y0)总是小于1的,所以匹配结果中使 (x0,y0)取得最大值的点,就是跟踪的最佳匹配点.

(4)平均绝对差 MAD(Mean of Absolute Differences)

(4)

其中0≤,≤n-m.

(5)SSDA算法―序贯相似性检测算法(Sequential Similarity Detection Algorithms)

(5)

其中

该算法用来实现快速相关处理,其相似性度量表达式与绝对差值法相同.唯一区别在于,从d(x0,y0)的表达式可知,相关运算过程实际就是各个像素对灰度值的积累过程,差值的积累是逐渐增长的,积累误差就是相似性度量值.积累误差越小,则基准图像与子图像越相似.所以在进行匹配时可以设置一个门限值,计算各点的误差,若误差大于门限值,则停止计算,若误差小于门限,则计算完模板区域内所有像素与搜索区域的差值,从中选取最小的一个,作为匹配点.所以在计算d(x0,y0)的过程中,若d(x0,y0)大于预先设定的门限值时,就停止计算,因此缩短了相关计算的处理时间.


以上分析可知:

(1)在相同情况下,从匹配概率和定位精度两个主要方面相比,归一化的互相关算法最好,鲁棒性较好,具有良好的抗干扰性,

(2)运算速度上,SSDA最快,而SAD算法的匹配精度和速度是处于两者之间,NCC计算量很大,难以应用到实时处理系统,通常采用优化策略减小计算量,

(3)对背景比较简单、平均灰度变化不大的情况,用SSDA, SAD相关方法可获得较好的跟踪效果,但当平均灰度发生较大的变化时,用SSDA和MAD方法效果不好,这时可采用ZSSD, ZSAD相关方法.

模板相关匹配的搜索方法很多,但也有许多缺陷.主要限制之一是在图像上测试匹配计算量较大,特别是当模板或搜索区域很大时速度很慢,且对多个峰值难以判断最佳匹配点.若两窗口灰度变化很大,也会给相关函数的设计带来困难.而且目标的剧烈运动、目标形变、变化和强度干扰等因素常会严重影响相关跟踪算法的可靠性.

3.相关跟踪算法的MATLAB仿真

本仿真采用MATLAB自带的一个83帧的viplane_Y.i视频文件,分辨率为360*168,图像为256级灰度图,视频内容为架在一辆行驶的汽车上的摄像机拍摄前方的车辆行驶情况.以下为跟踪算法在MATLAB中的仿真程序,包括视频转换模块、初始化模块、目标跟踪模块,本文仅对目标跟踪模块做一个详细说明.

目标跟踪模块采用绝对差值法SAD跟踪算法,连续进行83幅图像的跟踪处理,并且将目标在原图中用白色方框标示出来.

for k等于1:22

filename等于sprintf('pic_%2d.jpg',k),

I等于imread(filename),

S等于imcrop(I,[Sxlocal Sylocal 64 64]),

%%提取原图中一个65*65像素的图像作为搜索窗%%

D等于zeros(M-m+1,N-n+1), %%预分配二维数组D%%

for i等于1:M-m+1

for j等于1:N-n+1

D(i,j)等于sum(sum(abs(S(i:i+m-1,j:j+n-1)-C(1:m,1:n)))),

end

end

%%SAD算子算法--减相关%%

[x_offset,y_offset]等于find(D等于等于min(min(D))),%%寻找D数组中数值最小的位置%%


%%原图中搜索窗边缘用黑色方框勾画出来%%

数字图像相关跟踪算法的MATLAB实现参考属性评定
有关论文范文主题研究: 关于算法的论文例文 大学生适用: 在职论文、学院学士论文
相关参考文献下载数量: 100 写作解决问题: 学术论文怎么写
毕业论文开题报告: 论文任务书、论文总结 职称论文适用: 杂志投稿、初级职称
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 免费选题

I(Sylocal+x_offset-16:Sylocal+x_offset+48,Sxlocal+y_offset-16)等于0,

I(Sylocal+x_offset-16:Sylocal+x_offset+48,Sxlocal+y_offset+48)等于0,

I(Sylocal+x_offset-16,Sxlocal+y_offset-16:Sxlocal+y_offset+48)等于0,

I(Sylocal+x_offset+48,Sxlocal+y_offset-16:Sxlocal+y_offset+48)等于0, %%原图中目标边缘用白色方框勾画出来%%

I(Sylocal+x_offset+1:Sylocal+x_offset+32,Sxlocal+y_offset+1)等于255,

I(Sylocal+x_offset+1:Sylocal+x_offset+32,Sxlocal+y_offset+32)等于255,

I(Sylocal+x_offset+1,Sxlocal+y_offset+1:Sxlocal+y_offset+32)等于255,

I(Sylocal+x_offset+32,Sxlocal+y_offset+1:Sxlocal+y_offset+32)等于255, figure, imshow(I),

%更新搜索窗的位置,同时在MATLAB命令行窗口显示Sxlocal和Sylocal坐标%%

Sxlocal等于Sxlocal+y_offset-17

Sylocal等于Sylocal+x_offset-17

end

跟踪过程图像情况如下图:

从以上跟踪结果看,第1帧至第66帧目标在视场中不断晃动,但是大小基本不变,SDA跟踪算法很容易跟踪目标,证明这种经典算法的可行性.第66帧开始,镜头逐渐拉近,目标变大,但还是可以跟住目标,说明这种算法具有一定的稳健性,可以适应目标一定程度的缩放.到82帧镜头突然拉远,恢复到第一帧的焦距,该算法能迅速识别跟踪住目标,稳健性也较好.