일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tabular
- Phase recognition
- TabNet
- 코드오류
- MICCAI
- 파이썬
- 확산강조영상
- parer review
- nlp
- monai
- MRI
- 데코레이터
- 유전역학
- nibabel
- nfiti
- TeCNO
- non-parametric model
- deep learning #segmentation #sementic #pytorch #UNETR #transformer #UNET #3D #3D medical image
- Surgical video analysis
- 확산텐서영상
- words encoding
- precision #정밀도 #민감도 #sensitivity #특이도 #specifisity #F1 score #dice score #confusion matrix #recall #PR-AUC #ROC-AUC #PR curve #ROC curve #NPV #PPV
- 비모수적 모델
- parametric model
- PYTHON
- 모수적 모델
- decorater
- parrec
- genetic epidemiology
- paper review
- Today
- Total
KimbgAI
[ML] FCN(2014.11); Fully Convolutional Networks for Semantic Segmentation 요약 및 pytorch 코드 구현(1) 본문
[ML] FCN(2014.11); Fully Convolutional Networks for Semantic Segmentation 요약 및 pytorch 코드 구현(1)
KimbgAI 2022. 10. 5. 15:43FCN(2014.11); Fully Convolutional Networks for Semantic Segmentation
원문: https://arxiv.org/abs/1411.4038
본 리뷰는 Semantic Segmentation의 기술 동향을 살펴보며,
핵심 아이디어와 Contributions을 정리하고, 간단한 코드 구현을 통해 살펴보고자 한다.
주요 Contribution은 다음과 같다.
1. Fully convolutionalization
- ILSVRC(Imagenet Large Scale Visual Recognition Challenge, 이하 이미지넷)에서 좋은 성적을 보였던 기존 CNN기반 모델(VGG)을 Backbone으로 구성하여 목적에 맞게 변형시켰다.
- 이 과정에서 기존 FC(Fully Connected) layer의 단점을 보완하여 모든 layer를 convolution layer으로 변경하였다.
- FC layer의 단점은 1)input image size가 고정된다는 제약 2)위치정보의 손실
2. Upsmapling using deconvolution (transposed convolution)
- 보통 Convolution Neural Network에서 feature map의 크기를 줄이는 이유는 receptive field를 넓혀 global한 정보를 얻고, parameter수를 줄여 computational benefit을 얻기 위함이다.
- 하지만 feature map의 크기가 줄어들면 그만큼 위치정보도 사라지기 때문에 segmentation에서는 upsampling이 필수적이다.
- 보통 upsampling method로는 bilinear interpolation이나 unpooling이 있지만, deconvoultion 사용하게 되면, upsampling 과정에서 학습할 수 있어 보다 정교한 feature map을 얻을 수 있다.
3. Skip architecture
- 앞서 언급한바와 같이 깊은 layer에서 나온 feature map일 수록 global하고 abstract한 정보를 가지고 있지만, location 정보는 잃어버린다.
- 따라서, 이전 layer들의 freature map들을 사용하여 위치정보를 활용하였다. feature map을 그대로 사용한 것이 아닌, convolution layer를 추가하여 결합하였다.
- 아래 그림은 FCN-32s는 32배 축소된 feature map을 사용한 결과이며, FCN-8s는 8배 축소된 feature map도 함께 사용한
결과이다. FCN-8s의 결과가 보다 정교한 위치를 잡아내는 것을 볼 수 있다.
Loss function
논문에서 사용한 loss는 'per-pixel multinomial logistic loss' 라고 되어있다.
즉, 픽셀단위 crossentropy loss를 사용함.
결과
PASCAL VOC 2011 dataset으로 평가된 결과다.
생각만큼 좋은 결과는 아니지만, 그 당시 비교모델(SDS)과 비교해본다면 괄목할만하다
Code
코드는 아래의 포스팅에 있습니다~
https://kimbg.tistory.com/18?category=578326
'machine learning' 카테고리의 다른 글
[ML] FCN(2014.11); Fully Convolutional Networks for Semantic Segmentation 요약 및 pytorch 코드 구현(2) (0) | 2022.10.12 |
---|---|
[ML] STL10 Dataset 간편하게 다운받고 정리하기 (0) | 2022.10.06 |
[ML] U-Net(2015.05); Convolutional Networks for Biomedical Image Segmentation 요약 및 pytorch 코드 구현(1) (3) | 2022.10.05 |
[pytorch] CrossEntropy Loss Function (2) | 2022.10.04 |
[ML] Segmentation label을 resize할 때 조심할 것! (0) | 2022.09.28 |