DOI QR코드

DOI QR Code

Multi-Path Feature Fusion Module for Semantic Segmentation

다중 경로 특징점 융합 기반의 의미론적 영상 분할 기법

  • Park, Sangyong (Dept. of Electrical and Computer Engineering, Ajou University) ;
  • Heo, Yong Seok (Dept. of Electrical and Computer Engineering, Ajou University)
  • Received : 2020.11.11
  • Accepted : 2020.12.28
  • Published : 2021.01.31

Abstract

In this paper, we present a new architecture for semantic segmentation. Semantic segmentation aims at a pixel-wise classification which is important to fully understand images. Previous semantic segmentation networks use features of multi-layers in the encoder to predict final results. However, they do not contain various receptive fields in the multi-layers features, which easily lead to inaccurate results for boundaries between different classes and small objects. To solve this problem, we propose a multi-path feature fusion module that allows for features of each layers to contain various receptive fields by use of a set of dilated convolutions with different dilatation rates. Various experiments demonstrate that our method outperforms previous methods in terms of mean intersection over unit (mIoU).

Keywords

1. 서론

의미론적 영상 분할(semantic segmentation)은 Fig.1과 같이 입력 영상의 각 픽셀에 대해서 미리 정의된 클래스(class)들 중의 하나를 할당하여 영상 분할을 목표로 한다. 이는 컴퓨터 비전 분야에서 근본이 되는 기술이며, 자율주행, 위성 영상 분석, 증강현실 등의 최근 관심을 받고 있는 많은 컴퓨터 비전 분야에 적용할 수 있는 기술이다.

Fig. 1. Definition of semantic segmentation problem.

일반적으로 의미론적 영상 분할은 높은 정확도를 얻기 힘든 문제로 알려져 왔다. 그 이유는 입력 영상에 비슷한 시각적인 특성을 가지는 클래스들이 포함될 수 있고, 같은 클래스에 해당하는 물체라도 카메라와 물체 사이의 거리에 따라 물체의 크기가 달라질 수 있기 때문이다.

최근, 딥러닝(deep learning) 알고리즘을 다양한 컴퓨터 비전 문제에 적용하면서, 다양한 컴퓨터 비전 문제들에서 큰 성능 향상을 이루었다. 의미론적 영상 분할에서도 딥러닝 기반의 Fully Convolutional Net- works(FCN)[1]방법이 소개된 이후로, 딥러닝을 적용하지 않은 기존의 기법들과 비교하여 정확도가 크게 향상되었다. FCN[1]은 입력 영상에서 여러 합성곱층(convolution  layers)으로 구성된 암호기(encoder) 를 통하여 특징점(feature)을 구하고, 입력 영상보다 공간적인 크기가 작아진 특징점을 전치 합성곱 (transposed convolution)을 이용하여 특징점의 공간적인 크기를 업 샘플링 (upsampling)하여 입력 영상과 동일한 크기를 가지는 예측 결과 영상을 만든다. FCN[1]은 기존의 딥러닝을 사용하지 않은 방법들보단 정확도가 높지만, 여전히 클래스별 경계 부분에 섬세한 정보가 정확하지 않은 문제가 있다.

이러한 문제를 해결하기 위해, 입력 영상을 여러 층의 합성곱으로 이루어진 암호기를 통해 계산된 특징점을 입력 영상과 같은 크기의 예측 결과 영상을 만드는 복호기(decoder)를 같은 개수의 합성곱 층으로 구성하여 크기를 점진적으로 키우는 네트워크들이 제안되었다[2, 3, 4, 5].그러나, 이러한 네트워크들은 암호기와 복호기의 층의 개수가 같기 때문에, 성능을 높이기 위해 많은 층을 쌓으면 많은 메모리와 많은 연산량이 필요하였다. 이러한 문제를 해결하기 위하여 새롭게 제안된 방법들은 암호기에 더 많은 합성 곱 층을 추가한 비대칭적인 구조를 가지는 네트워크들[6,7]이 제안되었으며, 이러한 방식들은 대칭적인 구조를 가지는 네트워크들보다 효율적이면서 더 높은 성능을 보여주었다. 그러나, 이러한 높은 성능을 가지는 대부분의 네트워크들은 암호기의 마지막 층 특징점(logit)만을 이용하여 예측 결과를 생성하기 때문에, 예측 결과에서 각 클래스별 경계의 섬세한 정보와 작은 물체에 대한 정보가 손실되었다. 암호기의 마지막 층 특징점만을 사용하면 입력 영상에 대한 문맥(context)정보를 많이 담고 있지만, 각 물체 간 경계와 같은 섬세한 정보 물체의 경계 부분에서 세밀함이 떨어진다[8]. 그에 비해, 암호기 초기의 낮은 층 특징점은 마지막 층의 특징점과 비교하면, 문맥 정보는 적지만 물체 경계와 같은 섬세한 정보는 덜 손실되어 물체 간 경계가 뚜렷한 예측 결과를 나타내는데 도움을 준다. 이러한 특성을 이용하여, 여러 층의 특징점을 이용하여 결과를 예측하는 방법이 제안되었다[8,9].

