摘要
在本文中,我们提出了一种通过有效利用全局结构规律从单个图像获得紧凑而准确的 3D 线框表示的方法。
我们的方法训练卷积神经网络以同时检测显着连接点和直线,并预测它们的 3D 深度和消失点。 与最先进的基于学习的线框检测方法相比,我们的网络更简单、更统一,从而实现更好的二维线框检测。 借助来自并行性的全局结构先验,我们的方法进一步重建了完整的 3D 线框模型,这是一种适用于各种高级视觉任务(如 AR 和 CAD)的紧凑矢量表示。 我们对城市场景和真实图像的大型合成数据集进行了广泛的评估。 我们的代码和数据集已在 https://github.com/zhou13/shapeunity 上公开。
1. 介绍
从 RGB 图像中恢复场景的 3D 几何图形是计算机视觉中最基本也是最具挑战性的问题之一。 大多数现有的用于获取 3D 几何的现成商业解决方案仍然需要主动深度传感器,例如结构光(例如 Apple ARKit 和 Microsoft Mixed Realty Toolkit)或 LIDAR(在自动驾驶中很受欢迎)。 虽然这些系统可以满足特定用途的需求,但它们受到传感器的成本、范围和工作条件(室内或室外)的限制。 最终输出的表示通常是密集的点云,它们不仅内存和计算密集,而且可能包含由于透明度、遮挡、反射等引起的噪声和错误。
另一方面,传统的基于图像的 3D 重建方法,例如运动结构(SfM)和视觉 SLAM,通常依赖于局部特征。 尽管效率和可靠性一直在提高(例如,Microsoft Hololens、Magic Leap),但它们通常需要多个带有深度传感器的摄像头 [13] 以提高准确性。 最终的场景表示仍然是准密集点云,这些点云通常不完整、嘈杂且难以存储和共享。 因此,需要复杂的后处理技术,例如平面拟合 [11] 和网格细化 [14, 19]。 这种传统的表示方式难以满足手持相机、手机甚至无人机对高级 3D 建模、内容编辑和模型共享日益增长的需求。
与传统的 3D 几何捕捉系统不同,人类视觉系统不会将世界视为均匀分布的点。 相反,人类在利用几何显着的全局结构(例如线条、轮廓、平面和光滑表面)来感知 3D 场景方面非常有效、高效和稳健[1]。 然而,视觉算法从局部图像特征中检测和利用这种全局结构仍然具有挑战性,直到深度学习的最新进展使得从标记数据中学习高级特征成为可能。 这些示例包括检测平面 [29, 18]、表面 [9]、2D 线框 [12]、房间布局 [34]、网格拟合的关键点 [30, 28] 以及来自多个图像的稀疏场景表示 [5]。
在这项工作中,我们从学习到的线和交汇点特征推断全局 3D 场景布局,而不是像局部角一样的特征,如 SIFT [7]、ORB [21] 或线段 [10、4、23] 用于传统的 SfM 或视觉 SLAM 系统。 我们的算法学习检测一种特殊类型的线框,该线框由表示建筑物角落和边缘的连接点和线组成。 我们将我们的表示称为几何线框,并证明与某些全局先验(例如全局或局部曼哈顿 [2, 7, 23])一起,线框表示允许有效且准确地恢复场景的 3D 几何,即使是从单个输入 图片。 我们的方法训练神经网络来估计全局线和两种类型的深度连接点,并使用估计的深度和几何约束构建完整的 3D 线框。
以前,人们一直在努力尝试借助 SUNCG [24, 31] 等 3D 合成数据集来理解室内场景。 我们的工作针对具有各种几何形状和纹理的自然城市环境。 为此,我们构建了两个包含合成和自然城市场景的新数据集。 图 1 显示了重建的采样结果,图 2 显示了我们系统的完整管道。
本文的贡献。 与现有的线框检测算法(如 [12])相比,我们的方法
• 利用单个神经网络联合检测连接点、线、深度和消失点,利用这些几何结构之间的紧密关系;
• 学会区分两种类型的连接点:线和平面的物理交叉点“C 型连接点”,以及封闭的“T 型连接点”;
• 从单个 RGB 图像中检测到的线和连接点恢复场景的完整 3D 线框。

图1。列(a)显示了覆盖着groundtruth线框的输入图像,其中红点和蓝点分别表示C型和T型连接。列(b)显示了我们系统中预测的三维线框,带有灰度可视化深度。(c)列显示了(b)的备选视图。请注意,我们的系统可以恢复几何上突出的线框,而不受纹理线的影响,例如大本钟正面的垂直纹理图案
2. 方法
如图 2 所示,我们的系统从一个神经网络开始,该网络将单个图像作为输入并联合预测多个 2D 热图,从中我们矢量化线和交点,并估计它们的初始深度值和消失点。 我们称这个中间结果为 2.5D 线框。 使用从与先前相同的网络估计的深度值和消失点,然后我们将线框从 2.5D 图像空间提升到完整的 3D 世界空间。
2.1. 几何表示
在场景的几何线框 W = (V, E) 中,V 和 E ⊆ V × V 是连接点和线。 具体来说,E 代表来自两个平面的物理交叉点的线,而 V 代表 E 之间线的(物理或投影)交叉点。 与 [10, 12] 不同,我们的 E 完全排除了平面纹理线,例如图中大本钟的垂直纹理 1. 如此定义的 W 旨在捕捉全局场景几何而不是局部纹理细节。1 通过排除平面纹理线,我们可以将连接点分为两类。 令𝐽𝒗 ∈ {𝐶, 𝑇} 是𝒗 的结类型,其中每个结可以是C 结(𝐽𝒗 = 𝐶)或T 结(𝐽𝒗 = 𝑇)。 角 C 形接头是物理平面或边缘的实际交叉点,而 T 形接头是由遮挡生成的。 T 型连接(蓝色)和 C 型连接(红色)的示例可以在图 1 中找到。我们将它们表示为两个不相交的集合 V = V𝐶 ∪V𝑇 ,其中 V𝐶 = {𝒗 ∈ V | 𝐽𝒗 = 𝐶} 和 V𝑇 = {𝒗 ∈ V | 𝐽𝒗 = 𝑇}。 我们注意到 E 中 T 形结点的线数总是 1 而不是 3,因为 T 形结点不连接到 3D 中的两个前景顶点。 结点类型对于推断 3D 线框几何形状很重要,因为不同的 3D 先验将应用于每种类型。 2 对于每个 C 结点𝒗𝑐 ∈ V𝐶,将 𝑧𝒗𝑐 定义为顶点深度 空间。 对于每个咬合 T 形连接点𝒗𝑡 ∈ V𝑇,我们将𝑧𝒗𝑡 定义为背景中被遮挡线的深度,因为前景线深度总是可以从其他连接点恢复。 使用深度信息,由 C 形接头、T 形接

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



