Direct Line Guidance Odometry论文阅读笔记
摘要:
本文特色:使用线引导关键点的选择。本文提出这个的论点是:线上的点比图像的其他部分的点更好,而且线上存在更好的关键点。选择线上的点可以筛选过滤掉不太明显的点,从而提高效率。
点和线:
系统使用点、线段和线段上的点。点是由它周围的梯度决定和描述的;线段使用端点表示,线段的描述使用线上的点,其中这些点是通过自适应的方式划分的。根据优不优化将点和线分为Immature和Active部分。点使用光度误差模型,线的光度误差使用线上的点的光度误差的累加和。
具体做法:
Tracking
1) 对于新来的一帧首先进行Initial Frame Track。使用的参考帧是最新的关键帧,方法是:传统的两帧图像直接对准、多尺度图像金字塔和恒运动模型初始化。如果直接图像对准失败,系统通过初始化在不同方向上最多27个不同的小旋转,在最粗的金字塔级别上进行恢复跟踪。
2)Line Guidance Refinement:
对于点:通过最小化式(2)中定义的光度误差,利用沿极线的离散搜索,在当前帧中搜索活动关键帧中的IP。当前帧中的匹配点用于更新活动关键帧中对应IP的深度。
对于线:对于IL,其上的ILCP和ILEP首先以与IP相同的方式进行细化。如果一个ILCP提炼失败,我们直接从IL中删除它。至于一个提炼失败的ILEP,系统检查所有在同一直线上的ILEP和ILCP的细化状态
在每次迭代之后执行AL细化。为了提高效率,我们将把远离当前框架的APs、ALs和active框架边缘化。最后是IPs和
在新的关键帧上生成。
在本研究中,我们采用滑动窗口优化方法。在优化之前,所有关键帧的IL和IP首先作为AP和ALs激活。将IL和IPs的位置作为AP和ALS的初值。然后ap和ALs参与优化。在优化中,ALEP和ALCP的处理方法与APs相同。
2)AL提炼
在每次迭代优化后,对AL应用一个AL细化过程,该过程与在高斯-牛顿算法的第四节中,解通常独立地处理每个变量。然而,在我们的情况下,ALCPs和ALEP是共线的。优化过程中会改变这一特性,这是不希望的。因此,在每次迭代之后,AL为了保持这一特性,进行了改进。最后,远离当前帧的APs、ALs和active帧将被Schur[24]边缘化。
3)IL和IP产生
在这个过程中,在新的关键帧上创建ILs和IPs。在我们的方法中,我们从直线结构中提取点。这样做的一个优点是提取的点具有很高的梯度,同时还包含了线结构信息。在直接法中,有太多的点集中在直线附近。因此,我们通过从直线中选择点的子集来降低计算成本。
a)IP产生:对于IP生成,构造了一个三层图像金字塔。然后在每一层,图像划分为小块。最后选择每个patch中梯度值最大的点作为关键点。通过这种方法,选择的点在图像中均匀分布。
b)IL产生:至于线提取,我们使用公共LSD段检测算法[25]。首先使用系数为0.5的高斯滤波器对输入图像进行滤波。然后检测这些线。过于接近直线的点将被过滤掉,以提高效率。这里我们对每一行采用自适应距离阈值。可能存在一些相互重叠的行,这将导致冗余的计算。这里我们使用一个基于角度网格的方法来合并相似的线。我们选择5◦作为网格的大小。所有线路规范化的角度0之间180度。
两个线段之间的距离定义如下。对于每一个线段,我们首先计算一条线的端点到另一条线的距离,并将两点到直线的距离相加。计算每条直线的和后,我们选择较小的和作为这两条线段之间的距离(图9):
将ILEP作为两个端点,在IL上均匀采样ILCPs。在某些情况下,一行存在于多个关键帧中。固定的采样间隔通常会在这些关键帧中产生相同的采样点。为了利用更多的信息,我们使用随机采样间隔。
最新文章
- LeakCanary Android 和 Java 内存泄露检测。
- STL之容器适配器priority_queue
- IP地址在数据库里面的存储方式
- iOS 进阶 第二十二天(0603)
- 委托、事件和Lambda
- 支付宝api指南
- js获取对象、数组的实际长度,元素实际个数
- 第 14 章 迭代器模式【Iterator Pattern】
- js 效果样式大全
- 使用SQL Server 2000索引视图提高性能
- WPF DataGrid Drag
- Python isinstance
- Spring 自定义注解,配置简单日志注解
- 201621123057 《Java程序设计》第6周学习总结
- 无忧代理免费ip爬取(端口js加密)
- luoguP4841 城市规划
- Django之路12——form modelform formset modelformset的各种用法
- docker 安装 nginx
- POJ 1595 素数打表水题
- MySQL-记一次备份失败的排查过程