Canny-VO: 基于几何3D-2D边缘对准的RGB-D视觉里程计

news/2024/7/3 0:55:43
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
转自|当SLAM遇见小王同学


摘要

本文回顾了自由曲线配准的经典问题, 并将其应用于一个有效的称为Canny-VO的RGBD视觉里程计系统,  因为它能有效地跟踪从图像中提取的所有Canny边缘特征. 提出了边缘配准中常用的距离变换的两种替代方法:近似最近邻域和定向最近邻域.  3D/2D边缘对齐在效率和精度方面受益于这些替代公式. 它消除了对数据到模型配准、双线性插值和亚梯度计算等计算要求更高的范例的需求.  为了确保系统在存在异常值和传感器噪声时的鲁棒性, 配准被公式化为最大后验概率问题, 并且所得到的加权最小二乘目标通过迭代重新加权最小二乘方法来解决. 研究了各种稳健的权函数, 并根据残差的统计量进行了最优选择. 最近邻场的自适应采样定义进一步提高了效率. 对公共SLAM基准序列的广泛评估证明了最先进的性能和优于经典欧几里德距离场的优势.

导言

基于图像的摄像机运动估计称为视觉里程计(VO). 在许多应用中起着重要作用, 例如无人移动机器人的控制和导航, 特别是当没有外部参考信号可用时. 在过去的十年中, 我们见证了许多成功的工作,目前的工作集中在基于边缘的配准上, 它在用于配准的数据量和计算复杂度之间找到了一个很好的折衷.

考虑到边缘检测器是在不变关键点提取器之前发现的, 毫不奇怪, 计算机视觉领域的开创性工作, 如[13]设想了整个3D曲线的映射和配准, 虽然基于稀疏点的方法已被证明非常有效地从运动的结构反问题中减去对应问题, 基于曲线的估计仍然是有趣的, 这是由于以下几何上的优势:

  • 图像中的边缘构成了要配准到模型中的大量数据点, 因此导致卓越的信噪比和提高的整体精度

  • 在人造环境中, 边缘代表一种更自然的选择, 在人造环境中, 物体通常由均匀着色(即无纹理)的片状平面构成

  • 线和曲线比点导致更有意义的环境3D表示. 基于曲线的3D模型可以例如简化对象形状、大小和边界的推断

然而直到最近, 在文献中还没有出现实际的、基于边缘或曲线的跟踪和建图系统,  只有解决了配准问题, 才容易知道3D曲线中的哪一点重新投影到图像平面中测量的2D曲线中的哪一点. 因此, 对应问题必须作为3D-2D配准的一部分来解决。围绕迭代最近点范式[14]、距离变换[15]的研究,以及最近的进展,如基于连续样条的参数化[16]、[17],如今减轻了假定对应关系的迭代计算, 从而使得在线自由形式的基于曲线的配准成为可能.

本文的贡献如下:

  • 详细回顾了3D-2D自由形式的边缘对准, 总结了该问题的难点和现有机器人实时边缘对准方法给出的解决方案

  • 距离变换的两个替代方案: 近似最近邻域和定向最近邻域—具有提高配准效率和精度的特性

  • 基于最近邻场的实时RGB-D视觉里程计系统,  通过将基于3D-2D ICP的运动估计公式化为最大后验概率问题来实现鲁棒跟踪

  • 对可公开获得的RGB-D数据集进行了广泛的评估, 并对性能进行了比较, 证明了与以前最先进的边缘对齐方法相比的改进

实验结果

我们从分析部分观测数据的配准偏差开始. 然后我们转向系统中的最佳参数选择, 主要讨论稳健权函数的选择. 我们的主要实验比较了分别使用EDF、ANNF 、ONNF,的定量结果.所有都采用高斯-牛顿法. 评估使用了两个公开的基准数据集. 最后我们提供了一个具有挑战性的RGB-D序列来定性地评估我们的VO系统在相对大规模的室内环境中的性能.

