基于DFI一体化网络的水下抗干扰目标跟踪方法

2022-07-06 08:22韩勇强张路成李利华刘泳庆
中国惯性技术学报 2022年2期
关键词:特征提取滤波器特征

韩勇强,张路成,李利华,刘泳庆

(1. 北京理工大学 自动化学院,北京 100081;2. 国家体育总局体育科学研究所,北京 100061)

目标检测是计算机视觉中一项非常重要的任务,目标检测能对感兴趣的目标进行分类和定位。图像分割、物体追踪、关键点检测等任务通常都要依赖于目标检测的结果。水下目标检测技术可以用于水下环境监测、水下运动跟踪等任务,在国防安全和民用领域有巨大的应用空间。在目标检测基础上的目标跟踪同样是水下机器人十分重要的功能需求,水下目标跟踪指在确定时间段内,获得运动目标确切的运动参数或运动轨迹,然后将这些信息作为输入量,输入到跟踪算法中进行计算,根据当前信息,推测目标后续时刻的行为。跟踪过程一般包括视频流的获取、目标的检测、目标的特征提取、目标的状态预测与测量、目标的跟踪控制等几个阶段。目前,目标跟踪已经应用于日常生活的各个方面,例如车辆辅助驾驶、智能手机相机场景优化、人脸识别、对水下目标的跟踪拍摄等,具有广阔应用空间。

受水下复杂环境影响,水下目标检测与跟踪不可避免地会受到各种干扰。在水下目标检测中,可见光目标会产生畸变、反射等现象,这些现象会导致目标检测过程发生误检、漏检、分类不正确、定位不准等问题。图1展示了几种典型的水下检测干扰情况。上述因素干扰样本,很大程度上影响了对真实目标的分类和定位。

图1 典型的水下干扰情况Fig.1 Typical underwater interference scenarios

在目标检测领域中,早期传统目标检测主要采用基于人工设计的提取器,如SIFT(Scale Invariant Feature Transform)、HOG(Histogram of Oriented Gradients)、DPM(Deformable Part-based Model)等。传统目标检测算法存在特征提取器设计难度大的问题,也可能出现对于某些特征不适应、鲁棒性差的现象。在效率上,与深度学习的目标检测算法相比,传统目标检测算法也存在着较大差距。近年来神经网络在目标检测应用逐渐广泛,2015年提出的RCNN(Regions with CNN features)[1]是使用深度学习实现物体检测的经典之作,在RCNN基础上,2015年的Fast RCNN[2]实现了端到端的检测与卷积共享,在2016年,YOLOv1[3]实现了无锚框(Anchor Free)的一阶检测,SSD[4]实现了多特征图的一阶检测,这两种算法对随后的物体检测产生了深远的影响,在2017年,FPN[5]利用特征金字塔实现了更优秀的特征提取网络,Mask RCNN[6]则在实现了实例分割的同时,也提升了物体检测的性能。进入2018年后,物体检测的算法更为多样,如使用角点做检测的CornerNet[7]、使用多个感受野分支的TridentNet[8]、使用中心点做检测的CenterNet[9]等。2018年,马娟娟等提出了深度优先方法递归训练随机森林分类器,SenseAndAvoid数据集目标检测平均准确率提高了7.6%[10]。2019年,胡昌华等提出基于改进YOLOv3的SAR图像舰船小目标检测算法,通过改进底层残差单元、特征金字塔网络结构等,在舰船目标公开数据集上F1值提高了6.3%[11]。2020年,徐建华等针对水下成像模糊,物体多自由度运动的特点,提出基于YOLOv3算法的目标识别模型,通过降采样重组、多级融合、优化聚类候选框、重新定义损失函数等方式,使识别速度达到了15FPS,置信度为0.5时的平均准确度达到了75.1%[12]。

在目标跟踪中,应用最为广泛的算法之一是基于光流法的跟踪算法。图2表示了在同一段视频序列中,跟踪目标的位置变化。将分类器思想应用于目标跟踪的是Boosting跟踪算法,但在跟踪效率上存在诸多问题,跟踪较慢无法满足跟踪算法对于实时性的要求。Boris[13]在分类器跟踪的基础上,提出了一种多事例学习的跟踪算法(Multiple Instance Learning, MIL)。2010年CVPR会议上,David等首次将相关滤波与目标跟踪相结合,提出了MOSSE目标跟踪算法[14]。2012年,Henriques等[15]针对相关滤波方法提出了一种相关性求解的方式。2014年,Henriques提出了核化相关滤波跟踪算法,该算法通过循环矩阵丰富目标训练集,通过核计算将目标特征进行高维展开[16],使其高维可分,最后利用非线性分类器训练这些特征。

