PointNet : Deep Learning on Point Sets for 3D Classification and Segmentation
-
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로 바꿈
*여기서 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
제안하는 아이디어
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으로 변환
Visualizing PointNet
Critical point sets that summarizes the skeleton of the shape