기존의 여러 층의 특징점을 사용하는 방법들은 낮은 층의 특징점을 사용할 때, 다양한 수용영역 (receptive field)을 갖지 않은 특징점을 사용하였다. 의미론적 영상 분할 문제에서 수용영역이 중요한 이유는 입력 영상 내에서 같은 물체라도 다양한 크기를 가질 수 있다. 이때, 수용영역이 다양하지 못하면 이러한 크기 변화에 대응하기 힘들다. 그리고 작은 수용영역만을 계산하면 넓은 영역을 차지하는 하늘, 도로와 같은 클래스나 입력 영상 내에서 큰 영역을 차지하는 물체에 대해서 구분하기 어려워진다. 이러한 이유로 의미론적 영역 분할 네트워크의 특징점들은 다양한 수용영역을 가져야하지만, 기존의 방법들은 낮은 층의 특징점을 사용할 때, 다양한 수용영역을 가지지 않아 특징점들을 효율적으로 활용하지 못하였다. 본 논문에서는 이러한 문제점을 해결하기 위해, 낮은 층의 특징점들을 이용하고 낮은 층의 특징점에서도 다양한 수용 영역을 계산하는 모듈을 제안하고, 기존의 네트워크에 이 모듈을 적용하여, 여러 층의 특징점을 효율적으로 이용하는 네트워크를 제안한다.

2장에서는 현재까지 딥러닝을 이용한 영상 분할기법의 관련 연구들과 본 연구에서 사용되는 기법들을 소개하며, 3장에서는 본 논문에서 제안하는 방법을 설명한다.4장에서는 본 연구에서 제안하는 네트워크의 성능 확인을 위해 기존 방법과 같은 조건에서 학습한 후 결과를 비교하고 분석하며, 5장에서는 본 연구의 결론을 내린다.

2. 관련 연구 및 이론

본 장에서는 이전에 제안된 딥러닝 알고리즘을 이용한 의미론적 영상 분할 기법들에 대하여 알아본 후, 기존 방법들의 문제점과 본 연구에서 제안하는 방법에서 사용되는 기본적인 기법들에 대해 설명한다.

2.1 관련 연구

최근 딥러닝 기법은 영상 처리를 위한 다양한 문제에 적용되면서 큰 성능 향상을 이루어냈다. 의미론적 영상 분할에서도 딥러닝 네트워크인 FCN[1]이 제안되면서 비약적인 발전을 이루었다. 의미론적 영상 분할은 입력 영상 하나에 대해 미리 정의된 하나의 클래스로 구분하는 분류 (classification)문제와는 다르게 입력 영상의 모든 픽셀에 대해 각 픽셀별로 어떤 클래스를 가지는지를 분류하는 문제이다.이를 위해 기존의 분류를 위해서 학습된 네트워크에서 사용하는 완전 연결 층(fully connected layer)을 제거하여 합성곱으로만 이루어진 네트워크를 사용하는 FCN 방법이 제안되었다 [1]. 이 방법에서는 암호기를 거치면서 공간적으로 줄어든 특징점을 원본 영상과 같게 만들기 위해서, 암호기의 출력 특징점에 대해서 전치 합성곱(transposed convolution)을 적용하여 원본 영상의 크기만큼 키우는 방법을 제안하였다. 이후로 나온 네트워크들은 세밀한 정보를 더욱 잘 보완하기 위해 대칭적인 구조를 가진 네트워크들이 제안되었다[2, 3, 4, 5]. U-Net[3]에서는 특징점을 추출하는 암호기와 그 특징점으로부터 최종 결과 예측을 하는 복호기가 같은 층수를 가지는 대칭적인 구조가 사용되었다. 그리고 복호기에서 특징점의 크기를 점진적으로 키울 때, 복호기의 각 층에 대칭하는 암호기의 특징점을 결합하여 사용하는 방식을 제안하였다.이를 통해 세밀한 부분의 정보를 더욱 잘 보완하여 성능을 높였다.

대부분의 의미론적 영상 분할 네트워크의 암호기는 영상 분류를 위하여 학습한 네트워크에서 완전연결 층을 제외한 네트워크를 사용한다.이는 영상분류를 위하여 제작한 대규모의 데이터를 효율적으로 이용하기 위함이다. 영상 분류 네트워크들도 정확도를 더욱 높이기 위해 층수가 더 많은 네트워크들이 제안되었고[10,11], 이를 의미론적 영상 분할 기법에도 적용하기 위해선 깊어진 네트워크의 층으로 인해 더 이상 대칭적인 구조를 사용하기 힘들어졌다. 이렇게 깊은 층으로 구성된 암호기를 효율적으로 사용하기 위해서 비대칭적인 구조가 제안되었다[6,7]. 기존대칭적 구조에서는 암호기를 통해 구한 특징점의 크기를 점진적으로 키우는 복호기를 사용하여 다양한 크기의 수용영역을 갖도록 하였다. 비대칭적인 구조는 특징점을 점진적으로 키우는 복호기를 사용하는 대신 다양한 수용영역을 가지기 위해, 새로운 방식들이 제안되었다. PSPNet[6]에서는 다양한 수용영역을 처리하기 위해 특징점을 다양한 크기의 풀링(Pooling)을 이용하였다. 그리고 Deep lab-V3+[7]에서는 다양한 크기의 팽창 합성곱(Dilated convolution)을 이용하여 다양한 수용 영역을 처리하여 성능을 높이는 방법을 제안하였다.

