Intro
이번 논문은 야외 환경 ~ 자율 주행 환경에서의 라이다의 포인트 클라우드와 영상 정보를 함께 사용한 3차원 물체 인식 알고리즘에 대한 논문이며, 제출 당시 KITTI 3D detection leaderboard에서 1st를 달성한 방법론이기도 합니다. 해당 논문이 나오기 전까지 라이다 단일 모달리티에 대한 3차원 물체 검출들이 상위권을 차지하고 있었습니다. 그에 반해 라이다와 영상 정보를 함께 사용하는 멀티 모달 기반의 3차원 물체 검출들은 두 모달리티 간의 차이를 극복하지 못하고 상대적으로 저조한 성능을 보여주고 있었습니다. 또한, 라이다 단일 모달리티 기반 3차원 물체 검출들도 라이다의 sparse한 특성으로 인한 문제들로 인해 먼거리의 물체에 대해서는 상대적으로 낮은 성능을 보여주고 사람이나 bicyclist와 같이 상대적으로 적은 면적은 가진 물체에 대해서는 넓은 면적은 가진 car 대비 낮은 성능을 보여주고 있었습니다. 다음과 같은 문제를 해결하기 위해 많은 연구가들은 라이다의 sparse함을 해결하기 위한 방법 제안하는데에 집중해왔습니다.
저자는 위에서 언급된 문제들을 해소하기 위해 depth completion으로 부터 생성된 수도 포인트 클라우드를 활용하는 새로운 멀티 모달 기반의 3차원 물체 검출 SFD (Spares Fuse Dense)를 제안합니다. 해당 방법론은 다양한 유형의 포인트 클라우드 정보를 최대한 활용하기 위해 새로운 RoI 융합 전략인 3D-GAF (3D Grid-wise Attentive Fusion)를 제안합니다. 특히 3D-GAF는 한 쌍의 포인트 클라우드에서 3D RoI 특징을 그리드 단위의 세심한 방식으로 융합하여 더욱 정밀한 추론이 가능해집니다. 또한, 멀티모달 프레임워크가 LiDAR 단일 모달리티 방법론에 맞춘 모든 데이터 증강 접근법을 활용 가능하도록 하는 SynAugment (Synchronized Augmentation)를 제안합니다. 마지막으로, 수도 포인트 클라우드에 효과적이고 효율적인 특징 추출기인 CPConv (Color Point Convolution)를 제안합니다. 이는 수도 포인트 클라우드의 2D 이미지 특징과 3D 기하학적 특징을 동시에 추출할 수 있도록 합니다.
기존 멀티 모달 기반의 3차원 물체 검출 알고리즘 중 depth completion을 사용하는 방법론이 없는 것 아니였습니다. 대표적으로 MMF [1]도 depth completion을 통해 수도 라이다 포인트를 통해 RoI fusion을 수행합니다. 해당 방법론의 키 아이디어와 상당히 유사하지만 저자는 기존 방법론들은 2가지 단점들로 정의하며 해결안을 말합니다.
가장 먼저 Coarse RoI Fusion Strategy, 하단의 fig 2 (a)를 보면 기존 방법론들은 2차원 영상과 3차원 데이터인 포인트 클라우드 간의 차원적인 차이를 줄이기 위해 3차원 정보를 BeV로 사영시켜 사용해왔습니다. 하지만 이러한 방법은 두 모달리티 정보들이 대응시키기가 굉장히 어렵다는 단점과 영상 정보 안의 대상이 되는 물체 외에도 다른 물체나 배경이 포함되기 때문에 대상 외의 특징들도 융합된다는 단점이 발생합니다. 저자는 이러한 단점을 해소하기 위해 fig 2-(a)와 같은 2D 기반의 RoI가 아닌 fig 2-(b)와 같은 3D RoI를 이용한 두 모달리티 간의 그리드 단위의 세밀한 융합 기법인 3D-GAF을 제안합니다. 자세한 방법은 아래에서 다루도록 하겠습니다.
다음은 Insufficient Data Augmentation. 멀티 모달을 이용한 하는 모든 기법들이 동일하지만 서로 같은 증강 기법을 사용하는 것이 굉장히 어렵습니다. 2차원의 영상 정보는 3차원 라이다와 동일하게 다루는 것이 불가능하기 때문에 증강 기법을 적용하기 어렵다는 문제점이 있습니다. 이러한 단점은 멀티 모달의 방식이 단일 모달 방식보다 상대적으로 저조한 성능을 보이는 중요한 이유 중 하나입니다. 해당 문제를 해결하기 위해 저자는 SynAugment를 제안합니다. 2차원 영상을 3차원 수도 포인트 클라우드로 변화하면 포인트 클라우드와 표현이 통일되어 동일하게 조작이 가능합니다. 하지만 효과적인 3차원 물체 검출의 증강 기법 (GT-Sampling, local rotation)을 적용하기 위해서는 영상 정보의 FoV로 인한 occlusion 문제에 대한 이슈를 해결해야만 합니다. 저자는 이를 극복하기 위해 변화된 3차원 포인트 클라우드를 3차원 공간에서 직접 영상 특징을 직접 추출하는 방식으로 해당 이슈하는 방법을 제안합니다.
저자는 3차원 공간에서 수도 포인트 클라우드의 특징을 추출하기 위해서 영상 도메인에서 의사 점의 이웃을 검색하는 CPConv를 제시합니다. 이를 통해 수도 포인트 클라우드의 이미지 특징과 기하학적 특징을 모두 효율적으로 추출할 수 있다고 합니다. FOV 오클루전 문제를 고려할 때, neighbor search를 위해 모든 의사점을 현재 프레임의 이미지 공간에 투영할 수는 없습니다. 여기서는 fig 3과 같이 각 3D RoI의 의사 포인트를 원래 이미지 공간에 투영하는 RoI-aware Neighbor Search를 제안합니다. 따라서 FOV에서 서로를 가리는 의사 점은 neighbor search을 수행할 때 이웃이 되지 않도록 만들 수 있습니다. 자세한 내용은 아래에서 다루도록 하겠습니다.
[1] Ming Liang, Bin Yang, Yun Chen, Rui Hu, and Raquel Urtasun. Multi-task multi-sensor fusion for 3d object detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 7345–7353, 2019. 1, 2, 3, 6
Method
Overview of Method. 해당 기법은 전반적인 구조는 fig 1와 같이 raw point cloud만 사용하여 3D RoI를 생성하는 RPN 역할을 하는 LiDAR Stream, 제안된 CPConv로 포인트 특징을 추출하고 스파스 컨볼루션으로 voxel feature를 추출하는 Pseudo Stream, raw point cloud와 pseudo point cloud의 3D RoI 특징을 그리드 단위로 융합하고 최종 예측을 생성하는 Sparse Dense Fusion Head로 구성됩니다.
3D Grid-wise Attentive Fusion (3D-GAF). 위에서 언급한 바와 같이 기존 연구에서는 Fig 2-(a)와 같이 2차원 영상 정보와 3차원 포인트 간의 차원 차이로 인해 BEV 라이다 특정 맵에서 추출한 RoI 특징을 2차원 영상의 RoI 특징을 직접 연결하는 방식을 사용합니다. 이러한 경우 앞서 언급한 바와 같이 검출 대상 외의 정보들도 모두 포함하는 coarse한 융합으로 문제가 될 수 있습니다. 저자는 이를 해소하기 위해 fig 2-(b)와 같이 2차원 영상을 3차원 수도 포인트 클라우드로 변화하여 RoI 특징을 보다 세분화된 방법을 제안합니다. 3D-GAF는 3D Fusion, Grid-wise Fusion, Attentive Fusion으로 구성됩니다.
(1) 3D Fusion. fig 2-(b)와 같이 3D RoI를 사용하여 3D raw point cloud와 3D pseudo point cloud를 자르는데, 3D RoI에는 LiDAR 특징과 이미지 특징만 포함됩니다. 이전 방법에서는 2D RoI를 사용하여 이미지 특징을 자르지만, 해당 정보에는 다른 물체나 배경의 특징이 포함됩니다. 이 방법은 특히 그림 2(a)와 같이 가려진 물체의 경우 많은 더욱 많은 노이즈를 유발합니다.
(2) Grid-wise Fusion. 기존 RoI 융합 방법에서는 이미지 RoI 그리드와 LiDAR RoI 그리드 사이에 대응이 없으므로 이미지 RoI 특징과 LiDAR RoI 특징을 직접 연결합니다. 이 방법에서는 raw RoI 특징과 pseudo RoI 특징을 동일하게 표현할 수 있기 때문에 각 그리드 특징 쌍을 개별적으로 융합할 수 있습니다. 이를 통해 물체의 각 부분을 해당 의사 그리드 특징으로 정확하게 향상시킬 수 있습니다.
++ (1)-(2)는 그냥 동일한 그리드를 가진 voxel로 만들어 대응해서 합칠 수 있다는 이야기를 어렵게 하는 거라고 보셔도 됩니다.
(3) Attentive Fusion. raw RoI와 pseudo RoI의 각 그리드 특징 쌍을 적응적으로 융합하는 것을 목표로 간단한 attetion 모듈을 활용합니다. 일반적으로 각 그리드 쌍에 대해 한 쌍의 가중치를 예측하고 해당 가중치로 그리드 특징 쌍에 가중치를 부여하여 융합된 그리드 특징을 얻습니다.
여기서 raw는 lidar point cloud, pse는 pseudo point cloud에 해당합니다. 진짜 간단한 attention 기법을 활용한 수식이라 자세한 설명은 건너 뛰겠습니다.
Synchronized Augmentation. 위에서 언급한 바와 같이 이미지와 포인트 클라우드의 표현이 서로 다르기 때문에 멀티모달 방식은 gt-sampling및 local rotation과 같은 많은 데이터 증강 방식을 활용하기 어렵습니다. 이러한 제약 조건은 단일 모달리티 대비 단일 모달리티의 성능 저하의 중요한 이유 중 하나 입니다. 따라서 저자는 해당 이슈를 해결하기 위해 멀티 모달 데이터 증강 방법인 SynAugment를 제시하여 SFD가 라이다 기반 방법론에 맞춘 모든 데이터 증강 방법을 사용할 수 있도록 합니다. 구체적으로 SynAugment는 manipulate images like point clouds와 extract image features in 3D Space 두 가지로 구성됩니다.
Manipulate Images like Point Clouds. 두 모달리티의 동일 차원에서 다루기 위해서 2차원 영상을 3차원으로 변화 시키는 작업을 수행합니다. 저자는 보다 효율적이고 효과적인 수행을 하기 위해 Depth completion을 이용합니다. 변화된 정보는 RGB 정보를 포함하고 있으며, fig 3과 같이 raw point cloud와 동일한 데이터 증강을 수행할 수 있습니다.
Extract Image Features in 3D Space. 포인트 클라우드와 같은 이미지를 조작하는 것만으로는 멀티 모달 데이터 증강에 충분하지 않습니다. 현재 대부분의 멀티 모달 방식은 FOV 이미지에서 이미지 특징을 추출해야 합니다. 하지만 이렇게 하면 FOV 오클루전 문제를 일으킬 수 있는 데이터 증강 기법들을 사용하지 못하도록 모델이 제한됩니다. 이 문제를 해결하기 위해 2D 이미지를 3D 의사 클라우드로 변환하여 3D 공간에서 이미지 특징을 추출할 것을 제안합니다. 이렇게 하면 더 이상 FOV 이미지에서 이미지 특징을 추출하지 않기 때문에 오클루전 문제를 고려할 필요가 없습니다. 3D 공간에서 특징을 추출하려면 3D 스파스 컨볼루션을 사용할 수 있습니다. 그러나 저자는 보다 효과적인 기법인 CPconv를 제안합니다. 이에 대한 내용은 아래에서 구체적으로 다루도록 하겠습니다.
Color Point Convolution. 의사 구름의 특징을 추출하는 가장 단순한 접근 방식은 pseudo point을 직접 복셀화하고 3D 스파스 컨볼루션을 수행하는 것이지만, 실제로는 pusedo point의 풍부한 의미 및 구조 정보를 완전히 탐색하지 못합니다. PointNet++는 점의 특징을 추출하는 데는 좋은 예이지만 pseudo point에는 적합하지 않습니다. 첫째, PointNet++의 ball query 연산은 방대한 양의 pseudo point로 인해 방대한 계산을 초래합니다. 둘째, ball query 연산은 2D 이웃 관계를 고려하지 않기 때문에 PointNet++는 2D 특징을 추출할 수 없습니다. 따라서 2D 의미적 특징과 3D 구조적 특징을 모두 효율적으로 추출할 수 있는 특징 추출기가 필요합니다.
RoI-aware Neighbor Search on the Image Domain은 위의 분석을 바탕으로 voxel query [4]와 grid search [5]에서 영감을 받아 이미지 도메인에서 이웃을 검색하는 CPConv를 제안합니다. 첫째, 의사 포인트는 일정한 시간에 이웃을 검색할 수 있으므로 ball query보다 훨씬 빠릅니다. 둘째, 이미지 도메인의 이웃 관계를 통해 2D 의미적 특징을 추출할 수 있습니다.
안타깝게도 이웃 검색을 위해 모든 의사 포인트를 현재 프레임 이미지 공간에 투영할 수는 없는데, 그 이유는 증강 기법 중 하나인 gt-sampling (fig 3 참고) 사용하면 다른 프레임에서 오는 의사 포인트가 FOV 오클루전을 유발할 수 있기 때문입니다. 이를 위해 RoI-aware Neighbor Search을 제안합니다. 구체적으로 fig 3의 하단에 표시된 것처럼 각 3D RoI의 의사 점을 의사 점의 (u, v) 속성에 따라 원본 이미지 공간에 개별적으로 투영합니다. 이렇게 하면 서로 가려진 의사 점들은 이웃이 되지 않으므로 시야각에서 서로 많이 가려져 있어도 서로의 특징이 간섭하지 않습니다.
++ 쉽게 말하면 ㅇ
Pseudo point feature의 i 번째 pseudo point p_i 의 경우, p_i 의 특징을 f_i = (x_i , y_i , z_i , r_i , g_i , b_i) 로 나타내며, 이는 3D 기하학적 특징 ( x_i , y_i , z_i )과 2D 의미적 특징( r_i , g_i , b_i )으로 구성됩니다. 이웃 탐색을 수행하기 전에 의사 점 특징에 fc layer를 적용하여 복잡성을 줄입니다.fc layer 이후에는 fig 4와 같이 특징 채널이 C3로 올라갑니다.
Position Residuals. 이웃까지의 3D 및 2D 위치 잔차를 활용하여 p_i의 특징이 3D 및 2D 공간에서 로컬 관계를 인식하도록 도움을 줍니다. 이는 p_i의 3D 구조적 특징과 2D 의미적 특징을 모두 추출하는 데 특히 중요하다고 합니다. p_i의 k 번째 neighbor p인 k에 대해 p_i와 p_i^k사이의 위치 잔차는 h_i^k = (x_i - x_i^k , y_i−y_i^k , z_i−z_i^k , u_i−u_i^k , v_i−v_i^k , ||p_i−p_i^k ||) 를 수행합니다.
Feature Aggregation. p_i의 K 이웃에 대해 위치를 수집하고 위치 잔차를 계산합니다. 그런 다음 위치 잔차에 fc layer를 적용하여 채널을 C3로 올려 의사 점 특징에 맞춥니다. Neighbor features F_i = \{ f^k_i \in R^{C3} , k \in 1 \} 와 set of neighbor position residuals H_i = \{ h^k_i \in R^{C3} , k \in 1\}가 주어지면, 각 [latex] f_i^k 에 해당하는 h_i^k 로 가중치를 줍니다. 가중치가 적용된 이웃 피쳐는 정보 충실도를 극대화하기 위해 최대 풀링 대신 연결됩니다. 마지막으로, fc layer가 적용되어 집계된 특징 채널을 C3에 다시 매핑합니다.
Loss Function.
L_rpn 및 L_roi는 VoxelRCNN의 RPN loss 및 RoI head loss를 따릅니다. 특정 스트림에 의해 유도되는 것을 방지하기 위해 LiDAR stream과 pseudo stream 모두에 auxaliry RoI head loss를 추가하며, 이를 각각 L_aux1 및 L_aux2 로 표시합니다. L_aux1 및 L_aux2는 L-roi와 일치합니다. depth completion loss L_depth는 [2]에서 사용된 loss를 사용한다고 합니다.
[2] Mu Hu, Shuling Wang, Bin Li, Shiyu Ning, Li Fan, and Xiaojin Gong. Penet: Towards precise and efficient image guided depth completion. arXiv preprint arXiv:2103.00783, 2021. 2, 5, 6
Experiment
Comparison with State-of-the-Arts. 기존 멀티 모달 기반의 방법론들이 라이다 단일 모달리티를 이기지 못하는 결과를 보여주지만 해당 방법론은 단일 모달리티에서도 가장 높은 성능을 보여줌으로써, 멀티 모달의 한계를 극복하고 단일 모달리티의 문제점을 해소하는 것을 보여줍니다.
Ablation Study. tab 4에서 (a)는 베이스라인인 Voxel-RCNN으로 단일 모달리티에서의 성능입니다. 보이는 바와 같이 3D-GAF와 CPConv의 효과를 볼 수 있습니다.
Effect of SynAugment
Ablation Study on 3D Grid-wise Attentive Fusion
Cooperating with Different Detectors
Conditional Analysis
Inference Speed
Training with Three Classes
Qualitative Results and Analysis
좋은 리뷰 감사합니다ㅎ
질문 간단하게 하나 드리자면 저자는 기존의 3차원 정보를 BeV로 사영시켜 사용한 방법은 두 모달리티 정보들이 대응시키기가 어렵다는 단점이 있다고 지적하면서 2차원 영상을 3차원 수도 포인트 클라우드로 변화하여 RoI 특징을 세분화하여 dense fusion하는 것으로 이해했는데, 그럼 2차원 영상을 3d pseudo point cloud로 변환하는과정에서 생기는 noise에 대한 영향은 미미해서 이러한 변환과정을 선택한 것인가요? 3차원을 2d로 사영하는 것을 2d를 3d로 변환해서 사용하는 차이로 느껴져서요…
감사합니다.
Q. 2차원 영상을 3d pseudo point cloud로 변환하는과정에서 생기는 noise에 대한 영향은 미미해서 이러한 변환과정을 선택한 것인가요?
A. noise에 대한 영향을 최대한 줄이기 위해 depth competion을 적용하여 pseudo point cloud를 생성하빈다. 이때 입력 값으로 RGB와 LiDAR point가 입력으로 들어갑니다. LiDAR point를 reference point로 삼아 depth 정보를 보완하기 때문에 RGB로부터 Depth를 바로 생성하는 방법들보다 두 모달리티 간의 차이를 줄인 상태로 만들 수 있다고 생각합니다.