基于时空信息融合的无人艇水面目标检测跟踪
2021-06-24周治国王秋伶
周治国 荆 朝 王秋伶 屈 崇②
①(北京理工大学信息与电子学院 北京 100081)
②(中国船舶重工集团公司第七一一研究所 上海 201108)
1 引言
近年来,能够独立完成自主作业任务的水面无人艇(Unmanned Surface Vehicle, USV)发展迅速,主要用于执行不适于有人船只执行的危险任务,在民用和军事领域的应用前景极其广泛。无人艇的自主导航需要利用视觉检测与跟踪感知周围环境,但是水面存在目标难以采样,目标形变、光照变化、尺度变化、目标遮挡、摄像头抖动等多种状况[1],这些不可预测的问题增加了无人艇视觉检测跟踪的难度,可能会造成虚警、漏检、跟踪失败等后果。
在海天背景下的目标检测识别领域,主要从传统图像处理方法和深度学习两个角度展开研究。传统方法主要是通过研究水面环境下的前景和背景特征、滤波理论实现对目标的识别。传统算法[2,3]运行速度较快,在光照条件良好、没有遮挡、运动缓慢的环境下表现较好,但在水面复杂条件下检测效果不佳,例如光照过强或过弱时,往往会出现误检过亮波浪噪点、漏检过暗目标等问题,难以满足鲁棒性需求。
深度学习算法在目标识别领域中取得了良好的效果。Faster RCNN[4], YOLO[5], SSD[6]等在经典数据集上的目标识别效果已经远远超过了传统方法。在水面目标识别方面,Qin等人[7]设计FCN-8s网络结构用于检测水面障碍物;Yang等人[8]通过Faster-RCNN检测目标的候选框,在候选框中实现图像分割。深度学习算法精度较高,但是检测速度较慢,需要高功耗实验设备的支持,难以移植到嵌入式设备中。
目前的视觉检测算法大都是针对固定的一帧静态图片进行处理,而帧与帧之间时间上的信息并没有得到充分利用,在对视频进行处理时可能会出现目标漏检等情况。
与视觉目标检测相比,目标跟踪对实时性的要求更高,按有无检测过程的参与,可分为生成式跟踪与判别式跟踪。生成式跟踪[9—11]是先对前景目标进行表观建模,再按一定的跟踪策略估计目标的最优位置,这类方法极易受到干扰,导致跟踪失败。判别式跟踪[12—14]将跟踪看作前景与背景的二分类问题,通过对每一帧图像进行目标检测来获取跟踪目标状态,跟踪相对稳定但对训练样本的依赖程度相对较高。基于时频变换的相关滤波跟踪算法计算高效,近年来受到广泛关注[15—20]。Henriques 等人[21]于2015年提出了核化相关滤波器(Kernelized Correlation Filter, KCF)算法,扩充了CSK,在其中引入不同的核方法以及方向梯度直方图(Histogram of Oriented Gradient, HOG)特征,大大提高了跟踪算法的精度。
这些目标跟踪算法主要是基于视频序列中的时间信息对目标进行处理,对其具体位置及尺度等空间信息的确定精确度不高,跟踪过程中可能会不断积累误差,造成目标漂移,导致跟踪失败。
本文提出基于时空信息融合的无人艇水面目标检测跟踪,利用深度学习检测获得更加精确的空间位置和尺度信息,减少累积误差,利用相关滤波跟踪计算视频帧间梯度特征的时间信息相关性,即视频帧与帧之间的关联性,降低漏检概率,保证运行速度,在跟踪的过程中每隔一定的图像帧数后运行一次检测,通过特征对比将时空信息进行融合,在确保跟踪速度和准确率的情况下,还能够及时检测到水面视野中新出现的目标并长时间持续跟踪。
2 基于时空信息融合的水面目标检测与跟踪
基于时空信息融合的无人艇水面目标检测跟踪主要分为3个部分,基于空间信息的深度学习检测、基于时间信息的相关滤波跟踪和时空信息的融合。先通过单发多盒探测器(Single Shot multibox Detector, SSD)检测视频图像,再利用KCF技术对水面目标进行跟踪,在跟踪一定帧数后再次引入SSD检测机制,比较旧跟踪框与新检测框的置信度,通过时空信息融合策略得到合适的框继续跟踪,若在视野中检测到有新的目标出现,则同时跟踪新目标。系统整体架构如图1所示。
图1 算法框架图
2.1 基于空间信息的深度学习检测
本文采用基于SSD算法框架实现对目标的检测,并针对水面环境的特殊性,改进默认框生成方法,提高目标空间信息检测精度。
输入图像首先由基础网络经过迭代卷积运算充分提取特征,再通过附加网络进行进一步的特征提取与分析,利用卷积预测器进行目标位置偏移量预测与分类,最后用非极大值抑制方法去除冗余。基础网络采用VGG结构作为特征提取网络,在网络末端使用2个卷积层替换原网络的2个全连接层,并在其后增加8层附加网络进一步提高特征提取能力。深度不同的特征图的感受野不同,对不同尺度目标的响应也不同。SSD检测网络从特征提取网络抽取conv4_3, conv7, conv8_2, conv9_2,conv10_2和池化层pool11共6层尺度递减的特征图作为输入,以实现多尺度目标的检测。其网络结构图如图2所示。
检测多尺度目标分3步:在不同尺度特征图上生成宽高比不同面积相同的默认框;经过大量样本的训练卷积预测器以默认框中的抽象特征为输入,预测默认框的偏差;通过非极大值抑制去除置信度较低的冗余框。
默认框生成方法改进如下:
设需要在共m个特征图上做预测,则第k个特征图上默认框面积(尺度)sk为
本文取m=6,最小面积为0.20,最大面积为0.95。本文采用K-means聚类分析算法处理数据集中所有目标的宽高比,得到5个聚类中心,即新的宽高比ar∈{1.0, 1.8, 2.5, 3.8, 5.0},为目标检测提供更好的初值。
图2 检测算法网络结构图
利用SSD卷积网络得到固定默认框到实际目标的坐标偏移量与类别的得分,通过类别得分和坐标偏移量的归一化和加权,得到损失函数
2.2 基于时间信息的相关滤波跟踪
对于水面无人艇来说,在海面任务中跟踪的实时性至关重要,本文基于在速度方面优势较大的KCF算法实现,同时考虑到水面目标尺度变化较大的特点,加入多尺度自适应模块。
采用HOG特征训练分类器,转化为岭回归模型[20],建立输入的样本变量x和输出的响应y之间的映射关系,岭回归目标函数为
其中λ(λ ≥0)是正则化参数,加入正则项是为了避免过拟合的发生。
为了使通过回归器预测到的样本标签与真实标签差距最小,为每个样本分配权值系数,得到回归参数的闭合求解公式
由于密集采样计算比较耗时,采用循环移位构建训练样本,将问题变换到离散傅里叶域,利用循环矩阵的性质,避免矩阵求逆的过程,加速学习。循环矩阵对角化为
为了简化计算,将线性空间岭回归得到的特征通过核函数映射到非线性空间,在非线性空间求解一个对偶问题。通过映射函数φ(x)分类器变为
在傅里叶域得到所有测试样本的响应
采用响应最强的采样作为本帧位置。
跟踪算法整体框架图如图3所示。首先对首帧图像进行初始化,对初始图像进行特征提取,从而进行模型训练,得到滤波器模板;然后进行目标跟踪,对当前帧进行特征提取,与前一帧训练得到的滤波器模板做卷积,得到响应图,最相关的即为目标位置。
为应对目标尺度变化,制定尺度自适应策略来保证跟踪的稳定性。以目标位置为中心,选取不同尺度的矩形区域作为样本,分别提取其HOG特征,通过跟踪分类器后得到各自的样本响应R0,R+1,R-1,比较后得到最强的响应R
得到响应最强的样本所对应矩形框即为当前目标尺度。利用此方法进行多尺度自适应,运算量小且高效可行。
2.3 时空信息的融合
图3 跟踪算法整体框架图
利用深度学习进行目标检测来提取单帧图像特征,精确度较高,可以对未知目标进行识别分类,鲁棒性强。但检测没有结合视频图像帧与帧之间的时间信息关系,可能会导致漏检,且运行速度较慢。而相关滤波跟踪是通过提取连续帧图像的特征并训练滤波器实现,计算量少,处理速度快,但是其容易累积误差,导致目标漂移,易受目标遮挡与水面风浪引起的晃动等影响。因此,将时间信息与空间信息进行融合,可以充分利用两者的优点,提高整体性能,实现对水面目标更加准确、稳定的检测跟踪,兼顾鲁棒性和实时性。
融合时,在首帧图像中通过检测算法确定目标空间位置信息,再将首帧目标的位置作为跟踪算法的输入,之后的数帧采用跟踪算法对目标进行跟踪。跟踪固定帧数后运行再检测机制,通过检测算法确保持续检测跟踪的精确度。两次再检测之间进行跟踪的帧数通过实验确定。
运行再检测机制后,并不能确定之前的跟踪候选框和再检测得到的检测候选框哪个效果更好,因此本文设计了候选框选择策略,如图4所示。
图4 候选框选择策略流程图
首先计算检测候选框Si与跟踪候选框Kj之间的重合度,判断检测到的与跟踪的是否是同一个目标。本文使用交并比(Intersection Over Union,IOU)作为重合度的评判标准,即两个候选框交集与并集的比值,计算方法为
如果 ∀ Kj, IOU(Si, Kj) < 0.4,则将Si视为新目标并输出,参与跟踪算法的初始化。如果 ∃ Kj,IOU(Si, Kj) > 0.4,则认为检测框Si与跟踪框Kj检测到了同一目标,此时将检测算法输出框的置信度conf(Si)与跟踪算法输出框的归一化响应conf(Kj)进行比较,取置信度较大的框作为系统的输出。
3 实时实现及验证
3.1 水面目标数据集与验证平台
为了提高检测算法在水面任务中的精确度和鲁棒性,本文自行构建了水面无人艇检测目标数据集,共1550张图片。训练时,以Pascal VOC2007训练出的SSD模型作为权重起点对网络进行微调,设置学习率为0.001,权重衰减为0.0005,在NVIDIA GeForce GTX 1080TI上进行了30000次训练。
本文选取实地实验中5个比较有代表性的视频进行验证,视频1显视角、尺度变化,视频2显示目标遮挡和尺度变化,视频3, 4显示由风、浪等引起的视野晃动,视频5显示光照变化。测试平台为2.1 GHz, 8GB内存的AMD Ryzen 5 3500U主机。
本文使用精确度和成功率作为衡量指标来比较实验结果,前者为视频序列图像中心位置误差小于某个阈值的相对帧数,后者为目标边界框重叠率超过阈值的帧所占百分比[19]。
3.2 时空融合算法实验结果与分析
无人艇在不同环境影响下对水面目标的检测跟踪结果如表1所示,5个不同视频序列中检测跟踪的具体精确度和成功率曲线如图5所示。
表1 测试数据集和检测跟踪结果(IOU@0.6)
图5 测试数据集检测跟踪精确度及成功率
由表1和图5可知,与视频1相比,视频2, 3, 4,5的跟踪成功率都下降,可见遮挡、尺度变化、晃动和光照都对检测跟踪效果有影响,其中遮挡和光照变化影响较大,晃动剧烈程度不同,对检测跟踪的影响也不同。在设定目标重叠率(IOU)阈值为0.6的情况下,平均检测跟踪精确度为77%,平均速度可达到15 FPS。视频2的处理速度较慢是由于视野中出现新目标引起的,视频4中目标尺度较大,因此检测跟踪时间较长。
选择受环境影响更大的目标遮挡条件下的视频2和光照变化条件下的视频5进行对比实验,分别将本文提出的基于时空信息融合的水面目标检测跟踪算法与单一跟踪算法、检测算法进行比较。
视频2中存在目标遮挡的问题,实验结果如表2和图6所示。就精确度和成功率而言,显然融合算法更为出色。深度学习检测算法可能无法检测到尺度过小的目标,导致召回率较低,造成漏检。在长时间的检测跟踪中,相关滤波跟踪算法会累积误差,导致准确性较差,尤其是对于被遮挡的目标,很容易发生跟踪漂移现象。这些原因使得单一检测或跟踪算法下的精确度和成功率不高。融合算法通过KCF跟踪保证了较高的召回率,通过SSD检测纠正了累积误差,在目标被遮挡后仍然能重新检测到目标并持续跟踪,解决了水面目标检测跟踪中的遮挡问题。
视频5中存在光照变化问题,实验结果如表3和图7所示。由于受到光照变化的影响,目标边缘与背景之间的明暗程度难以区别,检测跟踪的目标边界框很难确定,即使能够检测跟踪到目标的位置,对于目标尺度的判断却并不准确,因此KCF跟踪算法中利用中心位置误差计算得到的精确度较高,利用目标重叠率计算得到的成功率却较低。SSD检测算法的鲁棒性较强,但是却存在漏检现象。融合算法的检测跟踪效果则比较好,在光照变化明显的环境中综合表现较好。
3.3 对比实验与分析
本文采用了不同检测和跟踪算法在单目标视频(视频1、视频3、视频4、视频5)上进行了对比实验。其中,空间维度上选取了在工业界广泛应用的YOLOv3和SSD算法,时间维度上选取了经典单目标跟踪算法DSST, ECO与KCF算法。该实验分为两个部分,第1部分是单一的空间检测算法或时间跟踪算法,与本文融合算法的对比;第2部分是在本文融合策略的基础上,不同检测和跟踪算法组合的对比。
表4显示了单一算法的对比结果。若单独对比检测算法,SSD算法的检测精度更高,虽然YOLOv3在公开数据集上有较好的普适性,但是SSD在本数据集上更有针对性。而时间上则是KCF算法的精度更高,体现了其在水天背景下的优势。整体来看,单一算法的成功率远低于SSD+KCF融合算法。这是因为检测算法受到水面环境下的复杂光线反射的影响,导致其出现大量的漏检现象;而时间算法会受到摄像头晃动的影响,积累误差导致跟踪框漂移,使跟踪框与Ground Truth的IOU达不到0.6。
表2 分别使用KCF、SSD和融合算法的结果比较(视频2)
图6 分别使用 KCF、SSD和融合算法的检测跟踪精确度和成功率比较(视频2)
表3 分别使用KCF, SSD和融合算法的结果比较(视频5)
图7 与分别使用 KCF, SSD和融合算法的检测跟踪精确度和成功率比较(视频5)
表4 单一SSD, YOLOv3, KCF, DSST和ECO的算法成功率对比(IOU@0.6)
表5对比了不同经典算法在IOU为0.6时的融合效果。由于空间上YOLOv3在数据集上的效果较差,漏检较多,因此未将其作为空间检测算法参与融合测试。因此这一部分实验空间上仅采用了SSD,时间上分别采用KCF, DSST和ECO算法测试了融合的效果。其检测结果如表5。
表5 SSD与KCF, DSST和ECO融合算法的成功率对比
从表5中可以看出 SSD+KCF算法的效果最好。由于表4中KCF算法在跟踪算法中效果较好,同样的SSD+KCF的整体效果也优于SSD+DSST和SSD+ECO。因为跟踪算法利用时间信息了填补了检测算法的漏检,而检测算法又通过对单帧图像的精确检测纠正了跟踪框的漂移,所以融合算法检测的成功率相比表4中的单一算法有了明显提升。不同融合算法在实际视频上的表现如图8所示,绿色框代表SSD+KCF,红色框代表SSD+DSST,粉色框代表SSD+ECO。
图8 3种融合算法的检测跟踪结果对比
4 结论
在无人艇水面目标检测跟踪中,通常会面临各种环境干扰,尤其是目标尺度变化、遮挡、光照变化以及晃动,本文提出了基于时空信息融合的无人艇水面目标检测跟踪。利用深度学习检测提取空间信息,提高检测精确度,避免目标位置漂移;利用相关滤波跟踪得到时间信息,结合帧间特征相关性,避免漏检;利用时空信息融合策略,使检测信息与跟踪信息互补,从而优化检测跟踪系统。为了验证该系统的有效性,实地进行无人艇实验,在水面拍摄视频作为测试数据集,结果表明基于时空信息融合的检测跟踪算法能够高效地对不同复杂场景下的水面目标进行持续检测跟踪,在一定程度上可以应对上述环境干扰因素的影响,兼具鲁棒性和实时性,可应用于实际水面无人艇的工作中。但对于尺度过小的水面目标检测跟踪效果稍差,下一步工作将在这方面做出改进。