윤제로의 제로베이스

Image Segmentation Using Deep Learning:A Survey (2) 본문

Self Paper-Seminar/Semantic Segmentation

Image Segmentation Using Deep Learning:A Survey (2)

윤_제로 2023. 7. 5. 12:53

https://arxiv.org/abs/2001.05566

 

Image Segmentation Using Deep Learning: A Survey

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 al

arxiv.org

3.4 Multi-Scale and Pyramid Network based Models

Feature Pyramid Network(FPN)의 경우 컴퓨팅 자원을 줄이면서 더불어 다양한 크기의 객체를 탐색하기 위해서 만들어진 architecture이다. 

앞선 기존의 방법들과 각각의 문제점을 보자면

1) Featurized image pyramid

이미지 자체를 여러 크기로 resize하여서 다양한 scale를 네트워크에 입력하는 방식이다. 문제점은 이미지 한장한장을 독립적으로 넣어줘야 하므로 속도가 느리며 메모리를 많이 쓸 수밖에 없다.

2) Single Feature map

단일 scale의 입력 이미지를 네트워크에 넣어 단일 scale의 featuremap을 통해 detection하는 방법이다. YOLO v1에서 이 방법을 사용했다. 비교적 속도는 빠르지만 성능이 떨어진다.

3) Pyramidal feature hierarchy

미리 지정한 conv layer마다 feature map을 추출해서 detection하는 방식이다. multi scale feature map을 사용하기 때문에 성능이 높아지는 장점은 있지만 feature map 간의 해상도 차이로 인해서 semantic gap이 발생한다는 문제점이 있다. 

더불어서 모델이 얕은 layer에서의 feature map까지 학습하면 representational capacity를 손상시켜 객체 인식률이 낮아지게 된다. 이때문에 중간부터 feature map을 추출하여 사용한다.

FPN에서는 임의의 크기의 single scale이미지를 CNN에 입력하여 다양한 scale의 feature map을 출력한다. ResNet을 기반으로 지정된 layer에서 feature map을 추출하여 사용한다. 이때 feature map pyramid는 bottom-up pathway, top-down pathway, lateral connections를 따라 진행된다.

bottom-up pathway에서는 CNN forward pass를 통해서 feature map을 추출한다. top-down pathway에서는 각 feature map을 upsampling하고 channel수를 동일하게 맞춰준다. 각각의 feature map은 2배씩 차이나기 때문에 2배로 upsampling해주면 아래 level의 크기와 같아진다. 그리고 각각의 같은 크기의 feature map끼리 element-wise addtion연산을 하는 lateral connetion 과정을 연산한다. 이 과정을 통해 만약 5개의 conv에서 feature map을 추출했다면 결과적으로는 4개의 output featuremap을 얻게 되는 것이다. 

이후에 나온 연구로는 Pyramid Scene Parsing Network(PSPN)으로 global context representation을 더 잘 학습하기 위해서 나오게 되었다. 

PSPN architecture

ResNet을 feature extractor로 사용하였고 이를 통해 얻은 feature map을 각각 다른 크기의 average pooling을 거친다. 이후 1*1 kernel로 channel수를 1로 모두 맞춰준 후 bilinear interpolation을 거친 각 featrue크기를 맞춰 concatenation을 한다. 이후 conv layer를 거쳐 pixel wise prediction을 하는 단계로 마무리 된다.