多模态感知论文阅读笔记 | CVPR 2023, Depth Estimation from Camera Image and mmWave Radar Point Cloud
CVPR 2023 | Depth Estimation from Camera Image and mmWave Radar Point Cloud
多模态感知论文阅读笔记:CVPR 2023, Depth Estimation from Camera Image and mmWave Radar Point Cloud

Abstract
-
背景
-
提出一种从摄像机图像和稀疏雷达点云推断密集深度图的方法
-
Challenge:毫米波雷达点云形成的挑战,如模糊性和噪声 ⇒ \Rightarrow ⇒ 无法正确映射到camera images上
✅ existing works: overlook the above challenge
-
-
Proposed approach
- 设计一个网络将每个雷达点映射到图像平面上可能投影的表面
- 与现有工作不同,我们不直接处理原始雷达点云,而是查询每个原始点与图像中可能的像素进行关联——产生半密集的雷达深度图
- 提出带门控融合方案,考虑对应分数的置信度,选择性地结合雷达和相机嵌入来产生密集深度图
-
Experiments
- 在NuScenes基准测试中测试方法,平均绝对误差提高10.3%,均方根误差提高9.1%
- code: https://github.com/nesl/radar-camera-fusion-depth
1 Introduction

P1: 基于雷达 + 相机 的 深度估计
- 理解3D场景结构可以支持空间任务如导航和操作
- 相机图像提供每个像素的强度,但由于遮挡或光圈问题难以恢复3D结构
- 测距传感器通常很稀疏,但提供场景中的一些点的3D坐标(即点云)
- 目标:利用相机图像和雷达点云的互补性恢复密集3D场景(即相机雷达深度估计)
- mmWave radar: 比激光雷达廉价、轻量、功耗低
P2: 挑战
- 毫米波雷达:highly sparse, noisy, and ambiguous AOA
- ⇒ \Rightarrow ⇒ 存在很大误差,无法直接映射到camera images上
- 已有方法:直接处理原始雷达点云,忽略上述挑战
P3: Proposed method
- 提出从单个雷达和图像帧估算深度
- 1 首先学习每个雷达点与图像中可能属于的表面之间的 一对多映射来 学习对应关系
- 2 每个雷达点通过ROI对齐机制与图像中的区域对应——产生 半密集的雷达深度图
- 3 雷达深度图中的信息由门控融合机制调制, 学习对应关系中的错误模式并自适应地加权其对图像雷达融合的贡献
- 4 其结果用于增强图像信息,并解码为密集深度图
P4: Contributions
- 首个 使用单个雷达扫描和单个相机图像来学习雷达到相机的对应关系的方法
- 以将任意数量的模糊和嘈杂的雷达点映射到图像中的物体表面
- 引入映射的置信分数
- 用于融合雷达和图像模态
- 提出门控融合机制
- 在雷达深度和图像信息之间自适应调节权衡
- 优秀的实验性能
- 尽管只使用单个图像和雷达帧 ⇒ \Rightarrow ⇒
- 超过使用多个图像和雷达帧的最佳方法10.3%的平均绝对误差(MAE)和9.1%的均方根误差(RMSE),以达到NuScenes基准测试的最新技术
2 Related Work
2.1 Camera-lidar depth estimation
- 利用RGB图像作为指导来密集化稀疏的激光雷达点云
- 大多工作致力于解决稀疏性问题,如
- 设计网络块
- 估计激光雷达采样位置
- 使用金字塔网路
- 使用独立的图像和深度网络
- 提出上采样层
- 使用置信度图
- 使用表面法向
- 激光雷达昂贵、能耗高,在实际应用中受限
2.2 Single image depth
- 在没有强大先验条件的情况下难以大规模应用
- 毫米波雷达便宜且常见,将预测与公制尺度结合
2.3 Camera-radar depth estimation
- 使用稀疏的毫米波雷达点云和相机图像
- 与基于相机和激光雷达的深度估计不同,具有新的挑战
- 因为雷达点云的稀疏性和噪声
- 已有工作
- [30]学习从雷达数据到图像像素的映射,使用多个图像和扫描得到更密集的点
- [26]提出两阶段编码器解码器架构减少噪声,也使用未来帧
- [28]创建高度扩展的雷达表示,与相机图像融合生成密集深度
- [13]将稀疏点云作为训练期间的弱监督信号融合,推理时用作额外输入增强稳健性
- 这些工作要么 忽略雷达点的噪声和错误 ,要么 使用多个图像和扫描得到更密集的点
- 与它们不同,本文只需要 单张图像和雷达扫描产生密集深度
3 mmWave PCD Geneartion

