摘要
了解日常环境中与人和物体的动态相关的变化是一个具有挑战性的问题,同时,这也是自动移动服务机器人在许多应用中的关键要求。
在本文中,我们提出了一种新颖的语义映射框架,该框架可映射对象的位置,感兴趣的区域以及人员随时间的移动。 我们使用此框架的目标是双重的:(1)我们希望允许机器人在语义,空间和时间上对它们的环境进行推理,并且(2)我们希望使研究人员能够在机器人长期情景的背景下调查研究问题。 动态环境。
实验结果证明了该框架的有效性,该框架已在实际环境中部署了数月之久。
Introduction
例如,在摆一张桌子吃饭时,一个人从厨房的橱柜和抽屉里拿出盘子,杯子,刀子和叉子,然后将它们放在餐桌上。
但是,由于其有限的感知能力和以自我为中心的观点,机器人只能对这些事件进行部分观察。 在观察这种场景的同时,移动机器人可能只会感知到一个人在空间中移动以及物体在不同时间在不同地点出现和消失的情况。 由于机器人仅感知潜在事件的快照,因此需要推理其所见,何时何地推断下一步该做什么。
我看到了什么?哪里?什么时候?是许多机器人任务中必不可少的问题,例如寻找物体和监视人类活动(Galindo等人,2008; Kostavelis和Gasteratos,2015)。
语义环境图可以将有关世界(例如物体和人)的语义信息链接到时空表示形式,从而为这些问题提供答案。
为此,它们是许多机器人任务中的重要资源。它们允许自主机器人解释(或磨碎)高级任务指令;规划和说明如何在给定环境中完成任务;并向人类传达观察结果。
但是,在日常动态环境中构造,维护和使用此类地图会带来一些挑战:(i)来自传感器数据的观察结果必须在语义级别进行解释; (ii)解释需要整合到一致的地图中; (iii)需要不断更新地图,以反映环境的动态变化(长时间); (iv)对语义图的查询需要通过考虑语义和/或时空约束来提供与任务相关的信息。
过去,计算机视觉和机器人技术中的许多语义映射方法通过解释和集成来自各种传感器的数据来解决挑战(i)和(ii); 这些方法假定环境是静态的,因此将重点放在大型结构(例如房间,墙壁和家具)的建图上。
在这项工作中,我们应对挑战(ii),(iii)和(iv)。 关于挑战(i),我们使用并改编了最新的机器人感知方法,该方法可从传感器数据提供中间语义解释。
我们的工作集中在日常环境的动态方面,包括物体的不同位置,可能随时间变化的关注区域以及人员移动。
为此,我们研究了物体的,区域和运动如何
可以按时空索引人,以便可以有效地处理地图更新和查询。
为了应对这些挑战,我们设计,开发和评估了SOMA; 用于构造,维护和查询语义对象图的框架。 在我们的工作中,语义对象图会随着时间的推移对有关对象,区域和代理轨迹的语义和空间信息进行建模。 因此,他们可以提供以下问题的答案:什么,在哪里和何时?
提出的框架允许自主机器人使用最新的感知方法根据观察结果自动构建和更新(或修改)地图,并在机器人的控制程序中查询它们。
同时,知识工程师和研究人员可以编辑和查询地图,以提供领域知识并研究长期情况下的研究问题。重要的是要注意,我们在设计SOMA时考虑到了这两个不同的用户组:自主机器人和研究人员。机器人可以添加自己的观察结果和查询地图以进行决策时,研究人员可以对环境进行建模和/或分析和提取由自治系统收集的时空数据。后者使研究人员能够建立和学习有关日常环境中(长期)动态的新颖模型。
在这项工作中,我们专注于在长期和动态设置下对对象,区域和人类的映射。
表1概述了SOMA中使用的高级概念。从抽象的角度看,我们的方法与其他作品相似,因为它使用相似的概念来表示环境中的实体。
诸如对象,区域和轨迹之类的概念是自然和常识。
但是,随着时间的流逝,我们的方法在存储,索引,链接和查询观察,解释和语义概念的方式上有很大不同。
这项工作的主要贡献如下:
•一个开放源代码的语义映射框架(SOMA),专为长期动态场景而设计;
•多层知识表示架构,使用时空索引链接观察,解释和语义概念;
•用于将传感器数据中的对象接地的自适应机制,以及一组(可扩展的)接口,用于随时间更新语义对象图;
•查询界面,用于使用语义和时空约束来检索和处理语义对象图中的对象;
•在现实世界环境中的SOMA和语义对象图的长期案例研究。
2.相关工作
研究人员提出了一种表示和评估语义图的标准化方法。
他们将语义映射定义为将世界的相关信息(即空间信息,时间事件,主体和动作)映射到推理引擎支持的形式描述的增量过程。
我们的工作采用类似的方法,我们逐步映射有关对象,人物和区域的时空信息,并使用标准化数据库查询和专门的推理机制查询这些信息。
几种语义映射方法主要集中于来自各种传感器(包括激光测距仪,立体和单眼相机以及RGB-D相机)的数据的解释和集成。
这些方法中的大多数都假定环境是静态的,因此将重点放在静态的大型结构(如房间,墙壁和家具)的映射上。
我们的工作在两个方面不同于这些方法。 首先,我们不开发用于解释传感器数据的方法,而是建立并适应最先进的机器人感知方法(Aldoma等人,2012; Wohlkinger等人,2012),其次,我们专注于映射,更新 ,以及在动态环境中查询语义图。
一些语义映射方法从不同角度探讨了该主题。
他们专注于本体的设计,并将本体与底层环境表示联系起来(Zender等人,2008; Tenorth等人,2010)。
例如,(Pronobis and Jensfelt 2012)的工作表明,如何将不同的传感器模态与本体推理功能集成在一起,以推断出语义房间类别。
使用语义Web技术表示环境地图还使机器人可以通过云与其他平台交换信息(Riazuelo等,2015)。
我们认为这些类型的方法是我们工作的补充,因为我们框架中的语义类别可以集成并与现有的本体关联。 例如,在(Young and others 2017a)中,有关对象的假设与结构化的语义知识库(例如DBpedia1和WordNet)相关联(Fellbaum 1998)
(Elfring等人,2013年)提出了一种框架,用于将传感器数据中的对象概率接地。 一般而言,我们的框架对机器人观测中的物体如何接地没有做出任何强有力的假设。
相反,对象的接地需要由用户在框架的解释层中指定或学习(请参阅第3.3节)。
(Bastianelli等人,2013年)提出了一种在线交互式方法以及对语义图构建的评估(Gemignani等人,2016年)。 同样,我们的工作支持人群标记发现的物体(请参阅第3.5节)。 但是,我们的方法是脱机的,并且设计为以异步方式工作。
我们的工作类似于(Mason和Marthi 2012)和(Herrero,Castano和Mozos 2015),它们都致力于动态环境中地图的语义查询。
(Herrero,Castano和Mozos,2015年)提出了一种基于关系数据库的方法,该数据库保存有关对象,房间及其移动机器人导航所需关系的语义信息。
我们的方法类似,因为它也考虑了空间中的对象和区域(但不仅是房间)。
但是,在我们的方法中,对象与区域之间的关系确实
不必显式建模,但可以使用空间推理来推断。
(Mason and Marthi 2012)专注于对象的语义查询和变更检测。在工作中,对象表示平面上几何上不同的占据区域,其位置在全局参考框架中描述。
相反,我们的工作可以区分未知对象,分类对象和已知对象实例。通过空间索引,我们可以将对象关联到局部,全局和机器人参考系中。此外,我们可以将对象与区域和人类轨迹相关联。
与我们的方法最相似的是(Deeken,Wiemann和Hertzberg 2018)的语义映射框架。 他们的框架旨在维护和分析多模式环境模型的空间数据。 它使用空间数据库存储度量标准数据,并通过语义注释将其链接到语义描述。 可以从框架中查询空间和语义数据,以使用拓扑和语义信息来扩展度量图。 这种设计和功能与我们的方法非常相似。
但是,我们的方法超越了空间和语义信息,因为它还包含有关对象,区域和人的时间信息。 因此,它使机器人和用户不仅可以推理静态配置,还可以推理临时扩展的事件,例如日常活动。
3. soma framework
图1提供了所设计框架的概念性概述。 该框架由两部分组成:(1)SOMA核心和(2)一组SOMA扩展(或工具)。
总体而言,核心有四个层次。 这三个水平层是互连的,并在不同的抽象级别上管理信息:从观察(即原始传感器数据)及其解释到语义概念。 这三层负责SOMA中的表示。
垂直接口层提供对所有三个级别的访问。 一组扩展(或工具)使用此层来可视化,编辑,查询和扩展语义对象图。 这使知识工程师可以扩展和分析它们。 同样,机器人和用户应用程序可以通过界面层访问和管理地图。
现在让我们考虑在SOMA中存储新信息的过程。 首先,以原始传感器数据的形式存储机器人的观测值,并在观测层中进行时空索引。 其次,解释层使用感知方法(例如分段,对象识别,对象分类和人员跟踪)分析这些观察结果,合并结果,并在语义级别生成一致的描述。 最后,观察,解释和语义描述是链接在一起的
允许机器人使用空间,时间和/或语义约束在各个级别查询它们。
3.2 obseravation layer
观察层的作用是存储来自机器人的未经处理的原始传感器数据,以及可能在其系统解释和处理数据时有用的任何元数据。
为此,观察层会在学习任务期间存储来自机器人传感器的输入。
SOMA的所有其他层也都访问此存储的数据。
我们存储的视图包含来自单个机器人感知动作的数据,并且将一系列视图收集为片段。
对于我们的对象学习任务,单个视图存储点云,RGB图像,深度图像,机器人的当前姿势以及所有测距变换。
片段收集计划算法针对特定学习任务选择的一系列视图。
片段和视图可能还附加了元数据标签,该标签允许多个不同的感知管道(也许全部使用不同的标准来触发,控制和解释来自学习任务的数据)以使用同一数据库。
我们的设计目标之一是提供一种存储原始机器人感知数据的方法,该方法将使我们能够完全重新生成SOMA数据库,并在此过程中执行所有必要的处理步骤。 只要提供机器人观察层的副本,就可以实现,因为附带的原始观察可以像实时进行的回放一样进行重放。
这是评估机器人上或下的不同感知算法和管道的一项关键功能。 此功能还有助于提高容错能力,例如,如果机器人运行了一段时间,但在分割或对象识别层漏检了一个错误,我们能够纠正错误,并从观察层完全重新生成数据库,并使用新的纠正后的系统处理数据,而不会造成数据丢失。
3.3 解释层
解释层从观察层获取输入,并且主要包含用于处理数据的特定于应用程序的方法。
观察层可以看作是机器人传感器周围的包裹物,而解释层则被视为系统的一部分,用于对该数据进行特定于应用程序的处理。
在对象学习中,解释的第一步是应用分段算法,例如基于深度的分段或区域提议网络,以提取对象提议以进行进一步处理。
SOMA通过提供类似于场景图的对象结构,提供了一种构造此类分割算法输出的方法。
这提供了用于存储有关单个分段对象及其与视图和情节的关系的数据的工具,并允许开发人员在拍摄其他视图时整理对对象的观察。
用于场景分割,视图之间的对象跟踪以及其他方面的算法的确切选择都留给了开发人员,作为他们自己的专用解释层设计的一部分。
一旦解释管道处理并过滤了由观察层提供的原始传感器输出,便可以从处理后的数据中构成高级SOMA对象。
这样的示例如图2所示。高级对象代表处理的结果,并且可以在对象的一系列视图,从多个视图构造的合并3D模型以及元数据上记录对象识别算法的输出。
这些高级对象链接回组成它们的低级观察,开发人员可以根据需要从完整的合并对象到其组成部分来回移动。
然后,这些对象可以在SOMA之上构建的其他应用程序中使用-它们可以在标签应用程序中显示给最终用户,通过电子邮件发送,发布,在网站上可视化,在应用程序中用于查找丢失的杯子,进一步处理, 或开发人员可能想要的任何其他内容。
解释层感觉已经做的差不多了啊,,还有啥呢
3.4 语义层
语义层存储从机器人的观察结果中提取的高级知识(请参见表1)。
高级知识可以是从各种识别/检测流水线接收的已识别对象实例,或者是从分段/跟踪流水线跟踪的对象。
每个高级数据实例都存储有时空信息,这样就可以维护和检索有关每个对象实例的知识的发展。
此外,每个高级SOMA对象都通过SOMA ID与其他SOMA层链接,以便访问框架内有关该对象的所有知识。
此外,语义层可以存储有关对象的其他信息,例如3D模型,相机图像和任何类型的元数据,以建立完整的知识库。 存储的高级信息可以帮助用户理解各个环境的语义,允许机器人进行高级推理以完成诸如发现和/或抓取物体的任务。
3.5 接口层和其它扩展
接口层充当不同SOMA层与用户之间的骨干,用于交换数据。 这样,机器人/用户可以使用SOMA扩展和其他应用程序插入,删除,更新和查询数据(图3)。
SOMAEdit允许用户创建没有任何感知数据的虚拟场景。使用此编辑器,用户可以在度量标准图的顶部添加,删除或移动对象和区域。
SOMAQuery允许用户使用语义,空间和/或时间约束来查询地图。
查询可能会询问特定类型的所有对象(“选择所有杯子”)。
这样的查询可能会受到时空约束的进一步约束(“选择星期一在10:00-12:00之间的会议室中的所有杯子”)。空间约束可用于确定空间实体是否靠近另一个实体,在一个实体(区域)内或它们是否与另一个实体相交。时间约束可以通过使用时间点或时间间隔来表述。要发现时间模式和周期性过程,一天中的某天,一周中的某天以及每月的某天特别重要。
文章写的很清楚,,但是似乎对于那个object是否属于同一实例,没有涉及。。另外对于物体的识别和分割一直是通过图像算法的。。
4. 实现
我们已经基于ROS和MongoDB实现了SOMA2。 该框架的整体实现结构如图4所示。
ROS被用作整个SOMA框架的骨干,因为它是机器人技术研究社区中最常用的平台。
各个SOMA层和组件都被开发为ROS节点,因此它们每个都可以与任何其他ROS组件进行通信。
用于存储SOMA对象的数据结构本身就是由原始ROS类型组成的ROS消息。 只要它们是建立在ROS堆栈上的,这便提供了系统之间的通用接口。
5.评估
我们的工作受到欧洲项目STRANDS的激励(Hawes等人,2016)。 在STRANDS中,我们调查了长期情景中的时空表征和活动。 在该项目中,我们有兴趣在日常环境中为人类提供服务。 我们的机器人执行的任务包括对象搜索,对象发现以及活动识别和运动分析。 在这种情况下,我们在几个月的时间里对真实办公环境中的机器人进行了一系列部署,并评估了这项工作。
SOMA已在英国的两个不同地点(运输系统弹射器(TSC)和属于4组安全性(G4S)的设施)进行多次长期部署。 我们将针对SOMA中表示的三个主要实体报告这些部署的详细信息:对象,区域和轨迹。
如上所述,尽管SOMA已被用作开发更先进,更强大的机器人感知系统的基础技术,但它在许多面向用户的机器人应用中也起着关键作用。
图5显示了机器人在运输系统弹射(TSC)部署站点使用(Young and others 2017b)的感知管道所学习的一小部分样本。特别是,对象的2D图像被用于传递到卷积神经网络(CNN)以进行识别(如Young and others 2017b; 2017a),并传递给站点的最终用户以进行识别。
实时标签。
SOMA还是一个数据收集平台-我们已使用它来存储和分发场景,以供人工注释者将来进行脱机标记。
SOMA在这方面的表现取决于向其提供信息的感知管道。总体而言,在TSC的第一次和第二次部署期间,系统分别存储了141个场景和341个场景。 SOMA的设计意味着这些场景可以稍后离线进行重新处理,如果需要,可以使用不同的感知管道,算法或过滤器从中提取不同的对象或不同种类的信息。表2显示了在TSC站点的第三年(Y3)和第四年(Y4)使用的对象学习管道之间的比较。
在TSC(Y3)的第一次部署中,SOMA用于提供在该站点的预定义表面上发现的对象的报告(图6)。 当机器人执行其正常的对象学习任务时,将生成报告并将其呈现在基于Web的博客界面中,以供最终用户访问。
在其他实验工作中,我们将TSC站点上的两个表面指定为“学习桌”,办公室工作人员可以在其中带上物体供机器人学习。 然后,机器人将每天两次访问桌子,并尝试学习和识别找到的任何物体。 使用在大型图像数据库上经过训练的CNN(具有1000种可能的类别),它会在尝试识别它们的同时发布有关它们的推文。
在内部,该系统通过SOMA的通知功能(使新对象输入到系统中)得以实现,然后该功能通过将输入到SOMA中的对象的2D图像传递给这些功能来触发对象识别和发布过程。
在TSC站点(Y4)的最后一次长期部署中,我们采用了基于CNN的对象检测管道。
该管道能够检测20种对象类别,包括人,椅子,监视器等,并且可以使用注册的深度信息提取对象的部分3D视图。
这样,可以识别相对于机器人的对象位置和全局度量图。
图7显示了检测到的椅子的示例以及提取的部分3D视图。 然后将检测到的对象存储为具有时空信息的高级SOMA对象。 表3显示了有关在部署期间使用此管道检测到的对象的一些详细统计信息。 结果表明,如果机器人在办公室环境中工作,则检测到的对象最多是椅子,人和监视器(表3)。
我们还使用SOMAQuery接口从高级SOMA对象感知方面分析了Y4部署的时间方面。
表4显示了整个部署过程中每日对象感知统计信息,而不包括一天中的时间。 从表中可以看到,该机器人在周三和周四大部分时间处于活动状态,而从未在周末使用它进行物体感知。
还可以观察到,该机器人在下午时段最活跃,但在下班时间(17:00之后)很少使用。 在整个Y4部署期间,该机器人总共感知了930个高级SOMA对象。
这个组确实强,soma确实挺可以的。本文似乎没涉及到那几个问题,动态场景下instance的移动,出现和消失;;就是它的感知在时间先后上是无关的。