본문 바로가기
Open Vocabulary/3D Segmentation

[논문리뷰] Lowis3D: Language-Driven Open-WorldInstance-Level 3D Scene Understanding

by khslab 2023. 12. 19.

이제 학부생 과정을 전부 다 끝냈다..

지난 시간을 되돌아보면 게으른적도 많았지만

나쁘진 않은것 같다.

그래도 인공지능 기초는 떼고 석사과정 올라가자는 목표는

이룬 것 같은데 석사를 박사같이 하는것은 많이 어려울 것 같다.. ㅋㅋ

교수님께서 투자해주시는 것에 비해 결과가 안나와서 항상 죄송할 따름이다..

 

각설하고 본 논문은 이전에 리뷰한 PLA 논문의 후속 버전이다.

PLA의 저널 버전이라 할 수 있을 만큼 실험이 많고

PLA의 instance segmentation 성능을 높인 논문이다.

큰 틀에서는 PLA와 같으니 참고하도록 하자.

 

arXiv' 23

https://arxiv.org/abs/2308.00353

 

Lowis3D: Language-Driven Open-World Instance-Level 3D Scene Understanding

Open-world instance-level scene understanding aims to locate and recognize unseen object categories that are not present in the annotated dataset. This task is challenging because the model needs to both localize novel 3D objects and infer their semantic c

arxiv.org


Abstract

 

Open-vocabulary task는 2D에서는 image-text pair를 쉽게 구할 수 있고

CLIP이라는 모델 덕분에 쉽게 달성할 수 있지만

3D task에서는 point clouds - text pair를 구축하기 어렵기 때문에

3D CLIP 모델을 만들어 학습시키는 것은 어렵다.

(참고로 ScanNet은 한 장면 당 supervised label을 만드는데 22분 정도가 걸렸다)

 

따라서 저자들은 pre-trained vision-language foundation model을

확용하여 3D scene의 multi-view caption을 만드는 것을 제안한다.

이때 pre-trained model은 2D image-pair로 학습된 모델이다.

또 저자들은 fine-grained visual-semantic representation을 위해

hierachical point-caption association method를 설계한다.

마지막으로 기존 PLA에서 novel class에 대해

instance segmentation이 잘 안되는 부분을 해결하기 위해

instance-level pseudo supervision을 사용하여

unlabeled data에서 object grouping module을

학습하는 debiased insance localization을 제안한다.

 

PLA논문과 다른점은 다음과 같다.

1. open world 3D scene understanding에 대한 심도있는 설명

2. lightweight proposal grouping module

3. 수많은 실험 (outdoor에도)

4. panoptic segmentation 진행


3 Preliminary

 

semantic, instance label은 다음과 같이 표현한다.

$Y = \left\{(y_{sem}, y_{ins})\right\}$

그리고 이것은 base category $C^{B}$와 novel category $C^{N}$로 나눠진다.

학습 중에는 모든 point clouds $P = \left\{ p \right\}$에 접근이 가능하지만

annotation은 base에만 있다. $Y^{B}$

그러나 최종적으로는 $C^{B} \cup C^{N}$에 대해 평가한다.

 

전형적인 instance understanding network는

3D encoder $F_{3D}$로 feature를 추출하고,

dense classification head인 $F_{sem}$이

semantic comprehensino을 진행한다.

마지막으로 instance head가

instance localization, mask prediction을 진행한다.

 

구체적으로, 저자들은 bottom-up 전략을 사용한다.

각 point가 instance의 center로 향하는 offset을 예측하는

offset branch $F_off$를 지나

offset-shifted point를 proposal로 클러스터링 하는

instance grouping module $F_group$을 지나

각 proposal을 post-precessing하고 confidence ranking을 매기기 위한

proposal scoring network $F_{score}$를 지난다.

파이프라인을 다음과 같이 나타낼 수 있다.

 

$p$ 는 input point cloud, $f^p$는 the point-wise 3D feature,

$\sigma$는 softmax function, $s$는 semantic score,

$o$는 point offset, $r은 grouped proposal, $z$는 proposal scores다.

각각은 다음 loss를 통해 학습한다.

 

panoptic segmentation에 대해서는 semantic prediction $s$와

instance proposal $r$을 융합하여

coherent segmentation map을 생성한다.


4 Open-World Instance-level Scene Understanding and Challenges

 

모델의 전체적인 구조는 다음과 같다.

 

4.1 Open-World Setups

 

식(3)을 통해 모델 학습이 가능하지만,

이 모델은 실제로 close-set 모델이다.

따라서 unseen category에 대해서는 인식하지 못한다.

이 문제를 다루기 위해 text-embedded semantic classifier가 도입된다.

 

4.1.1 Text-Embedd Semantic Classifier

 

저자들은 learnable semantic classifier $F_sem$를

pre-trained category text embedding $f^{l}$와

3D feature $f^p$와 $f^l$의 차원을 맞춰주는

learnable vision-language adapter $F_{\theta}$로 교체한다.

$f^v$는 VL adapter $F_{\theta}$를 통해 얻어진 feature다.

$f^{l}=\left[f_{1}^{l},f_{2}^{l},...,f_{k}^{l}\right]$은 $k$개의 category name $C$를 사용하여

CLIP 같은 frozen text encoder $F_{text}$를 통해 만든다.

모델은 cosine similarity를 통해

가장 비슷한 feature를 prediction으로 선택한다.

단순히 이러한 방법만을 적용한 모델을

저자들은 OV-SparseConvNet이라고 했다.

 

4.1.2 Semantic-Guided Instance Module

 

저자들은 instance segmentation을 위해 SoftGroup을 채택했다.

offset head인 $F_{off}$는 각 포인트가 자신의 object center로 향하는

class-agnostic offset $o$를 추정한다.

저자들은 class 통계(즉, 각 class의 instance mask 당 평균 point 수)는

novel category에 사용할 수 없기 때문에 사용하지 않는다.

 

저자들은 novel category의 적응성(adaptability)를 용이하게 하기 위해

proposal scoring head $F_{score}$의 기능을 수정한다.

이 수정은 seen category로의 잠재적인 bias를 제거하고

novel category에 더 나은 일반성을 가능하게 한다.

추가적으로 이 수정은 novel category에 대한 prior knowledge가 없어도

proposal scoring network 학습을 가능하게 한다.

위 방법만을 적용한 모델을 OV-SoftGroup라고 한다.


4.2 Challenges

 

4.2.1 Challenges on Semantic Understanding

 

저자들은 먼저 OV-sparseConvNet을 학습하여

$C^{B} \cup C^{N}$에 대해 평가했다.

위 표를 보면 novel은 전혀 감지하지 못하는 것을 알 수 있다.

†표시는 target text embedding을

base point에서는 base text embedding만 주고

novel point에서는 novel text embedding만 줬을 때 평가한 것이다.

위 결과로 보아 모델이 base에만 강하게 편향된 것을 확인할 수 있다.

 

4.2.2 Challenges on Instance Localization

 

비슷하게 OV-SoftGroup에 대해 평가한다.


5 Method

 

저자들은 open-world 3D instance-level scene understanding 모델인

Lowis3D를 제안한다.

 

5.1 Image-Bridged Point-Language Association

 

저자들은 image-bridged point-language association module을 제안한다.

아래 내용들은 PLA 내용과 같으므로 PLA를 봤으면 생략 가능하다.

 

2D open-vocabulary의 language supervision은

vision backbone을 충분한 semantic concept을 접근하도록

할 뿐만 아니라 vision, language feature를 하나의 공통된 space로

매핑하도록 돕는다.

그러나 Internet-scale의 point-text 쌍은 image-text쌍처럼 쉽게 이용할 수 없다.

 

이 문제를 다루기 위해 저자들은 PLA라는

image bridged point-language association module을 제안하여

human annotation없이 3D scene perception에 대한

language supervision을 제공한다.

핵심 idea는 bridge로 3D scene의 multi-view image를 사용하여

VL foundation model에 인코딩된 knowledge에 엑세스 하는것이다.

 

위의 그림과 같이 text description은 input으로

3D scene의 view-image를 받는 image-captioning에 의해 먼저 만들어진다.

 

5.1.1 Multi-View Images Captioning

 

image captioning model은 OFA를 사용한다.

$i^{th}$ scene의 $j^{th}$ image $v_{ij}$를 입력으로 받으면,

pre-trained image-captioning model $mathcal{G}$는

대응되는 language description $t_{ij}^{v}$를 만들 수 있다.

놀라운 점은 $mathcal{G}$가 3D scne understanding dataset에

학습되지 않았음에도 불구하고, 만들어진 caption에 있는 entity는

이미 3D dataset의 semantic label 전체를 커버한다는 것이다.

caption $t$는 상당한 정확도를 제공하고

room type, semantic category, color,

texture attribute, spatial relation에 대한

description도 제공한다.

 

5.1.2. Associate Point Cloud with Language

 

다음 단계는 point set $\widehat{p}$을 bridge로

image $v$에 대한 language $t$와 연결시키는 것이다.

저자들은 3가지 association fashion을 제안하고

이것들은 다른 공간적 scale을 가진다.

 

Scene-Level Point-Caption Association

 

가장 간단한 association 방식은

language supervision을 3D point scene에 있는 모든 point에

연결하는 것이다. $ \widehat{p}^{s} = p$

저자들은 text summarizer $\mathcal{G}_{sum}$ (BART)을 경유하여

scene-level caption $t_{j}^{s}$를 얻기 위해

주어진 scene $p_{j}$의 모든 2D image caption $t_{ij}^{v}$를 가진다.

$n_{j}$는 scene $p_{j}$의 image 수다.

각 scene $p$에 대응되는 scene description $t^{s}$로부터

모델이 학습하도록 한다.

 

View-Level Point-Caption Association

 

앞선 방법이 효과적임에도 불구하고,

scene-level caption은 한 장면의 모든 point에 대해

하나의 caption만 제공한다.

이것은 3D pont cloud의 local 특성과 language의 관계를 간과하게 된다.

이에 대해, 저자들은 view-level point-caption association을 제안한다.

이것은 image와 point 사이의 geometric 관계를 이용하여

주어진 image $v$의 3D view frustum $ \widehat{p}^{v}$안의

point set에 대한 image caption $t^{v}$를 할당한다.

view-level point set $ \widehat{p}^{v}$를 얻기 위해,

저자들은 먼저 RGB image $v$를 3D space로 back-project하고

depth 정보 $d$를 사용하여

대응되는 point set $\ddot{p}$를 얻는다.

$[\cdot | \cdot ]$는 block matrix를 나타내고

$T\in \mathbb{R}^{3 \times 4}$는 camera intrinsic matrix와

 sensor configuration이나

mature SLAM approach에 의해 얻어진

rigid transformation의 projection matrix comprising이다.

 

back-projected point $\ddot{p}$와3D scene point $p$는

서로 공간적으로 겹치는데,

저자들은 view-level point set $\widehat{p}^{v}$를 얻기 위해

겹친 영역을 계산한다.

$V$와 $V^{-1}$는 voxelization과 reverse voxelization process다.

$R$은 radius-based nearest-neighbor search를 나타낸다.

각 view-based association은 model을 region-level language

description에 대해 학습하는 것이 가능하고,

이것은 모델의 unseen category에 대한 recognition과

localization 능력을 크게 향상시킨다.

논문에서 한 point에 여러 label이 들어가는 경우를

언급 안하는 것으로 보아 view-level image(24,902장) 모두에 대해

각각 point set $\ddot{p}$를 만들어 학습하는 것으로 보인다.

 

Entity-Level Point-Caption Association


비록 view-level caption은 3D scene에 있는

구체적인 partial point set에 대해

각 image-caption $t^{v}$을 연관시킬 수 있지만

여전히 large 3D area에 구축돼있다.

 

저자들은 caption에 대한 object instance같은 entity-level

point caption 쌍을 build하기 위해

fine-grained point-language association을 제안한다.

저자들은 인접한 view-level point set $\widehat{p}^{v}$와

대응되는 view-caption $t^{v}$의 intersection을 이용하여

point $\widehat{p}^{e}$과 caption $t^{e}$와 연관된 entity-level caption을 얻는다.

먼저 저자들은 entity-level caption $t^{e}$를 다음과 같이 계산한다.

$E$는 caption $t^{v}$로부터 entity word $w$의 집합을

추출하는 것이다.

$\backslash$와 $\cap$은 각각 difference와 intersection을 다타내고

Concate는 entity-level caption $t^{e}$를 만들기 위해

space에 대한 모든 word의 concatenation을 나타낸다.

 

비슷하게 저자들은 point-caption pair를 만들기 위해

entity-level point set 계산을 쉽게 할 수 있고

이것들을 앞서 얻은 entity-level caption과 연관시킨다.

