蒋宝尚作者

被啤酒节遗留垃圾吓到,德国小哥发明现实版“瓦力”清洁机器人

喜欢科幻的小伙伴肯定看过《机器人总动员》,男主角“瓦力”是一名地球废品分装员,每天在已经成为了“垃圾场”的地球兢兢业业的收拾人类留下的“烂摊子”。

瓦力是名副其实的智能机器人,除了动作灵活之外,还拥有意识和情感。要不然也不会泡上了有着鸡蛋外形的Eva。

但是,毕竟那是发生在2805年的事情。那时候人类都已经可以开启宇宙之旅了,设计个智能机器人还不是分分钟的事情。

在2019年,造不出拥有情感的机器人,但是用AI模型训练出收拾垃圾的机器人,还是可以的。

一位名叫Damian Bogunowicz的慕尼黑工业大学硕士生,和他的小伙伴一起利用计算机视觉深度强化学习和Unity 3D游戏引擎开发了一款自主收集垃圾的机器人。

据Damian的博客介绍,他的这个想法最初来自慕尼黑工业大学博士研究会。这群参会的“高端玩家”都很爱喝啤酒,也是慕尼黑啤酒节的常客。但是,看到每年慕尼黑啤酒节狂欢过后一片狼藉,他们陷入了深思........

通常,这些垃圾都是清洁工人收拾,会耗费大量的人力、物力。

Damian由此想到,是否能开发出一款智能机器人,全天候、高效率的帮助这些清洁工人,那么他们的工作效率就会成几何倍数增长。

环境和目标设置

说干就干!

他们的第一步是使用Unity 3D游戏引擎模拟机器人,此外,还使用Unity Machine Learning Agents Toolkit(ML-Agents)插件,使游戏场景成为训练智能体的环境。

在这个实验中,他们将机器人的目标设置为探索环境并学习正确的策略。然后设定一系列的奖励和惩罚。

主要来说,机器人有两个目标:

  • 接近并收集垃圾,例如面包渣、塑料袋以及香肠等食物残渣。

  • 不要与桌子和椅子发生碰撞,不要回收木托盘等物品因为这不属于房间内的垃圾。

在模拟环境中,机器人的形状是正方体,主要有三个动作:

  • 平移运动(向前、向后以及保持静止)

  • 转向运动(左转、右转)

  • 抓取状态。

前两个动作非常简单,抓取状态需要设计。总的来说,每次机器人决定收集一个物体时候需要满足下面两个条件:

1.物体必须靠近机器人的前部(限制在具有绿色边缘的体积内)

2.机器人必须决定激活“抓取器”。当抓取状态被激活时,机器人的颜色从白色变为红色。

惩罚和奖励

机器人可以通过与环境的交互和反馈的信号来学习正确的策略。对此系统来说,惩罚值在-1~0之间浮动,奖励值在0~1之间浮动。与其他强化学习不同的是,要在训练数据的时候迅速获得最好的策略,次要目标给予较小的奖励值。当学习复杂任务时,从简单任务入手,逐渐增加任务难度。

这些都可以在Unity ML-Agents中轻松能够实现,具体来说将任务分为两个子目标,在环境中搜索垃圾、判断何时激活抓取状态。

算法训练与模拟

机器人最初不太能分清楚要将哪种物品归为垃圾,后来,通过网络将RBG图像映射语义分割图,能够有效获得此信息。用数据通过Semantic Segmentation Suite训练SegNet,易于调试和修改,从而节省算力。

另外,语义分割信息不是来自外部神经网络。它是使用Unity中的着色器生成的,使用标签对对象进行分段。这意味着智能体在训练期间可以快速接收有关对象类的可靠,无噪声的信息。

机器人认知的核心是“大脑”,这是决定智能体如何行动的部分。鉴于当前的环境状况和要实现的目标,采用以下两种方法:

1.近端策略优化,它通过与环境的交互作用在采样数据之间进行交互,并利用随机梯度上升优化目标函数

