Artificial Intelligence/Deep Learning

FCN(Fully Convolutional Network)

테리는당근을좋아해 2023. 3. 28. 00:00

Segmentation

Segmentation은 사전적으로 '분할'이라는 의미를 가진다.

운영체제에서 세그멘테이션, 알고리즘에서 세그먼트 트리 또한 분할과 관련된 개념인 것을 알 수 있다.

 

Deep learning에서 세그멘테이션은 기존의 classification과는 다른 문제이다.

Classification(분류)은 어떤 input 이 주어졌을 때, input이 어떤 클래스에 속하는지 구별하는 문제 였다면

Segmentation은 (특히, 이미지에서) 각 영역이 어떤 의미를 가지는지 분리하는 것이다.

즉, 이미지의 픽셀 수준에서 분할하고 Classification하는 문제로 생각할 수 있다.

 

Segmenation 문제에서 input에 무엇이 있는지 예측하기 위해서는

이미지의 각 픽셀이 '어떤 의미'를 가지는지 뿐만 아니라  '공간적인 정보(Position or Location)' 또한 가지고 있어야 한다. 

 

input으로 왼쪽 이미지가 들어왔다면, Output(오른쪽)으로 각 픽셀을 Dog, Cat, Backgroud로 분리하는 것

 

 

FCN(Fully Convolutional Network)

FCN은 Semantic Segmentation의 기법으로 이미지 픽셀을 이미지 카테

고리로 변환하기 위해 Convolutional neural network를 사용한다.

 

모든 레이어는 Convolutional로 디자인되며, down-sampling(Convolution 연산)과 up-sampling(Transposed Convolution 연산)을 수행한다.

 

FCN은 기존의 CNN 구조처럼 network 뒷단에 fully connected layer 연결하는 것이 아닌 1x1 convolution layer을 연결하고 이를 통해 얻은 feature map을 up-sampling(Transposed Convolution)해 segementation을 수행한다.

 

이는 fully connected layer가 segmentation 관점에서 '위치 정보를 잃는 것'과 'input image의 size가 고정'된다는 한계를 가지고 있기 때문이다.

 

최종적으로 FCN은 카테고리와 mapping되는 channel을 가지고 있어, Output으로 Class 개수와 같은 channel을 가지게 된다. 

CAE에서는 input과 같은 output으로 reconstruction하는 기법임을 기억하자.

FCN은 supervised learning이다. 즉, 픽셀 별로 labeling이 된 이미지가 있어야 학습이 가능하다.

 

따라서, CNN을 통해 압축을 하고 Transposed Convolution을 통해 up-sampling을 해 output을 만드는데, output과 비교하는 것이 input이 아닌 픽셀별 labeled data와 비교해 loss를 최소화하는 방안으로 학습한다.

 

 

 

From CAE to FCN

 

CAE
FCN

CAE는 압축을 했다가 복원을 하므로, Feature Extraction 성향이 더욱 강하다.

하지만 FCN은 CAE의 구조를 가지고 Spatial 관게성을 유지하면서 pixel 별로 Classification

 

CAE 구조에서는 latent space에서 공간의 정보를 많이 잃게 되는데,

FCN에서는 Spatial한 정보를 유지하기 위해서 'Skip Connection' 기법을 사용한다.

 

 

 

Skip Connection

 

skip connection은 최소한 하나의 레이어를 bypass해 연결하는 것이다.

down-sampling한 feature map과 up-sampling 한 feature map을 연결함으로서 local information를 전달한다.

FCN에서는 pooling하거나 down-sampling에서 잃어버리는 공간상에서의 정보를 Skip connection을 통해 전달시킬 수 있다.