Path Aggregation Network for Instance Segmentation
기존 방식의 문제점
- Localization 정보를 잘 반영하기 위해서는 low-level feature를 high-level feature 정보에 반영시켜야 한다. 이 과정에서 연산을 여러번 거치면 그 정보가 충분히 전달되지 못할 것이다. 추정 or 객관적인 근거??
- feature pooling이 뭔가 heuristic한 방법으로 이루어진다(??)
- “Mask prediction이 single view에 의해서 이루어져서”(??) 보다 더 다양한 정보를 모을 수 있는 기회를 잃는다.
제안 방법
아래의 그림은 PANet의 framework를 간략히 도식화한 것으로, 논문에서 새롭게 도입된 아이디어는 (b), ©, (e)에 적용된다. object detection task의 경우 (e)는 무시해도 된다. instance segmentation task를 하는 경우에는 (d)에서 추정된 bounding box를 받아서 mask를 추정하는 mask branch (e)가 필요하다.

Bottom-up path augmentation
위의 그림에서 빨간 점선으로 이루어진 path를 따라 low-level feature를 high-level feature에 더해주는 과정을 생각해보자. 맨 좌측의 layer는 backbone network로, 그림에서는 4개의 층으로 단순하게 그려져 있지만 실제로는 굉장히 많은 layer를 통과하며 연산을 한다. 때문에, 이 과정에서 low-level feature 정보가 충분히 high-level feature에 반영되기가 어려울 수 있다. 이를 위해 추가적으로 제안된 것이 bottom-up 방향으로 정보를 전달하는 아주 간단한 구조의 network (b)를 더해주는 것이다.
- 우측 그림은 bottom-up augmentation 의 구조이다.
- 맨 아래에 있는 $N_2$는 그냥 $P_2$로 정의해준다.
- 아래의 $N_i$에서 (3×3 conv w/ stride 2) 연산으로 down-sampling을 하고, 이를 $P_{i+1}$와 더해준다. 그리고 이렇게 구한 feature에 (3×3 conv) 연산을 적용한 것으로 $N_{i+1}$을 정의한다.

Adaptive feature pooling
Motivation
- 기존의 FPN에서는 ($N_5,N_4$ 와 같이) 해상도가 낮은 feature를 큰 scale의 RoI box 또는 anchor box를 추정하는 데에 사용하고, ($N_2,N_3$ 와 같이) 해상도가 높은 feature를 작은 scale의 RoI box 또는 anchor box를 추정하는 데에 사용한다.
- 각각의 box 크기에 따라, 서로 다른 해상도의 feature가 독립적으로 사용되는 것이 과연 효과적일까? 이렇게 각각이 독립적으로 사용되지 않고, 서로 다른 level의 feature가 사용될 수 있도록 수정하면 어떻게 될까?