本文PETR (PETR: Position Embedding Transformation for Multi-View 3D Object Detection)是对DETR3D (3D Object Detection from Multi-view Images via 3D-to-2D Queries)的改进,将2D转换至3D,还存在三个问题:
(1) 空间与多视图之间的信息交互依赖于3D参考点估计的准确性,使得采样的特征超出了对象区域,无法投影到有效区域内,无法与2D图像进行交互;
(2) 仅收集投影点处的图像特征,只进行了object queries与3D参考点投影的2D点的特征之间的信息交互,无法从全局视图进行表示学习;
(3) 复杂的特征采样过程将阻碍检测器的实际应用,在没有在线 2D 到 3D 转换和特征采样的情况下构建端到端 3D 对象检测框架,由于需要采样和投影,架构中的pipeline相对复杂,影响推理的效率。
虽然PETR技术在多视图3D对象检测中有很好的应用潜力,但是它仍然存在一些现存的问题,包括:
针对前述的问题,本文为多视图三维物体检测提供了一种简单而优雅的解决方案——PETR。PETR摒弃了采样和投影,直接计算2D多视图对应的3D位置编码,并加到2D图像特征中,再和3D的object queries进行交互,直接对3D object queries进行更新,大大简化了pipeline。为了实现这一目标,首先将不同视图共享的相机截头体空间离散为网格坐标。然后,通过不同的相机参数对坐标进行变换,以获得3D世界空间的坐标。其次,从骨干和3D坐标提取的2D图像特征被输入到简单的3D位置编码器,以产生3D位置感知特征。最后,3D位置感知特征将与变换器解码器中的对象查询交互,并且更新的对象查询进一步用于预测对象类和3D边界框。
相比于传统方法,AI多视角三维场景检测——PETR采用直接计算2D视图对应的3D位置编码进行交互,大大降低了数据之间的流动损耗,省去了对参考点多次计算投影的过程,此外还有以下六个优势:
1.更高的检测准确度:PETR方法可以同时处理多个视角的点云数据,能够利用三维位置感知特征来提高检测准确度,特别是在处理远离相机的物体时,相比于传统方法和其他方案,PETR方法更具有优势。
2.更好的姿态估计能力:由于PETR方法能够编码三维位置信息,引入了位置嵌入转换技术,因此在进行姿态估计时,具有更好的能力,能够更准确地估计物体的方向和旋转角度等信息。
3.更高的鲁棒性和可靠性:PETR方法能够在多个视角和角度下进行物体检测和识别,因此具有更高的鲁棒性和可靠性,能够适应不同的场景和应用需求。
4.端到端的学习:PETR方法可以进行端到端的学习,通过神经网络模型来直接从原始数据中学习特征,避免了传统方法中需要手动设计特征的缺点。
5.更好的可扩展性:PETR方法可以通过使用更多的视角和数据来进行模型训练和优化,因此具有更好的可扩展性,能够应对更大规模的场景和数据需求。
6.引入了空间注意力机制,能够更好地利用点云数据的局部特征和全局特征来进行检测。
AI多视角三维场景检测是一种利用深度学习技术对三维场景进行分析和识别的技术,它使用多个视角的图像或视频作为输入数据,可以从多个角度和视角对物体进行建模和重建,其适用于以下应用场景:
(1) 自动驾驶:多视角三维场景检测技术可以用于自动驾驶汽车的实时环境感知和行车安全预警,例如检测道路标志、交通信号灯、行人、车辆等。
(2) 无人机:多视角三维场景检测技术可以用于无人机的场景感知和航拍任务中,例如检测建筑物、道路、水域、农田等。
(3) 工业制造:多视角三维场景检测技术可以用于工业制造中的质量检测和生产线优化,例如检测产品零件、缺陷和尺寸等。
(4) 建筑和城市规划:多视角三维场景检测技术可以用于建筑和城市规划中的建筑物识别和三维模型构建,例如检测建筑物、街景、公园等。
(5) 安防监控:多视角三维场景检测技术可以用于安防监控领域,例如检测异常行为、识别人员和车辆等。
多视角三维场景检测技术具有广泛的应用前景,可以为很多行业带来巨大的经济效益和社会价值。
AI多视角三维场景检测技术在近年来得到了广泛的关注和研究,取得了不少进展。从技术角度来看,AI多视角三维场景检测技术的可行性较高,其主要原因如下:
(1) 多视角的场景信息可以提供更为全面和丰富的数据来源,从而有利于提高场景感知和检测的准确性和鲁棒性。
(2) 通过使用深度学习和神经网络等先进的人工智能技术,可以有效地处理和分析多维度、多模态的场景数据,进而实现更为精确和高效的场景检测。
(3) 现在计算机硬件性能的提升和云计算、分布式计算等技术的发展,为实现AI多视角三维场景检测提供了更为强大和灵活的计算资源和平台。
(4) AI多视角三维场景检测技术已经得到了广泛的应用和验证,例如在自动驾驶、无人机、安防监控等领域都有很好的表现和实践经验,进一步证明了其可行性和实用性。
此外,AI多视角三维场景检测技术的应用也存在着一些挑战和限制,例如多视角场景的数据采集和处理难度较大、算法的训练和优化需要大量的计算资源等。
对于AI多视角三维场景检测中的PETR方法,其利用了三维坐标的位置信息编码为图像特征,可以产生三维位置感知特征,从而实现了端到端的三维目标检测。通过深度学习和神经网络等技术的不断发展和进步,PETR方法的技术可行性已经得到了很好的验证和实践。此外,PETR方法需要大量的三维场景数据作为训练样本,在某些领域可能会存在一定的难度和挑战。但是,随着三维感知技术的不断发展和普及,获取和处理三维场景数据的成本和难度逐渐降低,因此数据可行性也在不断提高。PETR方法需要大量的计算资源来进行训练和优化,但随着计算机硬件性能的不断提升和云计算、分布式计算等技术的发展,计算资源的可行性也在逐渐提高。最后,PETR方法已经在自动驾驶、无人机、工业制造、建筑和城市规划、安防监控等领域得到了广泛的应用和实践。实际应用的经验表明,PETR方法在三维场景检测方面具有很好的效果和应用前景,因此其实际应用的可行性也较高。
数据类型 | 大规模的自动驾驶图片数据集 |
---|---|
大小 | 该数据集包含在波士顿和新加坡收集的1000个场景的3D边界框。每个场景长20秒,并以2Hz进行注释。这导致总共有28130个训练样本、6019个验证样本和6008个测试样本。 |
实例数 | 在整个数据集上以 2Hz 的频率使用精确的 3D 边界框注释了 23 个对象类别。此外,还注释了对象级属性,例如可见性、活动和姿势。 |
属性 | 该数据集具有完整的自动驾驶汽车数据套件:32 束激光雷达、6 个摄像头和雷达,具有完整的 360° 覆盖范围。3D 物体检测挑战评估 10 个类别的性能:汽车、卡车、公共汽车、拖车、工程车辆、行人、摩托车、自行车、交通锥和障碍物。 |
标签 | 用实例掩码和 2d 框标记了总共 93,000 张图像,用于 800k 前景对象和 100k 语义分割掩码 |
摘要 | nuTonomy 场景 (nuScenes),这是第一个承载全自动车辆传感器套件的数据集:6 个摄像头、5 个雷达和 1 个激光雷达,均具有 360 度全视野。 nuScenes 包含 1000 个场景,每个场景有 20 秒长,并用 23 个类和 8 个属性的 3D 边界框进行了完整注释。 它的注释数量是开创性的 KITTI 数据集的 7 倍,图像数量是其 100 倍。 我们定义了新颖的 3D 检测和跟踪指标。 我们还提供仔细的数据集分析以及基于激光雷达和图像的检测和跟踪的基线。 数据、开发工具包和更多信息可在线获取。 |
数据源 | https://www.nuscenes.org/;https://www.nuscenes.org/nuimages;https://www.nuscenes.org/nuscenes |
数据引用信息 | Caesar, Holger, et al. “nuscenes: A multimodal dataset for autonomous driving.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020. |
数据类型 | 自动驾驶车辆收集的高分辨率的视频图像 |
---|---|
大小 | 目前包含 1,950 个片段,每段 20 秒,以 10Hz(390,000 帧)在不同的地理位置和条件下收集传感器数据 |
组成 | 由两个数据集组成——具有高分辨率传感器数据和标签的 Perception 数据集,用于 2,030 个场景,以及具有物体轨迹和相应 3D 地图的 Motion 数据集,用于 103,354 个场景。 |
测试集 | 80 段 20 秒摄像头图像,作为 3D 摄像头检测挑战的测试集。 |
标签 | 4 个对象类别的标签 - 车辆、行人、骑自行车的人、标志;1,200 段激光雷达数据的高质量标签;12.6M 3D 边界框标签,在激光雷达数据上带有跟踪 ID;1,000 段相机数据的高质量标签;11.8M 2D 边界框标签,在相机数据上带有跟踪 ID |
摘要 | 一个新的大规模、高质量、多样化的数据集。新数据集包含 1150 个场景,每个场景跨越 20 秒,包括在一系列城市和郊区地理区域捕获的同步和校准的高质量 LiDAR 和相机数据。根据提出的多样性指标,它比可用的最大相机+LiDAR 数据集多 15 倍。用 2D(相机图像)和 3D(LiDAR)边界框详尽地注释了这些数据,并在帧间使用了一致的标识符。最后,为 2D 以及 3D 检测和跟踪任务提供了强大的基线。进一步研究了数据集大小和跨地域泛化对 3D 检测方法的影响。 |
数据源 | https://waymo.com/open/;https://github.com/waymo-research/waymo-open-dataset |
数据引用信息 | Sun, Pei, et al. “Scalability in perception for autonomous driving: Waymo open dataset.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020. |
数据类型 | 点云语义分割的大规模室外场景图片数据集 |
---|---|
大小 | 数据集由 22 个序列组成 |
类别 | 该数据集包含 28 个类,包括区分非移动对象和移动对象的类 |
训练 | 提供了23201 个用于训练的点云 |
测试 | 提供了20351 个用于测试的点云 |
属性 | 源自 KITTI Vision Odometry Benchmark,为所用汽车 LiDAR 的完整 360 视野扩展了密集的逐点注释 |
摘要 | 引入了一个大型数据集来推动基于激光的语义分割的研究。注释了 KITTI 视觉里程计基准的所有序列,并为所使用的汽车 LiDAR 的完整 360 视野提供了密集的逐点注释。基于这个数据集提出了三个基准任务:(i)使用单次扫描的点云语义分割,(ii)使用多次过去扫描的语义分割,以及(iii)语义场景完成,这需要预测语义场景未来。提供了基线实验,并表明需要更复杂的模型来有效地处理这些任务。数据集为开发更先进的方法打开了大门,同时也提供了丰富的数据来研究新的研究方向 |
数据源 | http://www.semantic-kitti.org/dataset.html;https://github.com/PRBonn/semantic-kitti-api;https://github.com/PaddlePaddle/Paddle3D |
数据引用信息 | Behley, Jens, et al. “Semantickitti: A dataset for semantic scene understanding of lidar sequences.” Proceedings of the IEEE/CVF international conference on computer vision. 2019. |
数据类型 | 图像注释数据集 |
---|---|
大小 | 39,179点云帧 |
注释 | 正面 RGB 图像中的 230K 人工标记 3D 对象注释 |
摘要 | 随着自动驾驶汽车在全球的日益普及,迫切需要具有挑战性的现实世界数据集来对各种计算机视觉任务(例如 3D 对象检测)进行基准测试和训练。 现有数据集要么代表简单的场景,要么只提供白天的数据。在文中,提出了一个新的具有挑战性的 A3D 数据集,它由 RGB 图像和 LiDAR 数据组成,具有显着的场景、时间和天气多样性。 该数据集由高密度图像(=10 倍于开创性的 KITTI 数据集)、严重遮挡、大量夜间帧(=3 倍于 nuScenes 数据集)组成,解决了现有数据集的差距,以推动 将自动驾驶研究中的任务边界转移到更具挑战性的高度多样化的环境中。 该数据集包含 39K 帧、7 个类和 230K 3D 对象注释。 针对高密度、白天/夜间等各种属性对 A3D 数据集进行广泛的 3D 对象检测基准评估,对在现实环境中训练和测试 3D 对象检测的优势和局限性提供了有趣的见解 |
数据源 | https://github.com/I2RDL2/ASTAR-3D |
数据引用信息 | Pham, Quang-Hieu, et al. “A 3D dataset: Towards autonomous driving in challenging environments.” 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020. |
数据类型 | 移动机器人和自动驾驶图像数据集 |
---|---|
类别 | • 十个对象类别的跟踪挑战:建筑物、天空、道路、植被、人行道、汽车、行人、骑自行车的人、标志/杆和栅栏; • 11 个类别:建筑物、树木、天空、汽车、标志、道路、行人、栅栏、电线杆、人行道和骑自行车的人 |
不同用途 | • 252 次(140 次用于训练,112 次用于测试); • 170 张训练图像和 46 张测试图像 |
属性 | 使用各种传感器模式记录的数小时交通场景,包括高分辨率 RGB、灰度立体相机和 3D 激光扫描仪。数据集本身并不包含语义分割 |
摘要 | 利用自动驾驶平台为立体、光流、视觉里程计/SLAM 和 3D 目标检测任务开发具有挑战性的新基准。记录平台配备了四个高分辨率摄像机、一个 Velodyne 激光扫描仪和一个最先进的定位系统。基准包括 389 个立体和光流图像对、39.2 公里长的立体视觉里程计序列,以及在杂乱场景中捕获的超过 20 万个 3D 对象注释(每个图像最多可以看到 15 辆汽车和 30 名行人) |
数据源 | https://www.cvlibs.net/datasets/kitti/ |
数据引用信息 | Geiger, Andreas, Philip Lenz, and Raquel Urtasun. “Are we ready for autonomous driving? the kitti vision benchmark suite.” 2012 IEEE conference on computer vision and pattern recognition. IEEE, 2012. |
数据类型 | 大型城市场景视频数据集 |
---|---|
大小 | 128k 的高分辨率图像 |
类别 | 涵盖 16 个场景,包括总共 136 km2 面积的大规模真实城市区域和合成城市 |
摘要 | UrbanScene3D,这是一个用于城市场景感知和重建研究的大型数据平台。 UrbanScene3D 包含超过 128k 的高分辨率图像,涵盖 16 个场景,包括总共 136 km2 面积的大规模真实城市区域和合成城市。 该数据集还包含高精度 LiDAR 扫描和数百个具有不同观察模式的图像集,为设计和评估空中路径规划和 3D 重建算法提供了综合基准。 此外,基于虚幻引擎和Airsim模拟器构建的数据集以及数据集中每个建筑物的手动注释的唯一实例标签,可以生成各种数据,例如2D深度图、2D/3D边界框 ,以及3D点云/网格分割等。具有物理引擎和照明系统的模拟器不仅可以产生各种数据,还可以让用户在拟议的城市环境中模拟汽车和无人机,以供未来研究 |
数据源 | https://vcc.tech/UrbanScene3D;https://github.com/Linxius/UrbanScene3D |
数据引用信息 | Lin, Liqiang, et al. “Capturing, reconstructing, and simulating: the urbanscene3d dataset.” Computer Vision–ECCV 2022: 17th European Conference, Tel Aviv, Israel, October 23–27, 2022, Proceedings, Part VIII. Cham: Springer Nature Switzerland, 2022. |
• Linux, Python==3.6.8,
• CUDA == 11.2,
• pytorch == 1.9.0,
• mmdet3d == 0.17.1,
• Pytorch 1.7.0,
多视图图像被输入到主干网络(例如 ResNet)以提取多视图 2D 图像特征。 在 3D 坐标生成器中,所有视图共享的相机平截头体空间被离散化为 3D 网格。 meshgrid 坐标由不同的相机参数转换,从而产生 3D 世界空间中的坐标。 然后将 2D 图像特征和 3D 坐标注入建议的 3D 位置编码器以生成 3D 位置感知特征。 从查询生成器生成的对象查询通过与 transformer 解码器中的 3D 位置感知功能的交互进行更新。 更新后的查询进一步用于预测 3D 边界框和对象类。
图2的(a)中,DETR对象查询与 2D 特征交互以执行 2D 检测。 (b) DETR3D 将生成的 3D 参考点重复投影到图像平面,并对 2D 特征进行采样以与解码器中的对象查询进行交互。 © PETR 通过将 3D 位置嵌入 (3D PE) 编码为 2D 图像特征来生成 3D 位置感知特征。 对象查询直接与 3D 位置感知功能交互并输出 3D 检测结果。
与 DETR3D 相比,所提出的 PETR 架构带来了许多优势。 它保持了原始 DETR 的端到端精神,同时避免了复杂的 2D 到 3D 投影和特征采样。 在推理期间,可以以离线方式生成 3D 位置坐标,并用作额外的输入位置嵌入。 实际应用起来相对容易一些。
PETR的空间转换方法取自论文DGSN,如图3所示。相机视锥空间用( u , v , d ) (u, v, d)(u,v,d)表示,其中u , v u,vu,v是图像的像素坐标,d dd是和像平面正交的深度。世界空间用( x , y , z ) (x, y, z)(x,y,z)表示,利用相机内参可以将相机视锥空间变换到3D世界空间:
由于NuScenes数据集有6个相机,PETR和DGSN的空间转换会有些差异。首先将相机视锥空间离散成大小为的三维网格,网格中的每一点可以表示成:
考虑有6个相机,不同相机之间会存在交叠区域,3D世界空间的一点可能位于多个相机的视锥空间中,那么相机i ii的视锥空间中的点j jj在世界空间中的坐标可以表示为:
通过相机内外参可以将相机视锥空间变换到世界空间:
其中是第个相机的变换矩阵(根据相机内外参计算得到)。
最后,根据给定的空间范围将世界空间的点进行归一化:
经由Backbone和3D Coodinates Generator得到2D图像特征及世界空间点:
经过MLP得到3D Position Embbeding,再和相加,得到3D感知特征:
其中N是相机的个数。最后将展开作为Transformer Decoder的输入。
为了说明3D PE的作用,从前视图像中随机挑选了3个像素点对应的PE,并计算这3个PE和其他所有视角图像PE的相似度,如图5所示。3D世界空间中左前方的一点理论上会同时出现在前视相机左侧和左前相机右侧,从第一行图像可以看出,PE相似度的确是符合这个先验认知的。所以可以证明3D PE的确建立了3D空间中不同视角的位置关联。
图5 3D PE相似度
PETR网络的后半部分基本就沿用DETR和DETR3D的配置:使用L LL个标准Transformer Decoder层迭代地更新object query;检测头和回归头都沿用DETR3D,回归目标中心相对于锚点的偏移量;分类使用focal loss,3D框回归使用L1 loss。
如下图6所示。referecne points经过inverse_sigmoid获得reference, 每层decoder都输出output,都有独立的reg和cls函数。没有进行对Δxyz进行迭代更新。
项目代码开源,分为多个PETR和PETRv2两个版本,其中PETRv2是一个统一的多视图图像 3D 感知框架。 基于 PETR,PETRv2 探索了时间建模的有效性,它利用先前帧的时间信息来增强 3D 对象检测。 3D PE 实现了不同帧对象位置的时间对齐。 进一步引入了特征引导的位置编码器,以提高 3D PE 的数据适应性。 为了支持高质量的 BEV 分割,PETRv2 通过添加一组分割查询提供了一种简单而有效的解决方案。 每个分割查询负责分割一个特定的 BEV 地图块。 PETRv2 在 3D 对象检测和 BEV 分割方面实现了最先进的性能。
项目开源地址:https://github.com/megvii-research/PETR
概述:
在本文中,我们提出了一种稳健的3D检测器,称为跨模态变换器(CMT),用于端到端的3D多模态检测。在没有显式视图变换的情况下,CMT将图像和点云标记作为输入,并直接输出精确的3D边界框。多模态标记的空间对齐是通过将3D点编码为多模态特征来执行的。CMT的核心设计非常简单,同时其性能令人印象深刻。它在nuScenes测试集上实现了74.1%的NDS(最先进的单模型),同时保持了更快的推理速度。此外,即使缺少激光雷达,CMT也具有很强的鲁棒性。
项目代码:
https://github.com/junjie18/CMT
论文pdf:
https://arxiv.org/pdf/2301.01283v2.pdf
OpenLane 是迄今为止第一个真实世界和规模最大的 3D 车道数据集。的数据集从公众感知数据集中收集有价值的内容,为 1000 个路段提供车道和最近路径对象 (CIPO) 注释。 简而言之,OpenLane 拥有 200K 帧和超过 880K 仔细注释的通道。
地址:
https://github.com/OpenDriveLab/OpenLane
评价:由于变换器解码器中使用了大量的多模态令牌和全局注意力,因此计算成本相对较大。为了解决这个问题,可能需要在两个方向上做出一些努力。第一个是减少多模式令牌的冗余。
概述:
在本文中,解决了从多视图图像中检测 3D 对象的问题。 当前基于查询的方法依赖于全局 3D 位置嵌入 (PE) 来学习图像和 3D 空间之间的几何对应关系。 我们声称直接交互 2D 图像特征与全局 3D PE 可能会增加学习视图转换的难度,这是由于相机外在因素的变化。 因此,提出了一种基于 CAMera 视图位置嵌入的新方法,称为 CAPE。 在局部相机视图坐标系而不是全局坐标系下形成 3D 位置嵌入,这样 3D 位置嵌入就不会编码相机外部参数。 此外,通过利用先前帧的对象查询和编码自我运动来增强 3D 对象检测,将CAPE 扩展到时间建模。 CAPE 在 nuScenes 数据集上的所有无 LiDAR 方法中实现了最先进的性能(61.0% NDS 和 52.5% mAP)。
项目代码:
https://github.com/kaixinbear/CAPE
https://github.com/PaddlePaddle/Paddle3D
论文pdf:
https://arxiv.org/abs/1606.09375
概述:
虽然最近的纯相机 3D 检测方法利用了多个时间步长,但它们使用的有限历史极大地阻碍了时间融合可以改善物体感知的程度。 观察现有作品对多帧图像的融合是时间立体匹配的实例,发现性能受到 1)匹配分辨率的低粒度和 2)有限产生的次优多视图设置之间的相互作用的阻碍 历史使用。 理论和实证分析表明,视图之间的最佳时间差异对于不同的像素和深度有显着差异,因此有必要在长期历史上融合许多时间步长。 在调查的基础上,从长期的图像观察历史中生成成本量,通过更优化的多视图匹配设置来补偿粗糙但有效的匹配分辨率。 此外,将用于长期、粗略匹配的每帧单目深度预测与短期、细粒度匹配相结合,发现长期和短期时间融合具有高度互补性。 在保持高效率的同时,框架在 nuScenes 上设置了新的最先进技术,在测试集上取得了第一名,并在验证集上以 5.2% 的 mAP 和 3.7% 的 NDS 优于之前的最佳技术。
训练代码和预训练模型以及项目代码:
https://github.com/divadi/solofusion
论文pdf:
https://arxiv.org/pdf/2210.02443v1.pdf