请注意, 下表中列出的轨迹评估结果, 包括相对姿态误差(RPEs)和绝对轨迹误差(ATEs)均以均方根误差(RMEs)给出.

 1   处理注册偏差

我们在地平面上定义了一个人工圆形图案. 这个图案有一张A4纸那么大. 然后我们假设一个向下看的透视相机, 焦距为500.0,VGA分辨率. 选择照相机的高度, 使得图案覆盖图像的整个宽度. 因此参考系的姿态由t和R决定, 一旦提取3D边缘点, 参考帧的位置被干扰, 并使用EDF、ANNF或ONNF重新优化. 为了创建与[17]中介绍的情况非常相似的部分观察情况, 在覆盖π /4 rad的图像中, 仅保留了圆形边缘的一小部分连续部分(沿圆形随机定位). 每种方法测试1000次. 请注意测试没有使用稳健的权重函数, 以便不隐藏估计中的潜在偏差, 这就是我们所追求的. 还要注意的是, 我们没有向数据中添加任何噪声,如图7所示. 在优化后, ONNF报告了几乎为零的偏差, 从而清楚地证明了它在处理部分观测数据方面优于其他两种方法.

 2   探索最佳配置

在我们的方法中, 精确提取Canny边缘是精确运动估计的关键. 渐变贴图的质量决定了差异. 因此, 我们研究了具有不同核大小的Sobel滤波器, 并且发现对称的5 × 5核优于3 × 3滤波器, 并且足以进行良好的估计. 图像的高级平滑进一步有助于改善边缘检测.

为了确定最佳鲁棒权重函数, 我们首先定义序列中的参考帧, 然后使用每一帧和最近的参考帧之间的地面真实相对姿态来计算残差. 残差在由同一RGB-D相机捕获的几个序列上收集, 然后汇总在直方图中. 作为一个例子, 在图8中示出了使用人工神经网络距离度量对残差的所有拟合结果, 并且在表2中报告了每个模型的参数. 用EDF和ONNF对残差的拟合结果可以用同样的方法得到. 一般来说, T分布在拟合直方图上是最好的, 尤其是对于大残差.

 3    TUM RGB-D benchmark

我们在数据集中的几乎所有序列上评估我们的方法, 我们的主要目的是证明所提出的人工神经网络和神经网络在精度和鲁棒性方面优于经典的线性微分方程. 为了实现公平的比较, 我们实现了我们自己的基于EDF的跟踪器, 其性能优于[37]. 此外为了全面评估性能, 评估中包括了一个基于稀疏特征的解决方案ORB-SLAM2 (RGB-D版本). 然而请注意, 我们仅使用[47]的跟踪器来公平评估实验中的纯跟踪性能(通过将mbOnlyTracking设置为真).

如表三和表四所示, 基于人工神经网络的范式比EDF(我们将其归因于使用有符号点到切线的距离)获得了更好的精度, 并且由于无偏差估计,基于人工神经网络的跟踪明显优于其他方法。由于边缘对齐方法依赖于精确的Canny边缘检测,因此看到[47]在几个序列上表现更好也就不足为奇了, 在之前数据集中, 由于剧烈的旋转会出现显著的图像模糊. 如果使用更先进的设备, 例如配备了全局快门RGB相机的Kinect V2, 这个问题就不那么明显了. 在其他序列中也可以看到基于边缘对齐的方法的大均方根值, 这是由不明确的结构引起的. 在具有相同颜色的两个平面的结合处仅检测到一个边缘, 这明显导致跟踪失败, 因为至少一个自由度的运动变得不可观察. 然而总的来说, 基于神经网络和神经网络的跟踪器工作得非常好, 因为中值误差仍然相当小. 总之序列fr2 xyz和fr3非结构纹理的半密度重建结果在图9中给出. 由于没有进行全局优化, 这些重建的清晰性再次强调了边缘对齐的质量.

 4   ICL-NUIM数据集

