이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.
K-D tree와 Octree에 대해 알아보았습니다. 이 게시글에서 각자 어느 분야에서 사용해야하는지 알아보겠습니다.
저차원 공간 데이터(2D, 3D)
Nearest Neighbor Search
균형 잡힌 데이터 분포
정적 데이터 집합
데이터가 주로 읽기 전용이거나, 갱신이 거의 없는 경우에 적합합니다.
계속 데이터를 삽입하거나 제거해야하는 경우 트리를 재구성해야하기 때문에 연산량이 많아질 수 있습니다.
3차원 공간 데이터
공간 점유 정보 관리
비균형 데이터 분포
동적인 데이터
3D reconstruction 기법을 쓰는 SLAM의 경우 Octree를 많이 사용하고 그냥 LiDAR SLAM은 K-D tree를 사용하는 것 같습니다. Octree는 공간이 한정적이기 때문에 scale이 큰 경우는 K-D tree를 사용하는 것 같은데 관리는 Octree가 쉬워서 선택을 잘 해야할 것 같습니다.