Inspirations

Professor Haan from Calvin University's Engineering Department worked with one of our team members, Aryan, last summer to better leverage the hazard assessment/survey data that is available to researchers online. They successfully developed a prototype to work with Streetview images, but there was no such workflow for drone images. Thus, we took the challenge of simplifying object detection for drone images. For this hackathon, we made cars/damaged cars our object of interest.

What it does

Our project has more of a research-oriented nature. It does the following things:

  • Provide code to split large images into smaller square images, and later merge them back together.
  • Trains state-of-the-art object detection models on datasets of drone images to detect cars in drone images.
  • Documents the challenges and potential things that work (and do not work) in dealing with very large image files (one image can be gigabytes).

How we built it

We built it using Python and Jupyter Notebooks. We extensively used numpy to manipulate the images. We used the ultralytics library to train YOLO v8 and RT-DETR models, and used a Google Colab notebook provided by Roboflow to train Facebook's Detection Transformer and compare the models.

Challenges we ran into

A lot of them. The sheer size of the images was the biggest challenge. Our devices were running out of memory, online notebooks were crashing, and just waiting for things to finish was taking quite long.

Accomplishments that we're proud of

We were successfully able to load the 1.6 GB TIFF image into a numpy array and split it into smaller equal sized chunks. We also figured out a way to merge the split images back into the original form using simple numpy array manipulation, given we have enough memory to load all the split chunks.

We trained a RT-DETR model to see decent results on the very distorted dataset of split drone images.

What we learned

Numpy Array Manipulation, Image Color formulations (RGB, RGBA, CMYK), GDAL, rasterio, converting between GeoTIFF and CSV.

What's next for W ASD

Figuring out how to efficiently recombine the split images with predictions back into the original size. Handle carefully the Geographic data that GeoTIFF images contain to keep the geo-referencing benefits that come with such images.

Built With

Share this project:

Updates