Handa在2014年提供了一个高质量的室内数据集, 用于评估RGB-D VO/SLAM系统. 虽然它是合成的, 但结构和纹理是使用专业的3D内容创建软件逼真地渲染的. 适当考虑照明和反射属性, 我们使用客厅集合来评估我们的算法, 该集合包含由同一房间内的不同轨迹组成的四个序列. 该场景有几个对VO/SLAM系统具有挑战性的元素, 包括反射表面、局部纹理差的区域和多个照明源. 评价结果见表五和表六. 我们看到基于ONNF的跟踪器在比较中再次给出了最好的性能。由于合成数据集中不存在图像模糊效果,因此基于ONNF的跟踪方案的优势更加明显。ORB-SLAM2的性能在某些点上受到局部无纹理场景的影响,在这些点上只出现斑点和曲线(对象的边界),而不是像角一样的特征。最后,在图10中,我们再次使用基于ONNF的跟踪来提供客厅kt2的半感重建

 5   ANU-RSISE Sequence

我们捕获并分析了我们自己的大规模室内RGBD序列, 这是对澳大利亚国立大学(ANU)工程研究学院完整水平的扫描. 它比大多数TUM数据集更具挑战性, 至少有两个原因. 首先场景是一个大约300平方米的开放空间办公区域, 具有高度自相似的位置. 建筑物的足迹如图11所示. 照明不像在小规模环境中那样一致, 例如桌子或小办公室. 其次这个序列包含了一系列具有挑战性的结构, 比如反射面(窗户玻璃)和杂乱的物体(植物). 我们使用微软Kinect v2进行数据收集, RGB和深度图像被预先对齐并调整到VGA分辨率, 类似于在TUM基准序列中所做的.

通过在图12中可视化重建结果来定性地评估所有算法。[47]的全局BA模块再次被禁用,以强调纯跟踪性能。虽然[47]在直线部分表现很好,但在拐角处会出现严重的问题。跟踪不良是由于窗玻璃上的反射成像产生了虚假特征。利用良好的信噪比和提出的鲁棒加权策略,所有基于边缘对准的跟踪器在拐角处仍然表现良好。人工神经网络和自然神经网络相对于法国电力的优势是显而易见的从直线部分看。通过查看起点附近的两个回收站(蓝色和红色),ONNF在端到端错误方面表现最佳。请注意,笔直的走廊看起来有些弯曲,因为透明窗玻璃一侧有一些透视效果,这提供了不准确的深度测量。图13给出了更详细的地图和在使用基于ONNF的跟踪进行勘探期间发生的一些特写镜头。

 6   效率分析


在实际应用中, 实时性能通常是任何VO系统所要求的. 为了看到效率方面的提高, 我们比较了每种方法在具有酷睿i7-4770 CPU的桌面上的计算时间. 如图14所示, 跟踪线程中的计算包括四个部分:Canny边缘检测(CE)、距离变换(DT)、优化(Opt)和其他. 如前所述, 神经网络的延迟时间计算几乎与能量密度函数一样快, 而能量密度函数由于自适应采样和并行计算是最有效的. 另一个显著的不同发生在优化中. 由于在评估目标函数期间需要双线性插值, 基于EDF的方法比人工神经网络花费更多的时间. 基于ONNF的跟踪基本上和基于ann的跟踪一样快. 基于最近邻场的方法的优化时间的差异是由于另一种修改. 我们在中包含了随机优化策略基于ONNF的跟踪的实现, 从少量的3D点开始, 逐渐增加数量, 直到达到最小值, 在这里对所有点进行优化. 注意图14中的结果在点数(最多6500)上被归一化, 并且它包括对整个图像金字塔(从级别0到级别2)的计算. 此外参考系准备线程以10 Hz并行运行.

