新浪科技 探索

Wolfram教授:如何让机器人在城市中实现自动驾驶?

新浪科技

关注

2018世界机器人大会拟于8月15日至19日在北京亦创国际会展中心举行。大会以“共创智慧新动能 共享开放新时代”为主题,由“论坛”、“博览会”、“大赛”、“地面无人系统展示活动”四大版块构成。 本届大赛汇聚了来自美国、俄罗斯、德国、日本、以色列等全球近20个国家和地区的1万余支赛队和数百名顶尖专家,共计超过5万多名参赛选手同台竞技。

IEEE RAS主席、德国弗莱堡大学教授Wolfram Burgard进行主题演讲“基于深度学习的智能机器人导航和感知”。

以下是演讲全文:

大家下午好!今天想为大家讲一讲机器人行业的一些变化以及机器人行业的未来,重点会放在智能机器人导航和感知相关的内容,包括行业未来的趋势。

这是一个希腊神话故事,希斯夫是希腊神话当中著名的神,他相信他比宙斯还要聪明,所以他在肩上扛了一块巨石,每当搬起这块巨石快走到山顶的时候就会滚下山去,一直想把这块巨石搬到山顶,但却永远无法到达山顶,每次都要重新再来。这其实就是我们在科学当中要经历的过程,每当要解决一个问题的时候就会发现这个问题无法完全解决,需要重新寻找路径解决。每当找到新的方法但发现还是不能解决全部问题的时候,又要再一次重新寻找路径。似乎每次我们都好像即将抵达山顶,但最后还要从山脚重新走上去,毕竟在解决问题的过程中总会遇到全新的问题。

机器人导航可以分为三个部分,包括定位、建图以及运动控制。当然,这三个部分当中也有一些重叠,比如同时定位和主动定位,或者是位置探索,这是三者的结合点。这些领域当中我们所取得的进展,这里做了一个大概的评级,其中星号数量表明我们在不同的基础上取得了多少进展。

这是一部自动驾驶的汽车,使用的是雷达扫描仪,有了这种扫描仪就可以知道周边发生了什么情况。这种技术对自动驾驶来说是非常重要的,只有有了自动扫描才能实现自动驾驶,所以也是自动导航能够发挥作用的重要领域。

很多制造流程用的都是自动化技术,但如果能够实现自动化生产,效率就会非常高了,但灵活度会比较低。被中国公司收购的库卡公司也解决了一部分这样的问题,即让机器人实现更加灵活的生产过程,有了这种技术就可以打造一些非常棒的东西,比如高精度定位等等。

这种定位的方式叫做蒙特卡洛,也就是在一个全局当中来做细致的定位。当然,首先是要做绘图,然后再做测量。通常可以做到非常准确,比如这样一个小的移动机器人就能够实现非常精准的定位。当然,可以把它用到工厂当中,比如库卡就可以将它和一些重型的卡车结合使用。重卡可能是高重量的,可以做这种非常小而轻的物体运送。工厂当中可能会用到这种小型机器人,也可以用于其它领域,比如用它运送一些非常大型的物体,甚至波音777客机,所以这种精准导航的技术都有很高的要求。

我们在导航领域也取得了一些进展,比如高精度定位,很多公司都在使用这种技术实现一定的智能化,当然,还需要绘制精度非常高的地图。而在过去的十五到二十年当中这种绘图的技术也在不断发展,现在已经有了比较强大的绘图技术。这是用机器人绘制的图,甚至可以看到机器人行走的轨迹,使用的也是激光扫描仪来扫描这样的路径,可以通过不断的移动绘制出当地的地图。

我们可以在各种应用环境当中绘制非常高精准的地图,有些可以直接在手机上绘制,甚至画出3D图,比如这是弗莱堡大学的3D图,可以看到中间可能有个长方形的建筑。当然,如果应用在自动驾驶汽车当中就可以为之制作更为复杂的地图,比如知道停车场在哪里,加上定位的技术也就能够实现车辆的自主泊车而不需要人工。几年前就在某些地方做过这种实验,实际上这些应用已经在斯坦福的无人驾驶汽车实验当中测试过了,可以在自己的停车场当中自动停车。虽然我们还没有完全解决绘图领域的全部问题,但现在已经有非常高智能的停车系统了。

目前我们在导航技术方面还面临着一些关键性的挑战,从长期的角度来说,解决了高精度定位、高鲁棒性的建图等问题,但从长期自主决策的角度我们怎么实现这种目标呢?这个世界不是静态的,有着很多的环境是我们预测不到的,这些车辆怎么应对这样的问题呢?比如在城市当中的自动驾驶,我们能否使机器人在城市当中实现自动驾驶?在人口众多的城市中心机器人如何自我导航,机器人若能有这样的自我导航功能,就可以完成快递比萨等工作。

这里我们看到的是在弗莱堡城市中心的小机器人,它在城市中心到处移动,机器人需要防止掉到运河当中。

另外一个挑战就是人,特别是孩子,孩子特别喜欢和机器人玩耍,有的时候我们在弗莱堡的城市中心去做实验的时候孩子们会抓住机器人跟它玩,可以看到孩子们站在机器人的前面,机器人想转个向,孩子却把它挡住了,看起来机器人没有办法到达它的目标地点了,所以我们要解决的问题是给这些孩子买些冰淇淋,他们就把机器人放掉了,这是我们在城市中心经常会遇到的问题。

我们还做了一个自动导航实验,是在弗莱堡奥伯利路上面,机器人的自我导航没有出现任何问题,可以看到这条路径也是它自我决定的。这个视频是让我们看到机器人怎么在城市中心自我导航,大概花了两个半小时到达了城市中心的目标地点,独立绕过了很多的障碍。这也就意味着机器人是有可能实现长期自主决策,几天甚至几周连续自我决策。但仍然还有一些缺少的地方,例如在自我驾驶车辆的方面,有的时候速度非常的快,而且有很多的情况是预测不到的,所以在这种情况下真的很难实现完全的自动驾驶。

现在的问题是,我们怎样建造一个基于技术的自我驾驶汽车,我们应该做些什么,需要开发什么其它的技术,下一步怎么走,今后这项技术应该怎样发展以便于我们有机器人自动驾驶车辆,所以从我的角度来说,最关键的解决方案在今后几年都是机器学习。这其实也是我在一开始提到的,当你到了山顶的时候石头又会滚下来,然后出现了一些新的现象,又得重新往前走,这其实是目前我们在做的一件事情,也就是大量地依赖于机器学习。

举个例子,什么学习的方式对这种情况是有用的呢?比如学习驾驶的风格,要在帕利托或者加利福尼亚开车的方法和在北京是完全不一样的,或者在新德里、提尔瓦这些世界上交通状况最复杂的区域开车也是不一样的,机器人在这样的环境当中要让汽车能够适应当地的环境和导航情况,用户也有不同的期望。考虑到我自己父母的情况,他们可能更喜欢在车里慢慢地开,我开的会比他们快很多,所以我们驾驶的风格不一样,很多的参数是需要调整的,需要使其效率更高。我们可能不能100%地解决这些问题,需要通过工程和设计的方式改进它。如果我们采用了自动驾驶技术的话,每辆自动驾驶的汽车都必须适应每个用户的期待和需求。

除此之外,我们还需要有高级互动的功能,这样的功能也是现在我们正在致力于开发的。我们企图实现人和汽车之间的互动,希望能够监测用户在使用过程当中的一些错误,如果出现错误的话需要机器来纠正,所以如果有一个用户和机器之间互动的界面可以实现互动,也可以实现在驾驶期间实时的调整和纠偏,自动驾驶系统可能做紧急刹车的行动。再就是需要在线预测用户的偏好,我们有机器人可以帮助去组织和整理货架,机器人可以辅助日常生活,比如清理厨房,或者把早餐的碗碟拿到洗碗机里面。

机器人如何知道什么东西应该放在货架的什么地方呢?一个解决方案就是从用户那里学习,我们可以看到这张图片,如果把货架上面的一个东西改变位置的话,机器人会把其它的东西换到其它的地点,所以我们采取多元方式,需要有足够的信息输入机器,然后机器才知道把什么东西放在什么位置,用户也会有自己不同的偏好。因此,组织货架的时候你是有自己的习惯,决定把某个东西放在某个货架上面,机器人就会适应每个用户的偏好和需求。

另一个我们经常会遇到的问题就是深度学习,给大家举几个例子,都是我们在研究过程当中遇到的一些问题,深度学习可以帮助机器人的感知,并且提升现有的技术。这里给大家看的一些例子是物体的监测、人体部位的检测以及导航,通过深度学习来实现这几点。

首先是用于物体监测的深度卷积神经网络,我们是融合自动学习,结合两个网络的特征输出。训练的过程当中第一层网络的参数保持固定,这是学习的结果,实现了类别的识别,已经有几年的历史了,现在有更好的方法来实现物体的识别,只是想告诉大家在当时通过使用深度卷积神经网络我们实现了最新的识别技术。

基于图像的人体部位检测的深度学习,我们可以看到孩子在机器人面前移动,可能阻碍住了机器人,机器人要识别出这是人还是自行车,所以这就需要对人体部位进行检测识别,这方面我们做了很多的工作,采用的是全卷积的神经网络。这是我的一个学生,她躺在一堆木头当中,机器人要识别人体部分,这在搜救的过程当中非常管用。再就是在线的数据,比如刚才提到的奥伯利路的机器人实验,体现的是对奥伯利路数据的应用。

这是深度学习用于基于声音的地面分类,通过轮胎和地面产生的声音来识别地面,利用的也是卷积神经网络的技术。我们用一个麦克风把声音记录下来,然后由机器人来识别不同的地面。如果你们冬天开过车的话都知道这种声音和平常是不一样的,因为在雪地上开车和在平地上开车的声音肯定不一样,所以我们的功能可以自动识别在驾驶的地面,可以自动调整你的驾驶模式。我们所看到的有各种各样的地面,沥青的、木头的、地板的、草地的等等,甚至还有杂草丛生,没有修公路的地面,通过机器人可以准确识别地面的状况来调整驾驶模式。

这些是我们所做的实验结果,和最新的声音识别技术相结合,实现了在500毫秒的窗口上取得了99.41%的准确率,相比于之前的技术水平有16.9%的提升。大家可以看看这个网站,评估一下自己的性能,如果大家去实验其实也是蛮不错的,我们已经对它进行了足够的训练,并且达到了足够高的水平。我们也将它用于室外的自动驾驶,也就是通过地面识别的技术助力室外的自动驾驶。导航的过程当中也是基于深度卷积神经网络的路面分类,这个图像当中我们可以看到一种地面,通过深度卷积神经网络结构作出的路面分类,运动分割会把一个移动的车和停止的车分开,比如绿色表示移动的,蓝色表示停止的,红色是指距离很远的车,甚至可以判断如果这辆车停下来的话会从绿色变成蓝色,网络会根据颜色的变化作出决策。

最后一个问题就是我们能不能实现端到端的自动导航,可以把自动导航考虑为一个分类的现象,其实我们也可以把它看作一个迷宫。如果有这样一个迷宫的话,你只能上下左右移动,绿色是目标点,也就是机器人应该去的地方。你所做的需要一些算法计算它的最优路径,也就是端到端的自动导航,如果能够训练一个网络来做这些决策的话效果会更好,最后得到的就是基于最近的观察。可以看到左上角这个蓝色的点,其实这是机器人可以看到的,因为这是一个飞行机器人,可以看到周围的空间情况。这样的图像序列当中可以判断下一个需要进行的行动是什么,比如有地面的识别,这些都作为输入。

这是计算出来的一个最佳途径,旁边是网络产生的结果。需要提到的是,网络对路径的规划并不了解,只是知道整体的环境,只是对历史进行积累和回顾,就是从一些错误当中吸取经验和积累数据,可以捕捉不同位置的信息。观察当中我们发现其实我们并不需要路径规划这样复杂的算法就能够实现导航,通过把这些数据转换成激光图数据。

现在的问题在于,我们要想定位的话首先要对当地的环境建图,现在的问题是机器人在一个新的环境当中能否自己建图呢?回答是肯定的,我们其实是可以做到的,甚至可以把我们在一个环境当中获得的信息迁移到其他环境当中,只要这些环境是类似的。比如超市环境,欧洲超市的结构都是很类似的,所以要去找牙刷的话肯定不会是在超市的入口,因为超市的入口一般都是水果,这样的环境当中可以实现更好的导航,机器人的导航背后其实就是数学的算法。

这张图当中红线其实是最优化的路线,也就是A点到B点最好的做法,蓝线就是从最开始学习一直到最后形成最好路线的过程,绿线是在监督下学习的结果,也就是基于一些规则进行训练的过程,基于规则试图让它尽快学习到最优化的训练方式。这就相当于在之前环境当中学到的经验拷贝到另一个环境当中进行监督式的学习,机器人实际上可以将在一个环境当中学到的经验应用到另外一个环境当中。

这是一个实际的例子,可以看到机器人在之前学习环境的基础上做出一些变化以后进行导航,更换了地图的情况下还可以正常运转,能够绕过障碍到达预定的地点。机器人花一点点精力就可以在另外一个环境下运行,这从科学的角度来说是非常有意思的话题,意味着如果用相应的网络,这个网络当中不用非常复杂的计算就可以实现同样的功能,也就是说我们可以用技术减少很多的工程工作量,未来我们甚至可以将一个解决方案应用到更多类似的问题上面。

有些人可能读过这本书,里面讲了很多数学的问题,比如有了一个端到端的解决方案以后是否能够应用到其它领域当中。有些时候可能有了一个解决方案以后,其它的就不用再做重复的开发了,至于未来真正会走向何方还是值得大家去讨论的,我们也不是百分之百确定这样的未来会真正发生。

加载中...