[CVPR 2018 oral] Context Encoding for Semantic Segmentation

illustrations illustrations illustrations illustrations illustrations illustrations illustrations

[CVPR 2018 oral] Context Encoding for Semantic Segmentation

참고자료:

[0] 원논문 저자 사이트: https://hangzhang.org/PyTorch-Encoding/model_zoo/segmentation.html

[1] CVPR2018 Oral Presentation [CVPR18 Oral] Context Encoding for Semantic Segmentation (https://www.youtube.com/watch?v=vAhzirU4WqA)

[2] 동영상 https://paperswithcode.com/paper/location-aware-upsampling-for-semantic/review/

Code 자료:

[1] https://github.com/zhanghang1989/PyTorch-Encoding

Abstract

1. Introduction

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%201.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%202.png

kernel 사이에 구멍이 있는 convolution이라는 뜻으로 볼 수 있다.

이런 kernel 사이의 간격을 dilation rate라고 정의하며 일반적인 convolution의 경우 dilation rate가 1로 볼 수 있다.

Contribution 1

  1. Context Encoding Module을 도입한 것. 그리고 여기에 Semantic Encoding Loss(SE-loss)를 같이 도입한 것.
    1. Context Encoding Module이라는 단순한 unit을 추가해줌으로써, Global scene context정보를 활용할 수 있다.
      • global context를 잡아내기 위해서, 그리고 class-dependent feature maps을 선별적으로 강조하기 위해, Encoding layer를 통합한다.
      • 네트워크가 해당 특정 scene안에서 어떤 물체가 존재하는 지를 예측하여, → semantics context에 대한 학습을 하도록 유도(enforce)한다.
      • 가령, 실내 이미지에서는 자동차의 가능성을 강조하지 않고(de-emphasized), city space 이미지에서는 도로(건물)와 비행기 보다는 도로(건물)와 자동차가 동시에 출연할 가능성이 높으므로 자동차의 가능성을 강조한다. (CVPR oral 내용)

    b. SE-loss: per-pixel loss와 다르게, SE-loss는 [ 크고 작은 objects들에 대해서 동일한 Contribution를 매김으로써, ] 측면에서 training 을 regularizing한다.

⇒ 결론적으로 단순한 구조이면서도, FCN based approach와 비등한(compatible) 성능을 보인다.

Contribution 2

  1. 새로운 Semantic Segmentation framework인 Context Encoding Network의 design과 구현

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%204.png

2. Context Encoding Module

Context Encoding

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%207.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%208.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%209.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2010.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2011.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2012.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2013.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2014.png

Untitled

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2016.png

Untitled

Untitled

Untitled

Untitled

ri = x_i - c_k

L2 scale과는 다르게..

scaling

smoothing factor:

Untitled

Untitled

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2023.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2024.png

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2025.png

Untitled

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2027.png

(Class가 많아서)

Untitled

Untitled

Conclusion

%5BCVPR%202018%20oral%5D%20Context%20Encoding%20for%20Semantic%20Seg%20a54c8e783e354dd2819920ec48f28663/Untitled%2030.png