일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- WGAN
- dann paper
- CycleGAN
- Meta Pseudo Labels
- shrinkmatch
- semi supervised learnin 가정
- 최린컴퓨터구조
- GAN
- ConMatch
- BYOL
- 컴퓨터구조
- 딥러닝손실함수
- adamatch paper
- dcgan
- Pseudo Label
- Entropy Minimization
- conjugate pseudo label paper
- mocov3
- shrinkmatch paper
- SSL
- simclrv2
- tent paper
- mme paper
- CGAN
- 백준 알고리즘
- remixmatch paper
- cifar100-c
- Pix2Pix
- UnderstandingDeepLearning
- CoMatch
- Today
- Total
Hello Computer Vision
U-Net(U-Net: Convolutional Networks for Biomedical Image Segmentation, 2015) 논문 리뷰 본문
U-Net(U-Net: Convolutional Networks for Biomedical Image Segmentation, 2015) 논문 리뷰
지웅쓰 2022. 11. 23. 10:13이번에 CycleGAN을 살펴보면서 pix2pix에서 발전된 형태라 해서 pix2pix를 공부하려고 했는데
네트워크 구조가 U-Net이라고 해서 먼저 논문을 읽어보려고 합니다.
보니까 생성모델 논문이라고 보다는 의료쪽에서의 Image Segmentation 를 위한 네트워크 였더라고요.
그래서 조금 생소한 용어들이 많이 나와서 완벽히 이해하기 힘들었기 때문에 구조 위주로 설명해보겠습니다.
참고자료 및 이미지
의료데이터는 모으기 굉장히 힘들기 때문에 훈련 데이터셋을 구성하기 굉장히 힘듭니다.
그러한 문제를 해결하기 위한 데이터증강 방법으로 U-Net 을 만들었다고 합니다.
그리고 우리가 보통 이미지 한개에 대해 클래스를 부여한다면 특이하게 의료데이터에서는
픽셀 단위로 클래스 라벨을 부여한다고 합니다.
U-Net의 구조입니다.
기존의 방법은 느리고, redundancy가 일어나며, localization과 use of context간의 tradeoff가 있었다고 합니다.
그리고 이러한 구조를 "Fully convolutional network"라고 부른다고 합니다.
이것에 대한 자세한 설명은 위에 참고한 자료에 잘 나와있지만 가볍게 설명해보자면
예전 Image classification 모델들은 마지막에 FCN(Fully Connected Network)를 활용해 이미지를 분류하였는데요,
AlexNet의 구조를 보시면 마지막에 FCN이 붙어있음을 확인할 수 있습니다.
그렇지만 이러한 경우 이미지안에 있는 물체들의 위치정보가 소실된다고 합니다.
그렇기 때문에 VGGNet에서는 이를 CNN으로 대체했다고 하는데 이러한 것을 "Fully Convolutional Network"라고 합니다.
다시 U-Net에 대해 설명해보자면 Fully Convolutional Network이며, 구조상 대칭으로 되어있는데
왼쪽을 Contracting Path, 오른쪽은 Expanding Path라고 부릅니다.
Contracting Path에서의 과정을 먼저 설명해보자면
1. 3x3 feature map을 사용하며, 패딩을 사용하지 않기 때문에 이미지크기가 조금씩 줄어듬.
2. max pooling을 사용하며 이미지 크기를 줄여나가며, 채널의 크기는 2배씩 증가합니다.
3. ReLU 사용
4. 이미지의 context부분을 추출
Expanding Path의 과정
1. max pooling이 아닌 upsampling을 사용
2. 3x3 feature map사용, padding 사용 하지 않으므로 이미지크기 조금씩 줄어들음.
3. 각 스텝마다 Contracting Path에 있는 feature맵들과 합쳐진다.(Skip architecture)
4. 마지막에 1x1 CNN
5. 이미지의 localization부분 추출
여기서 가장 큰 특징이라고 하면 Expanding path에서의 3번이라고 할 수 있다.
합쳐지는 이미지들은 Contracting path에서의 cropped된 이미지이다.
그리고 구조를 보면 합쳐진 다음에 다시 크기가 줄어듦을 확인할 수 있는데
그전에 이야기했던 localization과 use of context의 tradeoff를 여기서 해결했나 싶다.(개인적인 의견)
그리고 두번째 특징이라고 할 수 있는 Overlap tile strategy입니다.
첫번째 이미지에서 파란색박스 입력에 대해서 노란색박스로 출력이 되는데요,
두번째 이미지에서 빨간색박스를 보시면 파란색박스와 같이 겹치는 것을 확인할 수 있습니다.
이렇게 만들어지는 이미지에 대한 정보를 얻기 위해 이전 입력된 이미지를 참고하는 것이
overlap tile strategy 인 것입니다.
이러한 전략은 큰 이미지를 다루는 것에 대해 중요한 요소라고 합니다.
그리고 원본이미지에 대해 가장자리는 패딩으로 처리하는 것이 아니라 보간법을 사용한 것을 확인할 수있습니다.
그리고 이 네트워크의 목적 자체는 Image Segmentation이었는데요, (c), (d)를 보시면 어느 정도 잘
수행되었음을 알 수 있습니다. 그리고 초반부에 각 pixel마다 클래스가 부여된다고 했는데요,
그렇다면 학습과정에서 segmentation할 때 각 객체간의 거리(클래스 분류를 위한)는 다음과 같이 정의한다고 합니다.
이렇다고하는데 이 부분에 대해서는 정확히 이해를 하지 못했기 때문에 그냥 그런갑다~ 하고 넘어갔습니다.
논문 소감
새로운 용어들이 많아서 완벽하게 이해하기 어려웠던 논문이었는데요, 다행히 잘 정리해주신 분이 있어서참고해서 적었습니다. 한번 더 읽을 필요가 생각이 드네요..틀린 부분 지적해주시면 감사하겠습니다.