Paper/Point Cloud

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

jaehyuuuuuga 2025. 5. 9. 21:47

 

Introduction

3차원 포인트 클라우드는 자율주행, 로봇 비전, 증강현실 등 다양한 분야에서 중요한 데이터 형태로 자리잡고 있다. 하지만 기존의 3D 인식 모델들은 voxelization이나 2D projection을 통해 정형화된 입력으로 변환한 후 CNN을 적용하는 방식을 채택해왔다.

 

이러한 방식은 정보 손실과 연산 효율 저하를 유발하며, point cloud의 본질적인 특성(비정형성, 순서 무관성, 회전 불변성) 을 충분히 활용하지 못한다. 이에 본 논문의 저자는 point cloud를 변환 없이 직접 처리할 수 있는 새로운 신경망 구조인 PointNet을 제안한다. PointNet은 각 점에 독립적으로 MLP를 적용한 후, 전체 점들에 대해 대칭 함수인 max pooling을 사용하여 글로벌 피처를 집계함으로써, 순서 무관성을 보장하면서도 효과적으로 3D 구조를 학습한다.

 

끄적끄적


PointNet이 처리해야 할 포인트 클라우드는 세 가지 중요한 특성을 가진다.
1. Permutation Invariance(순서 무관성)
→ 포인트의 입력 순서가 바뀌어도 동일한 결과를 내야 한다.
2. Local Structure Awareness(로컬 관계)
→ 인접 포인트 간의 상호작용과 구조를 파악할 수 있어야 한다.
3.변환 불변성 (Transformation Invariance)
→ 회전이나 이동 등 기하학적 변환에도 결과가 변하지 않아야 한다.

기본적으로 포인트 클라우드 데이터가 불규칙하다보니 이런 특성을 가지는 것 같다.
Classification network
1) n개의 포인트를 입력
2) input transform(T-net)
3) MLP
4) feature transform(T-net)
5) Max pooling
6) FC -> Softmax -> task
Segmentation network
1) n개의 포인트를 입력
2) input transform(T-net)
3) MLP
4) feature transform(T-net)
5) Max pooling
6) local + global feature(concat)
7) MLP -> Softmax -> task

우선은 앞서 언급한 invariant에 대해 불변한 모델을 만들기 위해 3가지 전략을 제안했다.
1.Sort / 2. RNN / 3. Symmetric function

Pointnet은 3번째 전략 채택
3번을 택한 이유는 1번은 고차원 공간에서 작은 노이즈나 위치변화에도 정렬  결과가 급격히 바뀔 수 있어 안정성을 보장할 수 없다고함. 2번은 RNN의 본질적 특성인 순차적 특성 때문에 순서의 영향을 완전히 제거하지 못하는 한계 존재.

1) x1 ~ xn : 각각의 3d 포인트
2) h : MLP
3) g : Max Pooling
4) f : 전체 포인트셋에서 얻고 싶은 최종 결과

간단히 얘기하면 포인트마다 MLP로 특징을 추출하고, 그것들을 Max Pooling으로 요약하여 최종 결과를 얻느 구조

1) f1,,,fk 는 추출한 전체 global feature을 말하는 것 같음.

2) 하지만 segmentation에서는 local, global 정보의 결합이 필요함

3) global feature vector 계산후, 이 vector를 포인트의 특징 벡터와 concatenation(결합)하여 각 포인트에 다시 전달.

4) 결합된 특징은 새로운 포인트 단위 특징을 추출하며, 각 포인트 특징이 local, global 정보를 모두 반영함.

5) 이 구조를 통해 local geometry, global semantics를 모두 반영한 예측이 가능하다고 함.
1) 포인트 클라우드가 rigid transformation과 같은 기하학적 변환을 겪더라도 그 결과가 invariant 해야한다.

2) 해결방법으로는 특징 추출 이전에 포인트셋 전체를 정규화된 기준 좌표계에 맞춰 정렬 하는 것.

3) T-net을 활용한 아핀 변환 행렬을 예측하고, 이를 입력 포인트의 좌표에 직접 적용

4) 이렇게 또 하나의 정렬 네트워크를 삽입해 다양한 입력 포인트 클라우드 간의 특징들을 정렬할 수 잇는 feature transformation matrix(특징 변환 행렬)을 예측할 수 있음

5) 하지만 특징 공간에서 변환 행렬이 공간 좌표에서 변환 행렬보다 차원이 훨신 크기 때문에 최적화 어려움에 문제가 있음.

6) 따라서 (2) 공식과 같은 softmax 손실 함수에 정규화 추가.
 

위에서 언급했던 Unordered 문제를 해결하기 위해 제안 되었던 sort, RNN(ex LSTM) 방법보다 대비 본 논문에서 제시한 Max Pooling이 성능이 높은 결과


segmentation

classification
 
마무리 개인생각

1) 포인트 클라우드 딥러닝의 시작이라고 해도 무방할정도인 논문. 
2) 현재는 다양한 model들이 나오고 있지만 pointnet 같은 근본적인 논문을 봄으로서 하나씩 알아가면 좋을듯.