最前沿:聪明的机械臂就应该你说什么就做什么

271 阅读4分钟
原文链接: zhuanlan.zhihu.com

说到机械臂,大家肯定会想到钢铁侠里面的贾维斯,钢铁侠可以通过语言和它交流,非常有意思。今天Flood就和大家分享一个日本人工智能公司Preferred Networks的工作《Interactively Picking Real-World Objects with Unconstrained Spoken Language Instructions 》也就是通过语言交互式的命令机械臂来捡取物体,在简单环境中实现了很酷的人机交互效果。这篇paper是今年ICRA2018 人机交互板块的最佳论文。


我们先看一下官方提供的视频吧:

看起来效果非常不错。那么这个系统是怎么实现的呢?


简单分解一下,大概有以下几步:


1)读入人类的语音信息,通过Google Chrome 的Web Speech API将语音转为文字。

2)输入图像和文字到一个深度学习系统当中,输出目标物体和目标位置信息。这部分是这篇文章的关键。

3)将目标物体和目标位置信息提供给机械臂,机械臂采用传统控制规划路径,执行整个操作。


所以,这个工作的核心在于图像和文字信息的处理(机器人的眼睛和耳朵),机械臂只是最终的演示机构,并不涉及太多的控制问题。


对于机器人的问题,能够work是最重要的。由于深度学习在CV和NLP领域上的突破,将深度学习应用到机器人问题上,解决机器人的视觉和听觉问题,就能大幅度提升机器人的应用效果了。当然,我们更喜欢的是完全端到端(End-to-End)的机器人系统,不过用深度学习来完全取代原有的控制系统还依然是比较困难的。所以我们可以发现很多ICRA会议上的paper都不是端到端的系统,而是根据需要使用深度学习技术,达到work的效果。


看到这个工作,其实还是很让人眼前一亮的,我们有理由期待未来更复杂更酷的机器人应用。


====================================================


下面我们就来更详细的看一下这个工作设计的深度学习系统吧。

上图就是这个深度学习系统了,相信熟悉物体检测object detection和NLP的朋友会觉得这个神经网络的设计非常直接而简单:


1)先使用物体检测算法SSD来检测图像中的每一个物体,然后对物体进行裁剪,得到每一个物体的图像。

2)接下来我们需要根据文字找到对应的物体是哪一个。基本的思路就是相似度比较:每次拿一个物体图片和文字输入到神经网络进行比较,如果文字就是描述这个物体,那么输出就应该是1,反之是-1。基于此进行训练。那么为了构造这个网络,图像就用CNN和MLP提取特征,而文字则使用word embedding和LSTM来提取特征,然后把图像和文字的特征进行一个cosine 相似度比较。这里不管是图像的处理还是文字的处理都是非常直接简单的做法。

3)获取目标位置。目标位置只需要通过文字信息获取,那么也一样简单粗暴一点,对文字单独额外构造一个神经网络来输出目标位置就行了。


重点说说第二部分的实现,这个two branch network通过训练各种不同物体和文字的相似度,实际上也训练一个Meta的Zero-shot learning系统(无处不在的Meta Learning),意味着即使有从未见过的物体,也能够根据文字信息找到。这个就比较酷了。核心在于zero-shot learning的设定,每一个word的word embedding都是其semantic representation,这个向量互相之间有距离,从而使用新的物体也能够进行识别。可以阅读https://arxiv.org/abs/1711.06025 对于zero-shot learning进一步了解。


另外,万一分不清楚怎么办呢?paper也采用了很简单的margin-based方法。也就是每一个物体都可以输出一个目标score,如果score差异很小,那么可以认为机器人没有识别清楚,反之只有一个物体的score特别高,那么这个物体就可以比较确定了。


然后具体的实验他们先构造了一个数据集,包含了1180张图片,25900个物体和91590个文字命令,然后训练这个神经网络。这里就不具体说了,虽然实际上对于机器人的工作怎么训练出来,训练到什么程度才是最重要的。而这个网络结构的设计反倒是简单的。


这篇paper就介绍到这,喜欢就点赞吧!

最后,欢迎各位感兴趣的朋友关注我新开的公众号 FloodSung的AI游乐场 ,相比于知乎专栏,我可以更快速的为大家分享最前沿AI,谢谢!所有文章都将首先在公众号发布!
公众号二维码在这里:
https://github.com/floodsung/songrotek.github.io/blob/master/gallery/qrcode.jpggithub.com