zoukankan      html  css  js  c++  java
  • 论文阅读:Action Recognition and Interpretation from Virtual Demonstrations

    标题:Action Recognition and Interpretation from Virtual Demonstrations

    作者:Andrei Haidu,Michael Beetz

    0. 摘要

    为了根据抽象指令正确执行任务,自主机器人需要精炼的推理能力,以弥合模棱两可的描述与执行隐式动作所需的全面信息之间的鸿沟。 在本文中,我们提出了一种在虚拟环境中从人类执行的任务中自动获取知识的系统,并对知识处理系统KNOWROB [1]进行了扩展,使其能够对获取的数据进行推理。 我们已经在基于物理的模拟器中设置了两种方案:创建煎饼和装饰披萨面团。 要求用户使用提供的工具和组件执行这些任务。 然后,使用数据处理模块,从执行的情节中收集低级数据和相关的抽象事件。 然后,通过使用符号层以无缝方式互连两种数据类型,以机器人可以理解的格式提供记录的数据。

    1. 介绍

    人类模糊地指定动作。 他们使用诸如“向面团中添加牛奶”之类的说明,执行该说明的人需要推断他必须拿起一个装有牛奶的容器,将其与面团一起放在容器上方,倾斜直到添加所需量的牛奶,依此类推。 为了使自主机器人能够根据此类抽象指令执行类似的任务,它需要能够推断出这些缺失的信息。 在图1中,我们显示了一个机器人示例,该示例说明了如何执行翻转薄煎饼的任务。 每个人都拥有的这种知识称为常识和幼稚的物理知识,机器人需要它,以便在开放领域中可靠且可行地执行动作。 不幸的是,这种知识很难陈述,因为它是人类认知过程中所隐含的。 例如,人们可以展示如何系鞋带,但是很难形容它。

    在我们的研究中,我们旨在通过让人类在有目的的游戏(GwaP)[2]的基础上,通过基于互动物理学的模拟来演示此类抽象指令,来挖掘这些知识。 将要求用户在虚拟现实环境中执行使用抽象指令描述的各种任务。 他们可以通过将自然的手部动作映射到虚拟末端执行器上来与环境进行交互,以操纵对象,在此期间,系统会记录下底层的动作和抽象事件。 提取常识性和幼稚的物理知识需要认识到连续不断的世界演变中的动作并将其划分为多个阶段。在本文中,我们介绍了来自此类环境的自动知识获取系统以及KNOWROB扩展程序,可以根据记录的情节进行推理。

    在本文的其余部分,我们进行如下操作。 在以下部分中,我们将对整个系统进行简短概述。 在第三部分中,我们介绍了虚拟环境的设置以及知识库中记录的情节的表示技术。 第四部分介绍了各种PROLOG查询,用于对从两个烹饪实验收集的数据进行推理。 第五节介绍相关工作。 然后,我们在第六节中总结并介绍了我们的未来工作。

    2. 概览

    系统架构由两个主要部分组成:(1)基于物理模拟器的虚拟环境及其数据处理模块;(2)扩展的知识处理系统KNOWROB。 图2可视化了上述部分。

    系统的第一个模块是虚拟环境。我们设置了两个不同的场景进行交互。 一个是煎饼制作的世界,要求用户创建一个煎饼,这需要从煎饼机上的一个瓶子中倒入面糊,然后将煎饼翻到“未煮熟的”一面。 成功的执行意味着在浇注过程中不得将面糊洒到外面,并且必须将薄煎饼的另一面翻转而不会掉落薄煎饼制作者。 第二世界代表了披萨制作的场景。向用户展示了一个扁平的面团,一个装有番茄酱的容器以及两个带有浇头的碗。 成功的执行方法是将酱汁倒在面团上,用勺子将其摊开(在两种情况下都应避免溢出),并将碗中的配料撒在面团上。 对于每种情况,都会向用户提供关于他们要做的事情的抽象说明,例如“做煎饼”,“翻转煎饼”,“在披萨上加奶酪”等。对于每个记录的情节,操纵对象都是 随机排列在桌子表面。

    接下来,数据处理模块重播记录的情节并并行提取两种类型的信息:(a)原始数据,其中对于每个模拟步骤,都会记录整个世界状态。 涉及每个模型及其后代的位置,方向和边界框。 (b)相关的抽象事件,方法是检查物理引擎的特定联系。 认知心理学家[3]提出了根据力-动力状态和在感知状态下具有显着性的事件指定的动作模型。 例如,如果物体与手指接触,我们会检测到抓握事件。 其他可能检测到的事件是微粒离开容器/掉下工具。 我们使用时间轴可视化了图3中成功制作煎饼和比萨饼的场景的具体事件。

    在将情节存储在知识库中之后,记录的数据将以机器人可以理解的格式获得。 在抽象概念和底层数据上创建了一个符号层,以无缝方式连接这两种类型。 因此,允许机器人执行逻辑推理而无需更改原始数据结构。 下一节将详细介绍该技术。

    3.情节的表达

    虚拟环境是使用机器人模拟器Gazebo [4]建立的。 用户与虚拟世界的互动是通过将用户的手的位置和方向映射到模拟的机器人手上来完成的。 对于手部跟踪,我们使用了运动感应游戏控制器Razer Hydra,其精度高达1mm和1deg。 在我们以前的工作中[5],我们已经表明,从模拟中收集的数据,如果设置正确,可以足够真实地应用于现实生活中。

    记录的情节的表示依赖于机器人知识处理系统KNOWROB [1]的动作本体,该系统提供表示行为,其时空上下文的结构,包括事件,对象,地图和机器人组件。 它是使用PROLOG实现的,可以加载存储在Web本体语言OWL [6]中的知识。

    如前所述,处理模块返回(a)来自物理引擎的低级数据(存储在大容量数据库中)和(b)抽象事件(使用上述OWL语句存储在单独的文件中)。我们使用MongoDB1来存储低级数据,其每个数据库代表不同的记录场景(例如煎饼/比萨制作)。这些还包括代表执行的情节的集合。接下来,文档(由字段和值对组成的JSON2样式数据结构)描述了集合中的记录,该文件存储了模拟情节中给定时间戳的所有相关数据。记录的抽象事件包括有关任务上下文的动作,事件和断言的实例。例如,可以将抓取瓶子的概念描述为GraspingSomething的子类,但要限制objectActedOn必须是Bottle的实例。每个事件实例还包括一个startTime和endTime,使用内置方法构建的系统,我们可以使用Allen的区间代数[7]来推断时间间隔。

    为了集成加载在知识库中的抽象事件和单独存储的原始数据之间的无缝通信,使用了KNOWROB的特殊功能,即所谓的“虚拟知识库”。 从概念上讲,从查询的角度来看,低级数据显示为知识库中其余的存储信息。 但是,与其以符号形式存储如此大量的原始信息,不如在查询时仅在被请求时对其进行访问。 这种方法带来的优势是:不需要将原始数据加载到知识库中,因此查询将大大加快,并且可以使用优化的数据库存储数据,并仅处理查询所需的数据。

    4. 实验

    具有多个具有不同结果的情节,机器人可能需要将搜索范围缩小到发生特定事件的情节。 在本节中,我们将介绍关于两个记录的实验的几个示例推理查询:A.煎饼制作和B.披萨制作。

    下面,我们介绍PROLOG查询,这些查询用于以OWL文件的形式加载记录的抽象事件,并连接到低级数据库。 然后,我们在两个实验中包括用于推理的一般谓词(检查是否发生了特定事件,作用于对象,对象之间的接触等):

    下面,我们为每个实验提供一些具体的查询示例。

    A. 煎饼制作场景

    在下面的内容中,我们介绍PROLOG规则,检查薄煎饼是否已成功创建及其质量(圆度)。 规则首先要验证mondamin(面糊)瓶已被抓住,然后发生颗粒平移事件(将面糊倒入),然后将所有落在烤箱表面的颗粒倒入(无溢出)。 之后,应抓住锅铲,然后在薄煎饼事件下滑动并成功翻转

    最后一个谓词检查模型翻转会使用前面提到的“虚拟知识基础”来检查煎饼是否已翻转。 这将初始化一个特殊的查询接口,该接口允许将原始数据包含在PROLOG查询中。 谓词使用Java Prolog Interface3(JPL)调用Java方法CheckModelFlip,该方法检查在两个给定的时间戳下煎饼分子是否具有与其对应平面相反的法向矢量(发生翻转)。

    在查询之间,需要验证事件是否在正确的时间以正确的顺序发生。 例如,在抓取瓶子时应发生粒子平移(倾倒)事件。 否则,可能是瓶子被打翻了,面糊已经洒了。 以下是一些查询示例:

    使用上述谓词,我们将可以访问煎饼已成功创建的情节实例。 然后,机器人可以从原始数据库中查询其特定的所需信息(轨迹,姿势)。 在图4中,我们选择显示一个访问此类成功情节的数据的示例。 我们在薄煎饼下滑动并翻转时可视化铲头轨迹(绿蓝色箭头-表示铲头的法向矢量)。 我们还查询了翻转过程中煎饼粒子的位置(红色球体),并且出于可视化的目的,我们将可视化步骤增加到大约100ms。

    5. 相关工作

    在[9]中,作者提出了一种用于认知机器人的存储系统。 在执行具有已知意图的任务时,系统会存储有关可能出现的故障和常见陷阱的信息,并在将来执行相同或相似任务时进行改进。 它们将两个事件流存储在知识库中,一个事件流是已执行计划的高级符号分层任务结构。 而其他低电平传感器数据则间接存储在知识库中。 该系统与本文介绍的系统类似,但是我们没有存储机器人过去执行时的记忆,而是通过让他们在虚拟环境中执行任务来获得人工任务知识。

    在[10]中,在日常活动的背景下提出了有关常识和天真物理学的推理系统。 作者习惯于PROLOG断言给定场景的初始条件,并使用基于物理的模拟器来获得有关参数化机器人控制程序的时间预测。 进行了各种实验,从不同范围选择了机器人控制程序的正式参数。 他们的结果在结果方面得到了进一步评估。 提出的框架也使用模拟器来接收有关动作效果的各种知识,但是,为了接收控制程序所需的参数,他们需要运行多个模拟,这可能是一个缓慢的过程。 相比之下,我们已经建立了知识库,并且如果信息可用,则可以快速访问它。

    交互式烹饪模拟器[11]旨在了解烹饪的各个阶段(例如温度变化,蛋白质变性,燃烧过程)。 该模拟器可以直观地显示烹饪的各种状态。 他们提出的仿真速度足够快,可以进行交互式烹饪。 在我们的模拟中,烹饪的效果被忽略了,因为我们将更多精力放在完成任务所需的运动上。 但是,有关烹饪阶段的信息对于从人类那里学习其他各种参数可能有很大的帮助。

    6. 总结和未来的工作

    在本文中,我们提出了一个认知系统的推理系统,该推理系统在日常场景中起作用,目的是挖掘常识和幼稚的物理知识。 我们扩展了一个具有新知识源的知识表示和推理系统,该知识源是人类在虚拟场景中执行各种任务所生成的。 我们使用了两种不同的烹饪方案作为收集数据和测试示例的实验。 我们引入了各种PROLOG查询作为示例,以根据引入的知识类型进行推理。 所有的实验和提出的推理查询都可以在OPENEASE [12]网站上获得。

    在以后的工作中,我们计划克服仅使用刚体物理引擎时模拟液体/软物体所需的众多调整。 我们将开箱即用地研究支持基于粒子模拟的各种游戏引擎。 这可以极大地提高仿真质量,产生更接近实际的数据,并减少设置新方案所需的时间。 事件检测可以扩展为支持更特定的事件,例如:支持,内部等。通过在不同场景下测试框架,我们可以研究如何进一步概括谓词。 集成了Weka之后,我们还可以对收集到的数据测试各种机器学习算法,机器人可以在执行过程中使用这些算法。

  • 相关阅读:
    nyoj 17 单调递增最长子序列
    nyoj 18 The Triangle
    nyoj 712 探 寻 宝 藏
    nyoj 61传纸条(一)
    nyoj 269 VF
    nyoj 44 子串和
    nyoj 252 01串
    nyoj 42 一笔画问题
    nyoj 756 重建二叉树
    Table 样式设置
  • 原文地址:https://www.cnblogs.com/feifanrensheng/p/14213472.html
Copyright © 2011-2022 走看看