Monitoring Pack-ice Seal Populations from Space with Deep Learning - - PowerPoint PPT Presentation

monitoring pack ice seal populations from
SMART_READER_LITE
LIVE PREVIEW

Monitoring Pack-ice Seal Populations from Space with Deep Learning - - PowerPoint PPT Presentation

Monitoring Pack-ice Seal Populations from Space with Deep Learning Bento Gonalves Outline Introduction Antarctic Ecology 101 Intro to computer vision Seal detection pipeline Present work Training set Haul out detection


slide-1
SLIDE 1

Monitoring Pack-ice Seal Populations from Space with Deep Learning

Bento Gonçalves

slide-2
SLIDE 2

Outline

Introduction

  • Antarctic Ecology 101
  • Intro to computer vision
  • Seal detection pipeline

Present work

  • Training set
  • Haul out detection CNNs
  • Counting CNNs

Summary and next steps

1/20

Big Picture: How many pack-ice seals are in Antarctica?

slide-3
SLIDE 3

Introduction

slide-4
SLIDE 4

Antarctic Ecology 101

2/20

slide-5
SLIDE 5

Antarctic Ecology 101

2/20

slide-6
SLIDE 6

Antarctic Ecology 101

2/20

slide-7
SLIDE 7

Intro to computer vision

  • Artificial neural networks –

Deep learning

  • Convolutional neural networks

(CNN)

  • Data hungry
  • Computationally expensive

Convolutions Convolutions Subsampling Subsampling Input image Output

3/20

slide-8
SLIDE 8

Intro to computer vision

  • Artificial neural networks –

Deep learning

  • Convolutional neural networks

(CNN)

  • Data hungry
  • Computationally expensive
  • CNN Architectures:
  • VGG16
  • Resnet
  • Inception

3/20

slide-9
SLIDE 9

High-resolution satellite imagery

  • WorldView-3
  • 31cm resolution at

nadir

  • Coverage is not as

good as low-res sensors (e.g. MODIS)

  • Scene (~ 300 km2) vs.

Patch (1 ha)

4/20

slide-10
SLIDE 10

Model framework – pipeline

STEP 1: Buffer out scenes that are too far from the coastline or with too much cloud cover, split remaining scenes into patches

5/20

slide-11
SLIDE 11

Model framework – pipeline

STEP 2: Extract environmental data at input locations STEP 1: Buffer out scenes that are too far from the coastline or with too much cloud cover, split remaining scenes into patches

5/20

slide-12
SLIDE 12

Model framework – pipeline

STEP 2: Extract environmental data at input locations STEP 1: Buffer out scenes that are too far from the coastline or with too much cloud cover, split remaining scenes into patches STEP 3: Sweep through patches with a classification CNN trained on groups of seals

5/20

slide-13
SLIDE 13

Model framework – pipeline

STEP 2: Extract environmental data at input locations STEP 1: Buffer out scenes that are too far from the coastline or with too much cloud cover, split remaining scenes into patches STEP 3: Sweep through patches with a classification CNN trained on groups of seals STEP 4: Locate and count individual seals inside flagged patches with a detection CNN

5/20

slide-14
SLIDE 14

Groups of seals – crabeaters

6/20

slide-15
SLIDE 15

Single seals

6/20

slide-16
SLIDE 16

BONUS: emperor penguins

7/20

slide-17
SLIDE 17

BONUS: emperor penguins

7/20

slide-18
SLIDE 18

Present work

slide-19
SLIDE 19

Training set creation

  • Patch extraction
  • ~78000 labeled patches

across >30 scenes

  • 11 training classes
  • Context information:
  • Broad spatial context
  • Environmental covariates

8/20

slide-20
SLIDE 20

9/20

slide-21
SLIDE 21

Multiscale training set

  • Spatial pyramid
  • Provide broad spatial

context

  • Broad context bands

down-sampled to patch size

10/20

slide-22
SLIDE 22

Multiscale training set

  • Spatial pyramid
  • Provide broad spatial

context

  • Broad context bands

down-sampled to patch size

10/20

slide-23
SLIDE 23

