An automated, end-to-end Geospatial AI pipeline for analyzing multispectral satellite and aerial imagery. This project leverages Computer Vision and GeoAI to perform precise object detection and image segmentation tasks.
- Multi-Class Object Detection: Performs object detection on spatial imagery of cars, ships, satellites, and wetlands. Supported project workflows actively extract bounding boxes and masks for ships, solar panels, wetlands, and cars.
- Deep Learning Models: Utilizes fine-tuned Mask R-CNN models for precise object detection. It also applies a pre-configured U-Net architecture utilizing a ResNet34 encoder for the semantic segmentation of multispectral imagery.
- Automated Data Preparation: Manages end-to-end data preparation by downloading sample geospatial datasets directly from repositories. It handles automated image chip tiling by slicing large raster files into smaller 512x512 pixel batches.
- Post-Processing Extraction: Executes post-processing polygon extraction to vectorize raster masks into usable GeoJSON formats. This relies on strict orthogonalization and area-based raster-to-vector polygon conversion.
- Python
- GeoAI
- LeafMap
- Matplotlib
- Computer Vision (Mask R-CNN, U-Net)
To run these notebooks, you will need to install the required dependencies. You can install the primary geoai package via the Anaconda prompt using the following command:
conda install -c conda-forge geoaiIf you are familiar with standard data analytics or machine learning, Geospatial AI is just applying computer vision algorithms to giant maps. Here is the step-by-step logic of the pipeline:
- 1. Slicing Giant Maps (Tiling): Satellite images are massive. Because neural networks can't process an entire city at once, the code automatically slices these huge
.tiffiles into smaller, manageable 512x512 pixel squares. - 2. Training the Brain: We feed these smaller squares into two types of deep learning models:
- Mask R-CNN: Used to detect and isolate individual, distinct objects like cars, ships, or solar panels.
- U-Net: Used for semantic segmentation to classify entire continuous zones, like identifying all the pixels that make up a wetland.
- 3. Making Predictions (Inference): We pass a brand-new satellite image to the trained model. It scans the image and creates a "mask" (a pixel-based highlight) over the detected targets.
- 4. Converting to Map Data (Vectorization): Mapping software requires exact geometric coordinates, not just colored pixels. The pipeline traces the edges of the pixel masks and converts them into clean mathematical shapes (polygons) saved as a GeoJSON file.
- 5. Plotting the Results: Finally, the new polygons are overlaid back onto an interactive basemap to visually verify the AI's accuracy.