[논문 리뷰] Learning Superpoint Graph Cut for 3D Instance Segmentation

김경준·2023년 1월 16일
1

논문

목록 보기
34/37

Introduction

  • 3D point cloud를 input으로 받아 instance segmentation을 하는 task로 기존의 detection-based, clustering-based 방식으로는 복잡한 geometric structure에서 잘 작동하지 못한다.
  • 본 논문에서는 superpoint graph를 활용한 learning-based 방식으로 3D point cloud의 local geometric structure를 explicit하게 학습한다.
  • Edge prediction network를 통해 인접 노드들 간의 similarity를 계산하고 coordinate space와 feature space에서 각각 같은 instance인 노드끼리는 끌어당기고 다른 instance인 노드끼리는 밀어내도록 학습한다.

Superpoint Graph

  • Input으로 들어오는 point cloud를 geometric metric을 기준으로 하여 나눠주고 각각의 partition을 하나의 superpoint라 한다.
  • 각 superpoint는 PointNet을 거쳐 embedding feature 및 semantic 정보를 가진다.

Method

Edge Score Prediction Network

Edge feature embedding in coordinate space

  • 두 노드 u,vu, v의 similarity를 계산하기 위해 coordinate space 상에서 각각 instance centeroid를 향하도록 shift 한다.
  • Superpoint의 feautre FRV×C\mathbf{F} \in \mathbb{R}^{|V| \times C}는 MLP를 거쳐 offset vectors O={o1,...,oV}O=\{o_1, ..., o_{|V|}\}로 encoding 되며 shifted superpoint coordinates는 X^=X+O\hat{X}=X+O가 된다. X={x1,...,xV}X=\{x_1,...,x_{|V|}\}는 original superpoint coordinates를 의미한다.
  • 이후 노드 uu에 대해 kk-nearest superpoints를 활용하여 local kk-NN graph GuG_u를 만들고 노드 vv에 대해서도 동일한 과정을 거쳐 GvG_v를 만든다.
  • 두 그래프 Gu,GvG_u, G_v에 대해 cross-graph attention을 수행하며 최종적인 output feature vector는 다음과 같다.
    • xi^,xu^:\hat{x_i}, \hat{x_u}: shifted coordinates
    • i:i: enumerates the all 2*kk neighbors across two graphs
  • Feature vector huRCh_u \in\mathbb{R}^C는 두 그래프 간의 gemetric한 차이를 학습하여 geometry similarity를 characterize하며 edge embedding eu,ve_{u,v}hu,hvh_u, h_v를 concat하여 정의된다.

Edge feature embedding in feature space

  • Feature space에서의 embedding은 F\mathbf{F}가 MLP를 통과하여 initial feature embedding ZRD\mathbf{Z}\in \mathbb{R}^D를 얻는다.
  • 동일한 방식으로 kk-NN graph Gu,GvG_u,G_v를 만들어 cross-graph attention을 통해 feature vectors h^uRC,h^vRC\hat{h}_u\in \mathbb{R}^C, \hat{h}_v\in \mathbb{R}^C를 얻으며 concat하여 edge embedding e^u,v\hat{e}_{u,v}를 만든다.
  • u,vu,v가 동일한 instance에 속한다면 유사한 kk-NN graph를 공유할 것이며 그 결과 두 개의 feature vector가 유사해진다.

Geometry-Aware Loss

  • 두 space에서 얻은 edge embedding들은 MLP를 거쳐 edge score를 생성한다. du,vd_{u,v}는 두 노드의 shifted coordinate space에서의 geometric distance를 나타낸다.

  • Edge score αu,v\alpha_{u,v}가 0.5보다 크면 두 노드 사이의 엣지는 superpoint graph에서 사라지며 Ledge\mathcal{L}_{edge}는 BCE loss로 구성된다.

  • 노드 u,vu,v에 해당하는 instance centroids를 cu,cvc_u, c_v라 할 때 L2L_2 distance du,cu,dv,cvd_{u,c_u}, d_{v,c_v}를 minimize하고 두 노드가 같은 instance일 때는 uvc\triangle uvc가 최소가 되도록, 다른 instance일 때는 uvcu\triangle uvc_uuvcv\triangle uvc_v가 최소화되도록 하기 위해 다음과 같은 loss를 활용한다.

  • Feature space에서도 마찬가지로 동일한 instance라면 서로 끌어당기고 mean embedding gg가 가까워지도록, 다른 instance라면 서로 밀어내며 gu,gvg_u,g_v 또한 멀어지도록 학습한다.

  • 최종 loss는 다음과 같다.

Superpoint Graph Cut Network

Proposal Generation via Superpoint Graph Cut

  • Edge score A={au,vRE×1}A=\{a_{u,v} \in \mathbb{R}^{|E| \times 1}\}와 노드에 대한 predicted semantic class를 통해 candiate proposals를 생성한다.
  • Semantic prediction error의 영향력을 줄이기 위해 ii-th class에 대한 확률값이 threshold θ\theta 이상인 superset CiC_i을 만든 뒤 두 노드 u,vu,vCiC_i에 모두 속하면 edge를 유지하고 그렇지않으면 제거한다.
  • 이후 유지된 superpoint graph에서 edge score가 0.5 이상인 경우 제거한다.
  • 마지막으로 breadth-first-search 알고리즘을 적용하여 ii-th class에 대해 mm개의 proposals I={I1,...,Im}I=\{I_1, ..., I_m\}를 생성한다.

Bilateral Graph Attention for Proposal Embedding

  • Coordinate space와 feature space에 모두 attention을 적용하는 bilateral graph attention을 통해 proposal embedding을 추출한다.
  • ii-th proposal이 주어졌을 때, shifted superpoint coordinates를 평균낸 proposal centroid cic_i를 계산한다.
  • Proposal의 embedding을 interpolate 하기위해 inverse distance weighted average를 활용한다. IiI_iii번째 proposal의 superpoints를 xjx_j는 superpoints의 original coordinates를 의미한다.

  • wi,jw_{i,j}는 superpoint jIij \in I_iii번째 proposal 사이의 bilateral weight로 ϕ\phiφ\varphi는 각각 feature space와 coordinate space에서의 proposal centroid와 superpoint의 차이를 encoding하는 mapping function이다. wi,j^\hat{w_{i,j}}는 softmas를 거친 정규화된 weight이다.
  • Weighted superpoint embedding을 sum하여 proposal embedding을 얻는다.
  • Proposal embedding은 classification head, score head 그리고 low confidence를 가지는 superpoint를 마스킹하기 위한 score를 예측하는 superpoint mask head를 거쳐 instance를 생성하며 각각 CE loss, BCE loss, MSE loss를 쓴다.
  • 최종 loss는 semantic score를 위한 conventional CE loss까지 더해져 다음과 같다.

Experiments


Reference

0개의 댓글