그러나, 기존에 제안된 대부분의 네트워크들은 마지막 특징점만을 이용하여, 경계 부분의 섬세함이 떨어지는 결과를 얻는다. 이를 해결하기 위해 낮은 층의 특징점을 같이 사용하는 방법들이 제안되었다[8]. G.Ghiasi와 C.C.Fowlkes[8]가 제안한 방법은 낮은 층의 특징점의 경계 부분을 강조한 마스크를 이용하여 여러 층의 특징점을 이용하는 방법을 제안하였다. RefineNet[9]도 여러층의 특징점을 이용하여 성능향상을 이루었는데, 암호기에서 높은 층의 특징점을 한 단계 낮은 층의 특징점 합성곱을 통해 점진적으로 결과를 예측하는 네트워크가 제안되었다. 하지만 이러한 방법들도 낮은 층을 이용할 때, 다양한 수용영역을 계산하지 않았다.

2.2 본 연구에 사용되는 주요 이론

2.2.1 팽창 합성곱

본 연구에서 제안하는 다중 경로 특징점 융합 모듈은 여러 개의 팽창 합성곱으로 구성되어 있다. 팽창 합성곱은 기존의 합성곱보다 더욱 효율적으로 수용 영역을 계산하기 위한 것으로 많은 딥러닝 네트워크에서 사용된다[2, 7, 15].Fig.2(a)는 일반 합성곱 필터를 나타낸 것이고, Fig.2(b)는 팽창 합성곱 필터를 나타낸 그림이다.Fig.2에서 파란색으로 표시되어있는 부분은 필터의 값이 존재하는 부분이며 합성곱계산을 할 때 필요한 픽셀을 나타낸다. 그리고 흰색으로 비어 있는 부분은 값이 0으로 채워져 있어, 계산하지 않는 부분을 나타낸다.Fig.2에서 같은 행에 있는 그림들은 같은 수용 영역을 계산할 때 필요한 필터를 나타낸 것이며, 첫 번째 행은 5×5크기의 수용영역을 계산하기 위한 필터를 나타낸 것이고, 두 번째 행은 7×7크기의 수용 영역을 계산하기 위한 필터를 나타낸 그림이다. 일반적인 합성곱과 팽창 합성곱이 같은 크기의 수용영역을 계산하기 위해서는 일반적인 합성곱이 더 많은 계산량과 더 많은 메모리가 필요하다. 그렇기 때문에, 팽창 합성곱이 같은 수용영역을 계산할 때, 연산량과 메모리 측면에서 더 효율적이다. 이러한 이유로, 넓은 수용영역이 중요한 의미론적 영상 분할 기법에서 팽창 합성곱이 많이 사용된다.

Fig. 2. Difference of general convolution filters and di- lated convolution filters. (a) are illustrations of general convolution filters and (b) are illus- trations of dilated convolution filters.

2.2.2 아토러스 공간 피라미드 풀링

본 연구에서 제안하는 네트워크의 기반이 되는 Dee- plab-V3+[7]의 가장 큰 특징은 아토러스 공간 피라미드 풀링 (Atrous spatial pyramid pooling)이라고 불리는 부분이다.Deeplab-V3+[7]에서 사용되는 아토로스 공간 피라미드 풀링은 암호기를 통해 구한 특징점을 서로 다른 크기의 팽창 합성곱 3개와 1x1 합성곱, 그리고 글로벌 평균 풀링(Global average pooling)을 이용하여 다양한 크기의 수용영역에 대해 계산한다. 그리고 그 특징점들을 채널 축으로 쌓고, 1×1합성곱을 통해 다양한 크기의 수용영역을 가지는 새로운 특징점을 만든다.Fig.3은 아토로스 공간 피라미드 풀링에 대해서 나타낸 그림이다. Fig. 3에서 1×1conv는 암호기를 통해 나온 특징점의 1x1 영역에 대한 정보를 계산하는 것이며, rate가 6인 팽창 합성곱은 13×13영역에 대한 정보를 계산하는 것이다. 그리고 rate가 12인 팽창 합성곱은 25×25영역에 대한 정보를 계산하고, rate가 18인 팽창 합성곱은 37×37영역에 대한 정보를 계산하는 것이다. 그리고 글로벌 평균 풀링은 특징점의 공간적인 크기 전체의 대해서 평균값을 구하는 것으로, 전체 영역에 대한 정보를 계산하는 것이다.Deeplab-V3+[7]에서는 암호기에서 나온 특징점의 공간적인 크기가 입력 영상의 1/16의 크기가 됐을 때, Fig.3과 같은 rate의 조합을 사용하였다. 암호기를 통한 특징점의 가로와 세로 길이가 입력 영상의 크기의 1/8이 되도록 네트워크를 구성하면 더 넓은 영역을 계산하기 위해 12, 24, 36과 같은 rate가 더 큰 조합을 사용한다.

Fig. 3. Structure of atrous spatial pyramid pooling (ASPP).

3. 제안하는 방법

3.1 제안하는 알고리즘의 개요

