Deep Learning for Satellite Imagery Feature Detection

Vladimir Iglovikov

Sr. Data Scientist at TrueAccord

Vladimir & Sergey. 3rd out of 419 teams.

$20,000 prize

  • Sr. Data Scientist at TrueAccord
  • PhD in Physics at UC Davis
  • San Francisco, USA
  • Kaggle Master
  • Deep Learning Engineer
  • BS in Computer Science
  • Angarsk. Siberia. Russia
  1. Industry => interpretability, scalability, size, throughput
  2. Academia => novelty
  3. Competitions => accuracy

Problem description

Input

Satellite images in

  1. RGB + P (450-690 nm) 0.31 m / pixel
  2. M band (400-1040 nm) 1.24 m / pixel
  3. A band (1195-2365 nm) 7.5 m / pixel

 

Output

Classes each pixel belongs to

  1. Buildings

  2. Misc. man-made structures

  3. Roads

  4. Track

  5. Trees

  6. Crops

  7. Waterways

  8. Standing water

  9. Vehicle (Large)

  10. Vehicle (Small)

  • Train set: 25 images
  • Test set: 32 images
    • ​​6 Public
    • 26 Private
  • ​​Each image 1km x 1km

Bands

RGB

M-band

A-band

Problem description

Evaluation metric

Issues with the data

  • Small amount of train data (25 km^2)
  • Data is very diverse (towns, jungles, farms)
  • Mistakes in labeling
  • Big class imbalance
  • Different distributions in train / public test / private test

Issues with the data

The same car

Cars + trash cans marked as cars

Water classes: sometimes simple solutions work better

NDWI = \frac {Green - NIR} {Green + NIR}
NDWI=GreenNIRGreen+NIRNDWI = \frac {Green - NIR} {Green + NIR}

Text

Indices

  1. NDWI: Normalized difference water index
  2. EVI: Enhanced vegetation index
  3. SAVI: Soil-Adjusted Vegetation Index
  4. CCCI: Canopy Chlorophyl Content Index

Neural network pipeline

  • Buildings

  • Misc. man-made structures

  • Roads

  • Track

  • Trees

  • Crops

Network ​architecture

Local boundary effects

Local boundary effects

Problem

Prediction quality decreases at the edges

Solution

Added Cropping2D layer

Global boundary effects

Problem

We need integer number of tiles    => 

Problem

Zero Padding creates artifacts    => 

Solution

Zero Padding

Solution

Reflection Padding

Test time augmentation

Results

  1. Water classes => unsupervised
  2. Car classes => did not predict
  3. Other classes => U-net per class
  4. Input 4 indices + M-band + P-band + RGB
  5. Test time augmentation

Summary

Hardware

Vladimir

Core i7

RAM 32 Gb

Titan X (Pascal)

Sergey

2x Xeon E5-2670

RAM 128 GB

GTX 1080

Ongoing Deep Learning competitions

  1. Intel & MobileODT Cervical Cancer Screening (June 21, $100,000)

  2. NOAA Fisheries Steller Sea Lion Population Count (June 27, $25,000)

  3. ImageNet 2017. (Jun 30)
  4. Planet: Understanding the Amazon from Space (July 20, $60,000)

Using Deep Learning for Satellite Imagery Feature Detection Challenge

By Vladimir Iglovikov

Using Deep Learning for Satellite Imagery Feature Detection Challenge

  • 3,314