일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경제 공부
- PointNet++
- KPConv
- 논문 리뷰
- rigid KPConv
- TURTLEBOT3
- OpenCV
- deformable KPConv
- 부자 아빠 가난한 아빠
- point cloud
- C++
- IMAGE
- Raspberry Pi
- visual slam
- 코딩 테스트
- 코딩테스트
- 2 포인터 알고리즘
- Slam
- 코딩테스트 공부
- 입문 Visual SLAM
- SLAMKR
- logarithm mapping
- exponential mapping
- 백준 1253번
- FeatureMatching
- PointNet
- OpenCV 모듈
- ros2
- 제 6장
- Docker
- Today
- Total
꿈꾸는 개발자
PointNet++ 논문 리뷰 본문
PointNet++ : Deep Hierarchical Feature Learning on Point Sets in a Metric Space
Introduction
PointNet은 각 포인트에 대해 특징을 추출하고 특징들을 모아 global feature를 생성하는데 이는 metric으로부터 유도된 local feature는 얻지 못한다는 한계점이 있어 이를 해결하기 위해 CNN과 비슷한 컨셉의 local feature를 학습할 수 있는 hierarchical neural network를 제안
PointNet++에서 두 가지 이슈를 다룸
- 어떻게 Point Cloud를 local region으로 나눌 것인가
- Euclidean space 에서 Neighborhood ball 구조로 local region을 정의
- 적절한 Neighborhood ball 크기를 결정함에 있어 input point set의 크기에 따라 scale이 달라지기 때문에 문제점이 있음
- Dropout 기법을 통해 다중 스케일 특징을 결합하도록 적용
- local feature learner를 통해 local feature 혹은 point set를 어떻게 추상화할 것인가?
- local feature learner로 PointNet을 사용
Method
PointNet++ 구조는set abstraction 모듈이 연속되면서 feature를 뽑아내고 각 task에 알맞게 동작하는 구조를 갖는다.
set abstraction은 3 key layer로 이루어져 있고 각 layer의 역할은 다음과 같다.
- Sampling layer
- 입력으로부터 set of point 선택하는 계층으로 local region의 centroid를 정의한다.
- farthest point sampling(FPS) 을 적용함으로써 local region을 형성하기 위한 centroid를 선정
- random sampling 대비 더 빠른 수렴으로 FPS를 선정함
- Grouping layer
- centroids 주위의 이웃 포인트들을 찾아 local region을 구성한다.
- ball의 radius를 기준으로 최대 K 개의 포인트를 찾아 local reigion을 구성
- K-NN(K-Nearest Neighbors)과 비교 시 K-NN은 region scale이 무작위일 수 있지만, ball query의 경우 정해진 radius가 존재하기 때문에 scale을 고정시킬 수 있다. 또한, PointNet layer에 들어갈 때 point의 개수가 달라져도 활용이 가능
- PointNet layer
- local region 패턴을 특징 벡터로 인코딩한다.
- ball query 내 최대 K 개의 포인트를 하나의 특징으로 응집시키는 것이 목적으로 전체 포인트의 좌표를 centroid에 대한 상대 좌표계로 변경
- 상대 좌표계를 사용함으로써 local region 안에서 point-to-point 간의 관계에 대한 정보를 포인트 특징에 함께 응집하기 위함
Robust Feature Learning under Non-Uniform Sampling Density
이 절에서는 PointNet에서 feature learning을 진행할 때, sampling density 정도에 따라 학습 정도의 차이를 해결하기 위해 제안되는 내용을 다룬다.
dense point cloud를 위주로 학습할 경우 sparse data에 대한 학습 일반화가 어려웠고, sparse point cloud를 위주로 학습할 경우 fine-grained local structure를 인식하지 못하는 문제가 있다.
이를 해결하기 위해 density adaptive PointNet layer를 제안한다.
Multi-scale grouping
한 scene에서 grouping scale을 달리하며 특징을 뽑고 이를 concatenate하며 하나의 feature vector를 생성
grouping scale을 달리할 수 있는 방법은 dropout을 이용($ 0 < dropout ratio < 0.95 $)
학습 과정에서만 dropout이 사용되고 inference 과정에서는 dropout이 사용되지 않고 모든 입력 point가 전부 inference에 사용됨
Multi-resolution grouping
Sub-region 특징과 raw point 특징을 각각 뽑아서 concatenate하며 하나의 feature vector를 생성
MSG(Multi-scale grouping) 대비 low level layer에서 활용하기에는 계산이 효율적이라는 장점이 있음
Experiments
Conclusion
- CNN과 비슷한 컨셉의 distance metric을 통해 hierarchical feature를 학습하는 PointNet 기반 성능이 향상된 PointNet++ 모델 제안
- non uniform point sampling 이슈를 다루기 위해 density adaptive strategy( MSG, MRG)를 제안
'논문 리뷰' 카테고리의 다른 글
KPConv : Flexible and Deformable Convolution for Point Clouds 논문 리뷰 (1) | 2024.01.11 |
---|---|
Dynamic Graph CNN for Learning on Point Clouds 논문 리뷰 (1) | 2024.01.10 |
PointNet 논문 리뷰 (1) | 2024.01.08 |