논문리뷰

[논문 리뷰] Open-set Semantic Segmentation for Point Clouds via Adversarial Prototype Framework

씨주 2024. 12. 19. 12:26

Open-set Semantic Segmentation for Point Clouds via Adversarial Prototype Framework

 

https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Open-Set_Semantic_Segmentation_for_Point_Clouds_via_Adversarial_Prototype_Framework_CVPR_2023_paper.pdf

 

0. Abstract

저자들은 Adversarial Prototype Framework(APF)를 제안한다. 이는 open-set 3D semantic segmentation을 다루며, seen class point는 유지하면서 3D unseen class를 구분하는 것을 목표로 한다. APF는 point feature를 추출하는 feature extraction module, prototypical constraint module, feature adversarial module로 구성되어 있다. prototypical constraint module은 point feature로부터 각 seen class의 prototype을 학습한다. feature adversarial module은 unseen class feature의 분포를 계산하기 위해 generative adversarial network를 활용한다. 합성 unseen class feature은 seen class와 unseen class를 구별하기 위해 point feature와 prototype을 더욱 효율적으로 학습하기 위해 활용한다. 

 

1. Introduction

real world scenarios에 적용하기 위해 open set semantic segmentation이 필요하다. 하지만 3d semantic segmentation은 anomaly detection에 비해 훨씬 challenging하고 open set 2D semantic segmentation(O2D)는 3D에 적용했을 때 성능하락이 발생한다. 유일하게 존재하는 open set 3D semantic segmentation(O3D)인 REAL은 resize를 활용한 모델로 O2D 모델보단 우수한 성능을 보인다. 그러나 REAL은 2개의 데이터셋에서는 AUPR이 낮았는데, resize과정이 point cloud의 geometric structure를 바꾸기 때문이다.

해당 문제를 해결하기 위해 O3D모델 Adversarial Prototype Framework(APF)를 제안한다. 이는 discriminative perspective를 통해 point cloud를 segment하고 generative perspective를 통해 unseen class feature의 분포를 추정한다. 3가지 모듈로 구성되는데 feature extraction module은 임시의 closed set point cloud segmentation으로, input point cloud로부터 latent feature를 추출한다. point feature가 주어지면 prototypical constraint module은 각 seen class를 prototype으로 학습하기 위해discriminative perspective을 활용한다. feature adversarial module은 unseen class feature가 일반적으로 feature space의 중앙에 모인다는 사실을 기반으로 unseen class feature의 분포를 추정하기 위해 point feature를 합성하여 GAN을 활용한 generative perspective로 탐구한다.

해당 논문의 contribution은 다음과 같다.

- O3D모델인 adversarial prototype framework(APF)를 제안한다. APF를 통해 기존의 close set 3D segmentation network를  feature extraction module로 활용하여 다양한 open set 3D segmentation 방법으로 활용할 수 있다.

- 각 seen class에 상응하는 prototype을 학습함으로써 prototypical constraint module을 활용한다. 학습한 prototype은 seen class point를 segment할 뿐만 아니라 unseen class point도 detect 할 수 있다.

- unseen class feature를 학습하기 위해 feature adversarial module을 활용한다. 해당 합성 feature는 seen class와 adversarial mechanism을 통한 prototype을 잘 구분할 수 있도록 도와준다.

 

2. Related work

2.1. 3D semantic segmentation

3D semantic segmentation은 Projection based methods, Voxel-bsed methods, Point-based methods 3가지정도로 분류된다. 해당 방법들은 close-set scenarios에만 적용가능하며 REAL이 O3D를 다루고 있지만 한계가 있다.

 

2.2. Open-set 2D semantic segmentation

open set 2D semantic segmentation도 크게 Discriminative method와 Generative method 2가지로 나뉜다. 몇몇 O2D 방법은 O3D에 활용가능하지만 성능이 낮다. 

 

3. Methodology

3.1. Architecture

Figure 2.

Feature extracion module은 point cloud로부터 feature를 추출하며, 임시적인 closed-set 3D segmentaion network로 사용된다. Prototypical constraint module은 각 seen class를 prototype으로 학습하여 discriminative perspective로 탐색한다. Feature adversarial module은 unseen class feature 분포를 추정하기 위해 point feature를 합성하여 generative perspective로 탐색한다.

 

3.2. Prototypical constraint module

Figure 3.

prototypical constrain module은 seen class의 prototype을 학습하기 위해 설계되었다. 

각 seen class에 대해 discriminative prototype이 있을 것으로 예상하여, 기존 clustering 알고리즘과 같이 feature space에서 point feature와 prototype 간의 거리에 따라 point를 segment한다.

추가적으로 Euclidean distance를 활용하여 cosine값과 통합하였다.

Eq. 1

여기서 || ||2는 L2 Norm이다. (L2 Norm은 데이터 feature vector fi와 prototype vector pc의 거리, 내적은 두 벡터 간의 유사성(방향의 일치성)을 의미한다.)

parametric prototype set P를 무작위로 초기화한다. category c를 가지는 point feature fi의 확률은 아래와 같이 정의된다.

Eq. 2

 

seen class feature가 그와 일치하는 prototype과는 가까이, 다른 prototype과는 멀어질수있도록, 거리 기반의 cross entropy loss를 사용한다.

Eq. 3

여기서 Nc는 seen class point의 갯수이다.

같은 category끼리 가까워지도록 하기 위해 attractive loss도 정의해주었다.

Eq. 4

 

식 3, 4에서 모두 0일 수 있다. 각 feature 차원은 [0, 1]사이로 정규화되었다는 점을 고려하여, 모델이 더 많은 정보를 학습할 수 있게 하기 위해 각 차원을 1에 가까워지도록 설계하였다.

Eq. 5

 

따라서 전체 loss는 아래와 같다.

Eq. 6

 

3.3. Feature adversarial module

Feature 4.

unseen class를 고려하기 위해, feature adversarial module(FAM)은 unseen class feature의 기본 특성을 추정하도록 설계하였다. 이는 Figure 4와 같이 generator G, discriminator D, adversarial mapper M으로 구성되어 있다.

 GAN과 비슷하게, generator는 높은 fidelity point feature를 합성하기 위해 입력으로 gaussian noise를 생성한다. discriminator은  real reafure를 가져올 입력 가능성을 나타내는 input feature (0, 1)을 매핑한다. discriminator은 real feature와 synthetic feature를 정확하게 구별하기 위해 학습된다. 

Eq. 7
Eq. 8

모든 synthetic sample을 합성하던 기존 방법과 달리, 저자들은 seen class feature와 매우 유사하여 closed set segmentation으로 잘못 유도하는 synthetic feature을 막기 위해 feature sampling (FS) 전략을 채택하였다.

Eq. 9

 

feature extractor는 GAN과 유사하기 때문에 adversarial mapper는 feature distribution을 교정하기 위해 novel feature space에서 매핑하는 mapper를 활용하였다. unseen class feature가 모이는 지역은 open space로 정의한다. open space는 feature space에 중앙에 나타난다. unseen class feature와 모든 prototype의 거리는 똑같이 작아야 한다. (하나의 prototype에만 가까우면 해당 class로 잘못 인식할 수 있기 때문이다.) 따라서 synthetic feature에 adversarial force를 추가하기 위해 objective function을 활용한다. 

Eq. 10

 

식 8과 10을 합치면 아래의 식과 같아진다.

Eq. 11

 

closed set segmentation 능력을 유지하면서 open set segmentation 능력을 올리기 위해 adversarial mapper M은 아래와 같이 최적화한다.

Eq. 12

 

Figure 5.

Figure 5와 같이 seen class feature는 prototype force에 영향을 받고 synthetic feature는 특정 prototype에만 영향을 받는다. 이는 discriminator를 속이기 위해 몇몇의 seen class feature와 유사하도록 유도되기 때문이다. 식 10으로 인해 synthetic feature는 모든 prototype과 균형이 맞도록 강요된다. 더 구별하기 쉬운 feature distribution은 prototype과 synthetic feature간의 adversarial mechanism에 의해 형성된다.

 

Figure 6.

 

4. Experiments

Table 1.
Table 2.
Figure 7.