기존의 딥러닝을 이용한 의미론적 영상 분할 네트워크들은 복호기를 통해 예측 결과를 생성할 때, 낮은 층의 특징점을 사용하지 않거나 사용하더라도 낮은 층의 특징점에서는 다양한 수용영역을 계산하지 않아, 효율적으로 사용하지 못하고 있다. 의미론적영상 분할의 딥러닝 네트워크에서 암호기는 일반적으로 다양한 층으로 구성되어 있으며, 각 층의 특징점들은 각각의 장점이 있다. 낮은 층의 특징점을 이용하여 의미론적 영상 분할의 결과를 예측하면 높은 층을 이용했을 때에 비해 정확도가 낮지만, 각 클래스들의 경계나 작은 물체들을 더욱 잘 구분하는 결과를 얻을 수 있다. 반대로 높은 층의 특징점을 이용하여 의미론적 영상 분할의 결과를 예측하면 정확도는 낮은 층을 이용해 예측한 것보다 높지만 경계선은 비교적 뚜렷하지 못한 결과를 얻는다[8].그 이유는 낮은 층의 특징점은 높은 층의 특징점보다 적은 수의 합성곱 층을 이용하여 계산되었기 때문에 문맥의 정보는 낮지만 작은 수용영역으로 인해 클래스간 경계나 작은 영역에 대한 정보를 담고 있어 경계 부분이 더 뚜렷한 결과를 얻을 수 있다. 이러한 사실을 바탕으로, 여러 층의 특징점의 장점을 이용하고, 각 층의 특징점에서 다양한 크기의 수용 영역을 가질 수 있도록 계산한다. 이렇게 계산한 각 층의 특징점을 융합하는 방법을 제안한다. 이를 다중 경로 특징점 융합 모듈(Multi-path feature fusion module)이라 말하며, 제안한 모듈을 기존 의미론적 영상 분할 네트워크인 Deeplab-V3+[7]에 적용하여 새로운 구조의 의미론적 영상 분할 네트워크를 제안한다.

Fig.4는 제안하는 네트워크의 구조를 나타낸 것이며, 이 네트워크의 구조는 크게 세부분으로 나눌 수 있다. 입력 영상의 특징점을 추출하는 암호기와 각 층의 특징점들을 이용하여 여러 층의 정보를 가진 특징점을 생성하는 다중 경로 특징점 융합 모듈, 그리고 다중 경로 특징점 융합 모듈을 통해 계산된 특징점을 이용하여 예측 결과 영상을 만드는 복호기로 구성된다.그 중, 본 연구에서 제안하는 네트워크 구조와 기존 기법인 Deeplab-V3+[7]의 구조의 차이는 다중 경로 특징점 융합 모듈이다. 다중 경로 특징점 융합 모듈 부분은 암호기에서 각 블록으로 구분되는 특징점들을 다양한 크기의 수용영역을 갖도록 계산하고 여러 층의 특징점을 융합하는 부분이다. Fig. 4에서 붉은색 박스로 표시한 부분이 다중 경로 특징점 융합 모듈이다. 여기서 사용하는 암호기는 Xcep- tion65[12]를 사용하는데, Xception65[12]는 총 3개의 여러 개의 합성곱의 묶음인 블록(Block)으로 구성되어 있으며, 첫 번째 블록은 Entryflow, 두 번째 블록은 Middleflow, 세 번째 블록은 Exit flow라 말하며, Fig.4에서는 각 블록을 B1, B2, B3라고 표시했다. 즉, 암호기의 첫번째 블록인 Entryflow의 특징점을 rate 가 3, 6, 9인 팽창 합성곱들을 통해 다양한 크기의 수용영역을 가지는 새로운 특징점(F1)을 만든다. 마찬가지로 Middleflow의 특징점을 rate가 3, 6, 9인 팽창 합성곱들을 통해 다양한 크기의 수용영역을 가지는 새로운 특징점(F2)을 만든다. F1과 F2를 만들 때, rate를 3, 6, 9를 적용한 이유는 Entryflow의 특징점과 Middleflow의 특징점을 이용하여 다양한 수용영역을 가지는 특징점을 만들면서, Entryflow의 특징점과 Middleflow의 특징점의 작은 물체나 경계 부분에서 더 잘 구분하는 장점을 유지하기 위해 비교적 작은 rate를 사용하였다. 그리고 Exit flow는 기존 Deeplab-V3+[7]에서 제안된 아토로스 공간 피라미드 풀링을 이용하여 특징점(F3)을 만든다. 각 층의 특징점을 이용하여 만들어진 새로운 특징점들(F1, F2, F3)은 공간적인 크기가 각자 다른데, 모든 특징점을 융합하기 위해 각각의 특징점의 공간적인 크기를 같게 만들어 준다.

\(F_{1}^{U p}=\quad \begin{array}{c} \text { Upsampling }\left(F_{1}\right) \\ H / 8 \times W / 8 \rightarrow H / 4 \times W / 4 \end{array} \\ F_{2}^{u p}=\quad \begin{array}{c} \text { Upsampling }\left(F_{2}\right) \\ H / 8 \times W / 8 \rightarrow H / 4 \times W / 4 \end{array} \\ F_{3}^{u p}=\quad \begin{array}{c} \text { Upsampling }\left(F_{3}\right) \\ H / 16 \times W / 16 \rightarrow H / 4 \times W / 4 \end{array} \\\)       (1)

