宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

通常,自动驾驶汽车通过单目摄像头看到的世界长这个样子:

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

马路上的其他车辆、物体,都被统一建模成一个个立方体,具体的结构细节则被忽略。

想要更精准地勾勒出车辆的真实形态,当然也不是不行,但那就需要用上激光雷达、双目相机等更加昂贵的传感器。

不过现在,一项最新研究赋予了单目摄像头新的能力 ——

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

是的,仅凭单目相机,就能实时感知物体的 3D 形状,进而提高 3D 目标检测性能。

这项研究来自百度,论文已经入选 ICCV 2021。

考虑 2D/3D 形状感知约束的 3D 检测框架

具体如何实现?

大体上可以分为三步:

  • 首先,引入 CAD 模型,在 CAD 模型上预先定义几个不同的 3D 关键点。

  • 然后利用深度学习网络,来建立 3D 关键点和它们在图像上的 2D 投影之间的关联。

  • 最后,利用这样的对应关系为每个目标物体建立 2D/3D 约束。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

整体的网络架构如上图所示,8 个分支头分别对应中心点分类、中心点偏移、2D 关键点、3D 坐标、关键点置信度、物体方向、维度,以及 3D 检测置信度得分。所有回归信息最后都会被用来恢复物体在摄像机坐标中的 3D 边界框。

而为了自动生成 2D/3D 关键点的真实标注,研究人员还提出了一种自动模型拟合方法。也就是根据摄像头观测到的 2D 图像,自动拟合不同的 3D 物体模型和物体掩码。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

具体而言,该方法是基于不同种类的车辆 CAD 模型,以及 KITTI 数据集中的 3D 物体样本实现的。

研究人员指出,实际上,3D 形状标注的过程可以看作一个优化问题,其目的是计算出最佳参数组合,来适应 AI 通过“视觉观察”得到的结果(如 2D 物体掩码、3D 边界框、3D 点云等)。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

实验结果

研究人员在 KITTI 3D 目标检测基准上测试了这一新方法的性能。

KITTI 3D 目标检测基准包含 7481 张训练图像、7518 张测试图像,以及对应的点云,总共包括 80256 个标记对象。

在这项研究中,由于测试集的真实数据不可用,研究人员将训练数据分为训练集(3712 个样本)和验证集(3769 个样本),用以完善模型。

另外,用以测试的模型是在 2 块英伟达 V100 上训练完成的,批量大小设为 16。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

△红色代表最佳结果,蓝色代表次佳结果

可以看到,在全部 6 个任务中,采用了 48 个关键点的 AutoShape 方法取得了 4 项第一。而采用 16 个关键点的 AutoShape 速度更快,准确性损失也并不大。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

此外,从上图中可以看出,模型预测的 3D 形状与真实物体一致性较高。

百度论文研究:单目摄像头实时感知车辆形状,显著提高 3D 目标检测性能-编程部落

即使是画面中位置较远的车辆、被截断/遮挡的物体,其位置也能被准确检测到。

总而言之,相比于其他现有方法,AutoShape 更准确,并且推理速度更快,可以达到 25FPS 的处理速度,也就是说可以实现实时检测的效果。

论文地址:

https://arxiv.org/abs/2108.11127

项目地址:

https://github.com/zongdai/AutoShape