一种改进的DeepSORT 矿井人员跟踪算法

2023-11-05 15:38王树奇
电视技术 2023年9期
关键词:卡尔曼滤波行人矿井

刘 贝,王树奇,高 梦,刘 薇

(1.中国移动通信集团陕西有限公司,陕西 西安 710076;2.西安科技大学 通信与信息工程学院,陕西 西安 710054;3.西安信息职业大学,陕西 西安 710125)

0 引 言

目标跟踪作为计算机视觉的一项基本任务,在人机交互、军事巡检、公共安防及视频监控等诸多领域有着广泛的应用[1-2]。在煤矿这种复杂场景中,利用计算机视觉对矿井监测视频进行智能化分析,精准地对井下人员实施检测与跟踪[3],可以对突发、异常事件快速采取应急措施,减少井下安全事故的发生,保障井下人员安全[4]。

目标跟踪是指通过外观特征和位置信息将视频序列中相邻帧的跟踪目标关联起来,以此构成目标序列,对视频中的特定目标进行持续跟踪,从而得到运动轨迹[5]。当前,基于深度学习的目标跟踪算法已经成为主流[6]。CHEN K 等人提出基于深度学习的行人目标跟踪算法,将行人检测器训练为基于Faster R-CNN 的跟踪机制,训练全卷积网络(Fully Convolutional Network,FCN)提取目标模型中的行人信息,基于FCN 的图像语义分割算法,能够有效去除背景噪声。与传统的梯度下降算法相比,该算法缩小了搜索范围,提高了跟踪精度,具有更好的跟踪性能[7]。HE M 等人提出了一种在线多行人跟踪算法,通过卡尔曼滤波器建立目标的运动模型,通过卷积神经网络提取目标的外观模型。该算法与MOT15基准和MOT16基准上的其他算法相比,具有较高的准确性和实时性[8]。

随着对跟踪任务要求的不断提高,对跟踪算法的研究慢慢转移到多目标跟踪算法上。BEWLEY A等人[9]提出了基于检测的多目标跟踪算法SORT,以目标检测为基础得到检测框与卡尔曼滤波的预测框,通过匈牙利算法进行数据关联,获取最优匹配框并为每个目标分配编号(Identity Document,ID)。传统的矿井视频监控系统仅起到一个录像的作用,不具备自动检测及追踪行人目标等功能,无法满足煤矿井下的安全生产要求。因此,本文将YOLOv7 模型融合DeepSORT 算法,提出一种改进的DeepSORT 目标跟踪算法,实现对矿井人员的追踪。

1 目标跟踪算法

多目标跟踪(Multi-Object Tracking,MOT),是指在一个视频帧序列中同时对多个目标的运动轨迹进行跟踪。多目标跟踪算法大多采用tracking-bydetection 的策略来完成目标跟踪任务,即对每一帧图像中的目标进行跟踪的同时,还需要对所跟踪的目标进行检测,将目标跟踪的结果与目标检测相结合,以此达到数据关联的目的。

1.1 SORT 算法

SORT 算法结构简单、速度快,是跟踪算法的检测器,以Faster R-CNN 目标检测方法为基础,选用卡尔曼滤波算法预测和更新运动轨迹,选用匈牙利算法对轨迹预测框和检测器计算实现最优化分配。SORT 算法的具体步骤如下。

(1)输入视频帧序列,判断视频帧序列是否结束。

(2)若步骤(1)的结果为“是”,则认为任务结束;否则进入YOLOv7 检测算法,获取当前时刻行人位置信息的检测框,赋予检测到的所有目标ID编号并创建相应轨迹。

(3)进行交并比(Intersection over Union,IoU),通过匈牙利算法进行匹配,判断是否匹配成功。若匹配成功,执行卡尔曼滤波预测并更新轨迹;若匹配失败,则继续进行是否为检测失配判断。当为检测失配,继续执行更新轨迹并进行卡尔曼滤波预测;否则直接删除。

(4)重复执行步骤(1)~步骤(3),直到帧序列结束。

1.2 DeepSORT 算法

DeepSORT 算法解决了SORT 算法由于存在遮挡而频繁切换ID 或目标丢失的问题,其最大特点为引入外观信息,借用了ReID 领域模型提取外观特征,通过外观特征和运动特征加权得到匹配度,减少ID 切换次数。

DeepSORT跟踪算法通过运动信息与外观特征,使用卡尔曼滤波器匹配预测框和跟踪框,在循环执行过程中添加了轨迹确认状态,当连续三帧匹配成功,可将检测的轨迹转为确认状态,实现过程简单,可有效减少跟踪过程的ID 切换问题。

2 改进的DeepSORT 算法

2.1 外观特征改进

在井下行人跟踪过程中,当目标长时间被物体遮挡,算法会利用外观模型匹配运动目标。为了获取更稳健高效的外观特征,本文在DeepSORT 跟踪算法中引入全尺度网络OSNet,以实现轨迹和检测之间更精确的关联。

OSNet 全尺度网络基于残差块来实现全尺度特征学习,生成的多尺度特征图由统一聚合门(Aggregation Gate,AG)生成的通道权重动态方式融合。除此之外,OSNet 网络在基础构建过程的另一个关键设计原则是设计一个轻量级网络,因此在支撑构建模块中采用点卷积和深度卷积分解标准卷积。以输入尺寸为256×128 的图像为例,OSNet网络的结构如图1 所示,表1 为网络结构表。

表1 OSNet 网络结构表

图1 OSNet 网络结构图

2.2 优化IoU 匹配算法

在DeepSORT 算法匹配过程中,当为不确认状态时,通过IoU 匹配的结果利用匈牙利算法计算其代价矩阵,寻求最优匹配判断匹配程度。一般情况下,IoU 都能较好地反映两者之间的关系,但IoU 对目标尺度变换并不敏感,矿工目标易被相似目标干扰,并且当检测框与预测框之间没有重叠时,IoU 的值恒为0,算法认为目标消失,则无法再进行判断。

为了解决这个问题,本文对IoU 匹配进行改进。完全交并比(Complete Intersection over Union,CIoU)在IoU 基础上添加了惩罚项,考虑了边框的重合度、中心距离和长宽比的尺度信息,在目标框不重叠时,依然可以为边界框提供移动方向。因此,在跟踪轨迹与检测结果匹配过程中选用CIoU 匹配,计算过程为

式中:m为预测边界框与真实边界框的交并比IoU,n为CIoU;ρ2为预测框和真实框两个中心的欧氏距离;X表示预测边界框,Y表示真实边界框;c为包揽预测框和真实框的最短对角线的长度;u为权衡的参数,v为衡量长宽比相似性的参数;wgt、hgt为真实框的宽和高,w、h为预测框的宽和高。从计算公式可以看出,当m值为0,表明两者之间并无交集,此时IoU 并不会直接将边界回归框删除,而是通过最小包围框计算边界回归框与检测框二者之间最短对角线距离c,c越大说明两个框距离越远。值恒大于0 小于1,uv具有非负性。n值越小,表明匹配程度越差,反之亦然。

在井下行人跟踪过程中,采用CIoU 匹配方式检测卡尔曼预测结果与检测结果之间的匹配程度,能够减少跟踪过程中跨度较大时产生状态重新确认现象,降低ID 切换次数。

3 仿真结果分析

3.1 目标追踪效果

数据集采用自制的矿井视频图像和公共数据集10 245 张行人作为训练集组合进行离线预训练。自制矿井短视频的格式为1 080×720,帧率为25 f·s-1。对每个矿工目标进行标注,训练集和测试集的数据比例为2 ∶1。仿真环境如下:实验室主机CPU 型号为英特尔Xeon(R) CPU E5-2686 v4,主频为2.30 GHz,内存为16 GB×2,GPU 型号为GeForce RTX 2080 Ti,操作系统为Windows 10 旗舰版64 位系统,框架为Pytorch。仿真验证、分析、对比改进的DeepSORT 网络模型在矿井下的跟踪效果,分别选取背景相对独立、目标清晰的视频集和矿工与背景融为一体两种不同矿井监控场景,进行仿真测试。场景一的跟踪效果如图2 所示。

图2 中的视频序列跟踪场景较为简单,行人轮廓特征明显且容易分辨,改进的算法能够准确地追踪运动目标。在第368 帧中,算法在视频帧中跟踪到3 个目标。自第400 帧开始,新目标出现,但由于目标较小、所含特征较少,此时算法并没有检测到此目标。在第522 帧,此目标ID 编号被赋予“10”。在第658 帧,ID 编号为“10”的目标被遮挡;在第794 帧,目标身份复现,ID 编号未改变,成功实现跟踪。第968 帧时,4 个目标基本无遮挡,成功实现跟踪。

场景二采用环境较为黑暗且旷工轮廓相对模糊的视频集,跟踪效果如图3 所示。本段视频时长23 s,在运动过程中,共发生4 次遮挡。前3 帧首先进行状态确认,在第4 帧时,算法赋予两个目标ID编号分别为1 和2。在第447 帧,算法赋予第3 个新出现目标ID。第586 帧时,发生井下人员第一次遮挡,ID 编号为2 的目标消失。在第652 帧,ID编号为2 的目标重现,其ID 并未发生改变。在第830 帧,新目标出现,由于目标特征信息较少,算法并未赋予其ID 编号。在第838 帧,新目标被赋予ID 编号。第887 帧时,第二次遮挡问题发生,ID编号为1 的目标被遮挡,目标消失。第900 帧时,ID 编号为1 的目标重现,其ID 编号依旧为1,继续成功跟踪。在第910 帧时,第三次遮挡出现,ID 编号为2的目标再次消失。第936帧时,目标身份恢复,ID 编号并未发生改变,算法成功跟踪。随着目标运动,在第1 133 帧时发生了第四次遮挡,目标消失造成无法跟踪。第1 163帧时,目标重现,算法成功跟踪。自此开始再无遮挡,算法继续跟踪至视频帧结束。

图3 场景二跟踪效果

根据两个场景的跟踪效果可以得出结论,在矿井人员相互遮挡时,本文算法具有很好的判别追踪能力,能够实现对井下人员的连续跟踪,对于遮挡重叠情况具有良好的健壮性。

3.2 追踪性能分析

为了评估改进的DeepSORT 算法的追踪效果,本文选择3 种不同的指标进行效果评价,分别是序号切换数(ID switches,IDs),多目标跟踪准确度(Multiple Object Tracking Accuracy,MOTA),多目标跟踪精确度(Multiple Object Tracking Precision,MOTP)。序号切换数是整个跟踪过程误配数量的和,其值越小,则跟踪结果越好,计算公式为

式中:r为序号切换数;dt表示t帧时,第i个匹配目标与真实目标之间的距离。

多目标跟踪准确度用于衡量多目标跟踪算法在实际过程中保持跟踪对象轨迹的能力,计算公式为

式中:s为多目标跟踪准确度,r为序号切换数,FN为漏检数,FP为误检数,GT为真实目标的数量。

多目标跟踪精确度衡量的是多目标跟踪算法跟踪目标位置精确度的能力,计算公式为

式中:dt,i为第t帧数据集中第i个匹配对的距离,ct为第t帧数据集中真实轨迹与算法预测轨迹成功匹配的数量。

分析对比改进后的目标跟踪算法的多目标跟踪准确度、多目标跟踪精确度和序号切换数3 个评价指标,实验数据如表2 所示。对比表2 中的数据可以得出结论,改进后的算法MOTA 提高了1.6%,MOTP 提高了0.5%,IDs 下降了42,本文算法有更好的跟踪结果,性能明显优于原跟踪算法。

表2 多目标跟踪结果对比

4 结 语

本文算法通过采用OSNet 全尺度网络替换特征提取网络,解决了人员跟踪过程中ID 变换问题;通过采用CIoU 计算预测回归与检测框之间的匹配程度,二次重新匹配,解决了IoU 匹配机制过程中的目标丢失问题,提高了人员跟踪准确性。改进的DeepSORT 目标跟踪算法应用在矿井环境下进行跟踪处理,发挥了深度学习技术从数据中获得更深层次特征的优势,实现了对井下人员的实时有效跟踪,保障了井下人员的作业安全。该方法不仅适用于煤矿井下等低照度空间,而且对于其他复杂场景的检测和跟踪有一定的借鉴意义。

猜你喜欢
卡尔曼滤波行人矿井
毒舌出没,行人避让
建立三大长效机制 保障矿井长治久安
路不为寻找者而设
煤矿矿井技术改造探讨
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
我是行人
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
矿井提升自动化改造
临时主要通风机在基建矿井中的研究与应用