Fig. 4. Proposed network architecture.

식(1)은 복호기의 입력으로 넣어주기 위해 특징점(F1), 특징점(F2)과 특징점(F3)의 공간적 크기를특징점(F0)과 같은 공간 크기로 만드는 방법을 나타낸 것이다. 식(1)에서 H와 W는 입력 영상의 세로와 가로의 크기를 의미한다. 그리고 특징점(F0)은 기존 Deeplab-V3+[7] 네트워크에서 복호기의 입력으로 사용되는 낮은 층의 특징점으로, 공간적 크기는 H/4 ×W/4의 크기를 가지고, 이를 1x1합성곱을 통해 48개의 채널로 줄여 사용하도록 제안되었다. \(F_{1}^{u p}\), \(F_{2}^{u p}\), \(F_{3}^{u p}\)은 각각 공간적 크기가 H/8×W/8인 F1과 F2, 그리고 공간적 크기가 H/16×W/16인 F3을 이용하여 공간적 크기가 H/4×W/4으로 공간 크기를 키운 특징점을 의미한다. \(\begin{aligned} &\text { Upsampling ( • ) }\\ &a \times a \rightarrow b \times b \end{aligned}\)은 a×a의 공간적 크기를 b×b의 크기로 키울 때 함수를 의미하며, 이중 선형 보간법(bilinear interpolation)을 사용한다.

\(D_{\text {input }}=\text { concat }_{\text {channel }}\left(F_{0}, F_{1}^{u p}, F_{2}^{u p}, F_{3}^{u p}\right)\)       (2)

식(2)는 H/4×W/4의 공간적 크기로 만들어준 \(F_{1}^{u p}\), \(F_{2}^{u p}\), \(F_{3}^{u p}\)과 F0를 채널축을 기준으로 쌓는 concate-nation연산을 나타낸 것이다. 식(2) concatchannel(•)은 채널축을 기준으로 쌓는 concatenation연산을 뜻한다. Dinput은 복호기의 입력으로 들어갈 특징점을 의미하며 Dinput∈RK×H/4×W/4의 크기를 가진다. 이 때, K는 F0, \(F_{1}^{u p}\), \(F_{2}^{u p}\), \(F_{3}^{u p}\) 의 채널축의 크기를 다 더한 값이 된다. Dinput을 기존 Deeplab-V3+[7]에서 제안된 복호기를 통해 예측 결과를 생성한다.

4. 실험 결과 및 고찰

4.1 실험 환경 및 데이터 셋

본 연구에서 제안하는 네트워크가 Deeplab-V3+ [7]을 기반으로 구성되었기 때문에, Deeplab-V3+[7] 의 결과와 비교하였다. 본 연구는 PyTorch라이브러리[16]를 이용하였으며, 각 실험은 동일한 환경에서 진행했다. 실험에서 사용된 GPU는 TitanX4개를 사용하였고, CPU는 Intel i7-5930K를 사용했다. 제안하는 모듈을 제외하고 동일한 조건에서 학습하기 위해 각 실험에 사용하는 파라미터는 다음과 같다. 배치(Batch) 크기는 8개, 시작 러닝 레이트(initial learningrate)는 0.02, 러닝 레이트의 스케쥴 방법은 \(l r=l r_{o l d} *\left(\frac{1-\text { eration }}{\text { max eration }}\right)^{0.9}\)의 방법을 사용하였다. 그리고 학습에 사용하는 입력 영상은 768×768의 크기로 랜덤 스케일 크로핑(random scale cropping)방법을 사용하였으며, 모든 데이터에 대한 반복회수(Epoch) 은 200번으로 설정하였다. 실험에 사용한 데이터 셋은 의미론적 영상 분할에서 가장 많이 사용되는 Cityscapes 데이터 셋[13]을 사용하였다. Cityscapes 데이터 셋은 실제 자동차를 일반 거리에서 운행하여 촬영한 영상 데이터 셋으로 총 32개의 클래스를 가진다. 본 실험에서는 32개의 클래스 중, 19개만을 이용하였다. Cityscapes 데이터 셋은 총 5, 000장으로 구성되었으며, 학습 데이터 셋(training dataset)는 2, 975 장, 증명 데이터 셋(validation dataset)는 500장, 그리고 테스트 데이터 셋(test dataset)는 1, 525장으로 구성되었다. 그리고 각 층의 정보를 이용하는 방법인 U-Net[3]을 본 연구에서 제안하는 네트워크의 결과를 비교하기 위해 직접 학습하였다. 학습은 총 200 epoch을 하였으며, 입력 영상은 768×768의 크기로 랜덤 스케일 크로핑 방법을 사용하였으며, 시작 러닝레이트는 0.001으로 학습하였다. 그리고 다양한 크기의 팽창 합성곱의 효과를 확인하기 위해, 기존 Dee- plab-V3+[7]의 구조에서 각 층의 특징점을 이용할 때, 다양한 rate의 팽창 합성곱을 사용하지 않은 구조를 학습하였다. 학습에는 Deeplab-V3+[7]와 본 연구에서 제안하는 네트워크와 동일한 조건에서 실험하였다.