2.让系统观察正确的行为并进行模仿。这可以视为监督学习,研究人员先“玩游戏”一段时间,以便智能体能够学习正确的策略。

另外,利用Unity ML-Agents提供的另外两个解决方案:

1.使用循环神经网络的内存增强代理 ,这可以允许智能体不仅可以对当前的输入进行操作,还可以“记住”最后的输入并在做出决策时将此附加信息包含在其推理决策中。

2.利用好奇心,赋予智能体一种好奇心,每当它发现与其当前知识不同的东西时,它会给予机器人内部奖励。这鼓励智能体探索世界时,更加“冒险”。

到目前为止,智能体已经设法自己弄清楚了这两项任务。但只是为了好玩(或者为了加快训练过程),可以“硬编码”第二个目标 。关于是否激活抓取机制设定一个简单的函数,它考虑了两个因素:我们面前的对象类(由语义分割图定义);物体与机器人的距离(由深度图提供)。

此功能可以通过以下方式进行硬编码:从当前深度图中,仅滤除属于“可收集”类的那些。另外检查像素最大值是否大于某个设定阈值。如果是,可收集物体足够接近智能体,完成收集。

启发式背后的决策

未来的大规模应用

以上模拟在虚拟环境中有较好的效果,但是如果想要大规模的应用到商业,还需一系列的改进。

Damian也给出了一些自己的想法:

1.安装一系列用于垃圾回收的硬件,在机械设计上应该考虑到足够的细节,例如安装一个“铲子”,可以无缝地将垃圾推入机器人的“腹部”,又或者在容器满了之后,如何处理垃圾。

2.将该算法部署在一台能够处理实时语义分割的机器上,语义分割模型的推理时间太慢,一般的笔记本电脑无法进行实时仿真。

3.用RealSense摄像机将信息从仿真平台传递给真实的机器人,这一部分工作是将在物理环境中部署机器人,这意味着通过在现实世界中运行机器人来微调算法,目前,强化学习在机器人技术中的应用还处于实验阶段。

“捡垃圾”机器人的其他妙用

收拾东西这件事情,可不仅仅是“慕尼黑啤酒节“才需要,应用场景还相当多,比如,周末大爬梯后的家。

其实,在帮你叠衣服,帮你把散落在地上的物品规整起来方面,智能机器人也已经可以做的很成熟。

在CEATEC JAPAN 2018会展上,由丰田汽车有限公司开发的“生活支援机器人HSR(Human Support Robot)”,展示了“全自动整理机器人系统”。

其利用深度学习技术开发的画面识别引擎,哪怕数百种物品散乱在房间各处,引擎也能够识别出物品的位置和种类。基于该识别引擎,人们可以规划什么物体应该怎么去抓取以及如何整理等等。

该图像识别引擎是通过采用了深度学习框架Chainer,ChainerMN以及ChainerCV的CNN(卷积神经网络)来实现的。

这是安装在机器人上的摄像头的视点图像以及识别结果的可视化动画。通过显示机器人所识别的房间地图和当前位置,我们可以看到机器人是如何识别房间的。

系统能够稳定地抓取各种形状和材质的物体并且放置到规定的地方。

比如在整理圆珠笔时,摄像头寻找笔筒位置,识别圆珠笔的朝向,调整朝向,放入笔筒。

系统通过不断地重复人类在无意识中做出的一系列的判断最终使之成为可能。

通过增强现实(AR),我们可以看到机器人是如何思考的,比如显示机器人是如何识别房间里的状况,接着会如何行动等信息。通过AR画面,我们能够更加直观地把握机器人的状态,从而发出更确切的指令。

在大会上,这款机器人获得了“CEATEC AWARD 2018”的奖项里的行业/市场部门的二等奖。

可能以后不仅清洁工,连收拾房子的保洁阿姨都不需要了。

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

产业机器人
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增强现实技术

增强现实,是指透过摄影机影像的位置及角度精算并加上图像分析技术,让屏幕上的虚拟世界能够与现实世界场景进行结合与互动的技术。这种技术于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途也越来越广。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~