Paper/Point Cloud

AdaptPoint : Sample-adaptive Augmentation for Point Cloud RecognitionAgainst Real-world Corruptions

jaehyuuuuuga 2025. 6. 18. 22:56

Introduction

AdaptPoint는 실제 환경에서의 포인트 클라우드 인식 성능 저하 문제를 해결하기 위해 샘플 적응형 데이터 증강(auto-augmentation) 기법을 제안한 논문이다. 기존 증강 기법은 구조를 고려하지 않은 무작위 증강이 많아, 과도하거나 부족한 강화로 이어지는 문제가 있었다. 이를 해결하기 위해 AdaptPoint는 입력 구조를 고려한 자동 증강 방식을 도입하였다.

주요 구성 요소로는 Sample-adaptive Imitator, Discriminator, Classifier이 있고 새로운 데이터셋인 ScanObjectNN-C도 제안한다.

자세하 내용은 아래에서 다루겠다.

끄적끄적

입력 포인트 클라우드 P를 기반으로 현실적인 손상을 반영한 P′를 생성하여, 분류기의 손상 강건성(Robustness)을 향상시키는 것을 목표로 함.

Imitator, Discriminator, Classifier로 구성되어 있으며 각각의 역할은 아래와 같다고 한다.

1. Imitator (모사기)
- 현실에서 자주 발생하는 손상 유형을 학습 기반으로 시뮬레이션
- 구조적 특징을 고려하여 포인트 단위로 손상을 적용

2. Discriminator (판별기)
- 생성된 손상 데이터가 원본 데이터 분포에서 너무 벗어나지 않도록 억제
- 과도하거나 비현실적인 손상 방지

3. Classifier (분류기)
- 예측 결과를 기반으로 Imitator에 피드백을 제공
- 적절한 난이도 수준의 증강 샘플을 유도하여 학습 효과 증대

1. Imitator의 구조
   a. Feature Extractor
   b. Deformation Controller
   c. Mask Controller
   d. Corruption Simulator

결론부터 얘기하면 동작은 포인트 클라우드의 특징을 추출 → 변형 영역과 마스킹 영역으로 나눔 → 각각 손상 처리 → 최종적으로 통합하여 현실적인 손상 데이터를 생성하는 과정으로 이루어져 있다.

1.b Deformation Controller
Deformation Controller는 입력 포인트 클라우드 P와 해당 포인트의 특징 F를 받아, 구조적인 손상을 시뮬레이션하기 위한 지역 단위 변형 과정을 수행한다.

이 모듈은 먼저 입력으로부터 지역 특징을 추출하고, 각기 다른 위치에서 다양한 변형이 가능하도록 설계된다.


Per-anchor Feature aggregation
이를 위해 포인트 클라우드 내에서 M개의 중심 포인트를 FPS 알고리즘을 이용해 선택한 뒤, 각 중심 기준으로 주변의 K개의 KNN을 찾아 지역 특징을 추출한다.

각 이웃 포인트의 특징은 MLP를 통해 인코딩되며, max pooling과 같은 대칭적 집계 함수를 통해 하나의 중심 특징 벡터로 요약된다.

이렇게 얻어진 중심별 지역 특징은 H로 표현된다고 한다.

이후 각 중심에 대해 스케일링(scaling), 회전(rotation), 이동(translation)에 해당하는 변형 파라미터 γ을 예측하며, 이를 통해 지역 단위로 포인트 클라우드에 손상을 적용시킨다고 한다.
Cross-anchor Feature Interaction.
각 중심 포인트에 대해 지역 단위의 변형을 적용하지만, 이러한 변형들이 서로 단절되어 있을 경우 전체 포인트 클라우드의 구조가 심각하게 왜곡될 수 있다고한다.

전체적인 변형의 일관성을 유지하기 위해 각 중심 간의 상호 연관성을 모델링 하는 과정이 필요한데 트랜스포머 기반의 멀티헤드 어텐션 구조를 도입한다고 한다.

중심 특징 H과 위치 정보 D를 입력으로 하여, 학습 가능한 선형 변환 행렬을 통해 쿼리(Q), 키(K), 값(V)를 생성한다.

이를 멀티헤드 어텐션 구조에 통과시켜 업데이트된 앵커 특징 H′을 얻는다.

이때 위치 임베딩 PE(D)도 함께 사용되어 공간적 정보까지 고려된다. 이 과정을 통해 중심 간 구조적 연결성이 보존된 상태로, 더 자연스럽고 일관성 있는 지역 변형을 적용할 수있다고 한다.
Anchor-wise Deformation Prediction.
각 중심 포인트에 대해 실제 변형을 적용하기 위한 파라미터를 예측하는 과정이다.

이를 위해서는 단순히 각 중심 포인트의 지역 정보뿐 아니라, 전체 중심 세트의 전역적인 구조 정보가 함께 필요하다고 한다.

이러한 전역 정보는 모든 중심 특징hi에 임베딩 함수 ϕ를 적용하고, 이를 max pooling으로 집계하여 전역 특징 벡터 g∈R1×C로 인코딩된다.

그 다음, 각 앵커의 업데이트된 지역 특징 hj′과 전역 특징 g을 연결하여 입력으로 사용하고,
세 가지 유형의 변형(스케일링, 회전, 이동)에 대해 각각 다른 선형 계층과 활성화 함수를 적용해 변형 파라미터 γ를 예측한다.

여기서 스케일링(scaling)에는 Sigmoid, 회전(rotation)과 이동(translation)에는 Tanh 함수를 사용한다고 한다.

1.c Mask Controller
포인트 클라우드에서 발생하는 손상이 단순한 기하학적 변형뿐만 아니라 일부 포인트의 누락을 동반할 수 있다고한다.

이를 반영하기 위해, 이 모듈은 실제 세계에서 발생할 수 있는 부분적 결손 상황을 모사하는 마스크를 예측한다.

이 마스크는 실제 센서 노이즈나 데이터 수집 시 발생할 수 있는 포인트 손실을 현실적으로 시뮬레이션하는 데 사용된다.

Cross-point Feature Interaction.
포인트 간의 관계를 고려해 마스크 예측의 정밀도를 높이고, 큰 영역의 누락으로 인한 왜곡을 방지하는 역할을 한다.

이를 위해 Deformation Controller와 유사하게 멀티헤드 어텐션 메커니즘을 사용하여, 각 포인트 간의 상호작용을 학습하고 업데이트된 포인트 특징 E′를 생성

Point-wise Mask Prediction.
포인트 간(local) 정보와 객체 전체(global) 구조 정보를 모두 활용해 각 포인트가 제거되어야 할지를 예측한다.

이를 위해 먼저 전역 특징 벡터 z를 추출하고, 각 포인트의 업데이트된 특징 Ej′와 전역 특징 z를 결합한 후,

MLP 기반의 임베딩 함수 ρ와 Gumbel-Softmax 정규화 함수 σ를 거쳐 최종적으로 포인트 단위 마스크 γ를 출력한다.

이 마스크는 현실적인 포인트 누락을 반영하는 데 사용된다.

1d. Corruption Simulator
Deformation Controller에서 예측한 세 가지 변형 파라미터(스케일링, 회전, 이동)와 Mask Controller에서 생성한 마스크를 활용하여 실제 포인트 클라우드에 손상을 가하는 모듈

먼저, 전체 포인트 클라우드 P를 중심 포인트 기준으로 정규화하여 M개의 지역별 포인트 클라우드 Q를 만든 뒤, 각 지역에 대해 개별적인 변형을 적용한다.

변형은 스케일, 회전 행렬, 이동을 조합한 방식으로 이루어지며, 결과적으로 각 중심에 대응하는 지역별 변형 클라우드 Q′가 생성된다.

이후, 이 지역별 결과들을 하나의 전체 포인트 클라우드 P로 통합하기 위해 Nadaraya-Watson 커널 회귀 기반의 보간 기법을 사용한다.

마지막 단계에서는 예측된 포인트 단위 마스크 γ를 적용하여, 센서 노이즈나 포인트 누락과 같은 현실적인 결손 현상을 반영한 최종 손상 포인트 클라우드 P′를 생성한다.

Learning Objectives
AdaptPoint 학습 과정의 목적과 이를 위한 손실 함수 구성 방식을 설명한다.


AdaptPoint는 샘플 적응형 모방기(imitator), 판별기(discriminator), 분류기(classifier)로 구성되어 있으며, 이 세 모듈이 함께 최적화된다.


전체 손실 함수는 두 부분으로 나뉘는데, 하나는 판별기 손실(𝓛_adv), 다른 하나는 피드백 손실(𝓛_feed)이며 이 둘을 더한 것이 최종 손실이다.


먼저 피드백 손실은 증강된 데이터가 원본보다 어렵지만 너무 어렵지는 않도록 조절하는 역할을 한다.
이는 원본과 증강된 샘플에 대한 분류 손실의 차이를 지수 함수와 절댓값을 이용해 일정 범위 안에 유지하도록 설계되어 있으며, 학습이 진행됨에 따라 난이도를 높이기 위해 β 값을 점진적으로 증가시킨다.


판별기 손실은 비현실적인 증강(예: 구조 파괴)을 방지하기 위해 도입된다.
이는 증강 샘플이 실제(real) 분포에 속하는지 구분하는 판별기를 활용하여, 모방기가 과도하게 왜곡된 데이터를 생성하지 않도록 억제하는 방식이다.
이 과정에서 PointNet++이 판별기로 사용되며, 적대적 손실(adversarial loss)은 증강 데이터가 깨끗한(original) 데이터일 확률을 최대화하도록 학습된다.


요약하자면, AdaptPoint는 학습 중 모방기에게 적절한 수준의 어려운 데이터를 생성하게 유도하고, 동시에 그 데이터가 현실적인지를 검증한다고 한다.

 classification
segmentation

마무리 개인생각
1. 마스킹과 변형 작업을 결합하여 손상된 데이터를 만들어 내는 것이 흥미로웠다.
2. 기존의 modelnet,scanobjectnn 데이터셋은 알고 있었는데 -C 데이터셋은 처음봤는데 새로운 걸 알 수 있어서 좋았다.
3. 변형의 개념이 흥미롭게 다가온다. 추후 개인연구에 적용해볼 수 있는 부분이 될 수도 있을 거 같다.