본 연구에서 제안한 다중 경로 특징점 융합 모듈의 효과를 확인하기 위해 다른 의미론적 영상 분할기법인 BiseNet[14]에 대해서도 적용하여 실험해보았다. BiseNet[14]에 대한 실험에서는 각 배치 크기를 32개, 시작 러닝 레이트는 0.003, 그리고 총 수행한 Epoch은 240번이며, 768×768크기로 랜덤 스케일 크로핑 방법을 사용하여 학습하였다.

4.2 성능 평가

본 연구에서 사용한 성능 평가 방법은 의미론적 영상 분할 기법에서 가장 많이 사용되는 방식인 mean intersection over unit(mIoU)를 측정하여 성능을 평가하였다. IoU는 각 클래스별로 정답 영상과 예측 영상의 영역이 겹쳐지는 비율을 이용하여 성능을 평가하는 방법이다.

\(I o U=\frac{G T \text { Region } \cap \text { Prediction Region }}{G \text { Region } \cup \text { Prediction Region }} .\)       (3)

식(3)은 각 클래스별 IoU를 계산하는 방법이다. 식(3)에서 GTRegion은 정답 영상에서 해당 클래스의 영역을 의미하며, Prediction Region은 예측한 결과에서 해당 클래스의 영역을 의미한다. 즉, 식(3)은 각 클래스별로 예측 결과 영역과 정답 영역이 겹쳐지는 넓이를 두 영역 전체를 포함하는 넓이로 나눈 것을 계산하고, 이 값을 IoU라 말한다. 한 영상의 예측 결과의 정확도 수치는 모든 클래스에 대해서 구한 IoU 의 평균을 낸 값을 이용하며, 이를 mIoU라 한다. 일반적으로 의미론적 영상 분할에서는 한 장의 입력 영상으로 성능 평가를 하지 않고, 여러 장의 입력 영상을 이용하여 성능 평가를 하게 되는데, 학습에 사용되지 않은 증명 데이터 셋(Validation dataset)이나 테스트 데이터 셋(Test dataset)의 각자의 모든 입력 영상에 대한 mIoU를 평균 낸 값으로 네트워크의 성능을 평가한다. 본 연구에서는 제안하는 네트워크의 성능을 평가하기 위해 증명 데이터 셋의 각 입력 영상을 의미론적 영상 분할의 결과를 예측하고, 각 영상의 mIoU를 구하였다. 그리고 모든 증명 데이터 셋 영상에 대해 구한 mIoU값의 평균을 계산하였다. 이 평균값을 네트워크의 성능으로 평가하였다.

4.3 실험 결과

본 연구에서 제안하는 네트워크의 성능을 검증하기 위해, 기존 네트워크인 Deeplab-V3+[7]의 결과와 비교해보았다. Table1에서는 같은 환경과 파라미터를 이용하여 학습한 모델의 결과를 나타낸 것인데, 다중 경로 특징점 융합 모듈을 적용한 것과 그렇지 않은 네트워크의 결과를 비교하였다. Table 1에서 Exit flow는 다중 경로 특징점 융합 모듈이 아닌 기존 Deeplab-V3+[7]네트워크에서 사용하는 아토러스 공강 피라미드 풀링을 적용한 것을 나타낸다. Table1을 확인하면, 기존의 Deeplab-V3+[7]의 결과는 77.854%로 다중 경로 특징점 융합 모듈을 적용한 네트워크들보다 성능이 낮은 것을 확인할 수 있다. 그리고 Deeplab-V3+[7]네트워크에서 Entry flow와 Middle flow모두 다중 경로 특징점 융합 모듈을 적용한 결과가 Entryflow의 특징점에만 적용한 결과나 Middleflow의 특징점에만 적용한 결과보다 각각 성능이 0.072%, 0.42% 높은 것을 확인할 수 있다. Fig.5에서 파란색 막대는 Deeplab-V3+[7]의 각 클래스에 대한 iou값을 모든 증명 데이터 셋에 대해 평균을 구한 값을 나타낸 것이고, 주황색 막대는 다중경로 특징점 융합 모듈을 Deeplab-V3+[7]와 함께 사용한 네트워크의 각 클래스에 대한 iou값을 모든 증명 데이터 셋에 대해 평균을 구한 값을 나타낸 것이다. 대부분의 클래스에서 본 연구에서 제안하는 네트워크의 성능이 높은 것을 확인할 수 있다. 특히 트럭, 버스, 그리고 기차 클래스에서 성능 차이가 큰 것을 확인 할 수 있는데, 이 클래스들은 서로 비슷한 특징을 가지는 클래스들이다. 이는 낮은 층의 특징점에서 더 넓은 수용영역을 가지도록 구성함으로써 비슷한 특징을 가지는 클래스들을 더 잘 구분해낸 결과이다. 일반적으로 영상에서 작거나 얇은 특징을 가지고 있는 기둥, 신호등과 같은 클래스도 낮은 층의 특징점을 사용하여 더욱 잘 구분해내는 것을 확인할 수 있다. Fig.6은 제안하는 네트워크의 예측 결과 영상을 나타낸 것이다. 첫 행부터 세 번째 행은 입력 영상 전체에 대한 예측 결과 영상이며, 네 번째 행부터 여섯 번째 행은 첫 세 행 영상에서 붉은색 박스로 표시한 부분을 확대한 예측 결과 영상이다. 예측 결과 영상을 보면 버스 클래스와 자동차클래스, 행인 클래스와 자전거 타는 사람 클래스 등의 구분하기 어려운 클래스들을 제안한 네트워크 결과에서 더 잘 예측하는 것을 확인할 수 있으며, 각 클래스의 경계 부분도 더 잘 구분하는 것을 확인할 수 있다. 그리고 각 클래스의 경계 부분을 더 잘 구분하는 것을 확인할 수 있다. 물론 기존 Deeplab-V3+[7] 네트워크에 본 연구에서 제안하는 다중 경로 특징점 융합 모듈을 추가함으로써, 학습 파라미터의 수가 증가하고, 연산량이 늘어남에 따라 메모리 사용량이 증가하는 단점이 있다.

