当前位置:   article > 正文

用于小目标检测的切片辅助超推断_切片辅助超推理

切片辅助超推理

小目标检测指的是识别本地化数字图像中尺寸相对较小的对象。这些物体通常具有有限的空间范围和较低的像素覆盖率,并且由于其外观较小且信噪比较低,检测起来可能很困难。

小目标检测有多种应用:

  • 监视和安全:识别和跟踪拥挤区域的小物体,以加强公共安全。
  • 自动驾驶:实时准确检测行人、骑自行车者和交通标志,以确保安全导航。
  • 医学成像:医学图像中异常和病变的定位,用于早期疾病诊断和治疗规划。
  • 遥感和航空图像:城市规划和环境监测卫星图像中的小目标识别。
  • 工业检验:在制造过程中进行质量控制和缺陷检测,以确保高质量的产品。
  • 显微镜与生命科学:用于生物学和遗传学研究的细胞结构和微生物分析。

  • 为什么普通物体探测器无法探测到较小的物体?当前一代有多种对象检测算法,如Faster RCNN、YOLO、SSD、RetinaNet、EfficientDet等。通常,这些模型是在COCO(上下文中的公共对象)数据集上训练的。它是一个包含广泛对象类别和注释的大型数据集,因此在训练对象检测器时很受欢迎。然而,事实证明,这些模型无法检测到小物体。你想过这个吗?

 小目标检测的挑战

有限的感受域感受域是指输入图像的空间范围,它影响卷积神经网络(CNN)中特定神经元或滤波器的输出。在正常的物体检测器中,感受野可能是有限的,这意味着网络可能对较小物体周围的上下文信息没有足够的理解。因此,由于感受野不足,探测器可能难以准确检测和定位这些物体。图2展示了神经网络的感受野。

图2:深度神经网络的接收场

特征表示对象检测器通常依赖于CNN体系结构中的学习特征来识别对象。然而,特征表示的相互限制可能会阻碍对较小对象的检测,因为学习到的特征可能无法充分捕捉细微和复杂的细节。图3显示了卷积神经网络的特征表示。因此,检测器可能无法将它们与背景或其他看起来相似的物体区分开来。

图4-卷积神经网络中的特征表示 

比例变化与图像中较大的对象相比,较小的对象显示出显著的比例变化。在主要由较大对象组成的数据集上训练的对象检测器,如ImageNet或COCO,由于规模的差异,可能很难将其推广到较小对象。在图4中,应用了比例变化。大小的变化可能导致难以匹配所学习的对象表示,从而导致较小对象的检测性能下降。

图像的比例变化

训练数据偏差对象检测模型通常在大规模数据集上进行训练,由于其普遍性,这些数据集可能包含对较大对象的偏差。当涉及到较小的物体时,这种偏差可能会无意中影响物体探测器的性能。因此,该模型可能没有暴露在足够多的小物体的不同训练示例中。这导致对于较小的对象实例缺乏鲁棒性和降低的检测精度。图5展示了具有两个类对象的数据集的散点图。可以观察到,类“0”的数据点明显多于类“1”。

定位挑战由于CNN架构中特征图切换的空间分辨率有限,准确定位较小对象可能具有挑战性。精确定位所需的细粒度细节可能会丢失,或者在较低分辨率下变得难以区分。小物体可能会被其他较大物体或杂乱的背景遮挡,从而进一步加剧定位挑战。这些因素可能导致普通物体探测器无法准确定位和探测较小物体。

 大图像中小目标的定位

 现有的小物体检测方法在计算机视觉中,有一些技术有助于小物体检测,其中包括一系列旨在解决与准确检测小物体相关的挑战的技术。这些方法利用各种策略和算法来提高检测性能,特别是对于较小尺寸的物体。以下是一些常用的方法:

小目标检测方法

图像金字塔它涉及通过向下采样或向上采样创建输入图像的多个缩放版本。这些缩放版本或金字塔级别提供不同的图像分辨率。对象检测器可以在每个金字塔级别应用检测算法来处理不同尺度的对象。在图8中,一种基于图像金字塔的技术被应用于太阳图像。这种方法允许通过在较低的金字塔级别上搜索小物体来检测它们,在那里它们可能更突出和可区分。

图像金字塔技术 

滑动窗口方法此方法涉及在不同位置和比例的图像上滑动固定大小的窗口。在每个窗口位置,对象检测器应用分类模型来确定是否存在对象。通过考虑不同的窗口大小和位置,检测器可以有效地搜索图像中的小对象。然而,滑动窗口方法可能会变得非常昂贵,尤其是在处理大图像或多个比例时。

多尺度特征提取对象检测器可以利用多尺度特征抽取技术来捕获不同细节级别的信息。这涉及到在多分辨率下处理图像或应用具有不同感受野的卷积层。通过结合不同尺度的特征,探测器可以有效地捕捉场景中的大小物体。这种方法有助于保留与检测小对象相关的细粒度细节。 

数据增强是计算机视觉中最著名的技术之一,它可以通过生成额外的训练样本来提高小物体的检测性能。随机裁剪、调整大小、旋转或引入人工噪声等增强方法可以帮助在数据集中产生变化,使检测器能够学习小物体的稳健特征。增强技术还可以模拟不同的物体尺度、视角和遮挡,帮助检测器更好地推广到真实世界的场景。