即使使用三个金字塔级别, 我们的方法也能在CPU上实现大约25 Hz的实时处理. 计算的主要瓶颈是图像处理. 考虑到这可以卸载到嵌入式硬件中, 我们相信我们的方法对于计算受限的设备来说是一个有趣的选择.

结论

本文引入近似最近邻场作为3D-2D曲线对准中欧几里德距离场的有效的、至少同样精确的替代, 在计算效率方面具有明显的益处. 我们进一步证明了有效的子采样策略对于最近邻场提取是容易实现的.基于几何方法的半稠密特征对齐具有明显的优势, 即对光照变化的弹性, 以及包含在基于曲线的束调整中的能力, 该束调整依赖于结构的全局、基于样条的表示. 关注于曲线校准中剩余误差的有效公式, 我们相信目前的研究代表了这一研究领域的重要补充. 我们未来的目标包括将定向最近邻场纳入大规模基于边缘的SLAM和基于样条的常规相机全局优化框架.

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目31讲

在「小白学视觉」公众号后台回复:Python视觉实战项目31讲即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

下载4:leetcode算法开源书

在「小白学视觉」公众号后台回复:leetcode即可下载。每题都 runtime beats 100% 的开源好书,你值得拥有!


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


http://lihuaxi.xjx100.cn/news/281783.html

相关文章

不要小看字符串

字符串非常非常常见又重要,而且还有那么多名堂在里面 字符串: 在标准C中,是没有字符串变量的,但是有字符数组。而且标准C带有的标准库函数:string.h中包含了大量的字符串操作函数,当然如果必要的话,你也可以…

html页面调用ico图标,如何在HTML中使用图标字体 - icon font?

日期:2012-8-27 来源:GBin1.com在线演示 本地下载主要特性使用icon font来生成图标相对于基于图片的图标来说,有如下的好处:自由的变化大小自由的修改颜色添加阴影效果IE6也可以支持支持图片图标的其它属性,例如&…

用产品思路建设中台,这走得通吗?| 白话中台

作者 | 王健,ThoughtWorks首席咨询师。 十多年国内外大型企业软件设计开发,团队组织转型经验。一直保持着对技术的热爱,热衷于技术分享。目前专注在企业平台化转型、中台战略规划,微服务架构与实施,大型遗留系统服务化…

任天堂遭史上最严重黑客攻击:完整源代码、设计文档及技术演示泄露

十三 发自 凹非寺量子位 报道 | 公众号 QbitAI任天堂的这一波泄露事件,可以说是相当惨烈。多少文件被泄露?超过2TB。涉及什么内容?完整源代码、设计文档,近乎一切用于构建Wii主机的资料,还包括像N64的技术演示。这次泄…

什么是云到云备份?

C2C备份越来越受欢迎,那么它是什么?如果发生最坏的情况,它如何帮助您的业务? 大多数企业都了解为其本地数据制定强大的备份策略的重要性,但随着越来越多的公司迁移到云,关于如何在云环境中备份数据的神话和…

OpenCV Python + Tesseract-OCR轻松实现中文识别

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达推荐阅读 42个pycharm使用技巧,瞬间从黑铁变王者Google C项目编程风格指南 (中文版) 分享转自|opencv学堂01软件版本- Python3.6.5 - OpenCV-Python 4.x - Te…

html设备监控系统模板,蓝色的远程监控设备系统后台管理界面模板

资源下载此资源下载价格为4D币,请先登录资源文件列表codedown123-0729-35/actions.html , 5281codedown123-0729-35/add.html , 7608codedown123-0729-35/apikey_manage.html , 4719codedown123-0729-35/batch.html , 7400codedown123-0729-35/change_password.html…

canvas-绘制矩形-读书笔记

使用<canvas>元素&#xff0c;必须先设置其width和height属性&#xff0c;指定可以绘图的区域大小。 要在画布上绘图&#xff0c;需要取得绘图上下文&#xff0c;也就是要调用getContext()方法并传入上下文的名字。在使用<canvas>元素前&#xff0c;首先要检测下ge…