일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ML
- REACT
- math
- 3d
- FGVC
- Meta Learning
- web
- Depth estimation
- dl
- CV
- 딥러닝
- pytorch
- Python
- clean code
- nerf
- Torch
- classification
- PRML
- 자료구조
- SSL
- nlp
- algorithm
- 머신러닝
- FineGrained
- Front
- GAN
- cs
- 알고리즘
- Vision
- computervision
- Today
- Total
KalelPark's LAB
[논문 리뷰] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 본문
[논문 리뷰] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
kalelpark 2023. 3. 26. 11:17
Abstract
Point cloud는 geometric data structure의 형태를 갖추고 있습니다. 본 논문에서는, Point clouds를 직접 다루는 Neural Network를 설계하였으며, Empty space가 아닌 input으로써 point의 불변성을 잘 다루게 됩니다. Segmentation, Detection, classification에서모두 활용될 수 있음을 보여줍니다. 이후, 우리는 어떤 Network가 무엇을 학습하는지 robust 한 이유에 대해서 언급합니다.
Introduction
최근 방법론들은 Point cloud를 input으로 이용한 모델들을 제공합니다. Point cloud는 mesh처럼, 이뤄진 것이 아니기에 더 다루기 쉬운 모델일 수 있습니다. 하지만, Point cloud는 단순한 점들의 조합이므로, permutation invariant 해야 하며, rigid motion에도 invarient 합니다. 본 논문에의 주된 기여는 4가지로 설명합니다.
- 3D 내 unordered point set을 활용하기 위한 새로운 Deep Learning Architecture를 제시합니다.
- 우리는 3D shape classification과 Segmentation의 성능을 다루기 위한 방법들을 보여줍니다.
- 효율성 및 안정성을 본 논문에서 보여줍니다.
Related Work
Point Cloud Features
Point Cloud를 위한 대부분의 feature들은 특정한 통계적 목적을 위해 encoding하고, certain transformation의 invariance를 위해 사용됩니다. ex ) intrinstic vs extrinsic or local feature vs global features
Deep Learning on 3D Data
3D data는 여러 정보를 학습하기 위한 다양한 방법론입니다. Volumetric CNNs 은 voxelzied shape에 3D convolution을 적용합니다. 하지만, 이러한 방법은 data sparsity와 computation cost로 인하여, 상당히 제안됩니다.
이러한 문제(Sparsity problem)를 다룬 FPNN, Vote3D 가 있지만, large point clouds를 다루는 것은 상당히 제한됩니다.
Multiview CNNs은 3D point를 2D image로 생각하고, 2D convd net에 적용합니다. 또 다른 여러가지 방법론들로는,
Spectral CNN, Features-based DNNs 등이 존재합니다.
Deep Learning on Unordered Sets
Point view의 데이터 구조에서, Point cloud는 unordered set of vector로 구성되어 있습니다. 기존의 방법론에서는 attention mechanis을 사용하여, unordered input sets를 사용합니다.
Problem Statement & Properties of Point Sets
우리는 unordered point set를 input으로 활용하는, deep learning framework를 제안합니다.
Point Cloud는 Euclidean space 내 Input으로써 활용합니다. 본 논문의 주된 기여는 3가지 입니다.
1. Unorderd. Volumetric grid 내 voxel array 또는 Image 내 Pixel array와 다르게
Point Cloud는 구체적인 순서가 없는 points의 set 입니다.
2. Interection among points. Points는 distance metric 내 space로부터 거리이다.
이러한 내용은 POINTS는 고립되지 않으며, meaningful subset과 인과관게를 맺습니다. Model은 근처 point로부터 local
structures을 파악하는 방법이 필요하고, interaction을 야기하도록 합니다.
3. Invariance under transformations. Geometric object로써, 학습된 것들은 Augmentation이 적용된 Geometric Object
를 invariance하게 파악해야 합니다.
PointNet Architecture
Symmetry Function for Unordered Input.
input permutation으로부터, Model이 invariance하게 인식시키고자 한다면, 3가지 전략이 필요합니다.
1) 입력을 표준순서로 사용해야 합니다. (성능이 좋지 못함)
2) Input의 Sequence를 RNN으로써 학습시켜야 합니다. 그리고, 모든 permutations의 조합에 training data를 적용해야 합니다.
(large dataset에서는 상당히 부적절)
3) 각 point로부터 information을 aggregate하기 위해 symmetric function을 사용해야 합니다. (부가적인 layer를 추가)
Local and Global Information Aggregation.
Segmentation을 위해서 사용합니다. Global point cloud feature를 계산한 이후에, 우리는 각 point features와 global features를 concatenating을 함으로써 point features에 Input으로 사용합니다. 이후, 우리는 combined point features를 기반으로, point feature를 추출합니다.
Joint Alignment Network.
만약 Point cloud geometric transformation이 적용된다면 Semantic Labeling of Point cloud는 불변해야 합니다.
일반적인 해결책은, 모든 input에 대해서, feature extraction전에 canonical space로 Input을 변환해야 합니다.
본 논문에서는 T-Net의 구조를 사용하여, affine transform을 수행합니다. feature에서 transform 하는게 Spatial feature를 optimization하는 것이 어려워 transformation matrix를 사용합니다.
Experiments
Point Cloud와 관련된 2D Image와 Point Cloud와 연관짓기 위해 처음 읽은 논문이지만, 한번 코드를 돌려봐야 정확히 뭔지 알 수 있을 것 같다는 깨달음을 얻게 된거 같다.
Reference
https://arxiv.org/abs/1612.00593