논문 리뷰
PointNet : Deep Learning on Point Sets for 3D Classification and Segmentation
짓호
2024. 10. 15. 13:59
PointNet : Deep Learning on Point Sets for 3D Classification and Segmentation
Charles R. Qi* Hao Su* Kaichun Mo Leonidas J. Guibas
2017 CVPR
기존의 Voxel 혹은 다중 뷰 접근법과 달리 원시 점 데이터를 그대로 사용하고, 입력 점들의 순서에 관계없이 동일한 결과를 출력하는 네트워크 구조 설계. 전역 특징과 로컬 특징을 결합하여 segmentation, object detection, clustering에서 높은 성능 달성.
핵심 method : 대칭 함수 사용, T-net을 사용하여 affine 변환 학습
Abstract
- Point Cloud를 바로 신경망에 집어넣음
- object classification, part segmentation, scene semantic parsing에 활용됨
Introduction
- Point Cloud나 Mesh같은 3D geometric 데이터를 바로 다룰 수 있는 딥러닝 아키텍쳐 제안
- 그전에는 포인트 클라우드를 3D Voxel grid로 바꿔서 처리했었음
- 기본적으로는 각 포인트를 (x,y,z)의 좌표점으로 표현함
- normal을 계산하거나, local/global feature를 계산하면 추가적인 차원 생길 수 있음
- 핵심 : Max Pooling
- 핵심 포인트 (Interesting, informative)를 선택하는 function 혹은 criteria를 학습
- 마지막 FN은 이러한 최적값들을 label을 붙이기 위한 global descriptor에 합침
- 제안하는 네트워크는 input point cloud를 key point로 요약할 수 있음
- outlier에도 robust함
Related Works
- Deep Learning on 3D Data
- 그 전에는 Voxel을 다루는 Volumetric CNN이 있었음
- data sparsity와 3D convolution의 computational cost가 문제가 됨.
- Multiview CNN
- 3D Point Cloud를 2D 이미지로 바꾼 후 2D Conv net을 적용
- Spectral CNN
- Manifold meshes에서만 적용 가능
- Feature-based DNN
- 3D data를 vector로 바꿈
- 그 전에는 Voxel을 다루는 Volumetric CNN이 있었음
*여기서 Manifold란 ?
점들이 유클리드 공간과 유사한 구조를 가진 연속적인 표면이나 곡면. Point Cloud에서는 각 점 주변의 작은 영역이 특정 차원의 유클리드 공간으로 매핑될 수 있다. Spectral CNN은 라플라시안 행렬을 사용하는데, 이 과정이 manifold의 연속성과 미분가능성에 의존한다.
- Deep Learning on Unordered Sets
- language processing과 달리, point cloud는 자료구조의 관점에서 unordered set이라고 볼 수 있다.
- Problem Statement
- 포인트는 (x,y,z)
- output : k score (k candidate classes에 대한 확률)
- 따라서 output의 차원 : n x m
- Deep Learning on Point Sets
- Point Set의 특성
- Unordered
- Interaction among points
- 이웃하는 포인트들은 의미있는 subset으로 나뉠 수 있다.
- 따라서 모델은 nearby point를 통해 local structure를 찾을 수 있어야 한다.
- Transformation Invariance
- PointNet Architecture
- max pooling layer
- aggregate informations from all the points
- local and global information combination structure
- Symmetry Function fro Unordered Input
- 입력을 표준 순서로 정렬
- 여러 이유 때문에 단순 정렬 방식이 order invariant 문제를 해결하는 데 충분하지 않음.
- 입력을 시퀀스로 취급하여 RNN 학습
- 학습 데이터를 다양한 순열로 증강해 모델이 다른 순서의 입력에도 대응할 수 있게 함.
- 다만 이렇게 긴 inputd에 대해서는 우리의 방법보다 좋은 성능을 보이지는 않음.
- 대칭 함수를 사용하여 각 점의 정보를 aggregate
- 입력을 표준 순서로 정렬
- max pooling layer
- Point Set의 특성
- 제안하는 아이디어
- point set에 정의된 일반적인 함수를 근사하기 위해, 집합의 각 원소를 변환한 후 이들에 대칭함수를 적용함
- h : multi-layer perceptron
- g : composition of a single variable function and a max pooling function
- 방법의 핵심
- 각 점에 대해 변환 함수 h를 적용
- 변환된 점들에 대해 대칭 함수 g를 적용
- 이 과정을 반복해 집합의 다양한 특성을 학습
- Local and Global Information Aggregation
- Joint Alignment Network
- point cloud labeling은 rigid body transformation에 불변해야 한다.
- 자연스러운 해결책은 특징 추출 전에 모든 입력 집합을 표준 공간으로 정렬하는 것이다.
- T-net을 사용해 Affin 행렬을 예측하고 이를 입력 점들의 좌표에 직접 적용한다.
- Bottleneck dimension and stability
- PointNet 아키텍쳐에서 전역 특징 벡터의 차원
- 네트워크의 중간 부분에 위치함
- 고차원의 입력 데이터를 낮은 차원의 represenation으로 변환
- point set에 정의된 일반적인 함수를 근사하기 위해, 집합의 각 원소를 변환한 후 이들에 대칭함수를 적용함
- Visualizing PointNet
- Critical point sets that summarizes the skeleton of the shape