有没有将深度学习融入机器人领域的尝试?有哪些难点?

作者阐述了当前机器人领域应用了深度学习的几大模块,并分析其应用难点。
问题:目前在机器学习领域,深度学习发展非常迅速。有很多介绍说,深度学习与人类的认知有所类似,那直观的感觉,就是深度学习也许可以融合到机器人行业中去。不知现在的学术界有没有类似的尝试?


现在深度学习这么火,大家都会想着看看能不能用到自己的研究领域里。所以,题目中的这方面尝试也是有的。我就我了解的两个方面(视觉与规划)来简单介绍一下吧。

 物体识别

这个其实是最容易想到的方向了,比较DL就是因为图像识别上的成果而开始火起来的。

这里可以直接把原来 CNN 的那几套网络搬过来用,具体工作就不说了,我之前在另一个回答amazon picking challenge(APC)2016中识别和运动规划的主流算法是什么?下有提到,2016年的『亚马逊抓取大赛』中,很多队伍都采用了DL作为物体识别算法。

 物体定位

当然,机器视觉跟计算机视觉有点区别。机器人领域的视觉除了物体识别还包括物体定位(为了要操作物体,需要知道物体的位姿)。

2016年APC中,虽然很多人采用DL进行物体识别,但在物体定位方面都还是使用比较简单、或者传统的算法。似乎并未广泛采用DL。

当然,这一块也不是没人在做。我们实验室的张博士 @HR-Zhang也是在做这方面尝试。我这里简单介绍一下张博士之前调研的一偏论文的工作。

Doumanoglou, Andreas, et al. "Recovering 6d object pose and predicting next-best-view in the crowd." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.





 
 
这个工作大概是这样的:对于一个物体,取很多小块RGB-D数据;每小块有一个坐标(相对于物体坐标系);然后,首先用一个自编码器对数据进行降维;之后,用将降维后的特征用于训练Hough Forest。

这样,在实际物体检测的时候,我就可以通过在物体表面采样RGB-D数据,之后,估计出一个位姿。

 抓取姿态生成

这个之前在另一个问题(传统的RCNN可以大致框出定位物体在图片中的位置,但是如何将这个图片中的位置转化为物理世界的位置? - 知乎)下有介绍过,这里就不具体说了。放两个图

Using Geometry to Detect Grasp Poses in 3DPoint Clouds

High precision grasp pose detection in dense clutter

 控制/规划

这一块是我现在感兴趣的地方。

简单地说,我们知道强化学习可以用来做移动机器人的路径规划。所以,理论上将,结合DL的Function Approximation 与 Policy Gradient,是有可能用来做控制或规划的。当然,现在的几个工作离取代原来的传统方法还有很长的距离要走,但是也是很有趣的尝试。

我就不多评论了,只放几个工作,具体可以看他们的paper。

1.Learning monocular reactive uav control in cluttered natural environments

CMU 无人机穿越森林

2. From Perception to Decision: A Data-driven Approach to End-to-end Motion Planning for Autonomous Ground Robots

ETH 室内导航

3.Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection

DeepMind 物体抓取

4. End-to-end training of deep visuomotor policies

Berkeley 拧瓶盖等任务


题目里还有一个问题『有哪些难点』,我这里简单补充一下:

1、在视觉领域,除了物体识别、还需要进行物体定位。这是一个 regression 问题,但是目前来看, regression 的精度还没办法直接用于物体操作,(可能是数据量还不够,或者说现在还没找到合适的网络结构),所以一般还需要采用ICP等算法进行最后一步匹配迭代。

2、机器人规划/控制等方面,可能存在的问题就比较多了。我之前在雷锋网『硬创公开课』直播(运动规划 | 视频篇)的时候有提到我碰到的一些问题,这里简单列在下面:

 可观性问题

简单地说,我们这些不做DL理论的人,都是先默认DL的收敛、泛化能力是足够的。我们应该关心的是,要给DL喂什么数据。也就是说,在DL能力足够强的前提下,哪些数据才能让我需要解决的问题变得可观。

当然,目前的几个工作都没有提到这点,Berkeley的那个论文里是直接做了一个强假设:在给定数据(当前图像、机器人关节状态)下,状态是可观的。

实际机器人操作中,系统状态可能跟环境有关(例如物体性质),所以这一个问题应该是未来DL用在机器人上所不能绕过的一个问题。

 数据量

 
一方面,我们不了解需要多少数据才能让问题收敛。另一方面,实际机器人进行一次操作需要耗费时间、可能会造成损害、会破坏实验条件(需要人工恢复)等,采集数据会比图像识别、语音识别难度大很多。

 是否可解决

直播的时候我举了个例子,黑色障碍物位置从左到右连续变化的时候,规划算法输出的最短路径会发生突变。(具体看视频可能会比较清楚)

这对应于DL中,就是网络输入连续变化、但输出则会在某一瞬间突变。而且,最短路径可能存在多解等问题。

DL的 Function Approximattion 是否能很好地处理这一状况?


是吧,这几件事想想都很有趣,大家跟我一起入坑吧~

相关标签:
  • 机器人
  • 深度学习

参与评论

提示

需求登记

×
需求类型
我的需求
内容需在50-300字之间
姓名 名称需在2-6字之间
手机号码
发送验证码 手机号码格式不正确
手机验证码
免费提交需求