Table 1. Results of cityscapes validation dataset using Deeplab-V3+[7] architecture.

MTMDCW_2021_v24n1_1_f0005.png 이미지

Fig. 5. Comparison of each class result between Deeplab-V3+[7] and Deeplab-V3+ with our MFF module.

MTMDCW_2021_v24n1_1_f0006.png 이미지

Fig. 6. Prediction results of Cityscapes validation dataset using Deeplab-V3+[7]. (a) is the input images, (b) is the ground truth images, (c) is baseline[7] prediction images and (d) is our prediction images.

다중 경로 특징점 융합 모듈의 효율성을 증명하기 위해 기존에 여러 층의 특징점을 사용하는 방법인 U-Net[3]과 그리고 여러 층의 특징점을 사용하지만 다양한 크기의 팽창 합성곱을 사용하지 않은 네트워크를 구성하여 비교 실험을 했다. 다양한 크기의 팽창합성곱을 사용하지 않은 네트워크는 기존 Deeplab- V3+[7]의 구조에서 다양한 크기의 팽창 합성곱을 제외한 구조이다. 각 층에서 팽창 합성곱을 제외한 대신 1×1합성곱을 사용하여 채널의 수를 조절해주었다. 그리고 각 층의 특징점을 와 같은 공간 크기로 만들어 채널축으로 쌓아 복호기의 입력으로 넣어주는 구조이며, 이는 Fig.7에 나타내었다. Fig.7에서 나타낸 F0\(F_{1}^{u p}\), \(F_{2}^{u p}\), \(F_{3}^{u p}\)  특징점들의 크기는 F0∈R48×H/4×W/4, \(F_{1}^{u p}\), \(F_{2}^{u p}\), \(F_{3}^{u p}\)∈R256×H/4×W/4 으로, 본 연구에서 제안하는 네트워크와 동일하게 구성하였다. 여러 층의 특징점을 이용하는 네트워크의 수치는 Table2와 같다.Table2에서 U-Net[3]의 결과는 57.417%로 가장 낮은 수치를 기록하였으며, 다양한 크기의 팽창 합성곱을 사용하지 않은 네트워크의 결과는 76.440%로 본 연구에서 제안한 방법보다 2.55% 낮은 수치를 기록하였다. 이는 여러 층의 특징점을 사용하였지만, 여러 층의 특징점들이 다양한 크기의 수용영역을 갖지 못하였기 때문이다.이러한 결과를 통해, 여러 층의 특징점이 다양한 수용영역을 가질 수 있도록 구성된 다중 경로 특징점 융합 모듈이 효과가 있는 것을 확인할 수 있다.

Table 2. Results of networks used multi-path features.

MTMDCW_2021_v24n1_1_f0007.png 이미지

Fig. 7. Without dilated convolution MFF network architecture.

본 연구에서 제안하는 다중 경로 특징점 융합 모듈의 효과를 확인하기 위하여 다른 네트워크에도 적용하여 실험해보았다. 실험한 네트워크는 BiseNet [14]으로 Deeplab-V3+[7]보다 연산량과 메모리 사용량이 적은 가벼운 네트워크이다. Table 3에서 “BiseNet[14]”이라고 표시되어 있는 부분은 다중 경로 특징점 융합 모듈을 사용하지 않고 학습한 모델을 의미하며, “BiseNet[14]+MFF(Ours)”라고 표시한 부분이 본 연구에서 제안하는 방식을 적용하여 학습한 결과를 의미한다.다중 경로 특징점 융합 모듈을 적용하여 학습한 네트워크의 결과가 다중 경로 특징점 융합 모듈을 적용하지 않은 것 보다 1.057% 높은 성능을 나타냄을 알 수 있다.

Table 3. Results of cityscapes validation dataset using BiseNet[14] architecture.

MTMDCW_2021_v24n1_1_f0008.png 이미지

Fig. 8. Prediction results of Cityscapes validation dataset using BiseNet[14]. (a) is the input images, (b) is the ground truth images, (c) is baseline[14] prediction images and (d) is our prediction images.

