网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 84|回复: 1

论文精读:Monocular Object and Plane SLAM in Structured ...

[复制链接]

3

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-11-30 08:40:13 | 显示全部楼层 |阅读模式
Title: Monocular Object and Plane SLAM in Structured Environments

BibTex: (完整的BibTex)

@article{yang2019monocular,
title={Monocular object and plane slam in structured environments},
author={Yang, Shichao and Scherer, Sebastian},
journal={IEEE Robotics and Automation Letters},
volume={4},
number={4},
pages={3145--3152},
year={2019},
publisher={IEEE}
}
Motivations:

1.与点相比,对象和平面可以提供更多的语义约束
Contributions:

1.提出一种高效推理的高阶图形模型,用于单图的三维结构解释。
2.第一个单目对象和平面SLAM,并且在定位和建图方面超过了SOTA算法。
Background and Related Works:

A. Single Image Understanding
对于3D对象检测,经典的依赖于手工设计特征,或是CNN。
对于布局检测,Hedau等人提出了基于消失点的房间模型,还有一些基于CNN的方法。它们大多只适用于受限制的四墙曼哈顿房间模型,不适用于一般的室内环境。
对于对象和平面3D联合解释,大多数工作使用RGBD相机,无法实时运行,最近的工作是利用深度网络直接预测对象和平面的3D位置。
B. Object and Plane SLAM
语义SfM联合优化各种几何组件。一些基于对象的SLAM被提出,但都依赖于先验对象模型。
QuadricSLAM和CubeSLAM为没有先验模型的单目SLAM提出了两种不同的对象表示。
在室内环境中,与点相比,平面被证明可以提供远程SLAM约束。一些工作用相机位姿联合优化对象、平面和点。
Methodology:

SINGLE IMAGE UNDERSTANDING

将环境表示为一系列长方体对象和布局平面(比如墙或地板)。
首先生成多个对象和平面假设,然后通过CRF优化方法选择其中的最佳假设。直接检测和选择墙角线段。


A. Proposal Generation
1) Layout Plane Proposal
首先检测所有图像边,然后选择一些靠近墙角的边。如果边由于遮挡部分位于对象区域内,进一步扩展与其他边相交。
2) Object Cuboid Proposal
CubeSLAM
B. CRF Model Definition
为每个平面和长方体假设设置一个二进制变量 x_i\in \{0,1\} ,指明是否将被选择。


其中 \psi^U 为unary potential energy, \psi^P 为pairwise potential energy, \psi^{H_O}({x_c}) 为集合 x_c 的高阶可能性。
1)Unary Potential
将语义分割得到的墙角边界轮廓表示为c,在每个平面候选边上采样10个点,并将它们到c的距离总结为 D(x_i,c)。Plane edge unary定义为:


其中, \theta(x_i) 是边到相机中心的视觉角度,通常角度越大,边检测误差越小。
对于对象,使用CubeSLAM中提出的归一化长方体拟合误差。
2)Pairwise Potential
利用几何关系来最小化3D的遮挡和相交
Object-object \psi_{O-O}^P :两个长方体的3D IoU
Object-plane \psi_{O-L}^P :




Plane-plane \psi_{L-L}^P :




3)High-Order Potential
对于每个2D对象实例,最多只能选择一个3D长方体候选。因此来自一个对象的3D候选形成一个集合Xc。


SLAM OPTIMIZATION
从单图检测中选择的对象和平面候选作为SLAM地标,通过多视图BA与相机位姿一起优化。
A. Bundle Adjustment Formulation


B. Parameterization
对于相机位姿Tc和点P,Tc∈SE(3), P\in R^3
与CubeSLAM类似,长方体参数由6DoF的对象3D位姿和3DoF的尺寸组成。
平面表示 \pi=(n^T,d)^T st. ||\pi||=1. ,n为平面法向量,d为到原点的距离。
在某些环境中,采用曼哈顿假设,即平面法线是固定的,只需要d来表示平面。
C. Measurements
1) Camera-Plane:将2D平面边反投影到3D空间,然后与landmark进行对比。


将全局平面地标转化到相机坐标系 T_c^T\pi ,是因为当相机远离世界原点时,d相对于n变得非常大,主导了误差。


2) Camera-Object:将长方体的3D角投影到图像平面上,如红色矩形所示,然后与蓝色实际检测到的2D bounding box进行对比。




其中,[c,s]为2D box的中心和尺寸。
3) Object-Plane: e_op=\sum_{i=1:8}{max(0,-\pi P_{oi})}
其中, P_{oi} 是八个长方体角之一,如果长方体角位于平面的正侧,这意味着没有遮挡,则 e_{op} 将为0.


4) Point-Plane:如果特征点属于平面区域,我们还在平面上增加一个特征点的三维距离约束。
通常难以从2D图像中确定一个点是否属于平面,为了提高鲁棒性,首先选择特征点在2D墙平面多边形,然后过滤掉距离3D平面较远的点。


D. Data Association
点关联:使用ORB SLAM中的点特征匹配
对象关联:遵循CubeSLAM的方法
平面关联:首先检查平面法线差是否在30°,距离是否小于1m。然后找到共享最多特征点的平面进行匹配。
Experiments:

A.实现细节
对象检测:Yolo detector
平面检测:用LSD检测线段,并将它们合成长边。
Segnet用于二维语义分割
B.Single Image Result
候选生成和CRF优化
(b)原始候选俯视图,红色矩形是ground truth,蓝色是估计对象,青色线条是平面的候选。
(c)CRF选择的候选的俯视图




当对象遮挡严重和边不清楚时,见上图右列,仍然可能错过一些平面和对象。
C.SLAM Result
数据集:ICL-NUIM, TAMU Indoor, TUM mono和自己用KinectV2传感器收集的数据集
1)定性结果
ICL结果:c中的CRF优化显示了一个大致正确的3D模型,但不能完全检测出遮挡的平面线段,通过多视图SLAM优化后,可以构建出更一致更完整的地图。




不同数据集和环境配置下的3D地图和相机位姿估计。


2)定量结果


单目尺度一致性误差,Room37中,平面很少,算法几乎简化为点SLAM的实现;Corridor38中有很多区域只有一堵白墙,特征点很少,很难进行基于特征和平面的SLAM。


Discussion and Future work:

除了墙平面,考虑更多的通用平面,以制作出更稠密、完整的地图。
回复

使用道具 举报

0

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2025-5-6 21:09:53 | 显示全部楼层
……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-7-6 06:37 , Processed in 0.122439 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表