转移学习该方法涉及在大规模数据集(例如ImageNet)中利用从学习中获得的知识,并将其应用于对象检测任务。预训练模型,特别是那些具有深度卷积神经网络(CNN)架构的模型,捕获了丰富的分层特征,有利于小目标检测。通过在目标数据集上微调预先训练的模型,对象检测器可以使用学习到的表示快速适应新任务,并能够更好地检测小对象。

切片辅助超推理:

小物体检测的革命性管道简介AHI,一种专门为小物体检测设计的尖端管道。SAHI利用切片辅助推理和微调技术的力量,彻底改变了物体的检测方式。SAHI物体检测的与众不同之处在于它与任何物体检测器无缝集成,消除了对精细微调的需求。这一突破允许在不影响性能的情况下快速轻松地采用。

切片辅助微调

Detectron2、MMDetection和YOLOv8等流行的对象检测框架在广泛使用的数据集(如ImageNet和MS COCO)上提供预先训练的权重。预训练可以使用较小的数据集和较短的训练持续时间对模型进行有效的微调,从而消除了对大型数据集从头开始训练的需要。然而,通常用于预训练的数据集由低分辨率图像组成,其中相对较大的对象覆盖了图像高度的很大一部分。因此,预先训练的模型在类似的输入中表现良好,但在先进的无人机和监控摄像头拍摄的高分辨率图像中难以检测到小物体。为了克服这一限制,提出了一种通过从微调数据集图像中提取补丁来调整数据集的方法。该技术如图14所示。 

每个图像被分割成具有尺寸M和N的重叠块。尺寸M和N从预定义的范围[Mmin,Mmax]和[Nmin,Nmax]中选择作为超参数。在微调过程中,会调整这些修补程序的大小,同时保持纵横比。调整大小的补丁创建增强图像,目的是与原始图像相比增加对象的相对大小。在微调过程中也使用原始图像。这种对原始图像的利用有助于有效地检测大型物体。

如图15所示,在推理步骤中也使用了这种分层方法。最初,原始查询图像被划分为维度为M×N的重叠补丁。随后,在保持纵横比的同时调整每个补丁的大小。然后将独立的对象检测前向通过应用于每个重叠的补丁。此外,可以使用原始图像来执行可选的全推断步骤,以检测较大的对象。最后,使用非最大值抑制(NMS)将重叠补丁的预测结果以及结果(如果适用)合并回原始图像大小。在NMS过程中,具有联合交集(IoU)比率或预定义匹配阈值的框被视为匹配。对于每个匹配,丢弃检测概率低于阈值的结果。这确保了仅保留最可靠和不重叠的检测。 

使用SAHI技术推断YOLOv8在本文的最后一节中,使用预先训练的YOLOv8-S模型对图像进行对象检测推断。我们还将研究在没有SAHI和有SAHI的情况下获得的小物体检测结果之间的并排比较。有一个下载链接到本实验中使用的笔记本电脑。

模型初始化

  1. detection_model =AutoDetectionModel.from_pretrained(
  2. model_type='yolov8',
  3. model_path=yolov8_model_path,
  4. confidence_threshold=0.3

 在上面的代码片段中,已经初始化了detection\ymodel。在这个实验中,“模型类型”是yolov8,“模型路径”指向保存模型的目录,默认的“机密阈值”设置为0.2。如果你有一台装有NVIDIA GPU的机器,你可以通过将“device”标志更改为“uda:0”来启用CUDA加速;否则,将其保留为“pu”。但请记住,推理速度可能较慢。

执行切片推理

需要根据输入图像的大小提及切片参数,如“切片高度”、“切片宽度”、“重叠高度比率”、“覆盖宽度比率”。这主要是一个试错过程,因为没有默认值最适合所有类型的图像。随着切片数量的增加,需要更多的计算能力。这无疑是CUDA加速帮助最大的地方。

  1. "demo_data/small-vehicles1.jpeg",
  2. detection_model,
  3. slice_height=512,
  4. slice_width=512,
  5. overlap_height_ratio=0.2,

可视化预测对象 

通过使用以下代码,您可以查看输入图像中检测到的对象。此外,您还可以导出带有检测的输出图像。下面显示的代码片段读取输入图像,执行预处理,并使用visualize_object_predections()方法显示输出。为了更好地可视化,对象标签已被隐藏。这是使用“hide_labels”参数完成的。

  1. img =cv2.imread("demo_data/cars.jpg", cv2.IMREAD_UNCHANGED)
  2. img_converted =cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
  3. numpydata =asarray(img_converted)
  4. visualize_object_predictions(
  5. numpydata,
  6. object_prediction_list=result.object_prediction_list,
  7. hide_labels=1,

 推断结果

结论

切片辅助超推理(SAHI)框架的引入标志着小目标检测的重大突破。凭借其创新的管道、与任何物体探测器的无缝集成以及显著的性能改进,SAHI彻底改变了我们检测和识别小物体的方式。通过对Visdrone的广泛实验评估和xViewdataset,SAHI已经证明了其在无需修改的情况下提高各种检测器的目标检测平均精度(AP)的有效性。切片辅助微调技术进一步提高了检测精度,从而在AP中产生实质性聚集。SAHI显著提高物体检测性能的潜力怎么强调都不为过。它的多功能性和适应不同场景的能力使其成为计算机视觉领域的游戏规则改变者。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/684675
推荐阅读
相关标签
  

闽ICP备14008679号