Constructing Category-Specific Models for Monocular Object-SLAM
1 摘要
摘要 - 我们提出了一种用单目相机进行实时面向对象SLAM的新范例。与先前依赖于对象级模型的方法相反,我们从CAD集合构建类别级模型,这些模型现在可广泛使用。为了减少对大量标记数据的需求,我们开发了一种渲染途径,可以从有限数量的手动标记数据中合成大型数据集。使用这样合成的数据,我们学习3D中对象变形的类别级模型,以及2D中的判别对象特征。这些类别模型与实例无关,有助于设计对象标志 ,可以纳入通用单眼SLAM框架的观察结果。在典型的物体-SLAM方法通常仅解决物体和相机姿势的情况下,我们还可以即时估计物体形状,允许来自该类别的各种物体存在于场景中。此外,由于我们的2D对象特征是有区别地学习的,因此所提出的对象-SLAM系统在几种情况下成功
由于功能或视差不足导致基于稀疏特征的单眼SLAM失败。此外,建议的类别模型有助于对象实例检索,对增强现实(AR)应用程序很有用。我们在多个具有挑战性的真实场景中评估所提出的框架,并且据我们所知,展示独立于实例的单眼对象-SLAM系统的第一个结果以及它对基于特征的SLAM方法的好处
2 引言
同时进行定位和地图构建(SLAM)已经被发现各种实际应用,如自主导航,视觉检测,测绘和监视。 单目相机已经发展成为SLAM的流行选择,特别是在手持设备和微型飞行器(MAV)等平台上。 大多数最先进的单眼SLAM系统[1]对几何图元(如点,线和平面贴片)进行操作。 其他则直接在图像上操作,而不需要昂贵的特征提取步骤[2]。 然而,这两组方法都缺乏提供场景的丰富语义描述的能力。
识别并跟踪场景中的对象将使机器人能够构建有意义的地图和场景说明。 Object-SLAM是一个相对较新的范例实现这一目标,[3]-[5]。总而言之,对象-SLAM试图用扩充SLAM对象信息使机器人定位,对象定位估计(在某些情况下,也是对象姿态估计),和映射是在统一的框架中实现的。
在对象SLAM研究中有两种主要范例,取决于SLAM框架中对象的表征方式。在第一个范例[4],[6]中,假设对象级别(特定于实例)的模型可以预先获得。然而,具有尺度模糊性的单眼SLAM的性质以及由于投影到图像平面上而导致的信息损失使得这种范例对于单眼物体-SLAM系统是不可行的。第二种范式[7],[8]假设一个通用模型,无论对象类别如何。例如,[8]将所有对象建模为椭球,[5],[9]将所有对象建模为长方体。这两种方法都有一些缺点。依赖对象级模型将导致需要精确对象类别的所有实例的对象模型。另一方面,通用模型不会提供有关对象类别标签之外的对象的大量信息。例如,例如操纵的应用程序,知道对象姿势是有利的。
在本文中,我们提出了一种新的单眼对象SLAM模式,它结合了两个世界中最好的世界。 为了享受特定于实例的模型的表达能力,同时保留通用模型的简单性,我们构建了特定于类别的模型,即,对象类别被建模为整体。 我们使用广泛使用的线性子空间模型来表征一个对象类别,并将对象观察定义为SLAM因子图中的因子[13],[14]。 在我们的object-SLAM公式中,我们不假设任何关于对象的实例(可互换地称为形状)的知识。 相反,我们明确地在联合公式中求解对象形状。 object-SLAM后端估计机器人轨迹和地图,以及场景中所有对象的姿势和形状。
当然,人们会期望需要大量数据来学习特定于类别的模型,这些模型可以很好地概括对象实例,这是正确的。 ShapeNet,SceneNet,ObjectNet等数据集已经提供了各种对象类别的CAD集合。我们利用此类CAD集合的现成可用性来构建我们的类别模型。这些类别模型捕获3D中对象的变形模式。相应地,我们利用最近成功的卷积神经网络(CNN)进行关键点定位[10],[15] - [17]来训练2D对象特征提取器。为了减少对大量手动注释的训练数据的需求,我们设计了一个渲染管道,沿着RenderForCNN [18]的路线,为类别模型学习合成了大量的训练数据。所呈现的渲染管线接收少量的手动注释数据,并合成可用于有效训练2D对象特征提取网络的大数据集。我们表明,与仅通过真实数据学习的特征检测器相比,从渲染管道中学习的特征检测器更精确,这证实了[18]中的主张。
我们在多个具有挑战性的真实世界序列上评估我们的对象-SLAM系统,并在我们所知的情况下呈现实例独立的第一步在单眼对象-SLAM中。 由于我们在物体上使用有区别的2D特征,因此我们的系统对于诸如强旋转的条件是稳健的,在这方面单眼SLAM方法通常面临灾难性故障。 我们提供了对象SLAM管道的增量版本和批量版本,并在基于特征的可视SLAM方法上定性和定量地展示了它的优势[1]。 最后,我们展示了使用我们的类别级模型,可以执行对象实例检索,这可以在许多增强现实(AR)应用程序中用于覆盖场景中的对象模型。 图1说明了我们管道的输出。 物体始终嵌入到机器人的轨迹中,并渲染其3D模型。
3 相关工作
几乎所有最先进的SLAM系统[1],[2],[19]都依赖于姿势图(或其他因子图)优化[20],[21]。 在本节中,我们将回顾有关对象SLAM的相关工作, 并概述其中的某些限制,这些限制构成了所提议方法的激励因素。

  • A object-SLAM
    随着SLAM系统的最新进展和随后的稳定,社区一直致力于将对象纳入SLAM框架。对此,已经提出了面向对象SLAM的一些最新方法[3] - [5],[7] - [9]。
    这些成果大多依赖于RGBD或立体声传感器的深度信息[4] - [7]。在[4],[6]中,假设对象的实例级模型是先验已知的。在[4]中,将实时3D对象检测算法应用于RGB-D图像流,并且这些对象与姿势图优化方案中的测距信息一起融合。类似地在[6]中,提出了一种用于多机器人对象-SLAM的框架。同样,每个机器人都配备了RGB-D传感器,并且可以先验地获得物体模型。
    还有另一种范例,其中没有先验可用的实例级模型。在[5]中,在因子图框架中联合求解关联和对象姿势,使用RGB-D相机的数据。在单眼对象SLAM / SfM方法中,[8],[9]属于这种范式。在这种方法中,对象被建模为边界框[7],[9]或椭圆体[8]。
    因此,我们的方法属于第三种范式,假设是类别模型,而不是实例级模型。
  • B object-category model
    在过去的几年中,对象类模型已经应用于单眼视觉中的几个问题。 在[10] - [12]中,采用类别级模型从单个图像中获得对象重建。 这些方法表明,单眼成像过程中的信息损失可以通过整合属于特定类别的物体形状的先验信息进行补偿。
    我们使用这些类别模型并利用它们来设计可以轻松合并到单眼SLAM中的对象观察因子,并且还可以从类别中对多个实例进行概括,而无需对类别中的所有可能实例进行建模。
  • C keypoint localization using CNNS
    卷积神经网络(CNNs)是目标检测[22],[23]和对象关键点定位[15] - [17],[24]最近进展的驱动因素。
    当在GPU上运行时,这些CNN能够处理延迟大约100-300毫秒的图像帧,并形成我们管道的重要组件。
  • D Render Pipelines for Data Synthesis(对合成数据进行渲染的管道)
    随着[25]等CAD模型集的出现,3D数据现已大量涌现。 在[18]中,提出了在手动注释的真实图像上使用渲染引擎的合成图像作为训练的替代方案。 被训练用于对渲染数据进行对象视点预测任务的模型(随后在包括真实数据的较小数据集上进行微调)被证明优于仅在(较大的)真实数据集上训练的模型。 我们的实验也证实了这一事实对象关键点预测的任务。
    我们基于这里描述的几个组件构建,但是我们设计输出以创建对象因子,这些因子可以增加到使用单眼SLAM方法构建的因子图[13]。 整个管道总结在图2中,并在随后的章节中进行了解释。

    3 构建类别模型( CONSTRUCTING CATEGORY-SPECIFIC MODELS)
    在本节中,我们将描述我们在object-SLAM系统中使用的类别级模型。 我们的关键见解是来自同一类别的对象的形状不是随意的。 相反,它们都遵循可以通过检查多个实例来学习的设定模式。 我们采用广泛使用的线性子空间模型[10] - [12],[15]并将对象表示为3D线框。
  • A Category-Level Model
    在提出的方法中,我们强调:使用类别级模型而不是对象的实例级模型。 为了构建类别级别模型,首先将每个对象表征为在该类别的所有实例中共同的一组显著点的3D位置。例如,椅子类别的这些关节点可以是椅子的腿,椅子靠背的角落等等。这些点在该类别的所有实例中都很常见。 我们用S表示包含这些K突出点的3D位置的有序集合的3K向量,我们将其称为该对象类别的关键点。 我们在整个工作中使用的主题类别的关键点如图2所示
    根据线性子空间模型[10],类别的实际形状的空间被限制在 R 3 k R^{3k} R3k的低得多的维度子空间。这很容易看出,因为K关键点之间存在多个依赖关系,例如关键点的子集是平面的,对称的等等。然后可以使用形状参数(线性组合的系数)将任何对象表示为可以沿着线性独立方向(基础向量)变形的平均形状。在数学上,设 S ˉ \bar S Sˉ是类别的平均形状,并且 V i s V_is Vi​s是从PCA获得的对齐的有序3D CAD模型集合的变形基础(例如[25]),
    S = S ˉ + ∑ b = 1 B λ b V b = S ˉ + V Λ S=\bar S +\sum_{b=1}^{B}{\lambda_b V_b=\bar S+V \Lambda } S=Sˉ+b=1∑B​λb​Vb​=Sˉ+VΛ
    其中B是基矢量的数量(PCA之后的前B个本征矢量)。 这里,V表示学习的3K×B变形模式.Λ是包含变形系数的K向量。改变变形系数从学习的形状子空间产生各种形状,如图2所示(面板:类别水平形状Priors)。
  • B Discriminative Feature Extraction
    由于我们的类别级模型依赖关键点类别,我们需要可靠的判别特征提取器在2D图像中本地化相应的关键点。
    同样,我们采用[17]中介绍的堆叠沙漏模型,随后在[15]中进行了修改。
  • C Render Pipeline
    渲染3D类别级别模型的管道:首先,我们选择一组椅子的CAD模型,包括从ShapeNet [25]存储库中抽取的约250把椅子。对于每个椅子,我们合成一些(通常是8个)具有预定视点(方位角,仰角和摄像机倾斜角度)的2D图像。 然后手动地对这些图像中的关键点进行注释(在2D中),然后将其三角化为3D以获得CAD模型上的3D关键点位置。
    由于已假设模型已对齐,因此对(平均减去的)3D关键点位置执行主成分分析(PCA)会导致变形基础(从PCA获得的特征向量)。 这构成了类别级模型学习阶段。




    渲染管道以进行2D特征提取
    为了训练2D特征提取器,我们使用3D关键点带注释的CAD模型来合成2D图像,并使用Blender [26]作为渲染引擎。 除了使用RenderForCNN [18]框架随机采样视图参数并生成具有重叠背景的2D图像之外,我们还使用相同的视图参数执行3D关键点到2D的投影,以获得用于训练堆叠沙漏架构的2D关键点注释[ 15] - [17]用于关节点定位。
    渲染管道的优点
  • 只需要2D注释。 3D CAD模型的注释需要昂贵的标签工作。 但是,我们对一小组渲染的2D图像执行注释,并将它们三角化为3D。
  • 即使对于遮挡部分,也可以使用关键点注释。 这是通过实际数据训练的关键点定位架构的一个主要缺点。 由于对于被遮挡部分的关键点位置没有可靠的估计,因此这些标记不存在于PASCAL3D +等数据集中的基础事实中[27]。我们证明了由于封闭关键点位置的可用性,
  • 我们的模型表现更好,仅使用少量标记数据,我们可以为关键点定位CNN生成数百万个培训练实例。
    开发的渲染管道概述如图2所示。
    4 OBJECT MEASUREMENT FACTORS USING CATEGORY-MODELS

