CN115993783A - 由智能设备执行的方法及相关设备 - Google Patents
由智能设备执行的方法及相关设备 Download PDFInfo
- Publication number
- CN115993783A CN115993783A CN202210799996.1A CN202210799996A CN115993783A CN 115993783 A CN115993783 A CN 115993783A CN 202210799996 A CN202210799996 A CN 202210799996A CN 115993783 A CN115993783 A CN 115993783A
- Authority
- CN
- China
- Prior art keywords
- target
- target object
- determining
- task
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000009471 action Effects 0.000 claims abstract description 187
- 230000000007 visual effect Effects 0.000 claims abstract description 100
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 25
- 230000033001 locomotion Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 238000012512 characterization method Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 31
- 241000220225 Malus Species 0.000 description 50
- 239000003795 chemical substances by application Substances 0.000 description 43
- 230000006870 function Effects 0.000 description 39
- 239000011159 matrix material Substances 0.000 description 33
- 239000013598 vector Substances 0.000 description 23
- 235000021016 apples Nutrition 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000002787 reinforcement Effects 0.000 description 9
- 238000003058 natural language processing Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000010438 heat treatment Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 3
- 239000010931 gold Substances 0.000 description 3
- 229910052737 gold Inorganic materials 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical class C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Manipulator (AREA)
Abstract
本申请实施例提供了一种由智能设备执行的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及人工智能技术领域。其中,由智能设备执行的方法包括:基于输入的任务信息,确定至少一个目标任务;各目标任务具有对应的目标对象;获取当前所处空间的视觉信息;执行下述步骤A1‑A3至少一次:步骤A1,基于视觉信息确定当前所处位置和/或当前视觉方向与目标对象之间的空间趋势特征;步骤A2,基于空间趋势特征,确定与目标任务对应的至少一个目标动作;步骤A3,执行目标动作。该方法的实施有利于提高由智能设备执行的灵活性。同时,由电子设备执行的上述由智能设备执行的方法可以使用人工智能模型来执行。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,本申请涉及一种由智能设备执行的方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着人工智能技术的发展,针对机器人交互的应用越来越多,在一些场景中,机器人可以响应于与任务相应的指令执行特定的任务;如扫地机器人可以响应于“打扫房间”的指令执行针对特定房间的打扫任务。因此,如何让机器人正确学习和理解指令并在相关联的空间中执行特定的任务成为在该技术方向上的重点问题。
发明内容
本申请实施例提供了一种由智能设备执行的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,可以解决相关技术中智能设备如何正确理解指令并结合空间信息执行任务的技术问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种由智能设备执行的方法,该方法包括:
基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象;
获取当前所处空间的视觉信息;
执行下述动作执行步骤至少一次:
基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征;
基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作;
执行所述目标动作。
根据本申请实施例的另一个方面,提供了一种由智能设备执行的装置,该装置包括:
确定模块,用于基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象;
获取模块,用于获取当前所处空间的视觉信息;
执行模块,用于执行下述动作执行步骤至少一次:
基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征;
基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作;
执行所述目标动作。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行上述由智能设备执行的方法。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机可以执行上述由智能设备执行的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述由智能设备执行的方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请提供一种由智能设备执行的方法、装置、电子设备、计算机可读存储介质及计算机程序产品。相对于相关技术,本申请针对输入的任务信息,拆分成至少一个目标任务,各目标任务具有对应的目标对象;在该基础上,可以结合当前所处空间的视觉信息执行任务;具体地,基于视觉信息,确定当前所处位置和/或当前视觉方向与目标对象之间的空间趋势特征,进而基于空间趋势特征确定目标任务对应的至少一个目标动作。本申请方案的实施在对自然语言理解的基础上,分析出在执行目标任务的过程中,与目标对象在空间中的空间变化趋势。该方案的实施不限于所处的空间,也不依赖于多变的RGB图像信息,有利于提高智能设备执行任务的灵活性和模型框架上的泛化性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为相关技术中机器人执行任务的场景示意图;
图2A为本申请实施例提供的一种由智能设备执行的方法的流程示意图;
图2B为本申请实施例提供的一种拆分子任务的示意图;
图3A为本申请实施例提供的示例性路径的场景示意图;
图3B为本申请实施例提供的示例性平面空间特征的场景示意图;
图3C为本申请实施例提供的示例性网格矩阵的场景示意图;
图3D为本申请实施例提供的示例性最优路径的场景示意图;
图4为本申请实施例提供的智能设备执行任务的场景示意图;
图5为本申请实施例提供的智能设备执行任务的视觉示意图;
图6为本申请实施例提供的一种地图的结构示意图;
图7为本申请实施例提供的另一种智能设备执行任务的场景示意图;
图8为本申请实施例提供的一种由智能设备执行的装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请涉及的相关技术进行说明:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。在本申请中,可以涉及自然语言处理和机器学习技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
能够说话、感知、交互和导航的自主代理agent越来越受到关注。在一些实施例中,这种代理可以成为室内机器人(执行家庭检查、老人和婴儿护理、家务等的任务)的理想原型,人工智能技术的发展使人们能够在虚拟环境和现实世界中构建这种类型的机器人(可以称为EmbodiedAI)。机器人语言指令理解以及执行,又称交互式指令执行(InteractiveInstruction Following)。
相关技术中,如图1所示,一般采用将执行作为一个序列到序列(sequence tosequence)的学习范式来解决机器人交互的技术问题。具体地,机器人获取视角的环境图像01,以获得第一动作指令。进而,机器人执行第一动作指令对应的动作,以及获取动作之后视角的环境图像02。之后,机器人根据环境图像02确定的第二动作指令,以及执行第二动作指令对应的动作。重复以上的过程,得到可以得到特征序列,以命令“Pick up apple fromthe table”为例,特征序列包括由至少一次右转(right)、至少一次向前(forward)、一次拿苹果(pick up apple)组成的动作序列,以及每个动作对应的图像序列。可见,相关技术中,每个动作均是根据图像获得的,即使得机器人需要学习命令中的动词与多个图像之间的关联,这样需要大量的图像样本进行训练,依赖于具体的RGB图像,使得训练成本非常高。此外,由于没有对空间进行抽象建模,不同空间的布置、风格和摆设多种多样,即使应用场景相同,但是对应不同空间环境,均需要重新在不同的RGB数据序列中学习关联性,导致该方法的可扩展性差。也即,在相关技术中采用一种序列到序列的模型,该模型将语言指令视为词序列作为输入,而动作序列则作为模型的输出;从处理的效果来看,存在以下问题:对于相同的指令(如相同的一句话,具有相同的词序列输入),在不同的房间中(对应不同的物体摆放位置,不同的房间视觉风格),由于智能设备的初始位置不同,模型输出截然不同的动作序列,导致执行语言指令所描述任务的效果非常差。
为解决相关技术中的至少一项技术问题,本申请实施例提出一种由智能设备执行的方法、装置、电子设备、计算机可读存储介质和计算机程序产品;具体地,本申请的实施在对自然语言理解的基础上,分析出在执行目标任务的过程中,与目标对象在空间中的空间变化趋势;也即可以理解出动作与空间之间的密切关系。该方案的实施不限于所处的空间,也不依赖于多变的RGB图像信息,有利于提高由智能设备执行的灵活性和模型框架上的泛化性。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例中提供了一种由智能设备执行的方法,如图2A所示,图2A示出了本申请实施例提供的一种由智能设备执行的方法的流程示意图,其中,智能设备可以是具备获取视觉信息和移动功能的电子设备,如机器人、放置在可移动机器人上的终端等;根据使用场景的不同,机器人可以包括工业机器人和家用机器人等。工业机器人例如包括焊接机器人实体和组装机器人设备实体等。家用机器人设备例如包括电器机器人实体、娱乐机器人实体、厨师机器人实体、搬运机器人实体、移动助理机器人实体和类人机器人实体等。为更好地描述本申请方案,下述实施例以执行主体为机器人进行说明,但本申请并不局限于此。
具体地,如图2A所示,本申请实施例提供的由智能设备执行的方法可以包括下述步骤S101-S103:
步骤S101:基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象。
具体地,任务信息可以是一种自然语言输入,本申请实施例基于自然语言输入进行实施,如基于用户通过机器人的输入装置(如用户界面)输入而生成的自然语言输入。可选地,自然语言输入不受限于机器人提供的输入装置进行接收,其还可以经与机器人进行通信的其他设备(如与机器人通信连接的智能手机、平板电脑、车载设备等)的输入装置进行接收。
具体地,任务信息可以理解为待执行的命令,该命令可以是语音命令或者文本命令,且可以以任一语种表达,本申请实施例对此不限制。以使用家用机器人实体为例,用户输入语音命令,例如命令“从桌子上拿苹果(Pick up apple from the table)”;再如,命令“把干净的杯子放到咖啡机中(Put the clean mug in the coffee maker)”。需要指出的是,命令对应的文本中,表达操作目的的通常是文本中的“动词”,例如,命令“从桌子上拿苹果(Pick up apple from the table)”中的“pickup”,命令“把干净的杯子放到咖啡机中(Put the clean mug in the coffee maker)”中的“put……in”。基于此,机器人响应命令以及执行相关操作,可以理解为机器人理解命令中动词的含义,以基于所理解的含义执行相应操作。有鉴于此,在机器人投入使用之前,可以训练机器人,以使该机器人能够理解命令中动词的含义,以及基于理解逐步执行动作。
具体地,在获得输入的任务信息后,可以通过神经网络模型的自然语言处理单元对输入的任务信息进行处理,生成自然语言嵌入。其中,可以将任务信息拆分为至少一个目标任务,也即对应于一个总任务,可以拆分为多个子任务。具体说明:针对任务信息对应的命令“把苹果放到桌子上”,可以拆分为四个目标任务,任务1“找苹果”,任务2“拿苹果”,任务3“找桌子”,任务4“放苹果”。由此可见,针对每个目标任务,各目标任务具有对应的目标对象,具体如下表1所示:
表1
如表1所示,在各目标任务中,还可以包括对应的目标动作描述信息,该动作描述信息可以表征机器人执行的操作。
本申请实施例可以通过自然语言处理技术对任务信息进行处理,通过理解自然语言输入而相应生成待执行的多个子任务,各子任务可以通过自然语言嵌入的形式表示。
在本申请中,将基于自然语言输入拆分多个子任务看作一个序列-序列解码器问题:给定一个语言的指令句(考虑为词序列),可以输出一个子目标动作的序列以及相关对象的并行序列,如图2B所示。当自然语言输入为给定的语言的指令句“put the apple onthe table(把苹果放到桌子上)”时,通过解码器decoder可以拆分为针对不同目标对象的子任务,如在第一项子任务中针对“apple”需要执行动作“go to location(去到相应的位置上)”,第二项子任务中针对“apple”需要执行动作“pick up object(拿起物体)”,第三项子任务中针对“table”需要执行动作“go to location”,第四项子任务中针对“table”需要执行动作“put object(放下物体)”。
步骤S102:获取当前所处空间的视觉信息。
具体地,可以通过以下两种方式中的一种获取视觉信息:
方式一、在由智能设备执行的过程中,基于交互的进行不断更新视觉信息。
在方式一中,提供一种空间建模,采用多维网络矩阵表示机器人附近的空间状态,矩阵中的不同维度表征不同的物理意义。其中,多维网格矩阵至少包含下述几个维度的信息:(1)空间中的障碍物信息;(2)空间中物体的类型信息。具体地,根据机器人不断交互输入的RGB图像生成深度Depth信息以及物体类别信息,并且根据Depth信息的数值方向的信息生成多维网格矩阵;进而,在多维网格矩阵中,可以采用路径算法计算机器人到整个多维网格中各个点的距离。其中,可以通过Unet网络结构训练Depth预测模型,进而将训练所得的模型在线上执行实例时,基于输入的RGB图像生成与所处空间对应的Depth信息。另外,可以通过HRnet网络结构训练物体分类模型,进而将训练所得的模型在线上执行实例时,基于输入的RGB图像生成与所处空间对应的物体类别信息。
具体地,视觉信息可以是通过机器人在不断交互的过程中通过一个或多个视觉传感器生成,在由智能设备执行的过程中,可以通过视觉嵌入的形式进行表现。可选地,机器人可以通过摄像设备或激光雷达等组件完成视觉信息的获取。
方式二、获取与当前所处空间相关的已存储的视觉信息。
在一些场景中,机器人可能长期在同一空间中执行任务,因此,可以通过直接获取历史存储的视觉信息进行使用。
步骤S103:执行下述动作执行步骤A1-A3至少一次:
步骤A1:基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征。
其中,基于视觉信息可以确定出目标对象在空间中所处的位置,进而可以确定出机器人与目标对象之间的相对距离;另外,基于视觉信息还可以确定出目标对象在空间中的视觉方向,进而可以确定出机器人与目标对象之间的相对角度。
具体地,根据视觉信息中的深度值,可以对机器人周围的空间进行低维投射,在线上实例处理中,本申请实施例可以采用3D空间信息投射到2D地图的方式,进而结合根据视觉信息确定的物体分类结果和深度结果,可以得到目标对象在空间中的位置信息和/或方向信息。
在此基础上,可以根据机器人当前所处的位置计算与空间中的目标对象的距离;如可以采用FMM(Fast Marching Method,快速行进算法),计算得到从机器人到目标空间中考虑了障碍物时,到达目标对象所处位置的最优距离路径。具体地,如图3A-图3D所示,机器人的应用空间中,可能包括很多障碍物,例如房间中的桌子、沙发等,基于此,本申请实施例涉及的“距离”是相对距离。相对距离可以理解为在空间维度,机器人移动到目标对象过程中实际移动的距离。例如,如图3A所示,机器人311按照轨迹312移动到目标对象313所处位置,那么,轨迹312的长度则是机器人311与目标对象313之间相对距离。如图3B所示,三角形表示机器人321、圆形表示目标对象322、正方形表示障碍物(非目标对象)323。如图3C所示,图3C为一个示例性网格矩阵的示意图,该图3C可以是对应于图3B进行转换得到的。其中,机器人331所在的方格3310表示机器人的位置,方格3310相邻的八个方格,分别表示以方格3310为原点的八个方向特征,圆形332表示目标对象,网格333表示非目标对象(即障碍物)。可以理解的是,图3B和图3C仅是示意性描述,对本申请实施例涉及的空间特征不构成限制。在另一些实施方式中,本申请实施例涉及的空间特征还可以包括更多或者更少的对象的特征,且各个对象的位置关系也可以不同于图3B和图3C所示。图3D是基于图3C的平面空间特征所确定的最优路径的示意图。图3D中的线条340即为本申请实施例通过FMM算法计算得到的路径,指示机器人331移动到目标对象332的轨迹。进而,在该路径上,可以确定出机器人当前所处位置与目标对象之间的空间趋势特征。
具体地,还可以根据机器人当前视觉方向计算与空间中目标对象的角度差。如图3A所示,机器人的应用空间中,可能包括很多障碍物,例如房间中的桌子、沙发等,机器人可能需要经过方向的变换才能正向面对目标对象。基于此,本申请实施例涉及的“角度”是相对角度。相对角度可以理解为在空间维度,机器人转向面对目标对象过程中实际转动的角度。例如,如图3A所示,机器人311按照轨迹312移动到目标对象313所处位置,那么,轨迹312中所涉及到的转向角度则是机器人311为执行目标任务所需要转动的角度。
步骤A2:基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作。
在通过步骤A1获得机器人当前所处位置和/或当前视觉方向与目标对象之间的空间趋势特征的基础上,通过机器人学习得到的动作描述信息与空间之间的关系,可以相应确定机器人当前所需执行的至少一个目标动作。确定目标执行动作的具体实施方法将在后续实施例中说明。
步骤A3:执行所述目标动作。
可选地,可以在执行一次动作执行步骤A1-A3时,可以在单次执行的过程中确定机器人后续需要执行的一个动作,也可以同时确定机器人后续需要依序执行的多个动作(依序执行的多个目标动作可以视为执行一次步骤A1-A3所执行的一个动作序列)。
下面针对基于输入的任务信息拆分为多个目标任务时,各任务之间的执行顺序关系进行具体说明。
在一实施例中,当机器人将接收到的一个任务命令拆分为多个子任务时,各子任务之间具有执行先后顺序的关系,如上表1所示的例子,执行顺序的关系为任务1-任务2-任务3-任务4。因此,在针对当前执行的目标任务,在执行目标动作之后,还包括下述步骤B1-B2:
步骤B1:若当前所处位置与所述目标对象之间的第一相对距离小于或等于第一预设距离,和/或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围内,执行下一目标任务。
具体地,当确定机器人当前所处位置与目标对象之间的第一相对距离小于或等于第一预设距离时,表征机器人已无需再针对目标对象进行移动;和/或,当确定机器人当前的视觉方向与目标对象之间的第一相对角度在预设角度范围内时,表征目标对象位于机器人的正前方;此时可以确定为当前执行的目标任务已执行完毕,并可以启动执行下一目标任务。
步骤B2:若当前所处位置与所述目标对象之间的第一相对距离大于第一预设距离,或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围外,重复执行所述步骤A1-A3。
具体地,当机器人当前所处位置与目标对象之间的第一相对距离大于第一预设距离时,表征机器人当前无法在所处位置针对目标对象进行任何操作;或,当机器人当前的视觉方向与目标对象之间的第一相对角度在预设角度范围外时,表征机器人当前所面对的方向无法针对目标对象进行任何操作;此时也表征当前执行的目标任务仍未执行完毕,因此,需要针对当前执行的目标任务重复执行动作执行步骤A1-A3。
其中,可以以机器人的正前方的视角为基准,继而将水平和/或垂直方向上进行旋转后可以面向目标对象的角度视为机器人与目标对象之间的第一相对角度。
具体地,在执行单个目标任务时,如图4所示,动作序列包括由至少一次右转(right)、至少一次向前(forward)、一次拿苹果(pick up apple)组成的动作序列,以及每个动作对应的空间趋势特征组成的序列。机器人可以根据特征序列学习对动词“pickup”的理解。也即,针对如图4所示的目标任务,需要重复执行多次动作执行步骤A1-A3。
在本申请中,针对给定的一个任务信息,可以构建出一个距离矩阵M为代理(agent,在本申请中相应于机器人)和相应的目标对象,在此基础上,本申请实施例考虑三种空间趋势,具体而言,对于目标任务G,相对距离d而言,代理和目标对象之间的情况存在以下三种:
相对距离d减少,指令要求机器人移动以减少相对距离,如通过执行上述第一项子任务“去苹果的位置上”。
相对距离d增加,指令要求机器人移动以增加相对距离,如通过执行目标任务G,“远离苹果所在的位置”。
相对距离d为常数,指令要求机器人保持当前位置以保持相对距离不变(keep),如通过执行目标任务G“与苹果的距离保持不变”,其具体是针对“拿”,“挑选”,“放下”等需要代理在操作过程中移动位置保持静止的操作。
其中,距离矩阵M可以描述代理和目标对象的全局状态。但是,针对一个空间作全局特征概括的复杂度是非常高的,因此,本申请实施例考虑将全局特征转换为局部特征,因此,确定机器人下一步执行动作时,可以只考虑机器人周围的局部空间。具体地,可以关注机器人下一步可能移动到的五种位置上,包括平面空间中四个方向上的四个位置和机器人当前所处的位置。
下面针对本申请实施例中确定机器人当前所处位置与目标对象之间的空间趋势特征的具体过程进行说明。
在一实施例中,在步骤A1中基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征,包括以下步骤C1-C4中的至少一项:
步骤C1:基于所述视觉信息确定当前所处位置与所述目标对象之间的第二相对距离;基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征。
具体地,通过机器人获取的视觉信息,可以确定目标对象所处的位置,进而可以确定机器人与目标对象之间的相对距离。在此基础上,相对距离可以通过FMM算法计算的路径确定。如图3D所示,路径的长度可以视为机器人与目标对象之间的相对距离。
具体地,步骤C1中基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征,包括以下步骤C11-C12:
步骤C11:若所述第二相对距离小于或等于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围内。
步骤C12:若所述第二相对距离大于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围外。
其中,可以基于每个时刻的相对距离确定机器人当前所处位置与目标对象之间的空间趋势特征。例如,机器人(agent,a)与目标对象(object,o)在t时刻的相对距离dis(a,o)t满足公式(1):
其中,x是指dis(a,o)t的具体值,远(far,或keep-far),近(close,或keep-close)和手臂范围(也可以视为执行范围)内(handrange)分别表示三个特征。1.5和3是距离值,单位可以是“米”。即,若t时刻的相对距离disa,ot大于3米,该距离特征是far,也即处于执行范围外。若t时刻的相对距离disa,ot小于或者等于3米,且大于1.5米,也即处于执行范围外,该相对距离特征是close。若t时刻的相对距离dis(a,o)t小于或者等于1.5米,该距离特征是handrange,也即处于执行范围内。也即,示例数值1.5对应于第二预设距离。可以理解的是,3和1.5仅作为示例数值,其可以根据实际需要进行调整,本申请对此不作限定。
可选的,在每次机器人执行动作之后,电子设备可以判断执行动作后的dis(a,o)是否满足far或者close,若dis(a,o)满足far或者close,机器人继续向目标设备移动,若dis(a,o)满足handrange,机器人不再移动而是保持在该位置上执行操作(如针对任务2,拿苹果,当第二相对距离小于或等于第二预设距离时,表征机器人已经可以实施动作“拿”,此时机器人不再移动,而是在该位置上执行“拿”的操作)。
可选地,第二相对距离dis(a,o)满足close时,表征机器人已较为接近目标对象,可以有预期地反馈出已接近目标对象的提示信息,已提高机器人执行下一动作的精准度。
步骤C2:基于所述视觉信息确定处理相邻两个目标动作前后与所述目标对象的相对距离差值;基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征。
具体地,假设当前处于t时刻,则处理相邻两个目标动作前后与目标对象的相对距离差值可以是指t-1时刻机器人与目标对象之间相对距离与t-2时刻机器人与目标对象之间相对距离的差值。在该基础上,当机器人向目标对象靠近时,差值表现为负数;当机器人远离目标对象时,差值表现为正数;当机器人与目标对象之间的距离保持不变时,差值表现为0。
具体地,步骤C2中基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征,包括以下步骤C21-C23:
步骤C21:若所述相对距离差值大于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征远离所述目标对象。
步骤C23:若所述相对距离差值小于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征靠近所述目标对象。
步骤C24:若所述相对距离差值等于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征与所述目标对象的距离保持不变。
具体地,t+1时刻的相对距离dis(a,o)t+1,t时刻的相对距离dis(a,o)t,可以确定相对距离差值Δdis(a,o)t=dis(a,o)t+1-dis(a,o)t。其中,Δdis(a,o)t满足下述公式(2):
其中,y是指Δdis(a,o)t的具体值,get-far(远离目标对象)、keep(与目标对象的距离保持不变)和get-close(靠近目标对象)分别是Δdis(a,o)t的三个特征。
步骤C3:基于所述视觉信息确定当前所处位置对应的二维位置信息;基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征。
其中,二维位置信息可以通过二维(2D)平面矩阵确定得到。
具体地,步骤C3中基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征,包括以下步骤C31-C32中的至少一项:
步骤C31:基于所述二维位置信息与预设移动方向,通过卷积运算确定当前所处位置与所述目标对象之间的空间趋势特征;
具体地,本申请提出一种针对卷积神经网络的二维平面矩阵特征(也即空间趋势特征)。其中,给定机器人位置[x,y,z],其中y是竖直方向位置,x是水平横向位置,z是水平纵向位置。同时,给定的机器人被限制只能在水平面上移动,因此,在编辑特征时可以忽略y方向,给出一个平面的上下top-down的2D视角。在这个视角中,机器人可以在水平上进行移动,即二维位置[x,z]随机器人的移动而变化。同时,机器人可以在移动的方向上进行移动。许多应用对于机器人运动的设置存在一定的限制,在本申请实施例中可以以[x,z]上四个移动方向(预设移动方向)为例,即互为90度直角的四个移动方向为例。针对这种情况,可以采用卷积神经网络,将这4个移动方向上的移动位置以及当前位置设置成一个[3*3]的特征格子位置。
如下所示:
[0.2,Nan,0.3]
[-0.2 0.0,0.0]
[-0.4 -0.1 0.1]
其中,以[1,1]为机器人当前所处位置为例,其对应的特征值为0.0;Nan表示在平面空间中,机器人的上方存在障碍物(可以通过视觉信息确定),机器人无法移动到该位置上,因此,无需计算当机器人移动到该位置上时所对应的特征;其中,0.2可以表征当机器人从位置[1,1]移动到[0,0]时,机器人所移动位置与目标对象之间的空间变化情况。
其中,对应的一个针对网络卷积的掩码Mask,如下所示:
[0 1 0][1 1 1]
[0 1 0]其中,1表示有效位置,0表示无效位置。其中,3*3矩阵的中心位置([1,1])表示的是机器人的当前位置。这样在根据具体的特征矩阵,进行卷积网络运算时,就可以根据该矩阵进行向量形式的特征生成。即,令特征矩阵为m,卷积神经网络操作为conv,生成的特征f,那么运算过程可以表达如下公式(3)所示:
f=conv(m)
......公式(3)
基于上述处理过程,由于f是一个针对特征矩阵生成的向量形式特征,因此,空间趋势特征可以与神经网络方法进行整合。
步骤C32:基于所述二维位置信息与预设距离特征,通过注意力机制进行特征编码,确定当前所处位置与所述目标对象之间的空间趋势特征;
其中,所述预设距离特征表征与所述目标对象之间的距离变化。
具体地,本申请实施例基于类似于Transformer风格的注意力机制,在确定空间趋势特征时,编制了相应的特征矩阵嵌入。
具体地,可以将预设距离特征根据矩阵周围的距离拆分成六种情况,其中包括:
(1)机器人与目标对象的距离减少,并且是减少最少的;例如上个矩阵中处于[2,0]位置(采用0作为开始的位置标记,即第一个元素的位置是0位置)的(-0.4);此时无需考虑机器人的行动是否可以到达。
(2)机器人与目标对象的距离减少,但不是减少最少的;例如上个矩阵中处于[1,0]位置的(-0.2)。
(3)机器人与目标对象的距离并没有变化,但位置已经改变;例如上个矩阵中处于[1,2]位置的(0.0)。
(4)机器人与目标对象的距离增加,并且是增加最多的;例如上个矩阵中的处于[0,2]位置的(0.3)。
(5)机器人与目标对象的距离增加,但不是增加最多的;例如上个矩阵中的处于[0,0]位置的(0.2)。
(6)机器人当前所在的位置。
步骤C4:基于所述视觉信息确定当前视觉方向与所述目标对象之间的第二相对角度;基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征。
具体地,在机器人执行具体的动作时,所需考虑的特征信息除了距离差以外,还可以考虑角度差;如对于近景操作(交互),在距离接近到一定水平时,机器人与目标对象之间的角度差也是一个非常重要的特征。也即,空间趋势特征中不仅包括表征距离的特征,也可以包括表征角度的特征。其中,与角度相关的特征可以被定义为:在机器人已经接近到非常近的距离(允许交互的距离)时,与目标对象的角度差。
其中,机器人与目标对象之间的相对角度可以包括水平方向上的第一角度和/或垂直方向上的第二角度。
可选地,步骤C4中基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征,包括:基于所述第一角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、左前方或右前方。
具体地,第一角度可以表示如下公式(4)所示:
其中,在公式(4)中,left_range表征目标对象处于机器人的左前方;如机器人与目标对象之间已经处于可交互的距离,但是目标对象处在机器人的左边,需要机器人左转一个角度才能更好地与目标对象进行交互。right_range表征目标对象处于机器人的右前方;如机器人与目标对象之间已经处于可交互的距离,但是目标对象处于机器人的右边,需要机器人右转一个角度才能更好地与目标对象进行交互。in_sight1表征目标对象处于机器人的正前方,如可以表示目标对象处在机器人正前方的90度范围(预设角度范围)中,在该范围内机器人可以与目标对象进行交互,也方便机器人观察目标对象。
可选地,当目标对象处于机器人的左边时,相对角度可以采用正数表示,当目标对象处于机器人的右边时,相对角度可以采用负数表示。
可选地,步骤C4中基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征,包括:基于所述第二角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、上方或下方。
具体地,第二角度可以表示如下公式(5)所示:
其中,在公式(5)中,up_range表征目标对象处于机器人视觉的上方;如机器人与目标对象之间已经处于可交互的距离,但是目标对象处在机器人视觉的上方,需要机器人向上旋转一个角度才能更好地与目标对象进行交互。down_range表征目标对象处于机器人视觉的下方;如机器人与目标对象之间已经处于可交互的距离,但是目标对象处于机器人视觉的下方,需要机器人向下旋转一个角度才能更好地与目标对象进行交互。in_sight2表征目标对象处于机器人的正前方,如可以表示目标对象处在机器人正前方的90度范围(预设角度范围)中,在该范围内机器人可以与目标对象进行交互,也方便机器人观察目标对象。
可选地,当目标对象处于机器人视觉的上方时,相对角度可以采用正数表示,当目标对象处于机器人的下方时,相对角度可以采用负数表示。
在本申请实施例中可以将这几种类型的距离进行离散化操作,即将不同的距离根据上述六种情况进行分类。为上述的六种距离设置相应的嵌入Embedding,在任意位置都可以根据具体的情况替换成相应的嵌入向量EmbeddingVector。这样,就可以针对四个可能的移动方向的位置进行评分,例如:对位置[0,1]的位置进行评分。而该位置对应的嵌入为根据Transformer中提到的注意力Attention机制,可以对周边的位置进行attention评分,针对位置e1对应的注意力评分可以表达如下公式(6)所示:
其中,Qs是由机器人当前的状态S生成的查询向量Q;dn是注意力计算中的参数,对应于所映射的维度;T是指当前状态S下对应的时刻;是针对位置e1生成的键key的向量;是针对位置e1生成的值value的向量。在执行动作的过程中,机器人当前状态S可以由多种信息复合生成,可以表达如下公式(7)所示:
S=F(ahistoryiins,goal)
......公式(7)
其中,ahistory是机器人执行的行动历史(机器人可以选择多种行为,左转,右转,前进,打开某一个物体等)。goal表示机器人目前执行的任务的语言描述,例如,任务“加热一个苹果”。Ins(instruction)表示机器人执行任务时当前的指导信息,比如在执行上述任务时,指导信息可以是一个由多个句子组成的段落“前进几步,左转,面对柜子;在柜子中找到苹果;拿起苹果,右转找到微波炉;打开微波炉门,将苹果放到微波炉中;关闭微波炉门,打开微波炉加热开关,加热苹果;关闭加热按钮,打开微波炉门,拿出苹果;(任务结束)。”根据goal,以及instruction的指导信息以及机器人执行的动作历史来计算机器人当前的状态。其中,F是某种神经网络函数。该公式可以具体化为,将机器人的所有动作历史具体化为仅记录上一步的动作,如ahistory→aprev。函数F具体化为LSTM(Long Short-Term Memory,长短期记忆网络),F→LSTM。同时,ins,goal作为词序列(段落和句子)可以采用LSTM编码器编码成向量,在此基础上,可以生成S向量。
同时,需要根据S向量生成查询向量Q。生成查询向量Q的过程是一个向量相乘的过程,如下公式(8)所示:
Qs=S·Wq
......公式(8)
其中,Wq为向量Q对应的权重参数。生成Q的过程可以采用Transformer中attention过程,相应的,生成键Key,值Value则同样采用attention机制进行,如下公式(9)所示:
其中,Wk为键key对应的权重参数;Wv为值value对应的权重参数。
通过上述对机器人所处位置的周围各个位置的评分(也即空间趋势特征),可以结合与目标动作描述信息相应的空间趋势确定出机器人下一执行的目标动作。
下面针对本申请实施例中确定与目标任务对应的目标动作的具体过程进行说明。
在一实施例中,目标任务具有对应的目标动作描述信息,步骤A2中基于所述空间趋势特征,确定与所述目标任务对应的目标动作,包括以下步骤D1-D2:
步骤D1:在预构建的预设动作描述信息与预设空间趋势之间的映射关系中,确定与所述目标动作描述信息相应的目标空间趋势。
其中,所述目标空间趋势为远离所述目标对象、靠近所述目标对象、与所述目标对象的距离保持不变、和面向所述目标对象中的至少一种。
具体地,预设空间趋势可以是远离对象、与对象的距离保持不变、靠近对象、和面向对象中的至少一种。预设动作描述信息可以是自然语言输入中可以提取到表示动作行为的动词,如拿(take)、敲(knock)、走(walk)、坐(sit)等等。结合上述表1对预设动作描述信息与预设空间趋势之间的映射关系进行说明:
如任务1中,需要找到苹果,因此,在空间中机器人与目标对象“苹果”之间的空间关系可能是机器人距离苹果有一定的距离或机器人在苹果附近,则动作描述信息“找”对应的空间趋势可以是靠近对象。
如任务2中,需要把苹果拿起来,因此,在空间中机器人需要在特定的位置上(如与苹果的距离在可执行范围内),则动作描述信息“拿”对应的空间趋势可以是保持不变。
如任务3中,需要找到桌子,因此,在空间中机器人与目标对象“桌子”之间的空间关系可能是机器人距离桌子一定的距离或者机器人在桌子附件,则动词“找”可以对应于靠近对象或保持不变的空间趋势。
如任务4中,需要放下苹果,通过前述任务1至任务3的执行,可以确定当前机器人处于桌子附近,则动词“放”可以对应于保持不变的空间趋势。
具体地,预设动作描述信息与预设空间趋势之间的映射关系可以在机器人训练的过程中构建得到,具体的训练过程将在后续实施例中说明。
具体地,由于在自然语言中,动词(动作描述信息)的表现是相对固定的,因此,本申请考虑通过机器人学习的动词与空间之间的关系,让机器人理解命令中动词所指向的具体执行意义。如针对上述表1中,任务2的动词“拿”,当动词“拿”作为目标动作描述信息时,在预设动作描述信息中首先找出与动词“拿”一致或语义相似的动词,并基于相应的预设动作描述信息找到与其具有映射关系的预设空间趋势,与预设动作描述信息相应的预设空间趋势可以是保持不变,因此,与目标动作描述信息“拿”相应的目标空间趋势可以是与目标对象的距离保持不变。
步骤D2:基于所述目标空间趋势与所述空间趋势特征,确定与所述目标任务对应的目标动作。
具体地,以上述表1中的任务1为例子,分别结合上述不同步骤确定的空间趋势特征对所确定的目标动作进行说明:
(1)以上述步骤C1确定的空间趋势特征为例,假设当前第二相对距离大于第二预设距离,即空间趋势特征表征机器人处于执行范围外,则可以确定当前机器人仍需要趋向目标对象进行移动;则可以基于机器人当前所处的位置与基于视觉信息确定的路径确定出机器人下一执行的目标动作。结合图3D所示,此时机器人下一执行动作可以是右转(right),也可以是右转(right)叠加前进(forward)等。
(2)以上述步骤C2确定的空间趋势特征为例,步骤C2确定的空间趋势特征可以是涵盖机器人周围几个移动方向相应位置上的特征信息。如图3D所示,基于机器人所处位置,可以计算机器人的上、下、左、右四个方向上相邻网格所分别对应的相对距离差值。如以机器人当前所处位置与目标对象之间的相对距离为t时刻对应的相对距离,上、下、左和右四个方向上相邻网格所处位置分别与目标对象之间的相对距离为t+1时刻对应的相对距离,则可以确定出上、下、左、右四个位置上分别对应的相对距离差值,且该相对距离差值在确定为空间趋势特征时,可以进一步结合目标空间趋势确定机器人执行的下一目标动作。如当前确定的目标空间趋势为靠近目标对象时,则可以取相对距离差值最小所对应的位置作为机器人执行下一目标动作时所需到达的位置。假设上、下、左、右四个位置分别对应的相对距离差值为0.5、0.5、1、-1,则可以取处于机器人当前右侧的位置作为机器人执行下一动作时所需到达的位置。如图3D所示,由于机器人当前面向上方,则步骤D2确定的目标动作可以包括右转、前行。可选地,还可以将机器人当前所处的位置作为可选位置,也即相对距离差值为0。
(3)以上述步骤C3确定的空间趋势特征为例,与步骤C2所确定的空间趋势特征不同的是,步骤C3所确定与机器人所处位置相邻位置上分别对应的空间趋势特征是基于卷积运算或注意力机制确定的。可以理解的是,步骤C3所确定的对各个位置上的评分是结合空间趋势进行的,因此,在确定出目标空间趋势后,可以选取评分所表征意义与目标空间趋势相应的位置作为机器人执行下一目标动作所需到达的位置。
下面针对本申请实施例中对机器人训练的具体过程进行说明。
在一实施例中,预设动作描述信息与预设空间趋势之间的映射关系在训练过程中构建得到,机器人具体的训练步骤包括以下步骤E1-E3:
步骤E1:获取当前所处空间的视觉信息。
具体地,本申请的实施并不依赖与多变的RGB图像,因此,在机器人训练的过程中,并不依赖于所处空间的视觉信息,该视觉信息用于协助机器人感知空间。
步骤E2:获取训练数据,所述训练数据包括样本任务和与所述样本任务对应的样本对象和至少一个样本动作描述信息,及与所述样本动作描述信息相应的样本动作。
具体地,一个样本任务至少对应于一个样本对象和至少一个样本动作描述信息,相应的,训练数据中还包括由人工经验确定的与样本任务对应的样本动作。
在一种训练方式中,举例说明:训练样本数据中包含:{样本任务goal:“加热一个苹果”;指示instruction:“前进几步,左转,面对柜子;在柜子中找到苹果;拿起苹果,右转找到微波炉;打开微波炉门,将苹果放到微波炉中;关闭微波炉门,打开微波炉加热开关,加热苹果;关闭加热按钮,打开微波炉门,拿出苹果;(任务结束)”,动作action:“动作1,动作2,动作1,动作3,…(完成任务的一系列动作)”}。这样在每一个步骤的过程中就得到训练样本数据的相应样本标签label,就可以用于训练。在另一种训练方式中,针对可选的动作例如:相应的步骤中,训练样本数据选择了因此,训练过程要求,对应的分数分别是[0,0,1,0,0]。基于此,机器人可以预测出执行下一动作所对应的移动方向或位置与相应。
步骤E3:基于所述视觉信息与训练数据进行训练,得到针对所述样本对象执行所述样本动作时所感知的空间趋势,并确定动词与空间趋势之间的映射关系。
其中,所述空间趋势包括远离对象、靠近对象和与对象的距离保持不变中的至少一项。
具体地,在机器人不断训练的过程中,其可以感知在针对不同的样本由智能设备执行的相应的样本动作时,针对不同的样本对象,在不同的环境信息(如视觉信息)下,具有不同的空间变化趋势。在执行多次训练后,机器人可以构建出动词与空间趋势之间的关系,进而得到两者之间的映射关系用于执行线上的实例。
具体地,本申请可以通过给定的训练数据,如样本任务、与样本任务对应的样本对象、样本动作描述信息、样本动作,训练相应的空间趋势模型(SpatialTrendsModel)。其中,训练数据中还可以包括RGB图像数据。在训练过程中,可以采用AI2thor环境平台(人工智能平台,用于训练机器人来感知和导航,从而实现任务的可重复性),将训练数据至于相应的空间中,如将机器人置于相应空间,并重放完全相同的训练数据(如人为设定的行动轨迹)。因此,本申请可以访问ALFRED数据集中不包含的原始空间信息。
在机器人训练过程中,可以为代理建立全局距离矩阵来测量代理在执行目标任务时的距离变化。针对alfred数据集的设置,可以建立了一个离散的全局距离矩阵,它依赖于网格使用步长作为基本度量。在给定目标对象和代理的位置时,可以将它们映射到全局距离矩阵中。对于每个网格,可以计算代理和目标对象各自在当前位置之间的最短距离,以达到距离矩阵并不断更新距离矩阵。具体来说,可以采用了一种快速行进的方法FMM来计算每个网格的距离。其中,可以将范围限制在与代理相邻的4个邻居网格,代理可以一步到达(代理在设置下,一步只能在前后左右四个方向上移动),进而,通过与代理当前与目标对象之间的相对距离比较,可以得到每个网格的距离变化趋势。显然,网格的距离差可以采用实数表示,如上述公式(2)所示,针对公式(2)中的每一种情况,还可以创建相应的嵌入向量表达各种情况所表征的语义。
因此,对于执行动作中的每一步,代理都获得了一个周围空间的语义状态。同时,训练数据中包含给定特定子任务下每个时间步长的序列动作选择,并结合局部空间嵌入,可以训练代理学习子任务与空间趋势之间的相关性。
在本申请实施例中,每个子任务都可以指向一个单调的空间趋势。因此,可以将子任务公式化为一个分类问题。具体来说,当给定一个任务GT和多个子任务Gsub时,其样本动作T包含一个序列(v1:T,a1:T);其中,v1:T,a1:T表征针对子任务1基于相关系数att,vals所确定执行的动作T。当将代理置于相应的房间时,恢复代理的坐标位置c(x,y,z)和姿态o(),并恢复距离矩阵M(在自上而下的视图中包括通过RGB图像输入的深度估计D),同时用对象识别模型Mobj定位每个对象。这些数据可以用(c、o和M)来增强原始的训练数据。因此,本申请可以针对代理A的目标对象O建立距离矩阵M,并生成局部距离矩阵Mlocal。进而,可以建立一个嵌入向量EΔd。同时,可以将局部距离特征投影到[北、西、南、东、中心]的嵌入序列中。进而将导航动作转移到运动选择中。
具体地,还可以使用一个类似transformer的模型来学习子任务和代理运动选择之间的相关性。可以通过Esg表示子任务的嵌入向量,通过Ebins表示代理在的嵌入向量,在此基础上,本申请提出一个包含N、WQ、WK、WV的多头层(multi-head layer)来计算Esg和Ebins之间的相关系数,如下公式(10)所示:
att,vals=MHA(EbinsWQ,EsgWk,EsgWV)
......公式(10)
其中,相关系数att,vals是采用算法MHA(multi-headattention,多头注意力)基于代理的嵌入向量Ebins,查询向量Q的权重WQ,子任务的嵌入向量Esg,键key的权重WK和值value的权重WV计算而得。其中,N表示有N个头,相应的,有N个头就有N个Q、K和V。在监督学习方式下,可以根据增强的训练数据(v1:T,a1:T,M1:T,c1:T,o1:T)来训练MHA模型。该模型可以学习相关的数据集,预测输出(动作相应的网格)和最小化交叉熵损失。
在本申请中,局部距离特征矩阵也有助于检测当前针对对象的所需执行的动作是否结束。例如,当代理需要接近苹果时,本地距离特性将会不断地引导代理移动到相应的网格,这表明相对距离会减少,作为指示的目的直到代理进入苹果的操作范围,在相应范围内代理可以开始操纵苹果。在此步骤中,代理应停止导航移动,并切换到执行下一个子任务(例如,操作)。针对此,本申请设计了一个MLP(Multi-layerPerceptron,多层感知机)来学习如何基于局部距离特征判断当前执行的子任务是否已经执行完毕,具体判断特征fsg表达如下公式(11)所示:
fsg=MLp(MLocal)
......公式(11)
其中,特征fsg是采用MLP算法基于局部距离特征Mlocal计算得到的。
在一可行的实施例中,步骤A2中基于所述空间趋势特征,确定与所述目标任务对应的目标动作,包括:
基于所述空间趋势特征确定与所述目标任务对应的各可选动作的执行分值;
基于所述执行分值从所述可选动作中确定至少一个与所述目标任务对应的目标动作。
在本申请实施例中,为使得智能设备完成给定的任务,可以通过人工方法收集用于训练智能设备的训练数据(如收集专家动作序列演示和日常家政任务语言指令的数据集)。具体地,在给定自然语言指令之后,在预设的房间中收集智能设备的行动序列以及智能设备同步接收到的视觉输入,如图5所示。在图5所示的例子中,智能设备可以是机器人,执行的任务是冲洗杯子并将杯子放在咖啡机中(Rinse off a mug and place it in thecoffee maker),机器人可以通过执行各种动作来完成任务,图5的六幅图中分别表示了在t的不同时刻机器人所执行的具体步骤,例如:图5的第2幅图中表示了在t=10的时刻下,机器人执行从咖啡机里拿起脏杯子(pick up the dirty mug from the coffee maker)的步骤,该执行内容涉及对象交互(与杯子的交互)。又如,给定任务语言指令“拿起桌子上的苹果”,动作序列可以是[转左,前进,...,拿起苹果]。此外,对于任务的每个子阶段,可以为代理提供特定的指令以更好地理解动作,例如,“去餐桌;拿起苹果”。对这种语言驱动的自主代理的目标是可以将语言理解能力从训练场景转移到具有完全不同风格、纹理和设置的场景。
通过训练数据训练智能设备,可以使得智能设备理解自然语言指令并完成指令所指任务,为验证智能设备在通过训练数据训练后所执行指令的效果,可以将训练后的智能设备放在一个陌生的房间(对于智能设备而言属于未探索过的房间)中进行测试,以了解同样的指令是否可以被泛化到不同的场景中且能够完成该指令相应的任务。
在本申请实施例中,可以将智能设备所需执行的动作区分为两种类型,第一种为涉及空间移动(导航)的类型,该类型的动作会导致智能设备的空间位置发生变化;第二种为涉及交互的类型,该类型的动作可能为拿起、放下等。针对第二种涉及交互的动作类型,对于具体的操作,模型可以较好地学习到内在的关联,如拿起一个苹果的操作,该操作涉及到交互对象“苹果”和执行的动作“拿起”,因此,即使采用序列模型执行指令也可以获得较好的效果。而针对第一种涉及空间移动的动作类型,由于受到房间、物体等各种不可控因素的影响,在执行指令时则难以达到较好的效果。
具体地,可以通过将语言指令编码为解码动作序列来考虑序列到序列的问题,以解决跨场景执行任务的问题,以捕捉任务和动作序列的句子表示与场景视觉特征之间的内在相关性。然而,由于跨场景执行任务的情况存在语言指令对应的实际所需要处理的语言单词序列(如基于动词短语构成的序列)和动作序列不一致的问题,对于相同的语言命令,机器人可以根据具体场景生成完全不同的动作序列,导致任务的处理性能较低。
基于此,本申请实施例还提出一种空间趋势奖励函数(又称奖励函数)解决相关技术中存在的技术问题;在给定地图结构M时,实现将学习数据进行跨场景的迁移(移植到智能设备没有探索过的场景中),其中,学习数据所针对的动词句子中常见的形式为S(代理Agent)+V(动词verb)+O(目标Target)+P(位置location),属于自然语言中常见的任务描述形式,还可以是常用的SVO句式(主谓宾句式)。
另外,本申请实施例还考虑到在执行指令所指的任务时,可能存在多种行动路径或动作序列,而无法确定唯一选择的问题,该问题如图6所示,针对指令所指的任务“拿起一个苹果”而言,黑色圈表示智能设备当前所处的位置,白色圈表示苹果所在位置,地图M为智能设备通过深度信息不断扫描周围环境得到的空间表示;对于智能设备而言,通过任何一个路径前往苹果所处的位置都是符合任务语义的;在此基础上,无法规定哪一具体的路径或者动作序列是唯一正确的选择。因此,本申请实施例采用了一种结合语义地图来训练奖励函数(reward function)的方案,如采用IRL(inverse reinforcement learning,逆向强化学习)训练奖励函数,使得模型基于训练后的奖励函数对各可选路径或动作序列进行评分,并即将评分最高的路径或动作序列视为正确或者唯一的目标路径或目标动作序列。
具体地,以深度depth信息为基础输入,构建代理Agent(如图6所示黑色圈)周围的空间(障碍物、可通行空间、可通行空间梯度等),评估与目标(如图6所示白色圈)的相对通行距离。对于SVO的句式来说,必然存在一个空间变化趋势使得动词句子的语义成立,因此本申请实施例可以通过该句式训练奖励函数完成任务,其具体为一种将句子语义转换成空间趋势奖励函数的方法。
奖励函数来源于强化学习,该函数对代理Agent的行为进行评分。针对本申请实施例提供的方法而言,针对常见的任务,不同的动词对应的空间一般有三种趋势,如上述实施例所指的接近、远离以及保持不变(距离不变)。因此,本申请实施例提供的奖励函数可以根据智能设备与目标之间的通行距离或相对角度为智能设备的行为打分,以通过设置趋势类的奖励分数,帮助智能设备理解动词的空间语义;如针对动词句子“拿起一个苹果”,对应的空间趋势为接近。可以理解的是,空间趋势在跨场景的应用中是成立的。而针对涉及交互的动作,则与智能设备本身的设置相关,如具有机械臂的机器人可以操作与“拿起”相关的一类动作,不具有机械臂的机器人则无法操作该类型的动作;其中,涉及交互的动词短语“拿起”的空间趋势通常是指“减少”,也即代理接近目标。
在本申请实施例中,将句子的空间语义解析成上述实施例所指的奖励函数。如果智能设备可以完成相应的任务,则句子的空间语义没有损失。因此,本申请实施例可以将句子语义转码成一个或者多个智能设备相对目标的空间趋势奖励函数,以最大程度地保证句子空间语义的完整性。在本申请实施例中,转码涉及到编码和解码;其中,可以将编码结果称为具身空间表达(又称具身空间嵌入);该表达包括两个部分,一部分是智能设备与目标之间的相对趋势的奖励函数;另一部分是具体的空间信息,如地图;可以将解码结果视为趋势奖励函数序列和地图空间序列。
在一可行的实施例中,动词短语的具身空间表达可以作为语义图(如空间地图)和奖励函数的组合,随着执行动词短语所指任务的结束,可以确定动词短语的空间语义被完全传达。
基于上述实施例,可以理解的是,本申请实施例提供了一种实例语言空间嵌入的方法来解决相关技术中的问题。具体地,首先为智能设备(又称智能体)构建空间结构,然后通过将语言教学的关键信息解析为关键元素(宾语、动词短语、目标等)并将这些元素投影到空间结构中来学习与ALFRED训练数据集的嵌入相关性;继而,可以将每个专家演示转移到跟踪空间状态变化,可以利用空间状态跟踪来训练逆强化学习(IRL)网络来学习描述动作和语言空间意义之间的奖励函数。最后,可以使用这个奖励函数来引导代理在不同的场景下甚至在不同的平台上执行一致性行为。具体地,本申请实施例提供的奖励函数可以引导智能体执行与动词短语含义相匹配的正确行为,而无需在处理不同的场景或平台时根据新的训练数据集构建指令。也即,本申请实施例揭示了一种解决嵌入式AI应用中迁移学习问题的方法。
具体地,为了构建具身空间嵌入,本申请实施例采用了一个可以不断扩展的具身空间图,由三部分模块组成:(1)空间地图、(2)动词短语实例嵌入、(3)空间奖励功能。
针对空间地图:具身空间图是智能设备内部理解语言指令的基本结构,是一个可扩展的矩阵,可以以自上而下的二维2D样式不断适应新的空间信息(如实例中的不同场景)。其中,2D样式的适用是考虑到智能设备为在地平线上移动的设备;若针对如无人机等可以在三维空间中移动的设备,可以采用三维3D样式。其中,可以将具身空间图表示为M(如图7中逆向强化学习的第一步),将整个空间分解为网格形式(如图7中逆向强化学习的第二步、第三步和第四步所示;其中,第二步示出平面上各网格所示位置对应的智能设备可执行的转向和/或移动动作;第三步示出了IRL的初始化状态;第四步示出了训练后的状态),在各网格中将障碍物和可达空间(如智能设备可移动的空间)分别采用不同的符号标识(如采用数字0标识该网格对应的位置为智能设备可通过空间、采用数字1标识该网格对应的位置为智能设备不可通过空间、同时数字1还可以表征该网格对应的位置上存在障碍物),将对象(目标)表示为O;该实例的空间图描述了动词短语的关键信息。
针对动词短语实例嵌入:对于每个动词短语,它通常涉及主语(代理,可以是智能设备)动词短语(如拿起)宾语(目标),也即一种SVO句式。对于智能体,需要应用动作序列来匹配动词短语的空间意义。基于给定的动词短语的空间含义,代理可以根据空间趋势运行,一般情况下空间趋势可以包括:接近、远离、保持距离不变等。动词短语通常包含空间意义,例如“拿起pickup”动作通常需要代理靠近目标,然后应用“拿pick”。另一个例子是“离开角落处的橱柜”;意味着代理会增加自己和角落之间的距离(空间趋势为远离),而实例“橱柜”则为代理行动的目标。
针对空间IRL奖励函数(Spatial IRL reward function):提出采用一个IRL网络来学习基于语言和空间轨迹的奖励。例如,针对动词短语“拿起”的空间特征通常是指“减少”,那么相应正确的空间趋势为接近,则在训练奖励函数时,其训练方向可以是:针对空间趋势为接近的奖励分值大于针对空间趋势为其他(如远离)的奖励分值。所学习的每个动词短语的空间奖励对应于动词短语的空间含义,并且可以体现场景之间的一致性(如在不同的场景下,针对同一动词短语,其学习的空间奖励是一致的)。
结合上述实施例的描述可见,本申请实施例提供的方法可以帮助智能设备克服场景之间的差异,使得智能设备对自然语言指令所描述任务的执行不限于所处的空间,也不依赖于多变的RGB图像信息,本申请的实施有利于提高智能设备执行任务的灵活性和模型框架上的泛化性。具体地,可以通过如图5所示实例(也即图7所示在预设的房间学习的实例)的学习结合如图7所示奖励函数的逆强化学习,实现将相同的指令应用于不同的场景(如针对相同的指令“拿起一个苹果”分别应用到图7所示的三个不同的应用场景中)。
其中,在空间趋势特征中包括表征距离和角度的两个特征时,可以将这两个变量(距离δd和角度δθ)离散化为两个特征Embedding(特征嵌入,类似于词向量),以方便特征函数空间进行学习。在本申请中,需要学习一个奖励函数R(dis(a,o),angle(a,o)|I),其中I表示的是具体的指示句子,例如:为我拿一个苹果来。其中,奖励函数R的学习过程中只需要I中的空间语义,可以将I进行解码,解码成空间趋势ST以及对象O两个成分序列。例如针对I“为我拿一个苹果来”,可以解码成[空间接近,苹果],那么R函数就可以简化为(dis,angle|close)。在此基础上,可以直接使用实例序列中的数据,将其过程转化为由角度和距离表征的嵌入,同时在这些数据上直接训练R函数,并将其进行泛化使用。其中,奖励函数可以表示如下公式(12)所示:
其中,在公式(12)中,Δd为机器人与操作对象之间的相对距离;Δθ为机器人与操作对象之间的相对角度;ST为空间趋势特征。针对该奖励函数,本申请实施例可以通过IRL训练奖励函数R;具体地,可以采用ALFRED的数据训练奖励函数,通过从ALFRED加载轨迹数据,可以将机器人执行的每个动作转换为变量距离δd和角度δθ。
具体地,训练好的奖励函数可以直接基于空间趋势特征确定出机器人执行每一可选动作序列(每一序列包括至少一个动作)所对应的执行分值,进而,将执行分值最高的可选动作序列确定为与目标任务对应的目标动作序列。
下面对本申请实施例提供的由智能设备执行的方法所具体处理的任务进行说明。
具体地,针对本申请实施例所处理的具体问题进行说明:假设针对ALFRED(一种应用程序)任务,执行该任务要求智能设备(如机器人)以语言指令为输入,并执行正确的动作序列来完成语言指令所描述的任务。具体地,执行任务时要求智能设备可以理解自然语言指令,如指令“为我拿一杯咖啡”,智能设备需要理解该指令并将该指令对应的自然语言转化为一系列的动作(动作序列,action sequence);其中,动作序列可以是[前进、左转、抬头、前进、右转、拿起杯子、左转......]。相对于智能设备而言,执行自然语言指令时,具有多种可以选择的操作,操作的集合可以是[前进Move forward、左转Turn Left、右转TurnRight、向上看Look Up、向下看Look Down、拿起Pick、放下Put、开启Toggle On、关闭ToggleOff......],智能设备可以通过调用集合中的至少一个操作来完成自然语言指令所描述的任务。
本申请实施例提供了一种由智能设备执行的装置,如图8所示,该由智能设备执行的装置500可以包括:确定模块501、获取模块502、执行模块503。
其中,确定模块501,用于基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象;获取模块502,用于获取当前所处空间的视觉信息;执行模块503,用于执行下述步骤A1-A3至少一次:步骤A1,基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征;步骤A2,基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作;步骤A3,执行所述目标动作。
在一实施例中,包括至少两个待按序执行的目标任务;针对当前执行的目标任务,执行模块503在执行所述目标动作之后,还用于:
若当前所处位置与所述目标对象之间的第一相对距离小于或等于第一预设距离,和/或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围内,执行下一目标任务;
若当前所处位置与所述目标对象之间的第一相对距离大于第一预设距离,或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围外,重复执行所述步骤A1-A3。
在一实施例中,执行模块503用于基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征时,具体用于以下至少一项:
基于所述视觉信息确定当前所处位置与所述目标对象之间的第二相对距离;基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定处理相邻两个目标动作前后与所述目标对象的相对距离差值;基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定当前所处位置对应的二维位置信息;基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定当前视觉方向与所述目标对象之间的第二相对角度;基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征。
在一实施例中,执行模块503用于基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征时,具体用于:
若所述第二相对距离小于或等于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围内;
若所述第二相对距离大于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围外。
在一实施例中,执行模块503用于基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征时,具体用于:
若所述相对距离差值大于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征远离所述目标对象;
若所述相对距离差值小于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征靠近所述目标对象;
若所述相对距离差值等于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征与所述目标对象的距离保持不变。
在一实施例中,执行模块503用于基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征时,具体用于以下至少一项:
基于所述二维位置信息与预设移动方向,通过卷积运算确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述二维位置信息与预设距离特征,通过注意力机制进行特征编码,确定当前所处位置与所述目标对象之间的空间趋势特征;
其中,所述预设距离特征表征与所述目标对象之间的距离变化。
在一实施例中,所述第二相对角度包括水平方向上的第一角度和/或垂直方向上的第二角度;执行模块在用于基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征时,具体用于执行以下至少一项:
基于所述第一角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、左前方或右前方;
基于所述第二角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、上方或下方。
在一实施例中,目标任务具有对应的目标动作描述信息,执行模块503用于基于所述目标动作描述信息和预构建的预设动作描述信息与预设空间趋势之间的映射关系和所述空间趋势特征,确定与所述目标任务对应的目标动作时,具体用于:
在预构建的预设动作描述信息与预设空间趋势之间的映射关系中,确定与所述目标动作描述信息相应的目标空间趋势;
基于所述目标空间趋势与所述空间趋势特征,确定与所述目标任务对应的目标动作;
其中,所述目标空间趋势为远离所述目标对象、靠近所述目标对象、与所述目标对象的距离保持不变、和面向所述目标对象中的至少一种。
在一实施例中,所述预设动作描述信息与预设空间趋势之间的映射关系在训练过程中构建得到,训练步骤包括:
获取当前所处空间的视觉信息;
获取训练数据,所述训练数据包括样本任务和与所述样本任务对应的样本对象和至少一个样本动作描述信息,及与所述样本动作描述信息相应的样本动作;
基于所述视觉信息与训练数据进行训练,得到针对所述样本对象执行所述样本动作时所感知的空间趋势,并确定动词与空间趋势之间的映射关系;
其中,所述空间趋势包括远离对象、靠近对象、与对象的距离保持不变、和面向对象中的至少一项。
在一实施例中,执行模块在用于执行基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作时,具体用于:
基于所述空间趋势特征确定与所述目标任务对应的各可选动作序列的执行分值;
基于所述执行分值从所述可选动作序列中确定与所述目标任务对应的目标动作序列;所述目标动作序列中包括至少一个目标动作。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现由智能设备执行的方法的步骤,与现有技术相比可实现:本申请针对输入的任务信息,拆分成至少一个目标任务,各目标任务具有对应的目标对象和至少一个目标动作描述信息;在该基础上,可以结合当前所处空间的视觉信息执行任务;具体地,基于视觉信息,确定当前所处位置与目标对象之间的空间趋势特征,进而基于空间趋势特征确定目标任务对应的目标动作。本申请方案的实施在对自然语言理解的基础上,分析出在执行目标任务的过程中,与目标对象在空间中的空间变化趋势;也即可以理解出动词与空间之间的密切关系。该方案的实施不限于所处的空间,也不依赖于多变的RGB图像信息,有利于提高由智能设备执行的的灵活性和模型框架上的泛化性。
在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备600包括:处理器601和存储器603。其中,处理器601和存储器603相连,如通过总线602相连。可选地,电子设备600还可以包括收发器604,收发器604可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器604不限于一个,该电子设备600的结构并不构成对本申请实施例的限定。
处理器601可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器601也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线602可包括一通路,在上述组件之间传送信息。总线602可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器603可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器603用于存储执行本申请实施例的计算机程序,并由处理器601来控制执行。处理器601用于执行存储器603中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:智能手机、平板电脑、笔记本电脑、智能音箱、智能手表、车载设备等。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请所提供的实施例中,由电子设备执行的上述设备的位姿估计方法可以使用人工智能模型来执行。
根据本申请的实施例,在电子设备中执行的该方法可以通过使用图像数据或视频数据作为人工智能模型的输入数据来获得识别图像或图像中的图像特征的输出数据。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。
视觉理解是一种用于像人类视觉一样识别和处理事物的技术,并且包括例如对象识别、对象跟踪、图像检索、人类识别、场景识别、3D重建/定位或图像增强。
本申请所提供的由智能设备执行的装置,可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,(例如中央处理单元(CPU)、应用处理器(AP)等)、或者是纯图形处理单元,(例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,(例如,神经处理单元(NPU))。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
该AI模型可以由包含多个神经网络层组成。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (14)
1.一种由智能设备执行的方法,其特征在于,包括:
基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象;
获取当前所处空间的视觉信息;
执行下述步骤A1-A3至少一次:
步骤A1,基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征;
步骤A2,基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作;
步骤A3,执行所述目标动作。
2.根据权利要求1所述的方法,其特征在于,针对当前执行的目标任务,在执行所述目标动作之后,还包括:
若当前所处位置与所述目标对象之间的第一相对距离小于或等于第一预设距离,和/或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围内,执行下一目标任务;
若当前所处位置与所述目标对象之间的第一相对距离大于第一预设距离,或当前视觉方向与所述目标对象之间的第一相对角度在预设角度范围外,重复执行所述步骤A1-A3。
3.根据权利要求1所述的方法,其特征在于,所述基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征,包括以下至少一项:
基于所述视觉信息确定当前所处位置与所述目标对象之间的第二相对距离;基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定处理相邻两个目标动作前后与所述目标对象的相对距离差值;基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定当前所处位置对应的二维位置信息;基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述视觉信息确定当前视觉方向与所述目标对象之间的第二相对角度;基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第二相对距离,确定当前所处位置与所述目标对象之间的空间趋势特征,包括:
若所述第二相对距离小于或等于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围内;
若所述第二相对距离大于第二预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征处于执行范围外。
5.根据权利要求3所述的方法,其特征在于,所述基于所述相对距离差值,确定当前所处位置与所述目标对象之间的空间趋势特征,包括:
若所述相对距离差值大于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征远离所述目标对象;
若所述相对距离差值小于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征靠近所述目标对象;
若所述相对距离差值等于第三预设距离,确定当前所处位置与所述目标对象之间的空间趋势特征表征与所述目标对象的距离保持不变。
6.根据权利要求3所述的方法,其特征在于,所述基于所述二维位置信息,确定当前所处位置与所述目标对象之间的空间趋势特征,包括以下至少一项:
基于所述二维位置信息与预设移动方向,通过卷积运算确定当前所处位置与所述目标对象之间的空间趋势特征;
基于所述二维位置信息与预设距离特征,通过注意力机制进行特征编码,确定当前所处位置与所述目标对象之间的空间趋势特征;
其中,所述预设距离特征表征与所述目标对象之间的距离变化。
7.根据权利要求3所述的方法,其特征在于,所述第二相对角度包括水平方向上的第一角度和/或垂直方向上的第二角度;所述基于所述第二相对角度,确定当前视觉方向与所述目标对象之间的空间趋势特征,包括以下至少一项:
基于所述第一角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、左前方或右前方;
基于所述第二角度,确定当前视觉方向与所述目标对象之间的空间趋势特征表征所述目标对象处于正前方、上方或下方。
8.根据权利要求1所述的方法,其特征在于,所述目标任务具有对应的目标动作描述信息,所述基于所述空间趋势特征,确定与所述目标任务对应的目标动作,包括:
在预构建的预设动作描述信息与预设空间趋势之间的映射关系中,确定与所述目标动作描述信息相应的目标空间趋势;
基于所述目标空间趋势与所述空间趋势特征,确定与所述目标任务对应的目标动作;
其中,所述目标空间趋势为远离所述目标对象、靠近所述目标对象、与所述目标对象的距离保持不变、和面向所述目标对象中的至少一种。
9.根据权利要求8所述的方法,其特征在于,所述预设动作描述信息与预设空间趋势之间的映射关系在训练过程中构建得到,训练步骤包括:
获取当前所处空间的视觉信息;
获取训练数据,所述训练数据包括样本任务和与所述样本任务对应的样本对象和至少一个样本动作描述信息,及与所述样本动作描述信息相应的样本动作;
基于所述视觉信息与训练数据进行训练,得到针对所述样本对象执行所述样本动作时所感知的空间趋势,并确定动词与空间趋势之间的映射关系;
其中,所述空间趋势包括远离对象、靠近对象、与对象的距离保持不变、和面向对象中的至少一项。
10.根据权利要求1所述的方法,其特征在于,所述基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作,包括:
基于所述空间趋势特征确定与所述目标任务对应的各可选动作序列的执行分值;
基于所述执行分值从所述可选动作序列中确定与所述目标任务对应的目标动作序列;所述目标动作序列中包括至少一个目标动作。
11.一种由智能设备执行的装置,其特征在于,包括:
确定模块,用于基于输入的任务信息,确定至少一个目标任务;各所述目标任务具有对应的目标对象;
获取模块,用于获取当前所处空间的视觉信息;
执行模块,用于执行下述动作执行步骤至少一次:
基于所述视觉信息,确定当前所处位置和/或当前视觉方向与所述目标对象之间的空间趋势特征;
基于所述空间趋势特征,确定与所述目标任务对应的至少一个目标动作;
执行所述目标动作。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行根据权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机可以执行上述权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至10中任一项所述方法的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021112107438 | 2021-10-18 | ||
CN202111210743 | 2021-10-18 | ||
CN202210503634 | 2022-05-09 | ||
CN2022105036343 | 2022-05-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115993783A true CN115993783A (zh) | 2023-04-21 |
Family
ID=85993091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210799996.1A Pending CN115993783A (zh) | 2021-10-18 | 2022-07-06 | 由智能设备执行的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115993783A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824303A (zh) * | 2023-07-06 | 2023-09-29 | 哈尔滨工业大学 | 基于损伤驱动和多模态多任务学习的结构巡检智能体导航方法 |
-
2022
- 2022-07-06 CN CN202210799996.1A patent/CN115993783A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824303A (zh) * | 2023-07-06 | 2023-09-29 | 哈尔滨工业大学 | 基于损伤驱动和多模态多任务学习的结构巡检智能体导航方法 |
CN116824303B (zh) * | 2023-07-06 | 2024-01-26 | 哈尔滨工业大学 | 基于损伤驱动和多模态多任务学习的结构巡检智能体导航方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Duan et al. | A survey of embodied ai: From simulators to research tasks | |
Ramakrishnan et al. | An exploration of embodied visual exploration | |
Gupta et al. | Cognitive mapping and planning for visual navigation | |
Lyu et al. | Robot path planning by leveraging the graph-encoded Floyd algorithm | |
Morales et al. | A survey on deep learning and deep reinforcement learning in robotics with a tutorial on deep reinforcement learning | |
Chi et al. | Just ask: An interactive learning framework for vision and language navigation | |
Lyu et al. | Improving target-driven visual navigation with attention on 3d spatial relationships | |
Xian et al. | Chaineddiffuser: Unifying trajectory diffusion and keypose prediction for robotic manipulation | |
Francis et al. | Core challenges in embodied vision-language planning | |
Li et al. | Embodied semantic scene graph generation | |
Sang et al. | A novel neural multi-store memory network for autonomous visual navigation in unknown environment | |
Zhang et al. | A survey of visual navigation: From geometry to embodied AI | |
Wu et al. | Vision-language navigation: a survey and taxonomy | |
Wahid et al. | Learning object-conditioned exploration using distributed soft actor critic | |
Rajvanshi et al. | Saynav: Grounding large language models for dynamic planning to navigation in new environments | |
Nematollahi et al. | Hindsight for foresight: Unsupervised structured dynamics models from physical interaction | |
Ren et al. | Insactor: Instruction-driven physics-based characters | |
Liu et al. | Aligning cyber space with physical world: A comprehensive survey on embodied ai | |
CN115993783A (zh) | 由智能设备执行的方法及相关设备 | |
Huang et al. | Inverse kinematics using dynamic joint parameters: inverse kinematics animation synthesis learnt from sub-divided motion micro-segments | |
Zhang et al. | Good time to ask: A learning framework for asking for help in embodied visual navigation | |
Wang et al. | Robot gaining robust pouring skills through fusing vision and audio | |
Wu et al. | Embodied navigation with multi-modal information: A survey from tasks to methodology | |
Miyazawa et al. | Survey on Multimodal Transformers for Robots | |
Xing et al. | Scene-aware Human Motion Forecasting via Mutual Distance Prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |