复杂道路监控场景下的车辆检测与跟踪数据集
2024-02-25伍琼燕赵征鹏王林飞武艺强邵雅磊王稳陶大鹏
伍琼燕,赵征鹏,王林飞,武艺强,邵雅磊,王稳,陶大鹏
云南大学 信息学院,云南 昆明 650500
作为智能交通系统(intelligent transport system,ITS)[1]的一项基本任务,车辆检测与跟踪技术已经广泛地应用于自动驾驶[2]、交通流量监测[3]、车辆轨迹优化[4]等交通监控场景。近年来,深度学习算法[5−9]在车辆相关研究中表现出了巨大的潜力。而以数据驱动的深度学习通常需要大量的训练样本来挖掘数据的潜在模式以进一步改进算法,因此数据集的内容和质量直接决定了车辆检测与跟踪模型的可靠性和适用性。尽管在过去的时间里,计算机视觉社区的研究人员们已经在车流量较大的城市监控场景下构建了丰富的车辆检测与跟踪数据集,但随着检测与跟踪技术的不断进步,大多数数据集并不能严格满足监控场景下车辆检测与跟踪研究的要求。问题主要有:1)采集场景单一。现有的数据集大多都采集于现代化城市交通场景,却鲜有对路况更复杂、交通参与者更多、车辆行驶干扰更大的郊区、乡村等路段投入关注。2)数据集长尾分布。在大多数现存车辆检测与跟踪数据集中,小汽车类型占据了绝对的比重,而在城市少见的车辆类型(比如摩托车)数量很少,加剧了车辆类型之间的长尾分布问题。3)图像采集环境简单。部分数据集受限于传感器的拍摄范围,捕获到的图像中车道以外的背景及车辆行驶干扰较少,不能体现出真实的车辆行驶场景,这样的数据会在一定程度上限制模型的泛化能力。
为了克服现有数据集的局限性,本文构建了一个车辆数据集VeDT-MSS(vehicle detection and tracking for multiple surveillance scenarios)来实时准确地进行车辆检测与跟踪研究。数据集主要采集于郊区、乡村道路、城市公路以及交通复杂路口4 种不同的监控场景,并对4 种常见车辆类别(小汽车、卡车、公交车和摩托车)进行分类标注。除了丰富的边界框以外,数据集还包含多种光照条件和拍摄视角,具有尺度和角度的多样性,以更好地适应真实世界的监控场景。该数据集还具有交通场景多样化、卡车的类内多样性大、摩托车标注实例占比高以及背景复杂程度高4 个亮点。通过在该数据集上进行大量的基线实验以评估该数据集的质量,验证了各类主流的检测与跟踪算法(基于深度学习的Two-stage 和One-stage 方法、Anchor-Free 方法、基于Transformer 的方法、DeepSort方法)在本数据集上均有一定程度的提升空间。另一方面,本文为车辆检测与跟踪研究领域提供了大量乡村、郊区场景下的标注数据,弥补了该研究领域在场景多样性方面的不足,为研究人员设计监控场景下的车辆检测以及跟踪算法提供了新的数据选择。
1 常见数据集介绍
在早期的研究中,缺乏多样化的数据集极大地限制了车辆相关研究的进一步探索。近年来,计算机视觉社区的研究人员们发布了各种车辆数据集来充分解决这个问题。现有的大多数车辆数据集主要应用于几个场景,包括细粒度分类、车辆重识别以及目标检测与跟踪等任务。以下将从这3 个应用场景对常用数据集[10−24]进行介绍。
细粒度分类在车辆品牌自动统计中具有重要的研究价值,车辆重识别在刑事调查、行程时间估计等应用中发挥着关键的作用。目前常见的细粒度分类数据集在文献[10−13]所提出,其具体信息如表1 所示。常见的车辆重识别数据集在文献[14−18]所提出,其具体信息如表2 所示。这些数据集在一定程度上促进了车辆细粒度分类以及车辆重识别的发展,为其他研究人员开发更先进更复杂的算法提供了基准数据集。
表1 车辆细粒度分类常见数据集
表2 车辆重识别常见数据集
从表1 和表2 中可以看出,一些公开可用的车辆数据集并非完全来自监控摄像,并且由于真实的监控场景通常涵盖广阔的视角空间、复杂的道路背景以及随机分布的车辆类型和数量,而目前用于车辆细粒度分类以及车辆重识别任务下的单目标数据集如文献[10−17]较为简单,通过人工裁剪背景,去除大量的干扰,使得每张图像只包含一辆车,其图像大多来自对齐良好的正面和侧面视图,这种数据呈现方式与真实监控数据完全不同,因此这类数据集难以用于训练复杂道路监控背景下的检测和跟踪方法。而文献[18]提出的数据集里大部分都是裁剪良好的车牌图像,只有445 张(约为数据集图像总量的1.7%)是完整监控场景下的车辆图像,并且在提供的整车图像中没有包含车道以外的背景,由于监控视野太低导致无法捕获大型车辆的全局特征。以上这些因素表明,即使该类数据集提供的图像数量大,但是却并不能用于复杂道路监控场景下的车辆检测与跟踪研究。
车辆检测与跟踪任务是近几年交通监控场景的重要研究任务。为了进一步促进该领域的研究,Guerrero-Gómez-Olmedo 等[19]提出了2 种监控场景下的GRAM-RTM 数据集用于车辆跟踪算法评估。Dong 等[20]构建了一个在监控摄像头下的BIT-Vehicle 数据集来验证其设计的基于外观的车型分类方法。由于该数据集提供了良好的车辆标注,还能将其广泛应用于车辆检测算法的评估[25−26]。Luo 等[12]在提出的MIO-TCD-Localization数据集评估了一些经典的CNN(convolutional neural networks) 方法。 Du 等[21]构建了一个UAVDT 数据集用以改进无人机场景下的车辆跟踪算法。Bozcan 等[22]提出了一个由无人机搭载摄像机进行空中拍摄得到的AU-AIR 多模态航空数据集以进行低空目标检测。Fedorov 等[23]在提出的数据集上验证了其设计的Faster R-CNN 检测器的可行性,以解决使用交通视频数据进行交通估计的问题。Wen 等[24]提出了一个在城市监控场景下的UA-DETRAC(university at Albany DETection and TRACking)数据集以用于多目标检测和跟踪应用。同时,他们还提出了一种基于检测与跟踪分数的三维曲线评估协议,较好地实现了多目标跟踪的完整性能。VeDT-MSS 数据集与常用的车辆检测与跟踪数据集的具体信息如表3 所示。车型分布比较如图1 所示,在进行数据处理时,本文只统计明确车辆类型,没有计入如文献[12]中行人、不明确类别等的标签数据。并且按照汽车的功能,将这些数据集中所有的客运车辆(如SUV、小轿车以及MPVs 等)都统一视为小汽车,将所有的货运车辆(如皮卡、中型货车以及重型货车等)都统一视为卡车。
图1 VeDT-MSS 与常用车辆检测与跟踪数据集的车型分布比较
表3 车辆检测与跟踪常见数据集
从表3 中车辆检测与跟踪数据集的呈现方式可以看出,除了架设在路边的常规监控车辆数据集之外,还有文献[21−22]中的航拍车辆数据集,该类数据集在极大地推进航空图像目标检测研究的同时,也有2 个明显的缺点:1)拍摄到的车辆尺寸相对较小,特别是在垂直于地面的摄像机拍摄得到的图像中,一些小目标在视觉上甚至以点的形式呈现;2)随着无人机的移动,拍摄视角只围绕车辆顶部发生变化,其视角呈现不符合监控场景下的视野需求。因此,航拍车辆数据集也不适用与处理常规监控下的检测与跟踪研究。其余在监控摄像头下的数据集如文献[19−20]、[12]、[23−24]目前正广泛用于评估监控场景下的检测与跟踪模型的性能。但这些数据集在场景选择、视角多样性等方面也有一定的局限性。例如文献[19]只包含2 种监控场景下的视频序列,场景选择较单一;文献[20]只有正面视角且道路背景干扰很小;文献[12]图像分辨率较低(342×228);文献[23]提供的数据集其摄像机视角高于普通监控架设高度;文献[24]数据全部是在城市场景下收集的。因此该部分数据集也不适用于郊区、乡村等复杂道路监控下的模型训练。
为了弥补现有数据集的不足,本文建立了一个名为VeDT-MSS 的车辆数据集,模拟在真实的郊区、乡村道路以及城市道路下训练深度学习模型,以评估更复杂更先进的检测与跟踪算法。
2 VeDT-MSS 数据集的构建
2.1 数据集的收集与标注
图2 给出了VeDT-MSS 数据集的4 种采集场景以及光照属性。边界框颜色表示车辆的类型,例如小汽车(品红色)、卡车(橙色)、摩托车(绿色)以及公交车(青色)。每一列代表一种交通场景,有郊区、乡村道路、城市公路以及复杂交通路口;每一行代表一种光照属性,有晴天、多云、夜晚以及雨天。并且该数据集还拥有不同的视角:前、后、左前、右前、左后和右后。
图2 VeDT-MSS 数据集中带有标注的车辆样本展示
该数据集一部分是由分布在云南郊区以及乡村道路上的监控摄像头采集得到,另一部分是从UA-DETRAC 数据集整合而来。在经过多重人工筛选和过滤之后,得到了27 383 张图像和一段10 min的评估视频,用于车辆检测与跟踪研究。该数据集一共分为检测数据集(用于模型训练和测试)和跟踪数据集(用于跟踪算法评估)2 个子集。并且2 部分数据之间没有样本重叠,降低了模型对特定场景过拟合的风险。这种数据处理方式可以更加真实地评估检测和跟踪算法在未知数据上的泛化性、鲁棒性以及迁移学习能力。2 个子集介绍如下:
1)检测数据集:实际的交通场景数据采集中无法做到车型之间的相对平衡。在原始收集的9 907张监控车辆图像中,与其他类别的实例相比,公交车的实例数量要少得多,正如大多数现有数据集一样。由于目前城市交通场景下的车辆数据集发展已经相当成熟,本文选择将UA-DETRAC 数据集[24]中含有公交车的5 476 张城市交通监控图像整合到检测数据集中。一方面,以此来尽可能缩小每个实例数量之间的差距,缓解车型之间的长尾分布问题;另一方面,融合不同摄影风格和监控场景(郊区、乡村场景和城市场景)的数据集也可以帮助评估检测和跟踪算法的跨场景属性。
总的来说,检测数据集是由不同视角、不同监控场景的15 383 张车辆图像组成,其中包括在郊区以及乡村监控场景中实地采集的9 907 幅车辆图像(像素1 280×760),以及为了增加城市场景多样性并实现类平衡从UA-DETRAC 中收集的5 476幅图像。在数据标注过程中,使用了多轮人工交叉检查的方式以确保提供高质量的数据标签。该部分总共手工标注了52 962 个实例框,并将其分类为4 种常见的车辆类型,即小汽车(car)、摩托车(motorcycle)、公交车(bus)以及卡车(truck)。其中标注的小汽车包括SUV、小轿车以及轻型客车等客运车辆;卡车包括皮卡、罐式货车、厢式货车以及平板货车等货运车辆。
2)跟踪数据集:该部分一共提供了10 min 的原始监控视频以及由它转化来的12 000 帧图像,其采集场景选择了与检测数据集具有相似车流量属性的乡村道路。在跟踪测试阶段,将原始视频作为输入,以此来可视化车辆检测以及跟踪的性能。在跟踪评估阶段,将视频逐帧(20 f/s)转换为12 000 张图像,并对它们以同样的标准进行标注以获得真实框(共获得9 792 个真实框),以此来评估预测框与真实框之间的差距情况。
2.2 数据集特点
为了更好地展示本文提出的数据集,将从以下几个方面对数据集进行展开描述。
1)交通场景多样化。VeDT-MSS 数据集是由城乡郊区、乡村道路、城市公路以及复杂交通路口这4 种不同监控场景组成,场景分布情况如图3(a)所示。VeDT-MSS 数据集与常用车辆检测与跟踪数据集在场景分布上的比较如表3 所示。通过表3 的场景对比可以看出,该数据集的场景更多样性,能够更普遍地反映真实世界的情况,是目前国内少有的收集了郊区以及乡村道路的数据集。其次,由于数据采集时的天气变化,训练集涵盖了不同光照条件,如晴天、多云、夜晚和雨天,光照属性如图3(b)所示。此外,由于交通场景的不同,每条路段上的车流量也有所差距,数据集里每张图像的车辆实例分布如图3(c)所示。
图3 VeDT-MSS 数据集总说明
2)卡车的类内多样性。由于数据集采集场景有约80%来源于郊区、乡村道路,在这种情况下本文收集并标注的卡车样本与以往数据集中只包含一种相似大小和外观的卡车样本不同,其中包括了皮卡、中型货车、重型货车、集装箱车、罐式货车以及平板货车等多种不同尺寸和外形的货运车辆。卡车的类内多样性如图4 所示。这种跨度较大的样本标签增加了模型训练时提取特征的难度,使得该数据集更具挑战性,能够更好地评估检测算法的性能,并且多类型的卡车样本也进一步为卡车相关研究提供了数据支持。
图4 卡车的类内多样性
3)摩托车标注实例占比高。从图1 中可以看出,大多数车辆检测与跟踪数据集都不具备摩托车样本或者并没有对出现的摩托车样本进行单独分类标注,数据主要集中在城市交通中最频繁的客运车辆类型上,导致车型分布严重不平衡。而由于采集数据的场景中包含了大量的乡村监控,所以能够采集到更多的摩托车样本,在弥补现有数据集中摩托车样本收集不足的同时,也能够更好地评估现有算法对小目标检测的性能。
4)背景复杂程度高。通过比较监控场景下的GRAM-RTM[19]、BIT-Vehicle[20]、UA-DETRAC[24]以及VeDT-MSS 数据集中所有场景里的检测车道(检测车道指图像中的有效检测区域)与所在图像之间的平均占比情况来体现数据集的背景复杂度属性。对比属性如图5 所示。本文将这些数据集中的检测车道所在区域提取为前景像素,其他区域标记为背景像素,以此生成一张二值图像,然后通过前景像素与所在图像总像素之间的比例来表示检测车道与所在图像的占比情况。从图5 中可以得出,GRAM-RTM[19]、BIT-Vehicle[20]、UA-DETRAC[24]以及VeDT-MSS 数据集中检测车道平均占比分别约为53.4%、98%、72%以及39.4%。VeDT-MSS 数据集是这些数据集中检测车道占比最小的(39.4%),这表明与同类数据集相比,VeDT-MSS 数据集更好地保留了道路两侧背景的完整度,在车道以外的背景干扰更大,能够更好地模拟真实监控场景下的应用。
图5 监控场景下各数据集的检测车道与所在图像之间的平均占比情况
3 VeDT-MSS 数据集的评估与分析
本节从目标检测任务和多目标跟踪任务2 个方面对VeDT-MSS 数据集进行评估以验证其有效性。
3.1 实验环境与评估指标
实验基于64 位操作系统Ubuntu 16.04.3 LTS,CPU 为Intel(R) Xeon(R) E5-2620,GPU 选用NVIDIA GeForce GTX 1080Ti。实验中,本文使用目前主流的目标检测与跟踪指标[27−28]进行性能评估,评估指标如表4 所示,(↑)表示数值越高越好,(↓)表示数值越低越好。
表4 算法性能评估指标
这些指标之间的关系如下所示:
式中召回率(recall)R用来反映假反例(false negative,FN)NFN的情况,召回率指标越高,假反例的数量越少,算法性能越好。同样,用精度(precision)P来反映假正例(false positive,FP)NFP的情况,精度指标越高,假正例的数量越少,算法性能越好。AP(average precision)指标表示着精度–召回率(precision-recall)曲线下的面积,式中N代表类别个数,而平均精度均值(mean average precision,mAP)EmAP表示所有类别AP 值的平均值,EmAP指标越高代表算法性能越好。
式中NFNt、NFPt以及NIDst分别为时间t时的漏检数、误检数和ID切换数。多目标跟踪准确率(multiobject tracking accuracy, MOTA)MOTA直观地衡量检测到的目标在轨迹保留方面的性能,这与物体检测精度无关。
式中:ct为时间t内检测到的轨迹与真实轨迹之间成功匹配的次数,dt
i表示时间t时检测边界中心点与真实框之间的距离。 多目标跟踪精度(multiobject tracking precision)MOTP主要量化检测器的定位精度,几乎不包含有关跟踪器性能的信息。
3.2 目标检测
目前,广泛使用的目标检测方法包括Twostage 算法[29−30]、One-stage 算法[31−32]、Anchor-Free方法[33−35]以及基于Transformer[36]方法。本文借助MMdetection 框架[37],设置默认参数,在VeDTMSS 数据集上使用了目前检测领域较为经典的和最新的算法进行验证。
实验结果如表5 所示。从所有方法的实验结果来看,针对小目标类型中,小汽车的检测性能普遍低于摩托车,可能是由于数据集中小汽车在某些视角下与卡车类中的皮卡外形相似,导致模型错检的可能性增大,使得小汽车的检测精度有所下降,从而低于摩托车的指标。在整体类评估中,基于One-stage 的YOLOv5 和YOLOv7[31]算法在该数据集上达到了最佳的检测性能,都实现了0.98 以上的mAP50,0.93 以上的mAP75,这一定程度上取决于该数据集良好的实例标注样本。而基于Two-stage 的方法普遍实现0.9 以上的mAP50,0.86 以上的mAP75,与基于One-stage 方法相比仍有一定程度的提升空间。在Anchor-Free 方法中,FCOS[33](fully convolutional one-stage)以及FSAF[34](feature selective anchor-free)属于典型的anchor-point 方法,主要通过预测目标框的中心点以及边框到中心点的距离来检测目标。而RepPoints[35]属于key-point 的方法,它通过点集的方式提供了目标更细粒度的定位和更方便的分类,减小了目标预测过程中无意义的前景区域的影响。但由于该数据集中收集了复杂路口下的车辆样本,当车辆之间较为拥挤时,就可能出现目标中心点重叠的情况,从而降低Anchor-Free 方法的检测性能。这说明基于Anchor-Free 方法在提出的数据集上仍然具有改进的空间,以争取在该数据集上取得更好的效果。而基于Transformer 的DETR[36](detection transformer)方法在提出的数据集上取得的效果并不显著,其整体的mAP50 为0.815,mAP75 为0.500,是所有给出方法中表现较差的,并且在训练过程中收敛速度也相对较慢。这是由于DETR 的特征图尺寸较大,很难利用高层特征来对小物体进行准确预测,而本文提出的数据集中所包含的小汽车和摩托车在整个场景中的占比较小,导致DETR 方法对这2 类小目标车型的检测精度不高,使得整体检测精度下降。
表5 经典的目标检测算法在VeDT-MSS 数据集上的性能比较
以上实验结果表明,在其他数据集上表现良好的方法在本文提出的数据集上得到的效果可能并不理想,仍有一定程度的提升空间。本文数据集对现有的算法在小目标检测以及目标中心重叠检测上仍然具有挑战性,对现有算法的鲁棒性和泛化性评估具有适用性。
3.3 多目标跟踪
基于监控视频的车辆跟踪可定义为一个多目标跟踪问题。目前流行的跟踪算法一般是结合目标检测算法来实现数据关联,DeepSort[38]跟踪算法就是其中之一。为了评估该数据集,本文采用了基于检测的多目标跟踪策略[39](detection-based tracking,DBT)来实现多目标跟踪任务。首先,分别使用YOLOv5_M 和YOLOv7 检测算法对车辆进行检测,车辆检测模块通过对每帧中的目标车辆进行定位和分类,为基于检测的车辆跟踪提供观测值;其次,结合DeepSort 跟踪算法将检测假设链接成轨迹,车辆跟踪的主要任务是在视频序列第一帧的基础上建立一个跟踪对应关系,记录每个目标的轨迹并保持其身份不变,从而将视频序列中的车辆检测关联起来。
模型训练使用基于YOLOv5_M 和YOLOv7的公共检测网络。在训练检测算法时,以检测数据集作为输入,图像尺寸缩放为640×640,batch size 为64,其他设置默认参数进行训练。在训练跟踪算法时,将检测数据集的实例标注框全部提取出来作为输入来训练DeepSort,其他设置默认参数进行训练。最后将得到的检测训练模型与跟踪训练模型相结合,以跟踪数据集为输入,验证模型的检测和跟踪性能。
实验结果如表6 所示,分别比较了跟踪策略为DeepSort 时YOLOv5_M 和YOLOv7 在多目标跟踪任务上的性能。在表6 中,YOLOv5_M 在整个场景中实现了83.3%的召回率、91.7%的精度和70.4%的MOTA,YOLOv7 在整个场景中实现了85.1%的召回率、91.9%的精度和72.0%的MOTA。总的来说,YOLOv7 在整体表现上略优于YOLOv5_M,但同时也可以看出YOLOv5_M和YOLOv7 在处理一些复杂场景的时候,还是容易出现错检、漏检的问题。在单个类评估中,摩托车类别在YOLOv5_M 上的召回率为83.5%,在YOLOv7 上召回率达到了90.0%。这是由于YOLOv5的下采样倍数较大,较深层的特征图难以学习到小目标的特征信息,并且当摩托车基数较小时,漏检的发生会对整体性能产生较大的影响。此外,无论是在YOLOv5_M 还是在YOLOv7 上,小汽车和卡车的FP、FN 数量都比较高,导致对应的MOTA 指标较低。这是由于本文提供的数据集中一些小型卡车(如皮卡)在某些监控角度与小汽车类极其相似(类间相似性),检测器很难学习到它们之间的判别特征,导致小汽车类和卡车类之间的检测相互影响,从而降低了它们的分类性能。
表6 最新检测与跟踪算法在VeDT-MSS 数据集上的性能比较
以上实验结果表明,现有的检测和跟踪方法要在该数据集上获得显著结果是非常具有挑战性的。由于VeDT-MSS 数据集的多样性以及复杂性,未来能够用于评估更多更主流的基于监控场景下的检测以及跟踪方法。这也鼓励了更先进的算法出现使得在该数据集上获得更好的性能。
4 结束语
本文在监控场景下构建了一个名为VeDTMSS 的车辆数据集,该数据集除了多种光照条件和视角以外,还具有交通场景多样性、类内多样性大、摩托车标注实例较多以及背景复杂度高等多个特点,以此来增加数据集的多样性。为了验证该数据集的有效性,分别在目标检测任务和多目标跟踪任务上进行了大量的基线实验。实验结果表明,该数据集对现有主流的算法仍然具有挑战性,能够参与评估更复杂更先进的算法模型。本文数据集不仅关注城市交通监控场景,还收集了大量在现有数据集中鲜被关注的乡村和郊区监控场景,弥补了现有车辆检测与跟踪研究任务中乡村和郊区场景道路影像数据不足的问题。