Constructing Category-Specific Models for Monocular Object-SLAM(阅读笔记)相关推荐

  1. CubeSLAM: Monocular 3D Object SLAM 论文笔记

    CubeSLAM: Monocular 3D Object SLAM 论文笔记 摘要 提出了一种静态和动态环境下单幅图像3D长方体目标检测和多视点目标SLAM的方法,并证明了这两个部分是相互促进的. ...

  2. Learning to Track with Object Permanence阅读笔记

    Learning to Track with Object Permanence阅读笔记 (一) Tilte (二) Summary (三) Research Object (四) Problem S ...

  3. Mutual Graph Learning for Camouflaged Object Detection阅读笔记

    CVPR 2021 Qiang Zhai, Xin Li, Fan Yang, Chenglizhao Chen, Hong Cheng, Deng-Ping Fan https://arxiv.or ...

  4. 【2D多目标跟踪】Quasi-Dense Similarity Learning for Multiple Object Tracking阅读笔记

    1.为什么要做这个研究(理论走向和目前缺陷) ? 之前的2D MOT里只用gt样本训练(基本沿用reid的训练所用的损失)embedding特征(记为reid特征).但是GT样本是稀疏的,没有充分利用 ...

  5. Bilateral attention network for RGB-D salient object detection阅读笔记

    IEEE 2021 Zhao Zhang; Zheng Lin; Jun Xu; Wen-Da Jin; Shao-Ping Lu; Deng-Ping Fan 论文地址 一.简介 提出了双边注意模块 ...

  6. Camouflaged Object Detection阅读笔记

    CVPR 2020 Deng-Ping Fan, Ge-Peng Ji, Guolei Sun, Ming-Ming Cheng, Jianbing Shen, Ling Shao https://o ...

  7. D2C-Net: A Dual-branch, Dual-guidance and Cross-refine Network for Camouflaged Object Detection阅读笔记

    IEEE Transactions on Industrial Electronics 2021 Kang Wang; Hongbo Bi; Yi Zhang; Cong Zhang; Ziqi Li ...

  8. Uncertainty-aware Joint Salient Object and Camouflaged Object Detection阅读笔记

    CVPR2021 Aixuan Li,Jing Zhang,Yunqiu Lv,Bowen Liu,Tong Zhang,Yuchao Dai https://arxiv.org/abs/2104.0 ...

  9. Depth-Guided Camouflaged Object Detection阅读笔记

    arXiv 2021 Jing Zhang, Yunqiu Lv, Mochu Xiang, Aixuan Li, Yuchao Dai, Yiran Zhong 论文地址 一.简介 探索深度信息对伪 ...

