이번 학기는 Image Segmentation에 꽂혀서 기초부터 천천히 공부하려 한다.
그래서 첫 공부로 Survey Paper를 찾았고, 블로그나 깃헙에 정리도 하면서 리뷰를 하려고 한다.
Source: https://arxiv.org/abs/2001.05566
Image segmentation is a key topic in image processing and computer vision with applications such as scene understanding, medical image analysis, robotic perception, video surveillance, augmented reality, and image compression, among many others. Various algorithms for image segmentation have been developed in the literature. Recently, due to the success of deep learning models in a wide range of vision applications, there has been a substantial amount of works aimed at developing image segmentation approaches using deep learning models. In this survey, we provide a comprehensive review of the literature at the time of this writing, covering a broad spectrum of pioneering works for semantic and instance-level segmentation, including fully convolutional pixel-labeling networks, encoder-decoder architectures, multi-scale and pyramid based approaches, recurrent networks, visual attention models, and generative models in adversarial settings. We investigate the similarity, strengths and challenges of these deep learning models, examine the most widely used datasets, report performances, and discuss promising future research directions in this area
Index Terms
Image segmentation, deep learning, convolutional neural networks, encoder-decoder models, recurrent models, generative models, semantic segmentation, instance segmentation, medical image segmentation.
아쉽게도 이 논문에서 transformers은 다루지 않는다고 한다.
CNNs은 보통 3가지 레이어로 구성된다.
1. Conv layer - 특징 추출을 위한 합성
2. Activation layer - 모델을 비선형으로 만들기 위함
3. Pooling layer - 특징맵을 작게 만들어줌
The main computational advantage of CNNs is that all the receptive fields in a layer share weights,
한 레이어에서 하나의 커널을 가지기 때문에, 전체 이미지에 대한 정보를 담고 있으며 적은 weights들로 효율적으로 계산할 수 있다는 뜻으로 보인다.
GAN도 설명을 하지만 Segmentation에 대한 언급은 하나도 없다. 왜 넣은거지?
여러 이유 때문에 신경망 구조로 그룹화하여 설명한다.
읽는 도중 dilated convolution에 대해 잘 몰라서 따로 찾아봤다
Segmenation 뿐만 아니라 Object Detection 분야에서도 이득을 볼 수 있다. 이와 같이 Contextual Information이 중요한 분야에 적용하기 유리하다. 또한 간격을 조절하여 다양한 Scale에 대한 대응이 가능하다.
출처: https://eehoeskrap.tistory.com/431 [Enough is not enough:티스토리]
FCN도 논문을 읽고 모델을 만들어 봐야겠다.
여기서 CRF, MRF를 사용하는데 개념을 찾아봐도 이해하기 힘들었다. DeepLab의 논문을 읽을 예정이니 그때 다시 정리를 하면서 이해해야겠다.
최근의 대부분의 Segmentation 모델은 인코더-디코더 아키텍처를 사용한다.
이 논문에서는 General Segmention과 Medical Image Segmentation을 구룹화 하였다.
보통 그림처럼 두가지 부분으로 이루어 져있는데, Convolution network와 Deconvolution network이다. 그냥 Convolution network 반대 버전이다. pooling -> unpooling
위 그림에서 FCN을 빼고 Fully Convolutional Network로 만든 모델이 SegNet이다.
그리고 그림을 보면 알수있지만, Deconvolution이 아니고 Upsampling 후 Convolution을 사용한 것을 알 수 있다.
여기까지 논문을 읽어 보고 나머지 내용은 내가 몰라서 찾아보는 부분만 찾아서 보는식으로 해야겠다.