카테고리 없음

[U-Net] 논문 리뷰

yuha933 2025. 3. 22. 01:10

Abstract

  • U-Net : 딥러닝을 활용한 이미지 분할 네트워크
    • 데이터 증강 : 적은 수의 학습 데이터만으로도 높은 성능을 발휘하도록 설계
      • 이러한 데이터 증강이 필요한 이유
        : 일반적으로 딥러닝을 이용한 이미지 분할에서는 대량의 주석이 달린 학습 데이터가 필요한데, 의료 영상이나 과학 실험 데이터에서는 이러한 주석을 다는 것이 어렵고, 시간이 많이 걸림
    • U-Net 구조
      • [수축 경로] 와 [확장 경로] 로 구성된 대칭적인 구조
      • 이 구조가 U자 형태로 설계되어 있어 U-Net이라고 불림
      • 정확한 위치 지정을 가능하게 함
    • 성과
      • ISBI 챌린지에서 이전의 최고 방법(슬라이딩 윈도우 방식의 합성곱 신경망)을 능가함을 보여줌
      • 512*512 크기의 이미지를 분할하는 데 최신 GPU에서 1초도 걸리지 않을 정도로 빠름

 

1. Introduction

  • 기존의 CNN은 학습 데이터셋의 크기와 네트워크 규모의 한계로 인해 성능에 제한이 있었음
    But, AlexNet의 등장으로 한계 극복 & 심층 CNN 관련 많은 발전들
    • Ciresan et al.의 슬라이딩 윈도우 방식
      • 기존의 문제
        • 일반적으로 CNN의 사용 사례는 분류 작업이며. 출력 값은 단일 클래스의 라벨
        • But, 생의학 이미지 처리와 같은 많은 시각적 작업에서는 위치 정보를 포함해야 함
          (위치 정보 → 픽셀 단위로 클래스 라벨 할당)
      • 방식
        1. 원본 이미지에서 작은 패치를 추출
        2. CNN에 입력하여 분류 수행 (중심 픽셀의 클래스 예측)
        3. 슬라이딩 (패치를 한 칸 옆으로 이동시킴)
        4. 이 과정을 이미지 전체에 대해 반복 수행 (~모든 픽셀의 클래스를 예측할 때까지)
      • 장점 
        • 위치 정보를 예측할 수 있음
        • 패치 단위의 학습 데이터를 사용함으로써 기존 전체 학습 이미지 개수보다 훨씬 많아짐
      • 성과
        • ISBI 2012의 전자현미경(EM) 세그멘테이션 챌린지에서 큰 차이로 우승
      • 단점
        • 속도가 매우 느리며, 중복된 패치로 인해 불필요한 연산이 너무 많음
        • 위치 정보 정확도와 문맥 정보 활용 사이에 트레이드 오프가 존재함
          • 큰 패치 사용 → 더 많은 맥스풀링 계층이 필요해 위치 정보 정확도가 떨어짐
          • 작은 패치 사용 → 네트워크가 한 번에 볼 수 있는 정보가 제한되어 문맥이 이해하기 어려워짐
      • 해결 방법
        • 여러 계층의 특징을 고려한 분류기 출력을 제안
          → 정확한 위치 정보와 충분한 문맥 정보 활용을 동시에 수행 가능
  • U-Net : 기존의 완전 합성곱 연산 신경망을 기반으로 발전시킨 모델 
    • FCN (U-Net과 비교)
      : 완전 합성곱 연산만을 이용하여 입력 크기를 유지하면서도 세그멘테이션을 수행하는 구조
      • [다운샘플링] → [업샘플링] 사용
      • 업샘플링된 결과를 그대로 사용하는 구조
        → 정보 복원이 완벽하지 않음 & 세부 정보가 손실될 가능성이 높음
    • U-Net
      • 완전 합성곱 신경망 기반 / 완전 연결 계층을 포함하지는 않음 각 합성곱에서 유효한 부분만 사용함
      • [다운샘플링] → [업샘플링] 사용
      • 다운샘플링 과정에서 손실된 고해상도 정보를 다시 활용할 방법을 추가
        • 스킵 커넥션
          : [다운샘플링 과정에서 추출된 고해상도 특징] + [업샘플링된 결과] 직접 연결하여 결합
          → 업샘플링된 출력이 원래 고해상도 정보를 다시 가져와서 더욱 선명한 결과를 생성할 수 있음
      • U자 구조 : 다운 샘플링과 업샘플링을 말한 거였음 ,,,
        • 수축 경로 : 인코더 역할
        • 확장 경로 : 디코더 역할
      • 오버랩 타일 기법
        : 이미지가 너무 커서 한 번에 처리하기 어려울 때, 이미지를 여러 개의 작은 타일로 나눠서 처리하는 방법
        • 장점 
          • GPU 메모리 제한 극복
          • 경계 부분의 정보 손실 방지
            (타일 가장자리에 있는 픽셀들이 주변 정보를 충분히 받지 못해 정확도가 낮아질 수 있다는 문제 해결)
      • 입력 이미지 반사
        : 이미지 경계 부분에서 문맥 정보가 부족할 수 있다는 문제를 해결하기 위해 입력 이미지를 반사하여 경계를 보완하는 방식
        • 경계 영역의 문맥 정보 부족 해결 (이미지의 경계를 대칭적으로 복사하여 추가적인 문맥 정보 제공)
        • 패딩 대신 사용 가능 (경계를 자연스럽게 확장할 수 있어 성능이 더 좋아질 수 있음)
      • 탄성 변형
        : 이미지에 랜덤하게 왜곡을 주는 데이터 증강 기법
        • 탄성 변형을 하는 이유 : 의료 영상에서는 조직이나 세포의 형태가 다양하게 변형될 수 있기 때문에, 네트워크가 이런 변형에도 적응할 수 있도록 훈련시킴 (데이터의 다양성도 높일 수 있음)
      • 가중 손실
        : 동일한 클래스에 속하는 서로 맞닿은 객체들 분리하는 것 
        • 많은 세포 분할 작업에서 사용됨 
          → 이미지 내에서 각 세포의 위치를 찾아내고, 서로 겹치거나 붙어 있는 세포들을 정확히 구분하는 것이 목적 (맞닿은 세포 사이를 구분하는 배경 라벨이 손실 함수에서 높은 가중치를 갖도록 설계)
        • 성과
          • ISBI 2015 셀 트래킹 챌린지의 광학 현미경 이미지에서 수행한 세포 분할 결과, 가장 어려운 2D 투과광 데이터셋 두 개에서 큰 차이로 우승
          • Ciresan et al. 의 네트워크보다 더 높은 성능을 달성

 

