Satellite Image Finder Parking Lot & Spots

Abstract

Satellite imagery in recent years has drastically increased in both quality and quantity. Today, the problem is too much data. Map features such as roads, buildings, and other points of interest are mainly extracted manually, and we just don’t have enough humans to carry out this mundane task.

Satellite imagery in recent years has drastically increased in both quality and quantity. Today, the problem is too much data. Map features such as roads, buildings, and other points of interest are mainly extracted manually, and we just don’t have enough humans to carry out this mundane task.

The goal of this project is to develop a tool that automates this process. Specifically, the focus of this project is to extract parking lots using Object Based Imagery Analysis. The final deliverable is a Python tool that uses Machine Learning algorithms to identify and extract parking lots from high resolution satellite imagery.

This project was divided into two main steps: labeling data and training an algorithm. For the first step, the project team gathered a large dataset of satellite imagery in the form of GeoTIFFs, used GDAL to convert these files into JPEG image files, and used labelImg to label the images. The labelling consisted of creating an XML layer corresponding to each GeoTIFF image, where the XML layer contained bounding boxes outlining each parking lot. With all of the training data labeled, the next step was training the algorithm. The project lead tried several different models for the learning algorithm, with the final model being based on Faster RCNN.

After training, the project team tested the model and determined the accuracy was too low, so the team decided to obtain and label more images to improve it. Once the accuracy met the determined standards, a script was built that would take an input of a GeoTIFF image, convert this to a JPEG image, run the image on the model to detect any parking lots and output bounding boxes depicting those parking lots, and finally, convert these bounding boxes into a single GeoJSON file. The main use case of the application is quickly finding parking lots with relative accuracy in satellite imagery. The model can also be built upon to be improved or used in related tasks, for example detecting individual parking spots.

The project has managed to achieve the expected goals using labelImg and a Faster RCNN model. However, due to a limitation of labelImg, the model cannot detect parking lots that are not horizontal or vertical. The project team researched several methods to solve this problem but were not able to fully implement a suitable solution due to time and infrastructure constraints. The team has described all of its research in this final report so that those who want to improve on this project will have a good starting point.

Note that there are some additional files that had to be uploaded onto Google Drive: https://drive.google.com/open?id=1istIOQqsQdw43Ty08KdoY64qBUUlI9D_ and https://drive.google.com/open?id=1_EPq0hgRfSsLOPsXiVWV4d2Dz8yxmm4h

Description

Keywords

Machine learning, Imagery analysis, Python, Parking lots, Jupyter Notebook, Tensorflow

Citation