专栏首页量子位这台无人机40小时经历上万次事故,终于借助AI学会了自动飞行

这台无人机40小时经历上万次事故,终于借助AI学会了自动飞行

陈桦 编译自 IEEE Spectrum 量子位 报道 | 公众号 QbitAI

卡耐基梅隆大学的机器人专家Dhiraj Gandhi、Lerrel Pinto和Abhinav Gupta近期发表了一篇名为《通过事故来学会飞行》的论文。论文摘要很好地介绍了研究内容:

模拟环境和现实世界之间差异巨大,特别是在感知问题上。大部分研究避免大规模使用真实数据是因为担心发生事故!在这篇论文中,我们认为应当接受事故,并收集关于事故的数据!我们开发了一台无人机,其唯一目的就是与对象进行碰撞。我们利用负面的飞行数据,以及来自同样路线的正面数据去了解无人机的飞行策略。

场面,大概是这样:

对飞行、驾驶或行走等运动操作来说,不断地避免事故就是成功。

从这种角度来说,最有效的飞行学习方式是获得大量的事故经验,从而知道如何避免这些事故。如果可以可靠地避免事故,那么就意味着学会了飞行。这很简单,但我们通常并不是通过这种方式在学习,因为事故往往会给机器人和人类造成严重后果。

卡耐基梅隆大学的机器人专家希望看看,人为制造事故的策略是否能带来帮助。因此,他们让AR Drone 2.0无人机在20种不同的室内环境中去飞行,在40小时的飞行时间里发生了1.15万次事故。

研究人员指出:“由于这种无人机的外壳成本很低,易于更换,因此灾难性事故带来的成本可以忽略不计。”

每次碰撞都是随机的,无人机从空间中的随机位置起飞,随后缓慢前进,直到撞上障碍物。然后,无人机回到起点,选择另一个前进方向。

在训练过程中,无人机前方的摄像头以30Hz的频率拍摄照片。碰撞发生时,飞行轨迹照片被分成两部分:飞机正常飞行的部分,以及事故发生前的部分,然后分别输入到一个用ImageNet数据集预先训练过的深度卷积神经网络。神经网络将学习什么样的照片意味着继续前进的决策是否正确。

在1.15万次碰撞之后,他们最终得到的算法可以帮助无人机自动飞行,即使是在狭窄的空间里也能躲避移动的障碍物。这样的无人机甚至还能躲避没有任何特征的白墙和透明玻璃。

算法对无人机的控制逻辑很简单:将摄像头拍摄的照片分成两部分:左侧部分和右侧部分。如果其中一张照片看起来碰撞的可能性要小于继续直行,那么无人机就会转向。否则就继续前进。

目前这一算法仍然不如人工操作,尤其是在相对复杂的环境中,例如狭窄的走廊,或是摆满椅子的走廊。

不过与最基本的方法,即单纯感知景深相比,这一策略的效果更好,在不同环境下性能提升大约为2倍到10倍(以飞行时间和飞行距离来计算)。性能最明显的提升是在面对白墙和透明玻璃时。景深感知方法在这两种环境下的效果尤其不佳。

最关键的问题是,这种方法是否比另一种方法,即确保无人机在无碰撞情况下飞行,取得的效果更好,目前还无法做出判断。

但可以看到,如果允许无人机发生事故,那么将可以实现无监督学习:只要将无人机放在室内环境中,算法就能自动学习。除了需要人类来给无人机更换电池之外,所有的数据收集和学习都是自动的。

如果你希望无人机在飞行时不发生事故,那么就需要为无人机寻找合适的路线。你可以选择由人工介入,在环境中部署运动捕捉系统,或是绘制障碍物的三维地图。然而,这样做将带来更高的复杂度。如果允许无人机发生事故,那么一切都变得简单。(完)

论文地址:https://arxiv.org/pdf/1704.05588.pdf

本文分享自微信公众号 - 量子位(QbitAI),作者:炸机啦!

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MIT这个新机器人是……能在地上跑的无人机?能飞上天的无人车?

    陈桦 编译自 MIT News 量子位 报道 | 公众号 QbitAI ? MIT计算机科学和人工智能实验室(CSAIL)正在开发一种既能飞又能跑的机器人。 一...

    量子位
  • 一键抠出细密发丝,这是Adobe最新的AI抠图算法,即将上线Photoshop 2020

    这就是Adobe为Photoshop 2020准备的最新功能:用机器学习算法,快速捕捉对象。

    量子位
  • 联想MWC大秀另一面AI实力,BAT为此转型以求

    毫无疑问,这两大交融交汇的科技浪潮,正在推动全球科技公司变革,也在加剧新格局重塑。

    量子位
  • yml中某些配置不生效的解决方案

    最近突然想不开,将springboot项目的properties配置文件改为yml,改完之后redis死活连不上了。

    小尘哥
  • [android] 隐式意图和显式意图的使用场景

    看到Display.com.android.mms/.ui.ComposeMessageActivity

    陶士涵
  • Android实现开机自动启动APP

    我们在开发的过程中,可能都会遇到要求开机自动启动一个APP这样的需求,于是就有了本文,看下文↓

    Vance大飞
  • .NET面试题系列[0] - 写在前面

    经过了四年的C#开发工作,我除了获得到的offer之外,还面试失败或拒掉了不少offer,加起来面试的次数至少有30次。这些面试有质量很高的,也有泛泛而谈的,不...

    s055523
  • 芯链第1课 如何在Ubuntu64位系统下搭建HPB开发环境

    本文详细讲解如何在Ubuntu 64位虚拟机上搭建HPB开发环境,并给出了遇到的各种问题的解决方法。主要包括: (1)下载HPB版本并编译; (2)创建账号...

    辉哥
  • Android使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信界面

    将布局改为LinearLayout,并通过android:orientation="vertical" 设置为垂直布局,然后添加id属性。

    砸漏
  • pycharm快捷键

    作者:lslx518 来源:CSDN 原文:https://blog.csdn.net/lslx518/article/details/81483089 ...

    kalifa_lau

扫码关注云+社区

领取腾讯云代金券