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 같은 근본적인 논문을 봄으로서 하나씩 알아가면 좋을듯. |
'Paper > Point Cloud' 카테고리의 다른 글
OctFormer: Octree-based Transformers for 3D Point Clouds (0) | 2025.05.20 |
---|---|
Point Transformer V3: Simpler, Faster, Stronger (0) | 2025.05.18 |
Point Transformer V2: Grouped Vector Attention and Partition-based Pooling (0) | 2025.05.13 |
Point Transformer (0) | 2025.05.11 |
PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space (0) | 2025.05.10 |