舰船科学技术  2022, Vol. 44 Issue (10): 68-72    DOI: 10.3404/j.issn.1672-7649.2022.10.013   PDF    
基于红外图像的无人艇视觉目标跟踪算法
管凤旭, 杨子鹏, 黄佳威, 尹健骅     
哈尔滨工程大学 智能科学与工程学院,黑龙江 哈尔滨 150001
摘要: 为了能够更好地适应水面无人艇复杂的跟踪情况,针对fDDST算法不能处理水面目标被严重遮挡和视野中丢失目标以及帧间目标位置发生突变的问题,对原fDSST算法进行大部分改进。改进水面红外目标搜索区域的方法,将Edge boxes与水天线结合,限定目标检索区域;并结合目标速度和尺度的变化对原算法中滤波器模版的更新率进行改进,同时考虑最大响应值和峰值波动情况对滤波器更新机制进行调整。实验结果证明,改进后的算法能够适应帧间目标大范围的突变和严重遮挡的问题,能保持较好跟踪效果而不跟丢,提高了跟踪算法的鲁棒性,加快了跟踪速度,并且对常见目标跟踪问题仍有很好的跟踪性能。
关键词: 红外图像     水面无人艇     目标跟踪     水天线    
Research on vision target tracking algorithm of unmanned surface vehicle based on infrared image
GUAN Feng-xu, YANG Zi-peng, HUANG Jia-wei, YIN Jian-hua     
College of Intelligent Systems Science and Engineering, Harbin Engineering University, Harbin 15001, China
Abstract: In order to better adapt to the complex tracking situation of surface unmanned craft, the fDDST algorithm cannot deal with the problems that surface target is seriously blocked, the target is lost in the field of vision and the target position changes between frames, so the original fDSST algorithm is partially improved. In this paper, the method of infrared target search area on water surface is improved, Edge boxes are combined with water antenna to limit the target search area. And the updating rate of the filter template in the original algorithm is improved by combining the target velocity and scale variation, and the updating mechanism of the filter template is adjusted by considering the maximum response value and peak fluctuation. The experimental results show the improved algorithm can adapt to the problems of large range of interframe target mutation and serious occlusion, it can maintain a good tracking effect without losing, improve the robustness of the tracking algorithm, accelerate the tracking speed, and still have a good tracking performance for common target tracking problems.
Key words: infrared image     unmanned surface vessel     object tracking     water antenna    
0 引 言

水面红外目标跟踪与陆地上可见光目标跟踪相比,除了常规目标跟踪中会遇到的目标形变、尺度变化、遮挡问题外,还有帧间目标位置突变和目标在视野中丢失的问题。

关于海天背景下目标实时跟踪的算法研究起步较晚,相关研究都是在提取目标的基础上采用传统跟踪算法进行跟踪[1-2]。王悦行[3]提出一种均值移位(mean-shift)和海天线检测相结合的红外目标实时跟踪算法,该算法对目标跟踪具有较好的鲁棒性,但是它不能对跟踪前对初始帧目标的大小和位置实现快速检测,在目标存在明显尺寸变化时,不能实现模板尺寸的自适应,影响了跟踪的效果。文献[4]中总结了模板更新率η与目标速度ν之间存在的关系式,使得模板更新率能够适应目标速度的改变。文献[5]与文献[6]中使用目标与滤波器模板的最大响应值作为判断目标被遮挡的指标。文献[7]采用峰值旁瓣比作为判断遮挡、目标在视野中丢失的指标,但在判断中设定固定的比值会使目标跟踪精度受到限制,并且使用传统的判别指标对判断滤波器模板更新来说效果有限。

选用fDSST (fast discriminative scale space tracking) 算法[8],结合Edge boxes[9]对目标进行检测,同时用水天线来约束检测范围,来减少Edge boxes检测样本,从而提升算法运算速度;另外综合考虑了目标的尺度和运动速度来设置目标更新率,使得算法模板更新率能够适应目标速度以及尺度大小的变化;同时引用APCE(average peak-to-corelation energy)高置信度更新指标[10],进而提出一种通过分析置信度来更新滤波器模板的策略,来提升目标跟踪精度。

1 图像候选目标提取

无人艇在水面跟踪目标时,常因为目标与无人艇之间的相对运动而造成视觉漂移,使目标偏离跟踪的搜索框导致跟踪失败。采用扩大搜索框范围的方法,使用Edge boxes在整副图像中搜索偏移目标,通过结构化边缘信息检测[11]求取块边缘图像,提取候选区域并对这些区域进行评分的方式来检测目标:首先通过像素块边缘信息来确定检测区域内的轮廓个数和与检测区域边缘重叠的轮廓数,然后依次对这些轮廓评分,由得分的高低顺序选择出最优的检测建议。

