Deep Learning/[논문] Paper Review
DeepLab V2: Semantic Image Segmentation with Convolutional Nets, Atrous Convolution and Fully Connected CRFs
a._muj
2023. 7. 5. 00:18
728x90
반응형
- Deeplearning의 CNN 네트워크는 영상처리의 대부분의 문제에서 그 효과를 발휘하고 있음. classification와 objectDetection 문제에서 꽤나 좋은 효과를 발휘를 하였는데, 이를 segmentation에 적용을 했더니 여기서도 성능이 좋았네~
- 하지만 기존의 네트워트가 classification 문제에 적합하게 구조가 짜져있어서 이를 segmentation 문제에 적용하기 위한 여러논문이 나오기 시작하는데 여기서는 deeplab이 해당됨
- 즉 CNN이 가지고 있는 한계점을 어떻게 극복해낼 것인가
1. Intro
- Deep Conv Neural Networks(DCNNs)는 image classification, object detection 등의 전반적인 CV 분야에서 좋은 성능을 보여주는데 많은 영향을 끼침
- DCNN은 end-to-end 및 built-in invariance 성질을 지니고 있기 때문.※ end to end: End-to-end는 입력에서 출력까지의 전체적인 시스템을 하나의 모듈로 구성하여 최적화하는 방식
- 일부 변화에 대해 자동으로 불변성을 가지는 것을 의미함
- CNN은 이미지 내의 특징(feature)을 인식하고, 위치에 상관없이 특징을 인식하는 능력을 가짐. 이러한 내장 불변성 덕분에, CNN은 이미지의 위치, 회전, 크기 등의 변화에 상관없이 효과적으로 작동할 수 있음
- ※ built-in invariance: 내장 불변성, ex) CNN, 언어모델
- 하지만 invariance는 semantic segmentation 같은 dense prediction task를 저하시킨다고 함.※ 분류와 같은 task에서는 좋음 ( 불변성의 기능 )but, Semantic Segmentation과 같은 dense prediction task에서는 이러한 변형된 객체를 정확하게 인식해야 하기 때문에 Invariance를 너무 강조하면, 정확한 Segmentation 결과를 얻기 어렵다는 문제 발생
- ex) 얼굴 인식 시스템을 만들 때, 얼굴이 기울거나, 조명이 어둡거나, 방향이 다르거나, 착용하는 모자나 안경 등으로 인해 얼굴이 변형되어도 인식이 가능하도록 만드는 것이 Invariance의 장점.
- 따라서 DCNNs를 semantic image segmentation에 적용시킬 때, 세 가지 challenge가 존재
- Reduced feature resolution
- Existence of objects at multiple scales
- Reduced localization accuracy due to DCNN invariance
- Reduced feature resolution
- 계속되는 max-pooling 및 downsampling 때문에 발생
- 계속 conv를 통과시킬 경우, feature map은 매우 작아질 것임
- 이를 해결하기 위해 DCNN의 마지막 max pooling layer들을 filter upsampling으로 non-zero filter taps에 ‘구멍’을 넣는 방식으로 진행함
- upsampled filter을 atrous convolution이라고 부름
- atrous convolution을 통해 파라미터 개수나 연산량 증가시키지 않아도 filter의 view(receptive field)를 증가시킬 수 있음
- Existence of objects at multiple scales
- spatial pyramid pooling에서 영감을 얻음 (병렬처리)

- 기존에는 원본 이미지 크기를 여러개로 rescaling해서 피처맵의 크기를 합치는 방식으로 진행했었음 → 연산 비용의 증가 문제 발생
- 따라서 병렬적인 atrous convolutional layer들에 다른 sampling rate를 대입함
- 이를 통해 물체 파악하고 여러 scale에서 이미지를 파악할 수 있음 ⇒ ASPP라고 칭함
- Reduced localization accuracy due to DCNN invariance
- 분류와 같은 경우 공간적 불변성을 얻기 위해 여러 단계 conv+ pooling을 통해 강인한 특징을 추출해야 함 (변화에 영향을 받지 않는 → 분류 문제이므로) 그래서 detail한 것보다는 좀 더 global한 것에 집중함
- 반면, sementic segmentation의 경우, 픽셀 단위의 조밀한 예측이 필요한데, classification 망을 기반으로 segmentation 망을 구성하게 되면 피처맵의 크기가 줄어들기 때문에 detail한 정보를 얻을 수 없음. 따라서, CRF를 도입하여 미세한 디테일 파악하고자 함 (경계 부분 모호)※ CRF: 마지막에 오는 pooling layer 2개를 없애고 atrous conv 사용 → 추가적으로 CRF를 후처리 과정으로 사용하여 픽셀 단위 예측의 정확도를 높이는데 사용함.
→ 속도, 정확도, 간결성 3가지를 지닌 모델