최종적으로 다음과 같이 caption이 최소 1개 존재하고

point의 수를 $\gamma$, $\delta$로 조절한다.

 

Comparision Among Different Point-Caption Association Manners


5.1.3 Contrastive Point-Language Training

 

저자들은 general point-language feature

contrastive learning을 제안한다.

먼저 caption $t$를 통해 $F_text$로 text embedding $f^t$를 얻는다.

또 adapted feature $f^v$와 연관된 point set $\hat{p}$을

global average pooling을 하여 feature vector $f^{\hat{p}}$을 얻는다.

각 feature를 CLIP과 같이 다음 loss처럼 contrastive learning을 한다.

$n_t$는 주어진 association에 있는 point-language pair의 수,

$\tau$는 learnable temperature이다.

 

caption set이 3종류이기 때문에 3종류의 loss를 만든 후 가중합을 한다.

참고로 $\alpha_{1}$은 0이다.


 

5.2 Semantic Calibration with Binary Head

 

이 부분도 PLA와 동일하다.

 

저자들은 4.2.1에서 semantic prediction의

base category에 대한 over-confident 현상을 보여주었다.

이를 위해 저자들은 binary calibration module을 제안한다.

이 모듈을 통해 semantic score를 바로잡는다.

 

저자들은 binary head $F_b$를 사용한다.

이것은 point가 base인지 novel인지 구분하는 용도다.

 

BCELoss는 binary cross-entropy loss다.

$y_b$는 binary label이고 $s_b$는

binary score로 point가 novel일 확률을 나타낸다.

 

최종적으로 다음과 같이 semantic score를 바로잡는다.

$s^B$는 전체 score 중 base만 남기고 나머지는 0인 경우

$s^N$은 반대로 novel만 남기고 나머지는 0인 경우다.

 

이것들은 instance, panoptic segmentation에 적용된다.


5.3 Debiased Instance Localization

 

아까 4.2.2에서 본 것과 같이 offset branch $F_{off}$는

base category만 학습해서 overfit되는 경향이 있다.

 

이를위해 저자들은 debiased instance localization (DIL)을 제안한다.

DIL은 잠재적인 novel object를 포함하는

unlabeled data에 대해 high-quality pseudo-offset supervision 신호를

제공함으로써 $F_{off}$의 편향을 바로잡는다.

 

먼저 semantic score를 사용함으로써

효과적으로 base category의 offset-shifted point를 그룹화 할 수 있다.

그러나 novel은 prior knowledge가 없다.

(아마 center label을 말하는 것으로 보인다.)

따라서 저자들은 novel category에 대응되는 모든 point를

one class로 간주하고

offset-shifted point를 그룹화하고 proposal candidate를 얻는다.

$N$은 unlabeled unseen category를 나타낸다.

당연한거지만 mis-grouping가 있기 때문에

이를 해결하기 위해 저자들은 proposal score $z$에 기반한

confidence filtering을 적용한다.

$z$는 주어진 proposal에 속한 각 point의 likelihood를 추정한다.

이 과정을 통해 잘못 그룹화된 point를 필터링 하고

high confidence를 가진 instance만 속하게 할 수 있다.

$\hat{r}^{N}$는 refined proposal을 나타내고

$p$는 proposal에 있는 point를 나타내고

$z^{N}(p)$은 proposal $r^{N}$에 있는 point $p$에 대한 score고

$\eta$는 score threshold를 나타낸다.

 

마지막으로 pseudo-supervision signal인 center를 찾는다.

$\hat{y}_{off}^{N}$은 unlabeled object에 대한

pseudo offset supervision을 나타낸다.

 

이를 사용하여 $L_{off}$를 다음과 같이 분리하여

novel에도 식 (3)를 적용할 수 있다.

 

최종적인 loss는 다음과 같다.


6 Experiments

 

메인 실험 결과는 다음과 같다.

저자들은 실내 영상은 ScanNet, S3DIS에 대해 평가했고

panoptic segmentation에 대해서는 nuScenes라는 실외 데이터를 사용했다.


7 Ablation Study

 

Component Analysis

 

Caption Composition Analysis

 

Text Encoder Selection

 

Foundation Model for Image Captioning

 

Combination of Three Caption Supervisions

 

Debiased Instance Localization

 

Combination of Region-Level Supervision and Debiased Instance Localization

 

Re-partition Experiments


8 Qualitative Analysis