[CVPR2020]PolarMask: Single Shot Instance Segmentation with Polar Representation

1. Abstract
제안하는 Polar mask는 anchor-box free 방식의 single shot instance segmentation 기법이다. PolarMask는 instance segmentation 문제를 instance center분류 및 윤곽선을 예측하는 문제로 바꾸어 해결하였다. 그 결과로 계산 복잡도와 모델의 단순함이 bounding box 물체인식과 비슷한 수준으로 instance segmentation 문제를 해결할 수 있다.
코드도 공개되었다 github.com/xieenze/PolarMask 어서 포크하자

2. Introduction
기존의 많은 Instance segmentation는 bounding box detection 을 진행한 이후, 각 box 마다 semantic segmentation을 진행하는 two-stage 방식이였다. 이 논문은 기존의 방법에서 최근의 트랜드인 “효율성” 측면을 강화시켰다.

segmentation 방법들

일반적인 segmentation 문제는 보통 Figure 1의 (b)처럼 bounding box에서 이진 분류 마스크를 이용한다. segmentation 마스크를 표현하는 방법은 이진 마스크 뿐만 아니라 (c)좌표점 표현법 과 (d)polar 표현 법이 있다. 이 두 방법은 물체의 중심을 원점으로 놓아 (b)의 방법보다 적은 정보량으로 나타낼수 있어 좋다. polar 방식은 각과 윤곽선까지의 거리를 이용하여 마스크를 쉽게 나타낼 수 있다.

3. Method

3.a. Polar Representation
instance mask \left(x_{i}, y_{i}\right),i=1,2,3,…,N. 가 주어졌을 때, 먼저 center 후보점 \left(x_{c}, y_{c}\right) 에서 pre-defined된 \theta 의 간격마다 중심점과의 거리를 예측하는 문제로 segmentation문제를 다룰 수 있다.
3.b. Mass Center
Center 점으로 어떤 점을 쓸 것인가? 크게 bounding box의 center와 물체의 질량중심을 이용할 수 있다. 논문에서 실험을 통해 mass center가 더 좋음을 밝혔다. 논문에서 밝힌 이유는 질량중심이 물체의 내부에 있을 확률이 박스 중심보다 높기 때문이다.

center점에 대한 분석 질량중심(mass center)가 bounding box의 중심보다 좋은것을 확인할 수 있다
박스의 중심 (초록색 점)은 의자에 포함되지 않지만 의자의 질량 중심 (붉은 점)은 의자에 포함될 확률이 높다

3.d. Center Samples
\left(x_{c}, y_{c}\right)
3.e. Distance Regression
주어진 center sample \left(x_{c}, y_{c}\right) 와 윤곽선 사이의 거리는 계산하기 쉽다. 이때 헷갈리기 쉬운 부분에대해
– 중심에서 뻗어나오는 선이 윤곽선과 여러번 만난다면 가장 큰 지점을 거리로 한다
– 중심에서 뻗어나오는 선이 윤곽선과 만나지 않는다면 가장 작은 값 \epsilon 으로 한다
3.f. Mask Assembling
inference 동안 network는 classification과 centerness 결과를 출력한다. 이를 통해 confidence score를 계산하여 thresholding을 진행한다. 이후, 0.5로 NMS를 진행하여 final result를 얻는다.
다음은 center sample과 length를 이용하여 윤곽선을 얻는 방법이다.
x_{i} = cos θ<em>{i} × d</em>{i} + x_{c}
y_{i} = sin θ<em>{i} × d</em>{i} + y_{c}

3.2. Polar Centerness
Centerness 는 hyper parameter없이 적절한 detection을 위해 제안되었다. 논문은 기존의 bounding box에 맞추어 제작된 Centerness를 질량 중심에 맞게 수정하여 제안하였다.
Polar Centerness = \sqrt{\frac{min({d1, d2, . . . , dn})}{max({d1, d2, . . . , dn})}}
3.3 Polar IoU Loss
대부분의 물체인식과 segmentation 분야에서 smooth-l1 loss와 IoU loss가 효율적인 loss로 사용된다. 이때 l1 loss는 두 비교대상간의 correlatoin을 무시하는 경향이 있고, IoU는 계산이 어려운 경향이 있다. 그래서 논문은 새로운 Loss를 제안하였다.

(좌) 기존의 IoU Loss (우) 제안하는 Loss
(상) PolarMask에 Smooth-l_{1}를사용하였을 때
(하) PolarMask에 Polar IoU Loss를사용하였을 때, 아래의 결과가 더 윤곽선의 정확도가 높음을 확인할 수 있다.

Author: 황 유진

3 thoughts on “[CVPR2020]PolarMask: Single Shot Instance Segmentation with Polar Representation

  1. 좋은 글 감사합니다.
    궁금한 점이 있어서 질문 드리는데,
    1. 첫번째로는 물체의 질량 중심은 어떻게 찾을 수 있는지와 만약 물체의 occlusion이 생겨도 중심점을 찾을 수 있는지가 궁금합니다.

    2. 둘째로는 Figure 1에서 polar 표현법 외에도 좌표점 표현법이 있으시다고 언급하셨는데, 좌표점 표현법과 polar 표현법의 차이 또는 장단점에 대해서 말씀해주실 수 있을까요?

    1. 1.
      질량중심은 3.2에 쓰인 PolarCenterness를 이용합니다 따라서 occlusion이 있다면 질량중심점이 물체에 포함되지 않을 수 있습니다 논문에서도 도넛의 예를 들어(box중심과 질량중심 모두 물체의 내부에 포함되지 않음) 예외가 있을 수 있음을 밝혔습니다
      2.
      polar 표현법은 각과 점과 윤곽선사이의 거리로 마스크를 나타내고, 죄표점 표현법은 죄표로 마스크를 나타냅니다 (예를들어 (x1,y1), (x2,y2), … (xn,yn)) 이때 polar 표현법은 각도가 정해져 있기 때문에 실제로는 윤곽선 사이의 거리만으로 나타낼 수 있습니다(예를 들어 r1, r2, …r3)

  2. 질량 중심은 기존 bounding box를 만들 때처럼 사람이 하나씩 정하나요, 아니면 일련의 알고리즘을 사용하나요?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다