새소식

논문 리뷰

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

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.