- 镜面反射
- 导致稀疏性
- 天线阵列
- 导致角度,特别是俯仰角度分辨能力差
- 已有工作
- [13,26,28,29]没有考虑到上述问题,将不正确的投影视为原貌,或执行后处理操作如沿y轴扩展每个点
- 本文
- 学习将雷达点映射到场景中的可能表面,以恢复更密集的雷达点云
4 Proposed Approach
4.1 Overview & Formulation
- 目标
- 从单张RGB图像 和 点云 恢复 3D场景
- 分为两个子问题
-
(i) 在嘈杂的雷达点云中找到每个点与其在图像平面上的可能投影之间的对应关系,以产生半密集的雷达深度图;
🚩 RadarNet :将RGB图像和雷达点作为输入,输出置信度图,表示点映射到图像中的可能表面。对K个点,输出K个置信度图,构造半密集的雷达深度图
✅ ROIAlign进行高效推理
-
(ii) 融合半密集的雷达图和相机图像以输出密集深度图
🚩 FusionNet :融合图像,雷达深度图和每个对应关系的置信度,输出密集深度图
✅ 门控融合:学习一组权重调节传递到解码器的深度信息量,学习雷达深度图和置信度分数的错误模式
-

4.2 RadarNet
- 数据集:RGB图像,雷达点云,真实的激光雷达深度图
- 两个编码器:标准ResNet18编码图像;5层全连接MLP编码雷达点
- 将点云的潜在表示与图像潜在表示融合,解码为响应图(置信度分数)
- 作为二分类问题: 高响应表示给定点的可能表面
- ROI对应给定点的真实位置,构造标签,最小化二分类交叉熵损失
- 训练RadarNet将雷达点映射到图像空间中的区域,支持不同时刻的雷达返回,产生比雷达点云密集的半密集深度图
ℓ B C E = 1 ∣ Ω ∣ ∑ x ∈ Ω − ( y g t ( x ) log y ( x ) + ( 1 − y g t ( x ) ) log ( 1 − y ( x ) ) ) , \begin{aligned} \ell_{B C E}= & \frac{1}{|\Omega|} \sum_{x \in \Omega}-\left(y_{g t}(x) \log y(x)\right. \\ & \left.+\left(1-y_{g t}(x)\right) \log (1-y(x))\right),\end{aligned} ℓBCE=∣Ω∣1x∈Ω∑−(ygt(x)logy(x)+(1−ygt(x))log(1−y(x))),
4.3 FusionNet
- 两个ResNet18编码器:一个编码图像,一个编码与置信度图拼接的深度图
- 门控融合:学习一组权重调节从深度分支流入的信息,将加权的深度编码添加到图像编码
- 假定真实的激光雷达深度图和累积深度图,最小化预测与之差异与L1惩罚
ℓ L 1 = 1 ∣ Ω g t ∣ ∑ x ∈ Ω g t ∣ d g t ( x ) − d ^ ( x ) ∣ + λ ∣ Ω a c c ∣ ∑ x ∈ Ω a c c ∣ d a c c ( x ) − d ^ ( x ) ∣ , \begin{aligned} \ell_{L_1}= & \frac{1}{\left|\Omega_{g t}\right|} \sum_{x \in \Omega_{g t}}\left|d_{g t}(x)-\hat{d}(x)\right|+ \\ & \frac{\lambda}{\left|\Omega_{a c c}\right|} \sum_{x \in \Omega_{a c c}}\left|d_{a c c}(x)-\hat{d}(x)\right|,\end{aligned} ℓL1=∣Ωgt∣1x∈Ωgt∑ dgt(x)−d^(x) +∣Ωacc∣λx∈Ωacc∑ dacc(x)−d^(x) ,
5 Implementation Details
5.1 Dataset
- nuScenes dataset:
- 1000 20s driving scenes, with lidar, mmWave radar, camera and IMU;
- 40K keyframes with object bounding boxes
- 700/150/150 scenes for train/val/test
5.2 Data preprocessing
- Accumulate past and future lidar frames to get dacc; scaffolding on dacc to get interpolated depth map and labels ygt
- For RadarNet:
- ygt as supervision;
- for FusionNet:
- dacc, dgt and interpolated depth map as supervision
- Only use accumulated lidar points for training; use lidar depth maps dgt for evaluation
5.3 RadarNet (Stage 1)
- Input image size: 900×1600
- ROIs of size H = 900 and w = 288
- Adam optimizer with lr = 2e-4; train 75 epochs; data aug: horizontal flip, saturation, brightness, contrast (50% chance)
- Any point in dacc within 0.4m of z-component of radar point as positive example; weight of positive class as 2; batch size 6
- Train 36 hours on NVIDIA RTX A5000 GPU
5.4 FusionNet (Stage 2)
- Adam optimizer with lr = 1e-3 (400 epochs) → 5e-4 (50 epochs) → 1e-4 (50 epochs); data aug: horizontal flip, brightness, saturation, contrast (50% chance)
- Batch size 16; random crops 448×448
- Train 36 hours on NVIDIA RTX A5000 GPU
6 Experiments and Results
6.1 Baselines
- [25,28,30] 使用预训练模型
- [13,26,32,41]:结果取自论文
6.2 Depth range
- Lidar sensor max range: 80-100m; usable range: 70-80m
- Evaluate all models at 0-50m, 0-70m, 0-80m
6.3 Quantitative results
- Outperform RC-PDA [30] by 22.3-41.3% MAE and 9.8-36.3% RMSE at 0-50m to 0-80m
- Outperform RC-PDA+HG [30] by 25.3-43.8% MAE and 13.3-38.8% RMSE
- Outperform DORN [28] by 10.3-13% MAE and 9.1-12.6% RMSE
- Overall outperform best baseline by 10.3% MAE and 9.1% RMSE
- Success due to RadarNet correctly corresponding radar points to scene objects