Multiscale training set

  • Spatial pyramid
  • Provide broad spatial

context

  • Broad context bands

down-sampled to patch size

10/20

slide-24
SLIDE 24

Data augmentation scheme

  • Random crops
  • Random rotations
  • Mirroring
  • Contrast
  • Brightness

11/20

slide-25
SLIDE 25

Positive classes

Emperor penguin – 7105 patches Crabeater seal – 4174 patches Weddell seal – 981 patches Marching-emperor – 1060 patches

12/20

slide-26
SLIDE 26

Hard negatives

  • 7 classes, including open water,

pack ice (without seals), etc.

13/20

slide-27
SLIDE 27

Haul out detection CNNs

Model architectures:

  • Resnet18, Densenet169,

etc.. (already implemented with PyTorch)

  • NASNet (Zoph et al 2017)

Training setup

  • Adam optimizer with

learning rate 0.001 and 0.95 learning rate decay per epoch

  • Trained from scratch with

cross-entropy loss

arXiv:1707.07012 [cs.CV] 14/20

slide-28
SLIDE 28

Validation

  • Best performing

architecture is task dependent

  • Precision:

TP / (TP + FP)

  • Recall:

TP / (TP + FN)

model architecture 14/20

slide-29
SLIDE 29

Solutions for counting small objects

Regression CNN

  • Maps image to a real number
  • Training objective: match ground-

truth count (minimize mean-squared error)

Object detection CNN

  • Detects individual seals in an image
  • Training objective: match the position
  • f predicted seals and ground-truth

location (minimize Euclidean distance)

15/20

slide-30
SLIDE 30

Regression CNNs

arXiv:1703.08710 [cs.CV]

Model architectures

  • CountCeption (Cohen et al 2017)
  • WideResnet
  • Modified classification CNNs

Subitizing

16/20

slide-31
SLIDE 31

Regression CNNs

Model architectures

  • CountCeption (Cohen et al 2017)
  • WideResnet
  • Modified classification CNNs

Subitizing Validation results

arXiv:1703.08710 [cs.CV] model architecture 16/20

slide-32
SLIDE 32

Pipeline output

Class crabeater rock Pack-ice Count 17/20

slide-33
SLIDE 33
slide-34
SLIDE 34

2018 onwards

slide-35
SLIDE 35

Hyperparameter search

  • The usual… (learning rate, decay, batch size, etc.)
  • Input image size (training set and model)
  • Augmentation scheme
  • Number (and dimensions) of multi-scale bands

(multiscale training set)

  • Model architectures

18/20

slide-36
SLIDE 36

Train model Get results Think Update model / training set

Training a CNN: an iterative process

19/20

slide-37
SLIDE 37

Summary

  • Promising approach for pan-Antarctic pack-ice seal survey
  • 2018 onwards:
  • 1. Larger training set (2017-18 imagery not yet incorporated)
  • 2. Apply pan-sharpening to panchromatic imagery training set
  • 3. Leverage environmental covariates and a priori knowledge about pack-ice

seal biology

  • 4. Include broad spatial context for input patches
  • 5. Get better ground-truth for seal counts / locations

20/20

slide-38
SLIDE 38

Summary

  • Promising approach for pan-Antarctic pack-ice seal survey
  • 2018 onwards:
  • 1. Larger training set (2017-18 imagery not yet incorporated)
  • 2. Apply pan-sharpening to panchromatic imagery training set
  • 3. Leverage environmental covariates and a priori knowledge about pack-ice

seal biology

  • 4. Include broad spatial context for input patches
  • 5. Get better ground-truth for seal counts / locations

Computational resources significant – requires substantial investment in HPC cyberinfrastructure for imagery

20/20

slide-39
SLIDE 39

Acknowledgements

slide-40
SLIDE 40

ICEBERG - Imagery Cyberinfrastructure and

Extensible Building-Blocks to Enhance Research in the Geosciences

  • One piece in the bigger

picture

  • Empowering polar sciences

with HPC

  • Bridges supercomputer
slide-41
SLIDE 41

Confusion matrices (Haulout CNNs)

Densenet 169 NASnet