All Projects → Paulymorphous → skeyenet

Paulymorphous / skeyenet

Licence: MIT license
Road and Building Segmentation in Satellite Imagery

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to skeyenet

localtileserver
🌐 dynamic tile server for visualizing rasters in Jupyter with ipyleaflet or folium
Stars: ✭ 190 (+79.25%)
Mutual labels:  geospatial, satellite-imagery
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+72.64%)
Mutual labels:  geospatial, satellite-imagery
Land-Cover-Classification-using-Sentinel-2-Dataset
Application of deep learning on Satellite Imagery of Sentinel-2 satellite that move around the earth from June, 2015. This image patches can be trained and classified using transfer learning techniques.
Stars: ✭ 36 (-66.04%)
Mutual labels:  geospatial, satellite-imagery
Julia Geospatial
Examples for a blog series on Geospatial Julia using ArchGDAL
Stars: ✭ 58 (-45.28%)
Mutual labels:  geospatial, satellite-imagery
Geotiff.io
Static website for viewing and analyzing GeoTIFF's in the browser
Stars: ✭ 53 (-50%)
Mutual labels:  geospatial, satellite-imagery
sits
Satellite image time series in R
Stars: ✭ 342 (+222.64%)
Mutual labels:  geospatial, satellite-imagery
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (+58.49%)
Mutual labels:  geospatial, satellite-imagery
dea-coastlines
Extracting tidally-constrained annual shorelines and robust rates of coastal change from freely available Earth observation data at continental scale
Stars: ✭ 24 (-77.36%)
Mutual labels:  geospatial, satellite-imagery
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+172.64%)
Mutual labels:  geospatial, satellite-imagery
Felicette
Satellite imagery for dummies.
Stars: ✭ 1,710 (+1513.21%)
Mutual labels:  geospatial, satellite-imagery
python-resources-for-earth-sciences
A Curated List of Python Resources for Earth Sciences
Stars: ✭ 159 (+50%)
Mutual labels:  geospatial, satellite-imagery
satellite-crosswalk-classification
Deep Learning Based Large-Scale Automatic Satellite Crosswalk Classification (GRSL, 2017)
Stars: ✭ 18 (-83.02%)
Mutual labels:  satellite-imagery
placekey-py
placekey.io
Stars: ✭ 49 (-53.77%)
Mutual labels:  geospatial
SQL-for-Data-Analytics
Perform fast and efficient data analysis with the power of SQL
Stars: ✭ 187 (+76.42%)
Mutual labels:  geospatial
h3-r
R bindings for H3, a hierarchical hexagonal geospatial indexing system
Stars: ✭ 57 (-46.23%)
Mutual labels:  geospatial
WhiteboxTools-ArcGIS
ArcGIS Python Toolbox for WhiteboxTools
Stars: ✭ 190 (+79.25%)
Mutual labels:  geospatial
de9im
DE-9IM spatial predicate library implemented in Javascript.
Stars: ✭ 22 (-79.25%)
Mutual labels:  geospatial
H3.net
Port of Uber's H3 to .NET
Stars: ✭ 27 (-74.53%)
Mutual labels:  geospatial
satimage
Code and models for the manuscript "Predicting Poverty and Developmental Statistics from Satellite Images using Multi-task Deep Learning"
Stars: ✭ 27 (-74.53%)
Mutual labels:  satellite-imagery
Spatial-Analysis-Mapping-Projects
Project Documentation, Best Practices & Procedures for Spatial Analysis and Mapping Projects
Stars: ✭ 15 (-85.85%)
Mutual labels:  geospatial

Skeyenet - Read Our Planet Like a Book

Deep Learning for Road and Building Segmentation in satellite imagery.

License: MIT Maintenance Open Source Love svg1 Website cv.lbesson.qc.to GitHub stars Github Fork GitHub version

Semantic segmentation is the process of classifying each pixel of an image into distinct classes using deep learning. This aids in identifying regions in an image where certain objects reside.

This aim of this project is to identify and segment roads in aerial imagery. Detecting roads can be an important factor in predicting further development of cities, and this concept plays a major role in GeoArchitect (A project which I started). Segmentation of roads is important to map-based applications and is used for finding distances or shortest routes between two places.

Read more about this project here.

Contents:

  1. Dataset.
  2. Manipulating the data.
  3. About the model.

1. Dataset

For this challenge, I used the Massachusetts Roads Dataset. This dataset contains aerial images, along with the target masks. You can use download_images.py to download all the images mentioned in this site. If you have internet connections that may fluctuate then downloading the data using a torrent client would be a smart way to take. You can download the images from academic torrents, and you can find the dataset here.

The dataset contains 1171 images and respectiv masks. Both the masks and the images are 1500x1500 in the resolution are present in the .tiff format. Have a look at the following sample.

Samples

2. Manipulating the data

The pre-processing steps involved:

  1. Removed images where more than 25% of the map was missing.
  2. Cropped 256x256 images out of the images. Hence, increasing the total number of images to more than 22,000.
  3. Binarized the mask so that the pixel value is always between 0 and 1.

3. About the model.

To solve this problem, I used an Unet, it is a fully convolutional network, with 3 cross-connections. Adam optimiser with a learning rate of 0.00001 was used, along with dice loss (because of the unbalanced nature of the dataset.) The model trained for 61 epochs before earlstopper kicked in and killed the training process. A validation dice loss of 0.7548 was achieved.

The model can be found in Models/road_mapper_final.h5.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].