论文部分内容阅读
摘 要: 面向航空母舰舰载机调运作业过程中安全引导、 运动状态实时监控, 针对传统的基于检测的目标跟踪算法跟踪性能不佳且易受干扰的问题, 提出了将YOLO v3目标检测算法和卡尔曼滤波相结合的舰载机多目标实时跟踪算法。 通过K-means聚类算法优化了原YOLO v3算法的锚点框大小, 结合卡尔曼滤波算法对舰面舰载机目标实现有效的跟踪, 并在自建的艦载机多目标跟踪数据集和MOT16多目标跟踪数据集上与基于光流法的跟踪算法、 SORT多目标跟踪算法进行了对比实验。 结果表明, 本文提出的跟踪算法准确性、 鲁棒性、 稳定性更高, 且当目标框宽度、 高度发生突变时具有较强的适应能力。
关键词:目标检测; 卡尔曼滤波; 匈牙利算法; 目标跟踪; 深度学习
中图分类号:TJ760; TP391 文献标识码: A 文章编号:1673-5048(2021)04-0049-07
0 引 言
航空母舰是国之重器, 舰载机是航空母舰的主要作战武器, 其在航空母舰舰面作业过程中的安全保障问题尤为重要。 随着计算机视觉技术在国防军事领域的广泛应用, 对航空母舰舰面作业的舰载机目标进行实时跟踪, 可实时获得舰载机运动状态信息, 分析其运动轨迹, 从而对舰载机调运进行安全引导, 以保障舰载机装备安全。
多目标跟踪是计算机视觉领域的研究热点, 可以分为基于检测的跟踪和非基于检测的跟踪。 前者需要在跟踪过程中对每一帧图像进行目标检测, 跟踪数量可随着摄像机视野内的目标数目变化而变化, 适用于场景目标数量多变的情况, 但跟踪性能依赖于目标检测的性能。 后者需要在视频第一帧手动标注目标初始位置。 跟踪过程中目标数量固定, 不能适应目标数目变化的场景, 具有很大的局限性。 随着检测算法的不断发展, 基于检测的多目标跟踪方法更受青睐。 文献[1]采用背景帧差分法对红外目标进行识别, 之后通过卡尔曼滤波对红外目标进行预测跟踪, 但由于帧差法要不停地调整速度快慢来调节帧间时间间隔, 会出现不同连续的空洞, 导致有时会检测出不完整的目标轮廓, 且对噪音干扰的鲁棒性较差, 跟踪准确率不高。 文献[2]提出一种将光流法和卡尔曼滤波相结合的目标跟踪方法, 但由于光流法容易受光线、 抖动等无关运动的因素干扰, 且实时性较差, 跟踪的准确性和实时性都不高。 可见, 传统的基于检测的跟踪算法对环境干扰适应能力差, 跟踪准确率不高。 随着基于深度卷积神经网络的目标检测算法迅速发展, 其检测和跟踪的鲁棒性、 准确性大大提高, 逐步取代了传统检测算法。 文献[3]将基于MobileNet的目标检测算法与Deep-SORT多目标跟踪算法相结合, 算法的实时性得到了显著提高。 文献[4]采用Faster R-CNN算法对坦克目标进行检测, 之后基于跟踪-学习-检测框架实现对目标的跟踪, 跟踪准确率大大提升。
舰载机在航空母舰舰面上执行调运任务具有不确定性, 因此, 视野内舰载机数目呈不确定性变化, 且舰载机跟踪准确性要求高, 综合考虑, 采用基于智能目标检测的跟踪算法对航空母舰舰面舰载机目标进行实时跟踪, 旨在解决传统检测跟踪算法准确性、 鲁棒性不高的问题。 选取实时性强且检测准确率较高的YOLO v3目标检测算法对舰载机进行目标位置检测, 并结合卡尔曼滤波器对跟踪目标序列进行目标位置更新, 实现了对舰载机目标的实时跟踪。
1 算法概述
首先采用YOLO v3目标检测算法对当前视频帧中的舰载机目标进行检测, 接着通过匈牙利算法对当前检测的舰载机目标和上一帧舰载机跟踪目标进行数据关联, 得到关联的目标框, 然后基于卡尔曼滤波器预测阶段对前一帧跟踪目标序列进行预测, 得到当前帧预测的跟踪目标序列, 接着将关联的目标框作为观测量对预测的跟踪序列进行修正更新, 得到当前帧跟踪目标序列的更新结果, 跟踪算法框架如图1所示。
2 YOLO v3目标检测算法
2.1 算法简介
YOLO v3属于单阶段检测算法[5-7], 将目标检测的各个部分统一到神经网络中, 目标位置回归与目标分类预测同步进行, 实现了端到端的目标检测, 检测实时性强、 准确率较高。
YOLO v3网络结构如图2所示。将输入图像分成S×S的网格。 如果图像中有一个目标的中心落入某个网格中, 则该网格负责预测此目标。 每个网格都会预测B个目标边界框, 每个边界框包含目标边界框的位置偏移参数(tx, ty, tw, th)、 目标置信度c和C个类别概率。 c是边界框中是否含有目标及对其预测准确性的判断:
c=P(object)×IOUtruthpred(1)
若网格中含有目标, 则P(object)=1, 反之P(object)=0。 IOUtruthpred表示目标的真实边界框与预测边界框的交并比, 计算公式为
IOUtruthpred=area(pred)∩area(truth)area(pred)∪area(truth)(2)
类别概率用P(classi|object)表示, 则有
P(classi|object)*P(object)×IOUtruthpred=P(classi)*IOUtruthpred(3)
等式结果表示边界框各个类别的置信度分数, 这些分数同时包含了某一类别出现在边界框中的概率, 以及边界框预测目标分类的准确度。
随着网络的不断加深, 训练时会出现梯度消失的问题, YOLO v3将Darknet-53网络作为特征提取网络, 类似于特征金字塔网络的结构提取图像特征, 并进行多尺度融合[8-9], 旨在提取更深层次的图像特征, 提高模型的准确率。 在每个尺度上面生成3个anchor, 用于预测目标边界框的位置, 最终网络输出一个三维向量, 包含4个位置参数、 1个目标置信度参数、 class_num个目标类别参数, 因此三维向量为N×N×[3-(4+1+class_num)], N×N为划分的网格数, 即13×13。 2.2 基于聚类的anchor生成方案
YOLO v3算法在PASCAL VOC数据集上聚类而成的预先anchor大小, 虽然具有泛化能力, 但是对于只有一种检测类别而言, 原始的anchor方案并不适合网络模型训练的要求。 因此, 本文在构建的舰载机数据集上进行anchor聚类, 这样在边界框回归时, 能够提高回归工作效率, 加快网络训练收敛时间, 提高检测精度[10]。
原K-means聚类算法通常将欧氏距离作为评价相似性的准则函数, 本文需要对候选框的宽度和高度进行聚类, 若采用欧氏距离作为评价指标, 则会造成大候选框比小候选框的误差更大, 因此, 用聚类中心对应的框与周围各候选框的IOU值来衡量两者的差异, 则聚类目标函数定义为
d(box, center)=min∑ki∑nj(1-IOU(boxj, centeri))(4)
式中: k为聚类中心个数; n为数据集大小; IOU(boxj, centeri)为两者面积交并比; boxj为数据集中每个舰载机尺寸; centeri为预设的聚类中心。
3 基于卡尔曼滤波的多目标跟踪
3.1 舰载机目标位置预测
卡尔曼滤波预测舰载机目标位置可分为两个阶段:预测阶段和更新阶段。 预测阶段主要根据前一帧图像跟踪目标的位置来预测当前帧目标的位置; 更新阶段主要根据当前帧检测到的舰载机目标位置来更新预测阶段的舰载机目标位置[11-14]。
假设X(k|k)为第k帧图像舰载机目标的位置, F为状态转移矩阵, P(k|k)为第k帧图像舰载机目标位置的误差协方差矩阵, Q为过程噪声。 则预测阶段方程为
X(k+1|k)=FX(k|k)(5)
P(k+1|k)=FP(k|k)FT+Q(6)
式中: X(k+1|k)为预测的第k+1帧的舰载机目标的位置; P(k+1|k)为预测的第k+1帧的误差协方差矩阵。
假设H为观测矩阵, Y(k+1)为第k+1帧检测的舰载机目标位置, R为观测噪声, ε(k+1)为第k+1帧舰载机目标检测位置与预测位置之间的残差, K(k+1)为第k+1帧的卡尔曼增益, X(k+1|k+1)为第k+1帧舰载机目标位置的更新值, P(k+1|k+1)为第k+1帧舰载机目标位置误差协方差矩阵的更新值。 则更新阶段方程为
K(k+1)=P(k+1|k)HT(HP(k+1|k)HT+R)-1(7)
ε(k+1)=Y(k+1)-HX(k+1|k)(8)
X(k+1|k+1)=X(k+1|k)+K(k+1)ε(k+1)(9)
P(k+1|k+1)=(I-K(k+1)H)P(k+1|k)(10)
Q和R为不相关的服从高斯分布的白噪声, 将第一帧视频检测的舰载机目标位置X(0)=x1, x·1, y1, y·1, x2, x·2, y2, y·2T作为初始状态, (x1, y1)和(x2, y2)分别为目标框左上角、 右下角的坐标, x·1, y·1和x·2, y·2分别为其导数。 由于舰载机在航空母舰上调运时速度较慢, 可以看成为恒定速度, 没有加速度, 因此定义状态转移矩阵F=110111018×8, 观测器只输出目标框的坐标, 定义观测矩阵H=10000000001000000000100000000010, 初始化协方差矩阵定义为P(0)=10.010.08×8, 初始化观测噪声矩阵定义为R(0)=10.010.04×4, 初始化过程噪声矩阵定义为Q(0)=0.250.50.510.250.50.518×8。
3.2 目标关联与跟踪管理
匈牙利算法主要用于解决二分图的指派问题, 与最近邻域算法、 概率数据关联算法(PDA)、 联合概率数据关联算法(JPDA)等相比, 时间、 空间复杂度较低, 因此将其作为检测目标和跟踪目标的关联算法。 假设在第k帧视频中已经跟踪到的舰载机目标数目为N, 将其记为T={t1, t2, …, tn}, 在k+1帧视频中检测出的舰载机数目为M, 将其记为D={d1, d2, …, dm}。 将跟踪集T和检测集D进行匹配, 使帧与帧间保持关联, 继承目标的ID。 以跟踪目標框和检测目标框面积的IOU为关联依据, 得到匹配关联矩阵C。 目标关联示意图如图3所示。
从而可得
ci, j=IOU(ti, dj)(11)
矩阵R表示跟踪目标与检测目标之间的关联关系, 当ri, j为1时, 表示第i个跟踪目标和第j个检测目标相匹配, 同时在关联过程中, 必须满足一个跟踪目标只能匹配一个检测目标, 即满足
max∑Ni=1∑Mj=1ci, jri, j s.t.∑Ni=1ri, j=1∑Mj=1ri, j=1ri, j=0, 1 (12)
舰载机多目标实时跟踪还需考虑跟踪列表的更新, 即跟踪目标的创建和删除。 考虑到检测算法可能出现的误检情况, 如果出现了连续3帧某个检测目标没有与现有的跟踪轨迹相关联, 此时认为出现了新的目标, 即将这个目标添加至跟踪列表, 并分配相应的ID。 舰载机在舰面运动速度约为1 m/s, 相机拍摄视频的帧率可达25帧, 误差最大可接受为0.2 m, 因此, 若某个跟踪目标连续5帧没有相应的检测目标相匹配, 则认为此跟踪目标消失, 可从跟踪列表中删除此跟踪目标。 4 实验结果及分析
4.1 anchor聚类分析
由于参与训练的1 500多张图片数据尺寸不尽相同, 因此在聚类之前先对各个数据集进行归一化。 结果如图4所示。 之后分别将聚类中心设置为5~9, 得到数据集中所有聚类集合的平均IOU值变化曲线如图5所示。
由图5可知, 聚类中心越多时, 平均IOU值越大, 说明此时数据聚类分布越能体现真实的舰载机目标框尺寸分布。 但是由于聚类越多, 候选框的数量就越多, 计算量也随之增大, 因此选择与原YOLO算法相同的9个聚类, 最终的聚类分布如图6所示。
将各聚类中心乘以网络输入尺寸大小416, 得到最终的9对anchor的尺寸分别为[136, 91]、 [176, 94]、 [141, 138]、 [211, 156]、 [190, 120]、 [174, 190]、 [251, 132]、 [280, 185]、 [208, 245], 将以上anchor作为预先anchor进行网络模型训练。
4.2 网络训练及测试
实验的硬件环境为Inter Xeon@ Silver 4110, GPU为NVIDIA RTX 2080Ti, 8GB显存。 实验在Ubuntu16.04系统上进行, 深度学习框架选用tensorflow。
训练时, 学习率设置从0.000 1到0.000 001递减, 衰减系数为0.999 5, 训练迭代次数为45 000次, 训练批量数据大小设置为8, 并且对原数据进行数据增强, 以提高模型的泛化性能。
采用不同的anchor生成方案进行训练, 得到总损失函数收敛图如图7所示。
选取平均精度(Average Precision, AP)作为衡量模型的指标, 其计算公式为
AP=∫01P(R)dR(13)
式中: P为准确率; R为召回率。
不同检测算法对比如表1所示。 图7和表1结果说明, 经过K-means聚类后, 模型更容易趋于收敛, 训练时间缩短了0.4 h, 提高了训练效
率。 在100张图片上进行模型测试, 结果表明, 使用K-means对本文数据集聚类之后, 算法准确性提高了约2%。 同时, 与Faster R-CNN相比, 本文算法虽然准确率相差约4%, 但算法的实时性高出1倍左右, 在检测精度满足要求的前提下, 本文算法实时性更高。 舰载机目标检测效果图如图8所示。
4.3 目标跟踪实验
采用多目标跟踪准确度(Multi-Object Tracking Accuracy, MOTA)和多目标跟踪精确度(Multi-Object Tracking Precision, MOTP)衡量算法的性能, 定义如下:
MOTA=1-∑t(mt+fpt+mmet)∑tgt(14)
式中: mt, fpt, mmet分别为视频序列第t帧漏检、 误检和错误关联匹配的数量; gt为第t帧真实标注的目标个数。
MOTP=∑i, tdit∑tct(15)
式中: dit为第i个目标匹配成功时的检测目标框与跟踪目标框之间面积的IOU值; ct为第t帧成功匹配的目标数量。
良好的检测是跟踪的基础, 检测算法的性能直接影响跟踪的效果, 将本文提出的跟踪算法与文献[2]中的基于光流法和卡尔曼滤波的跟踪算法、 SORT多目標跟踪算法目标实验对比, 以验证本文提出算法的鲁棒性、 准确性。
(1) 本文算法与文献[2]算法对比
在本文的舰载机目标跟踪数据集上实验, 对比文献[2]算法与本文跟踪算法的性能, 实验结果见表2。
由表2结果可知, 相比于文献[2]中的跟踪算法, 本文提出的跟踪算法误检数、 漏检数、 ID跳变数均得到了大幅改善, 跟踪准确度提高了约10%, 跟踪精确度提高了约12%, 原因在于基于深度卷积神经网络的目标检测算法提高了检测的准确性、 鲁棒性, 并结合卡尔曼滤波跟踪, 实现了对航空母舰舰面舰载机的准确稳定跟踪。 舰载机目标跟踪测试结果如图9所示。
(2) 本文算法与SORT算法对比
多目标跟踪SORT算法[15]选用X=[u, v, s, r, u·, v·, s·]T作为状态量, 其中u, v, s, r分别表示目标框的中心坐标、 面积和宽高比。 SORT算法认为宽高比是常数, 这就造成在目标框的宽高比发生变化时不能准确地进行跟踪[16]。 以检测到的目标框为实际位置, 分别将本文算法和SORT算法预测出的目标框参数转换成(cx, cy, w, h)与其进行实验比较, cx, cy为目标框的中心坐标, w和h分别为目标框的宽度和高度。
图10为SORT算法和本文算法所跟踪的目标框与实际检测目标框的中心坐标误差对比, 图11为跟踪目标框的宽度、 高度误差对比。 在摄像机视野范围内, 舰载机在1~220帧之间由远到近运动, 230~250帧之间做转向运动, 350帧之后舰载机离开视野。
由图10~11和表3可知, 当舰载机在图像视野范围内由远到近运动时, SORT算法和本文算法都能对目标实现较好的跟踪, 误差值对于舰载机目标框大小可忽略不计。 但相比于SORT算法, 本文算法误差相对较小。
舰载机做转向运动时, SORT算法的误差明显高本文算法, 误差值约为本文算法的2倍。 原因是当舰载 機做转向运动时, 其跟踪框的宽度、 高度发生突变, 而SORT算法是将跟踪框的宽高比看做常数, 因此, 其在面对宽度、 高度发生突变时的适应性不强, 误差较大, 本文算法虽然有一定误差, 但可以适应这种突变。
当舰载机离开视野时, 由于目标实际可见区域变小导致检测不准确, 因此, SORT跟踪算法与本文跟踪算法宽度、 高度误差都相对较大。
在MOT16多目标跟踪数据集上实验, 对比本文跟踪算法和SORT多目标跟踪算法的性能。 测试结果如表4所示。
表4结果表明, 本文提出的多目标跟踪算法误检数、 漏检数、 ID跳变次数相比于SORT算法均有所降低, MOTA提升了约1.2%, 表明本文算法更加稳定可靠, MOTP相比于SORT算法提升了约0.3%, 表明在跟踪精确度方面也有所改善, 总而言之, 相比于SORT算法, 本文算法稳定性、 准确性更高。
5 结 论
本文针对传统基于检测的目标跟踪算法对环境干扰适应能力差, 且跟踪准确率不高的问题, 提出了基于深度卷积神经网络的YOLO v3目标检测算法和卡尔曼滤波相结合的多目标跟踪方法, 使用K-means聚类算法对原YOLO v3算法的锚点框进行优化, 提高了训练效率和检测的准确率, 并结合卡尔曼滤波器对航空母舰舰面多舰载机目标实现了有效的跟踪。 与基于光流法的目标跟踪算法、 SORT多目标跟踪算法进行实验对比, 结果表明本文算法具有更高的准确性和鲁棒性。 下一步将致力于增强舰面其他目标对舰载机干扰下的算法跟踪能力。
参考文献:
[1] 娄康, 朱志宇, 葛慧林. 基于目标运动特征的红外目标检测与跟踪方法[J]. 南京理工大学学报, 2019, 43(4): 455-461.
Lou Kang, Zhu Zhiyu, Ge Huilin. Infrared Target Detection and Tracking Method Based on Target Motion Feature[J]. Journal of Nanjing University of Science and Technology, 2019, 43(4): 455-461.(in Chinese)
[2] 石龙伟, 邓欣, 王进, 等. 基于光流法和卡尔曼滤波的多目标跟踪[J]. 计算机应用, 2017, 37(S1): 131-136.
Shi Longwei, Deng Xin, Wang Jin, et al. Multiple Object Tracking Based on Optical Flow and Kalman Filtering[J]. Journal of Computer Applications, 2017, 37(S1): 131-136.(in Chinese)
[3] 薛俊韬, 马若寒, 胡超芳. 基于MobileNet的多目标跟踪深度学习算法[J/OL]. 控制与决策, 2020. DOI: 10.13195/j.kzyjc.2019.1424.
Xue Juntao, Ma Ruohan, Hu Chaofang. Deep Learning Algorithm Based on MobileNet for Multi-Target Tracking[J/OL].Control and Decision, 2020. DOI: 10.13195/j.kzyjc.2019.1424. (in Chinese)
[4] 王全东, 常天庆, 张雷, 等. 基于深度学习算法的坦克装甲目标自动检测与跟踪系统[J]. 系统工程与电子技术, 2018, 40(9): 2143-2156.
Wang Quandong, Chang Tianqing, Zhang Lei, et al. Automatic Detection and Tracking System of Tank Armored Targets Based on Deep Learning Algorithm[J]. Systems Engineering and Electronics, 2018, 40(9): 2143-2156. (in Chinese)
[5] Redmon J, Divvala S, Girshick R, et al. You only Look Once: Unified, Real-Time Object Detection[EB/OL].
(2016-09-23)[2020-07-22]. https:∥arxiv.org/ abs/1506.02640.
[6] Redmon J, Farhadi A. YOLO9000: Better, Faster, Stronger[C]∥ Proceedings of Conference on Computer Vision and Pattern Recognition, 2017: 6517-6525.
[7] Redmon J, Farhadi A. YOLO v3: An Incremental Improvement [EB/OL]. (2018-04-08)[2020-07-22]. https:∥ arxiv .org /abs /1804.02767. [8] 陳咏秋, 孙凌卿, 张永泽, 等. 基于YOLO v3的输电线路鸟类检测技术研究[J]. 计算机工程, 2020, 46(4): 294-300.
Chen Yongqiu, Sun Lingqing, Zhang Yongze, et al. Research on Bird Detection Technology for Electric Transmission Line Based on YOLO v3[J]. Computer Engineering, 2020, 46(4): 294-300.(in Chinese)
[9] 张迪, 樊绍胜.基于YOLO v3的输电线路故障检测方法[J]. 自动化技术与应用, 2019, 38(7): 125-129.
Zhang Di, Fan Shaosheng. Fault Detection of Transmission Line Based on YOLO v3[J]. Techniques of Automation and Applications, 2019, 38(7): 125-129. (in Chinese)
[10] 胡超超, 刘军, 张凯, 等. 基于深度学习的行人和骑行者目标检测及跟踪算法研究[J]. 汽车技术, 2019(7): 19-23.
Hu Chaochao, Liu Jun, Zhang Kai, et al. Research on Target Detection and Tracking of Pedestrian and Cyclist Based on Deep Learning[J]. Automobile Technology, 2019(7): 19-23. (in Chinese)
[11] 杨磊. 智能视频监控系统中的目标检测和多目标跟踪技术研究[D]. 南京: 南京航空航天大学, 2019.
Yang Lei. Research on Object Detection and Multi-Object Tracking Technology in Intelligent Video Surveillance System[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2019.(in Chinese)
[12] 陈志鸿, 黄立勤. 基于卡尔曼滤波和多种信息融合的在线多目标跟踪算法[J]. 信息通信, 2019, 32(3): 35-38.
Chen Zhihong, Huang Liqin. Online Multi-Target Tracking Algorithm Based on Kalman Filtering and Multiple Information Fusion[J]. Information & Communications, 2019, 32(3): 35-38.(in Chinese)
[13] 赵广辉, 卓松, 徐晓龙. 基于卡尔曼滤波的多目标跟踪方法[J]. 计算机科学, 2018, 45(8): 253-257.
Zhao Guanghui, Zhuo Song, Xu Xiaolong. Multi-Object Tracking Algorithm Based on Kalman Filter[J]. Computer Science, 2018, 45(8): 253-257. (in Chinese)
[14] 宋欢欢. 基于深度特征共享的行人检测与跟踪研究[D]. 哈尔滨: 哈尔滨工业大学, 2018.
Song Huanhuan. Pedestrian Detection and Tracking Based on Depth Feature Sharing[D]. Harbin: Harbin Institute of Technology, 2018. (in Chinese)
[15] Alex B, GR Z, Lionel O, et al. Simple Online and Realtime Tracking[C]∥IEEE International Conference on Image Processing (ICIP), 2017.
[16] 何丹妮. 基于深度学习的多车辆检测及跟踪算法研究[D]. 大连: 大连理工大学, 2019.
He Danni. Research on Multi-Vehicle Detection and Tracking Algorithm Based on Deep Learning[D]. Dalian: Dalian University of Technology, 2019. (in Chinese)
Research on Real-Time Tracking Algorithm for Multi-Objects of Shipboard Aircraft Based on Detection
Tian Shaobing1*, Zhu Xingdong2, Fan Jiali1, Wang Zheng1
(1.Department of Ship Surface Aviation Support and Station Management, Naval Aviation
University (Qingdao Campus), Qingdao 266041, China;
2. Coast Guard Academy, Naval Aviation University, Yantai 264001, China)
Abstract: For safe guidance and real-time monitoring of the shipboard aircraft during the operation, for traditional detection-based object tracking algorithms has poor tracking performance and susceptibility to interference, proposed the multi-object real-time tracking algorithm of shipboard aircraft that combined YOLO v3 object detection algorithm and Kalman filtering. The anchor size of the original YOLO v3 algorithm is optimized by the K-means clustering algorithm, combined with the Kalman filter algorithm to achieve effective tracking of shipboard aircraft objects, and compared with object tracking algorithm based on optical flow and SORT multi-object tracking algorithm on self-built shipboard aircraft tracking dataset and MOT16 multi-object tracking dataset. The results show that the tracking algorithm proposed is more accurate, robust and stable, and has strong adaptability when the object frame width and height change suddenly.
Key words: object detection; Kalman filtering; Hungarian algorithm; object tracking; deep learning
关键词:目标检测; 卡尔曼滤波; 匈牙利算法; 目标跟踪; 深度学习
中图分类号:TJ760; TP391 文献标识码: A 文章编号:1673-5048(2021)04-0049-07
0 引 言
航空母舰是国之重器, 舰载机是航空母舰的主要作战武器, 其在航空母舰舰面作业过程中的安全保障问题尤为重要。 随着计算机视觉技术在国防军事领域的广泛应用, 对航空母舰舰面作业的舰载机目标进行实时跟踪, 可实时获得舰载机运动状态信息, 分析其运动轨迹, 从而对舰载机调运进行安全引导, 以保障舰载机装备安全。
多目标跟踪是计算机视觉领域的研究热点, 可以分为基于检测的跟踪和非基于检测的跟踪。 前者需要在跟踪过程中对每一帧图像进行目标检测, 跟踪数量可随着摄像机视野内的目标数目变化而变化, 适用于场景目标数量多变的情况, 但跟踪性能依赖于目标检测的性能。 后者需要在视频第一帧手动标注目标初始位置。 跟踪过程中目标数量固定, 不能适应目标数目变化的场景, 具有很大的局限性。 随着检测算法的不断发展, 基于检测的多目标跟踪方法更受青睐。 文献[1]采用背景帧差分法对红外目标进行识别, 之后通过卡尔曼滤波对红外目标进行预测跟踪, 但由于帧差法要不停地调整速度快慢来调节帧间时间间隔, 会出现不同连续的空洞, 导致有时会检测出不完整的目标轮廓, 且对噪音干扰的鲁棒性较差, 跟踪准确率不高。 文献[2]提出一种将光流法和卡尔曼滤波相结合的目标跟踪方法, 但由于光流法容易受光线、 抖动等无关运动的因素干扰, 且实时性较差, 跟踪的准确性和实时性都不高。 可见, 传统的基于检测的跟踪算法对环境干扰适应能力差, 跟踪准确率不高。 随着基于深度卷积神经网络的目标检测算法迅速发展, 其检测和跟踪的鲁棒性、 准确性大大提高, 逐步取代了传统检测算法。 文献[3]将基于MobileNet的目标检测算法与Deep-SORT多目标跟踪算法相结合, 算法的实时性得到了显著提高。 文献[4]采用Faster R-CNN算法对坦克目标进行检测, 之后基于跟踪-学习-检测框架实现对目标的跟踪, 跟踪准确率大大提升。
舰载机在航空母舰舰面上执行调运任务具有不确定性, 因此, 视野内舰载机数目呈不确定性变化, 且舰载机跟踪准确性要求高, 综合考虑, 采用基于智能目标检测的跟踪算法对航空母舰舰面舰载机目标进行实时跟踪, 旨在解决传统检测跟踪算法准确性、 鲁棒性不高的问题。 选取实时性强且检测准确率较高的YOLO v3目标检测算法对舰载机进行目标位置检测, 并结合卡尔曼滤波器对跟踪目标序列进行目标位置更新, 实现了对舰载机目标的实时跟踪。
1 算法概述
首先采用YOLO v3目标检测算法对当前视频帧中的舰载机目标进行检测, 接着通过匈牙利算法对当前检测的舰载机目标和上一帧舰载机跟踪目标进行数据关联, 得到关联的目标框, 然后基于卡尔曼滤波器预测阶段对前一帧跟踪目标序列进行预测, 得到当前帧预测的跟踪目标序列, 接着将关联的目标框作为观测量对预测的跟踪序列进行修正更新, 得到当前帧跟踪目标序列的更新结果, 跟踪算法框架如图1所示。
2 YOLO v3目标检测算法
2.1 算法简介
YOLO v3属于单阶段检测算法[5-7], 将目标检测的各个部分统一到神经网络中, 目标位置回归与目标分类预测同步进行, 实现了端到端的目标检测, 检测实时性强、 准确率较高。
YOLO v3网络结构如图2所示。将输入图像分成S×S的网格。 如果图像中有一个目标的中心落入某个网格中, 则该网格负责预测此目标。 每个网格都会预测B个目标边界框, 每个边界框包含目标边界框的位置偏移参数(tx, ty, tw, th)、 目标置信度c和C个类别概率。 c是边界框中是否含有目标及对其预测准确性的判断:
c=P(object)×IOUtruthpred(1)
若网格中含有目标, 则P(object)=1, 反之P(object)=0。 IOUtruthpred表示目标的真实边界框与预测边界框的交并比, 计算公式为
IOUtruthpred=area(pred)∩area(truth)area(pred)∪area(truth)(2)
类别概率用P(classi|object)表示, 则有
P(classi|object)*P(object)×IOUtruthpred=P(classi)*IOUtruthpred(3)
等式结果表示边界框各个类别的置信度分数, 这些分数同时包含了某一类别出现在边界框中的概率, 以及边界框预测目标分类的准确度。
随着网络的不断加深, 训练时会出现梯度消失的问题, YOLO v3将Darknet-53网络作为特征提取网络, 类似于特征金字塔网络的结构提取图像特征, 并进行多尺度融合[8-9], 旨在提取更深层次的图像特征, 提高模型的准确率。 在每个尺度上面生成3个anchor, 用于预测目标边界框的位置, 最终网络输出一个三维向量, 包含4个位置参数、 1个目标置信度参数、 class_num个目标类别参数, 因此三维向量为N×N×[3-(4+1+class_num)], N×N为划分的网格数, 即13×13。 2.2 基于聚类的anchor生成方案
YOLO v3算法在PASCAL VOC数据集上聚类而成的预先anchor大小, 虽然具有泛化能力, 但是对于只有一种检测类别而言, 原始的anchor方案并不适合网络模型训练的要求。 因此, 本文在构建的舰载机数据集上进行anchor聚类, 这样在边界框回归时, 能够提高回归工作效率, 加快网络训练收敛时间, 提高检测精度[10]。
原K-means聚类算法通常将欧氏距离作为评价相似性的准则函数, 本文需要对候选框的宽度和高度进行聚类, 若采用欧氏距离作为评价指标, 则会造成大候选框比小候选框的误差更大, 因此, 用聚类中心对应的框与周围各候选框的IOU值来衡量两者的差异, 则聚类目标函数定义为
d(box, center)=min∑ki∑nj(1-IOU(boxj, centeri))(4)
式中: k为聚类中心个数; n为数据集大小; IOU(boxj, centeri)为两者面积交并比; boxj为数据集中每个舰载机尺寸; centeri为预设的聚类中心。
3 基于卡尔曼滤波的多目标跟踪
3.1 舰载机目标位置预测
卡尔曼滤波预测舰载机目标位置可分为两个阶段:预测阶段和更新阶段。 预测阶段主要根据前一帧图像跟踪目标的位置来预测当前帧目标的位置; 更新阶段主要根据当前帧检测到的舰载机目标位置来更新预测阶段的舰载机目标位置[11-14]。
假设X(k|k)为第k帧图像舰载机目标的位置, F为状态转移矩阵, P(k|k)为第k帧图像舰载机目标位置的误差协方差矩阵, Q为过程噪声。 则预测阶段方程为
X(k+1|k)=FX(k|k)(5)
P(k+1|k)=FP(k|k)FT+Q(6)
式中: X(k+1|k)为预测的第k+1帧的舰载机目标的位置; P(k+1|k)为预测的第k+1帧的误差协方差矩阵。
假设H为观测矩阵, Y(k+1)为第k+1帧检测的舰载机目标位置, R为观测噪声, ε(k+1)为第k+1帧舰载机目标检测位置与预测位置之间的残差, K(k+1)为第k+1帧的卡尔曼增益, X(k+1|k+1)为第k+1帧舰载机目标位置的更新值, P(k+1|k+1)为第k+1帧舰载机目标位置误差协方差矩阵的更新值。 则更新阶段方程为
K(k+1)=P(k+1|k)HT(HP(k+1|k)HT+R)-1(7)
ε(k+1)=Y(k+1)-HX(k+1|k)(8)
X(k+1|k+1)=X(k+1|k)+K(k+1)ε(k+1)(9)
P(k+1|k+1)=(I-K(k+1)H)P(k+1|k)(10)
Q和R为不相关的服从高斯分布的白噪声, 将第一帧视频检测的舰载机目标位置X(0)=x1, x·1, y1, y·1, x2, x·2, y2, y·2T作为初始状态, (x1, y1)和(x2, y2)分别为目标框左上角、 右下角的坐标, x·1, y·1和x·2, y·2分别为其导数。 由于舰载机在航空母舰上调运时速度较慢, 可以看成为恒定速度, 没有加速度, 因此定义状态转移矩阵F=110111018×8, 观测器只输出目标框的坐标, 定义观测矩阵H=10000000001000000000100000000010, 初始化协方差矩阵定义为P(0)=10.010.08×8, 初始化观测噪声矩阵定义为R(0)=10.010.04×4, 初始化过程噪声矩阵定义为Q(0)=0.250.50.510.250.50.518×8。
3.2 目标关联与跟踪管理
匈牙利算法主要用于解决二分图的指派问题, 与最近邻域算法、 概率数据关联算法(PDA)、 联合概率数据关联算法(JPDA)等相比, 时间、 空间复杂度较低, 因此将其作为检测目标和跟踪目标的关联算法。 假设在第k帧视频中已经跟踪到的舰载机目标数目为N, 将其记为T={t1, t2, …, tn}, 在k+1帧视频中检测出的舰载机数目为M, 将其记为D={d1, d2, …, dm}。 将跟踪集T和检测集D进行匹配, 使帧与帧间保持关联, 继承目标的ID。 以跟踪目標框和检测目标框面积的IOU为关联依据, 得到匹配关联矩阵C。 目标关联示意图如图3所示。
从而可得
ci, j=IOU(ti, dj)(11)
矩阵R表示跟踪目标与检测目标之间的关联关系, 当ri, j为1时, 表示第i个跟踪目标和第j个检测目标相匹配, 同时在关联过程中, 必须满足一个跟踪目标只能匹配一个检测目标, 即满足
max∑Ni=1∑Mj=1ci, jri, j s.t.∑Ni=1ri, j=1∑Mj=1ri, j=1ri, j=0, 1 (12)
舰载机多目标实时跟踪还需考虑跟踪列表的更新, 即跟踪目标的创建和删除。 考虑到检测算法可能出现的误检情况, 如果出现了连续3帧某个检测目标没有与现有的跟踪轨迹相关联, 此时认为出现了新的目标, 即将这个目标添加至跟踪列表, 并分配相应的ID。 舰载机在舰面运动速度约为1 m/s, 相机拍摄视频的帧率可达25帧, 误差最大可接受为0.2 m, 因此, 若某个跟踪目标连续5帧没有相应的检测目标相匹配, 则认为此跟踪目标消失, 可从跟踪列表中删除此跟踪目标。 4 实验结果及分析
4.1 anchor聚类分析
由于参与训练的1 500多张图片数据尺寸不尽相同, 因此在聚类之前先对各个数据集进行归一化。 结果如图4所示。 之后分别将聚类中心设置为5~9, 得到数据集中所有聚类集合的平均IOU值变化曲线如图5所示。
由图5可知, 聚类中心越多时, 平均IOU值越大, 说明此时数据聚类分布越能体现真实的舰载机目标框尺寸分布。 但是由于聚类越多, 候选框的数量就越多, 计算量也随之增大, 因此选择与原YOLO算法相同的9个聚类, 最终的聚类分布如图6所示。
将各聚类中心乘以网络输入尺寸大小416, 得到最终的9对anchor的尺寸分别为[136, 91]、 [176, 94]、 [141, 138]、 [211, 156]、 [190, 120]、 [174, 190]、 [251, 132]、 [280, 185]、 [208, 245], 将以上anchor作为预先anchor进行网络模型训练。
4.2 网络训练及测试
实验的硬件环境为Inter Xeon@ Silver 4110, GPU为NVIDIA RTX 2080Ti, 8GB显存。 实验在Ubuntu16.04系统上进行, 深度学习框架选用tensorflow。
训练时, 学习率设置从0.000 1到0.000 001递减, 衰减系数为0.999 5, 训练迭代次数为45 000次, 训练批量数据大小设置为8, 并且对原数据进行数据增强, 以提高模型的泛化性能。
采用不同的anchor生成方案进行训练, 得到总损失函数收敛图如图7所示。
选取平均精度(Average Precision, AP)作为衡量模型的指标, 其计算公式为
AP=∫01P(R)dR(13)
式中: P为准确率; R为召回率。
不同检测算法对比如表1所示。 图7和表1结果说明, 经过K-means聚类后, 模型更容易趋于收敛, 训练时间缩短了0.4 h, 提高了训练效
率。 在100张图片上进行模型测试, 结果表明, 使用K-means对本文数据集聚类之后, 算法准确性提高了约2%。 同时, 与Faster R-CNN相比, 本文算法虽然准确率相差约4%, 但算法的实时性高出1倍左右, 在检测精度满足要求的前提下, 本文算法实时性更高。 舰载机目标检测效果图如图8所示。
4.3 目标跟踪实验
采用多目标跟踪准确度(Multi-Object Tracking Accuracy, MOTA)和多目标跟踪精确度(Multi-Object Tracking Precision, MOTP)衡量算法的性能, 定义如下:
MOTA=1-∑t(mt+fpt+mmet)∑tgt(14)
式中: mt, fpt, mmet分别为视频序列第t帧漏检、 误检和错误关联匹配的数量; gt为第t帧真实标注的目标个数。
MOTP=∑i, tdit∑tct(15)
式中: dit为第i个目标匹配成功时的检测目标框与跟踪目标框之间面积的IOU值; ct为第t帧成功匹配的目标数量。
良好的检测是跟踪的基础, 检测算法的性能直接影响跟踪的效果, 将本文提出的跟踪算法与文献[2]中的基于光流法和卡尔曼滤波的跟踪算法、 SORT多目標跟踪算法目标实验对比, 以验证本文提出算法的鲁棒性、 准确性。
(1) 本文算法与文献[2]算法对比
在本文的舰载机目标跟踪数据集上实验, 对比文献[2]算法与本文跟踪算法的性能, 实验结果见表2。
由表2结果可知, 相比于文献[2]中的跟踪算法, 本文提出的跟踪算法误检数、 漏检数、 ID跳变数均得到了大幅改善, 跟踪准确度提高了约10%, 跟踪精确度提高了约12%, 原因在于基于深度卷积神经网络的目标检测算法提高了检测的准确性、 鲁棒性, 并结合卡尔曼滤波跟踪, 实现了对航空母舰舰面舰载机的准确稳定跟踪。 舰载机目标跟踪测试结果如图9所示。
(2) 本文算法与SORT算法对比
多目标跟踪SORT算法[15]选用X=[u, v, s, r, u·, v·, s·]T作为状态量, 其中u, v, s, r分别表示目标框的中心坐标、 面积和宽高比。 SORT算法认为宽高比是常数, 这就造成在目标框的宽高比发生变化时不能准确地进行跟踪[16]。 以检测到的目标框为实际位置, 分别将本文算法和SORT算法预测出的目标框参数转换成(cx, cy, w, h)与其进行实验比较, cx, cy为目标框的中心坐标, w和h分别为目标框的宽度和高度。
图10为SORT算法和本文算法所跟踪的目标框与实际检测目标框的中心坐标误差对比, 图11为跟踪目标框的宽度、 高度误差对比。 在摄像机视野范围内, 舰载机在1~220帧之间由远到近运动, 230~250帧之间做转向运动, 350帧之后舰载机离开视野。
由图10~11和表3可知, 当舰载机在图像视野范围内由远到近运动时, SORT算法和本文算法都能对目标实现较好的跟踪, 误差值对于舰载机目标框大小可忽略不计。 但相比于SORT算法, 本文算法误差相对较小。
舰载机做转向运动时, SORT算法的误差明显高本文算法, 误差值约为本文算法的2倍。 原因是当舰载 機做转向运动时, 其跟踪框的宽度、 高度发生突变, 而SORT算法是将跟踪框的宽高比看做常数, 因此, 其在面对宽度、 高度发生突变时的适应性不强, 误差较大, 本文算法虽然有一定误差, 但可以适应这种突变。
当舰载机离开视野时, 由于目标实际可见区域变小导致检测不准确, 因此, SORT跟踪算法与本文跟踪算法宽度、 高度误差都相对较大。
在MOT16多目标跟踪数据集上实验, 对比本文跟踪算法和SORT多目标跟踪算法的性能。 测试结果如表4所示。
表4结果表明, 本文提出的多目标跟踪算法误检数、 漏检数、 ID跳变次数相比于SORT算法均有所降低, MOTA提升了约1.2%, 表明本文算法更加稳定可靠, MOTP相比于SORT算法提升了约0.3%, 表明在跟踪精确度方面也有所改善, 总而言之, 相比于SORT算法, 本文算法稳定性、 准确性更高。
5 结 论
本文针对传统基于检测的目标跟踪算法对环境干扰适应能力差, 且跟踪准确率不高的问题, 提出了基于深度卷积神经网络的YOLO v3目标检测算法和卡尔曼滤波相结合的多目标跟踪方法, 使用K-means聚类算法对原YOLO v3算法的锚点框进行优化, 提高了训练效率和检测的准确率, 并结合卡尔曼滤波器对航空母舰舰面多舰载机目标实现了有效的跟踪。 与基于光流法的目标跟踪算法、 SORT多目标跟踪算法进行实验对比, 结果表明本文算法具有更高的准确性和鲁棒性。 下一步将致力于增强舰面其他目标对舰载机干扰下的算法跟踪能力。
参考文献:
[1] 娄康, 朱志宇, 葛慧林. 基于目标运动特征的红外目标检测与跟踪方法[J]. 南京理工大学学报, 2019, 43(4): 455-461.
Lou Kang, Zhu Zhiyu, Ge Huilin. Infrared Target Detection and Tracking Method Based on Target Motion Feature[J]. Journal of Nanjing University of Science and Technology, 2019, 43(4): 455-461.(in Chinese)
[2] 石龙伟, 邓欣, 王进, 等. 基于光流法和卡尔曼滤波的多目标跟踪[J]. 计算机应用, 2017, 37(S1): 131-136.
Shi Longwei, Deng Xin, Wang Jin, et al. Multiple Object Tracking Based on Optical Flow and Kalman Filtering[J]. Journal of Computer Applications, 2017, 37(S1): 131-136.(in Chinese)
[3] 薛俊韬, 马若寒, 胡超芳. 基于MobileNet的多目标跟踪深度学习算法[J/OL]. 控制与决策, 2020. DOI: 10.13195/j.kzyjc.2019.1424.
Xue Juntao, Ma Ruohan, Hu Chaofang. Deep Learning Algorithm Based on MobileNet for Multi-Target Tracking[J/OL].Control and Decision, 2020. DOI: 10.13195/j.kzyjc.2019.1424. (in Chinese)
[4] 王全东, 常天庆, 张雷, 等. 基于深度学习算法的坦克装甲目标自动检测与跟踪系统[J]. 系统工程与电子技术, 2018, 40(9): 2143-2156.
Wang Quandong, Chang Tianqing, Zhang Lei, et al. Automatic Detection and Tracking System of Tank Armored Targets Based on Deep Learning Algorithm[J]. Systems Engineering and Electronics, 2018, 40(9): 2143-2156. (in Chinese)
[5] Redmon J, Divvala S, Girshick R, et al. You only Look Once: Unified, Real-Time Object Detection[EB/OL].
(2016-09-23)[2020-07-22]. https:∥arxiv.org/ abs/1506.02640.
[6] Redmon J, Farhadi A. YOLO9000: Better, Faster, Stronger[C]∥ Proceedings of Conference on Computer Vision and Pattern Recognition, 2017: 6517-6525.
[7] Redmon J, Farhadi A. YOLO v3: An Incremental Improvement [EB/OL]. (2018-04-08)[2020-07-22]. https:∥ arxiv .org /abs /1804.02767. [8] 陳咏秋, 孙凌卿, 张永泽, 等. 基于YOLO v3的输电线路鸟类检测技术研究[J]. 计算机工程, 2020, 46(4): 294-300.
Chen Yongqiu, Sun Lingqing, Zhang Yongze, et al. Research on Bird Detection Technology for Electric Transmission Line Based on YOLO v3[J]. Computer Engineering, 2020, 46(4): 294-300.(in Chinese)
[9] 张迪, 樊绍胜.基于YOLO v3的输电线路故障检测方法[J]. 自动化技术与应用, 2019, 38(7): 125-129.
Zhang Di, Fan Shaosheng. Fault Detection of Transmission Line Based on YOLO v3[J]. Techniques of Automation and Applications, 2019, 38(7): 125-129. (in Chinese)
[10] 胡超超, 刘军, 张凯, 等. 基于深度学习的行人和骑行者目标检测及跟踪算法研究[J]. 汽车技术, 2019(7): 19-23.
Hu Chaochao, Liu Jun, Zhang Kai, et al. Research on Target Detection and Tracking of Pedestrian and Cyclist Based on Deep Learning[J]. Automobile Technology, 2019(7): 19-23. (in Chinese)
[11] 杨磊. 智能视频监控系统中的目标检测和多目标跟踪技术研究[D]. 南京: 南京航空航天大学, 2019.
Yang Lei. Research on Object Detection and Multi-Object Tracking Technology in Intelligent Video Surveillance System[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2019.(in Chinese)
[12] 陈志鸿, 黄立勤. 基于卡尔曼滤波和多种信息融合的在线多目标跟踪算法[J]. 信息通信, 2019, 32(3): 35-38.
Chen Zhihong, Huang Liqin. Online Multi-Target Tracking Algorithm Based on Kalman Filtering and Multiple Information Fusion[J]. Information & Communications, 2019, 32(3): 35-38.(in Chinese)
[13] 赵广辉, 卓松, 徐晓龙. 基于卡尔曼滤波的多目标跟踪方法[J]. 计算机科学, 2018, 45(8): 253-257.
Zhao Guanghui, Zhuo Song, Xu Xiaolong. Multi-Object Tracking Algorithm Based on Kalman Filter[J]. Computer Science, 2018, 45(8): 253-257. (in Chinese)
[14] 宋欢欢. 基于深度特征共享的行人检测与跟踪研究[D]. 哈尔滨: 哈尔滨工业大学, 2018.
Song Huanhuan. Pedestrian Detection and Tracking Based on Depth Feature Sharing[D]. Harbin: Harbin Institute of Technology, 2018. (in Chinese)
[15] Alex B, GR Z, Lionel O, et al. Simple Online and Realtime Tracking[C]∥IEEE International Conference on Image Processing (ICIP), 2017.
[16] 何丹妮. 基于深度学习的多车辆检测及跟踪算法研究[D]. 大连: 大连理工大学, 2019.
He Danni. Research on Multi-Vehicle Detection and Tracking Algorithm Based on Deep Learning[D]. Dalian: Dalian University of Technology, 2019. (in Chinese)
Research on Real-Time Tracking Algorithm for Multi-Objects of Shipboard Aircraft Based on Detection
Tian Shaobing1*, Zhu Xingdong2, Fan Jiali1, Wang Zheng1
(1.Department of Ship Surface Aviation Support and Station Management, Naval Aviation
University (Qingdao Campus), Qingdao 266041, China;
2. Coast Guard Academy, Naval Aviation University, Yantai 264001, China)
Abstract: For safe guidance and real-time monitoring of the shipboard aircraft during the operation, for traditional detection-based object tracking algorithms has poor tracking performance and susceptibility to interference, proposed the multi-object real-time tracking algorithm of shipboard aircraft that combined YOLO v3 object detection algorithm and Kalman filtering. The anchor size of the original YOLO v3 algorithm is optimized by the K-means clustering algorithm, combined with the Kalman filter algorithm to achieve effective tracking of shipboard aircraft objects, and compared with object tracking algorithm based on optical flow and SORT multi-object tracking algorithm on self-built shipboard aircraft tracking dataset and MOT16 multi-object tracking dataset. The results show that the tracking algorithm proposed is more accurate, robust and stable, and has strong adaptability when the object frame width and height change suddenly.
Key words: object detection; Kalman filtering; Hungarian algorithm; object tracking; deep learning