0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用计算机视觉、深度强化学习和Unity 3D游戏引擎开发一款自主收集垃圾的机器人

电子工程师 来源:lp 2019-03-21 16:24 次阅读

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

瓦力是名副其实的智能机器人,除了动作灵活之外,还拥有意识和情感。要不然也不会泡上了有着鸡蛋外形的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”的奖项里的行业/市场部门的二等奖。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28318

    浏览量

    206820
  • 计算机视觉
    +关注

    关注

    8

    文章

    1696

    浏览量

    45954
  • 强化学习
    +关注

    关注

    4

    文章

    266

    浏览量

    11234
  • Unity
    +关注

    关注

    1

    文章

    127

    浏览量

    21792

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

文章出处:【微信号:BigDataDigest,微信公众号:大数据文摘】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【书籍评测活动NO.51】具身智能机器人系统 | 了解AI的下个浪潮!

    的。 这种理论强调,智能行为源于智能体的物理存在和行为能力,智能体必须具备感知环境并在其中执行任务的能力。 具身智能的实现涵盖了机器学习、人工智能、机器人学、计算机
    发表于 11-11 10:20

    【小白入门必看】文读懂深度学习计算机视觉技术及学习路线

    、什么是计算机视觉计算机视觉,其实就是教机器怎么像我们
    的头像 发表于 10-31 17:00 359次阅读
    【小白入门必看】<b class='flag-5'>一</b>文读懂<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>技术及<b class='flag-5'>学习</b>路线

    机器视觉计算机视觉有什么区别

    机器视觉计算机视觉是两个密切相关但又有所区别的概念。 、定义 机器
    的头像 发表于 07-16 10:23 507次阅读

    机器人视觉计算机视觉的区别与联系

    ,而计算机视觉则更侧重于从图像和视频中提取信息。尽管它们在某些方面有所重叠,但它们在目标、方法和应用上存在明显差异。 2. 机器人视觉概述 机器人
    的头像 发表于 07-09 09:27 619次阅读

    计算机视觉机器视觉区别在哪

    ,旨在实现对图像和视频的自动分析和理解。 机器视觉 机器视觉计算机视觉
    的头像 发表于 07-09 09:22 429次阅读

    机器人视觉的应用范围

    机器人视觉种将计算机视觉技术应用于机器人领域的技术,它使得
    的头像 发表于 07-04 11:33 562次阅读

    机器人视觉的作用是什么

    、引言 机器人视觉机器人技术的重要组成部分,它利用计算机视觉技术对
    的头像 发表于 07-04 11:24 655次阅读

    深度学习计算机视觉领域的应用

    随着人工智能技术的飞速发展,深度学习作为其中的核心技术之,已经在计算机视觉领域取得了显著的成果。计算机
    的头像 发表于 07-01 11:38 741次阅读

    OpenCV携奥比中光3D相机亮相CVPR 2024

    机器学习软件库,提供丰富的图像处理和计算机视觉算法。奥比中光与OpenCV的深入合作,使得复杂的3D感知项目
    的头像 发表于 06-21 09:38 533次阅读

    计算机视觉的主要研究方向

    计算机视觉(Computer Vision, CV)作为人工智能领域的个重要分支,致力于使计算机能够像
    的头像 发表于 06-06 17:17 914次阅读

    计算机视觉与图像处理、模式识别、机器学习学科之间的关系

    计算机视觉(computer vision):用计算机来模拟人的视觉机理获取和处理信息的能力。就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等
    的头像 发表于 01-18 16:41 578次阅读

    工业视觉计算机视觉的区别

    工业视觉主要解决以往需要人眼进行的工件的定位、测量、检测等重复性劳动;计算机视觉的主要任务是赋予智能机器人视觉
    发表于 01-16 10:06 566次阅读
    工业<b class='flag-5'>视觉</b>与<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的区别

    步行的机器人与思考的计算机

    大家好,欢迎收看河套IT WALK第129期。 宇树科技,发布了旗下首双足机器人 H1;新型超级计算机正在模拟人脑,探索着 AI 与神经科学的深度融合。伴随着科技的力量,我们相信,人
    的头像 发表于 12-20 09:45 346次阅读
    步行的<b class='flag-5'>机器人</b>与思考的<b class='flag-5'>计算机</b>

    蓝芯科技正式发布全球首「纯」3D视觉移动机器人VMR产品

    基于领先的核心技术LX-MRDVS®(蓝芯-移动机器人深度视觉系统),围绕SMT贴片自动化生产,蓝芯科技正式发布全球首「纯」3D
    的头像 发表于 12-18 11:29 800次阅读