2. Network Architecture

  • 이 네트워크는 수축 경로와 확장 경로로 구성됨
    • 수축 경로 : 일반적인 합성곱 신경망 구조를 따름
      1. 3*3 합성곱을 두 번 반복적으로 적용
      2. 각 연산마다 ReLU 활성화 함수를 사용
      3. 2*2 맥스 풀링 연산을 적용하여 다운샘플링을 수행
        → 각 다운샘플링 단계에서는 특징 채널의 수를 두 배로 증가시킴

 

    • 3*3 합성곱을 두 번 반복하는 이유
      : 3*3 필터를 여러 번 적용하면, 큰 필터를 한 번 적용한 것과 비슷한 효과를 낼 수 있는데, 연산량이 더 적고, 비선형성이 증가하기 때문에 성능이 좋음
    • ReLU 함수를 사용하는 이유
      : 비선형 활성화 함수를 사용하여, 신경망이 복잡한 패턴을 학습할 수 있고, 양수 값만 유지해서 기울기 소실 문제를 줄일 수 있고, 학습 속도도 빨라짐
      • 기울기 소실 문제
        • 시그모이드나 tanh : 작은 값들을 계속 곱하면 기울기가 0에 가까워져서 앞 레이어가 거의 학습이 안 되는 문제가 발생할 수 있음
        • ReLU: 양수 구간에서 기울기 값이 무조건 1로 유지됨
          → 역전파 시에 곱해도 기울기가 줄어들지 않아서 소실되지 않음
        • 참고하면 좋은 점 : 0 이하의 값은 기울기가 아예 끊겨 죽은 뉴런 문제가 생길 수도 있어서 요즘엔 Leaky ReLU 같은 개선된 버전도 사용함
          (f(x)=max(0.01x,x))
      • 학습 속도는 왜 빨라지는가
        • sigmoid : σ(x)=1/(1+e^(−x))  → 연산이 느림
        • tanh : t → 이것도 연산 느림
        • ReLU : max(0, x) → 조건문 하나로 끝
          • 역전파할 때도 ReLU의 도함수는 0또는 1이기 때문에 미분이 간단해서 계산이 빠름
    • 2*2 맥스 풀링 연산을 적용하여 다운샘플링하는 이유
      : 2*2 맥스 풀링 연산을 실행하면 이미지의 크기가 절반으로 줄어들음 (한 픽셀이 더 넓은 영역을 요약해서 담게 됨)
    • 각 다운샘플링 단계에서 특징 채널의 수를 두 배로 증가시키는 이유
      : 다운샘플링을 통해 이미지 크기가 작아지므로, 대신 채널 수를 늘려서 더 많은 특징을 기억하도록
      • 근데 [입력] → [합성곱1] →  [합성곱2] → [다운샘플링] → [채널 수 늘림] 인데 채널 수는 어떻게 늘어나는 것인가?
        → 결론부터 말하면 복사하는 건 아니고, 새롭게 만들어진 특징임
        • 입력 이미지가 128*128*64 라고 했을 때 이를 처리하기 위해 128개의 필터를 씌움
          → 필터 하나당 각각 128*128*1 로 생성이 됨 → 결과적으로 128*128*128 이 생성 
          (첫 단계에서 합성곱을 64개의 필터를 사용한다면, 두 번째 단계에서는 128개의 필터를 사용 → 결과적으로 필터가 늘어나게 됨)
  •  

  • 확장 경로
    1. 각 단계에서 특징 맵을 업샘플링한 후, 2*2 합성곱을 적용하여 특징 채널의 수를 절반으로 줄임
    2. 수축 경로에서 가져온 대응되는 크롭된 특징 맵과 결합 (스킵 커넥션)
    3. 3*3 합성곱을 두 번 수행하고, 각 합성곱 연산 후, ReLU 활성화 함수를 적용
    4. 최종 레이어에서는 1*1 합성곱을 사용하여, 64차원 특징 벡터를 원하는 클래스 수로 변환
      → 결과적으로, 이 네트워크는 총 23개의 합성곱 계층을 포함

  • 특징 채널의 수를 절반으로 줄이는 이유
    계산량도 줄고 정보 중복도 제거됨 (마치 앞에서 했던 거 되돌리기 하는 느낌) 

  • 크롭된 특징 맵과 결합하는 이유
    : 다운하면서 손실된 정보들을 복원하기 위해서는 정보가 더 필요함
    → 그걸 수축 경로에서 저장해뒀던 특징맵을 같은 해상도가 되었을때 확장 경로로 끌고 와서 붙이는 거임
    • 예를 들어, 업샘플링으로 64*64 가 되었을 때, 다운샘플링 2번 후 64*64로 줄었을때의 특징맵을 가져와 합침
      → 그러면 64*64에서의 디테일(다운샘플링)과 요약된 정보(업샘플링)가 동시에 존재하는 풍부한 특징 맵이 됨
      (붙이는 방법 : torch.cat([left, right], dim=1) in 파이토치)
  • 그 후, 3*3 합성곱을 두 번 수행하고, 각 합성곱 연산 후, ReLU 활성화 함수를 적용함
    : 고해상도 + 저해상도 정보 합친 거를 이제 이해시켜야 함 붙여진 정보를 재해석하는 과정 

  • ReLU 함수를 사용하는 이유
    : ReLU 함수를 사용하면 중요한 정보만 남기고 중요하지 않은 음수 정보는 잘라냄으로써 합쳐진 정보가 섞이고 다듬어지면서 점점 의미 있는 구조로 바뀜

  • 의미 있는 구조로 바뀌는 과정
    : concat을 이용해서 붙여진 두 맵은 처음에 나란히 붙은 거
    → 이 이후에 합성곱을 통해 채널들 중 각 위치의 값들과 가중치를 곱해서 더해지면서 의미 있는 채널이 생김
    → 그래서 그 채널들을 강하게 연결해서 새로운 특징맵을 만들어냄→그러면서 중요한 채널 조합은 강조되고, 덜 관련있는 채널들은 거의 무시되거나 사라짐
    (결국 CNN이 관련 있는 채널들을 학습을 통해 골라서 조합하는 것)

  • 각 합성곱 연산에서 경계 픽셀의 손실 발생 → 크롭 과정이 필요함
    : U-Net 원 논문에서는 패딩 없이 합성곱을 진행함
    → 그러면 가장 자리가 잘려나가서 경계 픽셀 손실이 생겨버림
    → 그러다 보니까 수축 경로의 특징맵이 업샘플링한 출력보다 더 큼
    → 그래서 왼쪽 특징맵을 오른쪽이랑 딱 맞게 만든 후, 채널 방향으로 붙여 줘야 함 (보통 가운데 기준으로 자름)
    • 수축 경로
      • 입력: 572×572
      • Conv(3×3) → 출력: 570×570
      • Conv(3×3) → 출력: 568×568
      • Max Pooling (2×2) → 284×284
    • 확장 경로
      • 업샘플링 → 크기 늘려서 284×284
      • 하지만 이쪽도 Conv(3×3)을 두 번 하니까
        → 출력이 더 작아짐 (예: 280×280)
  • 최종 레이어에서는 1*1 합성곱을 사용하여, 64차원 특징 벡터를 원하는 클래스 수로 변환함
    : 이제 각 픽셀마다 어떤 클래스인지 예측해야 함 픽셀 단위 분류기 역할인 셈
    • 계산 : 64개의 숫자에 대해 각각 가중치 64개를 곱해서 하나의 숫자를 만듦
      ex. 클래스 수가 2라고 한다면, 64차원 벡터가 각 클래스별 점수로 뽑아내 2차원 벡터로 만들어 버림
  • 이 네트워크는 총 23개의 합성곱 계층을 포함함
    • 수축 경로 : 총 4단계 인데 각 단계마다 3*3 합성곱 2번 이니까 8개
    • 중간 : 2개 -> 수축 경로에서 모든 고차원 특징들을 더 깊이 정리하고 확장 경로로 잘 넘기기 위한 중간 정제 과정
    • 확장 경로 : 총 4단계, 합성곱 2번 8개
    • 업샘플링 : 4개
    • 마지막 출력 레이어 : 1
      • 📥 입력 이미지

        ├── 🟦 수축 경로 (Down path)
        │   ├── 단계 1 
        │   │   ├─ Conv 3×3 (1)
        │   │   ├─ Conv 3×3 (2)
        │   ├── 단계 2
        │   │   ├─ Conv 3×3 (3)
        │   │   ├─ Conv 3×3 (4)
        │   ├── 단계 3
        │   │   ├─ Conv 3×3 (5)
        │   │   ├─ Conv 3×3 (6)
        │   ├── 단계 4
        │   │   ├─ Conv 3×3 (7)
        │   │   ├─ Conv 3×3 (8)

        ├── ⚙️ Bottleneck (중간)
        │   ├─ Conv 3×3 (9)
        │   ├─ Conv 3×3 (10)

        ├── 🟩 확장 경로 (Up path)
        │   ├── 단계 1
        │   │   ├─ Transposed Conv 2×2 (업샘플링) (11)
        │   │   ├─ Conv 3×3 (12)
        │   │   ├─ Conv 3×3 (13)
        │   ├── 단계 2
        │   │   ├─ Transposed Conv 2×2 (14)
        │   │   ├─ Conv 3×3 (15)
        │   │   ├─ Conv 3×3 (16)
        │   ├── 단계 3
        │   │   ├─ Transposed Conv 2×2 (17)
        │   │   ├─ Conv 3×3 (18)
        │   │   ├─ Conv 3×3 (19)
        │   ├── 단계 4
        │   │   ├─ Transposed Conv 2×2 (20)
        │   │   ├─ Conv 3×3 (21)
        │   │   ├─ Conv 3×3 (22)

        └── 🟥 출력 레이어
            └─ Conv 1×1 (23)