最新文章

  1. SQLite的sqlite_sequence表
  2. android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出
  3. 上下文保存 中断_Linux性能优化(CPU篇)(5)——CPU的上下文切换有几种类型?什么是进程上下文切换?...
  4. P1314 聪明的质监员(前缀和+二分)
  5. android 弹窗in,Android监听程序处于INACTIVITY(未操作状态)时间并作出相应的操作
  6. 前端学习(3312):redux的正确构建
  7. 二级指针、数组指针、二维数组、指针数组作为函数形参时可传入的实参
  8. IDEA常用快捷键大全
  9. RTX5 | 信号量01 - 信号量的使用
  10. Wix 安装部署(五) Bootstrapper 捆绑安装
  11. 【web前端干货】JavaScript是什么?JavaScript有哪些特点?
  12. Ant 基本语法的使用示列
  13. 验证方式二 html标签验证码,Django标签、转义及验证码生成
  14. 数组按照字母顺序排序
  15. 对话甲乙丙丁CEO阮成瑜:要做产业互联网标杆,和新零售探路者
  16. 基于vue-cli3的vue项目 通过postcss-pxtorem 实现px自动转换成rem
  17. JAVA架构之路(二)
  18. go 及GoLand 环境安装
  19. Python绘制Mandelbrot Set与Julia Set
  20. 桌面运维用到的网站(转载)

热门文章

  1. android开源修图软件,PicsArt修图
  2. Eureka如何实现自我保护机制
  3. android 标签样式布局,安卓 Tab 标签-利用 TabHost、TabWidget、FrameLayout 啰里八嗦实现 Tab 标签控件...
  4. Python实现钱龙长线(LON)指标
  5. 【PRUNING FILTERS FOR EFFICIENT CONVNETS】半译笔记
  6. HCIP WPN实验
  7. android最新版本馅饼,Android 9.0曝光 新代号或是馅饼 新增功能怒赞!
  8. coursera 吴恩达 -- 第一课 神经网络和深度学习 :第二周课后习题 Neural Network Basics Quiz, 10 questions
  9. layui 翻页记住选择
  10. 运营笔记:微信加粉没效果,看看你哪里做错了!