图2 跟踪目标位置变化Fig.2 Tracking position of targets

本文主要考虑水下机器人对水下目标跟踪拍摄这一场景,针对目前水下目标检测与跟踪中存在的识别率低、识别速度慢、跟踪性能差等问题,提出了检测特征提取一体化算法与扩维Kalman滤波匹配跟踪算法。相对传统的检测与跟踪分离式算法,一体化识别跟踪方法通过增加目标特征扩充维度,避免了在跟踪多目标的环境下,水下机器人无法准确识别特定目标的问题,以及所带来的跟踪误差大、多目标跟踪失效的问题。通过仿真与试验方法证明了检测特征一体化方法的有效性与实用性。

1 基于检测特征提取一体化网络的水下目标跟踪总体方案

水下机器人(Autonomous Underwater Vehicle,AUV)目标检测跟踪工作通常分为检测、预测、匹配、跟踪等步骤。水下机器人搭载摄像机获取图像信息,输入检测网络进行目标检测,构造检测向量输入Kalman滤波器进行后续预测、匹配,最终由水下机器人控制器对检测到的目标实现跟踪。在传统水下目标检测与跟踪技术的基础上,本文加入了检测特征提取一体化网络,在检测的同时输出目标的特征信息,重新构造扩维状态量,以实现对多目标的检测、识别、跟踪,总体方案如图3所示。

图3 基于检测特征提取一体化的水下目标跟踪方案Fig.3 Underwater target tracking scheme based on integrated target detection and feature extraction

本文工作重点如下:一是重新设计了检测网络,将检测与特征提取合并为一体化网络,在输出目标检测信息的同时,输出特征识别信息进行多目标跟踪和编号;二是针对前述一体化检测提取网络,构造扩维状态向量,并重新设计了扩维Kalman滤波器,输出跟踪控制信号,实现扩维状态下,多目标的检测与跟踪。

2 检测和特征提取一体化网络

目前的目标检测算法中,以YOLOv3算法为例,该算法能够输出目标的类别、位置和大小信息,但不能够输出目标的表观特征信息。检测环节中,水下存在相似样本干扰的问题,同时检测算法输出的信息有限,限制了跟踪算法的性能。

本节提出了一种基于YOLOv3的抗干扰的检测和特征提取一体化网络(Detection and Feature extraction Integration Network, DFI)。该网络能够提供目标检测信息的同时,为目标跟踪提供目标的特征信息,能够有效提升跟踪算法的性能。

2.1 DFI一体化网络结构

DFI网络主要包括三个功能模块,分别是目标检测模块、解码模块和特征提取模块。网络的结构如图4所示。

图4 DFI检测与特征提取一体化网络结构Fig.4 DFI Network structure

在工作过程中,目标检测模块执行目标检测任务,输出3分支检测结果,然后通过非极大值抑制(Non Maximum Suppression, NMS)算法对3个分支数据进行整合,得到目标检测的输出结果,目标检测结果和原始图像信息输入到解码模块,解码模块提取出目标区域的图像并送入特征提取模块,特征提取模块运行卷积神经网络提取图像的特征信息,经过运算每个目标的图像特征投射到一个10维的超球面上,超球面的坐标即为该目标的特征信息。由于解码模块的作用,网络中目标检测模块输出的目标信息和特征检测模块输出的特征信息一一对应,最后将目标检测输出和特征提取输出进行合并,得到网络的最终输出,输出中包含每个目标的类别、位置、大小以及目标特征信息。

具体实现步骤如下:

S1:在工作过程中,目标检测模块运行YOLOv3算法,输出3分支结果,分别为D1、D2和D3,其中D1∊R13×13×N、D2∊R26×26×N、D3∊R52×52×N。

S2:通过非极大值抑制(NMS)算法对3个分支数据进行整合,得到目标检测的输出结果D,其中D∊RM×N,M为图像中目标数。

S3:目标检测结果和原始图像信息输入到解码模块,解码模块提取出目标区域的图像并送入特征提取模块,特征提取模块运行卷积神经网络提取图像的特征信息,得到一个特征图。

