논문 리뷰

U-Net 논문리뷰

younghlee 2024. 7. 15. 16:22

학교 수업을 듣던 중 U-Net에 관한 내용을 알게 되었고, 관심이 생겼습니다.

Object Detection관련 공부를 진행하는 중, U-Net에 대해 깊게 알아보기 위해 이번 논문리뷰를 준비하였습니다. 

Object Detection을 수행하는 과정 중 여러가지의 task가 있는데, 픽셀 기반의 이미지 분할을 수행하는 U-Net에 관해 리뷰를 진행하려고 합니다.

 

이 논문의 큰 특징으로는 2가지가 있습니다 .

  1. U-Net architecture
  2. Weighted Loss

U-net architecture

모델의 구조로는 크게 3가지로 나눌 수 있습니다.

 

  1. 수축 경로(Contracting Path): Feature Map의 크기를 감소하면서 입력 이미지의 Context 추출 
  2. 확장 경로(Expanding Path):  Context를 픽셀 위치정보와 결합(Localization)하여 각 픽셀마다 어떤 객체에 속하는지를 구분
  3. 전환 구간(Bottle Neck): 수축 경로에서 확장 경로로 전환

 

1. 수축 경로(Contracting Path)

수축 경로에서 아래와 같은 Downsampling 과정을 반복하여 Feature Map을 생성합니다.

  • 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)
  • 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)
  • 2×2 Max-polling Layer (Stride 2)

수축 경로는 Feature Map의 크기를 감소하면서 입력 이미지의 Context 추출하는 역할을 합니다. 

 

3×3 Convolution을 수행할 때 패딩을 하지 않으므로 Feature Map의 크기가 감소합니다.

Downsampling 할 때 마다 채널(Channel)의 수를 2배 증가시키면서 진행합니다.

Input Channel(1)을 64개로 증가시키는 부분을 제외하면 채널은 

1−>64−>128−>256−>512−>1024 개로 Downsampling 진행할 때마다 증가합니다.

 

2. 확장 경로(Expanding Path)

 

확장 경로에서 아래와 같은 Upsampling 과정을 반복하여 Feature Map을 생성합니다.

  1. 2×2 Deconvolution layer (Stride 2)
  2. Concatenation
  3. 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)
  4. 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)

확장경로는 수축 경로에서 생성된 Context정보와 위치정보 결합하는 역할을 합니다.

 

동일한 Level에서 수축경로의 특징맵과 확장경로의 특징맵의 크기가 다른 이유는 여러번의 패딩이 없는 3×3 Convolution Layer를 지나면서 특징맵의 크기가 줄어들기 때문입니다.

 

3. 전환 구간(Bottle Neck)

수축 경로에서 확장 경로로 전환하는 구간입니다.

  1. 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)
  2. 3×3 Convolution Layer + ReLu + BatchNorm (No Padding, Stride 1)
  3. Dropout Layer

마지막에 적용된 Dropout Layer는 모델을 견고하게 만드는 장치입니다.

 

 

Weighted Loss

본 논문은 다양한 학습 방법들을 통해 모델의 성능을 향상시켰습니다.

 

  • Overlap-tile strategy : 이미지를 겹치는 부분이 있도록 일정크기로 나누고 Input으로 활용
  • Mirroring Extrapolate : 이미지의 경계부분을  Mirror 이미지를 생성한 후 원본 이미지의 주변에 붙여 Input으로 사용
  • Weight Loss : 작은 경계를 분리하여, 경계를 잘 학습
  • Data Augmentation : 적은 데이터로 모델을 잘 학습할 수 있도록 데이터 증강 방법을 활용

Overlap-tile strategy

이미지의 크기가 큰 경우 이미지를 자른 후 각 이미지에 해당하는 Segmentation을 진행해야 합니다. U-Net은 Input과 Output의 이미지 크기가 다르기 때문에 위 그림에서 처럼 파란색 영역을 Input으로 넣으면 노란색 영역이 Output으로 추출됩니다.

 

Mirroring Extrapolate

본 논문에서는 이미지 경계에 위치한 이미지를 복사하고 좌우 반전을 통해 Mirror 이미지를 생성한 후 원본 이미지의 주변에 붙여 Input으로 사용합니다.

 

Weight Loss

 

모델은 위 그림처럼 작은 경계를 분리할 수 있도록 학습되어야 합니다. 학습한 내용을 따라 Weight-Map을 만들고 학습할 때 경계에 가까운 픽셀의 Loss를 Weight-Map에 비례하게 증가 시킴으로써 경계를 잘 학습하도록 설계하였습니다.

 

Data Augmentation

데이터의 양이 적기 때문에 데이터 증강을 통해 모델을 강건하게 학습시킵니다. 데이터 증강 방법으로 Rotation, Shift, Elastic distortion 등이 있습니다.


실험 및 결과 

모델의 성능을 평가하기 위하여 EM Segmentation challenge의 Dataset을 활용합니다. 

더보기

Warping Error : 객체 분할 및 병합이 잘 되었는지 세크멘테이션과 관련된 에러


Warping Error를 기준으로 U-Net 모델이 가장 좋은 성능을 보이고 있습니다.

 

 

 

U-Net 모델은

“PhC-U373” 데이터에서 92% IOU Score를 획득하였으며,

“DIC-HeLa” 데이터에서 77.5% IOU Score를 획득하였습니다. 

두 데이터 셋에서 2등과의 격차가 큰 것을 알 수 있습니다.


결론

U-Net에 관해, 인코딩과 디코딩 과정을 거쳐 의미있는 특성을 추출하는 것으로 알고 있었습니다.

논문 리뷰를 진행하면서, U-Net에 관해 자세히 알게되었습니다.

인상적인 부분은 데이터 수가 적을 때의, 해결책으로 U-Net 구조를 통해 해결한 점에서 앞으로의 딥러닝 발전에 대해서도 많은 관심이 생겼습니다. 앞으로도 더욱 많은 논문을 리뷰를 진행하면서 더 간단하고 깔끔하게 설명하도록 노력해보겠습니다.

Reference

'논문 리뷰' 카테고리의 다른 글

BERT 논문 리뷰  (0) 2024.07.23
Transformer 논문 리뷰  (0) 2024.07.22
Attention 논문 리뷰  (0) 2024.07.16
Alex-Net 논문 리뷰  (0) 2024.07.16
YOLO v3 논문리뷰  (0) 2024.06.26