fDSST算法结合Edge boxes后解决了目标漂移问题,但这种方法相比于原算法扩大了搜索范围,对很多无关样本评分,降低了运算速度也增加了计算难度。可以只针对感兴趣区域进行模版匹配来跟踪目标,那么就需要确定水面图像中目标最可能出现的候选区域。拍摄的在对远距离水面目标进行跟踪时,目标通常出现在水天线区域附近,对水天线区域进行目标跟踪,就能减少无关样本,提升跟踪速度。

利用行均值梯度与直线拟合联合优化的水天线检测方法[12]可以限定水天线区域。然后限定一个水天线角度阈值 $ {\alpha _T} $ ,当水天线倾斜角 $ \left| \alpha \right| \leqslant {\alpha _T} $ 时,Edge boxes的搜索范围的上下边界分别为:

$ {y_{\max }} = \left\{ \begin{gathered} {h_a} + \max \left( {{y_l},{y_r}} \right),{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\max \left( {{y_l},{y_r}} \right) \leqslant {h_p}} ;\hfill \\ {h_p},{\max \left( {{y_l},{y_r}} \right) > {h_p}} 。\hfill \\ \end{gathered} \right. $ (1)
$ {y_{\min }} = \min \left( {{y_l},{y_r}} \right){\kern 1pt} 。$ (2)

式中: $ {h_p} $ 为整幅图像的高度; $ {h_a} $ 为前一帧框中目标的高度; $ {y_l} $ 为水天线左端点的Y轴坐标; $ {y_r} $ 为水天线右端点的Y轴坐标。检测范围的左右边界是按照前一帧框中目标中心,以一定规则逐步扩大搜索范围,左右最大边界是整幅图像的宽度。搜索范围如图1所示。

图 1 水天线限定的目标存在范围 Fig. 1 Target presence range limited by water antenna

当水天线倾斜角 $ \left| \alpha \right| > {\alpha _T} $ 时,只需要将原图像坐标系以图像左下角像素点为圆心旋转 $ \alpha $ ,此坐标系上的水天线倾斜角度为0°(此时左右端点到X轴的距离一样,即 $ {y_l}^\prime = {y_r}^\prime $ ),限定Edge boxes搜索范围的上下边界分别为 $ {y_{\max }}^\prime $ $ {y_{\min }}^\prime $ ,其计算公式为:

$ {y_{\max }}^\prime = {h_a} + {y_l}\cos \alpha,{\min \left\{ {{y_l},{y_r}} \right\} \leqslant {h_p}} ,$ (3)
$ {y_{\min }}^\prime = {y_l}\cos \alpha - {h_a} ,$ (4)

式中: $ {h_p} $ 为整幅图像的高度, $ {h_a} $ 为前一帧框中目标的高度, $ {y_l} $ 表示旋转前水天线左端点的Y轴坐标, $ {y_r} $ 表示旋转前水天线右端点的Y轴坐标。旋转示意图及搜索范围如图2所示。

图 2 水天线坐标旋转示意图 Fig. 2 Diagram of coordinate rotation of water antenna

旋转后坐标系中目标框的左上角像素点位置坐标为 $ \left( {x,y} \right) $ ,通过坐标旋转变换回原坐标系的目标框左上角像素点位置坐标为 $ \left( {x',y'} \right) $ ,变换公式如下:

$ \left\{ \begin{gathered} x' = x\cos \alpha - y\sin \alpha ,\hfill \\ y' = x\sin \alpha + y\cos \alpha 。\hfill \\ \end{gathered} \right. $ (5)

通过这一步的改进,在对远距离水面目标的跟踪过程中,使用水天线与Edge Boxes结合的搜索方法可以在整幅图像中更加合理的小范围区域内搜索远距离目标,并且不受目标偏移距离的影响。水天线的使用可以缩小搜索区域,进而减少跟踪过程中的计算量,加快跟踪速度;同时通过此基于水天线的搜索目标区域的方法,将水天线与Edge boxes相结合,虽然搜索略慢一些,但可以有效解决目标位置突变的问题。

2 改进滤波器模版更新率与更新机制 2.1 结合目标速度与尺度改进模版更新率

fDSST算法在每一帧(除开第一帧)跟踪过程中都需要调整滤波器的模板更新率,再对滤波器进行模板更新。在算法中所有滤波器模板都被设定为相同的大小,采用新过滤器与旧过滤器线性组合的方式来进行更新,如下式[8]

$ {T'_{{\rm{new}}}} = \theta {T_{{\rm{new}}}} + \left( {1 - \theta } \right){T'_{{\rm{old}}}} ,$ (6)

式中: $ T' $ 代表线性组合后的滤波器,T为通过模板更新的滤波器, $ \theta $ 为滤波器模板更新率。模型更新的模板都设为相同大小,是指在模板更新方式中存在一个更新速率的问题,更新率 $ \theta $ 一般是一个固定值,在0.01~0.15之间,针对不同跟踪问题或者不同视频序列,可以通过手动调参的方式来改善跟踪效果。如果使用较低的更新率,则它会缓慢更新模板,跟踪器与目标差别会越来越大,且更新率低会限制跟踪器随着目标改变而改变的特性;较大的学习率可以使模板快速更新,更倾向于快速目标的跟踪。为了适应不同运动速度目标跟踪效果的影响,需要建立一种能跟随目标速度变化来调整模板更新速率的机制,使得跟踪算法能够适应高速以及低速目标。

对于帧编号为i的输入 $ {x_i} $ 的第k个特征通道 $ x_i^k $ 及其DFT变换 $x_i^k $ ,频域中的滤波器模型 $ T_i^k $ 传递函数由下式给出:

$ \varPhi {\left( {T_i^k} \right)^ * } = \frac{{\varPhi \left( {Y_i^k} \right){G_i}}}{{\varPhi \left( {Y_i^{k*}} \right)\varPhi \left( {Y_i^k} \right) + \lambda I}} ,$ (7)

式中: $ {G_i} $ 代表了对应输出, $ \lambda $ 为正则系数,Y是滤波器器模板,在每一帧生成:

$ Y_i^k = \left( {1 - \eta } \right)Y_{i - 1}^k + \eta X_i^k ,$ (8)

式中: $ Y_1^k = X_1^k $ ,即使用第一帧图像的目标特征生成滤波器模型; $ \eta $ 为模板更新率,范围在0~1之间,选取不同的更新速率可以产生更好的模板更新效果。

对目标速度v的定义是相邻帧预测框中心像素点在图像中的欧式距离,如图3所示。

图 3 目标速度定义示意图 Fig. 3 target speed definition diagram

根据速度的定义,速度ν的计算公式如下:

$ v = \sqrt {{{\left( {{x_n} - {x_{n - 1}}} \right)}^2} + {{\left( {{y_n} - {y_{n - 1}}} \right)}^2}} ,$ (9)

式中:点 $ \left( {{x_n},{y_n}} \right) $ 为当前帧预测目标中心像素点位置,点 $ \left( {{x_{n - 1}},{y_{n - 1}}} \right) $ 为前一帧目标中心像素点位置。

目标速度被定义为每帧对象的当前位置和先前位置之间的像素点的欧式距离。文献[4]中得到的滤波器模型的更新率η与运动速度v的近似拟合关系式为:

$ \eta = {1 \mathord{\left/ {\vphantom {1 {\left( {{{\left( {\frac{6}{{v + 1}}} \right)}^6} + 1} \right)}}} \right. } {\left( {{{\left( {\frac{6}{{v + 1}}} \right)}^6} + 1} \right)}} 。$ (10)

可以看到:v越小,η也应该越小,随着v增大,η出现一个增长率先增后减的过程,最终收敛于1,几乎完全丢弃模板历史值。这是因为目标尺度过大或过小时,会造成模版更新率也相对设定的过大或过小,所以应综合考虑目标的尺度和运动速度来设置目标更新,从而适应目标尺寸的变化。根据式(10)得到的更新率η与运动速度v的近似拟合关系,通过大量实验,不断对不同尺度与速度大小的目标进行更新率调整,使得跟踪效果最佳,最终得到的滤波器模型的更新率η的修正公式:

$ \eta ' = {1 \mathord{\left/ {\vphantom {1 {\left( {\left( {5 + 5{{\left( {\frac{{1.5{P_{\max }}}}{{\varepsilon + v}}} \right)}^5}} \right)} \right)}}} \right. } {\left( {\left( {5 + 5{{\left( {\frac{{1.5{P_{\max }}}}{{\varepsilon + v}}} \right)}^5}} \right)} \right)}},$ (11)

式中: $\eta ' $ 为修正后滤波器模型实际更新率,Pmax为目标跟踪框长宽中最大值, $\varepsilon $ 为模板误差。

当速度v大于目标跟踪框长宽中最大值 $ {P_{\max }} $ 的1.5倍时,认为此时目标运动状态为快速运动。当目标速度较小时,目标周围背景和自身外观变化都相对较小,应尽量保留原来模板的信息;当目标速度逐渐增大时,周围环境变化与自身变化相对较大,需增强对这些变化的适应性;而当速度大到一定程度时,模板更新率已经很大,达到饱和状态。在速率为1.5 $ {P_{\max }} $ 时,函数梯度达到最大值。与(10)式相比,此函数的速度梯度更加适合目标运动的变化规律且适用速度区间更广。

2.2 改进滤波器模版更新机制

为解决目标遮挡引入的误差积累,需对更新方式做一些改进,以增强目标检测抗遮挡的能力。故引用APCE高置信度更新指标,提出一种通过分析置信度来更新滤波器模板的策略。当判断跟踪目标发生遮挡或者目标消失时,那么滤波器响应将不满足更新条件,将不会对滤波器模板进行更新,从而降低误差,即

$ APC{E_{{t}}}^\prime = \left\{ \begin{gathered} APC{E_t},{f_{{t_{\max }}}} \geqslant 0.15 ;\hfill \\ 0,{\rm{otherwise}}。\hfill \\ \end{gathered} \right. $ (12)
$ \overline {ZAPCE} = \displaystyle\frac{{\sum\limits_{i = 1}^t {APC{E_t}^\prime } }}{D} 。$ (13)
$ {\eta _t} = \left\{ \begin{gathered} \eta {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} APCE \geqslant \alpha \times \overline {ZAPCE} ;\hfill \\ 0{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{otherwise}}。\hfill \\ \end{gathered} \right. $ (14)

式中: $ APC{E_t} $ 表示第t帧的APCE值,表示响应图整体的波形抖动情况,具体公式参照文献[10];η表示滤波器原先的更新率; $ {\eta _t} $ 表示最终的模板更新率; $ {f_{{t_{\max }}}} $ 表示第t帧的最大响应值,但是忽略了响应图的整体情况;D表示前t $ APC{E_{{t}}}^\prime $ 值中不为0的个数。

通常情况下,当t时刻响应峰值 $ {f_{{t_{\max }}}} < 0.15 $ 时,说明在第t帧时跟踪已经失败[13];但 $ {f_{{t_{\max }}}} $ 较大,APCE值较低时,响应图会呈现出“多峰”的形式,置信度也较低。文献[9]中将当前帧的APCE值与其过往所有帧的历史均值直接比较,但由于计算历史均值中某帧的APCE值受到污染,从而导致计算的历史均值并不准确,所以在计算APCE历史均值之前,先将明显有误的APCE值去除,既可以解决相似物对模板更新的干扰,降低误差,可以有效预防模板漂移等情况。

另外,由于波浪起伏的原因无人艇与目标间的相对运动会使目标短暂在视野中丢失。所以结合目标重检测方法生成一个长时滤波器,保证无人艇对暂时偏出视野的目标也能准确跟踪,目标重检测通常情况下使用SVM[14](support vector machine)或者随机蕨分类器[15],当图像中丢失目标后,SVM检测模块或者随机蕨分类器可以对整副图像进行搜索,同时使用Edge boxes对目标进行重检测,当 $ {f_{{t_{\max }}}} < 0.15 $ 时,算法激活SVM在线检测模块,找到标签为正的候选包围框,再对候选包围框中的每个状态计算其响应值,响应值最大即为目标,从而简化了计算,降低了计算的复杂度,加快了目标的重检测。

3 改进算法的实验验证

采用2个红外图像视频序列进行实验,视频1为实验室自拍的基于无人艇视觉的水面红外图像视频,命名为quick序列,以验证改进算法搜索区域与搜索方式后,改进后算法对水面无人艇在大风浪的作用下目标位置发生不确定性突变的问题时能否准确跟踪。视频2为VOC2012数据集中的国际标准序列Boat_ce2,其具有尺度变化、形变、遮挡、目标在视野中丢失等特点,验证跟踪算法的综合性能。具体参数如表1所示,实验结果如图4图5表2所示。

表 1 红外图像视频序列参数 Tab.1 Infrared image sequence parameters

表 2 红外图像视频序列跟踪结果数据表 Tab.2 Infrared image sequence tracking results

图 4 quick 序列跟踪结果对比 Fig. 4 Comparison of quick sequence tracking results

图 5 Boat_ce2 序列跟踪结果对比 Fig. 5 Comparison of Boat_ce2 sequence trace results

通过图4可以发现,原fDSST算法在序列集第96帧完全丢失目标,目标偏离出了跟踪的搜索框,使得跟踪失败,而由于经改进的算法能在全局进行搜索目标,可以很好地处理帧间目标位置突变的问题。结合表2中quick序列的数据可以看到,改进后的算法在识别率方面相比于原算法提升很多,且结合水天线的改进算法识别速度得到了很大提升。2个改进的算法识别率相同,但有水天线约束的改进算法速度更快,这是由于有水天线约束后,搜索范围减少,候选轮廓数量也变少,这会极大减少模版匹配的时间和目标与滤波器模版做相关运算的时间。实验证明了改进后算法对水面位置目标突变问题在跟踪精度与跟踪速度上有明显改善。

图5可以发现,原算法在目标第一次被严重遮挡后就不能跟上目标。而改进后的算法在目标经历了由远及近再到远的过程、目标艇转向时自身发生形变、目标被岩石遮挡到完全遮挡在视野中丢失等一系列问题后仍能跟踪上目标。从表2的Boat_ce2序列数据可以看到,改进算法跟踪速度较原算法慢,这是由于该序列集画面中没有明显的水天线,算法不能够使用水天线缩小目标区域,所以跟踪速度略微减慢,但识别率变高,说明改进后的算法对Boat_ce2这种综合问题性强的序列集跟踪效果很好。实验证明了改进后的算法对于远距离目标的速度与尺度变化以及目标被遮挡等问题有了更好的适应性,可以有效解决水面红外目标运动速度和尺度变化过快、目标发生遮挡的跟踪效果问题。

4 结 语

将Edge boxes与水天线结合来搜索水面红外目标,使用水天线来限定目标可能存在的区域,在水天线区域中用Edge Boxes生成候选的目标,加快了对水面目标的跟踪速度;综合考虑水面目标的运动速度与尺度来设置模板更新率,改善了对目标的跟踪效果;在更新机制方面综合考虑最大响应值和峰值波动情况,并且在目标从视野中丢失时能够对目标进行重新搜索定位,提升了跟踪的鲁棒性。

参考文献
[1]
FEFILATYEV S, GOLDGOF D, SHREVE M, et al. Detection and tracking of ships in open sea with rapidly moving buoy-mounted camera system[J]. Ocean Engineering, 2012, 54(11): 1-12.
[2]
WU J, MAO S, WANG X, et al. Ship target detection and tracking in cluttered infrared imagery[J]. Optical Engineering, 2011, 50(5): 057207-057207-12. DOI:10.1117/1.3578402
[3]
王悦行, 陈晓冬, 赵克军. 海天背景下红外舰船目标实时跟踪算法研究[J]. 弹箭与制导学报, 2016, 36(1): 165-170.
[4]
ASHA C S, NARASIMHADHAN A V. Adaptive learning rate for visual tracking using correlation filters[J]. Procedia Computer Science, 2016, 89: 614-622. DOI:10.1016/j.procs.2016.06.023
[5]
LIU S, ZHANG T Z, CAO X C, et al. Structural correlation filter for robust visual tracking[C] //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. LosAlamitos: IEEE Computer Society Press, 2016: 4312–4320.
[6]
段伟伟, 杨学志, 方帅, 等. 分块核化相关滤波目标跟踪[J]. 计算机辅助设计与图形学学报, 2016, 28(7): 1160-1168. DOI:10.3969/j.issn.1003-9775.2016.07.016
[7]
刘威, 赵文杰, 李成. 时空上下文学习长时目标跟踪[J]. 光学学报, 2016, 36(1): 179-186.
[8]
MARTIN, DANELLJAN, GUSTAV, et al. Discriminative scale space tracking[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(8): 1561-1575. DOI:10.1109/TPAMI.2016.2609928
[9]
ZITNICK CL, DOLLAR P. Edge boxes: locating object proposals from edges[C]// European Conference on Computer Vision. Springer, Cham, 2014.
[10]
WANG M M, LIU Y, HUANG Z Y. Large margin object tracking with circulant feature maps[C]// Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2017: 4800–4808.
[11]
DOLLA R P, ZITNICK C L. Structured forests for fast edge detection[C]// International Conference on Computer Vision, 2013: 1841–1848.
[12]
张勋, 马豪伯, 李昀澄. 行均值梯度与直线拟合联合优化的UUV海面红外图像海天线检测[J]. 应用科技, 2018(4): 6-12.
[13]
MA C, HUANG J B, YANG X K, et al. Adaptive correlation filters with long-term and short-term memory for object tracking[J]. International Journal of Computer Vision, 2018, 126: 771-796. DOI:10.1007/s11263-018-1076-4
[14]
CORTES C, VAPNIK V. Support vector network[J]. Machine Learning, 1995, 20(3): 273-297.
[15]
张微, 康宝生. 相关滤波目标跟踪进展综述[J]. 中国图像图形学报, 2017, 22(8): 1017-1033.