Grid Pooling은 쉽게 말하면,
포인트 클라우드를 격자(grid)로 나눠서, 같은 칸에 들어간 포인트들을 요약하는(pooling하는) 방법입니다.
아주 쉽게 풀어보면:
1. Grid Pooling 개념
- 3D 공간을 격자(grid, 정육면체 칸) 로 쪼갭니다.
- 각각의 격자 칸(cell) 안에 들어있는 포인트들을 대표값 하나로 요약합니다.
- 대표값은 보통 average pooling(평균)이나 max pooling(최댓값)으로 정리합니다.
- 결과적으로 포인트 수가 줄어들고,
- 포인트들의 공간적 구조를 유지한 채로 "압축된" 표현을 얻을 수 있습니다.
2. 예시
- 예를 들어, 공간을 10x10x10으로 나누면,
- 각 1x1x1 크기의 작은 칸마다 포인트들이 들어갑니다.
- 칸 안에 포인트가 여러 개 있을 수 있는데, 이 포인트들을 평균내거나, 최대값을 선택해서 하나로 요약합니다.
=> 이 과정을 거치면, 원래 수천~수만 개였던 포인트를
=> 훨씬 작은 수의 대표 포인트로 줄일 수 있습니다.
3. 왜 Grid Pooling을 쓸까?
- 계산량을 줄이기 위해서입니다.
- 포인트 클라우드는 보통 포인트 수가 너무 많기 때문에,
다루기 쉽게 미리 "간추려"야 합니다.
- 또한 grid로 나누기 때문에 공간적인 정보(어디에 모여 있는지)를 어느 정도 유지할 수 있습니다.
그림으로 표현하면
원래 포인트 클라우드
● ● ●
● ● ●
●
→ 3D Grid로 나눔
|● ●| | ●|
| ●| ● | |
|● | |● |
→ 각 칸마다 pooling해서 하나의 포인트로 요약
4. 정리
이름 | 설명 |
---|
Grid Pooling | 3D 공간을 격자로 쪼개서 각 칸마다 포인트들을 요약하는 방법 |
장점 | 계산량 감소, 공간 구조 유지 |
요약 방식 | 평균, 최대값 등 |
추가로:
- Grid Pooling은 Point Transformer v2(PTv2)에서 처음 적극적으로 사용되었고,
- PTv3에서도 "간단하고 효율적이라서" 계속 사용하고 있습니다.