You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
새롭게 real-time 류 instance segmentation 에서 SOTA 찍은 논문.
Intro
Region based 나 dynamic convolution 등 다양한 instance seg 방법론들은 real-time 영역으로 넘어오면 잘 동작시키기 힘들다.
512x512 input 기준으로만 봐도 5456 개의 anchor 가 생겨버린다던지, 여러가지 병목현상이 될 수 있는 부분이 있다.
NMS 또한 2ms 정도 잡아먹는데 총 inf speed 의 10% 를 차지한다.
이 논문에서는 segment 자체를 예측해버리는 새로운 패러다임을 제시한다.
CAM 에 영감을 받아, IAM(Instance Activation Maps) 를 제시한다.
그림을 보면,
(a) center 는 object 위에 instance 가 없을 수도 있고,
(b) region-based 는 배경정보를 포함할 수 있다.
(c) IAM 은 그런 걱정 없다.
IAM은 3가지 이점을 갖는다.
instance 에 집중한다.
전체 이미지의 instance feature 들을 가져와서 context 가 풍부하다.
ROI-Align 보다 훨씬 간단하다.
SparseInst
전체 구조는 다음과 같다.
PPM 은 PSPNet 의 다음과 같은 구조다
IAM-based Decoder 만 자세히 보면 된다.
input 은 encoder feature 에 coordconv 형태로 2channel 이 concat 되서 들어간다.
대략 이런 느낌.
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 를 다음과 같은 수식으로 보정한다.
GT 는 activation 들의 set 이 주어지는데,
hungarian algorithm 으로 bipartite matching 을 한다.
mask (Lmask) 는 dice loss 에 pixel-wise BCE loss,
cls (Lcls) 는 focal loss
IOU (Ls) 는 BCE loss 를 사용했다.
성능은 SOTA!
The text was updated successfully, but these errors were encountered:
paper
code
새롭게 real-time 류 instance segmentation 에서 SOTA 찍은 논문.
![image](https://user-images.githubusercontent.com/16400591/164712310-55efe6c0-246f-421e-a18d-57258d95fb4f.png)
Intro
Region based 나 dynamic convolution 등 다양한 instance seg 방법론들은 real-time 영역으로 넘어오면 잘 동작시키기 힘들다.
512x512 input 기준으로만 봐도 5456 개의 anchor 가 생겨버린다던지, 여러가지 병목현상이 될 수 있는 부분이 있다.
NMS 또한 2ms 정도 잡아먹는데 총 inf speed 의 10% 를 차지한다.
이 논문에서는 segment 자체를 예측해버리는 새로운 패러다임을 제시한다.
CAM 에 영감을 받아, IAM(Instance Activation Maps) 를 제시한다.
그림을 보면,
(a) center 는 object 위에 instance 가 없을 수도 있고,
(b) region-based 는 배경정보를 포함할 수 있다.
(c) IAM 은 그런 걱정 없다.
IAM은 3가지 이점을 갖는다.
SparseInst
전체 구조는 다음과 같다.
![image](https://user-images.githubusercontent.com/16400591/164715025-489803fd-bc25-4db7-9405-84fdba23498e.png)
PPM 은 PSPNet 의 다음과 같은 구조다
![image](https://user-images.githubusercontent.com/16400591/164714980-da85b2ee-ecce-4378-878e-5347f2d24b05.png)
IAM-based Decoder 만 자세히 보면 된다.
![image](https://user-images.githubusercontent.com/16400591/164717214-71ee0c0d-e6bf-4ed3-9c4b-f272f70cdd39.png)
input 은 encoder feature 에 coordconv 형태로 2channel 이 concat 되서 들어간다.
대략 이런 느낌.
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](https://user-images.githubusercontent.com/16400591/164718420-d6e4f2c8-629a-40dc-9373-972df149631f.png)
GT 는 activation 들의 set 이 주어지는데,
hungarian algorithm 으로 bipartite matching 을 한다.
mask (Lmask) 는 dice loss 에 pixel-wise BCE loss,
cls (Lcls) 는 focal loss
IOU (Ls) 는 BCE loss 를 사용했다.
성능은 SOTA!
![image](https://user-images.githubusercontent.com/16400591/164718994-99afd4eb-b6e9-47fb-bfec-d79be8c59396.png)
The text was updated successfully, but these errors were encountered: