

GitHub - avanetten/yolt: You Only Look Twice: Rapid Multi-Scale Object Detection...
source link: https://github.com/avanetten/yolt
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
YOLT
You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery
YOLT is an extension of the YOLO framework that can evaluate satellite images of arbitrary size, and runs at ~50 frames per second. Current applications include vechicle detection (cars, airplanes, boats), building detection, and airport detection.
The YOLT code alters a number of the files in src/*.c to allow further functionality. We also built a python wrapper around the C functions to improve flexibility. We utililize the default data format of YOLO, which places images and labels in different directories. For example:
/data/images/train1.tif
/data/labels/train1.txt
Each line of the train1.txt file has the format
<object-class> <x> <y> <width> <height>
Where x, y, width, and height are relative to the image's width and height. Labels can be created with LabelImg, and converted to the appropriate format with the /yolt/scripts/convert.py script.
For more information, see:
-
arXiv paper: You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery
-
Blog2: You Only Look Twice (Part II) — Vehicle and Infrastructure Detection in Satellite Imagery
-
Blog4: Car Localization and Counting with Overhead Imagery, an Interactive Exploration
-
Blog5: The Satellite Utility Manifold; Object Detection Accuracy as a Function of Image Resolution
-
Blog6: Panchromatic to Multispectral: Object Detection Performance as a Function of Imaging Bands
Installation
-
Install nvidia-docker
-
Build docker file
nvidia-docker build -t yolt yolt_container /path_to_yolt/docker
Execution
Commands should be executed within the docker file. To run the container (with name yolt_train0):
nvidia-docker run -it -v --name yolt_train0 yolt_container
HELP
cd /path_to_yolt/scripts
python yolt2.py --help
COMPILE (gpu machine)
cd /path_to_yolt/scripts
python yolt2.py \
--mode compile
TRAIN (gpu_machine)
# e.g. train boats and planes
cd /path_to_yolt/scripts
python yolt2.py \
--mode train \
--outname 3class_boat_plane \
--object_labels_str boat,boat_harbor,airplane \
--cfg_file ave_13x13.cfg \
--nbands 3 \
--train_images_list_file boat_airplane_all.txt \
--single_gpu_machine 0 \
--keep_valid_slices False \
--max_batches 60000 \
--gpu 0
VALIDATE (gpu_machine)
# e.g. test on boats, cars, and airplanes
cd /path_to_yolt/scripts
python yolt2.py \
--mode valid \
--outname qgis_labels_all_boats_planes_cars_buffer \
--object_labels_str airplane,airport,boat,boat_harbor,car \
--cfg_file ave_26x26.cfg \
--valid_weight_dir train_cowc_cars_qgis_boats_planes_cfg=ave_26x26_2017_11_28_23-11-36 \
--weight_file ave_26x26_30000_tmp.weights \
--valid_testims_dir qgis_validation/all \
--keep_valid_slices False \
--valid_make_pngs True \
--valid_make_legend_and_title False \
--edge_buffer_valid 1 \
--valid_box_rescale_frac 1 \
--plot_thresh_str 0.4 \
--slice_sizes_str 416 \
--slice_overlap 0.2 \
--gpu 2
To Do
- Include train/test example
- Upload data preparation scripts
- Describe multispectral data handling
- Describle initial results with YOLOv3
- Describe improve labeling methods
If you plan on using YOLT in your work, please consider citing YOLO and YOLT
Recommend
-
44
OpenPCDet OpenPCDet is a clear, simple, self-contained open source project for LiDAR-based 3D object detection. It is also the official code release of [PointRCNN]
-
15
Frigate - NVR With Realtime Object Detection for IP Cameras A complete and local NVR designed for HomeAssistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras. ...
-
15
C ++: Destroyer for the same instance of an object called twice advertisements so basically I have some c++ code in VS2013 that looks like thi...
-
14
NanoDet Super fast and lightweight anchor-free object detection model. Real-time on mobile devices. Super lightweight: Model fil...
-
5
3DETR: An End-to-End Transformer Model for 3D Object Detection PyTorch implementation and models for 3DETR. 3DETR (3D DEtection TRansformer)...
-
10
We’re excited to announce Cloudflare R2 Storage! By giving developers the ability to store large amounts of unstructured data, we’re expanding w...
-
24
ByteTrack ByteTrack is a simple, fast and strong multi-object tracker. ByteTrack: Multi-Object Tracking by Associating Every Detection Box Yif...
-
6
DE⫶TR: End-to-End Object Detection with Transformers PyTorch training code and pretrained models for DETR (DEtection TRansformer). We replace the full complex hand-c...
-
8
由于相机,激光雷达,毫米波雷达等传感器各有优劣,所以深度多模态数据融合在自动驾驶感知中非常重要。本文[1]以目标检测及语义分割为例...
-
10
News » Topics »
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK