You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery — YOLTv5

Amal
2 min readMar 24, 2022

--

YOLT is an extension of the YOLO v2 framework that can evaluate satellite images of arbitrary size, and runs at ~50 frames per second. Current applications include vehicle detection (cars, airplanes, boats), building detection, and airport detection.

YOLTv5 uses YOLOv5 version of the YOLO object detection family, and it is build upon YOLT and SIMRDWN. This also has similar performance to the Darknet-based YOLTv4 repository.

YOLTv5 rapidly detects objects in arbitrarily large aerial or satellite images that far exceed the ~600×600 pixel size typically ingested by deep learning object detection frameworks. cool, right?

How to Run?

git clone https://github.com/avanetten/yoltv5.git

Installation of Dependencies

# from your command prompt/anaconda prompt (Must install Anaconda)cd yoltv5/yolov5
pip install -r requirements.txt

conda install -c conda-forge gdal
conda install -c conda-forge osmnx=0.12
conda install -c conda-forge scikit-image
conda install -c conda-forge statsmodels
pip install torchsummary
pip install utm
pip install numba
pip install jinja2==2.10

Training

Training preparation is accomplished via prep_train.py.

To train a model, run:

cd /yoltv5
python yolov5/train.py --img 640 --batch 16 --epochs 100 --data yoltv5_train_vehicles_8cat.yaml --weights yolov5l.pt

Note : Download YoloV5L weights from here.

Inference

Edit yoltv5_test_vehicles_8cat.yaml to point to the appropriate locations, then run the test.sh script:

cd yoltv5
./test.sh ../configs/yoltv5_test_vehicles_8cat.yaml

Result :

Hope you learned something new today, Happy Learning!

--

--

Amal
Amal

Written by Amal

Regular Post | Data Scientist, India

Responses (2)