Detect roads and features in satellite imagery by training a convnet with OSM data.
Work in progress.
This has been run on OSX Yosemite (10.10.5).
brew install libjpeg
pip3 install -r requirements.txt
sudo easy_install --upgrade six
Install globalmaptiles.py
mkdir lib
cd lib
git clone git@gist.github.com:d5bf14750eff1197e8c5.git global_map
cd ..
export PYTHONPATH=$PYTHONPATH:./lib/global_map:./data_pipeline
This will download vectors, imagery, and run the analysis.
python3 label_chunks_softmax.py download-data MAPZEN_KEY
python3 label_chunks_softmax.py train
Detect OpenStreetMap (OSM) ways (streets and trails) in satellite imagery. Train the neural net using MapQuest open imagery, and an OSM ways.
- TensorFlow - using this for the deep learning
- Hinton on using a neural network to do this - best/recent paper on doing this, great success with these methods
- Links from the Tensorflow site
- MNIST Data and Background
- all the other links to Nielsen’s book and Colah’s blog
- Deep Background
Multilayer Convolutional Network
- Download a chunk of satellite imagery from MapQuest at max resolution, in 256x256px PNGs
- Download ways (i.e. road/trails) for that area from OSM
- Generate training and evaluation data
- Download a different set of training imagery and OSM ways, and see if we can predict the ways from the imagery
- flatten it into matrices of trail/no trail
- check tiles visually
- use GDAL to download and composite image tiles
Data Size
- do a tiny area and do it all locally for testing
- use one or more GPUs on Amazon if bottlenecked
Download OSM data, parse out ways
- alternative to Clipper method: load it into Postgres and do it that way
Accuracy
- mimic Hinton’s methods, esp. for getting real road geometries
- see if we can identify trails nearly as well as roads