📜 论文阅读 | Quadric SLAM:以目标检测获得的对偶二次曲面为面向物体 SLAM 的路标
文章目录
Quadric SLAM:以目标检测获得的对偶二次曲面为面向物体 SLAM 的路标
Nicholson L, Milford M, Sünderhauf N. Quadricslam: Dual quadrics from object detections as landmarks in object-oriented slam[J]. IEEE Robotics and Automation Letters, 2019, 4(1): 1-8.
关于作者:
昆士兰科技大学澳大利亚机器人视觉中心
一作:Lachlan Nicholson 谷歌学术
二作:Michael Milford(Rat SLAM 的提出者) 谷歌学术
三作:Niko Sünderhauf (Suenderhauf)(感觉这个更大佬) 谷歌学术 个人主页
关于期刊:
IEEE Robotics and Automation Letters(RAL) 2015 年 6 月新创刊目前仅有电子刊,属于 IEEE RAS(国际机器人与自动化协会),2019 年 ICRA 投稿的两种方式一种是直接投给 ICRA,一种是通过 RAL 同时投稿,所以质量应该不错。
关于文章(这篇文章有好多个版本或相关研究):
2018 年 ICRA Best workshop paper award
2017 年的版本(理论):https://arxiv.org/pdf/1708.00965.pdf
An Orientation Factor for Object-Oriented SLAM:https://arxiv.org/abs/1809.06977
作者建的一个面向物体的 SLAM,主页:SemanticSLAM.ai
演示视频:https://www.youtube.com/watch?v=w1-INFCpc20
Quadric SLAM: Dual Quadrics from Object Detections as Landmarks in Object-oriented SLAM
【C】. 穷理以致知,一文而四问
- 1. 针对什么问题?
- 在 SLAM 系统中如何同时估计运动轨迹和目标检测,并创建语义上有意义(object-oriented) 的地图。
- 2. 采用什么方法?
- 首先初始化两个观测量:相机位姿和二次曲面参数(通过对偶二次曲面的等式匹配性质得到旋转、平移和形状),同时联立多视图的观测 SVD 分解将物体目标参数化为封闭的对偶二次曲面,并作为透视相机模型中的路标;
- 创建目标检测的传感器模型:估计的二次曲面参数通过相机位姿的投影得到对偶二次曲线,再通过共轭关系得到原始二次曲线,最后通过 BBox 算法得到准确的二次曲线边界框;
- 最后创建基于里程计观测和目标检测观测的因子图 SLAM 公式,从而联合估计相机位姿和二次曲面参数。
- 3. 达到什么效果?
- 目标检测的二次曲面路标为 SLAM 系统提供了高级别的语义信息,同时 SLAM 系统有效地整合了稀疏和易失性的单视图目标检测,以便在连续帧上提供一致的类标签和物体形状;
- TUM RGB-D 数据集下与两个里程计方法(Fovis 和 ORB-VO)比较:基于二次曲面路标的 Fovis 比原始 Fovis 提升明显;基于二次曲面路标的 ORB-VO 比原始 ORB-VO 提升不明显(在剔除了高边界框标准差物体之后略有提升);
- 用 UnrealCV 生成仿真环境:基于二次曲面路标的 SLAM 比原始里程计和 SVD 分解方法在轨迹、路标位置、形状和整体路标质量上都有较大的提升;
- 本文使用的几何误差比前期工作使用的代数误差效果更显著;
- 4. 存在什么不足?
- 在一些视角有限、观察次数较少的路标上容易将路标初始化在相机的后面;
- 目标检测产生的可能错误的语义信息;
- 通过检测框标准差剔除了一些不稳定的目标,但未对语义上错误的匹配进行剔除和约束;
0. 摘要
- 使用来自多视图的 2D 目标检测来同时估计每个对象的 3D 二次曲面和相机的位置;
- 推导了一种使用对偶二次曲面作为 3D 路标的 SLAM 公式,利用它们紧凑地表示物体的大小、位置和方向,并展示 2D 目标检测如何通过新颖的几何误差公式直接约束二次曲面参数;
- 开发了一种用于物体探测的传感器模型,用于解决物体只有部分可见的困难情形,并演示了如何使用普通的透视相机在基于因子图的 SLAM 中联合估计相机位姿和约束对偶二次曲面参数。
1. 介绍
- 背景:于卷积神经网络的“重生”,基于视觉的物体检测的性能已经取得了令人瞩目的进步,文献 [1~8] 提高了 CNN 物体检测的质量;
- 最近的方法甚至在标准化的 ImageNet ILSVRC 基准测试中达到了人类的表现 [9] ,并继续推动其他基准测试的性能界限,如 COCO [10] 。
- 问题:但 SLAM 研究领域还没有完全采用这种新的技术的来创建具有意义的地图,传统的 SLAM 地图只表示几何信息,不直接携带对相机的语义信息;
- 具有语义信息的 SLAM 系统能增加机器人了解周围世界的丰富程度,从而增强机器人与世界交互的范围和复杂程度。
- 方法:在语义上有意义的地图应该是面向对象的,对象直接作为地图中的中心实体;
二次曲面 Quadrics:诸如椭球之类的 3D 表面可以作为面向对象的语义地图的路标,如图 1 所示;- ① 与更复杂的对象表示形成对比,例如截断的有符号距离场 [11] ,二次曲面具有非常紧凑的表示,并且可以在投影几何的框架内有效地操纵;
- ② Quadrics 捕获有关对象的大小,位置和方向的信息,并且可以在必要时用作更详细的 3D 重建的锚点;
- ③ 从集成的角度来看,它们也具有优势:在对偶(dual)形式中,可以直接从物体检测边界框构建二次曲面,并方便地将其结合到基于因子图的SLAM公式中。
- 前期工作 [14] 的不足:仅使用对偶二次曲面作为路标建图的参数,仅限于正交相机 [15] 或使用代数误差,当路标仅部分可见时,该代数误差则无效 [16] ;
- 在本文中,通过一般透视相机和更强大的几何误差执行完整的 SLAM;
- 此外,之前的工作 [14,15] 需要椭圆拟合作为预处理步骤,本文展示了可以从边界框直接在 SLAM 中估计双二次曲面。
- 主要贡献:
- 首先展示如何将 SLAM 中的对象路标参数化为约束对偶二次曲面;
- 然后证明了视觉目标检测系统(如 YOLO v3 [12] )可以视为 SLAM 中的一种传感器,并且检测器的观测(目标周围的边界框)可以通过新的几何误差测量公式直接约束成对偶的二次曲面参数;
- 为了将二次曲面结合到 SLAM 中,本文推导了基于因子图的 SLAM 公式,该公式在假设数据关联的情况下联合估计对偶二次曲面和机器人的位姿参数;
- 通过高保真模拟环境使用 250 个室内轨迹进行大规模评估,结合 TUM RGB-D [13] 数据集上的实际实验,展示了目标检测和对偶二次曲面参数化如何有助于 SLAM 解决方案。
2. 相关工作
- 下面讨论在最先进的建图系统中使用语义上有意义的路标表示,并详细介绍利用二次曲面作为对象表示的现有文献。
2.1 SLAM 中的地图和路标表示
- 当前大多数 SLAM 系统将环境用不同几何点的集合来表示为路标,比如 ORB-SLAM;
- 直接法 [19,20] SLAM 也会产生点云图,尽管比此前的特征点法相对更稠密;
- 还有一些探索高阶的几何特征,比如线段 [21] 和平面 [22] 。
- 基于几何 SLAM 的共性是没有利用到语义信息,一个例外是 SLAM++ [23];
- 这项工作提出了一种面向对象的 SLAM 系统,它使用诸如椅子和桌子之类的真实世界物体对象作为地标而不是几何元素;通过匹配已知对象实例的3D模型在RGB-D数据中检测到这些对象;
- 与 SLAM++ 相比,本文提出的方法不需要先验已知的对象 CAD 模型,而是使用 YOLOv3 目标检测工具。
- SemanticFusion [24] 最近展示了如何通过语义信息丰富 SLAM 获得稠密地图;
- 这项工作和其他类似的论文如 [25],在创建地图后将地图语义添加到地图中,并且没有充分利用几何和语义之间的关系;
- 地图不是以对象为中心的,而是密集的点云,其中每个点都带有语义标签或标签上的分布;
- 本文方法使用物体对象作为 SLAM 系统内的路标,得到的地图由编码为二次曲面的对象组成。
2.2 对偶二次曲面作为路标表示
- 作者前期工作 [14,15] 研究了物体检测和对偶二次曲面之间的联系,文献 [15] 提出了一种从封闭形式的物体检测中估计对偶二次曲面参数的方法;
- 但他们的方法仅限于正交相机,而我们的方法适用于透视相机,因此更通用并且适用于机器人场景;此外还需要在每个检测到的物体周围进行椭圆拟合步骤;
- 本文方法可以通过目标检测算法(比如 Faster R-CNN,SSD,YOLO v3)直接估计相机位姿和二次曲面参数。
- 作为文献 [15] 的延伸,文献 [14] 描述了一种从多视图目标检测中恢复对偶二次曲面参数的封闭式方法,这种方法可以处理透视相机,但不能解决相机姿势参数,只有在已知相机位姿的情况下执行路标建图;
- 本文方法执行完整的 SLAM,同时解决相机位姿估计、路标估计和形状参数估计的问题,与文献 [14,15] 相同,也需要首先将椭圆拟合到边界检测框。
- 作者在文献 [16] 的因子图 SLAM 中探索了使用对偶二次曲面作为路标的初始思想;
- 这篇未发表的前期工作提出了一种代数误差公式,在目标仅部分可见的情况下被证明是不稳定的;
- 在本文中提出一种新的几何误差公式来克服物体部分可见的情况;与文献 [16] 相比,本文将二次曲面路标约束为椭球,正确地初始化它们,并在高保真的模拟环境和真实世界的图像序列中进行大尺度评估。
3. 对偶二次曲面(Dual Quadrics)的定义
- 这一节主要介绍对偶二次曲面的一些基本概念,在本文和相关工作中是必需的,可以参考投影几何的教科书(比如多视图几何)。
3.1 对偶二次曲面 Dual Quadrics
- 二次曲面是三维空间中的表面,由 4 * 4 的对称矩阵 Q 表示;
在对偶的形式中,二次曲面由一组切向平面定义:- 这种对偶二次曲面 Q* 被定义为:使得所有平面 \(\pi\) 满足 \(\pi ^{T}Q^{*} \pi = 0\);
- 二次曲面的示例有球体,椭圆体,双曲面,圆锥体或圆柱体;
- 二次曲面具有 9 自由度的位姿,对应于对称矩阵的 10 个独立元素减去一个尺度元素;
- 可以用一个含有 10 个元素的向量 \(\hat{q} = \left ( \hat{q_{1}},\cdots ,\hat{q_{10}} \right )\) 表示一个一般的二次曲面,其中每个元素对应于对称矩阵 Q* 的 10 个独立元素之一.
- 当对偶二次曲面投影到平面上时,会根据简单的规则 \(C^{*} = P Q^{*} P^{T}\) 来创建一个对偶二次曲线(conic);
- 其中 \(P = K\left [ R|t \right ]\) 是一个包含相机内参和外参的投影矩阵;
- 二次曲线是二次曲面的二维投影,形状如圆、椭圆或双曲线
3.2 约束对偶二次曲面参数化
- 一般形式中,对偶二次曲面既可以表示闭合表面(如球体,椭圆体),也可以表示非闭合表面(如抛物面,双曲面);
- 由于前者才能作为有意义的路标表示,本文使用约束对偶曲面来表示椭球或球体的闭合表面。
- 与文献 [14] 类似,将对偶二次曲面参数化为:
- 其中 Z 是一个可以表示任意旋转和平移的齐次变换。
- 在后面将用 9 元素的向量 \(q = \left ( \theta _{1},\theta _{2},\theta _{3},t_{1},t_{2},t_{3},s_{1},s_{2},s_{3}, \right )^{T}\) 紧凑地表示约束双重二次曲面,并重建如公式(1)定义的所有对偶二次曲面。
4. 基于图像目标检测的传感器模型
4.1 目的
- 目的是希望能将先进且成熟的目标检测库作为一种传感器测量集成到 SLAM 系统中;
- 因此需要先建立传感器模型,在给定估计的相机姿态 \(x_{i}\) 和估计的地图结构(即二次曲面参数 \(q_{j}\) )的情况下预测物体检测器的观测结果;
- 这种传感器模型通常相对简单,但当使用点特征、激光扫描和占用网格地图时,目标检测器的传感器模型会更复杂。
- 目标检测器的观测包括:约束图像尺寸的轴对称的边界框和每个检测到的目标的离散标签分布;
- 在本文中关注边界框,它可以表示为四条线的集合 \(I_{k}\) 或一个包括边界框左上角和右下角像素坐标的向量 \(b = \left ( x_{min},y_{min},x_{max},y_{max} \right )\) ;
- 需要找到传感器模型 \(\beta \left ( x_{i},q_{j} \right ) = \hat{b_{ij}}\) 的一个映射关系,从相机位姿 \(x_{i}\) 和二次曲面 \(q_{j}\) 映射到观测的边界框观测 \(\hat{b_{ij}}\) 。
- 这种传感器模型允许我们在预测和观测到的物体检测之间产生几何误差,这是整个 SLAM 的关键组成部分,如第五节所示。
4.2 推导目标检测传感器模型 β
- 推导传感器模型 \(\beta \left ( x_{i},q_{j} \right ) = \hat{b_{ij}}\)
- 根据公式 \(C_{i,j}^{*} = P_{j}Q_{\left ( q_{j} \right )}^{*} P_{i}^{T}\)(其中 \(P = K\left [ R|t \right ]\) 是一个包含相机内参和外参的投影矩阵), 利用相机位姿 \(x_{i}\) 将估计的二次曲面(由 \(q_{j}\) 参数化)投影到图像中,得到对偶二次曲线 \(C^{*}\) 之后通过共轭(adjugate)获取原始的投影二次曲线 \(C\) 。
- 一个原始的传感器模型可以简单地计算二次曲线 C 的封闭边界框并裁剪该框以适应图像;
- 但是如图 2a 所示,当二次曲线的极值位于图像边界之外时会带来显著的误差。
- 精确的传感器模型需要知道二次曲线和图像边界之间的截面点;
- 对目标检测器边界框的正确预测是最小的轴对齐矩形,它框出仅在图像尺寸区域内包含的所有圆锥曲线,如图 2b;
- 将正确的二次曲线边界框定义为:\(\texttt{BBox}\left ( C \right )\);
- 整个传感器模型定义为:
4.3 计算在图像区域内(On-Image)的二次曲线边界框
- 用以下 \(\texttt{BBox}\left ( C \right )\) 算法计算正确的在图像区域内的二次曲线边界框:
- ① 找到二次曲线 C 上的四个极值点,即分别表示 x 和 y 分量上的最大和最小值点 \(\left ( \mathbf{p}_{1},\mathbf{p}_{2},\mathbf{p}_{3},\mathbf{p}_{4} \right )\);
- ② 找到二次曲线与图像边界的交点(最多 8 个)\(\left ( \mathbf{p}_{5},\cdots ,\mathbf{p}_{12} \right )\);
- ③ 剔除集合 \(\left ( \mathbf{p}_{1},\cdots ,\mathbf{p}_{12} \right )\) 中所有的非实数点和所有在图像边界线外的点;
- ④ 得到剩余点中在 x 和 y 分量上的最大和最小值点 。
- 算法 \(\texttt{BBox}\left ( C \right )\) 执行上述步骤,并返回向量 \(\hat{b}\),正确地描述了一个包围了图像可见部分的二次曲线的边界框。
5. 基于对偶二次曲面路标的 SLAM
5.1 一般问题设置
- 在连续两个位姿 \(x_{i}\) 和 \(x_{i+1}\) 之间有里程计测量 \(u_{i}\) :\(x_{i+1} = f\left ( x_{i},u_{i} \right )+w_{i}\);
- 其中 f 通常是非线性函数,代表机器人的运动模型;
- \(x_{i}\) 和 \(x_{i+1}\) 是未知的机器人位姿;
- \(w_{i}\) 是协方差为 \(\sum { }_{i}\) 的零均值高斯误差项;
- 下面的讨论不涉及里程计测量 \(u_{i}\) 的来源,可以有很多来源,比如车轮里程计、视觉里程计等。
- 进一步观察一组观测 \(B = \left (b_{ij} \right )\) (用这种表示法来表示从位姿 \(x_{i}\) 观察到的对象 j 周围的边界框);
- 假设数据关联问题已经解决,即可以识别观测源自于那哪个物理对象;
- 关于 SLAM 方法对于数据关联误差和鲁棒性的讨论可以参考文献 [27,28],所讨论的位姿图 SLAM 可以应用于本文所考虑的路标 SLAM。
5.2 创建和求解因子图表示
- 在给定观测值 \(U = \left \{ u_{i} \right \}\) 和 \(B = \left \{ b_{ij} \right \}\) 的情况下,机器人位姿 \(X = \left \{ x_{i} \right \}\) 和路标 \(Q = \left \{ q_{i} \right \}\) 的条件概率分布可以表示为公式(5),这个因式分布可以方便地建模为因子图 [29]
- 给定观测集合 U,B,寻求机器人位姿 X 和对偶二次曲面 Q 的最优值,即最大后验(MAP) 配置;
- 该最大后验变量配置等于联合概率分布 \(P\left ( X,Q \right )\) 的模式;也即:最大后验解决方案是该联合分布具有最大值的点。
- 通常假设里程计因子 \(P\left( x_{i+1}|x_{i},u_{i}\right)\) 服从高斯分布,即:\(x_{i+1}\sim N\left ( f\left ( x_{i},u_{i} \right ),\sum { }_{i} \right )\),其中 f 是机器人的运动模型;
- 为了将路标因子整合到高斯因子图中,应用贝叶斯规则:
- 由于正在执行 MAP 估计,因此可以忽略基本上用作归一化的分母;
- 此外,假设一个一致的先验 \(P\left ( q_{j} |x_{i}\right )\) ,可以看到最大化后验 \(P\left ( q_{j} |x_{i},b_{ij}\right)\) 等价于最大化似然项 \(P\left ( b_{ij} |q_{j},x_{i}\right)\);
- 这种似然可以建模为 \(N\left ( \beta _{\left ( x_{i},q_{j} \right )},\Lambda _{ij} \right )\),其中 β 是第四节中定义的传感器模型,\(\Lambda\) 是协方差矩阵,捕获观察到的目标的空间不确定性(在图像空间中)。
- 现在可以最大化联合概率(公式 5 )来确定最优变量配置 \(X^{*},Q^{*}\);
- 通过采用负对数并将联合概率分解为非线性最小二乘问题:
- 像公式(7)这样的最小二乘问题可以使用 L-M 或高斯-牛顿的方法进行迭代求解:利用因子稀疏结构的求解器可以非常有效地解决数千个变量的典型问题。
5.3 几何误差项
- 构成公式(7)中二次曲面路标因子的误差项 \(\left \| b_{ij}-\beta _{\left ( x_{i},q_{i} \right )} \right \|_{\Lambda _{ij}}^{2}\) 称为几何误差,因为 b 和 β是包含像素坐标的矢量;
- 与文献 [14-16] 的前期工作提出的代数误差相比,即使在观察到的物体部分可见时,用几何误差公式也可以明确地表示出来(如图2b);这种情况将导致边界框被截断的观测,使代数误差公式估计无效并缩小估计的二次曲面。
- 使用几何上有意义的误差还可以通过协方差矩阵 \(\Lambda_{ij}\) 方便地将目标检测的空间不确定性 [30] 传播到 SLAM 系统中。
5.4 变量初始化
- 需要初始化所有变量参数 \(x_{i}\) 和 \(q_{j}\) ,以使增量求解器起作用;
- 虽然机器人的位姿 \(x_{i}\) 可以初始化为一个初始估计(从原始里程计测量 \(u_{i}\) 中获得),但二次曲面路标 \(q_{j}\) 的初始化需要更多的考虑;
- 可以使用与其定义等式匹配的最小二乘来初始化二次曲面 \(q_{j}\) :
- 使用路标边界框的观测值 \(b_{ij}\) 和投影他们而得到的线 \(l_{ijk}\) 根据 \(\pi_{ijk}=P_{i}^{T}l_{ijk}\) 来行成定义平面 \(\pi_{ijk}\) 的齐次向量;
- 使用从里程计测量获得的初始相机位姿估计 \(x_{i}\) 形成相机矩阵 \(P_{i}\) ;
- 利用 \(Q_{\left ( \hat{q_{j}} \right )}^{*}\) 的对称性,可以将公式(8)的特定平面 \(\pi_{ijk}\) 重写为
- 通过联立来自多个视图 i 和平面 k 的方程,得到一个形式为 \(A_{j}\hat{q}_{j}=0\) 的线性系统,其中 \(A_{j}\) 包含与路标观测 \(\hat{q}_{j}\) 相关联的所有 \(\pi_{ijk}\) (如公式9所示)的系数;
- 最小化 \(\left \| A_{j} \hat{q}_{j}\right \|\) 得到的最小二乘解 \(\hat{q}_{j}\) 可以从 \(V\) 的最后一列获得;其中 \(A_{j} \hat{q}_{j}=UDV^{T}\) 是 \(A_{j} \hat{q}_{j}\) 的奇异值分解(SVD)
- SVD 分解的方法代表了一个一般的二次曲面,不局限于椭圆体;
- 通过提取二次曲面的旋转、平移和形状来参数化 3.2 节中定义的每一个路标。
- 根据参考文献 [14] 将二次曲面的形状定义为:
- 旋转矩阵 \(R\left ( \theta \right )\) 等于 \(Q_{33}\) 的特征向量矩阵;
对偶二次曲面的平移向量由 \(Q^{*}\) 的最后一列定义为齐次向量:\(\mathbf{t}=\left ( \hat{q_{4}},\hat{q_{7}},\hat{q_{9}} \right )/\hat{q_{10}}\)
然后可以重建第 3.2 节中估计二次曲面的约束等效。 - 可以通过计算公式(8)的 SVD 解对每个路标的完整检测集进行初始化,并将估计的二次曲面约束为椭球。
6. 实验与评估
- 使用 TUM RGB-D 数据集比较定位性能;
- 在具有真实 3D 物体形状和位置的高保真模拟环境中评估构建的路标的质量。
6.1 TUM RGB-D 实验
- 与 ORB-SLAM2 比较相机的绝对误差和里程计测量。
- 在两种里程计方法中评估基于对偶二次曲面路标的定位性能:Fovis [31] 和 ORB-VO;
- 使用具有预训练权重的 YOLOv3 检测器生成检测对象,并通过一组人工注释信息来提供各个检测器与不同物理对象之间的关联。
- 为解决 SLAM 问题(公式7),创建了 Quadric SLAM(一种使用 GTSAM [32] 的因子图方法);
- 机器人的位姿 \(X^{*}\) 和对偶二次曲面 \(Q^{*}\) 填充图的潜在变量,与里程计因子 \(U\) 和 2D 边界框因子 \(B\) 相关联;
- 作为这些因子协方差矩阵的粗略近似,对于平移和旋转,里程计噪声模型的标准差设置为 0.001,边界框标准差近似为每个对象的所有边界框高度和宽度标准差(以像素为单位)的总和;
- 单次测量的置信度变化很大,越难检测到的物体的边界框尺寸具有越大的方差,因此将方差作为检测噪声的近似值。
- 为了对所有二次曲面路标进行分类,对属于每个对象的全部检测得分进行平均,将最有可能的类指定为对象的最终分类。
6.2 TUM RGB-D 结果
- 定量结果如表 1 所示;
- 结果显示,在轨迹估计中与 foviz 相比,性能得到明显的提升,但与 ORB-VO 相比效果不明显,甚至有性能降低;
- 性能损失可能是由非高斯边界框测量的不良恒定噪声估计和对象遮挡引起的,这些因素会造成边界框明显变小,并对轨迹估计产生负面影响。
- 定性结果如图 3 所示,将三维的二次曲面从估计的相机位姿投影到了二维图像中(即不显示遮挡物体);
- 二次曲面轴与检测量的对齐程度代表了路标的准确性,同时为每个对象都显示了估计的标签类;
- 与单视图目标检测相比,基于路标的 SLAM 系统中路标提供了它们所代表的 3D 对象的准确的高级别信息,并且有效地整合了稀疏和易失性的单视图目标检测,以便在连续帧上提供一致的类标签和物体形状。 可以参考提供的视频材料(意思就是单视图的目标检测表达稀疏(二维?)且容易丢失,这一帧检测到了下一帧可能没检测出来,基于路标 SLAM 系统则能在连续帧之间提供持续的路标信息,物体只要之前被观测到了且还在视野中就有其二次曲面路标)
- 问题:
- 在某些情况下,SVD 解决方案会导致一些二次曲面路标初始化到了相机后面的位置,这是可能的,因为使用 \(PQ^*P^T\) 投影的二次曲面可以从图像平面的任一侧投影;
- 在本文的实验中,只发生在视角有限的路标上,但这些物体被观察的次数较少,通常不会对轨迹产生大的影响;
- 此外还在一些包含不明显物体的区域被检测到次数足以构成二次路标,尽管这些路标似乎不会对轨迹产生较大的影响,但可能提供错误的语义信息。
- 在某些情况下,SVD 解决方案会导致一些二次曲面路标初始化到了相机后面的位置,这是可能的,因为使用 \(PQ^*P^T\) 投影的二次曲面可以从图像平面的任一侧投影;
6.3 仿真实验
- 仿真模拟环境提供了准确的地面真实信息和物体信息,本文使用 UnrealCV [33] 插件创建了一个合成数据集,包含了真实相机轨迹 \(x_{i} \in SE\left ( 3 \right )\),二维目标边界框 \(b_{ij}\) 和三维目标边界框。
- 在 10 个场景中记录了轨迹,生成了共 50 个轨迹,这50个地面实况轨迹均被5个种子产生的噪声破坏,共计250次试验;
- 模拟相机的焦距为 320,焦点为 (320.0,240.0),分辨率为 640 * 480;
- 这些图像用于提取与基于 ConvNet 的物体检测(如文献6,7)生成的相同形式的 ground truth 边界框。
- 类似于 6.1 节,定制一个因子图,将机器人的位姿和对偶二次曲面通过里程计和边界因子连接;
- 噪声的产生:
- 通过将零均值高斯滤波噪声引入真实相机位置之间的相对运动来获得每个实验的里程计测量;
- 对于平移和全局相机位置之间的旋转会产生大约 5% 和 15% 的误差;
- 该轨迹噪声与标准惯性导航系统的噪声类似,在标准惯性导航系统中,相对轨迹的复合扰动导致全局轨迹偏离真实轨迹,如图 4 所示。
- 通过向边界框真值添加 4 个像素的附加方差来模拟目标检测,并且在假设数据关联问题已经解决的情况下,模拟器提供 3D 目标和 2D 检测框之间的关联;
- 在模拟实验期间,将里程计和边界框检测的协方差矩阵设置为引入的附加方差。
- 评估方法:
- 比较相机轨迹的绝对轨迹误差(Absolute Trajectory Error);
- 使用三个指标将初始和估计的二次曲面参数与真正的三维目标边界框进行比较;
- ① 通过计算估计的二次曲面平移与物体质心真值之间的均方根误差(RMSE)来比较物体的位置;
- ② 使用二次曲面 3D 轴对齐边界框与真实物体边界框之间的 Jaccard 距离(IOU 用来评估两个集合相似度的指标)来评估路标形状误差;
- ③ 使用两个目标之间的标准 Jaccard 距离来评估整体的路标质量。
6.4 仿真结果
- 定量结果如表 2 所示,定性结果如图 4,5 所示,分别说明了对相机轨迹的改进和估计的二次曲面精度的提升。
- 实验结果表明
- 基于二次曲面的路标能显著提高机器人轨迹和估计的地图的质量,并提供了关于环境中物体的形状和位置的准确的高级别信息;
- 几何误差在轨迹误差方面提升了 65.2%,路标的位置、形状和整体质量提升了 70.4%,26.7% 和 30.6%;
- 二次曲面路标对轨迹的校正效果是通过对帧间路标的重新观测来实现的,有助于减少累计的里程计误差。
- 如 6.2 节所述,估计的路标参数与真实目标之间的其他差异预计是由遮挡产生的,遮挡会导致路标表面的收缩和视角受限,从而导致对路标的形状产生过高估计。
- 同时评估了先前工作(文献14-16)中使用的标准代数误差函数的性能,并发现估计的解决方案很少改进初始地图和轨迹估计;
- 代数误差使相机的轨迹和路标质量提高了 0.6% 和 1.5% ,但同时对路标位置和形状的误差增加了 2.6% 和 2.0%,这是由对象部分可见引起的,由于大多数场景中存在大型对象而被夸大了。
7. 总结与展望
- Quadric SLAM 结合了最先进的目标检测和 SLAM 技术,同时估计相机的位置和环境中物体的三维路标表达;
- 基于对象的路标(比如对偶二次曲面)的引入对于语义上也有更大的意义,面向对象(object-oriented) 的机器人地图开发是必不可少的。
- 实验表明,对偶二次曲面路标为纠正里程计误差提供了有价值的信息,但基于二次曲面的对象级路标更显著的作用是估计包含对象作为不同元素的地图;
- 当把高阶几何约束引入到 SLAM 公式中时,使用对偶二次曲面作为 SLAM 的路标参数的优势才能体现,例如需要有特定语义类型的路标如何相对于其他路标或一般结构放置在环境中的先验知识。
- 本文展示了如何使用对偶二次曲面作为 SLAM 中的透视相机的路标表示,提供了一种将对偶二次曲面参数化为闭合曲面的方法,并展示了它们如何直接与典型的目标检测系统相关联。
- 定义了基于因子图的 SLAM 公式,在存在里程计噪声、物体检测噪声、遮挡和物体部分可见的情况下联合估计相机轨迹和物体参数。
- 这是通过设计用于目标检测器的传感器模型和对物体部分可见的稳定的几何误差来实现的。
- 未来的工作
- 研究如何更好地整合来自目标检测器的不确定性估计;
- 探索将二次曲面初始化约束在图像平面的前方;
- 使用深度信息来剔除与不同物理对象的不对应检测。
【R】 参考文献
-
[6] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.
Faster r-cnn -
[7] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.
SSD 目标检测 -
[12] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
YOLO v3 目标检测 -
[14] Rubino C, Crocco M, Del Bue A. 3d object localisation from multi-view image detections[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(6): 1281-1294.
作者前期工作:多视图三维目标定位 -
[15] Crocco M, Rubino C, Del Bue A. Structure from motion with objects[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 4141-4149.
作者前期工作:目标运动恢复结构 -
[16] Sünderhauf N, Milford M. Dual quadrics from object detection boundingboxes as landmark representations in slam[J]. arXiv preprint arXiv:1708.00965, 2017.
作者前期工作,利用因子图优化,对偶二次曲面在 SLAM 中的首次试探 -
[19] Engel J, Schöps T, Cremers D. LSD-SLAM: Large-scale direct monocular SLAM[C]//European Conference on Computer Vision. Springer, Cham, 2014: 834-849.
LSD 直接法 SLAM -
[20] Whelan T, Salas-Moreno R F, Glocker B, et al. ElasticFusion: Real-time dense SLAM and light source estimation[J]. The International Journal of Robotics Research, 2016, 35(14): 1697-1716.
ElasticFusion https://github.com/mp3guy/ElasticFusion -
[21] Lemaire T, Lacroix S. Monocular-vision based SLAM using line segments[C]//Robotics and Automation, 2007 IEEE International Conference on. IEEE, 2007: 2791-2796.
线段作为 SLAM 的高阶路标 -
[22] Kaess M. Simultaneous localization and mapping with infinite planes[C]//ICRA. 2015, 1: 2.
因子图 iSAM 的作者;基于无限平面的 SLAM;RGB-D相机直接获取平面测量;定义了对数四元数的平面误差 -
[24] McCormac J, Handa A, Davison A, et al. Semanticfusion: Dense 3d semantic mapping with convolutional neural networks[C]//2017 IEEE International Conference on Robotics and automation (ICRA). IEEE, 2017: 4628-4635.
Semanticfusion 基于 CNN 的稠密语义建图 -
[25] Pham T T, Reid I, Latif Y, et al. Hierarchical higher-order regression forest fields: An application to 3d indoor scene labelling[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 2246-2254.
分层高阶回归森林:室内三维重建 -
[29] Kschischang F R, Frey B J, Loeliger H A. Factor graphs and the sum-product algorithm[J]. IEEE Transactions on information theory, 2001, 47(2): 498-519.
因子图 1998 -
[30] Miller D, Nicholson L, Dayoub F, et al. Dropout sampling for robust object detection in open-set conditions[C]//2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018: 1-7.
目标检测的空间不确定性 -
[31] Huang A S, Bachrach A, Henry P, et al. Visual odometry and mapping for autonomous flight using an RGB-D camera[M]//Robotics Research. Springer, Cham, 2017: 235-252.
本文对比的一种里程计方法 -
[32] GTSAM – The Georgia Tech Smoothing and Mapping Library
因子图开源库 -
[33] Qiu W, Zhong F, Zhang Y, et al. Unrealcv: Virtual worlds for computer vision[C]//Proceedings of the 2017 ACM on Multimedia Conference. ACM, 2017: 1221-1224.
利用 UnrealCV 插件合成仿真数据集
【Q】 问题
- 5.2 节中,建模的似然噪声不太理解?
- 6.1 节中,将每个对象的一系列检测评分进行平均,指定为最有可能的分类,那场景中多个同一类物体的对象呢?
- 6.2 节中,与两种里程计方法的定量测量加入了二次曲面作为路标,其与原来测量之间是如何产生约束和优化的?
- 6.2 节中,与单视图目标检测比较,能提供更稳定且丰富的表达,提供的视频材料显示,二次曲面的形状和位置在第一次被检测到之后就没变过了,之后难道没有进行矫正和优化吗(类似于 CubeSLAM 中的最优提案)?
- 6.3 节中的附加方差不太理解?假设数据关联问题得到解决,怎么解决的?
- 6.4 节,表 2 对比的 SVD 方案与 QuadricSLAM 的区别?SVD 方案是指 5.4 节联立多帧之间的线性系统方程得到的二次曲面参数 q 吗?QuadricSLAM 是指 5.2 节中公式 7 得到的参数 Q 吗?
- “二次曲面路标对轨迹的校正效果是通过对帧间路标的重新观测来实现的,有助于减少累计的里程计误差”,帧间的路标多视图观测结果来校正轨迹误差,这个观测结果是如何定量表示的?具体的公式和约束关系?
- 几何误差与代数误差?
- 文章说假设数据关联的情况下联合估计位姿和二次曲面参数,数据到底怎么关联的?
【T】 思考
- 6.2 节中,描述图 3 时说明是投影,不显示遮挡的物体,是否可以有一种透视的表达?遮挡的物体也以某种形式表现出来?
- 多视图路标检测与单视图目标检测,Cube SLAM 是利用目标检测的最优提案确定最后的路标,这篇文章呢?
- 6.3 节中,图 4 用物体的质心表示位置,是否可以再加入一个方向表达?
2019.01.27
wuyanminmax@gmail.com