Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

U-Net: Convolutional Networks for Biomedical Image Segmentation #20

Open
chullhwan-song opened this issue Jul 17, 2018 · 1 comment
Open

Comments

@chullhwan-song
Copy link
Owner

https://arxiv.org/abs/1505.04597

@chullhwan-song
Copy link
Owner Author

Network (약식)

  • 의료 이미지 (biomedical)
    • 이러한 이미지는 매우 적다 1000장 수집
    • 결과는 분류가 아니라, 의료이미지는 segmentation 결과를 더 필요로함.
  • 따라서, 소수의 학습셋으로 의료 이미지이므로, 정확한 결과를 얻어야한다.
  • sliding window 기법으로,
    image

Network (약식)

  • U-Net : U자모양
    • Convolution Encoder + Convolution Decoder 의 구조로
    • Convolution Encoder = Contracting Path
      • segmentation의 정확도를 위해 Feature를 Copy &Crop하여 Concat하는 구조 ?
    • Convolution Decoder = Expanding Path
      • Up-sampling
    • Fully Convolution + Deconvolution 구조의 조합
      image
      • Contracting Path
        • 각 block들은 3x3 convolution 으로 2개씩 이루어짐. 이 사이에 dropout
          • relu
        • 각 block사이에 2x2 max pooling으로 > 사이즈를 줄여가는 역할
          • stride 2
        • 첫블럭부터 마지막 블럭의 channel 사이즈는 64 -> 1024 증가되는걸 볼수 있음.
          • 한블럭부터 다음 블럭까지 x2 배 크기로
          • 이 의미는 down sampling시 2배의 채널 크기로 한다는 의미
      • Expanding Path
        • Up-conv 연산 > Contracting Path에서 줄어든 크기를 늘이는 역할
          • 2x2 conv > de-conv 아닐까?
        • 각 block 구성은
          • Contracting Path에서 Max-Pooling 되기 전의 feature map을 Crop 한 것 + 아래에서 올라오는 feature 즉, Up-Convolution 할 때 = concat하는 형태로
          • block에서는 3x3 conv 두번
          • 이 conv 사이에 채널을 x2로 줄임.
            • relu
      • 전체적으로 fcn을 사용하지않고 conv 로만
      • Overlab-tile 전략 - Segmentation 시
        image
        • Contracting Path 와 Expanding Path 의 첫번째 block을 볼 때, 즉, input 52x512 이 output 388x388
        • patch 단위로 잘라내서 segmentation이 진행
        • 그런데, 위의 그림 처럼 가장자리(border)쪽에 정보가 없다.
        • 이를 채우기위해, 0으로 하거나, 주변의 값을 채운다.
        • 여기서는, Mirroring 방법을 적용(위의 왼쪽 부분을 비교하면서 보면..)
          image
          image

학습

  • SGD
  • Caffe
  • GPU를 최대한 사용하기 위해, (To minimize the overhead and make maximum use of the GPU memory)
    • batch size를 크게하는것보다, input tiles 크게 하는 방법을...
      • 위 또는 여기서의 title은 Patch(window sliding..)크기인듯..
    • high momentum (0.99) > 이전 학습샘플결과를 현재 단계에 더 반영한다는 의미인듯 ??
  • softmax
  • weight가 반영된 Cross Entropy Loss
    image
    image
    • w(x) 는 x 위치의 픽셀에 가중치를 부여하는 함수
    • w_c(x) 는 x의 위치에 해당하는 클래스의 빈도수에 따라 값이 결정
      • 학습데이터에서 x 픽셀이 background일 경우가 많은지 foreground일 경우가 많은지의 빈도수에 따라 결정
    • d1, d2는 각각 x 에서첫번째, 두번째 가까운 세포까지의 거리
      • x 는 세포사이에 존재하는 픽셀이며 두 세포사이의 간격이 좁을 수록 weight를 큰 값으로 두 세포 사이가 넓을 수록 weight를 작은 값을 가짐, figure 3(d)
        image
  • Data Augmentation
  • 결과
    image
    image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant