锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

机器人学习--全局定位(阿尔伯塔大学张宏教授报告)

时间:2023-07-20 15:37:00 sick传感器数字量

转自:https://new.qq.com/omn/20200816/20200816A0I8KP00.html

1

机器人导航

众所周知,机器人有不同的形式,包括操作机器臂和移动机器人。所有移动机器人都需要导航,包括防爆机器人、双脚机器人、四脚机器人、清洁机器人UVA、自动驾驶机器人等等,所有的移动机器人都必须有一个自主导航的功能。

我今天的报告围绕移动机器人导航这个话题,首先介绍导航涉及的几个方面,今天的重点是移动机器人的整体定位。机器人定位需要一些传感信息。对于环境感知传感器,主要有激光雷达和视觉两类。回顾过去和最近机器人、移动机器人定位的研究工作,最后花几分钟与大家分享这一研究方向的前景。

移动机器人这个话题大家应该都很熟悉,传统的研究方向至少包括轨迹规划、避障、构建地图和定位。构建地图和定位是耦合的,没有地图就没有定位。我们在制作地图的过程中也需要定位,所以这两项工作必须同时完成。两者的同时研究称为SLAM, 即simultaneouslocalization and mapping的缩写。

2

机器人定位:局部vs全局

今天的报告侧重于定位,分为全球定位和局部定位。为了完成这项工作,有三种传统方法:优化、全景描述和局部特征匹配。任何方法都必须得到传感器信息的支持。今天,我主要讨论如何使用激光雷达和视觉信息来完成全球定位。

如何完成全球定位?我们可以使用传统的手工模型或机器学习方法。当我们谈论定位时,有一个假设:地图已知。正如我刚才提到的,定位工作分为两类:一类是局部定位/精细定位。机器人在前一刻做动作时已知位置。另一个更难进行全球定位。全球定位的困难和挑战来自三个方面:

1.缺乏先验知识;机器人的位置在前一刻是未知的。

2.重新定位和闭环检测时,即当机器人回到访问过的位置时,会发生各种变化,包括光线和视角的变化,以及一些动态物体引起的变化;

3.大尺度。由于地图通常包含许多不同的位置,当传感器观察到的信息与地图中不同位置的信息匹配时,计算复杂性将涉及到计算问题。我们称这个挑战为大规模问题。

说到这里,我们不妨从仿生学中看看自然界中的鸟类是如何完成这项工作的,并从中得到启发。我们必须知道候鸟有很强的导航能力。它们可以跨越1000多公里的目的地,顺利完成导航任务。它们是如何完成的?它只依赖以下传感技术:

1.眼睛。视觉使它们完成中距离和近距离导航;

2.方向。通过地球磁场、太阳偏振光、星星和时间的概念,完成长途导航。

3.地图。也许我们在这方面不是很强大,但自然界的动物,包括鱼和鸟,通过嗅觉完成导航。还有一些鸟有声纳能力,可以通过声音来测量距离。事实上,这些鸟类使用的传感技术与机器人的全球定位非常相似。

3

机器人定位传感器

还需要传感器来定位机器人,主要分为激光雷达和视觉两类。

西方公司早期激光雷达Velodyne、Hokuyo 和SICK垄断,但今年国内科技的快速发展,出现了令人兴奋的激光雷达产品。导航定位还需要其他传感器,如全球定位、雷达声纳和视觉深度像机传感器。

不同的传感器有不同的优缺点。我来谈谈激光雷达和视觉的比较。激光雷达产生点云,需要解决的工作是将激光雷达观察到的点云与地图上的几个点云或数据相匹配。优点是精度高,有三维信息;缺点是缺乏纹理信息。相比之下,视觉提供了激光雷达无法提供的纹理信息,但精度较低,室外定位精度可达十米以上,室内定位精度可达厘米。当然,视觉最大的问题之一就是失去了三维信息。

刚刚谈到了什么是全局定位,它和局部定位有什么区别;同时也谈到了传感技术,接下来谈一下全局定位技术,即完成该工作的算法。

全球定位有20多年的研究历史。有趣的是,最初的全球定位方法是从激光雷达开始的,主要利用传统的手工特性,即处理和提取激光雷达点云的特性,并通过特性匹配完成全球定位。匹配算法是基于优化方法。目前的发展方向主要是基于视觉完成整体定位。特征提取的手段主要依靠深度学习,利用当地特征提取和匹配来完成整体定位。

在方法分类方面,全球定位技术有三个维度:

1.传感信息来源:激光雷达、视觉和多模式集成。

2.特征提取方法:传统手工模型——由于原始数据量大,辨别力差,需要通过深度学习提取特征——完成。

3.定位算法利用提取的特性完成定位:优化方法-当定位损失函数达到最小值时,机器人的位置通过全景描述符匹配或局部特征匹配完成。

任何一种全局定位方法无非是选择某种传感器 特征提取方法 算法构成。

4

机器人定位研究:过去和现在

我这里首先介绍一些比较经典的工作,这篇文章是在1999年完成的,是我能想到最经典的方法,还有很多同学和朋友用过ROS (robot operating system),对AMCL函数非常熟悉,假设下图中间的蓝色地图已知,给定激光雷达的点云,这是单线,即二维激光雷达,逐步更新和优化机器人可能出现的位置,最终完成机器人定位。ACML工具是离子滤波器,也是一种优化方法。ACML工具是离子滤波器,也是一种优化方法。然后我们可以从三个维度对最经典的方法进行分类,即利用二维激光雷达、手动特性和优化计算方法来完成全球定位。

再往前推10年,到2008年,也有代表性的文章,通过子地图匹配。刚才提到做全局定位往往需要处理原始数据,原始数据量大,辨别力低,处理麻烦,需要提取特征。本文提出了基于直方图的特点,用这些直方图来描绘子地图,完成对子地图的匹配。这个定位过程相当于用点云对准的方法来完成,即将定位问题转化为点云对准问题来解决。

再往前推10年是谷歌推出的大家熟悉的激光雷达SLAM算法,这也涉及到整体定位的问题,通过地图网格,估计机器人的位置,其最大的特征是它使用的branch-and-bound优化方法非常成熟,比前人提出的方法更有效。

最近有代表性的方法体现在这篇文章中CVPR 2019年发表的文章以深度学习的方式完成了全局定位。该网络分为两部分:

1.最左边三个不同的点云,初步计算每个点云,确定每个点云的位置。

2.右侧是对这些初始定位的固定云进行精确定位。它是将整体定位分解为地图和点云对齐的两个步骤。这是一种利用优化来解决整体定位的方法。单一优化过程不是通过经典的分析优化算法,而是通过神经网络,效果相当好。

以上所有方法都是基于二维点云来完成整体定位的。10年前,即2010年左右,三维点云和多线激光雷达技术逐渐成熟,其次是基于三维点云分析方法和移动机器人的整体定位方法。

本文解决了规模问题:首先,三维多线激光雷达产生的点云(NARF)提取,现在观察到的NARF地图上的特征NARF快速匹配特征,完成全局定位。

此外,与上一份工作类似,本文介绍了更新颖的三维特征Gestalt提取方法,提高辨别力,使点云匹配效果很好。

以上所有工作都是基于匹配三维点云中的局部特征点来完成全球定位工作的。2016年,我的两名学生首次提出了如何生成所谓的全球描述符:给出一组由多个点云组成的地图,然后描述每个点云,将地图上所有的点云变成描述符;当机器人观察到一个点云时,用同样的方法生成描述符。然后将观察到的描述符与地图上的描述符逐一匹配,并计算相似度,以产生当前机器人的位置。

这件工作中描述符是如何产生的?

输入是一个点云,输出是一个向量,它描述了点云的特征,生产过程包括几个步骤。首先,将点云投影到几个特定的二维平面上,然后生成一个矩阵,通过分解矩阵的奇怪值(SVD)计算矩阵的左右特征向量,最后将两个对应最大奇异值的左右特征向量拼在一起,形成一维向量作为点云的描述符。

描述符的代码是开源的:https://github.com/LiHeUA/M2DP

视频介绍了验证实验 (https://www.youtube.com/watch?v=o87MGK8qQaY)。这项工作是在流行的公共数据集上完成的。左上角是机器人观察到的视觉图像(不用于定位),右上角是不同位置收集的点云。每个点云都应该计算描述符。地图中的不同位置由几个描述符描述。当机器人返回访问过的位置时,计算当前观察到的描述符,计算当前观察到的描述符和地图中的描述符的相似度可以完成当前机器人的全局定位。

在过去的两年里,全景描述符变得越来越流行,包括深度学习产生一维向量的方法。作为对全球点云图的描述,它受到光线变化的极大影响,但激光雷达产生的点云具有更好的光变化,可以有效地完成高精度的全球状态工作。

在介绍如何使用二维和三维点云来完成全局定位之前,下面介绍了如何使用视觉信息来完成全局定位。

需要完成的定位工作可以通过这张图片来理解:给出一张地图,视觉取样地图的关键帧和特征,即照片,当前机器人观察到另一个图像,图像已经存储在地图中吗?如果当前图像与地图中的图像成功匹配,则完成了全球定位工作。

基于视觉的整体定位有几个挑战,挑战来自:

首先是光变化和视角变化的挑战:第一次和第二次访问不一定是同一时间,光线和视角会发生变化。来说,上面两幅图像问大家是不是来源于同一个地方?大家可能需要认真地看一会儿才能作出正确判断,通过比如说这个楼和这个楼是同样一座楼,还有路旁的树木。

大尺度的挑战

这张地图里面包含了千万张关键帧图像,如何实时完成图像匹配是个巨大的挑战。

如果不考虑计算复杂性,图像匹配工作原则上讲不是很难,给你两幅图像,看看是不是来自于同一个地点。我们对第一和第二张图片进行点对点的特征匹配,如果有足够多的特征点匹配,我们就能初步判断图像来自于同一个位置。当然,如果有光照和视角点变化时,特征点匹配则不是那么容易。再有就是刚刚讲到的大尺度问题,如果地图包含很多不同的地点,一幅图像跟几万个地点匹配,这件工作的计算量是相当大的,对实时运算产生挑战。

如何解决这三个挑战?

先谈一下大尺度的挑战。解决方法之一,就是通过对图像中俄特征点进行筛选。这是因为在完成特征点匹配时,不是所有的特征点都有效。在我2011年完成的一件工作中,证明了大尺度的角点或者特征点检匹配率是很高,我们可以用这个特点对提取出来的特征进行筛选,去除占比例非常高的小尺度特征点,提高整幅图像匹配效率。

还可以利用有效的数据结构来加速完成匹配这件事,比如说用树结构存储特征来完成匹配,用图结构来存储地图里面所有的局部角点,以完成观察到图像中的角点和地图图像中的角点的快速匹配。另外一种方法是通过查表方法,在所有的搜索引擎里,百度和谷歌在搜索网页的时候,给几个关键词就能迅速把互联网中相关的网页找到,就是通过查表的方法。同样的方法可以利用到图像特征匹配,以完成全局定位这件工作。

以上讲的是如何利用局部特征描述视觉图像,解决全局定位的问题。我们也可以通过全局描述符、全景描述符的方法来对一幅图像进行刻画,完成全局定位的工作。我们在2012年提出了一种全局描述符的算法。如何对一副图像进行描述呢?首先把它分成若干个块,每一个网格用滤波器进行处理,每一个区域都有若干个反应量,把所有反应量叠加在一起就形成了对整幅图像的描述符,描述图的维度不是很高,所以,我们就可以利用描述图进行图像匹配,以完成全局定位的目的。

随着深度学习的发展,近几年有很多基于深度学习完成移动机器人全局定位的算法出现,我们也做过这方面的工作。深度学习很成功的研究方向之一就是图像分类,如图是其中一个比较流行的网络,它的输入层是一幅图像,输出用来分类,我们可以把神经网络的中间层想象成是对输入图像的刻画,即任何一个中间层都是输入图像的描述幅。利用中间层产生出来的向量描述符,完成图像匹配和全局定位这件工作。

我们在2015年的时候做了这件工作,下图左边是不同的深度神经网络在做图像匹配工作的表现,曲线越高表现越好。右边这幅图介绍了神经网络产生出来的描述符,天蓝色和棕色都是深度神经网络产生的描述符,比传统的手工完成的描述符方法更好,以证明深度学习/深度神经网络是产生全景描述符很好的方法。

这些年这个方向也有了很快的发展,最近趋势可以通过下面这件工作来了解。首先是对一副图像更细的处理,检测和描述图像中的物体。框图左边和右边是类似的过程。进行图像中的物体检测后,再对每一个检测出的物体用神经网络进行描述,图像和图像之间匹配的工作可以通过匹配刻画物体的特征向量来完成,这个工作在全局定位算法中有最好的表现。

基于上述的全局定位的框架,我的另外一个学生在2018年完成了对这个框架的加速,下图中右上部分代表我们方法保留了现有框架的精度;下图右下的绿色和红色是我们提出的方法,运行的速度比其他方法要快很多,从绝对数量来说,几十毫秒就能完成在有2.1万张图像地图中的全局定位。

最后介绍的工作是为了解决全局定位中最难的情况,做甚至不可思议的事情,就是极端变化条件下完成全局定位。这个照片代表着白天拍下一张黄色汽车从左往右行驶的照片,下面的图片是在晚上汽车拍下从右向左行驶时的照片。

从位置角度看,汽车到达了同一地点,但图像获取的方向和光照条件完全不一样,在这种极度变化条件下如何完成这两组图像匹配?上图右上面的两张图是机器人拍下来的。解决方案分两步走:

1、粗匹配,对图像进行语义分割,分割出来的每一类做描述符,通过图像之间的描述符进行匹配之后初步的筛选。

2、对每幅图像的特征点精匹配,最后达到全局定位。

最后介绍两篇基于传感信息融合的全局定位方法。下图中的方法中,第一步通过视觉信息完成,第二步通过激光雷达完成。

在今年刚刚发表的文章中,同样也是利用对激光雷达和视觉图像信息融合完成全局定位,但全部工作是利用深度神经网络完成。在该方法中,由点云、图像分别各产生一幅描述符,然后对两个描述符进行融合,之后产生融合后的描述符,这个融合后的描述符为全局描述符,用来完成全局定位工作。

5

未来展望和总结

最开始把导航工作分成几个模块,其中包括刚刚提到了的SLAM,泛义SLAM把避障和轨迹规划也归纳到其中。SLAM技术是移动机器人必不可少的工具,过去二三十年的移动机器人导航研究工作重心放在SLAM,但构建地图的目的局限于为了完成定位。现在大家逐渐发现,我们只支持定位的地图是不足以完成导航的,因为导航同样也需要避障和轨迹规划,所以我们就需要搭建更稠密的地图,开发Dense Mapping算法。

另外一个移动机器人导航重要的研究方向是如何对环境进行有效的语义刻画。为什么要对环境做语义刻画呢?首先,语义刻画衔接了我们与机器人对环境的理解的差距,起着桥梁的作用。再者,通过对环境的语义表达,其结果会更简洁和抽象,具备环境信息处理时的优点。所以语义刻画是目前业界比较关注的研究方向,ppt中这个白皮书的作者,是做SLAM工作、大家熟悉的AndrewDavison,白皮书中他提出了Spatial AI的概念。我们做移动机器人工作也是在做人工智能,只是跟空间息息相关的人工智能,而SLAM技术是人工智能的基础工作,是必不可少的工作。

如果想在移动机器人导航方面进行更深入的研究,应该明确我们想达到的目的是什么?现在已经有了很多相对成熟的SLAM技术,但距离自主导航远远不够,我们还需要:

1、对环境的语义表达、理解能力。我们和机器人的理解不一样,机器人生活在数字世界里面,我们生活在抽象的概念里面,让机器人和人共融就必须让机器人具有语义这个层次的推理规划能力,使得机器人可以胜任人们赋予它们的工作。

2、更高的鲁棒性。目前移动机器人的鲁棒性尚不能满足实际工作的要求,为了它们能胜任各类任务,鲁棒性需要大幅度的提高。

3、真正意义上的自主移动机器人。关键词是“自主”, 而具有这种能力的机器人从我个人角度来看,跟我们目前的研究水平之间还有一定的差距,这也正是大家需要努力的方向

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章