6.4 Efficacy of RadarNet
- Ours (No RadarNet) outperforms some baselines but can’t learn object shapes well
- RadarNet learns shapes of metallic surfaces which act as priors for FusionNet to learn geometry
6.5 Qualitative results

- Plot dense depth of method and baselines on nuScenes test set
- Two scenes:
- busy intersection;
- pedestrian crossing road in overcast weather
- No supervision for sky so all hallucinate; our method only one to pick up bus switching lanes and white car in front of bus
- Our method shows smooth depth increase for building; ❌ baselines abrupt changes
- Our method gets traffic light post; ❌ baselines miss
- Our method gets tree branch and trees; ❌ RC-PDA baselines miss; DORN gets branch but misses trees
- Our method doesn’t over-smooth truck; ❌ RC-PDA map 2-3 depth values to truck rear due to dark nearby background

- Qual comp with and without RadarNet: without can’t learn object shapes well; RadarNet learns metallic surface shapes as priors for geometry
7 Discussion
- If camera-radar miscalibrated or misaligned
- may assume radar values bad and rely only on camera
- Softmax activations not calibrated or uncertainty substitutes
- can be erroneous overconfident correspondences
8 Conclusion
- Propose two-step approach:
- RadarNet , 受启发于 understand radar point generation
- FusionNet , correspond noisy ambiguous radar points to image regions in data-driven way
- While allow for incorrect correspondences (overprediction), achieve 10.3% MAE and 9.1% RMSE improvement over other radar-camera depth completion methods
更多推荐
所有评论(0)