3. Training

  • 배치 크기
    • 일반적인 CNN : 배치 크기를 크게 해서 여러 개의 이미지를 한 번에 학습
    • U-Net
      • 문제점 : 이미지 크기가 크고, GPU 메모리 소모가 엄청 많음
      • 해결 방법 : 배치 크기를 1로 설정
      • 또 다른 문제점 : 배치 크기가 1이면 기울기가 너무 불안정하게 변함(∵오직 한 개의 샘플의 기울기에만 의존)
      • 해결 방법 : 0.99라는 높은 모멘텀 사용(이전 기울기가 0.99%를 현재 업데이트에 반영한다는 의미)
        → 이전 기울기의 영향을 강하게 유지해 학습 방향을 부드럽게 만듦 
  • 학습 알고리즘
    • 확률적 경사 하강법(SGD)으로 학습 (∵이미지 크기가 커서 전체 배치 학습이 어렵기 때문에 빠르게 학습하기 위함)
  • 프레임워크
    • Caffe 프레임워크 사용
      • Caffe : 딥러닝 프레임워크로, 속도가 빠르고 CNN 모델을 쉽게 학습하고 실행 가능하게 함
  • 합성곱 설정
    • 패딩 없는 합성곱 사용 (-> 출력 이미지 크기가 입력보다 작아짐)
  • GPU 메모리를 최적화
    • 큰 입력 타일 사용
    • 배치 크기 1로 설정
    • 높은 모멘텀 사용 (-> 이전 학습 샘플들이 현재 가중치 업데이트에 영향을 주도록 함
  •  
  • 손실 함수
    • 에너지 함수(손실 함수) = [최종 특징 맵]에 대해 픽셀 단위로 [소프트맥스]를 적용한 후, [교차 엔트로피 손실 함수]와 결합하여 계산
    • 소프트맥스 함수 식 

 


  • aₖ(x): 픽셀 위치 x에서의 특징 채널 k의 활성화 값
    • aₖ(x) 값이 클수록, 그 픽셀이 해당 특징을 강하게 나타낸다는 의미.
      (손실 함수 계산을 모든 픽셀에서 수행하는 것이 아니라, 특정 영역만 학습할 수도 있기 때문)
  • K : 클래스 개수
  • pₖ(x) : 소프트맥스 확률값
    • a_k(x)가 가장 큰 k에 대해서→  p_k(x) 값은 1에 유사
    • 나머지 k들에 대해서 → p_k(x) 값은 0에 유사

  • 교차 엔트로피 손실 함수
    • 과정
      1. 소프트맥스 함수를 통해서 각 클래스별 확률 계산
      2. 정답 클래스에 해당하는 확률값만 선택해 비교
      3. 정답 픽셀의 확률이 1에서 멀어질수록 손실이 증가하도록 설정
    • 수식
      →  중요한 부분에 손실을 더 크게 반영해서 더 학습하도록 !
    • l(x) : 각 픽셀의 정답 클래스
      •  → (10,10) 픽셀은 "세포"
         → (200,200) 픽셀은 "배경"
    • w(x) : 픽셀별로 손실을 다르게 적용할 수 있도록 부여한 가중치 
      • 수식 
        • 왼쪽 : 클래스간 불균형을 보정하는 기본 가중치 (개수로 따져서 많으면 낮은 가중치, 적으면 높은 가중치)
        • 오른쪽 : 세포 경계에서 가까운 픽셀일수록 손실 값을 더 크게 반영하는 가중치를 적용
          • 세포 간의 경계를 강조하는 방법 : 형태학적 연산을 활용한 경계 계산 - 거리 변환 사용  
          • 세포 경계에서 가까운 픽셀일수록 → exp 값 커짐
          • 반대로 세포 내부나 배경에 있는 픽셀일수록 → exp 값 작아짐
    • 문제점 : 훈련 데이터에서 특정 클래스의 픽셀 수가 불균형할 수 있음
      (ex. 배경 픽셀이 압도적으로 많고, 세포 픽셀은 너무 적은 경우)
      → 이를 보정하기 위해 가중치 맵을 미리 계산해서 픽셀 수가 적은 클래스에 더 높은 가중치 부여 
      • 실험 설정
        • w_0 = 10 : 세포 경계 픽셀의 중요도를 10배 증가시킨다는 의미
        • 시그마 = 5 픽셀 : 세포 경계 근처 (약 5픽셀 이내)까지는 높은 가중치를 유지하면서, 그 이후에는 가중치를 줄이고자 함

교차 엔트로피 손실 함수
가중치 맵 수식


  • 가중치를 적절히 초기화하는 것의 중요성
    • 이상적으로, 네트워크 내의 각 특징 맵이 대략 단위 분산을 갖도록 초기 가중치가 조정되어야 함 
      → 각 계층의 출력을 안정적으로 유지해야 한다는 말
      (적절하게 초기화 되지 않으면, 기울기 소실 문제 혹은 기울기 폭발 문제가 발생)
    • He 초기화 : ReLU 활성화 함수를 사용하는 네트워크에서 가장 적절한 가중치 초기화 방법
      • 신경망이 깊어질 때도 출력 값의 분산이 유지되도록 함
      • 분산 = 2/N
        (∵ReLU 함수는 음수를 모두 0으로 바꾸기 때문에 평균이 낮아지고 분산이 줄어들어서 기본적인 Xavier 초기화 (1/N)보다 더 큰 값을 사용해야 함)
        → 실험적으로 2/N이 가장 안정적인 학습을 보장한다는 것이 알려져 있음

3.1 Data Augmentation

  • 데이터 증강 : 훈련 샘플가 적을 때, 네트워크가 불변성과 강건성 특성을 학습하도록 하기 위해 사용
    • 현미경 이미지의 경우, 주로 이동, 회전, 변형, 회색 값 변화(픽셀의 밝)에 대한 강건성 필요
    • 랜덤 탄성 변형
      : 주석 이미지 수가 매우 적을 때도 효과적인 학습을 가능하게 하는 핵심 데이터 증강 기법
      • 변형 적용 방법
        1. 3*3 그리드로 이미지 분할
           이러한 변위 값들은 표준 편차가 10 픽셀인 가우시안 분포에서 샘플링 됨 
        2. 각 격자의 중심점에서 랜덤한 변위 벡터를 생성
          → 변위 값들은 표준 편차가 10 픽셀인 가우시안 분포에서 샘플링됨
          (10픽셀이라는 값은 실험적으로 가장 적절한 변형 정도를 제공하도록 설정한 것)
        3. 각 격자의 중심점이 랜덤하게 움직였으니, 주변 픽셀도 이에 맞춰 변형되어야 함
    • 드롭아웃
      : 수축 경로의 끝에 있는 드롭아웃 계층은 추가적인 암시적 데이터 증강을 수행함

  • 각 픽셀 단위의 변위는 이후 바이큐빅 보간법을 사용해 계산됨
    • 바이큐빅 보간법 : 16개의 주변 픽셀 값을 고려하여 새로운 픽셀 값을 계산하는 방식
      → 중심점이 이동했을 때 새로운 중심점 위치를 기준으로, 주변 픽셀들의 위치를 보간하여 부드럽게 조정함 즉, 픽셀들이 갑자기 끊기거나 깨지지 않도록 부드럽게 변형해줌

4. Experiments

  • U-Net을 세 가지 다른 세분화 작업에 적용하는 것을 보여줌
    • 전자현미경 기록에서 신경 구조를 분할하는 것 (그림 2)
      • 데이터 세트 : ISBI 2012에서 시작된 EM 세분화 챌린지의 데이터 세트
      • 훈련 데이터 : 초파리 유충의 배측 신경삭을 전자현미경을 이용해 연속 단면으로 촬영한 30장의 이미지
        (세포와 세포막에 대한 완전히 주석이 달린 정답 세분화 맵과 함께 제공)
      • 테스트 데이터 세트 : 데이터는 공개되어 있지만, 정답은 비공개
      • 평가 기준 : 10개의 서로 다른 임계값으로 이진화한 후(세포막 예측 확률 맵이 연속적인 값이기 때문에 여러 개의 임계값을 사용), 왜곡 오차 / Rand 오차 / 픽셀 오차 를 계산
        • 왜곡 오차 : 모델이 예측한 세포막 경계가 실제 정답과 얼마나 잘 일치하는지 평가하는 척도
        • Rand 오차 : 세포들이 원래 연결된 형태 그대로 잘 분리되었는지 측정하는 지표
        • 픽셀 오차 : 픽셀 단위에서 예측이 얼마나 정확한지 평가하는 척도
      • 결과
        • 추가적인 전처리 또는 후처리 없이 왜곡 오차 0.0003529, Rand 오차 0.0382 달성 (표1)
          -> Ciresan et al. 의 슬라이딩 윈도운 합성곱 신경망 결과보다 훨씬 우수한 성능
        • Ciresan et al. 의 최고 성능 제출은 왜곡 오차 0.000420, Rand 오차 0.0504 기록
          Rand 오차 기준으로 보면, U-Net보다 성능이 더 좋은 방법도 있었음 근데 그 방법들은 Ciresan et al. 의 예측 결과에 특화된 후처리를 적용한 것 / 즉, 별도의 후처리를 적용하지 않은 모델 자체 성능만 비교하면, U-Net이 더 우수했음을 의미
    • 광학 현미경 이미지에서의 세포 분할 작업
      • ISBI 세포 추척 챌린지 2014 및 2015의 일부
      • 데이터 세트
        • PhC-U373 : 위상차 현미경으로 촬영된 폴리아크릴아미드 기질 위의 신경교모세포종 U373 세포
          35개의 훈련 이미지 포함
          성능 : 여기서 우리는 평균 IOU(교집합 대비 합집합) 92% 달성 
          이는 두 번째로 성능이 좋은 알고리즘(83%)보다 상당히 우수한 결과
        • DIC-HeLa : 미분 간섭 대비 현미경으로 촬영된 평평한 유리 위의 헬라 세포
          20개의 훈련 이미지 포함

          성능 : 평균 IOU 77.5% 달성 
          이는 두 번째로 성능이 좋은 알고리즘(46%)보다 상당히 우수한 결과

5. Conclusion

  • U-Net 아키텍쳐는 다양한 생의학적 세분화 응용에서 매우 우수한 성능을 발휘함
  • 탄성 변형을 이용한 데이터 증강 덕분에, U-Net은 매우 적은 수의 주석된 이미지만 필요하면, Nvidia Titan GPU에서 단 10시간 만에 합리적인 학습 시간이 걸림
  • Caffe 기반의 전체  구현 및 학습된 네트워크 제공
  • U-Net 아키텍쳐가 더욱 다양한 작업에 쉽게 적용될 수 있을 것

6. Acknowlegements

7. References