摘要
在监控应用中,检测场景中的小目标和远距离目标是一项重大挑战。这类目标在图像中仅由少量像素表示,缺乏足够的细节,因此难以使用传统检测器进行检测。本文提出了一个名为切片辅助超推理(SAHI)的开源框架,该框架为小目标检测提供了一种通用的切片辅助推理和微调流程。所提出的技术具有通用性,因为它可以应用于任何现有的目标检测器之上,无需进行任何微调。使用Visdrone和xView航空目标检测数据集上的目标检测基线进行的实验评估表明,所提出的推理方法分别将FCOS、VFNet和TOOD检测器的目标检测AP(平均精度)提高了6.8%、5.1%和5.3%。此外,通过切片辅助微调可以进一步提高检测精度,对于上述检测器,AP的累计提升分别达到了12.7%、13.4%和14.5%。该技术已集成到Detectron2、MMDetection和YOLOv5模型中,并在https://github.com/obss/sahi.git 公开可用。
索引词: 小目标检测,切片推理,窗口推理,Visdrone,xView
1. 引言
近年来,目标检测已被广泛应用于不同领域,包括人脸检测、视频目标检测、视频监控和自动驾驶汽车等。在该领域,深度学习架构的采用催生了高精度的方法,如Faster R-CNN [1]、RetinaNet [2],并进一步发展出Cascade R-CNN [3]、VarifocalNet [4]及其变体。所有这些最新的检测器都在知名数据集上进行训练和评估,例如ImageNet [5]、Pascal VOC12 [6]、MS COCO [7]。这些数据集大多包含低分辨率图像(640×480),且目标尺寸较大,像素覆盖面积大(平均覆盖图像高度的60%)。虽然在这些数据集上训练的模型对此类输入数据具有成功的检测性能,但在处理由高端无人机和监控摄像机生成的高分辨率图像中的小目标检测任务时,它们的精度显著降低。
无人机、4K摄像头和深度学习研究的最新进展使得远程目标检测成为可能,这符合检测、观察、识别和辨识(DORI)标准[8]。DORI标准为不同任务定义了目标的最小像素高度:检测需要图像高度的10%,识别需要20%(在全高清视频中为108像素)。相对较小的像素覆盖范围对基于CNN的目标检测方法提出了挑战,此外,高分辨率图像在内存需求方面也提出了更高的要求。
在本文中,我们提出了一种基于切片辅助推理和微调的通用解决方案,用于在高分辨率图像上进行小目标检测,同时保持较高的内存利用率。图1展示了在Visdrone测试集样本图像上小目标检测的改进情况。
图 1:使用 TOOD 检测器进行推理的结果(左),切片辅助超推理(中),切片辅助超推理
切片辅助微调后的推理(右)。
2. 相关工作
近年来基于学习的目标检测技术可分为两大类。单阶段检测器,如SSD [9]、YOLO [10]、RetinaNet [2],直接预测目标位置,无需显式的提议阶段。两阶段区域提议方法,如Fast R-CNN [11]、Faster R-CNN [1]、Cascade R-CNN [3],包含初始区域提议阶段,随后对这些提议进行精炼以确定目标的位置和大小。通常,单阶段方法速度更快,而两阶段方法精度更高。
近期,无锚点检测器开始受到关注。它们取消了锚框的使用,将特征金字塔[12]上的每个点分类为前景或背景,并直接预测前景点到真实边界框四边的距离,从而生成检测结果。FCOS [13]是首个无需预定义锚框集合且降低计算需求的检测器。VarifocalNet(VFNet)[4]学习预测IoU感知的分类分数,将目标存在置信度和定位精度混合作为边界框的检测分数。其学习过程由所提出的Varifocal Loss(VFL)监督,基于一种新颖的星形边界框特征表示。TOOD [14]以学习方式显式对齐目标分类和定位两个任务,利用新颖的任务对齐头部,在任务交互特征和任务特定特征的学习之间实现更好平衡,并通过设计的样本分配方案和任务对齐损失进行任务对齐学习。
针对通用目标检测设计的算法在高分辨率、包含密集小目标的图像上表现不佳,因此出现了专门的小目标检测方法。文献[15]采用基于粒子群优化(PSO)和细菌觅食优化(BFO)的学习策略(PBLS)来优化分类器和损失函数。然而,这些对原始模型的重大修改阻碍了从预训练权重进行微调,需要从头训练。此外,由于不寻常的优化步骤,它们难以适配现有检测器。文献[16]提出的方法对小目标图像进行过采样,并通过复制多个小目标进行数据增强。但该增强需要分割标注,因此与目标检测数据集不兼容。文献[17]的方法可从原始图像中裁剪出的放大区域学习更丰富的小目标特征,额外特征对检测性能有积极贡献,但选择需放大的区域带来计算负担。文献[18]提出一种用于小目标检测的全卷积网络,包含早期视觉注意力机制,用于选择最有潜力的小目标区域及其上下文。文献[19]提出基于切片的技术,但实现不通用,仅适用于特定目标检测器。文献[20]提出一种名为JCS-Net的新型网络,用于小尺度行人检测,将分类任务和超分辨率任务集成于统一框架。文献[21]提出一种算法,通过生成对抗网络(GAN)直接从模糊小图像生成清晰高分辨率人脸。然而,由于这些技术提出新的检测器架构,需要从头在大数据集上预训练,成本高昂。
与上述技术不同,我们提出一种通用的切片辅助微调和推理流程,可应用于任何现有目标检测器之上。这样,无需任何微调(通过切片辅助推理)即可提升任何现有目标检测器的小目标检测性能。此外,通过对预训练模型进行微调还可获得额外的性能提升。
3. 所提方法
为处理小目标检测问题,我们提出一个基于切片操作的通用框架,应用于微调和推理阶段。将输入图像划分为重叠的图块,使得小目标相对于送入网络的图像具有更大的像素面积。
图2:切片辅助微调(上)和切片辅助超推理(下)方法。在微调中,通过从图像中提取图块并将其缩放至更大尺寸来增强数据集。推理时,将图像划分为更小的图块,并从这些图块的放大版本生成预测,然后通过NMS将预测转换回原始图像坐标。可选地,也可加入全图推理的预测。
切片辅助微调(SF): 广泛使用的目标检测框架如Detectron2 [22]、MMDetection [23]和YOLOv5 [24]提供了在ImageNet [5]和MS COCO [7]等数据集上的预训练权重。这使得我们可以在较小数据集和较短训练周期内微调模型,而无需从头在大型数据集上训练。这些常见数据集大多包含低分辨率图像(640×480),目标尺寸较大,平均像素覆盖约占图像高度的60%。在这些数据集上预训练的模型对类似输入具有非常成功的检测性能。然而,在高端无人机和监控摄像头生成的高分辨率图像上执行小目标检测任务时,其精度显著下降。
为解决这一问题,我们通过从微调数据集的图像中提取图块来增强数据集,如图2所示。每张图像, 被切片成重叠的图块
,其尺寸 𝑀 和 𝑁 在预定义范围和
内选取,这些范围作为超参数。然后在微调过程中,图块按宽高比缩放,使图像宽度介于800至1333像素,得到增强图像′,此时目标的相对尺寸较原始图像更大。这些增强图像
, 连同原始图像
(以利于大目标检测)一起用于微调。需要注意的是,随着图块尺寸减小,大目标可能无法完全落入单个切片或交叉区域,这可能导致大目标检测性能下降。
切片辅助超推理(SAHI):
推理阶段同样采用切片方法,详见图2。首先,将原始查询图像 𝐼 切片成 𝑙 个 𝑀×𝑁 重叠图块
。然后,每个图块按宽高比缩放。之后,对每个重叠图块独立执行目标检测前向传播。可选择使用原始图像进行全图推理(FI)以检测大目标。最后,重叠的预测结果以及(如使用)FI结果通过NMS合并回原始尺寸。在NMS过程中,将交并比(IoU)大于预设匹配阈值 𝑇𝑚 的框进行匹配,对于每个匹配,移除检测概率低于 𝑇𝑑 的检测结果。
4. 实验结果
所提出的方法已集成到使用MMDetection [23]框架的FCOS [13]、VarifocalNet [4]和TOOD [14]目标检测器中,以进行实验评估。相关的配置文件、转换和评估脚本以及评估结果文件已公开提供 1。所有与切片相关的操作也已公开提供,以便集成到其他目标检测框架中 2。
VisDrone2019-Detection [25] 是一个目标检测数据集,包含由无人机平台在不同位置和不同高度拍摄的8599张图像。该数据集中大多数目标尺寸较小、分布密集且部分遮挡。不同场景中还包含光照和视角变化。超过54万个目标边界框被标注,分为十个预定义类别:行人、人、自行车、汽车、面包车、卡车、三轮车、带篷三轮车、公共汽车、摩托车。超类别定义为行人、摩托车、汽车和卡车。训练和验证子集分别包含6471张和548张图像,这些图像采集于不同地点但环境相似。
xView [26] 是用于卫星图像目标检测的最大公开数据集之一。它包含来自世界各地复杂场景的图像,并使用边界框进行标注。它包含来自60个不同类别的超过100万个目标实例。在实验过程中,随机选取了75%和25%的数据分别作为训练集和验证集。
这两个数据集都包含小目标(目标宽度 < 图像宽度的1%)。
表1: 在Visdrone19-Detection test-dev集上计算的平均精度值。SF、SAHI、FI和PO分别对应切片辅助微调、切片辅助推理、完整图像推理和重叠图块。
表2: 在xView验证集上计算的平均精度值。SF、SAHI、FI和PO分别对应切片辅助微调、切片辅助推理、完整图像推理和重叠图块。
图3: TOOD目标检测器在SF+SAHI设置下,在Visdrone19-Det test-dev集上计算的误差分析曲线。
图4: TOOD目标检测器在SF+SAHI设置下,在xView验证集上计算的误差分析条形图。
在实验期间,使用了SGD优化器,学习率为0.01,动量为0.9,权重衰减为0.0001,并进行了500次迭代的线性预热。学习率调度在第16和第22个epoch时进行指数衰减。对于切片辅助微调,通过切片图像和标注来创建图块,然后使用这些图块增强Visdrone和xView训练集。对于Visdrone和xView数据集,每个图块的宽度和高度分别在480到640和300到500像素范围内随机选择。输入图像被调整大小为宽度在800到1333像素之间(保持宽高比)。在推理过程中,NMS匹配阈值
𝑇𝑚 设置为0.5。
评估采用了MS COCO [7]的评估协议,包括总体和按尺寸划分的AP50分数。具体来说,AP50是在单个IoU阈值0.5下对所有类别计算的,最大检测数设置为500。在表1和表2中,对原始图像的传统推理(FI)被作为基线。SF(切片辅助微调)是在增强数据集上微调的模型,在表1和表2中,图块大小范围分别为480到640和300到500。SAHI(切片辅助超推理)指的是在表1和表2中分别使用大小为640×640和400×400的图块进行推理。PO(图块重叠)表示在切片推理期间图块之间有25%的重叠。从表1可以看出,SAHI将目标检测AP提高了6.8%、5.1%和5.3%。通过SF可以进一步提高检测精度,对于FCOS、VFNet和TOOD检测器,AP的累计提升分别达到了12.7%、13.4%和14.5%。在推理过程中对切片应用25%的重叠提高了小/中型目标的AP和总体AP,但略微降低了大目标的AP。增加是由于从切片中预测出的额外小目标真阳性,而减少是由于从切片中预测出的、与大型真实框匹配的假阳性。最佳的小目标检测AP是通过SF加SI实现的,而最佳的大目标检测AP是通过SF加FI实现的,这证实了FI对大目标检测的贡献。xView数据集的结果如表2所示。由于xView的目标非常小,使用原始图像进行常规训练会产生较差的检测性能,而SF显著改善了结果。集成FI使大目标AP提高了最多3.3%,但导致小/中型目标AP略有下降,这是预期的,因为一些较大的目标可能无法从较小的切片中检测到。切片之间25%的重叠将检测AP提高了最多1.7%。xView包含高度不平衡的60个目标类别,尽管FCOS是较早且据报道较弱的检测器,但在此数据集上其性能与VFNet非常接近。这一观察证实了FCOS中Focal Loss [2]的有效性,该损失函数旨在处理类别不平衡问题。TOOD在训练期间也受益于Focal Loss,并在三个检测器中取得了最佳的检测结果。TOOD检测器在Visdrone和xView数据集上的误差分析结果分别如图3和图4所示。其中C75、C50、Loc、Sim、Oth、BG、FN分别对应于在IoU阈值为0.75和0.50时的结果、忽略定位错误后的结果、超类别假阳性、类别混淆、所有假阳性以及所有假阴性。如图3所示,改进超类别假阳性、类别混淆和定位错误的空间较小,而改进假阳性和假阴性的空间较大。类似地,图4显示在修复类别混淆和假阳性之后,有很大的改进空间。
(此处原文有重复段落,已合并)增加是由于从切片中预测出的额外小目标真阳性,而减少是由于从切片中预测出的、与大型真实框匹配的假阳性。最佳的小目标检测AP是通过SF加SI实现的,而最佳的大目标检测AP是通过SF加FI实现的,这证实了FI对大目标检测的贡献。xView数据集的结果如表2所示。由于xView的目标非常小,使用原始图像进行常规训练会产生较差的检测性能,而SF显著改善了结果。集成FI使大目标AP提高了最多3.3%,但导致小/中型目标AP略有下降,这是预期的,因为一些较大的目标可能无法从较小的切片中检测到。切片之间25%的重叠将检测AP提高了最多1.7%。xView包含高度不平衡的60个目标类别,尽管FCOS是较早且据报道较弱的检测器,但在此数据集上其性能与VFNet非常接近。这一观察证实了FCOS中Focal Loss [2]的有效性,该损失函数旨在处理类别不平衡问题。TOOD在训练期间也受益于Focal Loss,并在三个检测器中取得了最佳的检测结果。TOOD检测器在Visdrone和xView数据集上的误差分析结果分别如图3和图4所示。其中C75、C50、Loc、Sim、Oth、BG、FN分别对应于在IoU阈值为0.75和0.50时的结果、忽略定位错误后的结果、超类别假阳性、类别混淆、所有假阳性以及所有假阴性。如图3所示,改进超类别假阳性、类别混淆和定位错误的空间较小,而改进假阳性和假阴性的空间较大。类似地,图4显示在修复类别混淆和假阳性之后,有很大的改进空间。
5. 结论
所提出的切片辅助超推理方案可以直接集成到任何目标检测推理流程中,并且不需要预训练。在Visdrone和xView数据集上使用FCOS、VFNet和TOOD检测器进行的实验表明,它可以带来高达6.8%的AP提升。此外,应用切片辅助微调可使小目标AP额外提高14.5%,并且在切片之间应用25%的重叠可进一步提升2.9%的AP。通过更大的特征图以更高分辨率训练网络会导致更高的计算和内存需求。所提出的方法线性地增加了计算时间,同时保持了固定的内存需求。计算和内存预算也可以通过调整图块大小来权衡,并考虑目标平台。未来,将利用所提出的切片方法对实例分割模型进行基准测试,并评估不同的后处理技术。
6. 参考文献
[1] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards real-time object detection with region proposal networks,” Advances in neural information processing systems, vol. 28, pp. 91-99, 2015.
[2] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar, “Focal loss for dense object detection,” in Proceedings of the IEEE ICCV, 2017, pp. 2980-2988.
[3] Z. Cai and N. Vasconcelos, “Cascade R-CNN: Delving into high quality object detection,” in Proceedings of the IEEE conference on CVPR, 2018, pp. 6154-6162.
[4] H. Zhang, Y. Wang, F. Dayoub, and N. Sunderhauf, “Varifocalnet: An iou-aware dense object detector,” in Proceedings of the IEEE/CVF Conference on CVPR, 2021, pp. 8514-8523.
[5] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei, “Imagenet: A large-scale hierarchical image database,” in 2009 IEEE conference on CVPR. Ieee, 2009, pp. 248-255.
[6] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman, “The pascal visual object classes (VOC) challenge,” ICCV, vol. 88, no. 2, pp. 303-338, 2010.
[7] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick, “Microsoft COCO: Common objects in context,” in ECCV. Springer, 2014, pp. 740-755.
[8] E. C. for Electro-technical Standardization, “Alarm systems - cctv surveillance systems for use in security applications,” August 2012.
[9] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg, “SSD: Single shot multibox detector,” in ECCV. Springer, 2016, pp. 21-37.
[10] A. Bochkovskiy, C.-Y. Wang, and H.-Y. M. Liao, “Yolov4: Optimal speed and accuracy of object detection,” arXiv preprint arXiv:2004.10934, 2020.
[11] R. Girshick, “Fast r-cnn,” in Proceedings of the IEEE ICCV, 2015, pp. 1440-1448.
[12] T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie, “Feature pyramid networks for object detection,” in Proceedings of the IEEE CVPR, 2017, pp. 2117-2125.
[13] Z. Tian, C. Shen, H. Chen, and T. He, “FCOS: Fully convolutional one-stage object detection,” in Proceedings of the IEEE/CVF ICCV, 2019, pp. 9627-9636.
[14] C. Feng, Y. Zhong, Y. Gao, M. R. Scott, and W. Huang, “TOOD: Task-aligned one-stage object detection,” in Proceedings of the IEEE/CVF ICCV, 2021, pp. 3510-3519.
[15] G. Wang, J. Guo, Y. Chen, Y. Li, and Q. Xu, “A PSO and BFO-based learning strategy applied to faster R-CNN for object detection in autonomous driving,” IEEE Access, vol. 7, pp. 18840-18859, 2019.
[16] M. Kisantal, Z. Wojna, J. Murawski, J. Naruniec, and K. Cho, “Augmentation for small object detection,” arXiv preprint arXiv:1902.07296, 2019.
[17] Z. Chen, K. Wu, Y. Li, M. Wang, and W. Li, “SSD-MSN: An improved multi-scale object detection network based on ssd,” IEEE Access, vol. 7, pp. 80622-80632, 2019.
[18] B. Bosquet, M. Mucientes, and V. M. Brea, “STDnet: A convnet for small target detection,” in BMVC, 2018, p. 253.
[19] A. Van Etten, “Satellite imagery multiscale rapid detection with windowed networks,” in 2019 IEEE WACV. IEEE, 2019, pp. 735-743.
[20] Y. Pang, J. Cao, J. Wang, and J. Han, “JCS-Net: Joint classification and super-resolution network for small-scale pedestrian detection in surveillance images,” IEEE Trans. Inf. Forensics Security, vol. 14, no. 12, pp. 3322-3331, 2019.
[21] Y. Bai, Y. Zhang, M. Ding, and B. Ghanem, “Finding tiny faces in the wild with generative adversarial network,” in Proceedings of the IEEE CVPR, 2018, pp. 21-30.
[22] Y. Wu, A. Kirillov, F. Massa, W.-Y. Lo, and R. Girshick, “Detectron2,” https://github.com/facebookresearch/detectron2, 2019.
[23] K. Chen, J. Wang, J. Pang, Y. Cao, Y. Xiong, X. Li, S. Sun, W. Feng, Z. Liu, J. Xu, et al., “MMDetection: Open mmlab detection toolbox and benchmark,” arXiv preprint arXiv:1906.07155, 2019.
[24] G. Jocher, A. Stoken, J. Borovec, A. Chaurasia, L. Changyu, V. Laughing, A. Hogan, J. Hajek, L. Diaconu, Y. Kwon, et al., “ultralytics/yolov5: v5. 0-yolov5-p6 1280 models aws super- vise. ly and youtube integrations,” Zenodo, vol. 11, 2021.
[25] D. Du, P. Zhu, L. Wen, X. Bian, H. Lin, Q. Hu, T. Peng, J. Zheng, X. Wang, Y. Zhang, et al., “Visdrone-det2019: The vision meets drone object detection in image challenge results,” in Proceedings of the IEEE/CVF ICCV Workshops, 2019, pp. 0-0.
[26] D. Lam, R. Kuzma, K. McGee, S. Dooley, M. Laielli, M. Klaric, Y. Bulatov, and B. McCord, “xView: Objects in context in overhead imagery,” arXiv preprint arXiv:1802.07856, 2018.