一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于生成电子设备的导航路径的方法和产品与流程

2022-02-23 00:46:51 来源:中国专利 TAG:


1.本公开的各实施例涉及路径规划技术领域,更具体地,涉及电子设备的导航路径规划的方法、装置、设备、介质和程序产品。


背景技术:

2.随着技术的发展,很多电子设备(例如,机器人)都具有自动执行任务的能力。例如,当接收给定的任务后(例如,向桌子上的杯子加水),机器人将会自动地规划路径,避开障碍物,沿着其规划的路径移动至桌子附近,再执行后续加水的动作。诸如这种类型的任务可以具有一些挑战,因为机器人所在的环境(例如,机器人所在的房间)可能对于机器人是全新的,没有可以直接使用的地图。而且,即使有描述环境的地图,但由于环境中物品的位置的变化,原有的地图已经不适用。
3.为了解决这些问题,一种想法是先建立描述环境和环境中各个物体的位置的地图,再在该地图中进行路径规划。然而,这种路径规划的方法需要执行大量的搜索任务,可能要遍历地图中的所有点,带来的计算开销较大。同时,这种方法也没有考虑环境中的各个物体之间的关联关系,例如桌子与椅子通常放置在一起,杯子通常放置在桌子上。


技术实现要素:

4.本公开的实施例提供了一种生成电子设备的导航路径的方法、装置、设备、介质和程序产品。
5.在本公开的第一方面中,提供了一种用于生成电子设备的导航路径的方法。该方法包括:基于第一地图来生成第二地图,第一地图描述场景中的多个对象在场景中的位置,第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离;基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径;以及从候选路径中选择从目标位置到达目标对象的导航路径。
6.在本公开的第一方面中,还提供了一种用于训练神经网络模型的方法。该方法包括:获取包括多个场景和多个对象的训练数据集;获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别;基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
7.在本公开的第二方面中,提供了一种用于生成电子设备的导航路径的装置。该装置包括:地图生成模块,被配置为基于第一地图来生成第二地图,第一地图描述场景中的多个对象在场景中的位置,第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离;候选路径确定模块,被配置为基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径;以及导航路径选择模块,被配置为从候选路径中选择从目标位置到达目标对象的导航路径。
8.在本公开的第二方面中,还提供了一种用于训练神经网络模型的装置。该装置包
括:训练数据获取模块,被配置为获取包括多个场景和多个对象的训练数据集;训练标签获取模块,被配置为获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别;训练模块,被配置为基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
9.在本公开的第三方面中,提供了一种电子设备。该电子设备包括:存储器和处理器;其中存储器用于存储一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据第一方面所述的方法。
10.在本公开的第四方面中,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据第一方面所述的方法。
11.在本公开的第五方面中,提供了一种计算机程序产品。该计算机程序产品包括一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据第一方面所述的方法。
12.提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
13.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
14.图1示出了根据本公开的某些实施例的用于生成电子设备的导航路径的方法的使用环境的示意图;
15.图2示出了根据本公开的某些实施例的用于生成电子设备的导航路径的方法的流程图;
16.图3a示出了根据本公开的某些实施例的第二地图的示意图,并且其中预测距离被示出;
17.图3b示出了根据本公开的某些实施例的第二地图的示意图,并且其中特定对象被示出;
18.图4示出了根据本公开的某些实施例的用于训练神经网络模型的方法的流程图;
19.图5示出了根据本公开的某些实施例的子场景的示意图;
20.图6示出了根据本公开的某些实施例的用于生成电子设备的导航路径的装置的框图;
21.图7示出了根据本公开的某些实施例的用于训练神经网络模型的装置的框图;以及
22.图8示出了其中可以实现本公开的一个或多个实施例的计算系统的框图。
23.在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
24.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
25.在本公开中使用的术语“地图”是指对环境/场景建模的结果,是路径规划的重要环节。其目的是建立一个便于计算机进行路径规划所使用的模型,即将实际的物理空间抽象成算法能够处理的抽象空间,实现物理与抽象之间的映射。
26.在本公开中使用的术语“路径”是指在路径搜索阶段,在环境模型的基础上应用相应算法寻找一条行走路径。该行走路径使预定的与目标相关联的函数获得最优值,并不一定指直接通往目标对象的路径,也可以通往为了到达目标对象而选择的中间目标的路径。
27.在本文中使用的术语“训练”或“学习”是指利用经验或者数据优化系统性能的过程。例如,神经网络系统可以通过训练或学习过程,逐渐优化预测距离的性能,例如提高预测距离的准确性。在本公开的上下文中,为讨论方便之目的,术语“训练”或者“学习”可以互换使用。
28.在本文中使用的术语“生成电子设备的导航路径的方法/模型”是指依据与特定环境/场景中的颜色信息、深度信息、物体种类等等相关联的先验知识建立的方法/模型。该方法/模型可以被用于在电子设备的导航任务中找到目标对象并且使电子设备到达目标对象。
29.在本文中使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
30.发明人注意到,现有地图和导航规划方法已经不能满足日益增长的电子设备执行自主任务的需求。例如,当一个家用的生活服务机器人第一次在家里执行倒水的任务时,该机器人可能连水杯都不知道在哪里。而且,在传统的导航任务中,环境的地图是提前构建好的,导航的目标位置也是在地图上以坐标的形式给出的。但是,在前述任务中,没有预先构建的地图,并且机器人也不知道目标的位置,只知道目标是什么(例如,目标是水杯,因为先要找到水杯才能倒水)。因此,机器人必须为自己设定目标对象,该目标对象可以包括最终目标对象(例如,水杯),也可以包括中期目标对象(例如,水杯所在的桌子附近,或桌子旁边的椅子),以便合理的规划导航路径,避开障碍等等。
31.发明人还发现,在传统的导航规划方法中,没有利用先验知识提供更快速、更准确、更简洁的导航路径规划过程。由于在特定环境下,例如室内场景,尤其是居家场景中,各个对象之间的空间关系、距离都满足一定的规律,诸如椅子经常放置在桌子附近,杯子通常在桌子上。当机器人需要搜索杯子时,大概率可以先找一个更容易定位的对象(例如,视觉上更明显的桌子或椅子)。
32.根据本公开的实施例,将在描述机器人周围场景的地图(下文也称“第一地图”)的基础上再生成包括对象之间的空间关系的先验知识信息的地图(下文也称“第二地图”),来提供关于从场景中的多个位置到达多个对象中的目标对象的预测距离。这样,在确定从多个位置中的目标位置到达目标对象的候选路径时,更容易找到更短的路径。也就是说,在此
描述的各实施例有益地利用了场景中各个对象的空间关系,并且直接利用各个位置到目标对象的距离,无需先执行搜索等操作。相较传统方案,能够提供更优的导航路径,从而使得机器人高效地移动到目标对象。
33.在下文描述中,某些实施例将参考机器人的工作过程来讨论,例如,提供居家生活服务的机器人,等等。但是应当理解,这仅仅是为了更好地阐释本公开实施例的原理和思想,而无意以任何方式限制本公开的范围。在此的描述的实施例在其他场景中也可适用。
34.图1示出了根据本公开的某些实施例的用于生成电子设备的导航路径的方法的使用环境100的示意图。如图所示,在电子设备101(诸如,机器人)处,获取场景中的颜色信息(例如,rgb图像)和深度信息(例如,深度图像)。获取这些信息的方式包括但不限于从安装于电子设备上的相机获取,诸如rgbd相机102。该相机可以捕获相机视角内的空间的景深距离,提供三维图像。
35.在电子设备101将根据导航路径被引导至目标对象。随后电子设备101可以执行任务要求的操作,例如,机器人拿起杯子加满水,等等。对于后续电子设备将执行的操作或动作,本公开不做限制。
36.图2示出了根据本公开的某些实施例的用于生成电子设备的导航路径的方法200的流程图。为了便于描述,将以机器人在室内居家场景中从它的当前位置移动到桌子旁边作为示例来描述方法200所实现的生成电子设备的导航路径的过程。但是正如上文所述的,这仅仅是示例性的,无意以任何方式限制本公开的范围。本文描述的方法200的实施例同样能够用于其他任何适当的电子设备的导航过程。
37.在201处,基于第一地图生成第二地图。例如,在该实施例中,第一地图描述的是客厅的多个对象在客厅中的位置。
38.在电子设备101处,可以利用获取的三维图像,以及预先确定的在场景中的多个对象的类别,来生成第一地图。第一地图的一个示例是语义地图,语义地图以地图为载体,将语义映射到其中。可以理解,语义表示场景中各个对象的类别。类别是指物体的名称,诸如桌子、椅子,或者可以将这些名称编码为数字等代号。因此,第一地图提供了一种简化的模型。“语义”可以通过分类、检测、分割等模型从三维图像中学习和获取,但“语义”也可以由人来定义,只要这种定义足够普适和简洁。
39.可以通过上文所讨论的方法来获取第一地图。并且在一些实施例中,第一地图是通过基于场景的颜色图像和深度图像将各个对象投影到平面而获得的二维地图。并且更具体地,这样的第一地图,可以通过利用机器人的视角内的场景,结合机器人的位置和姿态、相机的固有参数等信息,以及对象的类别,投影得到俯视视角的二维地图。因此,这是一种比较高效的表示场景中的各类信息的抽象。
40.基于第一地图而生成的第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离。作为示例,图3a示出了根据本公开的某些实施例的第二地图的示意图,并且其中预测距离被示出,其中每个栅格中数字表示预测距离。图3b示出了第二地图的又一示例,并且其中特定对象被示出。可以看出,以栅格形式组成的第二地图较好的反应了机器人所在场景的状态。区域301是指机器人的已经探索过的区域和未知区域的边界。当机器人发现有特定对象(例如,门,即墙302和墙303之间的区域)时,可以优先判断出到门两边的角度θ以及对应的区域,以更好的生成候选路径和导航路径。
41.仍以客厅为例,此时,第二地图可以描述客厅中多个位置到达桌子范围的最小距离。例如,从沙发到达桌子的距离,从电视到达桌子的距离等。在更广泛的意义上,多个位置可以指从地图的一个像素到达目标对象处的像素的距离。该距离是通过预测来获取的。例如,神经网络模型可以被训练以学习相关场景的各个物体的特征,并且神经网络模型可以预测从场景中的多个位置到达多个对象中的目标对象的距离。该距离在本文中被称为预测距离。
42.通过描述该预测距离的第二地图,可以总体上知道机器人当前所处的场景,场景中的各个对象与目标对象的位置关系。并且,该位置关系考虑了上文提及的先验知识,所以更加的准确。
43.下面继续参考图2来讨论第二地图的生成。在一些实施例中,可以设置一些栅格,这些栅格的大小可以与场景的实际大小相关联。这些栅格可以便于在生成候选路径和导航路径时的数据处理,也便于机器人在探索场景时,实现实时性与经济性的平衡。
44.例如,一个栅格对应客厅的5cm*5cm的大小。这可以简化计算,节省计算资源,提升效率。注意,在这里以及本文其他地方描述的任何具体数值仅仅是示例性的,无意限制本公开的范围。
45.相应的,包括预测距离的第二地图中每个栅格保存了该栅格到目标对象的预测路径长度。目标对象以及目标对象的支撑物或容器(比如目标对象是桌子上的水杯,那么桌子就是支撑物)范围内的栅格保存的预测距离为0,障碍物范围内的栅格保存的预测距离为无穷大。
46.在一些实施例中,可以基于电子设备101的移动时间、移动距离、移动角度中的至少一个超过阈值,更新第一地图和第二地图。
47.通过上文的描述可以理解,第一地图和第二地图都是以机器人为视角的,这意味着,当机器人移动时,视角也是会变化的,之前规划的路径可能会变化而不再适用。因此,为了在实时性和计算效率上找到一个平衡,可以确定一些阈值,诸如移动时间、移动距离、移动角度的阈值,当超过阈值时,再更新第一地图和第二地图。这样就达到了实时性和经济性的平衡。
48.在一些实施例中,预测距离可以被表示为连续距离值或离散距离值,其中离散距离值与连续距离值中的一个区间相对应。
49.由于将预测距离表示为离散值,每个离散值对应连续值中的一个区间的预测方式更容易实现。在一些实施例中,可以将预测距离表示编号为0至12的区间,0代表预测距离为0米至1米,1代表预测距离为1米至2米,以此类推。这样在计算、处理、存储时都具有优点,可以提供计算较快速度,减少存储量。同时,这也引入了另一个优点,即可以消除预测的误差,因为预测精确的连续值是困难的。
50.在一些实施例中,其中生成第二地图还可以包括:将第一地图中的场景分割为多个子场景;基于描述子场景中的多个对象在子场景中的位置的多个地图来生成第二地图。
51.当场景较大时,可以考虑先采用先探索局部场景(即在视场范围内探索并且规划中间目标以及路径),再合成每个局部场景得到全局场景的思路,来完成对整个场景的探索。这使得机器人在新的、未知的区域较大、目标对象不在已探索区域时,也能执行任务。
52.在202处,基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径。
53.在一些实施例中,目标位置可以是机器人的当前位置。继续考虑客厅场景,为了到达目标对象,机器人可以直接移动到目标对象,但是当被障碍物阻挡时,例如被一个沙发阻挡,这时机器人面对可以从左边绕过也可从右边绕过的选择。又例如,如果目标对象不在客厅中,则机器人面对离开客厅,进入其他房间的选择。这些选择都与候选路径相对应。特别地,由于计算资源和机器人视场范围的限制,有可能机器人不能直接找到目标对象,而是需要进行探索,或者先选择中间目标,再通过中间目标到达目标对象。为此,本公开的实施例利用了候选路径。
54.可以存在多种方式来确定候选路径。例如,在一些实施例中,可以选择与第二地图的边界(例如,探索边界,即表示已经构建地图的区域和尚未构建地图的区域之间的分界线)到目标对象的预测距离相关联的路径作为候选路径。为了描述方便起见,将这样的候选路径称为“第二路径”。
55.如果第二地图描述的场景是客厅,则第一路径以从客厅内已经探索区域的边界到目标对象的预测距离和机器人到客厅边界的距离的和的最小值作为目标来规划路径。在一些实施例中,可以使用以下公式来确定要选择的目标或中间目标以及后续的候选路径:
[0056][0057]
其中,p
goal
表示中间目标,d(p
agent
,p)表示机器人当前位置到第二地图边界的距离,l
dis
(p)表示预测距离,表示第二地图中已经探索的范围。该公式目的是最小化等式右边大括号内的两项的和的值。
[0058]
通过这种方式,生成的规划路径是理论上的最短路径。
[0059]
在一些实施例中,可以选择与目标位置到目标对象的预测距离相关联的路径作为候选路径。为描述方便,这种候选路径也被称为“第一路径”。如果第二地图描述的场景是客厅,则第二路径以机器人的位置到地图边界(例如,已经探索的区域的边界)的位置的预测距离作为目标或中间目标来规划路径。在一些实施例中,可以使用以下公式来确定要选择的中间目标以及后续的候选路径:
[0060][0061]
该公式目的是最小化l
dis
(p)的值。可以看出,这种情况下,对中间目标的选择不考虑机器人当前位置,因此更加高效。
[0062]
在一些实施例中,可以选择与目标对象到场景中的预先确定的特定对象的角度或边界相关联的路径作为候选路径。为描述方便,这种候选路径也被称为“第三路径”。
[0063]
假设第二地图描述的场景是客厅,该客厅的边界有一个特定对象(例如,门),注意该特定对象应该是预先确定的。在这种情况下,将优先在门的范围内选择预测距离最小的位置作为中间目标。门的位置可以是在一个范围内的位置,因此可以理解,该中间目标可以与从目标位置到特定对象的角度θd(例如,120度)或范围边界相关联。在一些实施例中,可以使用以下公式来确定要选择的目标或中间目标以及对应的候选路径:
[0064]
[0065]
其中,表示定义的p
door
表示门(也可以是走廊等预先确定的特定对象)存在的概率。该概率从神经网络模型获取。在一些实施例中,可以利用交叉熵损失(cross entropy loss)去训练关于门(或其他特定对象)的类别,以更准确地确定其概率。可以看出,该路径使机器人暂时略过与目标对象无关的对象(例如,其他房间),优先搜索与目标对象相关的对象(例如,目标对象所在的房间)。
[0066]
由于候选路径是基于不同的策略而生成的,这些策略提供了机器人在面对这些选择时,确定路径的机制。这些机制将提供到达目标对象的中间目标以及到达中间目标的路径。通过不断的变化中间目标,实现到达对象目标。这能使得机器人在新场境中(例如,从未探索过的场景中),依然可以具有提供导航路径的能力。
[0067]
特别地,在一些实施例中,第二地图可以基于第一地图由神经网络模型生成。神经网络模型获取第一地图和在场景中的各个对象的类别,生成第二地图。
[0068]
在一些实施例中,用于生成第二地图的神经网络可以通过与体现各个对象的在场景中的空间关系的第一地图和各个对象的类别的数据集而被训练。这方面的示例实施例将在下文参考图4加以描述。
[0069]
继续参考图2,在203处,从候选路径中选择从目标位置到达目标对象的导航路径。
[0070]
在一些实施例中,基于第一路径、第二路径、第三路径中的至少一个路径,并且基于目标位置和目标对象,利用路径规划算法生成电子设备的导航路径。然后应当理解,本公开的范围并不限于上文描述的几种确定候选路径的示例。其他适当的方式也可使用。
[0071]
在一些实施例中,可以以第一路径、第二路径、第三路径中的一个为基础,使用快速行进算法(fast marching method)或a*路径规划算法来提供导航路径。也可以使用其他路径规划算法来提供导航路径,本公开对此不做限制。
[0072]
可以看出,根据本公开的实施例,考虑场景中各个物体之间的空间位置关系(即,先验知识)被充分考虑,从而得到更符合实际情况的、描述了这些先验知识的第二地图。在第二地图中,还可以以简化的形式(即,以离散值表示的预测距离)描述机器人实际能够移动的路径的预测距离,使得在生成候选路径和导航路径时,无需再搜索地图中的每一个点,节省了大量计算资源,提高了效率。在面对新场景、未知环境时,能以局部到全局的方式,展开探索,实现到目标对象的导航。由于考虑了移动时间、移动距离或移动角度超过阈值而更新地图,可以使得机器人在实时性和经济性上达到比较好的平衡。
[0073]
如上文所述,在一些实施例中,第二地图可以根据神经网络基于第一地图生成。图4示出了根据本公开的某些实施例的用于训练这种神经网络模型的方法400的流程图。将会理解,神经网络的训练和使用可以发生在相同或者不同的位置。也即,方法200与方法400可以由相同的主体执行,也可以由不同的主体执行。
[0074]
在401处,获取包括多个场景和多个对象的训练数据集。
[0075]
在一些实施例中,这些场景可以是预先建立的标准环境,每个场景都是根据需要为了让神经网络模型学习指定的特征而布置的。对象的类别可以包括各种在实际应用中可以放置的物品,诸如床、沙发、桌子等。
[0076]
在402处,获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别。
[0077]
在一些实施例中,可以在401的各个场景中,预先标注这些位置、距离、类别的值
(在本文被称为真实值或真实距离)。将这些值确定为样本标签,训练神经网络模型。由于这些样本标签是专门设置的,包括了上文中提及的先验知识,蕴含了场景的特性,因此训练得到的神经网络模型可以生成具有该场景特性的第二地图,以促进候选路径和导航路径的准确性。
[0078]
在一些实施例中,其中训练神经网络模型还可以包括:将场景分割为多个子场景;以及基于包括子场景中的多个对象在子场景中的位置和从子场景中的多个位置到达多个对象中的目标对象的真实距离的训练标签,训练所述神经网络模型。
[0079]
在一些实施例中,可以先使用特定大小的子场景来训练,再逐步的探索至整个场景,完成针对整个场景的训练。
[0080]
在403处,基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
[0081]
在一些实施例中,神经网络模型可以是完全卷积神经网络,可以具有3个下采样resblock层,3个上采样resblock层,以及在各个层上级联低级别的特征图和上采样特征图。神经网络的输出是预测距离。可以将输出通道设置为nb*n
t
,其中nb离散预测距离的表示的面积的边长,例如5cm。n
t
表示目标类别的数目。因此,通过这种方式,每个nb通道组成一个组,负责预测某个目标的预测距离,所以可以训练和预测很多组对象类型和输出预测距离,提高了效率。
[0082]
在一些实施例中,其中训练神经网络模型还包括:当目标对象的位置不在场景中时,使用多个位置中的目标位置到场景的边界的真实距离,训练神经网络模型;和/或当目标对象的位置不在子场景中时,使用多个位置中的目标位置到子场景的边界的真实距离,训练神经网络模型。
[0083]
可以看出,通过以上描述的方法400而训练产生的神经网络模型,针对场景中各个对象可以准确地分类,针对目标位置和目标对象之间的距离的预测不但准确,还消除了由于连续值可能不准确带来的误差,增加了机器人在实际应用环境下的鲁棒性。由于机器人移动需要的实时性,更新地图的计算开销也可以由于该神经网络模型的较高的计算效率而减少。
[0084]
图5示出了根据本公开的某些实施例的子场景的示意图。
[0085]
可以看出,当场景较大时,诸如目标对象一开始不在机器人视场中或还没来得及探索全部场景时,如果机器人想要搜索到达椅子的导航路径,则可以优先到达桌子的旁边,这就是由于第二地图提供的先验知识。因此,在实际应用中,该实现可以体现前述优点。
[0086]
图6示出了根据本公开的某些实施例的用于生成电子设备的导航路径的装置600的框图。该装置包括:地图生成模块601,被配置为在电子设备101处,基于第一地图来生成第二地图,第一地图描述场景中的多个对象在场景中的位置,第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离;该装置还包括:候选路径确定模块602,被配置为基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径;以及该装置还包括:导航路径选择模块603,被配置为从候选路径中选择从目标位置到达目标对象的导航路径。
[0087]
在一些实施例中,其中确定候选路径可以包括确定以下至少一个路径:第一路径,与目标位置到目标对象的预测距离相关联;第二路径,与第二地图的边界到目标对象的预
测距离相关联;以及第三路径,与目标对象到场景中的预先确定的特定对象的角度或边界相关联。
[0088]
在一些实施例中,可以使用公式(1)来确定与第一路径有关的目标或中间目标;可以使用公式(2)来确定与第二路径有关的目标或中间目标;公式(3)来确定与第三路径有关的目标或中间目标。具体对公式的描述可以参考方法200的相关描述。
[0089]
在一些实施例中,其中选择导航路径可以包括:基于第一路径、第二路径、第三路径中的至少一个路径,并且基于目标位置和目标对象,利用路径规划算法生成电子设备的导航路径。
[0090]
在一些实施例中,其中第一地图是通过基于场景的颜色图像和深度图像将各个对象投影到平面而获得的二维地图。
[0091]
在一些实施例中,该装置还可以包括地图更新模块604,被配置为基于电子设备101的移动时间、移动距离、移动角度中的至少一个超过阈值,更新第一地图和第二地图。
[0092]
在一些实施例中,其中预测距离可以被表示为连续距离值或离散距离值,其中离散距离值与连续距离值中的一个区间相对应。
[0093]
在一些实施例中,其中第二地图生成模块还被配置为:将第一地图中的场景分割为多个子场景;基于描述子场景中的多个对象在子场景中的位置的多个地图来生成第二地图。
[0094]
在一些实施例中,第二地图由神经网络模型生成。神经网络模型获取第一地图,以及在场景中的各个对象的类别,生成第二地图。
[0095]
关于装置600的具体实现过程,可以参考关于方法200的描述,本公开在此不再赘述。可以理解,通过本公开的装置600,可以实现与方法200相同的技术效果,从而可以达到如上述的生成电子设备的导航路径的方法200一样的至少一个优点。
[0096]
在一些实施例中,装置600中的第二地图可以通过基于装置700而训练的神经网络模型来生成。神经网络模型可以使用图7中的装置700来训练。图7示出了根据本公开的某些实施例的用于训练神经网络模型的装置700的框图。该装置700包括训练数据获取模块701,被配置为获取包括多个场景和多个对象的训练数据集。该装置还包括训练标签获取模块702,被配置为获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别。该装置还包括训练模块703,被配置为基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
[0097]
在一些实施例中,训练数据获取模块701还被配置为:将场景分割为多个子场景,获取包括多个子场景和多个对象的训练数据集。训练标签获取模块702还被配置为:获取包括子场景中的多个对象在子场景中的位置,和从子场景中的多个位置到达多个对象中的目标对象的真实距离的训练标签。
[0098]
在一些实施例中,训练模块703还被配置为:当目标对象的位置不在场景中时,使用多个位置中的目标位置到场景的边界的真实距离,训练神经网络模型;和/或当目标对象的位置不在子场景中时,使用多个位置中的目标位置到子场景的边界的真实距离,训练神经网络模型。
[0099]
可以理解,通过以上描述的装置700而训练的神经网络模型,不但可以解决机器人
执行任务时的导航路径规划问题,还可以提供机器人探索场景的最佳路线。这使得其能够快速的了解自己所处场景的全貌。因此,可以提供如方法400和前述其他优点中的至少一个。
[0100]
图8示出了其中可以实现本公开的一个或多个实施例的计算系统800的框图。图2、图4所示的方法200和方法400可以由计算系统800实现。图8示出的计算系统800仅是示例,其不应当构成对本文所描述的实现的使用的功能和范围的限制。
[0101]
如图8所示,计算系统800是通用计算设备的形式。计算系统800的组件可以包括但不限于一个或多个处理器或处理单元800,存储器820,一个或多个输入设备830,一个或多个输出设备840,存储装置850,和一个或多个通信单元860。处理单元800可以是实际或虚拟处理器并且能够根据存储器820中存储的持续来执行各种处理。在多处理系统中,多处理单元执行计算机可执行指令,以增加处理能力。
[0102]
计算系统800通常包括多个计算机介质。这样的介质可以是计算系统800可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储装置850可以是可拆卸或不可拆卸,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息并且可以在计算系统800内被访问。
[0103]
计算系统800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性计算机系统存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线18。存储器820可以包括至少一个程序产品,具有(例如至少一个)程序模块集合,这些程序模块被配置为执行本文所描述的各种实施例的功能。
[0104]
具有一个或多个执行模块824的集合的程序/实用程序工具822可以被存储在例如存储器820中。执行模块824可以包括但不限于操作系统、一个或多个应用程序、其他程序模块和操作数据。这些示例中的每个示例或特定组合可以包括联网环境的实现。执行模块824通常执行本文所描述的主题的实施例的功能和/或方法,例如方法200。
[0105]
输入单元830可以是一个或多个各种输入设备。例如,输入单元839可以包括用户设备、诸如鼠标、键盘、追踪球等。通信单元860实现在通信介质上向另外的计算实体进行通信。附加地,计算系统800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接来通信。因此,计算系统800可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。例如但不限于,通信介质包括有线或无线联网技术。
[0106]
计算系统800还可以根据需要与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等等,与一个或多个使得用户与计算系统800交互的设备进行通信,或者与使得计算系统800与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0107]
本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成
电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。
[0108]
用于实施本文所描述的主题的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0109]
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0110]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本文所描述的主题的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0111]
以下列出了本公开的一些示例实现。
[0112]
在第一方面的某些实施例中,提供了一种用于生成电子设备的导航路径的方法。该方法包括:基于第一地图来生成第二地图,第一地图描述场景中的多个对象在场景中的位置,第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离;基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径;以及从候选路径中选择从目标位置到达目标对象的导航路径。
[0113]
在某些实施例中,其中确定候选路径包括确定以下至少一个路径:第一路径,与目标位置到目标对象的预测距离相关联;第二路径,与第二地图的边界到目标对象的预测距离相关联;以及第三路径,与目标对象到场景中的预先确定的特定对象的角度或边界相关联。
[0114]
在某些实施例中,其中选择导航路径包括:基于第一路径、第二路径、第三路径中的至少一个路径,并且基于目标位置和目标对象,利用路径规划算法生成电子设备的导航路径。
[0115]
在某些实施例中,其中第一地图是通过基于场景的颜色图像和深度图像将各个对象投影到平面而获得的二维地图。
[0116]
在某些实施例中,该方法还包括:基于电子设备的移动时间、移动距离、移动角度中的至少一个超过阈值,更新第一地图和第二地图。
[0117]
在某些实施例中,其中预测距离被表示为连续距离值或离散距离值,其中离散距
离值与连续距离值中的一个区间相对应。
[0118]
在某些实施例中,其中生成第二地图还包括:将第一地图中的场景分割为多个子场景;基于描述子场景中的多个对象在子场景中的位置的多个地图来生成第二地图。
[0119]
在某些实施例中,其中第二地图由神经网络模型生成。
[0120]
在某些实施例中,其中神经网络模型由以下方法训练。该方法包括:获取包括多个场景和多个对象的训练数据集;获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别;基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
[0121]
在某些实施例中,其中训练神经网络模型还包括:将第一地图中的场景分割为多个子场景;以及基于包括子场景中的多个对象在子场景中的位置和从子场景中的多个位置到达多个对象中的目标对象的真实距离的训练标签,训练神经网络模型。
[0122]
在某些实施例中,其中训练神经网络模型还包括:当目标对象的位置不在场景中时,使用多个位置中的目标位置到场景的边界的真实距离,训练神经网络模型;和/或当目标对象的位置不在子场景中时,使用多个位置中的目标位置到子场景的边界的真实距离,训练神经网络模型。
[0123]
在第二方面的实施例中,提供了一种用于生成电子设备的导航路径的装置。该装置包括:地图生成模块,被配置为基于第一地图来生成第二地图,第一地图描述场景中的多个对象在场景中的位置,第二地图描述从场景中的多个位置到达多个对象中的目标对象的预测距离;候选路径确定模块,被配置为基于第二地图确定从多个位置中的目标位置到达目标对象的候选路径;以及导航路径选择模块,被配置为从候选路径中选择从目标位置到达目标对象的导航路径。
[0124]
在某些实施例中,其中确定候选路径包括确定以下至少一个路径:第一路径,与目标位置到目标对象的预测距离相关联;第二路径,与第二地图的边界到目标对象的预测距离相关联;以及第三路径,与目标对象到场景中的预先确定的特定对象的角度或边界相关联。
[0125]
在某些实施例中,其中选择导航路径包括:基于第一路径、第二路径、第三路径中的至少一个路径,并且基于目标位置和目标对象,利用路径规划算法生成电子设备的导航路径。
[0126]
在某些实施例中,其中第一地图是通过基于场景的颜色图像和深度图像将各个对象投影到平面而获得的二维地图。
[0127]
在某些实施例中,该装置还包括:地图更新模块,被配置为基于电子设备的移动时间、移动距离、移动角度中的至少一个超过阈值,更新第一地图和第二地图。
[0128]
在某些实施例中,其中预测距离被表示为连续距离值或离散距离值,其中离散距离值与连续距离值中的一个区间相对应。
[0129]
在某些实施例中,其中第二地图生成模块还被配置为:将第一地图中的场景分割为多个子场景;基于描述子场景中的多个对象在子场景中的位置的多个地图来生成第二地图。
[0130]
在某些实施例中,其中第二地图由神经网络模型生成。
[0131]
在某些实施例中,其中神经网络模型由神经网络装置训练,神经网络装置包括:训练数据获取模块,被配置为获取包括多个场景和多个对象的训练数据集;训练标签获取模块,被配置为获取训练标签,训练标签包括多个场景中的多个对象在场景中的位置、从场景中的多个位置到达多个对象中的目标对象的真实距离、以及对象的类别;训练模块,被配置为基于训练数据集和训练标签来训练神经网络模型,其中神经网络模型输出描述从场景中的多个位置到达多个对象中的目标对象的预测距离的地图。
[0132]
在某些实施例中,其中训练数据获取模块还被配置为:将场景分割为多个子场景,获取包括多个子场景和多个对象的训练数据集;训练标签获取模块还被配置为:获取包括子场景中的多个对象在子场景中的位置,和从子场景中的多个位置到达多个对象中的目标对象的真实距离的训练标签。
[0133]
在某些实施例中,其中训练模块还被配置为:当目标对象的位置不在场景中时,使用多个位置中的目标位置到场景的边界的真实距离,训练神经网络模型;和/或当目标对象的位置不在子场景中时,使用多个位置中的目标位置到子场景的边界的真实距离,训练神经网络模型。
[0134]
在第三方面的实施例中,提供了一种电子设备。该电子设备包括:存储器和处理器;其中存储器用于存储一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据第一方面所述的方法。
[0135]
在第四方面的实施例中,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据第一方面所述的方法。
[0136]
在第五方面的实施例中,提供了一种计算机程序产品。该计算机程序产品包括一条或多条计算机指令,其中一条或多条计算机指令在被处理器执行时,实现根据第一方面所述的方法。
[0137]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献