论文标题:NeRF-RPN: A general framework for object detection in NeRFs
代码:https://github.com/lyclyc52/NeRF_RPN
图1:在NeRF上的 Region proposal 结果
视频演示效果:https://www.youtube.com/watch?v=M8_4Ih1CJjE
NeRF: 火爆科研圈的三维重建技术大揭秘:https://zhuanlan.zhihu.com/p/559025481
NeRF(Neural Radiance Fields神经辐射场)最早是在2020年ECCV会议上的最佳论文中提出的概念,其将隐式表达推上了一个新的高度,仅用2D的posed images作为监督,即可表示复杂的三维场景。
导读
NeRF RPN:NeRF中第一个用于对象检测的通用框架,它将RPN引入到NeRF中,用于3D对象检测和相关任务。
NeRF数据集:基于现有的合成室内数据集Hypersim和3D-FRONT&3D-FUTURE,以及为NeRF训练精心策划的真实世界室内数据集 ScanNet,首个用于3D对象检测的大型公共室内NeRF数据集中。
这篇论文提出了一个基于NeRF的通用目标检测框架NeRF-RPN,它在 NeRF 的基础上进行了直接操作。NeRF-RPN的目标是在给定的3D场景中检测所有物体的边界框,而这些场景是通过从RGB图像和相机姿态学习而来的,而不需要3D点云或RGBD图像。本文还引入了一个新的大规模室内NeRF数据集,为NeRF-RPN的训练提供了强大的基础。
本文贡献
首次尝试将RPN引入到NeRF中进行3D目标检测:这篇论文是首次重要尝试,将区域建议网络(RPN)引入到从多视图图像中训练的NeRF模型中,以直接进行3D目标检测以及相关任务。这一创新的方法为NeRF技术的进一步应用拓展了新的领域。
大规模室内NeRF数据集:为了支持NeRF-RPN的训练和研究,作者创建了一个大规模的室内NeRF数据集。这个数据集基于现有的合成室内数据集(Hypersim和3D-FRONT)以及真实室内数据集(ScanNet和SceneNN)构建而成,以用于NeRF模型的训练。这个数据集将有助于更好地理解室内环境中的目标检测问题。
NeRF-RPN的实现和比较:作者实施了NeRF-RPN框架,并对不同的骨干网络、检测头设计和损失函数进行了比较。他们的模型在2个NVIDIA RTX3090 GPU上可以在4小时内训练完成,并且在运行时能够在115毫秒内(不包括后处理)处理给定的NeRF场景,同时在 3D-FRONT NeRF数据集上实现了99%的召回率。这些结果表明了NeRF-RPN的高效性和性能优势。
演示3D目标检测及相关应用:作者还展示了如何在NeRF上进行3D目标检测以及其他与NeRF-RPN相关的应用。这些应用展示了NeRF技术在计算机视觉和三维场景理解领域的潜力和实际应用。
本文方法
NeRF-RPN的整体结构如图2所示。
NeRF-RPN方法由两个主要组件构成:
特征提取器(Feature Extractor): 这个组件接受从NeRF中采样的辐射和密度数据网格作为输入,并生成一个特征金字塔作为输出。这个特征提取器的作用是从NeRF表示中提取有用的特征,以供后续的目标检测任务使用。
RPN头部(RPN Head): 这个组件操作在特征金字塔上,并用于生成 object proposals。在RPN头部的操作中,会产生物体的候选框(object proposals),这些proposals 可以随后被提取和用于进行下游任务的处理。这一步骤非常关键,因为它确定了潜在的目标位置。
1. Input Sampling from NeRF:NeRF的输入采样
论文假设已经提供了一个完全训练的NeRF模型,且该模型质量合理。这个NeRF模型用于表示场景的辐射和密度场。
辐射和密度采样: 第一步是均匀采样NeRF模型的辐射和密度场,以构建一个特征体积。虽然存在不同类型的NeRF变种,其辐射场的表示或结构可能不同,但它们共享一个属性,即可以使用视图方向和空间位置来查询辐射和密度。因此,该方法的输入采样过程与具体的NeRF结构无关。
采样方法: 作者使用均匀采样方法,在覆盖了NeRF模型的可追踪体积的3D网格上进行辐射和密度的采样。这个可追踪体积由包含场景中所有相机和物体的边界框轻微扩大而确定。在每个维度上的网格分辨率与该维度中可追踪体积的长度成比例,以保持物体的纵横比。
对于不同NeRF模型的处理:
对于将纯RGB作为辐射表示的NeRF模型,采样使用与NeRF训练中的相机姿态相匹配的视图方向,并对结果进行平均。
如果相机姿态未知,则从一个球体上均匀采样方向。
每个采样可以用(r, g, b, α)表示,其中(r, g, b)是平均辐射,α是从密度σ转换而来:
对于采用其他基函数作为辐射表示的NeRF模型:可以使用计算出的RGB值或基函数的系数作为辐射信息,具体取决于下游任务的需求。
2. Feature Extractors:特征提取
特征金字塔生成:给定原始数据网格,特征提取器将生成特征金字塔。论文在实验中采用了三个主干网:VGG[54]、ResNet[18]和Swin Transformer[30],但其他主干网也可能适用。
考虑物体尺寸变化和场景尺度差异:考虑到室内NeRF场景的目标大小的巨大变化以及不同NeRF场景之间的尺度差异,论文结合了FPN[24]结构来生成多尺度特征,并增强高分辨率特征量中的高级语义信息。
网络层的适应:对于VGG、ResNet和FPN层,将所有2D卷积、池和归一化层替换为其3D对应层。对于Swin Transformer,论文相应地采用了3D位置嵌入和移动窗口。
3. 3D Region Proposal Networks(3D RPN)
3D区域建议网络(3D RPN)接受来自特征提取器的特征金字塔作为输入,并输出一组带有相应物体性质分数的定向边界框(OBB,oriented bounding boxes)。
与大多数3D目标检测方法一样,作者将边界框的旋转限制在仅绕z轴旋转(偏航角),这与重力向量对齐并垂直于地面。这种约束简化了问题并降低了计算复杂性。
作者尝试了两种类型的区域建议方法:基于锚点的方法和不基于锚点的方法,如图3:
基于锚点的3D RPN头部(Anchor-Based 3D RPN Head): 锚点(anchors)被放置在特征金字塔的不同级别和体素中,然后通过一系列的3D卷积层和1x1x1 3D卷积层来预测物体的存在概率和边界框偏移。这些预测结果将用于生成 object proposals。
不基于锚点的3D RPN头部(Anchor-Free 3D RPN Head): 不基于锚点的目标检测方法不使用锚点与实际目标边界框之间的IoU(Intersection over Union)计算,因此在特定问题范围内(例如,图像的前景-背景分割)可以更加高效。
总体的目标函数如下:
4. 其他损失函数
Objectness Classification
2D Projection Loss
NeRF数据集
作者基于 Hypersim和3D-FRONT等合成数据集,创建了第一个用于3D物体检测的NeRF数据集。除了这些合成数据集,论文还结合了SceneNN[19]和ScanNet[5]的真实世界数据集的子集,以证明本文的方法对真实世界数据具有鲁棒性。图5显示了一些选定示例。表 1 总结了作者的NeRF数据集的一些关键统计信息
实验
实验结果
不同模型配置在各种NeRF数据集上的实验结果:
模型在不同场景中检测到的3D边界框。:
失败案例展示:糟糕的NeRF重建可能会严重影响预测结果
消融实验
不同特征提取骨干和RPN头组合的性能:
bounding box 回归损失
结论
本文提出了首个针对NeRF的重要3D物体检测框架NeRF-RPN通过在不同的骨干网络(VGG、ResNet、Swin Transformer)以及基于锚点和不基于锚点的RPN头以及多种损失函数上进行全面实验,论文验证了NeRF-RPN可以直接从NeRF中回归出高质量的边界框,而无需在任何视角从NeRF中渲染图像。为了促进未来在NeRF中进行的3D物体检测研究,论文构建了一个新的基准数据集,其中包括合成和真实世界的数据,具有高质量的NeRF重建和谨慎的边界框标注和清理。
☆ END ☆
如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。
↓扫描二维码添加小编↓