其中,f表示图像,h为卷积核。

S4:对S3中提取的特征图通过全连接层,将信息转化为M×10维度的特征向量f。

S5:对S4中f进行操作,将每个目标的特征投射到一个10维的超球面上,得到特征提取网络的最终输出F,其中F∊RM×10。同时,需要对f中各向量进行归一化处理,如式(4)所示。

S6:对目标检测模块和特征提取模块的结果进行合并,得到最终的输出,输出中包含每个目标的类别、位置、大小以及图像特征信息。

2.2 DFI骨干网络

物体检测算法的核心是通过卷积神经网络,将输入图像生成深层的特征图,再利用算法进行区域生成和损失计算,骨干网络是算法的基础,在DFI网络中,使用Darknet-53作为骨干网络,网络的结构如图5所示。

图5 DFI骨干网络结构Fig.5 DFI backbone network structure

2.3 特征提取网络

解码模块输出的目标图像并进行缩放处理,处理后的图像尺寸为3×128×128,在特征提取模块中对目标的特征进行计算。

特征提取网络结构如图6所示,解码模块的输出作为特征提取网络的输入,在网络中通过多次的卷积和最大池化运算,最终输出的特征尺寸为10×1×1。

图6 特征提取网络结构图Fig.6 Feature extraction network structure diagram

3 扩维Kalman滤波跟踪匹配算法

扩维Kalman滤波器主要实现预测、匹配、跟踪功能。由前述一体化网络获取目标类别、位置、大小与特征信息后,通过构造扩维状态向量,由扩维Kalman滤波器进行状态向量的预测与更新,再由匈牙利匹配算法实现跟踪匹配,最后水下机器人对目标进行跟踪控制。

3.1 扩维向量

一体化网络增加了运动物体的特征信息,扩充了原状态向量的维度,称新得到的状态向量为扩维向量,以xk表示,向量构成见式(7),X、Y、Z为AUV的三自由度位置量,φ、θ、ψ为绕三空间坐标轴的旋转角,F为特征向量。

特征向量F为10×1矩阵,其中元素f1~f10符合10维超球面分布。10维超球面由式(9)定义,中心位于原点且半径为单位长度的n维球面称为单位n维球面,记为S,超球面是n维球体n>2的表面或边界,是n维流形的一种。不同目标特征分布于超球面上不同位置,根据各特征点间欧氏距离r即可定量分析目标间特征差异大小。

3.2 扩维滤波器构造

卡尔曼滤波(Kalman Filter, KF)是间接和不确定测量估计系统的最佳估计算法。KF是在线性滤波前提下,以最小均方误差为最佳准则估计线性高斯模型的优化方法。我们认为时间k的状态是由(k-1)的状态演变出来,随机信号过程激励噪声和观测噪声满足高斯正态分布且相互独立。扩维滤波器通过一系列测量z1,z2…zk推断p(xk),xk为前述扩维状态向量,所有测量值均由检测目标得到,且在每一步中水下机器人均能检测到目标。

首先,对扩维滤波器进行状态预测,此步骤预测基于马尔可夫预测进行,见式(11)。

在产能、产量独占鳌头的同时,我国磷复肥产业产品品种日渐齐全,高浓度磷复肥占比显著提升,各种专用肥、水溶肥、缓控释肥、有机肥等新产品不断涌现,产业集中度显著提高,技术装备水平不断优化,资源利用水平不断提高,已形成科研、设计、设备制造和安装、生产、销售、农化服务等一整套完整的工业体系。此外,高浓度磷复肥装置的国产化、大型化工作也取得突破性进展,“836”装置基本实现自主化、国产化;大型湿法磷酸精制、硫酸的低温位热能回收、大型中低品位胶磷矿浮选、磷矿中氟和碘的回收、磷石膏综合利用等自主开发的技术和装备已经实现产业化,行业自主创新能力持续增强。

式中表示跟踪对象k时刻的状态分布由(k-1)时刻推测而来。同时,p(xk-1)由前(k-1)步的所有测量值推测得到,由Chapman-Kolmogorov方程,可以写作:

其中,状态转换xk|k-1中的wk为噪声。

随后,扩维滤波器进行更新,根据预测和测量结果生成后验状态估计,由贝叶斯公式:

其中,p(xk|z1:k-1)是状态预测输出,p(z k|xk)为似然估计,p(zk)为证据。

图7表示了扩维滤波器预测-更新的工作流程。首先,滤波器对k时刻状态进行预测,得到先验分布(虚线椭圆),然后进行测量更新,更新后显示为后验结果zk(实线小椭圆)。上述步骤在扩维滤波器中迭代进行,k时刻后验分布成为(k+1)时刻的先验分布,以此类推。

图7 扩维滤波器预测更新流程Fig.7 Predict & update process of extended-dimension filter

3.3 匈牙利匹配算法

匈牙利算法是一种数据关联(Data Association)算法,从本质上讲,跟踪匹配算法解决的是数据关联问题。匹配算法需要将上述扩维Kalman滤波器k时刻输出与(k-1)时刻输出进行匹配,在跟踪场景中,算法将k时刻的bbox(bounding box)与(k-1)时刻的bbox两两匹配。

考虑两个集合S、T的元素匹配,根据匹配法则不同,集合存在多种匹配结果。为得到最优解匈牙利匹配算法的匹配准则由代价矩阵(损失矩阵)C定义,在将检测结果匹配到现有目标时,目标的新位置由估计位置确定,称为bboxprediction,实际测量值称为bboxmeasurement。代价矩阵C由先验bboxprediction与后验bboxmeasurement的交并比(IOU)确定,同时,当二者交并比小于IOUmin时,取IOUmin。代价矩阵C如下。

其中,元素cij代表(k-1)帧第i个目标bbox与k帧第j个目标bbox的IOU。

随后,匹配算法进行行、列归约,试关联,代价矩阵更新等步骤,实现目标数据匹配,主要流程如图8。

图8 匈牙利匹配算法流程图Fig.8 Flowchart of Hungarian matching algorithm

3.4 AUV跟踪控制

本文算法主要应用于小型水下机器人对水下目标的跟踪拍摄场景。由前述目标检测算法处理得到目标检测信息与目标特征信息后,扩维Kalman滤波器进行预测、匹配,然后利用位置控制器、姿态控制器控制驱动电机对目标进行跟踪。水下机器人跟踪控制原理如图9所示。由图10可见,通过图像可以计算目标主体中心与摄像机图像中心的距离。以每一帧图像的中心为原点,水平方向为y轴,竖直方向为z轴;设定目标相对于z轴的水平距离为Δy,目标相对于y轴的垂直距离为Δz,目标与z轴之间的夹角为Δψ,由目标面积与图像面积的比例计算Δx,比例公式为式(16)。由此可以计算出四个自由度的偏差,从而控制水下机器人目标跟踪控制。

图9 水下机器人跟踪控制原理图Fig.9 Schematics of AUV track and control

图10 目标与中心距离计算Fig.10 Calculation of distance between target and center

STarget为跟踪目标在图像中占据面积;SGraphic为图像面积;a为设定的比例系数。

在控制环节中,总体框架为串级双闭环PID控制,内环为姿态控制,外环为位置控制。姿态环选择IMU测量的角速度及积分得到的角度量,实现AUV的姿态控制;位置环选择AUV搭载相机的图像识别处理结果,实现AUV的位置控制。

前述算法输出的扩维信息,通过上述扩维Kalman滤波器解算出Δx、Δy、Δz、Δψ作为控制量输入到水下机器人的位置姿态信息控制器,将偏差信息送入到位置控制器和姿态控制器,进而经动力分配得到电机控制信息驱动电机工作,使水下机器人实现跟踪控制。

4 实验测试

4.1 DFI一体化网络检测性能测试

目标检测和跟踪是实现目标跟踪控制的两个阶段,目标跟踪是在目标检测的基础上进行的,目标检测的精度将很大程度上影响目标跟踪的效果。实验使用了自行标注的水下目标检测数据集,包含遮挡、可见光反射等水下劣势特征,使用训练集对网络进行训练,训练后的模型在测试集进行测试。

实验部分基于PyTorch框架,采用的电脑操作系统为Ubuntu16.04,处理器型号为i7-9700,GPU为GTX 1080Ti,具体配置见表1。

表1 实验环境Tab.1 Experimental environment

