26
Jason Bolito, Research School of Computer Science, ANU RGBd Image Semantic Labelling for Urban Driving Scenes via a DCNN Supervisors: Yiran Zhong & Hongdong Li

RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Jason Bolito, Research School of Computer Science, ANU

RGBd Image Semantic Labelling for Urban Driving Scenes via a DCNN

Supervisors: Yiran Zhong & Hongdong Li

Page 2: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Outline

1. Motivation and Background

2. Proposed Method

3. Implementation, Experiment and Results

4. Conclusion and Future Work

2

Page 3: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Motivation – Semantic Segmentation

• Understanding road scenes.• Useful for autonomous cars and drones.

3

Source: cityscape datasets.

Page 4: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Semantic Segmentation vs. Object RecognitionObject Recognition Semantic Segmentation

4

“Person”

“Road” “Person” “Vegetation” “Motorcycle”Source: cityscapes-datasets.com

Page 5: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

What we want from our method

• Leverage both 3D and colourinformation.

• Attain more accurate and robust semantic segmentation.

5

Page 6: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background – RGB Semantic Labelling

• Earlier days: CRFs (low level vision cues).

• Recently: Deep Neural Nets.

6

Page 7: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background – Fully Convolutional Networks

7

• Pixels to pixels approach.• Builds on VGG16. (encoder)• Upsampling using deconvolution to get label map. (decoder)

Source: FCNs for semantic segmentation by J. Long et al.

Page 8: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background – Deconvolution Networks

8

• Expands VGG16. (encoder)• Uses unpooling + deconv to get label map. (decoder)

Source: Learning Deconvolution Network for Semantic Segmentation by H. Noh et al.

Page 9: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background – SegNet

9

• Similar encoder-decoder structure.• Removes fully connected layers.• Prioritises memory efficiency.

Source: SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation by V. Badrinarayanan et al.

Page 10: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background – RGBd Semantic Labelling

• HHA representation (Saurabh et all, 2014).

• Hard mutex constraints (Deng et al 2015).

• LSTM-F (Li et al, 2016).

• Fusenet (Hazirbas et al, 2016).

10

Page 11: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Background (cont’d)

• Presented methods use depth as a channel.

• Depth used as generic information.

• 3D structure not considered/learned.

11

Page 12: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Proposed Method – Ideas

12

• Use depth to partially reconstruct 3D scene.

• Use 3D convolution to capture structure.

• Apply encoder-decoder design to achieve rich segmentation maps.

Page 13: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Proposed Method – S3D

Deconv3D + ReLUConv3D + ReLU

SoftmaxConv3D (2x stride) + ReLU

Encoder

Decoder

32 64 64 64 128Featuremaps

13

Page 14: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Input Layer

• Input RGB image I is voxelised via disparity map D:

• 2.5D reconstruction of environment.

• Points at infinity have disparity 0.

14

I3D(z , x , y , c) :=

⇢I(x , y , c), for z = bD(x , y)c0, otherwise

,

Page 15: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Encoder

• Feature extraction via 3D convolution:

• Each 3x3x3 filter is a learnable template.

• High response = input matches template.

• 3D structure = 3D input + 3D templates15

Fout

(z , x , y , cout

) =X

k,i ,j ,cin

Fin

(z + k , x + i , y + j , cin

)Kcout

(k , i , j , cin

)

Page 16: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Encoder (cont’d)

• Non-linear activation function:

• Good gradients for backprop.

• Learnable downsampling = strided 3D convolution.

16

ReLU(x) = max(0, x)

Page 17: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Decoder

• 3D deconvolution = “inverse” of 3D convolution.

• Already implemented as backwards Conv3D pass.

• Learnable upsampling = strided 3D deconvolution.

17

Fout

(z + k , x + i , y + j , cout

) +=X

cin

Fin

(z , x , y , cin

)Kcout

(k , i , j , cin

)

Page 18: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Decoder (cont’d)

• Skip layers (top down modulation)

18

Conv3D ...

...Deconv3D...

Shallow=

Low level features

Deep=

High level knowledge

Helps with convergenceand refines features

Page 19: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

S3D building blocks – Inference

• Use softmax to get probability cube:

• Argmax over classes to get 3D labels:

• Project using D to get 2D labels:

19

ˆP(z , x , y , c) :=exp(F(z , x , y , c))P

c02Classes exp(F(z , x , y , c0))

ˆL3D(z , x , y) := argmax

c2Classes

ˆP(z , x , y , c).

L̂(x , y) := L̂3D(bD(x , y)c , x , y)

Page 20: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Implementation

20

• Implemented using a deep-learning facadeAPI and TensorFlow.

Page 21: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Experiment and Results

• Dataset: Cityscapes (urban scene dataset)

• Splits: 2795 training / 500 test images over 50 cities.

• GPU: Nvidia GeForce Titan X Pascal.

21

Page 22: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Experiment and Results (cont’d)

• Image size: 128x64x128• Iterations: Around 30k• Results: (State of Art has mIoU = 80.1%)

• Learning feature extraction takes a while.• Can we de better?

22

G mIoU C Gtest mIoUtest Ctest

0.908 0.533 0.399 0.833 0.444 0.295

Page 23: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Experiment and Results (cont’d)

• Trick: Let pre-trained 2D DCNN do feature extraction.

• Use S3D on extracted features.

• Not SoA but matches DeepLab (71.4%)!• Depth accuracy/efficiency trade-off!

23

Method G mIoU C Gtest mIoUtest Ctest time/it (s)

S3D-ResNet-38-128 0.958 0.717 0.606 0.949 0.691 0.56 1.35

S3D-ResNet-38-48 0.96 0.748 0.622 0.942 0.715 0.57 0.513

S3D-ResNet-38-16 0.954 0.722 0.597 0.943 0.69 0.548 0.169

Page 24: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Conclusion and Future Work• Presented a DNN solution for semantic segmentation.

• Solution fully utilises 3D structure.

• Achieves good results especially when used on pre-extracted features.

• Good results achieved without any extra goodies! (CRFs, data augmentation, …)

• There is plenty of room for improvement!

24

Page 25: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Conclusion and Future Work (cont’d)

• Need to push S3D to the limit.

• Can be done with post-processing, balancing, upsampling, …

• What happens when we generalise one of the other architectures to 3D?

25

Page 26: RGBd Image Semantic Labelling for Urban Driving Scenes via ...courses.cecs.anu.edu.au/courses/CSPROJECTS/17S1/Final_presenta… · Motivation – Semantic Segmentation • Understanding

Questions?

26

Thank You!