摘要:

本文特色:使用线引导关键点的选择。本文提出这个的论点是:线上的点比图像的其他部分的点更好,而且线上存在更好的关键点。选择线上的点可以筛选过滤掉不太明显的点,从而提高效率。

点和线:

  系统使用点、线段和线段上的点。点是由它周围的梯度决定和描述的;线段使用端点表示,线段的描述使用线上的点,其中这些点是通过自适应的方式划分的。根据优不优化将点和线分为Immature和Active部分。点使用光度误差模型,线的光度误差使用线上的点的光度误差的累加和。

具体做法:

Tracking

1)  对于新来的一帧首先进行Initial Frame Track。使用的参考帧是最新的关键帧,方法是:传统的两帧图像直接对准、多尺度图像金字塔和恒运动模型初始化。如果直接图像对准失败,系统通过初始化在不同方向上最多27个不同的小旋转,在最粗的金字塔级别上进行恢复跟踪。

  2)Line Guidance Refinement:

对于点:通过最小化式(2)中定义的光度误差,利用沿极线的离散搜索,在当前帧中搜索活动关键帧中的IP。当前帧中的匹配点用于更新活动关键帧中对应IP的深度。

  对于线:对于IL,其上的ILCP和ILEP首先以与IP相同的方式进行细化。如果一个ILCP提炼失败,我们直接从IL中删除它。至于一个提炼失败的ILEP,系统检查所有在同一直线上的ILEP和ILCP的细化状态

并删除细化的故障点。新的IL由其余的点组成。当一个IL包含少于3个点,这个IL会被释放,剩下的点变成IPs。调整IL后,通过合并线的先验更新成功提炼的IL上各点的位置。通过将线段上的ILEP和ILCP点反投影到三维空间中,然后根据这些投影点拟合出新的三维直线。然后将新生成的这条线重新投影到图像平面上,作为新的IL。最后将旧的ILEPs和ILCPs投影到新的IL上,从而得到新的ILEPs和ILCPs。我们使用IL信息来指导ILEPs和ILCPs在其上的位置。
 
  3)关键帧的选择
  在跟踪线程的最后一步,系统创建一个新的关键帧。一个新的关键帧的创建取决于视野的变化,相机的平移和相机曝光时间的变化。考虑这些因素的加权和用于创建新的关键帧。
 
Mapping  
 
  在建图线程中,首先通过将所有活动关键帧中的AP和ALs投影到新的关键帧中来创建新的关键帧。投影的AP和ALs略微放大,形成半稠密的深度图。随后将AP和ALs的位置、相机的姿态和相机参数一起在滑动窗口滤波器中进行优化。在优化

在每次迭代之后执行AL细化。为了提高效率,我们将把远离当前框架的APs、ALs和active框架边缘化。最后是IPs和

 ILS

在新的关键帧上生成。

   1)滑动窗口优化

  在本研究中,我们采用滑动窗口优化方法。在优化之前,所有关键帧的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。在某些情况下,一行存在于多个关键帧中。固定的采样间隔通常会在这些关键帧中产生相同的采样点。为了利用更多的信息,我们使用随机采样间隔。

  

最新文章

  1. LeakCanary Android 和 Java 内存泄露检测。
  2. STL之容器适配器priority_queue
  3. IP地址在数据库里面的存储方式
  4. iOS 进阶 第二十二天(0603)
  5. 委托、事件和Lambda
  6. 支付宝api指南
  7. js获取对象、数组的实际长度,元素实际个数
  8. 第 14 章 迭代器模式【Iterator Pattern】
  9. js 效果样式大全
  10. 使用SQL Server 2000索引视图提高性能
  11. WPF DataGrid Drag
  12. Python isinstance
  13. Spring 自定义注解,配置简单日志注解
  14. 201621123057 《Java程序设计》第6周学习总结
  15. 无忧代理免费ip爬取(端口js加密)
  16. luoguP4841 城市规划
  17. Django之路12——form modelform formset modelformset的各种用法
  18. docker 安装 nginx
  19. POJ 1595 素数打表水题
  20. MySQL-记一次备份失败的排查过程

热门文章

  1. poj_2773
  2. Thinkphp+AJAX动态验证用户输入是否合法
  3. Cocos2d-x开发---关于安卓打包所遇到的错误记录
  4. C#面试基础问题0
  5. redis 导出查询结果
  6. Hive查询表,返回数据全是NULL
  7. 171. Anagrams【medium】
  8. layui当点击增加的时候,将form中的值获取的添加到table行中代码
  9. linux 查找文件并移动
  10. 标准差分进化算法matlab程序实现(转载)