2. Related Work
- 과거의 sementic segmentation은 직접 제작한 feature에다가 boosting이나 랜포 SVM과 같은 flat classifier을 사용했다고 함 (수작업)
- 딥러닝 발전이 이미지 분류에서 성공적으로 이루어졌고, 이를 이어 sementic segmentation 작업으로 이전되기 시작함
- → segmentation과 classification 두 가지 작업을 모두 수행해야 하므로 두 개의 task를 합치는 것이 관건이 됨
→ Sementic segmentation에서 사용된 DCNN은 3가지 방법법으로 나눌 수 있음
- bottom-up segmentation 및 DCNN 기반의 region classification을 진행함

- 하나의 객체 안에 여러 segmentation을 만들어서 합치는 과정을 의미
- 하지만 중간에 error가 발생하면 극복할 수 없다는 단점이 존재
- image labeling에 사용된 DCNN feature 들과 독립적으로 얻은 segmentation을 결합하는 방식
- image labeling을 수행하고, 독립적으로 얻은 segmentation과 결합하는 방식을 기반으로 함
- skip layer, region proposal 등을 사용하는 방법들을 사용
- but, DCNN classification 결과와 분리된 segmentation 알고리즘을 사용해서 작업을 수행하기 때문에, classification의 결과를 무시하는 결과를 초래할 수 있음 ( premature decisions라고 표현함 )
- DCNN을 사용해 바로 category-level pixel label들을 추출함으로써 segmentation을 아예 배제
- DCNN을 통해 segmentation 문제를 푸는 대신, 이미지의 각 픽셀에 대해 해당 픽셀이 속한 카테고리를 바로 추출하는 것을 의미
- 특징 추출 및 분류 과정이 동시에 이루어진다고 해석하면 될듯. (feature 추출과 boundary 검출이 동시에 이루어짐)??
- 본 논문에서는 이 방법을 활용※ category-level-pixel label: 이미지 내의 각 픽셀이 어떤 클래스에 속하는지를 나타내는 것을 의미. ex) 이미지 내의 각 픽셀이 사람, 자동차, 나무 등의 클래스 중 어디에 해당하는지를 분류하는 작업을 말함
3. Methods

3.1 Atrous Convolution for Dense Feature Extraction and Field-of-View Enlargement
- 더 넓은 feature map을 cover하기 위해 기존 pooling, striding을 통해 공간 resolution이 감소했고, 작아진 feature map을 복원하면서 성능이 낮다는 문제가 있었음.
- 본 논문에서는 atrous convolution을 활용하여 down sampling을 하지 않고 큰 범위의 정보를 추출하는 방법을 제시

※ (a)는 sparse feature extraction으로써 r=1일 때, (b)는 dense feature extraction으로써 r=2일 때를 나타냄.
※ (b)를 살펴보면 r=2로 설정하였기 때문에 사이에 0이라는 공백이 하나 생기고, stride = 1으로 유지되었기 때문에 receptive field의 값이 커짐

- astrous conv는 dilated된 필터를 사용하기 때문에 pooling과 같은 방법으로 데이터 손실을 발생시키지 않더라도 넓은 receptive field를 관찰을 할 수가 있다. 이를 통해 기존의 CNN이 가지고 있는 detail 부족 해결을 할수가 있는 것임.
- 빨간선 알고리즘에 대한 설명: 예를 들어 VGG-16이나 ResNet-101 네트워크의 feature response에서 spatial density를 2배 증가시키고 싶다고 할 때, 먼저 해상도를 줄이는 마지막 pooling/convolutional layer을 찾음.
- 그 다음 feature map 크기 줄어드는 것을 막기 위해 stride = 1로 설정하고, 그 이후의 convolution layer을 atrous convolutional layer with r = 2로 바꿔줌. 비용이 많이 든다는 한계가 존재하게 됨
- 그래서 이를 해결하기 위한 방법으로 이중 선형 보간법을 사용한다고 함(atrous convolution을 사용하여 해상도를 4배 증가시키고, fast bilinear interpolation을 사용하여 해상도를 8배 증가시켜 원본 이미지 해상도로 복구하는…몰라요)
→ atrous conv + 이중 선형 보간법을 통해 고해상도 유지하는 것을 hybrid approach 방법이라고 말함
- Atrous convolution은 어느 DCNN layer에서나 임의로 filter의 field-of-view를 증가시킬 수 있게 한다. SoTA DCNN들은 주로 3*3과 같은 작은 convolutional kernel들을 사용하여 연산과 parameter의 개수를 최소한으로 함.
- 만약 rate가 r인 atrous convolution이 있다면, 그 filter값들 사이에는 r-1개의 0들이 있다.
- 즉, filter의 kernel size를 연산이나 parameter 개수의 증가 없이 ke=k+(k-1)(r-1) 개로 증가시켜주는 역할도 함ex) 3x3 필터이고, r=2인 경우, 3+2*1=5 즉, 5x5 receptive field를 가진다고 생각하면 됨
- 이렇게 해주면 계산량이나 매개변수 수를 증가시키지 않아도 좋은 효과를 얻을 수 있음
- kernel에 rate 설정해서 feature map sampling하는 방법 (위에 나온 방법)
- 입력 feature map을 rate 만큼 sub sampling해서 deinterlace 과정을 통해 r^2만큼 감소된 해상도 맵을 생성함→ 이렇게 만들어진 중간 feature map에 표준 conv를 적용해서 원래 이미지 해상도로 reinterlacing※ interlaced image란 텔레비전과 같은 영상 장치에 아날로그 BW를 높이지 않고 표시할 영상 품질을 개선하기 위한 방식으로서 홀수줄 짝수줄을 번갈아서 출력한다는 개념
- 약간 번갈아가면서 sub sampling을 해줬다 이런 느낌..인 것 같아요
- → Atrous convolution을 일반적인 convolution으로 축소하여 최적화된 convolution 루틴을 사용할 수 있다..
3.2 Multiscale Image Representations using Atrous Spatial Pyramid Pooling
3.3 Structured Prediction with Fully-Connected Conditional Random Fields for Accurate Boundary Recovery (CRF)

