안녕하세요 lidar slam 공부 중인 기섭입니다.

lidar slam 과 딥러닝을 어떻게 접목해야 할지 평소에 고민이 많은데요,
다름이 아니라 3D DL 동향에 대해 간단히 소개해드리려고 합니다.

robotics 에서 주로 lidar 를 통해 3D point cloud 를 얻게 됩니다.
하지만 3D data 는 image 와 달리 pixel구조를 갖지 않기 때문에 ("unstructured" and "unordered") visual domain 에서 잘 개발된 2D convolution 및 노하우들을 사용하기 어려운 단점이 있었습니다.

1. 시즌 1 - 시작 : PointNet 계열
그래서 PointNet (17 CVPR)이 point를 MLP를 통해 학습하면 이 문제를 해결할 수 있다고 보였고, 이후 연구들은 좀 더 receptive filed 를 어떻게 하면 더 flexible 하게 가져갈 수 있을지, 그래서 local structure 를 더 잘 포착해서 더 좋은 피처를 만들 수 있을지에 관해 연구들이 되어온거같습니다.
주요논문: PointNet, PointNet++, DGCNN, KPConv

2. 로보틱스 - 우회? : projection and 2D conv 계열
하지만 왠지 로보틱스에서 접하는 large-scale and sparse lidar scan 의 경우 pointnet 기반의 방법이 잘 안된다는 심증 + 물증(19 ICCV SemanticKITTI가 지적한 바 있습니다) 들이 학계에 있는거 같구요,
그래서 2D range image 상에서 하면 잘된다는 방법들이 주로 개발되어 오고 있는거같습니다.
(RangeNet++, LO-Net, DeepLO)
최근에는 Ouster lidar 같이 2D form으로 잘 arranged 된 lidar 도 개발되고 있어서 역시 이런 우회?도 타당하고 분명히 효과있는 것 같구요.

3. 시즌 2? : Sparse Conv 계열
근데 2D projection image 가 과연 최선일까 라고 계속 생각이 들긴 하는데요,
최근에는 3D conv 를 MLP로 우회해서 하는 것이 아니라 기존의 conv 연산을 sparse 하게 할 수 있는 툴들이 공개되고 있는거같습니다. 그래서 3D or 더 높은 k-dim 에서 연산을 바로 할 수 있는 거 같구요.
주요논문: SparseConvNet (18 CVPR), MinkowskiNet (19 CVPR)
저도 아직 방법은 자세히 이해하지는 못했는데요,
최근 (2019, 2020) 에 급격히 이 계열의 툴 (Minkowski Engine) 을 이용한 applications 들이 등장하고 잘된다고 보고가 되고 있는 것 같습니다. https://github.com/NVIDIA/MinkowskiEngine/wiki/Usage
타겟 어플리케이션의 종류도 segmentation 등에 국한되지 않은 것 같구요

그래서 결국 최신의 3D DL tool 을 어떻게 lidar slam 과 물릴지 관심이 많은데요
관심만 많습니다..
비슷한 고민있으신 분들 종종 이야기나눌 기회가 있다면 좋을 거 같습니다.

감사합니다!



Posted by uniqueone
,