본문 바로가기

인턴일지

Semantic Segmentation 강의 정리

semantic segmentation 강의를 듣고 내용을 정리했습니다. 우연히 발견한 lecture인데, 앞으로 많이 애용할 것 같습니다! 논문 리뷰를 통해 segmentation 딥러닝 발전 과정을 쉽고 재밌게 설명하는 강의입니다.

https://www.edwith.org/deeplearningchoi/lecture/15554/

 

[LECTURE] 이미지의 각 픽셀을 분류하는 Semantic Segmentation : edwith

학습목표 Sematic Segmentation은 각 이미지 내의 픽셀별로 픽셀이 어디에 속하는지 분류를 해결하는 문제로, 본 강의에서는 이 Semantic Segmentation의... - 커넥트재단

www.edwith.org

 

Semantic Segmentation은 각 이미지 내의 픽셀별로 픽셀이 어디에 속하는지 분류를 해결하는 문제이다. 이 분야는 실생활에서 의료, 교통 분야에 많이 활용되고 있으며, 특히 자율 주행 자동차 기술에 많이 접목되어 있다.

>> 테슬라의 자율 주행차 사고는 semantic segmentation으로 사람을 하늘로 착각하여 발생한 사고이다.

 

1. Fully Convolutional Networks for Semantic Segmentation(2015, 2017)

FCN으로도 불리며 이 논문은 100X100X3 → 100X100X20(class) 인 end-to-end 방식이다.
기존 방식과 차이점은

1) fully connection 대신 fully convolution 사용
컨볼루션만 사용하면 input size에 제약이 없다. (input size가 커지면 output size도 커짐)
fully connection은 input size가 일정해야 한다.
- fully connection: vector
- fully convolution: 3차원 tensor (reshape 후 진행됨)

2) interpolation을 deconvolution 사용
resolution을 키울 때 deconvolution을 사용한다.

3) skip connection 사용

 

2. Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs(2016)

기존의 semantic segmentation은 2가지 문제점이 있다.

1) signal downsampling
Atrous algorithm 제안
: 기존에는 입력이미지 사이즈에 비해 low resolution을 가진다. dense feature를 만들기 위해 이 알고리즘은 resolution을 높이는 과정에서 커널 중간중간에 0을 넣어 size를 키운다. (Added holes 라고도 불린다.)

2) spatial insensitivity (윤곽선이 정확하지 않음)
conditional random field (후처리)
: 딥러닝 방법이 아닌 후처리 방법이다. FCN 전에 사용하던 방법으로, '사람'이라는 정보의 pixel이 있다면 주위 pixel이 '사람'일 가능성이 높은 것을 이용하였다.

 

3. Learning Deconvolution Network for Semantic Segmentation(2015)

기존의 방법에 2가지의 문제제기를 한 후 해결책을 제시했다.

1) Network has a predefined fixed size reception filed (큰 물체 or 작은 물체를 놓친다.)

2) Details are often lost
⇒ 1X1로 resolution을 줄였다 키우는 모델을 사용한다. 이를 위해 uppooling을 사용하는 것이 다른 모델과의 차이점이다. (uppooling은 좌우대칭이 필요하다.)

또한, 3가지를 강조했다.
첫 번째, batch normalization 중요성
두 번째, two stage training (큰 것을 먼저 segmentation한 후 작은 것을 segmentation)
세 번째, Ensemble model 이용

 

4. DeepLab- Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs(2016)

기존 방법에 3가지를 문제제기 한 후 해결책을 제시했다.

1) spatial 정보를 놓친다.
Atrous convolution 사용

2) 물체 scale들이 다르다.
Atrous spatial pyramid pooling (ASPP)

3) 윤곽선을 잘 못잡는다.
conditional random fields

2번 논문에서 ASPP가 추가된 것으로 볼 수 있다.

 

5. state-of-the-art semantic segmentation 모델

1) UNET : 앞단 정보 concate (channel이 증가 ⇒ memory consumption 증가)

2) Deep contextual network (memory consumption 낮음)

3) FusionNet : 앞단 정보 add (memory consumption 증가)

4) Pyramid Scene Parsing Net : 미리 훈련된 FCN with ResNet 사용가능 (학습시간 줄어듬 ⇒ memory consumption 낮음)