yoninachmany / geotensorflow

Predict labels on rasters processed by GeoTrellis using pre-trained Raster Vision models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GeoTensorFlow

Initial setup

git clone https://github.com/yoninachmany/geotensorflow.git
cd geotensorflow
./inception5h/download.sh
./inception3/download.sh

Model list

Test Normal Images

cropped panda

sbt "run-main demo.LabelImageInception inception5h cropped_panda.jpg"

BEST MATCH: giant panda (95.23% likely)
sbt "run-main demo.LabelImageInception inception3 cropped_panda.jpg"

BEST MATCH: giant panda (81.60% likely)
sbt "run-main demo.LabelImageInception inception3-handmade cropped_panda.jpg"

BEST MATCH: n02510455 giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (83.17% likely)

grace hopper

sbt "run-main demo.LabelImageInception inception5h grace_hopper.jpg"

BEST MATCH: military uniform (28.92% likely)
sbt "run-main demo.LabelImageInception inception3 grace_hopper.jpg"

BEST MATCH: military uniform (87.42% likely)
sbt "run-main demo.LabelImageInception inception3-handmade grace_hopper.jpg"

BEST MATCH: n03763968 military uniform (82.85% likely)

Test Satellite Images

train 1

sbt "run-main demo.LabelImageInception inception5h train_1.jpg"

BEST MATCH: nematode (9.63% likely)
sbt "run-main demo.LabelImageInception inception3 train_1.jpg"

BEST MATCH: nematode (2.16% likely)
sbt "run-main demo.LabelImageInception inception3-handmade train_1.jpg"

BEST MATCH: n01930112 nematode, nematode worm, roundworm (2.36% likely)

train 10000

sbt "run-main demo.LabelImageInception inception5h train_10000.jpg"

BEST MATCH: nematode (9.63% likely)
sbt "run-main demo.LabelImageInception inception3 train_10000.jpg"

BEST MATCH: nematode (2.16% likely)
sbt "run-main demo.LabelImageInception inception3-handmade train_10000.jpg"

BEST MATCH: n01930112 nematode, nematode worm, roundworm (2.36% likely)

Observations

  • Inception v3, v5: different model, different results - but ALSO different from expected probabilities?

  • Inception v3, given and handmade, should be the same, but slightly different results

  • Is the Inception v3 2016_08_28 architecture the same as the Keras Inception v3 architecture?

  • Are the Inception v3 2016_08_28 weights the same as the Keras Inception v3 weights?

  • If yes to both, then either the Python freezing code or the Scala code is wrong

Improve with Raster Vision

Follow the Raster Vision instructions to setup and run experiments locally.

sbt "run-main demo.LabelImageRasterVision tagging/7_17_17/resnet_transform/0 train_1.jpg"

agriculture artisinal_mine bare_ground blow_down clear cloudy cultivation habitation haze partly_cloudy primary road 
MATCH: agriculture (93.61% likely)
MATCH: artisinal_mine (56.18% likely)
MATCH: bare_ground (74.19% likely)
MATCH: blow_down (53.86% likely)
MATCH: clear (82.79% likely)
MATCH: cloudy (61.66% likely)
MATCH: cultivation (46.70% likely)
MATCH: habitation (96.16% likely)
MATCH: haze (33.61% likely)
MATCH: partly_cloudy (46.89% likely)
MATCH: primary (88.13% likely)
MATCH: road (55.77% likely)

About

Predict labels on rasters processed by GeoTrellis using pre-trained Raster Vision models

License:Apache License 2.0


Languages

Language:Scala 50.9%Language:Shell 26.7%Language:Jupyter Notebook 13.5%Language:Python 8.8%