- 줄였다가 bi-linear interpolation방법을 통해서 늘리고 fully connected CRF로 더욱 정확도를 높이는 방식을 따름.
- max-pooling layer들이 증가하면 classification에서 좋은 성과를 내지만, 그에 따라 invariance도 높아지기 때문에 localization이 제대로 이루어지지 못함. 경계를 제대로 묘사하지 못하기 때문 (위에서 설명)
- DeepLab은 Fully-Connected CRF를 사용하여 localization accuracy를 증가시킴
- Fully connected CRF의 모델 ⇒ energy function의 사용 (unary term + pairwise term)으로 구성됨

- x → pixel에 대한 라벨링 분류
- 첫번째 항: 특정 pixel i에서의 label assignment 확률

- 두 번째 항: 각 이미지 픽셀이 하나로 합쳐졌을 때, 물체 및 그 위치에 대한 추론을 효율적으로 해줌

- 여기서 xi≠xj일 때 μ(xi, xj) = 1로, 같은 경우 0의 값을 취하도록 하면서 같은 픽셀끼리는 서로 연산이 불가능하도록 설정.
- pi, pj: 픽셀의 위치(position)
- li, lj: 픽셀의 컬러값(intensity)
- 첫 번째 가우시안 커널: 비슷한 위치와 비슷한 컬러를 갖는 픽셀들에 대해 비슷한 label이 붙을 수 있도록 해줌
- 두 번째 가우시안 커널: 픽셀의 위치만을 기반으로 조정. smoothness(노이즈 제거)를 요구할 때 위치적 가까움이 얼마나 충족되었는지를 고려
- σα, σβ, σγ: Gaussian kernel의 scale을 조정→ Fully Connected CRF의 energy function은 Gaussian꼴의 kernel 때문에 확률적 추론이 효율적으로 이루어지도록 함
※ 가우시안 커널(Gaussian kernel)은 가우시안 분포를 이용하여 생성된 필터(kernel)를 말함. 가우시안 분포는 자연 현상에서 빈번하게 나타나는 정규 분포(normal distribution) 중 하나로, 중심을 기준으로 좌우 대칭의 종 모양 분포를 가지고 있음. 가우시안 분포를 이용하여 생성된 필터는 이미지나 신호 처리에서 smoothing, blurring, denoising 등의 용도로 널리 사용됨. 가우시안 필터의 크기와 표준 편차(standard deviation)는 필터의 성능과 연산 비용에 영향을 미치며, 일반적으로 크기가 클수록 smoothing 효과가 더 강해지지만, 계산 비용이 증가함

4. Experimental Results
- DeepLab은 imagenet-pretrained VGG-16 / ResNet-101 네트워크를 fine-tuning하여 semantic segmentation에 적용함
- Loss Function: Cross-Entropy Loss
- 모든 라벨들은 동등한 weight을 지니고 있음(unlabeled pixel 제외)
- Optimization : standard gradient descent
- 모델 성능 확인: PASCAL VOC 2012, PASCAL-Context, PASCAL-Person-Part, Cityscapes
4.1 PASCAL VOC 2012
- PASCAL VOC 2012 데이터셋은 20개의 object class와 하나의 background class로 이루어져 있음
- 1,464개의 training set, 1,449의 validation set, 1,456개의 test set이 pixel-level 이미지의 형태.
- 추가적으로 data augmentation을 통하여 10,582 training이미지를 얻음
- 성능은 21개의 class에 대한 IOU로 확인
- VGG16의 fc6 layer를 atrous conv로 변경하며 아래와 같은 구조를 사용

- pretrained VGG-16 for ImageNet를 사용
- batch size : 20
- lr : 0.001 (multiplying the learning rate by 0.1 every 2000 iterations)
- momentum : 0.9
- weight decay : 0.0005
- w2와 σγ 값은 3으로 설정, 최적의 w2, σα, σβ 값을 찾기 위해 validation을 통하여 조정

- Test Set에서 DeepLab-LargeFOV는 70.4 mean IOU performance를 얻음

4.2 PASCAL Context
4.3 PASCAL-Person-Part
4.4 Cityscapes
728x90
반응형