当前位置:网站首页>VSLAM特征之线特征&面特征
VSLAM特征之线特征&面特征
2022-06-29 06:41:00 【Hermit_Rabbit】
0. 简介
相较于激光雷达而言,视觉SLAM除了点特征以外还多出了线特征以及面特征。相比于点特征而言,线特征和面特征在单一环境中会更有鲁棒性。这篇文章中作者将会围绕着线特征和面特征的数学特性进行介绍
1. 线特征
线特征:优点在于具有天然的光照及视角不变性,同时更高级的特征也使追踪的鲁棒性和准确性有所提高。特别是在特定的人造场景(室内,走廊)等场景,能够克服无纹理或者不可靠纹理带来的干扰。
而其缺点也很明显,在于线段的检测及匹配耗时相对特征点更大。同时在后端也没有一个标准且通用的SLAM优化及回环模块。线特征匹配也是较为困难的,如线段易断裂,不具备强有力的几何约束(如极线几何约束),在纹理缺失处不具有较强的辨识度等。
线特征的典型代表是PL-SLAM,该框架是在ORB-SLAM的框架基础之上,添加了一些与线特征有关的模块,从而构建了一套单目SLAM系统。整个系统的框架如下图所示:
对于线的描述,采用了 端点(endpoints) 的方法,毕竟现实中,几乎不不可能碰到无限延伸的直线,几乎都是线段,所以,用端点的方法来描述直线是比较合理的。我们假设 P , Q ∈ R 3 P,Q\in R^3 P,Q∈R3是空间直线的两个端点, p d , q d ∈ R 2 p_d,q_d\in R^2 pd,qd∈R2是其在图像中的投影坐标,另外,记 p d h , q d h ∈ R 3 p_d^h,q_d^h \in R^3 pdh,qdh∈R3 是对应的齐次坐标。于是,我们可以得到直线的参数: I = p d h , q d h / ∣ p d h , q d h ∣ I =p_d^h,q_d^h /|p_d^h,q_d^h | I=pdh,qdh/∣pdh,qdh∣ 。
Tip:(对于向量(x,y,1),可以在几何意义上理解为是在【第三维为常数的】平面上的一个二维向量。这种用【三】维向量表示【二】维向量,或者一般而言,用一个n+1维的向量表示一个n维向量的方法称为齐次坐标表示法。】)。
这样我们就可以得到线特征所需要的参数。然后是定义线的重投影误差(line reprojection error) E l i n e E_{line} Eline——投影线段的端点与在图像中检测到的直线之间的点到直线距离 E p l E_{pl} Epl之和: E l i n e ( P , Q , I , θ , k ) = E p l 2 ( P , I , θ , k ) + E p l 2 ( Q , I , θ , k ) E_{line}(P,Q,I,\theta,k) = E_{pl}^2(P,I,\theta,k) + E_{pl}^2(Q,I,\theta,k) Eline(P,Q,I,θ,k)=Epl2(P,I,θ,k)+Epl2(Q,I,θ,k)。而 E p l = I T π ( P , θ , K ) E_{pl} = I^T\pi(P,\theta,K) Epl=ITπ(P,θ,K)。
其中, I I I为上面提到的直线参数, π ( P , θ , K ) \pi(P,\theta,K) π(P,θ,K) 为空间点 P P P投影到图像平面的坐标,而其中的 θ , K \theta,K θ,K分别为相机的外参 { R , t } \{R,t\} { R,t}和内参。理想情况下,空间点 P P P的投影点是在直线上的,所以点到直线距离 E p l = 0 E_{pl} = 0 Epl=0,或者说,点在直线上。
通过这样的计算就可以获取到两条线之间的重投影误差了。
2. 面特征
…详情请参照古月居
边栏推荐
- Gateway controller communication protocol
- From XX import* is equivalent to from XX import *, and no space is required
- 关于开发web场景下如何解决手机访问web跨域问题
- Vulnhub's dc7 target
- 【深度之眼吴恩达第四期作业班】多元线性回归Linear Regression with multiple variables总结
- The table cannot be vacuumed because the cursor is open for a long time
- 1031 Hello World for U
- Vulnhub's dc9 target
- Selected Siemens PLC project example source code [300 sets in total]
- 【深度之眼吴恩达机器学习作业班第四期】Regularization正则化总结
猜你喜欢

【深度之眼吴恩达机器学习作业班第四期】Linear Regression with One Variable,单变量线性回归

tf. count_ nonzero

cv2.cvtColor

matlab 多普勒效应产生振动信号和处理

Schnuka: what is visual positioning system? How visual positioning system works

施努卡:3d机器视觉检测系统 3d视觉检测应用行业

SQL 注入绕过(六)

tf.count_nonzero

Alicloud access resource: nosuchkey

Appium environment setup
随机推荐
关于KingbaseES临时文件过大问题
Cv:: mat and Base64 conversion (including picture compression and decompression)
Vulnhub's DC8 target
Problem solving -- > online OJ (13)
Detailed explanation of communication principle between [industrial control old horse] single chip microcomputer and Siemens S7-200
施努卡:3d视觉检测方案 3d视觉检测应用行业
电检码配置
路由详解(九阳真经)
查看tensorflow是否支持GPU,以及测试程序
TF. Repeat and stack operations of slim
1032 Sharing
SVM,人脸识别遇到的问题及解决方法
1031 Hello World for U
Selected Siemens PLC project example source code [300 sets in total]
Kingbasees coping with transaction rollback caused by too fast growth of table age
关于开发web场景下如何解决手机访问web跨域问题
搭建jenkins环境并自动关联打包好的工程jar进行自动发布
Using cdockablepane to realize floating window in MFC
ROS当中的仿真时间以及Bag包操作
Alicloud access resource: nosuchkey