Fig.7은 BiseNet[14]의 결과와 BisNet[14]에 다중 경로 특징점 융합 모듈을 적용한 네트워크의 예측 결과 영상을 비교한 것이다. 첫 번째 행부터 세 번째 행은 입력 영상 전체에 대한 예측 결과 영상이며, 네 번째 행부터 여섯 번째 행 영상은 첫 세 행 영상에서 붉은색 박스로 표시한 부분을 확대한 결과이다. 본 연구에서 제안하는 방법을 적용한 결과를 확인하면 기존 BiseNet[14]의 예측 결과보다 더 잘 구분하는 것을 확인할 수 있다.Fig.7의 예측 결과들을 확인해보면, 본 연구에서 제안하는 방법을 사용한 네트워크의 결과가 클래스 간의 경계를 더 잘 구분하고, 입력 영상에서 작은 물체에 대해서도 더 확실히 구분하는 것을 확인할 수 있다. 그리고 비슷한 특성을 가지는 버스 클래스와 트럭 클래스에 대해서도 더 잘 구분하는 것을 확인할 수 있다.

5. 결론

본 연구는 기존의 Deeplab-V3+에 다중 경로 특징점 융합 모듈을 이용하여 낮은 층의 특징점의 장점과 높은 층의 특징점의 장점을 융합하는 네트워크를 제안했으며, 기존의 네트워크보다 더 나은 정확도를 얻었다. 기존 네트워크에서 잘 사용하지 않는 암호기의 낮은 층의 특징점을 다양한 수용역영을 갖도록 변형 후 사용함으로써, 영상의 경계 부분과 비슷한 클래스들을 더욱 잘 구분할 수 있었으며, 다양한 층의 특징점을 사용함으로써 영상 내의 작은 물체나 기둥과 같은 얇은 구조물을 기존 구조에 비해 강인함을 보였다. 또한, 제안하는 다중 경로 특징점 융합 모듈을 더욱 가벼운 네트워크에 적용했을 때도 효과가 있음을 확인하였다. 하지만 제안하는 모듈은 기존 네트워크에 추가하는 방식으로 기존의 네트워크에 비해 더 많은 학습 파라미터, 연산량이 필요하다. 또한, 암호기의 여러 층의 특징점에 대해 더욱 다양한 수용영역을 가지면서, 각 층의 특징점들의 장점을 더욱 잘 이용할 수 있는 방법에 대한 연구가 필요하다.

References

  1. J. Long, E. Shelhamer, and T. Darrell, "Fully Convolutional Networks for Semantic Segmentation," Proceedings of the IEEE Conference on Computer Vision and P attern Recognition, pp. 3431-3440, 2015.
  2. H. Noh, S. Hong, and B. Han, "Learning Deconvolution Network for Semantic Segmentation," Proceedings of the IEEE International Conference on Computer Vision, pp. 1520-1528, 2015.
  3. O. Ronneberger, P. Fischer, and T. Brox, "Unet: Convolutional Networks for Biomedical Image Segmentation," Proceedings of the International Conference on Medical Image Computing and Computer-assisted Intervention, pp. 234-241, 2015.
  4. V. Badrinarayanan, A. Kendall, and R. Cipolla, "Segnet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 39, No. 12, pp. 2481-2495, 2017. https://doi.org/10.1109/TPAMI.2016.2644615
  5. S.K. Kim and C.W. Lee, "Segmentation Image Semantic Combining Image-level and Pixel-level Classification," Journal of Korea Multimedia Society, Vol. 21, No. 12, pp. 1425-1430, 2018. https://doi.org/10.9717/KMMS.2018.21.12.1425
  6. H. Zhao, J. Shi, X. Qi, X. Wang and J. Jia, "Pyramid scene parsing network," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2881-2890, 2017.
  7. L. C. Chen, Y. Zhu, G. Papandreou, F. Schroff, and H. Adam, "Encoder-decoder with Atrous Separable Convolution for Semantic Image Segmentation," Proceedings of the European Conference on Computer Vision, pp. 801-818, 2018.
  8. G. Ghiasi and C. C. Fowlkes, "Laplacian Pyramid Reconstruction and Refinement for Semantic Segmentation," Proceedings of European Conference on Computer Vision, pp. 519-534, 2016.
  9. G. Lin, A. Milan, C. Shen and I. Reid, "Refine Net: Multi-path Refinement Networks for High-Resolution Semantic Segmentation," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1925-1934, 2017.
  10. K. Simonyan and A. Zisserman. "Very Deep Convolutional Networks for Large-scale Image Recognition," Proceedings of 3rd International Conference on Learning Representations, 2015.
  11. K. He, X. Zhang, S. Ren., and J. Sun, "Deep Residual Learning for Image Recognition," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770-778, 2018.
  12. F. Chollet, "Xception: Deep learning with depthwise separable convolutions." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1251-1258, 2017.
  13. M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, et al., "The Cityscapes Dataset for Semantic Urban Scene Understanding," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3213-3223, 2016.
  14. C. Yu, J. Wang, C. Peng, C. Gao, G. Yu, and N. Sang, "Bisenet: Bilateral Segmentation Network for Real-time Semantic Segmentation," Proceedings of the European Conference on Computer Vision, pp. 325-341, 2018.
  15. L. C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille, "Deeplab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 40, No. 4, pp. 834-848, 2018. https://doi.org/10.1109/TPAMI.2017.2699184
  16. P. Adam, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan et. al, "Pytorch:An imperative style, high-performance deep learning library," Proceedings of the Advances in Neural Information Processing Systems, pp. 8026- 8037, 2019.