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 Pooling3D 공간을 격자로 쪼개서 각 칸마다 포인트들을 요약하는 방법
장점계산량 감소, 공간 구조 유지
요약 방식평균, 최대값 등

추가로:

  • Grid Pooling은 Point Transformer v2(PTv2)에서 처음 적극적으로 사용되었고,
  • PTv3에서도 "간단하고 효율적이라서" 계속 사용하고 있습니다.
profile
AI developer

0개의 댓글