ultralytics/xview-yolov3
YOLOv3 training, preprocessing, validation, and inference for object detection in xView satellite imagery and the xView detection challenge.
What it solves
This project provides a specialized implementation for training the YOLOv3 object detection model on the xView dataset, which consists of high-resolution satellite imagery. It addresses the difficulty of detecting a wide variety of objects in remote sensing data, supporting participants in the xView Challenge.
How it works
The system uses the YOLOv3 architecture and implements a specific pipeline for satellite imagery:
- Preprocessing: It cleans the data using sigma-rejection to remove outliers and generates 30 custom k-means anchors tailored to the specific object sizes and aspect ratios found in satellite images.
- Training: The model is trained on 800x800 pixel chips randomly sampled from full-resolution images. It includes a resume feature to continue training from the last saved checkpoint.
- Augmentation: To prevent overfitting and improve robustness, the project applies several image transformations during training, including translation, rotation, shear, scaling, reflection, and HSV color adjustments.
- Inference: A dedicated detection script allows users to apply the trained weights to new satellite images to identify and locate objects with bounding boxes.
Who it’s for
This tool is designed for computer vision researchers, remote sensing specialists, and participants of the xView Challenge who want to train a high-performance object detection model on satellite data.
Highlights
- Custom Anchor Generation: Uses k-means to optimize bounding box predictions for satellite imagery.
- Robust Augmentation: Implements a comprehensive suite of image transformations to improve model generalization.
- Satellite-Specific Pipeline: Optimized for handling large-scale, high-resolution remote sensing datasets.
- Checkpoint Support: Ability to resume interrupted training sessions seamlessly.
Related
- Project
- Project
- Project
- Project
- Project