论文引用格式:Pan X Y, Jia N X, Mu Y Z and Gao X R. 2023. Survey of small object detection. Journal of Image and Graphics, 28(09):2587-2615(引用格式:潘晓英, 贾凝心, 穆元震, 高炫蓉. 2023. 小目标检测研究综述. 中国图象图形学报, 28(09):2587-2615)[0 引言随着人工智能技术研究的不断发展,深度学习、机器视觉等技术在无人驾驶、智慧医疗和人脸识别等领域得到了更加广泛的应用。机器视觉的任务是对图像进行解析,提取利于计算机理解的信息,包括对图像的分类(Dalal和Triggs,2005)、检测(Szegedy 等,2013)和分割(Ding和Zhao,2018)等。目标检测作为计算机视觉领域的核心研究方向之一,利用相关算法,通过精确定位(Wu等,2020)找到特定的目标类。早期传统的目标检测方法如HOG(histogram of oriented gradient)(Dalal和Triggs,2005)和DPM(deformable parts model)(Felzenszwalb等,2008)等,通常采用区域选择、特征手工提取、分类回归3步实现,但人工提取目标特征对于小目标检测存在较大的局限性。基于卷积神经网络的目标检测算法总体上可以分为两阶段和单阶段检测算法。两阶段检测算法如Faster R-CNN(faster region-based convolutional neural network)(Ren等,2015)和Cascade R-CNN(Cai和Vasconcelos,2018)等,通过区域提议网络选取生成候选区域,再对其进行分类和回归得到检测结果,但是在小目标的检测上仍存在准确率较低的问题。单阶段检测算法如SSD(single shot multibox detection)(Liu等,2016)和YOLO(you only look once)(Redmon等,2016)等,能够直接对目标进行定位,输出目标的类别检测信息,在一定程度上提升了目标检测的速度。小目标检测作为目标检测的难点和热点,有着更加重要的应用价值。在医学影像学中,成功检测出早期微小的病灶和肿块,对之后诊断和治疗肿瘤有着至关重要的作用;在自动工业检查中,通过小目标检测来定位材料表面上的小缺陷(Ng,2006),防止意外的发生。因此,小目标检测也是计算机视觉中不可或缺且具有挑战性的问题。对小目标的定义通常分为两种。其一,若目标的尺寸低于原图像尺寸的 0.1 倍,就认为是相对小目标 (刘颖 等,2020);其二,在MS-COCO(Microsoft common objects in context)数据集中,若目标的尺寸小于32 × 32像素,就认为是绝对小目标。尽管目标检测算法已经取得了重大突破,但是现阶段小目标检测的研究还具有很大挑战,主要有以下几个问题:1)小目标可视化特征不明显,可利用信息较少。若图像本身的分辨率比较低(Wang和He,2019),将难以精准地检测出小目标。2)特征提取问题。在目标检测中,特征提取的好坏直接影响最终的检测效果,与大尺度目标相比,小目标的特征更难提取;在检测模型中,经过池化后小目标的某些特性会被删除,给检测带来一定的挑战。3)背景干扰问题。复杂环境下的小目标检测会受到光照、复杂地理元素、遮挡和聚集等因素的干扰,难以将它们与背景或相似的目标进行区分。因此,如何有效地改善复杂背景干扰也是小目标检测面临的问题。4)小目标数据集短缺。目前,主流的目标数据集,例如 PASCAL VOC(pattern analysis, statistical modeling and computational learning — visual object classes)和MS-COCO 中大多都是通常尺度的目标,其中小尺度目标的占比不足并且分布不均匀。而DOTA(dataset for object detection in aerial images)(Xia等,2018)遥感目标检测数据集和 FDDB(face detection data set and benchmark)(Jain和Learned-Miller,2010)人脸检测数据集等,都是针对特定场景或任务的,不具备小目标检测的通用性。5)网络模型对小目标的泛化能力弱。由于大部分检测模型在预训练过程中通常使用目标尺度相对较大的分类数据集,所以学习后的网络模型对小目标的泛化能力较弱。目前,视觉的小目标检测在生活的各个领域中日益重要。为了进一步促进小目标检测的发展,针对小目标检测存在的难点和问题,本文综述了国内外有关小目标检测的研究现状及成果,归纳分析了常用的小目标数据集,从数据增强、超分辨率、多尺度特征融合、上下文语义信息、锚框机制、注意力机制以及特定的检测场景等方面系统总结了小目标检测方法,并对未来小目标检测的研究方向进行了分析与展望。1 小目标检测方法针对小目标检测存在的难点,现有小目标检测方法都是基于主流的目标检测网络模型改进的,如表1所示,按照方法的类型可分为如下几种:解决小目标数据量短缺且分布不均匀的数据增强方法、解决单个特征层对小目标的表征能力不强的多尺度融合方法、针对小目标的可视化特征弱的超分辨率方法、解决小目标携带的特征信息有限的上下文信息学习方法、针对先验的锚框尺寸对小目标适应性弱问题的锚框机制策略,解决小目标缺乏鉴别性特征的注意力机制方法以及基于特定场景的小目标检测方法等。图1展示了近年来小目标检测的研究历程,其中,标星的为关键性的小目标检测方法,包括FPN(feature pyramid network)、PANet(path aggregation network)、SNIPER(scale normalization for image pyramid with efficient resampling)、RetinaNet(residual network)、TridenNet(trident networks)等。10.11834/jig.220455.T001表1小目标检测研究方向总结Table 1Summary of research direction of small object detection研究方向代表算法解决问题不足数据增强Small Object Augmentation(Kisanta 等,2019)SAN(Lin 等,2019)Scale Match(Yu 等,2020)Stitcher(Chen 等,2020)Mosaic(Bochkovskiy 等,2020)Learning Data-AugmentationStrategies (Zoph 等,2020)通过对数据图像中的小目标进行复制、粘贴或通过一定的尺度匹配策略添加额外的图像数据等,在一定程度上有助于提高模型的鲁棒性,解决了小目标可视化特征不明显、目标信息少等问题,也在最终的检测性能上取得了较好的效果。在实际应用中,数据增强策略可能由于设计不当,会引入新的噪声,损害特征提取的性能,也给算法的设计带来一定的挑战。多尺度特征融合RetinaNet(Lin 等,2017)FPN(Lin 等,2017)PANet(Liu 等,2018)SNIP(Singh和Davis,2018)SNIPER(Singh 等,2018)TridenNet(Lin 等,2019)Libra R-CNN(Pang 等,2019)AugFPN(Guo 等,2020)利用网络底层高分辨率和高层强特征语义信息,使小目标检测精度得到一定的提升。在多尺度特征融合过程中,可能存在语义间隔和噪声问题,在一定程度上导致基于多尺度融合的小目标检测方法在性能上难以得到进一步提升。超分辨率DCGAN(Radford等,2016)Perceptual GAN(Li等,2017)DeNet(Li 等,2018)MTGAN(Bai 等,2018)解决了小目标分辨率低的问题,通过特征映射,学习小目标的高分辨率特征表示等方法,缩小了小尺度目标与大尺度目标间的特征差异,提高小目标的检测准确率。生成对抗网络模型难以训练且不稳定,主要原因在于生成器和鉴别器难以平衡。上下文信息学习CoupleNet(Zhu 等,2017)DANet(Fu 等,2019)DetectoRS(Qiao 等,2021)利用被检测目标与其周围物体及环境存在一定联系,通过丰富图像中目标特征信息的表达,改善小目标的检测效果。小目标自身像素少,目标之间及目标与周围环境之间关联性较弱,给上下文学习带来一定困难。锚框机制S3FD(Zhang 等,2017)FSAF(Zhu 等,2019)ATSS(Zhang 等,2020)FBR-Net(Fu 等,2021)Yolov5(Glenn 等,2021)Yolox(Ge 等,2021)解决锚框设计对于小尺度目标适应度不强以及使用锚框会引入大量的参数量和计算量的问题。通过合理的无锚策略以及有、无锚框相结合的方法,设计出有利于小目标检测的方法,在一定程度上提高了检测精度。无锚机制虽然在一定程度上减轻了模型的计算量,提高了小目标的检测精度,但可能会造成正负样本不平衡、语义模糊,导致检测结果不够稳定。注意力机制Attention-Yolo(徐诚极 等,2019)Yolo-CAN(Li 等,2020)FA-SSD(Lim 等,2021)MSFAN(张陶宁 等,2021)合理分配使用的资源,针对复杂场景小目标易受光照、地理元素等背景干扰问题,快速找到感兴趣区域从而忽略困扰信息,帮助模型获取特征图的全局空间信息,更加丰富特征图上下文语义信息。在深度学习任务中,一般对注意力模块多次调用,会增加网络模型的计算代价,并影响模型对目标特征的提取。10.11834/jig.220455.F001图1小目标检测的研究历程Fig.1Research history of small object detection1.1 基于数据增强的小目标检测数据增强是针对通用小目标的数据集少、公共数据集包含小目标的数量少以及图像中小目标覆盖区域分布不均匀等问题提出的一种方法。早期的数据增强策略是通过对目标实例进行变形(Simard等,2003)、旋转、缩放(Yaeger等,1996)、裁剪(Krizhevsky等,2012)和平移(Wan等,2013)等方式增加目标的训练数量,提高了目标检测的性能。除了上述几种没有改变图像本身,而是对图像的部分像素进行重分布的几何操作之外,通过颜色变换也可以对目标进行数据增强。在数据集COCO中,只有52.3%的图像中包含小目标,但其在图像上的分布不均匀,会使得训练中遇到样本不平衡的问题。因此,对小目标的监测信号不足,严重损害了小目标检测的精度,甚至整体的性能。Kisanta等人(2019)通过过采样和增强(oversampling and augmentation)的方法,将小目标的识别精度和分割精度分别提高了7.1%和 9.7%。在实验中,对含有小目标的图像进行过采样,在此基础上,再将小目标缩放、旋转,并将目标粘贴—复制到图像中的任意位置,对数据进行增强,以解决包含小目标图像相对少的问题。同时,提出了3种复制—粘贴策略,分别为复制粘贴单个小目标、多个小目标和全部小目标。通过实验对比,若只复制单个小目标,虽然会提高检测小尺度的目标的精度,但会对大尺度的目标产生不好的影响,通过实验验证,将每个小目标进行复制粘贴的效果最好。图2为通过复制粘贴进行小目标数据增强的例子。10.11834/jig.220455.F002图2通过复制—粘贴策略进行小目标数据增强(Kisanta等,2019)Fig.2Small object data augmentation via copy-pasting (Kisanta et al.,2019)Yu等人(2020)引入一个新的基准,称为微小人物(tiny person)。在实验过程中,Yu等人(2020)发现造成特征表达和检测器恶化的一个主要原因可能是网络预训练与检测器学习的数据集之间的尺度不匹配,因此在数据增强方面,提出一种对齐两个数据集间目标尺度的尺度匹配方法Scale Match,有利于对小目标的检测。图3为尺度匹配的框架,该方法提高了最先进的检测器 FPN 的检测性能,检测幅度显著增益了5%,同时提出了数据集Tiny Person。10.11834/jig.220455.F003图3检测的尺度匹配的框架(Yu等,2020)Fig.3Detected scale matching framework(Yu et al.,2020)在很多图像数据中,小尺度目标物体可能因为拍摄角度、环境的问题而模糊,但如果将图像尺寸调小,图像中的大目标和中目标会保持原本清晰的轮廓和细节信息。Chen等人(2020)通过这一现象提出了一种反馈驱动的数据提供者Stitcher。如图 4所示,Stitcher将具有相同尺度的图像进行拼接而产生新的数据图像作为训练,核心思想是利用当前迭代中的损失统计数据作为反馈,以自适应地确定下一次迭代的输入选择。但目前Stitcher还不是一个通用的配置,因此,将拼接图像调节为一个最优的比例还是相对困难的。10.11834/jig.220455.F004图4拼接图像(Chen等,2020)Fig.4Stitcher image(Chen et al.,2020)((a) regular images; (b) stitch in spatial dimension; (c) stitch in batch dimension)在YOLOv4(Bochkovskiy等,2020)中提出了Mosaic数据增强方法,为丰富数据集且增加更多的小目标,该方法每次读取4幅不同的图像,对其采用翻转、缩放和裁剪等方式进行随机拼接。由于Mosaic方法直接计算4幅图像数据,因此减少了图形处理单元(graphics processing unit,GPU)的计算,但该方法也有一些缺点,若原本的数据集本身就含有较多的小目标,使用该方法会使得图像中小目标尺寸更小,导致模型的泛化能力变差。Lin等人(2019)提出一种新的尺度感知模块(scale-aware network for semantic segmentation of high-resolution aerial images,SAN),目的是为了解决遥感影像中遥感图像上目标尺度不连续性的问题。该方法能够进行端到端的训练,通过学习二维重采样图来扩展采样空间,实现了一种自适应重采样的数据增强策略。SAN不仅具有适应不同尺度目标物体位置的能力,而且具有调整不同测试图像数据的适应能力。数据增强虽已被证明可以显著改善图像分类的问题,但在目标检测模型上改进还是有限的。Zoph等人(2020)设计出一种自搜索学习的数据增强策略,通过结合特定边界框标注的新操作,优化目标检测问题,以解决离散优化问题的思想来处理数据增强搜索,主要过程如下:1)定义K个子增强策略作为无序集;2)在训练过程中随机选择K个策略;3)在当前图像中构成一个搜索空间;4)使用强化学习的方法选择最佳的数据增强策略,改善小目标检测的性能。1.2 基于多尺度融合的小目标检测识别不同尺度的目标物体是计算机视觉中的一个基本挑战。由于小尺度目标的特征信息量较少,所以更需要充分利用图像中的细节信息。在现有通用目标检测的CNN模型中,多尺度检测可利用低级的特征层帮助模型获取准确的定位信息以及具有鉴别性的特征信息,有助于小目标的检测与识别。Zhang等人(2016)提出MTCNN(multi-task convolut-ional neural network)算法,在将图像送入网络训练之前,利用多尺度检测的思想,通过将输入图像缩放至不同尺度来增强网络对不同大小人脸检测的鲁棒性,进一步提高了针对小脸检测的准确率。Lin等人(2017)提出RetinaNet目标检测算法,同样借鉴多尺度目标检测的思想,使用ResNet(residual network)作为骨干网络提取图像特征信息,同时针对模型训练过程出现的正负样本类不平衡问题,采用重塑损失函数来解决,在提升网络检测速度的基础上,也提高了对小目标检测的效果。Lin等人(2017)提出特征金字塔网络(feature pyramid networks,FPN),网络框架如图5所示。首先自底而上生成多尺度的特征图,为了将低分辨率强语义特征与高分辨率弱语义弱特征相结合,增强特征图的信息,采用自顶向下的路径和横向连接方式。该结构在增加极小计算量的情况下,可以充分利用每个不同尺度特征图的语义信息,对于小目标检测具有一定的帮助。Faster R-CNN 使用 FPN后,在COCO数据集上的精度提升2.3%。10.11834/jig.220455.F005图5FPN模型Fig.5FPN modelLiu等人(2018)基于FPN提出了PANet(path aggregation network for instance segmentation)网络,不仅在实例分割上取得很好的成果,对于小目标检测也有一定的提高。如图6所示,在FPN中,浅层特征经过自底而上的多层传递之后,特征信息的丢失较为严重。因此, PANet添加了一个自底而上的路径增强结构,可以更好地保存浅层的特征信息,如图6(b)所示。同时,创建了自适应特征池化层,如图6(c)所示,聚合每个特征图上的候选区域,进一步进行特征融合,最后使用一个全连接层捕获每个候选区域的不同视图,达到更好的预测效果。随后,Liu等人(2019)提出一种自适应空间特征融合方法(adaptively spatial feature fusion,ASFF),可以有效解决特征金字塔中由于同时存在不同尺度大小的特征图导致的特征不一致问题。该算法关键的思想是自适应地学习每个比例尺度上特征图的融合空间权重。该方法在增加极小计算量的情况下,在所有的单阶检测器上提高了速度与精度。10.11834/jig.220455.F006图6PANet网络模型(Liu等,2018)Fig.6PANet network model(Liu et al.,2018)FPN和PANet通过自底而上的路径增强和横向连接实现了特征融合,表明高层信息和底层信息对目标检测是互补的。但在特征融合中,它们更关注相邻特征分辨率,从而使非相邻特征层中包含的语义信息在每次融合时都受到稀释。为了减轻由此造成的不利影响,Pang等人(2019)提出Libra R-CNN,网络结构如图7所示。通过重新调整、集成、精炼和加强,获得平衡的语义特征信息。首先将多尺度特征的{C2, C3, C4, C5}都调整为与C4相同的中等大小,对重新缩放后的特征进行简单的均值操作,集成得到平衡的语义特征中,再对其进行增强,输出预测特征层{P2, P3, P4, P5}。丰富的特征层语义信息对小目标检测更加有效。Guo等人(2020)针对 FPN存在的缺陷,提出了AugFPN(augmentation feature pyramid network)特征金字塔算法来增强FPN。该算法提出一致监督,通过对多重监督信号执行相同的监督信号来缩小特征融合前不同尺度特征间的语义差异。在特征融合的过程中,为了最大程度减少最高金字塔级中特征图的信息损失,会利用残差特征增强法提取稳定比值的上下文语义信息。通过实验验证,在Faster R-CNN网络中采用AugFPN,相比于FPN,模型的平均精度提高了 2.3%。10.11834/jig.220455.F007图7Libra R-CNN网络模型(Pang等,2019)Fig.7Libra R-CNN network model(Pang et al.,2019)Fu等人(2017)提出(deconvolutional single shot detector,DSSD)算法将SSD算法中的骨干网络替换为ResNet-101,并且在ResNet-101基础上额外添加了一个反卷积层。通过验证,所替换骨干特征提取网络相比于原本的VGG-16(Visual Geometry Group 16-layer network)更有利于提取特征语义信息。同时,为提高特征图层的分辨率,在DSSD算法的预测层之前引入了残差模块,在保持与其他目标检测模型速度相当的同时,提高了对小目标检测的效果。Singh和Davis(2018)通过不同的实验提出方案SNIP(scale normalization for image pyramid)。在实验中对原始数据图像进行卷积下采样,获得不同分辨率的特征图像,然后将得到图像上采样至 224 × 224像素进行训练,验证了下采样提高小目标的检测效果。SNIP的主要思路是在训练和反向传播中将指定尺度范围中的训练数据对应的RoI(region of interest pooling)的梯度进行回传,采用多尺度训练的思想提高检测小目标的精度。SNIP算法在提高模型检测效果的同时,也增加了计算量。因此,Singh等人(2018)针对SNIP算法进行改进,提出SNIPER(effificient multi-scale training)算法,不再使模型处理输入的不同尺度图像上的每个像素,而是选择适当的比例目标周围的上下文区域进行训练。为了保持图像金字塔的精度和速度,同时提高不同尺度下特征的一致性,Li等人(2019b)利用感受野来提升网络对不同尺度大小目标的检测效果。通过对比实验,验证感受野大小与检测效果之间的联系,证明大感受野对大尺度目标的检测效果更好,小感受野的检测效果则与其相反。TridentNet(trident network)算法将原本的特征网络改为3个并行支路,并且膨胀参数不同的网络结构。如图8所示,此结构可以为网络提供更多的感受野,适应于多尺度的目标检测。10.11834/jig.220455.F008图8TridentNet模型(Li等,2019b)Fig.8TridentNet model(Li et al.,2019b)1.3 基于高分辨率的小目标检测虽然 CNN模型在目标检测方面取得成功,但由于小目标特征图上的信息较少,小感兴趣区域 RoI包含的信息有限和扭曲,仍然很难检测到小目标。Radford等人(2016)提出DCGAN(deep convolutional generative adversarial network)算法,将神经网络应用到GAN中,生成高分辨率图像作为网络模型的输入,在计算机视觉很多任务中得到广泛应用。Haris等人(2021)提出一种端到端训练的超分辨方法,基于Faster R-CNN网络对分辨率低的区域进行超分辨率的处理,提升了对小目标检测的性能。Li等人(2018)基于图像分类和目标检测间的差异性,提出了一种针对目标检测的新型网络算法DetNet(backbone network for object detection),在保证高效执行目标检测任务的同时,可以进一步提高在小目标方面的检测性。Li等人(2017)提出感知生成对抗网络模型 Perceptual GAN。如图9所示,该模型的目的是充分在网络学习的过程中利用不同尺度目标之间的结构相关性,模型包含生成器和判别器两个部分,通过减少大、小目标间的差异性来改进对小目标检测的性能。为了将小目标的特征表达增强为高分辨率表达,生成器中设计了深度残余学习网络,以弥补小目标缺失的细粒度细节。判别器对生成的细粒度细节的质量和优势提供意见。与普通的GAN不同,Perceptual GAN包括一个为检测目标所制定的新的感知损失loss,通过训练,迭代地提高生成器网络和判别器网络的能力,可以提高对小目标的检测性能。10.11834/jig.220455.F009图9Perceptual GAN模型结构(Li等,2017)Fig.9Perceptual GAN model structure(Li et al.,2017)((a) generator network; (b) discriminator network)Noh等人(2019)提出新的特征超级分辨率方法,利用超分辨率(super-resolution,SR)技术来增强小RoI的特性,用适当高分辨率目标特征作为SR模型训练的监督信号,采用空洞卷积来匹配高低分辨率特征图的感受域。从实验来看,该方法可以有效增强小目标检测,但不能自适应地选择超分辨率比,需要根据RoI特性进行手动调节,难以找到最优的分辨率。Bai等人(2018)提出一种多任务生成对抗网络(multi-task generative adversarial network,MTGAN),该算法生成超分辨图像,进一步帮助网络模型获取更多的小目标细节信息,同时在模型中引入多任务判别器网络,提高了小目标分类和定位的准确率。1.4 基于上下文信息学习的小目标检测目标物体在自然场景下并不是单独存在的,与周围存在某种联系,若将单独像素或小目标融入到周围的上下文信息,物体与物体之间的联系可以丰富图像中特征信息的表达,从而有利于小目标的检测。上下文信息在人脸检测过程中也扮演了重要的角色。为解决由于人脸目标尺度小、图像模糊、目标遮挡的问题,Tang等人(2018)提出一种基于先验框的上下文辅助方法,通过一个半监督的方法来监督学习高级上下文特征信息。为更准确地学习目标位置及其类别,引入了一个由混合网络结构和最大输入层组成的上下文敏感预测模块。同时,提出一个训练策略来改善训练样本的分布,使网络模型更加关注较小的人脸。Chen和Gupta (2017)也是通过有效利用上下文信息解决目标检测的问题,提出两种上下文信息,分别为图像级别的上下文信息和目标级别的上下文信息。前一种通过目标与整体图像之间的联系,可以提示图像该包含怎样的目标;后一种则是通过目标与目标之间的联系来改善目标检测的性能。实验表明,该方法在COCO数据集上对于小目标的平均召回率提升了0.7%。Chen等人(2016)使用上下文模型和小区域建议生成器改进了R-CNN算法。首先为小目标检测问题设计一个基本数据集,再修改 RPN的先验框尺度来提取候选框,最后通过上下文信息的结合构成Context-AlexNet网络,相比于原本的AlexNet网络检测小目标的效果更好。同样,Cai等人(2016)提出了一种多尺度候选区域提取网络,通过在网络中引入上下文区域信息,使其更加适应并学习到不同尺度特征的信息,提高了模型对小目标的检测准确性。Zhu等人(2017)提出一种新的全卷积网络CoupleNet(coupling global structure network)。如图10所示,该网络包括Local FCN(local fully convolutional network)提取局部信息和Global FCN提取全局信息两个不同的分支,最后融合全局信息、局部信息以及上下文信息用于目标检测,改善对小目标的检测性能。10.11834/jig.220455.F010图10CoupleNet模型结构(Zhu等,2017)Fig.10CoupleNet Model Structure(Zhu et al.,2017)1.5 基于锚框机制的小目标检测随着基于深度学习的目标检测算法的出现,锚框机制在目标检测算法中扮演着越来越重要的角色。锚框最早应用于Faster R-CNN算法中,解决了滑动窗口存在效率低的问题,但锚框机制设计对于小目标检测并不友好。由于先验锚框对不同大小尺度目标的适应度不强,从而导致模型对大目标和小目标的检测不平衡,同时使用锚框也会引入大量的参数量和计算量,因此如何设计合理的锚框机制方法来提高检测小目标的性能成为当前的研究热点。Zhu等人(2018)发现难以检测到小尺寸的人脸的主要原因是因为小尺寸的人脸与锚框的平均IoU(intersection over union)值过低,因此提出了4种新的 Anchor生成策略,增多与小目标对应的目标真实框所匹配的锚框数量,改善对小尺度人脸目标检测性能差的问题。为实现更先进的实时性人脸检测的检测器模型,Zhang等人(2017)提出一种基于单阶段尺度不变的人脸检测器(single shot scale-invariant face detector,S3FD),在检测小尺度人脸方面表现较为出色。在基于锚框机制的检测器随着目标物体尺度变小而效果急剧下降的问题上,通过对不同尺度的特征层设置不同的锚框,以确保所有尺度的人脸都有足够的特征进行检测。并且在S3FD方法中,通过最大输出背景标签来降低小尺度人脸检测的假阳性率,改善最终的检测性能。Zhu等人(2019)提出一种基于Anchar-free机制的特征选择模块(feature selective anchor-free module,FSAF),如图11所示。在此模块中,解决传统的基于 Anchar-free 机制检测所带来的限制。FSAF模块以RetinaNet为基础,在网络每层特征图的头部引入两个额外卷积层,分别负责Anchar-free 机制的分类和回归预测。FSAF模块使每一个实例自动选择最适合的特征,Anchor大小成为一个无关变量,实现模型的自动化学习选择特征。从视觉效果上,很大程度地提升了小目标的检测效果。Zhang等人(2020)为解决由于正负样本的选取方式的不同而造成 Anchar-based和Anchar-free之间性能的差异,提出了一种自适应训练样本选择策略(adaptive training sample selective,ATSS),可以通过统计目标的特征信息来自动选择正负样本,弥补有锚与无锚机制之间的性能差异。10.11834/jig.220455.F011图11FSAF 模块结构图(Zhu等,2019)Fig.11FSAF module structure diagram(Zhu et al.,2019)Fu等人(2021)为解决复杂背景中小型船舶难以检测的问题,提出了一种特征平衡与细化网络的目标检测算法(feature balancing and refinement network,FBR-Net)。首先,通过采用一般的Anchor- free机制策略,直接学习编码的边界框,消除Anchor对检测性能的负面影响。其次,提出的平衡金字塔可以为检测器在复杂场景中提供注意力导向,使模型获得更多关于小型船舶的特征信息,同时在语义上平衡不同层次的多个特征。Yan等人(2021)为解决基于Anchor-free机制的遥感影像上多尺度目标检测,提出一种基于特殊注意力机制的特征金字塔网络,能够基于各种大小尺度的目标的特征来生成特征金字塔,显著提高了遥感图像中小目标的检测精度。Glenn等人(2020)提出YOLOv5算法,与YOLOv4不同,YOLOv5算法包含了4个模型,根据模型深度和特征图宽由小到大依次是YOLO5s、YOLOv5m、YOLOv5l和YOLOv5x。该算法采用自适应的锚框机制来进行计算,可以对图像自适应地缩放,网络使用Focus+CSPDarknet53(cross stage partial network 53)的结构作为主干特征提取网络,同时改进了训练时的损失函数以及筛选预测框,提高了对遮挡、重叠和小尺度目标的检测效果。Ge等人(2021)在YOLOv3的基础上提出一个新的高性能检测器YOLOX,包含YOLOX-s、YOLOX-m、YOLOX-l和YOLOX-x等4个模型。如图12所示,YOLOX采用无锚的方式,降低模型计算量,缓解了正负样本不平衡的问题。同时在YOLOX算法中使用分离分类和定位操作的解耦头部方法,将YOLOv3中YOLO Head 修改为Decoupled Head,加快了网络的收敛速度。同时,引入了高级标签分配策略(simplified OTA,SimOTA),获取每个真实框拥有的正样本个数,以获得全局信息下的最优样本匹配策略。YOLOX算法在小目标检测的速度和精度上都提供了更好的性能。10.11834/jig.220455.F012图12YOLOX 的网络结构(Ge等,2021)Fig.12Network structure of YOLOX (Ge et al.,2021)1.6 基于注意力机制的小目标检测对小目标检测来说,其本身特征较少,在网络训练中难以提取有利的语义特征信息,并且经过多次降采样和池化操作,小目标相当多的特征信息会被删除掉,导致模型难以精确定位和识别小目标。所以,需要在不增加模型复杂程度下,对小目标的特征信息进行增强。通过在网络中集成注意力机制可以帮助模型关注更重要的区域,然后为其分配合适的权重。徐诚极等人(2019)提出Attention-YOLO(YOLO detection algorithm that introduces attention mechanism)算法,解决了YOLOv3中边界框定位不准确、难以区分检测重叠目标物体等问题。首先对网络中的残差连接进行替换,增强网络的定位和分类能力,然后采用通道注意力模块直接连接空间注意力的方式引入注意力机制,并在残差过程中加入二阶项,提高了网络的泛化能力。Li等人(2020)提出一种新型的单阶段高效检测器(focusing on small target and occluded object detection,YOLO-CAN),同样在每个残差模块的通道和空间维度加入注意力机制,通过添加CIoU(complete-IoU)损失函数和Soft-NMS(soft-non-maximum suppression)非极大值抑制更加精确边界框的回归,进一步提高对小目标和遮挡目标的检测准确性。Lim等人(2021)提出FA-SSD(combining feature fusion and attention in SSD)方法,网络结构如图13所示。该方法基于SSD算法将多尺度特征进行连接,在引入注意力机制的同时,使用不同层的附加特征信息作为上下文,提高了小目标的检测精度。10.11834/jig.220455.F013图13FA-SSD的网络结构(Lim等,2021)Fig.13The network structure of FA-SSD(Lim et al.,2021)麻森权和周克(2020)在SSD模型中引入注意力机制,目的是在特征融合的过程中可以通过抑制无关信息来提高模型小目标检测的精度。张陶宁等人(2021)为解决轻量化目标检测器在小目标上检测精度较低的问题,提出一种多尺度特征融合注意力网络(multi-scale feature-fusion attention network,MSFAN),设计的FA-Block(feature-fusion attention block)特征融合注意力模块不仅帮助模型获取了特征图的全局空间信息,而且更加丰富了特征图中上下文语义信息,提升了MobileNet-YOLOv3对小目标检测的准确率。1.7 基于特定场景的小目标检测人脸识别、智慧交通和工业检测都是计算机视觉的重要应用领域,本文从应用场景的角度介绍几种主要针对于小目标检测的方法。交通标志检测是无人驾驶系统中的一项具有挑战性的任务,一般都会采用特征金字塔来解决这一问题,但在实际应用中,不仅难以保证检测的实时性,还可能打破不同尺度的交通标志的特征一致性。Wang等人(2023)提出一种改进的特征金字塔模型 AF-FPN(adaptive attention module and feature enhancement module-FPN),可以很大程度上在特征传递过程中保留特征图中的信道信息,提高特征金字塔的表示能力。如图14所示,用AF-FPN替换YOLOv5中原始的特征金字塔网络,该模型利用自适应注意模块(adaptive attention module,AAM)和特征增强模块(feature enhancement module,FEM),在保证实时检测的前提下,提高了对YOLOv5网络多尺度目标的检测性能。在此基础上,还提出一种新的自动学习数据增强策略,不仅丰富了数据集,而且提高了模型的鲁棒性。为验证改进的网络模型可以部署在车辆的移动终端上,在TT100K(Tsinghua-Tencent100K)数据集上进行大量实验验证。结果表明,该模型在不受尺度不变性的影响下,可实时检测和识别小尺度的交通标志。10.11834/jig.220455.F014图14AF-FPN 结构图(Wang等,2023)Fig.14AF-FPN structure diagram(Wang et al.,2023)基于远程目标的检测监控应用也是一项重要挑战。Akyon等人(2022)为解决高端无人机和监控摄像头拍摄的图像进行小目标检测任务的精度明显偏低问题,提出了一个在微调和推理阶段基于切片SAHI(slicing aided hyper inference)的通用框架,该框架可应用在任何可用的目标检测器上,可进行高分辨率图像上的小目标检测。如图15所示,该方法从图像微调数据集中提取patch来增强数据集,在微调的过程中采用保留高宽比的方式来调整patch的大小,对小目标相对于输入网络的图像产生相对较大的像素区域。同理,在推理过程中使用切片方法,将原始查询图像I分割为M × N个重叠的patch,并对每个重叠的patch都独立地应用目标检测正向传递。实验结果表明,该框架在很多检测器上针对小目标有很好的检测效果。10.11834/jig.220455.F015图15切片辅助微调和切片辅助超推理结构图(Akyon等,2022)Fig.15Slice-assisted fine-tuning and slice-assisted hyper-inference architecture diagrams(Akyon et al.,2022)很多目标检测方法被部署在自动驾驶等实际应用中,但高质量图像训练的一般目标检测模型从恶劣天气条件下捕获的低质量图像中定位目标往往无法获得令人满意的结果。为缓解这一问题,Liu等人(2021)通过删除特定天气信息并揭示更多潜在信息,提出一种新的图像自适应IA-YOLO(image-adaptive YOLO)框架,该框架包含一个可微分图像处理DIP(digital image processing)模块来考虑YOLO检测器的不利天气条件,并且以端到端方式联合学习CNN-PP(CNN-based parameter predictor)和YOLOv3,确保 CNN-PP可以学习适当的DIP,以弱监督的方式增强图像检测。改进的网络模型中,每幅图像都可以自适应地增强,从而进一步提高检测精度。Zhao等人(2022)针对森林火灾问题,提出了Fire-YOLO算法。由于森林火灾图像中包括较小尺度的目标、类似火目标、类似烟雾目标等,同时在一定程度上也会受到自然光线的影响。因此,该方法分别从深度、宽度以及分辨率3个维度对特征提取网络进行扩展,并采用特征金字塔,进一步增强网络模型对小目标特征的学习能力。实验表明,Fire-YOLO算法在保证检测速度的情况下,在复杂的森林火灾图像中有效处理了小尺度火源目标以及类火、类雾等目标。空中图像越来越多地用于一些关键任务,例如交通监测、灾害援助等。然而,从航空图像中识别物体往往面临目标物体相对于数据集图像过小、过密集以及每个类别的物体数量不太平衡的问题。在无人机系统协会国际学生无人机系统竞赛(student unmanned aerial systems competition,AUVSISUAS)计算机视觉任务中,Ptak等人(2020)开发出一种针对无人机拍摄的航拍照片的标签检测系统。该方法基于YOLO算法检测目标,K-means聚类从背景中分割标签并基于CNN的字母数字符号分类,可以将标签定位与GPS(global positioning system)联系起来,获取物体类型、方向和颜色、字母数字符号及其颜色,取得了令人满意的结果。同样,Tang等人(2020)提出一种新的点估计网络结构PENet(towards precise and efficient image guided depth completion),该网络模型使用一个掩膜重采样模块MRM(multiple reaction monitoring)来增强不平衡的数据集,然后采用一个粗的无锚检测器CPEN(corner proposal network for anchor-free)来预测小目标的中心点和一个精细的无锚检测器FPEN(fusion network for anchor-free)来定位小目标的精确位置,并在FPEN中定义了层次损失,实现更高的精度。除了以上的方法, Zhu等人(2021)通过在YOLOv5模型上添加一个预测头来检测不同尺度的目标物体,并将原预测头替换为变压器预测头TPH(Transformer prediction heads),提出了TPH-YOLOv5,其网络结构如图16所示。此外,还在模型中使用了一些有用的策略,如数据增强、多尺度测试、额外的分类器以及整合卷积块注意模型CBAM(convolutional block attention module)来寻找含有密集目标的场景中的注意力区域,通过在VisDrone2021数据集上测试,TPH-YOLOv5在无人机捕获的场景上具有良好的性能。10.11834/jig.220455.F016图16TPH-YOLOv5 的网络结构图(Zhu等,2021)Fig.16Network structure diagram of TPH-YOLOv5(Zhu et al.,2021)随着自动驾驶赛车越来越受欢迎,能够从高分辨率图像和有限资源限制下检测较小的目标成为一项具有挑战性的任务。Benjumea等人(2021)在流行的YOLOv5目标检测器上进行改进,主要思想是通过替换网络模型中的某些结构元素来影响其性能和推理时间,如在Neck部分将Pan-Net简化为一个FPN,并将其替换为biFPN,该模型称为YOLO-Z。经在自动赛车场景中验证,该方法可以扩展自动驾驶汽车的检测范围和感知鲁棒性,从而能够提高检测小物体的能力,使自动驾驶赛车具有显著的优势。1.8 其他改进的方法除了前面几种基于不同策略的小目标检测方法外,还有一些优秀的小目标检测方法。在基于深度学习的目标检测算法中,单阶段的目标检测算法相比较两阶段的检测算法,其结构更加简单,达到了端到端的目标检测效果,在计算高效的情况下,也提高了目标检测的准确率。其中,做为单阶段目标检测算法代表的SSD和YOLO系列,其算法在框架结构、损失函数以及预测和匹配机制等方面都已经发展的较为成熟。因此,大量研究人员基于SSD和YOLO进行了更加深入的研究。近几年基于SSD和YOLO系列算法改进的小目标检测方法总结如表2和表3所示。10.11834/jig.220455.T002表2基于SSD算法的小目标检测方法总结Table 2Summary of small object detection methods based on SSD algorithm年份文献方法介绍2020复杂背景下的小目标检测算法(郑浦 等,2020)在SSD算法基础上,借鉴特征金字塔思想,通过融合网络中的特征层,对训练数据进行一定的增强处理,改善了网络的泛化能力,适用于复杂场景的小目标检测。2021基于改进SSD算法的道路小目标检测研究(邹慧海和侯进,2021)将原SSD的主干网络VGGNet16替换为ResNet50,提升整体网络精度,利用特征金字塔的思想融合深、浅不同层的特征信息,提高了小目标检测性能。2022融合注意力机制的深层次小目标检测算法(赵鹏飞 等,2022)使用Darknet-53网络替换SSD算法中原本的骨干特征提取网络,解决小目标在VGG-16网络中提取特征存在的丢失问题,引入注意力机制,提高模型对小目标的关注。2022基于改进卷积注意力模块与残差结构的SSD网络(Zhang等,2022)提出一种特征提取网络Res-Am-CNN,改进注意力模块和残差块,在原SSD的金字塔结构中引入上采样加法融合,增强浅层特征的表征能力,对提高小目标精度具有一定的应用价值。2022注意力机制改进轻量SSD模型的海面小目标检测(贾可心 等,2022)针对海面上的小目标检测问题,提出一种改进的SSD目标检测模型,采用Xception骨干网络提取特征,在特征提取网络中加入轻量级注意力机制,在保证网络轻量化的同时,降低了海面小目标检测的漏检率。10.11834/jig.220455.T003表3基于YOLO算法的小目标检测方法总结Table 3Summary of small object detection methods based on YOLO algorithm年份文献方法介绍2021改进YOLOv3的道路小目标检测方法(罗建华 等,2022)提出一种改进YOLOv3的方法,使用K-means++算法对目标的边框维度聚类,设计新的特征融合结构,使用DIOU损失来提高定位精准度和小目标漏检率。2021基于改进YOLOv4的小目标检测方法(Cheng等,2014)提出一种自适应先验框的方法,采用多尺度检测网络,对主干特征提取网络进行改进,使用可分离卷积模块。2021基于改进YOLOv4的车型检测算法研究(於积荣 等,2022)提出一种针对车型检测任务的方法,将YOLOv4中的主干特征提取网络替换为CBAM-DenseNet-BC,提高网络对车型鉴别性特征信息的提取能力,提出SPPNet增大网络感受野改善对小目标的检测性能,有效提高了网络的检测准确率。2021嵌入scSE模块的改进 YOLOv4小目标检测算法(蒋镕圻 等,2021)给网络模型嵌入scSE注意力模块,在YOLOv4网络的Neck部分加入SPPNet,显著提升了小目标检测的精度。2021基于改进YOLOv5的小目标检测算法研究(李成,2021)在YOLOv5网络中嵌入SE模块和CBAM模块,提高小目标检测的精度。2022基于上下文增强和特征提纯的小目标检测网络(肖进胜 等,2023)基于YOLOv3算法提出一种特征金字塔复合结构,为增强网络中的上下文信息,利用不同空洞卷积进行特征融合,解决了小目标特征提取困难的问题。采用特征提纯机制来抑制冲突信息,提高了小目标特征的鉴别性,有利于小目标的检测。2022一种融合注意力机制与上下文信息的交通标志检测方法(王林和张文卓,2022)为了解决交通标志检测中存在漏检和误检等问题,基于YOLOv3算法提出一种融合上下文信息与注意力机制的目标检测方法。通过在骨干特征网络的残差模块中加入ECA-A,并对浅、中、深层的特征图进行重新拼接,融入金字塔池化模块,得到更丰富的上下文信息,显著地提高算法对小目标的检测性能。2022基于改进YOLOv5的无人机实时密集小目标检测算法(奉志强 等,2023)提出一种改进YOLOv5的小目标检测算法,解决了在无人机实时检测过程中,由于地面背景复杂,相互遮挡、重叠的密集小目标而导致模型检测效率低的问题。将改进的SAM和CAM两种注意力模块进行结合,帮助网络更加关注小目标聚集区域中的关键特征信息。在模型的Backbone部分引入Transformer模块,有利于网络捕获全局信息和上下文信息的同时提高无人机对密集小目标的特征提取能力。2022融合ReFPN结构与混合注意力的小目标检测算法(赵一鸣 等,2022)针对YOLOv4算法在小目标检测方面的效果并不理想的问题,提出ReFPN算法。该算法为加强小目标的特征信息,两次采用Backbone对特征信息进行提取,并设计Co-AM混合注意力机制,进一步提高了小目标的检测精度。2022改进YOLOv3的地面车辆小目标检测(蒋川虎 等,2022)为解决使用遥感图像检测地面车辆小目标所存在的漏检和误检问题,基于YOLOv3算法进行了一定改进,将Dialition卷积和Inception-ResNet结构引入到设计的独立输出的多尺度网络结构上,有利于地面车辆小目标的检测。2 小目标检测评价指标和数据集2.1 评价指标小目标检测常用的评价指标主要包括3个,分别为精确率、召回率以及速度指标。最常用的精度评价指标为平均精度(average precision,AP),由精确率(precision)和召回率(recall)计算所得。精确率为真正例数量与预测为正例数量的比值,召回率为真正例数量与真实标注样本数量的比值。其中,交并比(intersection over union,IoU)由目标的 bounding box与ground truth计算得来,在目标检测中,正负样本也是通过IoU阈值的大小来划分。AP50和AP75是IoU值分别设为0.5和0.75时的平均精准率,小、中、大尺度目标的平均精准率则分别表示为APS、APM、APL。AP 通常用于评估数据集中某一个类别的检测效果,但在小目标检测中,需要检测器检测多个类别的目标。因此,需要采用平均精确率均值(mean average precision, mAP)来对整个数据集评估。mAP是数据集中所有类别AP的平均值,可以反映多个类别的检测结果,但其大小必须在[0,1]区间内。上述各项指标分别计算为Pre=TPTP+FP (1)Re=TPTP+FN (2)Miss=FNTP+FN (3)AP=∫01Pre(Re)dRe (4)mAP=∑i=1kAP(i)k (5)式中,Pre表示准确率(precision),Re表示召回率(recall),Miss表示漏检率,TP(true positive)表示模型正确地将正例预测为正例,FP(false positive)表示模型错误地将负例预测为正例,FN(false negative)表示模型错误地将正例预测为负例,AP(average precision)表示平均精度,mAP(mean average precision)表示平均精确率均值,k表示类别的个数。模型预测的混淆矩阵如表4所示。10.11834/jig.220455.T004表4混淆矩阵Table 4Confusion matrix正例(positive)负例(negative)正确(true)TPTN错误(false)FPFN在COCO数据集中,一般会将AP默认为mAP。由于不同的IoU阈值与不同尺度的目标面积会使AP值产生变化,表5为COCO数据集上不同的评价指标。其中,APS、APM和APL是根据不同尺度的目标划分的评价指标,APS是数据集中小目标的检测结果。AR(average precision)是每幅测试图像中一定数量的检测结果中的最大召回率。ARS、ARM和ARL同样是根据不同尺度的目标划分的评价指标。FPS(frame per second)是小目标检测速度的评价指标,FPS值越大,说明检测模型的实时性越好。10.11834/jig.220455.T005表5COCO数据集上的不同评价指标Table 5Different evaluation indicators on COCO dataset评价指标IoU阈值目标尺寸目标尺寸区域AP0.50∶0∶0.95大、中、小全部尺寸AP500.5大、中、小全部尺寸AP750.75大、中、小全部尺寸APS0.50∶0∶0.95小小于32 × 32APM0.50∶0∶0.95中大于32 × 32小于96 × 96APL0.50∶0∶0.95大大于96 × 96ARS0.50∶0∶0.95小小于32 × 32ARM0.50∶0∶0.95中大于32 ×32小于96 × 96ARL0.50∶0∶0.95大大于96 × 962.2 数据集为了更好地发展计算机视觉算法,建立更大的数据集和更少的偏差尤为关键。目标检测在近10年中发布了很多有名的基准数据集,包括PASCAL VOC 数据集(Everingham等,2010,2015)(例如VOC2007, VOC2012)、ImageNet中的大尺度视觉识别数据集(Russakovsky等,2015),例如(ILSVRC2014)以及 MS-COCO数据集(Lin等,2014)等。PASCAL VOC数据集最开始主要关注分类和检测任务,从2005年建立初步的数据集,目前类别已扩充至20种,包含了24 640个已标注的生活中常见的目标对象。Zhang等人(2022)提出的DINO(DETR with improved denoising anchor boxes)算法在此数据集上的检测精度为63.3%。MS-COCO是当今最具挑战性的目标检测数据集,它相比较PASCAL VOC和ILSVRC包含更小和更密集的目标物体。小目标的数据集除了包含公共数据集之外,还包括各领域应用的数据集。遥感图像目标检测领域的数据集DOTA(dataset for object detection in aerial images)(Xia等,2018)共包含15个种类,2 806幅图像。Yang等人(2022)提出的KFIoU + RoITrans(Kalman filtering IoU + RoITrans)算法在该数据集上的检测精度为80.93%。人脸检测基准数据集WIDER FACE (Yang等,2016)是香港大学创建的公共数据集,包含32 203幅图像,393 703幅标注人脸,这些人脸在尺度、姿态、标准和光线方面都有不同的体现。Zhu等人(2020)基于模型框架、数据增强等方面,提出了可以处理复杂情况下的人脸检测算法Tina Face,在WIDER FACE数据集上的精度达到了92.40%。中国科学院大学提出了只针对微小人物的数据集Tiny Person(Yu等,2020),该数据集从高分辨率视频中进行采样,手工注释72 651个带有框的目标对象。Yu等人(2022)提出了一种粗点细化的CPRNet(coarse point refinement network)算法,将监督信号由精确的关键点转换为自由发现的点,该算法在Tiny Person数据集上的精度为85.86%。FDDB(face detection data set and benchmark)(Jain和Learned-Miller,2010)是最具权威性的人脸检测数据集之一,包含彩色或灰色图像2 845幅,采用矩形、椭圆标记法对5 171个人脸进行了标记,包括不同姿势、高低不同分辨率、旋转和遮挡等状态。Li等人(2019a)提出的DSFD(dual shot face detector)算法包含了新的特征增强模块,设计了一种优化的锚框匹配方法,在该数据集上的检测精度为99.10%。UCAS-AOD(dataset of object detection in aerial images)(Zhu等,2015)是中国科学技术大学提出的针对飞机和车辆检测的遥感影像数据集,包括600幅飞机图像和310幅车辆图像,适用于小目标检测。Zhou等人(2020)提出了一种无锚框的遥感目标检测算法P-RSDet(learning modulated loss for rotated object detection),在UCAS-AOD数据集上的检测精度为90.24%。Tsinghua-Tencent100K(Zhu等,2016)是一个大型的交通标志数据集,包含3万个交通标志目标。Wang等人(2023)提出的FE-YOLOV5算法在此数据集上的检测精度为63.60%。NWPU VHR-10(Cheng等,2014)是西北工业大学提出的地理遥感数据集,可用于空间物体检测,共800幅图像,包括飞机、舰船、网球场等10个目标种类。Zhou等人(2020)提出的P-RSDet算法在此数据集上的检测精度为90.80%。UR PC 2018(Zhang等,2018)数据集包括海参、海胆、扇贝和海星4个水下目标,其中2 901幅为训练图像,800幅为测试图像。Zhang等人(2018)提出一种可用于水下的目标检测算法underwater object detection,该算法在UR PC 2018数据集上的检测精度为63.90%。Flickrlogos数据集(Romberg等,2011)包含8 240幅图像,分为 32 类logos目标,都是从网络相册中收集真实的徽标图像。Bianco等人(2017)提出的TC-VII算法在该数据集上的检测精度为96.03%。各种小目标数据集的具体内容如表6所示。10.11834/jig.220455.T006表6小目标数据集介绍Table 6Introduction to small object datasets年份名称简介特点最优算法mAP/%2010FDDB人脸检测数据集,2 845幅图像,共5 171个人脸作为测试集。无约束自然场景的人脸检测数据集,规定了每个人脸目标的坐标位置。DSFD(Li等,2019a)99.102011Flickrlogos徽标图像数据集,8 240幅图像,分为32类logos目标。日常中的32类logos构建,目标数据具有较为平坦的表面。TC-VII(Bianco 等,2017)96.032014MS-COCO复杂场景大型数据集,91 类目标,328 000 幅图像和2 500 000个标签目标。最具挑战性的目标检测数据集,相比于PASCAL VOC和ILSVRC包含更小和更密集的目标物体。DINO(Zhang 等,2022)63.302014NWPU VHR-10地理遥感数据集,800幅图像,包括飞机、舰船、网球场、篮球场等10个目标种类。由RGB图像和锐化彩色红外图像构成,目标对象由专家手工标注。P-RSDet(Zhou 等,2020)90.802015UCAS-AOD遥感影像数据集,600幅飞机图像, 7 482架飞机和7 114辆车辆目标。针对飞机和车辆两大类目标检测,且目标方向分布均匀。P-RSDet(Zhou等,2020)90.242016Tsinghua Tencent100K大型交通标志数据集,30 000个交通标志目标。100 000幅腾讯街景全景图构建的一个大型交通标志,每个交通标志标注了类别标签、边界框和像素掩码。FE-YOLOV5(Wang等,2023)63.602016WIDER FACE人脸检测基准数据集,393 703幅标注人脸,共32 203幅图像。人脸目标在尺度、姿态、标准和光线方面都有不同的体现。Tina Face(Zhu等,2020)92.402018UR PC 2018包括海参、海胆、扇贝和海星4个水下目标,2 901幅为训练图像,800幅为测试图像。图像由视频截取所得,目标数据多样性不够。underwater object detection(Zhang 等,2018)63.902018DOTA遥感图像数据集,15个种类,2 806幅图像。最大的光学遥感图像数据集。KFIoU+RoITrans(Yang等,2022)80.932020Tiny Person微小人物数据集,从高分辨率视频采样,手工注释72 651个带框目标。目标像素低,一般少于20像素,人物目标的纵横比差异较大。CPRNet(Yu等,2022)85.863 小目标检测结果对比为进一步展示现阶段具有代表性小目标检测方法在各数据集上的检测效果。对部分方法在COCO、VisDrone2021和Tsinghua-Tencent100K数据集上的检测结果及其可视化检测效果进行对比。COCO是复杂场景下的大型数据集,包含91个目标类和328 000幅图像,其中52.3%的图像中包含小目标。不同的小目标检测方法在COCO数据集上的性能对比如表7所示。Dai等人(2016)提出的R-FCN(region-based fully convolutional network)算法解决了Faster RCNN中因为采用ROI Pooling 层进行两次取整计算导致检测信息与提取特征不匹配的问题,该算法引入了敏感分数图,提高了目标定位性能。从表7可以看出,R-FCN在mAP和AP50(IoU值分别为0.50:0:0.95、0.5的平均精准率)的值分别为29.9%和51.9%,APS、APM和APL(小、中、大尺度目标的平均精准率)的值分别为10.8%、32.8%和45.0%。He等人(2017)提出的Mask RCNN算法实现了分割和检测任务的融合,该算法在Faster RCNN 的基础上添加了一个额外的分支网络,在对目标的类别进行预测和对其坐标信息进行判断时,每一个 ROI 输出一个 Mask 的预测。因此,Mask RCNN 不仅集成了目标检测和实例分割两大功能,并且在检测性能上也超过了R-FCN。Mask RCNN相比于R-FCN算法,其APS、APM和APL值分别提高了12.8%、11.4%和8.9%。Li等人(2017)提出的 Light head-RCNN 算法同样提高了 R-FCN 算法的检测精度,它采用了卷积生成小信道数,并减少 ROI 的计算,有效提升了速度和精度的性能,相比于R-FCN算法,其APS、APM和APL值分别提高了14.4%、12.5%和8.1%。Bai等人(2018)提出的端到端多任务生成式对抗网络MTGAN(multi-task generative adversarial network),基于超分辨方法可以将较小的模糊图像上采样生成对应尺度的精细图像,以进行更精确的检测。通过在COCO数据集上大量实验,证明该方法有效提升了目标检测的性能,特别是对小目标的检测。MTGAN相较其基准网络Mask R-CNN在mAP值上提高了0.6%,小尺度目标的平均精准率APS值提升了1.6%。10.11834/jig.220455.T007表7不同方法在COCO数据集上的性能对比Table 7Performance comparison of different methods on COCO dataset方法骨干网络mAPAP50AP75APSAPMAPLR-FCN (Dai等,2016)Residual-10129.951.9-10.832.845.0SSD513 (Liu等,2016)Residual-10131.250.433.310.234.549.8DSSD (Fu等,2017)Residual-10133.253.335.213.035.451.1RetinaNet (Lin等,2017)ResNet-10139.159.142.321.842.750.2Mask-RCNN (He等,2017)ResNet-10140.961.944.823.544.253.9MTGAN (Bai等,2018)ResNet-10141.562.545.425.144.654.1Light head-RCNN (Li等,2017)ResNet-10141.5--25.245.353.1FSAF (Zhu等,2019)ResNet-10142.863.146.527.845.553.2注:加粗字体表示各列最优结果, “-”表示无法考据结果。%Liu等人(2016)提出了采用VGG-16做为骨干特征提取网络的SSD算法,采用分层提取特征思想,可以检测不同大小尺度的目标。但由于算法中的每个尺度相互独立,没有进行不同尺度特征图的融合,因此不同大小的目标检测框会针对同一个目标重复检测,从而导致其对小目标的分类效果并不好。Fu等人(2017)提出DSSD(deconvolutional single shot detector)算法,将SSD算法中的骨干网络替换为ResNet-101(deep residual network),在ResNet-101基础上添加了一个反卷积层。并且该算法引入了额外的大尺度上下文,提高了检测的精度,特别是对于小目标。在COCO测试中,mAP值为33.2%,比SSD算法提升了2%。Zhu等人(2019)提出基于Anchor-free机制的特征选择模块FSAF(feature selective anchor-free module),以RetinaNet为基础,在网络每层特征图的头部引入两个额外卷积层,分别负责Anchor-free 机制的分类和回归预测。相比于RetinaNet算法,FSAF模块在COCO数据集上的APS、APM和APL值分别提高了6%、2.8%和3%,优于表7中其他单阶段目标检测方法在COCO数据集上的检测精度。图17为SSD与DSSD在COCO数据集上的可视化结果图。与SSD相比,DSSD更能考虑和学习上下文信息,在密集场景中,针对小目标产生更好的检测性能。10.11834/jig.220455.F017图17SSD(Liu等,2016)与DSSD(Fu等,2017)的可视化结果Fig.17Visualization results of SSD (Liu et al., 2016) and DSSD (Fu et al., 2017)((a) SSD; (b) DSSD)图18为MTGAN、Light head-RCNN、RetinaNet和FSAF的可视化结果。图18(a)为MTGAN检测器在COCO数据集上产生的一些检测结果。图中的红框和绿框均为该方法的检测结果,可以观察到,MTGAN几乎可以成功地检测到所有的目标物体,特别是一些较小的目标,证明了该方法在小目标检测问题上的有效性。图18(b)为Light head-RCNN方法的可视化的检测结果图,几乎没有出现目标漏检的情况,同时在一定程度上提升了小目标的检出率。如图18(c)所示,从视觉效果上,相比较RetinaNet算法,FSAF在很大程度上提高了小目标的检测效果。10.11834/jig.220455.F018图18不同方法的可视化结果Fig.18The visualization results of different methods((a) MTGAN; (b) Light head-RCNN; (c) RetinaNet; (d) FSAF)VisDrone2021主要是由天津大学AISKYEYE团队收集的大型航拍数据集,该数据集的图像尺寸约为2 000 × 1 500像素,数据集中高比例的目标实例像素面积都是小于32 × 32像素的小尺度目标,主要包括行人、自行车、汽车和货车等10个类别。其中,训练图像6 471幅,验证图像548幅。表8为不同关键的小目标检测方法在VisDrone2021数据集上的性能对比。在这些方法中,PENet(Tang等,2020)取得了最好的检测性能,该网络模型基于基准网路CenterNet(Zhou等,2020)使用掩膜重采样模块MRM来增强不平衡的数据集,同时采用无锚检测器CPEN和无锚检测器FPEN分别来预测小目标的中心点以及精准的位置。从表8可以看出,PENet在mAP、AP50和AP75( IoU 值分别为 0.50∶0∶0.95、0.5和0.75的平均精准率)上的性能相比较CenterNet分别提升了26.9%、38.7%和28.8%。TPH-YOLOv5(Zhu等,2021)在VisDrone2021测试集挑战中mAP达到了39.18%,远高于VisDrone2020年的最佳mAP(37.37%),该算法基于YOLOv5模型添加了变压器编码器块、卷积块注意模块CBAM、额外的分类器等尖端的技术策略。从实验结果可以看出,TPH-YOLOv5相比于YOLOv5的mAP值提高了10.38%,在VisDrone2021数据集中实现了先进的检测性能。RetinaNet (Lin等,2017)和FPN (Lin等,2017)都是基于多尺度特征融合的目标检测算法,两者都借鉴了多尺度的目标检测思想,FPN在网络结构上采用了自顶向下的路径和横向的连接方式,充分利用了不同尺度特征图上较强的语义信息。通过实验对比,FPN在VisDrone2021数据集上的mAP、AP50和AP75值分别比RetinaNet高了4.7%、10.83%和3.29%,更适用于小尺度目标的检测。10.11834/jig.220455.T008表8不同方法在VisDrone2021数据集上的性能对比Table 8Performance comparison of different methods on the VisDrone2021 dataset方法mAPAP50AP75RetinaNet (Lin等,2017)11.8121.3711.62DetNet (Li等,2018)15.2629.2314.34FPN (Lin等,2017)16.5132.2014.91YOLOV5 (Glenn等,2021)28.8049.33-TPH-YOLOv5 (Zhu等,2021)39.18--CenterNet (Zhou等,2020)14.2019.3015.50PENet (Tang等,2020)41.1058.0044.30注:加粗字体表示各列最优结果, “-”表示无法考据结果。%图19为TPH-YOLOv5与PENet在VisDrone2021数据集上的可视化结果图,针对复杂场景中存在的由于目标重叠、遮挡和聚集导致的小目标检测困难的现象,TPH-YOLOv5与PENet方法都有所改善,提高了对小目标的检测性能。10.11834/jig.220455.F019图19TPH-YOLOv5(Zhu等,2021)与PENet(Tang等,2020)的可视化结果Fig.19Visualization results of TPH-YOLOV5 (Zhu et al., 2021) and PENet (Tang et al., 2020)((a) TPH-YOLOV5; (b) PENet)Tsinghua-Tencent100K(Zhu等,2016)是一个大型的交通标志数据集,包含30 000个交通标志目标,涵盖了不同的实际交通环境,其中,数据图像的分辨率为2 048 × 2 048像素。在该数据集中,约42.5%的交通标志是小目标。表9为不同关键的小目标检测方法在Tsinghua-Tencent100K数据集上的性能对比。其中,AF-FPN算法(Wang等,2023)替换了YOLOv5中原始的特征金字塔网络,使用自适应注意模块AAM和特征增强模块FEM,提高了特征金字塔的表征能力。通过在TT100K数据集上进行大量实验验证,该模型在不受尺度不变性的影响下,可实时检测较小尺度的交通标志。PENet在APS、APM和APL上的性能相比较YOLOv5分别提升了5.79%、5.75%和13.3%。表9 不同方法在TT100K数据集上的性能对比Table 9 Performance comparison of different methods onthe Tsinghua-Tencent100K dataset/%10.11834/jig.220455.T009方法APSAPMAPLYOLOX (Ge等,2021)41.2259.7560.81YOLOv5 (Glenn等,2021)35.6751.4251.84AF-FPN (Wang等,2023)41.4657.1765.14Perceptual GAN(Li等,2017)84.0091.0091.00注:加粗字体表示各列最优结果。图20是Perceptual GAN(Li等,2017)和AF-FPN(Wang等,2023)的可视化结果。Perceptual GAN模型包括生成器和判别器两部分,目的是在网络学习过程中充分利用不同尺度目标之间的结构相关性来减少大、中、小目标间的差异。同时,生成器中设计了深度残余学习网络,弥补了小目标缺失的细粒度细节。Perceptual GAN在TT100K数据集上的APS、APM和APL值分别为84%、91%和91%。如图20(a)所示,Perceptual GAN方法可以准确检测到容易遗漏或误检的大多数小型交通标志,提高了对小目标的检测精度。10.11834/jig.220455.F020图20Perceptual GAN(Li等,2017)和AF-FPN(Wang等,2023)的可视化结果Fig.20Visualization results of Perceptual GAN (Li et al., 2017) and AF-FPN (Wang et al., 2023)((a) Perceptual GAN; (b)AF-FPN)从图20(b)可以看出,PENet成功地检测了实际交通场景上的小尺度交通标志,没有存在漏检和误检的情况,具有较高的检测精度。4 总结和展望本文根据目标检测领域中的关键技术,全面系统阐述了基于深度学习的小目标检测方法的研究现状。首先,简单论述了一些传统的目标检测算法,例如VJ(Viola-Jones)、HOG、DPM等算法和基于深度学习的目标检测算法,包括基于两阶段的目标检测算法Faster R-CNN、Cascade R-CNN等和基于单阶段的目标检测算法SSD、YOLO等。其次,针对小目标检测现存的难点,例如小目标数据量短缺、单个特征层对小目标的表征能力不强、可视化特征弱、携带的特征信息有限等问题,从基于数据图像增强、多尺度特性、上下文语义信息、锚框机制的设置策略以及引入注意力机制等方面,对现有小目标检测算法取得的一些成果进行了全面系统的概述。接着,就特定场景下的小目标检测以及基于SSD和YOLO系列算法所改进的小目标检测概述了其最新的方法。最后,详细介绍了小目标检测的评价指标以及数据集,并且展示了现有小目标检测方法在COCO、VisDrone2021和Tsinghua Tencent100K数据集上的可视化检测效果,并对检测结果进行了对比。随着现实生活中应用小目标检测受到越来越多的关注,有许多问题亟待解决。1)小目标检测易受干扰。大部分的小目标分辨率低、图像模糊、可视化信息少,在难以提取到特征的情况下,极易受到干扰,进而导致检测模型难以精准定位和识别小目标,存在较多错检和漏检。2)小目标易聚集、遮挡。在复杂场景中,大部分小目标淹没在噪声和背景杂波中,同时大量小目标普遍存在聚集和互相遮挡问题。当小目标聚集时,目标之间会出现较为严重的遮挡。经过多次降采样和池化操作,相当多特征信息将会丢失,给检测带来一定的困难。3)小目标定位困难。小目标无论是基于绝对尺度还是相对尺度,在数据图像中所覆盖的面积都较小。因此在预测过程中,预测边框对小目标的定位误差远大于大、中目标。并且在模型训练中,小目标匹配的锚框数量较少,给检测带来一定困难。4)交并比(IoU)阈值的设置对小目标不合理。在目标检测中,交并比是由目标的bounding box与ground truth计算得来的,而检测中的匹配策略也是通过IoU阈值大小来划分正负样本的。小目标IoU较小,而通常的IoU阈值更加适用于大、中尺度目标,会给较小目标的定位精度带来一定影响。5)网络模型下采样对小目标的影响。在目标检测算法中,输入的图像需要经过不断的下采样、池化等操作提取目标特征。而小目标仅有几十个像素,在向下传递和不断下采样过程中可能会导致小目标特征信息的丢失。针对如何进一步提升小目标检测的性能,本文对未来的几个研究课题进行展望。1)构建通用小目标数据集。虽然主流的数据集MS-COCO包含了部分的小目标类,但包含小目标的图像相对较少,导致检测模型在训练过程中更关注大、中尺度目标,网络模型对小目标的泛化能力弱。本文介绍了很多小目标的数据集,但大多都是针对专门的领域,样本分布不平衡和样本数量不足等都会影响小目标检测的准确率。例如UR PC 2018为水下小目标数据集,包括海胆、海参、扇贝和海星4种类别,不仅目标类别数少,还缺乏一定的通用性。因此,需要建立一个大规模针对通用小目标检测的数据集,就像图像分类中的ImageNet数据集,充分学习小目标特征,提高检测效率。通常,图像数据集的构建主要包括确定主题、获取数据和对数据进行处理3个流程。首先,确定主题时,需要分析数据集的应用场景,确定数据集的类别、各类别的样本数量及样本数据的分辨率大小;其次,需要通过一定的数据采集方法得到切合主题的数据;最后,对采集的数据通过一定的筛选、标注和剪切处理,再根据需求统一数据图像的分辨率以及图像中目标的位置和大小等,最终构建出一个针对通用小目标检测的大规模数据集。2)充分利用网络的多尺度特征。在网络训练过程中,数据集中目标物体的尺度变化较大,目前很多方法都是通过多尺度特征融合,利用网络底层高分辨率和高层强特征语义信息,使得小目标的精度得到一定的提升。但这一过程可能存在语义间隔和噪声问题,可以通过解决该问题,建立更加完善的特征金字塔网络,进行更精确的小目标检测。同时,可采用高分辨率图像进行多尺度的小目标检测。高分辨率图像包含更多有关目标的细节信息,但在一定程度上难以保证目标检测精度与计算资源的平衡。Gao等人(2018)采用一种从粗到细引导细粒度检测的策略,在保证高分辨率图像中不同尺度目标准确率的同时,降低了模型的计算成本。对于航拍数据集,例如VisDrone包含更密集的细粒度信息。因此,可以进一步研究如何设计更适用小目标的细粒度轻量级的检测算法。3)集成注意力机制。针对多尺度特征融合可能会引入底层特征图像的噪声信息,给检测带来一定干扰的问题,可以通过在网络中集成注意力机制进行解决。同时,在复杂场景中,小目标由于分辨率低、图像模糊、可视化信息少,大部分会淹没在噪声和背景杂波中,并且大部分小目标普遍存在聚集和互相遮挡问题。经过多次降采样和池化操作,相当多的特征信息将会丢失,给检测带来一定的困难。因此,在深度学习中,合理采用注意力机制可以帮助网络模型快速学习全局图像的特征信息,更关注目标区域的细节,抑制无用信息。例如,Wang等人(2017)提出叠加多个注意力模块的残余注意力网络,通过捕获不同类型的混合注意力得到更丰富的特征信息,在ImageNet取得了更高效的分类性能。Sharm等人(2015)设计出一种软注意力机制的视频动作识别模型。注意力机制可以帮助网络在学习图像特征时,忽略困扰信息,更合理地使用资源,关注重要的特征信息区域,得到更高的小目标检测精度。但在深度学习任务中,往往会对注意力模块进行多次调用,这样会对网络模型带来一定的负担。因此,可以继续研究如何保证获取精准注意力信息的同时,降低注意力模块的调用次数和参数量,在不增加网络计算资源代价的前提下,挖掘特征图的关键信息,有效提高小目标的检测性能。4)基于锚框机制。锚框机制在目标检测算法中扮演着越来越重要的角色。锚框最早是用于Faster R-CNN算法中解决滑动窗口存在效率低的问题,但锚框机制的设计并没有与小目标取得较好的匹配。由于一般基于锚框机制的方法都会预先设定一组先验锚框,而先验锚框对于不同大小尺度目标的适应度不强,尤其对小尺度目标的敏感度不够,导致模型对大目标和小目标的检测不平衡。此外,使用锚框会引入大量的参数量和计算量。同时,小目标在数据图像中覆盖的面积都较小。在预测过程中,预测边框对小目标的定位误差远大于大、中目标。在模型训练时,小目标匹配的锚框数量较少,也给检测带来了一定的困难。并且,基于锚框机制的目标检测算法对于异常目标物体的检测精度差。因此,在单阶段目标检测算法中,YOLOv5和YOLOx分别采用了自适应的锚框机制与无锚策略。无锚的检测算法去除了预设锚框的过程,直接预测目标的边界框,在模型训练过程中,减少了冗余计算,也避免了样本失衡的问题。但基于无锚的算法也不适用于所有的目标检测算法,Yu和Tao(2019)则提出了一种基于锚框的级联框架,将锚框机制与图像金字塔融合起来,采用合适尺度的锚框来处理小目标,减轻了基于锚框机制网络的复杂度,也改善了小目标的检测效果。因此,如何设计合理的锚框机制方法来提高检测小目标的性能将持续成为研究热点。5)上下文语义信息。由于小目标的尺度小,在数据图像中的覆盖面积较小,因此在网络训练过程中不易提取到有利的语义特征信息。而在目标检测算法模型中,输入的数据图像需要经过不断的下采样、池化等操作来提取目标的特征,在向下传递和不断下采样过程中可能会导致小目标特征信息的丢失。针对此问题,充分利用目标上下文特征信息可以帮助其完成准确的定位与识别。虽然上下文信息在众多目标检测网络中都得到了充分利用,但无效的上下文语义信息不仅无法优化网络模型,还可能破坏目标区域原始的特征。Zeng等人(2016)提出的GBDNet(gated bi-directional CNN)算法可以通过长短期记忆网络(long short-term memory,LSTM)来控制不同区域的信息传输,从而避免引入无用的背景噪声。因此,从数据图像中获取到更有利于小目标检测的上下文语义信息也是一个值得研究的方向。6)提高小目标检测技术的可迁移性。目前大多数的小目标检测方法都是针对特定场景设计的,例如远程目标检测监控、交通标志检测、无人机系统以及人脸检测等。由于实际应用场景变换复杂,以上检测算法无法进行较好的迁移。因此,为了更有效地提高小目标检测的性能,应进一步研究各检测模型的普遍迁移性。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读