ultralytics/xview-yolov3
YOLOv3 training, preprocessing, validation, and inference for object detection in xView satellite imagery and the xView detection challenge.
What it solves
该项目提供了一个专门实现,用于在 xView 数据集(由高分辨率卫星影像组成)上训练 YOLOv3 目标检测模型。由于航空视图中对象的尺度和种类繁多,遥感数据的目标检测是一项具有挑战性的任务,本项目旨在帮助用户解决该问题。
How it works
项目使用 YOLOv3 架构,并实现了针对卫星影像的特定流水线:
- Preprocessing: 使用 sigma‑rejection 进行异常值剔除并清洗数据,生成 30 个针对 xView 数据集的自定义 k‑means 锚框,匹配其特定的边界框尺寸和宽高比。
- Training: 在从全分辨率图像中随机抽取的 608×608 像素块上进行模型训练。包含 resume 功能,可从上一次保存的检查点继续训练。
- Augmentation: 为防止过拟合并提升鲁棒性,训练期间应用多种图像变换,包括旋转、平移、缩放、翻转以及 HSV 颜色调整。
- Inference: 专用脚本允许用户在新卫星图像上运行已训练模型,检测目标并绘制边界框。
Who it’s for
主要面向 xView Challenge 参赛者、遥感领域的研究者以及从事卫星影像分析的计算机视觉开发者。
Highlights
- Custom Anchor Generation: 使用 k‑means 优化针对卫星特定目标的边界框预测。
- Comprehensive Augmentation: 包含丰富的几何和颜色变换,以提升模型的泛化能力。
- Checkpointing: 支持从中断的会话恢复训练。
- Ready-to-use Inference: 提供脚本,可快速将训练好的权重应用于新图像。