Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[89] Sparse Instance Activation for Real-Time Instance Segmentation (SparseInst) #118

Open
dhkim0225 opened this issue Apr 19, 2022 · 0 comments

Comments

@dhkim0225
Copy link
Owner

dhkim0225 commented Apr 19, 2022

paper
code

새롭게 real-time 류 instance segmentation 에서 SOTA 찍은 논문.
image

Intro

Region based 나 dynamic convolution 등 다양한 instance seg 방법론들은 real-time 영역으로 넘어오면 잘 동작시키기 힘들다.
512x512 input 기준으로만 봐도 5456 개의 anchor 가 생겨버린다던지, 여러가지 병목현상이 될 수 있는 부분이 있다.
NMS 또한 2ms 정도 잡아먹는데 총 inf speed 의 10% 를 차지한다.

이 논문에서는 segment 자체를 예측해버리는 새로운 패러다임을 제시한다.
CAM 에 영감을 받아, IAM(Instance Activation Maps) 를 제시한다.

image
그림을 보면,
(a) center 는 object 위에 instance 가 없을 수도 있고,
(b) region-based 는 배경정보를 포함할 수 있다.
(c) IAM 은 그런 걱정 없다.

IAM은 3가지 이점을 갖는다.

  1. instance 에 집중한다.
  2. 전체 이미지의 instance feature 들을 가져와서 context 가 풍부하다.
  3. ROI-Align 보다 훨씬 간단하다.

SparseInst

전체 구조는 다음과 같다.
image

PPM 은 PSPNet 의 다음과 같은 구조다
image

IAM-based Decoder 만 자세히 보면 된다.
input 은 encoder feature 에 coordconv 형태로 2channel 이 concat 되서 들어간다.
대략 이런 느낌.
image

N개의 instance activation map 을 네트워크가 예측하고, D 개의 feature 가 있다고 해보자.
F_iam(·) 은 (grouped conv3x3 - sigmoid) 형태이고, 4 grouped 이다.
(NxHxW) 를 뱉어주는데, 기존 F_iam 의 input 인 (DxHxW) 와 내적해서
최종적으로 (NxD) 의 latent vector 들을 생성한다.

Mask 는 (NxD) 와 (DxHxW) 를 내적해서, (NxHxW) 를 뽑게 된다.

GT 를 뽑은 N개의 prediction 에 one-to-one matching 을 하면 background 만 겁나 나오더라. 이를 해결하기 위해 IOU-aware objectness 를 적용한다.
pred mask 와 GT 사이의 IOU 를 구하고, 그걸 예측하는 head를 따로 뒀다.
이게 score head 이다.

실제 inference 를 할 때는, pred class prob p_i 와 IOU prob s_i 를 다음과 같은 수식으로 보정한다.
image

GT 는 activation 들의 set 이 주어지는데,
hungarian algorithm 으로 bipartite matching 을 한다.

image

mask (Lmask) 는 dice loss 에 pixel-wise BCE loss,
cls (Lcls) 는 focal loss
IOU (Ls) 는 BCE loss 를 사용했다.

성능은 SOTA!
image

@dhkim0225 dhkim0225 changed the title [89] Sparse Instance Activation for Real-Time Instance Segmentation [89] Sparse Instance Activation for Real-Time Instance Segmentation (SparseInst) Apr 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant