最近在做一些计数的项目,样本中存在一些非常密集的目标,如果混杂一起训练指标很难达到要求,所以考虑在训练时不加入密集目标,训练使用正常的样本,在推理时使用密集检测方案。
在高分辨率图像中检测小目标一直是一个技术挑战,尤其是在无人机监控和卫星图像分析等领域。最近,一个名为 Slicing Aided Hyper Inference (SAHI) 的新技术为我们提供了一种解决方案。这项技术由土耳其安卡拉的OBSS AI和中东技术大学的研究人员共同开发,并在论文 "SLICING AIDED HYPER INFERENCE AND FINE-TUNING FOR SMALL OBJECT DETECTION" 中进行了详细描述。
论文与代码链接
- 论文链接:arXiv
- GitHub代码:SAHI GitHub
技术方案详解
SAHI技术的核心在于通过图像切片辅助的推理和微调来提高小目标的检测精度。这种方法不仅提高了检测的准确性,而且具有很好的通用性和可扩展性。
方案概述
-
切片辅助微调 (Slicing Aided Fine-tuning - SAF):
- 在微调阶段,通过从图像中提取重叠的小块(切片),并将这些切片调整到更大的尺寸,从而使得原本在图像中像素覆盖较小的目标在调整后的图像中占据更多的像素。
- 这种方法使得模型能够更好地学习和识别小目标的特征。
-
切片辅助超推理 (Slicing Aided Hyper Inference - SAHI):
- 在推理阶段,将输入图像分割成多个重叠的小块,并对每个块进行调整大小和独立的目标检测。
- 通过这种方式,即使是小目标也能在调整后的图像块中占据较大的像素区域,从而提高检测的准确性。
实现步骤
- 图像切片:将输入图像分割成多个小块,每个小块的尺寸在预定义的范围内随机选择。
- 调整尺寸:将每个切片调整到更大的尺寸,以便于目标检测模型更好地识别小目标。
- 目标检测:对每个调整后的切片进行目标检测。
- 结果合并:使用非极大值抑制(NMS)将所有切片的检测结果合并回原始图像的坐标系中。
拓展性和应用场景
SAHI技术的通用性和可扩展性使其不仅适用于小目标检测,还可以应用于多种场景:
- 无人机监控:在无人机拍摄的高分辨率图像中检测地面上的小型物体。
- 卫星图像分析:在卫星图像中检测地面设施或其他小型目标。
- 医学图像处理:在医学图像中检测微小的异常区域。
- 视频监控:在视频流中实时检测小目标,如人流监控或交通监控。
结论
SAHI技术为小目标检测提供了一种有效的解决方案,并且具有很好的通用性和可扩展性。通过简单的集成,现有的目标检测模型可以在不牺牲内存效率的情况下提高检测精度,这对于资源受限的环境尤其有价值。
这项技术的成功实施不仅展示了深度学习在图像处理领域的潜力,也为未来在更复杂场景下的应用提供了新的思路。
实际使用上耗时会成倍增加,不过使用了初筛后密集样本才会使用sahi所以整体耗时并没有增加,搭配yolov8无缝上线,召回几乎打满