训练过程中设置迭代次数为20000,网络每次接收1个Batch数据后进行反向传播,更新网络权重。随着网络参数的迭代,损失函数大小稳定下降,直到最终收敛。训练过程中模型的损失函数大小变化曲线如图11所示。对比测试模型由基于YOLOv3官方模型(Darknet-53网络)使用水下目标检测数据集迭代训练50次得到。

图11 损失函数变化曲线Fig.11 Chart of loss function

为了更直观地评价模型的性能,常用平均精度(Average Precision, AP)评价模型的性能,计算公式如式(17)所示。

训练后模型在测试集进行性能评估,并与YOLOv3算法进行对比,经过测试模型的P-R曲线如图12所示,模型的AP值即为P-R曲线与坐标轴所围成的面积。

图12 P-R曲线Fig.12 P-R Curve

YOLOv3算法的平均精度为82.76%,DFI模型经过测试目标检测的平均精度为97.1%,高于传统YOLOv3算法的精度。

4.2 DFI一体化网络跟踪性能测试

在目标检测结果的基础上,DFI网络对目标的表观特征信息进行提取,并将检测结果和表观特征信息同时输出。在跟踪阶段,使用扩维Kalman预测下一时刻的状态并使用匈牙利匹配算法进行匹配。

测试实验采用的电脑操作系统为Ubuntu16.04,处理器型号为i7-9700,GPU为GTX 1080Ti,具体配置见表1。分别对本文模型与YOLOv3官方模型进行测试。

本文算法测试实验使用六个自行制作的水下目标检测数据集的测试集进行测试,输入大小为640*640,测试集的水下环境均具备劣势特征,包含遮挡、可见光反射等干扰。测试结果如表2所示。

表2 目标跟踪结果Tab.2 Test result of target tracking

表中第二列IDF1(Identification F-Score)指每个识别框中目标ID识别的F值,是对IDP与IDR的综合考量值。计算公式如式(18)所示。

式中IDTP和IDFP分别是真正ID数和假正ID数。

表中第二列IDP与第三列IDR主要针对每个目标框ID,分别为识别精确度(Identification Precision)、识别回召率(Identification Recall)。计算公式如式(19)和式(20)所示。

式中IDFN是假负ID数。

表中第四列IDs为ID转变数(ID switches),指跟踪轨迹中目标ID瞬间转换的次数,能够反映跟踪的稳定性,该值越低越好。

最后一列MOTA(Multiple Object Tracking Accuracy)为跟踪准确度指标,是对上述指标的综合考虑,因此可以直观地衡量算法的检测跟踪性能,通常MOTA值越高越好,计算公式如式(21)所示。

在式(21)中,表格第五列FN(False Negative)是测试集中假阴性的数量,指不能与预测关联的真实轨迹点,表格第六列FP(False Positive)是测试集中假阳性的数量,指不能与真实轨迹关联的预测点,IDSW(ID switch)是跟踪对象被误识别的次数,每次被跟踪的真实对象在跟踪持续时间内被错误地更改时,将被视为一个ID switch,GT(Ground Truth)是真实轨迹的边界框数量。

在上述六个视频序列测试中,平均的MOTA为58.70%,算法的帧率为22FPS。在同等软硬件实验条件下,经测试,YOLOv3的平均MOTA值27.30%、帧率24FPS。与原算法相比,本文算法在速度几乎不变的前提下,跟踪性能提升了31.4%。

5 结 论

本文针对水下目标检测与跟踪控制中,环境干扰影响跟踪效果的问题,提出了基于检测识别一体化网络目标检测算法与跟踪控制算法,扩维Kalman滤波算法在将目标检测结果作为输入的同时,引入了目标图像特征信息,有利于提高跟踪性能,同时特征提取依托检测结果,只对有效的目标进行特征提取,降低了计算量,提高了算法的效率。实验结果表明,算法的检测平均精度达到97.1%,MOTA为58.70%,帧率达到22FPS,通过与YOLOv3官方模型对比,在帧率损失仅2FPS的前提下,目标检测与跟踪性能均有了较大提高,证明了本算法在提升抗干扰能力与跟踪效果等方面的有效性。

猜你喜欢
特征提取滤波器特征
根据方程特征选解法
离散型随机变量的分布列与数字特征
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
不忠诚的四个特征
Comparison of decompression tubes with metallic stents for the management of right-sided malignant colonic obstruction
基于Daubechies(dbN)的飞行器音频特征提取
开关电源EMI滤波器的应用方法探讨