CN115600053A - 一种导航方法及相关设备 - Google Patents
一种导航方法及相关设备 Download PDFInfo
- Publication number
- CN115600053A CN115600053A CN202110723179.3A CN202110723179A CN115600053A CN 115600053 A CN115600053 A CN 115600053A CN 202110723179 A CN202110723179 A CN 202110723179A CN 115600053 A CN115600053 A CN 115600053A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- navigation
- descriptors
- layer
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请实施例公开了一种导航方法及相关设备。可以应用于家庭、商场、机场等导航场景,该方法可以由云端设备执行。该方法包括:云端设备接收终端设备的导航请求后,使用第一多层拓扑结构确定坐标,并向终端设备发送坐标,使得终端设备可以根据第一多层拓扑结构确定的坐标向导航物体移动。通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征导航终端设备向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升终端设备导航的准确度以及在多变场景下导航的泛化性。
Description
技术领域
本申请实施例涉及终端人工智能领域,尤其涉及一种导航方法及相关设备。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
目前,机器人技术及相关应用已逐渐深入人们日常的工作生产和生活中。其中,移动机器人导航技术促进了自动驾驶领域高速发展,催生了无人化自主移动底盘率先在园区、商场、餐饮、医院等公共服务场景的落地。同时,也诞生了扫地机器人这样备受欢迎的居家应用产品走入千家万户。扫地机器人类产品的成功推广标志着移动机器人正式融入家庭服务场景。
因此,如何实现移动机器人无法进行的精确导航是亟待解决的技术问题。
发明内容
本申请实施例提供了一种导航方法及相关设备。通过引入具有多层节点语义关联的多层拓扑结构,并基于该多层拓扑结构进行导航,从而提升机器人导航的准确度。
本申请实施例第一方面提供了一种导航方法,可以应用于家庭、商场、机场等导航场景,该方法可以由云端设备执行,也可以由云端设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:接收终端设备发送的导航请求,导航请求用于指示终端设备的导航物体;基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;中间节点的坐标用于导航终端设备向导航物体进行移动;向终端设备发送坐标。另外,上述的位置关系可以是第一物体的坐标等信息,也可以是第一物体与其他第一物体之间的相对位置关系。导航请求可以是机器人发送的导航物体的类别标签或图片等,具体此处不做限定。当然,中间节点可以是终端设备所在位置与导航物体之间路径上的任一点,中间节点也可以指示导航物体,即确定中间节点坐标就确定了导航物体的坐标。
本申请实施例中,云端设备接收终端设备的导航请求后,使用第一多层拓扑结构确定坐标,并向终端设备发送坐标,使得终端设备可以根据第一多层拓扑结构确定的坐标向导航物体移动。通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征导航终端设备向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升终端设备导航的准确度以及在多变场景下导航的泛化性。
可选地,在第一方面的一种可能的实现方式中,上述的第一描述子还用于描述对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系。
该种可能的实现方式中,第一描述子可以描述多个节点之间的关联关系,该关联关系是根据学习得到,既可以是指显示的关联关系(例如,相邻关系),也可以是指隐含的关联关系(例如,用户的使用习惯,同时使用水杯与饮水机的习惯也可以隐含其中),有利于后续根据语义导航的准确性。
可选地,在第一方面的一种可能的实现方式中,上述的关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系、承载关系、位置关系、隶属度关系等中的至少一种。其中,类别关系是指至少两个第一物体所属的类别相同或近似,功能关系是指至少两个第一物体的功能相同或近似,配套关系是指至少两个第一物体在实际应用中常常一起实现某项功能,承载关系是指至少两个第一物体具有承载与被承载的关系,位置关系是指至少两个第一物体存在空间位置上的关系,位置关系具体可以是指物体在一定范围(例如1米等)内的相邻关系。例如:两个第一物体中一个第一物体是红色桌子,另一个第一物体为黑色桌子,则两个第一物体具有类别关系(即都为桌子)。两个第一物体都属于厨房用具,则两个第一物体具有功能关系或者类别关系。两个第一物体分别为桌子、椅子或汽车、停车场,则两个第一物体具有配套关系。两个第一物体分别为蔬菜和冰箱,则两个第一物体具有承载关系。两个第一物体分别为文具和桌子,则两个第一物体具有位置关系(一般情况下,文具是放在桌子上的)。可以理解的是,这里的关联关系也可以表示用户的使用习惯、喜好程度等。
该种可能的实现方式中,每个第一描述子用于表示对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系的语义特征,通过物体关联关系构建的第一多层拓扑结构进行导航更具有泛化性。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:基于位置信息预测第三节点;基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:基于第三节点与第三描述子更新第一多层拓扑结构,得到第二多层拓扑结构,第三节点属于第二多层拓扑结构的第一层结构和/或第二层结构;基于第二多层拓扑结构与导航物体的语义特征确定坐标。其中,若第三节点是第一层节点,则基于多个第一描述子预测第三节点的第三描述子。若第三节点时第二层节点,则基于多个第二描述子预测第三节点的第三描述子。第三节点可以理解为潜在的连通区域。
该种可能的实现方式中,通过位置信息预测得到第三节点,用第三节点更新第一多层拓扑结构得到第二多层拓扑结构,并使用第二多层拓扑结构进行导航,可以对未知区域进行特征预测,提升机器人对未知区域的探索。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于位置信息预测第三节点,包括:基于位置信息对应的维诺图预测第三节点。具体的,维诺图包括顶点、边以及凸包。以维诺图的延伸边作为潜在连通域,若其某一端的节点暂未有语义特征生成,则在其上选取采样点作为第三节点,代表未知节点。
该种可能的实现方式中,通过维诺图的边预测第三节点,使得预测的第三节点更加合理。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:基于上限置信度区间算法UCT确定多个候选节点,多个候选节点为第一多层拓扑结构中的节点;基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
该种可能的实现方式中,采用UCT技术从建立的第一多层拓扑结构构建蒙特卡洛树搜索,利用各层节点的语义特征与导航物体的语义特征之间相似度,使得机器人自主平衡对已知信息的利用与对未知信息的探索,进行目标驱动的推理式探索导航。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,包括:基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,相似度为多个候选节点对应的语义特征与导航物体的语义特征之间的相似度,访问次数为终端设备访问各个候选节点的次数,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
该种可能的实现方式中,引入路程确定该节点的价值,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,包括:通过下述公式计算多个候选节点中各个候选节点的价值:
其中,i表示多个候选节点中的一个候选节点,V(i)表示候选节点的价值,ω表示相似度,Ldis表示路程,m表示当前分支的子节点总数,j表示m的子节点,N表示候选节点以及候选节点的分支子节点的总访问次数,n表示终端设备访问候选节点的次数,c1与c2为调节系数。
该种可能的实现方式中,引入回溯问题,即节点访问次数和节点间的距离项确定该节点的价值,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
可选地,在第一方面的一种可能的实现方式中,上述的导航请求还包括多个第一物体的位置信息和/或尺度信息,尺度信息包括多个第一物体的数量、多个第一物体所在房间的数量、多个第一物体所在区域的面积中的至少一种,尺度信息用于确定第一多层拓扑结构的层数。其中,该尺度信息可以与物体数量相关,也可以与范围或面积等相关。例如,物体数量越多,第一拓扑结构的层数可以越多。在房屋内的导航场景,也可以与房间的数量相关。
该种可能的实现方式中,通过多个第一物体所在的环境中的尺度信息可以确定第一多层拓扑结构的层数,可以根据实际需要对设置层数,使用迭代式的空间分割聚类技术进行语义-空间关联,建立多层级拓扑,有利于机器人准确导航。
可选地,在第一方面的一种可能的实现方式中,上述的第一多层拓扑结构还包括第三层结构,第三层结构包括多个第四节点和与多个第四节点对应的多个第四描述子;多个第四节点中的每个第四节点关联至少一个第二节点组,第二节点组中包括一个或多个第二节点;多个第四描述子中的每个第四描述子用于描述第二节点组指示的第二节点的语义特征。其中,多个第二节点具有关联关系。
该种可能的实现方式中,第一多层拓扑结构可以包括三层结构,可以理解的是,第一多层拓扑结构的层数根据实际需要设置,且上一层的节点与上一层节点对应的描述子是根据与上一层节点相关的这一层的节点组确定得到,有于提升导航机器人的准确性。
可选地,在第一方面的一种可能的实现方式中,上述步骤:还包括:获取多个第一物体的位置信息;基于位置信息构建第一多层拓扑结构。
该种可能的实现方式中,由云端构建多层拓扑结构,减少终端设备(即移动机器人)的算力消耗。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于位置信息构建第一多层拓扑结构,包括:基于位置信息构建多层结构,多层结构包括第一层节点与第二层节点;聚合多个第一描述子得到第二描述子;关联多个第一描述子、第二描述子以及多层结构得到第一多层拓扑结构。
该种可能的实现方式中,可以通过位置信息先构建多层结构,再关联各层节点与其对应的描述子得到第一多层拓扑结构。
可选地,在第一方面的一种可能的实现方式中,上述步骤:还包括:接收终端设备发送的第一多层拓扑结构。
该种可能的实现方式中,终端构建多层拓扑结构,边采集周边环境,边更新多层拓扑结构,有利于多层拓扑结构构建与更新的效率。
可选地,在第一方面的一种可能的实现方式中,上述的第一描述子是基于第一物体的初始描述子得到,初始描述子是基于第一物体的位置信息确定,多个初始描述子中的每个初始描述子用于表示对应的第一物体的语义特征;第一描述子表示多个第一物体之间关联关系的语义特征。
该种可能的实现方式中,通过多个初始描述子获取可以用于表示多个第一物体之间关联关系的语义特征。提升后续可以导航物体的语义特征进行导航的准确性与泛化性。
可选地,在第一方面的一种可能的实现方式中,上述的第一描述子是基于多个初始描述子通过第一网络得到,第一网络用于获取表示多个第一物体之间关联关系的语义特征。
该种可能的实现方式中,基于多个第一物体单独的初始描述子生成可以表示多个第一物体之间关联关系的语义特征的第一描述子,并用第一描述子表示第一物体,有利于后续基于导航物体的语义特征进行导航的准确性。
可选地,在第一方面的一种可能的实现方式中,上述的第二描述子是基于多个第一描述子通过第二网络得到,第二网络用于获取表示与第二节点关联的多个第一节点对应的共享描述子。
该种可能的实现方式中,基于多个第一描述子生成可以表示与第二节点关联的节点组对应的共享描述子,有利于后续基于导航物体的语义特征进行导航的准确性。
可选地,在第一方面的一种可能的实现方式中,上述的第三描述子是基于多个第一描述子或多个第二描述子通过第三网络得到,该第三网络用于基于同层节点的描述子预测第三节点的描述子。
该种可能的实现方式中,通过利用同层节点的描述子预测第三节点的第三描述子,而同层节点的描述子可以表示多个物体具有关联关系的语义特征,即通过物体关联关系预测的第三描述子可以更加准确的标识第三节点的语义特征。
本申请实施例第二方面提供了一种导航方法,可以应用于家庭、商场、机场等导航场景,该方法可以由终端设备执行,也可以由终端设备的部件(例如处理器、芯片、或芯片系统等)执行。该终端设备可以是移动机器人(例如扫地机器人、搬运机器人、导引机器人等等)。该方法包括:接收用户的移动指令,移动指令用于指示向导航物体移动;基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;基于坐标向导航物体移动,当然,中间节点可以是终端设备所在位置与导航物体之间路径上的任一点,中间节点也可以指示导航物体,即确定中间节点坐标就确定了导航物体的坐标。
本申请实施例中,终端设备接收移动指令后,可以根据第一多层拓扑结构确定坐标,并基于坐标向导航物体移动,通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升机器人导航的准确度以及在多变场景下导航的泛化性。
可选地,在第二方面的一种可能的实现方式中,上述的第一描述子还用于描述对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系。
该种可能的实现方式中,第一描述子可以描述多个节点之间的关联关系,该关联关系是根据学习得到,既可以是指显示的关联关系(例如,相邻关系),也可以是指隐含的关联关系(例如,用户的使用习惯,同时使用水杯与饮水机的习惯也可以隐含其中),有利于后续根据语义导航的准确性。
可选地,在第二方面的一种可能的实现方式中,上述的关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系与位置关系中的至少一种。其中,类别关系是指至少两个第一物体所属的类别相同或近似,功能关系是指至少两个第一物体的功能相同或近似,配套关系是指至少两个第一物体在实际应用中常常一起实现某项功能,承载关系是指至少两个第一物体具有承载与被承载的关系,位置关系是指至少两个第一物体存在空间位置上的关系,位置关系具体可以是指物体在一定范围(例如1米等)内的相邻关系。例如:两个第一物体中一个第一物体是红色桌子,另一个第一物体为黑色桌子,则两个第一物体具有类别关系(即都为桌子)。两个第一物体都属于厨房用具,则两个第一物体具有功能关系或者类别关系。两个第一物体分别为桌子、椅子或汽车、停车场,则两个第一物体具有配套关系。两个第一物体分别为蔬菜和冰箱,则两个第一物体具有承载关系。两个第一物体分别为文具和桌子,则两个第一物体具有位置关系(一般情况下,文具是放在桌子上的)。可以理解的是,这里的关联关系也可以表示用户的使用习惯、喜好程度等。
该种可能的实现方式中,每个第一描述子用于表示对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系的语义特征,通过物体关联关系构建的第一多层拓扑结构进行导航更具有泛化性。
可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:基于位置信息预测第三节点;基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:基于第三节点与第三描述子更新第一多层拓扑结构,得到第二多层拓扑结构,第三节点属于第二多层拓扑结构的第一层结构和/或第二层结构;基于第二多层拓扑结构与导航物体的语义特征确定坐标。其中,若第三节点是第一层节点,则基于多个第一描述子预测第三节点的第三描述子。若第三节点时第二层节点,则基于多个第二描述子预测第三节点的第三描述子。第三节点可以理解为潜在的连通区域。
该种可能的实现方式中,通过位置信息预测得到第三节点,用第三节点更新第一多层拓扑结构得到第二多层拓扑结构,并使用第二多层拓扑结构进行导航,可以对未知区域进行特征预测,提升机器人对未知区域的探索。
可选地,在第二方面的一种可能的实现方式中,上述步骤:基于位置信息预测第三节点,包括:基于位置信息对应的维诺图预测第三节点。具体的,维诺图包括顶点、边以及凸包。以维诺图的延伸边作为潜在连通域,若其某一端的节点暂未有语义特征生成,则在其上选取采样点作为第三节点,代表未知节点。
该种可能的实现方式中,通过维诺图的边预测第三节点,使得预测的第三节点更加合理。
可选地,在第二方面的一种可能的实现方式中,上述步骤:基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:基于上限置信度区间算法UCT确定多个候选节点,多个候选节点为第一多层拓扑结构中的节点;基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
该种可能的实现方式中,采用UCT技术从建立的第一多层拓扑结构构建蒙特卡洛树搜索,利用各层节点的语义特征与导航物体的语义特征之间相似度,使得机器人自主平衡对已知信息的利用与对未知信息的探索,进行目标驱动的推理式探索导航。
可选地,在第二方面的一种可能的实现方式中,上述步骤:基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,包括:基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,相似度为多个候选节点对应的语义特征与导航物体的语义特征之间的相似度,访问次数为终端设备访问各个候选节点的次数,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
该种可能的实现方式中,引入路程确定该节点的价值,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
可选地,在第二方面的一种可能的实现方式中,上述步骤:基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,包括:通过下述公式计算多个候选节点中各个候选节点的价值:
其中,i表示多个候选节点中的一个候选节点,V(i)表示候选节点的价值,ω表示相似度,Ldis表示路程,m表示当前分支的子节点总数,j表示m的子节点,N表示候选节点以及候选节点的分支子节点的总访问次数,n表示终端设备访问候选节点的次数,c1与c2为调节系数。
该种可能的实现方式中,引入回溯问题,即节点访问次数和节点间的距离项确定该节点的价值,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
可选地,在第二方面的一种可能的实现方式中,上述的第一多层拓扑结构还包括第三层结构,第三层结构包括多个第四节点和与多个第四节点对应的多个第四描述子;多个第四节点中的每个第四节点关联至少一个第二节点组,第二节点组中包括一个或多个第二节点;多个第四描述子中的每个第四描述子用于描述第二节点组指示的第二节点的语义特征。
该种可能的实现方式中,第一多层拓扑结构可以包括三层结构,可以理解的是,第一多层拓扑结构的层数根据实际需要设置,且上一层的节点与上一层节点对应的描述子是根据与上一层节点相关的这一层的节点组确定得到,有于提升导航机器人的准确性。
可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:获取多个第一物体的位置信息;基于位置信息构建第一多层拓扑结构。
该种可能的实现方式中,该种可能的实现方式中,终端构建多层拓扑结构,边采集周边环境,边更新多层拓扑结构,有利于多层拓扑结构构建与更新的效率。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于位置信息构建第一多层拓扑结构,包括:基于位置信息构建多层结构,多层结构包括第一层节点与第二层节点;聚合多个第一描述子得到第二描述子;关联多个第一描述子、第二描述子以及多层结构得到第一多层拓扑结构。
该种可能的实现方式中,可以通过位置信息先构建多层结构,再关联各层节点与其对应的描述子得到第一多层拓扑结构。
可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:向所云端设备发送第一信息,第一信息用于获取第一多层拓扑结构;接收云端设备发送的第一多层拓扑结构。
该种可能的实现方式中,由云端构建多层拓扑结构,减少终端设备(即移动机器人)的算力消耗。
可选地,在第一方面的一种可能的实现方式中,上述的第一描述子是基于第一物体的初始描述子得到,初始描述子是基于第一物体的位置信息确定,多个初始描述子中的每个初始描述子用于表示对应的第一物体的语义特征;第一描述子表示多个第一物体之间关联关系的语义特征。
该种可能的实现方式中,通过多个初始描述子获取可以用于表示多个第一物体之间关联关系的语义特征。提升后续可以导航物体的语义特征进行导航的准确性与泛化性。
可选地,在第一方面的一种可能的实现方式中,上述的第一描述子是基于多个初始描述子通过第一网络得到,第一网络用于获取表示多个第一物体之间关联关系的语义特征。
该种可能的实现方式中,基于多个第一物体单独的初始描述子生成可以表示多个第一物体之间关联关系的语义特征的第一描述子,并用第一描述子表示第一物体,有利于后续基于导航物体的语义特征进行导航的准确性。
可选地,在第一方面的一种可能的实现方式中,上述的第二描述子是基于多个第一描述子通过第二网络得到,第二网络用于获取表示与第二节点关联的多个第一节点对应的共享描述子。
该种可能的实现方式中,基于多个第一描述子生成可以表示与第二节点关联的节点组对应的共享描述子,有利于后续基于导航物体的语义特征进行导航的准确性。
可选地,在第一方面的一种可能的实现方式中,上述的第三描述子是基于多个第一描述子或多个第二描述子通过第三网络得到,该第三网络用于基于同层节点的描述子预测第三节点的描述子。
该种可能的实现方式中,通过利用同层节点的描述子预测第三节点的第三描述子,而同层节点的描述子可以表示多个物体具有关联关系的语义特征,即通过物体关联关系预测的第三描述子可以更加准确的标识第三节点的语义特征。
本申请实施例第三方面提供了一种云端设备,可以应用于家庭、商场、机场等导航场景,该方法可以由云端设备执行,也可以由云端设备的部件(例如处理器、芯片、或芯片系统等)执行。该云端设备包括:接收单元,用于接收终端设备发送的导航请求,导航请求用于指示终端设备的导航物体;确定单元,用于基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;中间节点的坐标用于导航终端设备向导航物体进行移动;发送单元,用于向终端设备发送坐标。
可选地,在第三方面的一种可能的实现方式中,上述的第一描述子还用于描述对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系。
可选地,在第三方面的一种可能的实现方式中,上述的关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系与位置关系中的至少一种。
可选地,在第三方面的一种可能的实现方式中,上述的云端设备还包括:预测单元,用于基于位置信息预测第三节点;预测单元,还用于基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;确定单元,具体用于基于第三节点与第三描述子更新第一多层拓扑结构,得到第二多层拓扑结构,第三节点属于第二多层拓扑结构的第一层结构和/或第二层结构;确定单元,具体用于基于第二多层拓扑结构与导航物体的语义特征确定坐标。
可选地,在第三方面的一种可能的实现方式中,上述的预测单元,具体用于基于位置信息对应的维诺图预测第三节点。
可选地,在第三方面的一种可能的实现方式中,上述的确定单元,具体用于基于上限置信度区间算法UCT确定多个候选节点,多个候选节点为第一多层拓扑结构中的节点;确定单元,具体用于基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
可选地,在第三方面的一种可能的实现方式中,上述的确定单元,具体用于基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,相似度为多个候选节点对应的语义特征与导航物体的语义特征之间的相似度,访问次数为终端设备访问各个候选节点的次数,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
可选地,在第三方面的一种可能的实现方式中,上述的确定单元,具体用于通过下述公式计算多个候选节点中各个候选节点的价值:
其中,i表示多个候选节点中的一个候选节点,V(i)表示候选节点的价值,ω表示相似度,Ldis表示路程,m表示当前分支的子节点总数,j表示m的子节点,N表示候选节点以及候选节点的分支子节点的总访问次数,n表示终端设备访问候选节点的次数,c1与c2为调节系数。
可选地,在第三方面的一种可能的实现方式中,上述的导航请求还包括多个第一物体的位置信息和/或尺度信息,尺度信息包括多个第一物体的数量、多个第一物体所在房间的数量、多个第一物体所在区域的面积中的至少一种,尺度信息用于确定第一多层拓扑结构的层数。
可选地,在第三方面的一种可能的实现方式中,上述的第一多层拓扑结构还包括第三层结构,第三层结构包括多个第四节点和与多个第四节点对应的多个第四描述子;多个第四节点中的每个第四节点关联至少一个第二节点组,第二节点组中包括一个或多个第二节点;多个第四描述子中的每个第四描述子用于描述第二节点组指示的第二节点的语义特征。
可选地,在第三方面的一种可能的实现方式中,上述的接收单元,还用于获取多个第一物体的位置信息;云端设备还包括:构建单元,用于基于位置信息构建第一多层拓扑结构。
可选地,在第三方面的一种可能的实现方式中,上述的构建单元,具体用于基于位置信息构建多层结构,多层结构包括第一层节点与第二层节点;构建单元,具体用于聚合多个第一描述子得到第二描述子;构建单元,具体用于关联多个第一描述子、第二描述子以及多层结构得到第一多层拓扑结构。
可选地,在第三方面的一种可能的实现方式中,上述的接收单元,还用于接收终端设备发送的第一多层拓扑结构。
本申请实施例第四方面提供了一种终端设备,可以应用于家庭、商场、机场等导航场景,该方法可以由终端设备执行,也可以由终端设备的部件(例如处理器、芯片、或芯片系统等)执行,该终端设备可以是移动机器人(例如扫地机器人、搬运机器人、导引机器人等等)。该终端设备包括:接收单元,用于接收用户的移动指令,移动指令用于指示向导航物体移动;确定单元,用于基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;移动单元,用于基于坐标向导航物体移动。
可选地,在第四方面的一种可能的实现方式中,上述的第一描述子还用于描述对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系。
可选地,在第四方面的一种可能的实现方式中,上述的关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系与位置关系中的至少一种。
可选地,在第四方面的一种可能的实现方式中,上述的终端设备还包括:预测单元,用于基于位置信息预测第三节点;预测单元,还用于基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;确定单元,具体用于基于第三节点与第三描述子更新第一多层拓扑结构,得到第二多层拓扑结构,第三节点属于第二多层拓扑结构的第一层结构和/或第二层结构;确定单元,具体用于基于第二多层拓扑结构与导航物体的语义特征确定坐标。
可选地,在第四方面的一种可能的实现方式中,上述的预测单元,具体用于基于位置信息对应的维诺图预测第三节点。
可选地,在第四方面的一种可能的实现方式中,上述的确定单元,具体用于基于上限置信度区间算法UCT确定多个候选节点,多个候选节点为第一多层拓扑结构中的节点;确定单元,具体用于基于路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
可选地,在第四方面的一种可能的实现方式中,上述的确定单元,具体用于基于相似度、访问次数以及路程计算多个候选节点中各个候选节点作为中间节点的可能性,以得到中间节点的坐标,相似度为多个候选节点对应的语义特征与导航物体的语义特征之间的相似度,访问次数为终端设备访问各个候选节点的次数,路程为终端设备到达多个候选节点所要经过的路程,中间节点为多个候选节点中可能性大于或等于第一阈值的节点。
可选地,在第四方面的一种可能的实现方式中,上述的确定单元,具体用于通过下述公式计算多个候选节点中各个候选节点的价值:
其中,i表示多个候选节点中的一个候选节点,V(i)表示候选节点的价值,ω表示相似度,Ldis表示路程,m表示当前分支的子节点总数,j表示m的子节点,N表示候选节点以及候选节点的分支子节点的总访问次数,n表示终端设备访问候选节点的次数,c1与c2为调节系数。
可选地,在第四方面的一种可能的实现方式中,上述的第一多层拓扑结构还包括第三层结构,第三层结构包括多个第四节点和与多个第四节点对应的多个第四描述子;多个第四节点中的每个第四节点关联至少一个第二节点组,第二节点组中包括一个或多个第二节点;多个第四描述子中的每个第四描述子用于描述第二节点组指示的第二节点的语义特征。
可选地,在第四方面的一种可能的实现方式中,上述的接收单元,还用于获取多个第一物体的位置信息;终端设备还包括:构建单元,用于基于位置信息构建第一多层拓扑结构。
可选地,在第四方面的一种可能的实现方式中,上述的构建单元,具体用于基于位置信息构建多层结构,多层结构包括第一层节点与第二层节点;构建单元,具体用于聚合多个第一描述子得到第二描述子;构建单元,具体用于关联多个第一描述子、第二描述子以及多层结构得到第一多层拓扑结构。
可选地,在第四方面的一种可能的实现方式中,上述的终端设备还包括:发送单元,用于向所云端设备发送第一信息,第一信息用于获取第一多层拓扑结构;接收单元,还用于接收云端设备发送的第一多层拓扑结构。
本申请第五方面提供了一种云端设备,该云端设备执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第六方面提供了一种终端设备,该终端设备执行前述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第七方面提供了一种云端设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该云端设备实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第八方面提供了一种终端设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该终端设备实现上述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第九方面提供了一种导航系统,包括上述第五方面的云端设备和/或第六方面的终端设备,或者包括上述第七方面的云端设备和/或第八方面的终端设备。
本申请第十方面提供了一种计算机可读介质,其上存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法,或者使得计算机执行前述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第十一方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法,或者使得计算机执行前述第二方面或第二方面的任意可能的实现方式中的方法。
其中,第三、第五、第七、第九、第十、第十一方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
其中,第四、第六、第八、第九、第十、第十一方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:云端设备接收终端设备的导航请求后,使用第一多层拓扑结构确定坐标,并向终端设备发送坐标,使得终端设备可以根据第一多层拓扑结构确定的坐标向导航物体移动。通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征导航终端设备向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升终端设备导航的准确度以及在多变场景下导航的泛化性。
附图说明
图1为本申请提供的系统架构的结构示意图;
图2为本申请提供的一种芯片硬件结构示意图;
图3为本申请提供的导航方法一个流程示意图;
图4为本申请提供的基于环境信息确定的一种多边形凸包结构图;
图5为本申请提供的基于环境信息确定的一种维诺图;
图6为本申请提供的一种多层拓扑结构示意图;
图7为本申请提供的第一网络、第二网络以及第三网络的一种关联结构示意图;
图8为本申请提供的构建多层拓扑结构的一个流程示意图;
图9为本申请提供的基于多层拓扑结构构建的一个树搜索结构示意图;
图10为本申请提供的导航方法的另一个流程示意图;
图11、图14为本申请提供的环境信息的示例图;
图12、图13、图15、图16为本申请提供的移动机器人向下一运行节点移动的几种示意图;
图17为本申请提供的导航方法的另一个流程示意图;
图18为本申请提供的导航方法的另一个流程示意图;
图19-图23为本申请提供的导航设备的几种结构示意图。
具体实施方式
本申请实施例提供了一种导航方法及相关设备。通过引入具有多层节点语义关联的多层拓扑结构,并基于该多层拓扑结构进行导航,从而提升机器人导航的准确度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
为了便于理解,下面先对本申请实施例主要涉及的相关术语和概念进行介绍。
1、神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以Xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为Xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
2、深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。当然,深度神经网络也可能不包括隐藏层,具体此处不做限定。
深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由完成,5的操作则由α()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终获取训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
3、卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使同一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习获取的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习获取合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。本申请实施例中的分离网络、识别网络、检测网络、深度估计网络等网络都可以是CNN。
4、循环神经网络
在传统的神经网络中模型中,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题是无法解决的。比如,预测句子的下一个单词是什么,因为一个句子中前后单词并不是独立的,一般需要用到前面的单词。循环神经网络(recurrent neural network,RNN)指的是一个序列当前的输出与之前的输出也有关。具体的表现形式为网络会对前面的信息进行记忆,保存在网络的内部状态中,并应用于当前输出的计算中。
5、损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
6、词嵌入(Embedding)
词嵌入也可以称为“向量化”、“向量映射”、“嵌入”等。从形式上讲,词嵌入是用一个稠密的向量表示一个对象。
7、点云数据
点云数据可简称为点云(point cloud),是指在同一空间参考系下表达目标空间分布和目标表面特性的点的集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为点云。
在本申请实施例中,点云数据用于表征该点云数据中每个点在基准坐标系下的三维坐标值;此外,在本申请的一些实施方式中,点云数据还可以融合RGB图像的像素点,因此,在本申请的一些实施方式中,点云数据还可以用于表征该点云数据中每个点的像素值和每个点在基准坐标系下的三维坐标值。
8、先验与后验
先验泛指预先获取的知识或经验。后验是指在考虑和给出相关证据或数据后所得到的条件概率。在本申请实施例中,先验特指的在考虑观测数据前的已知数据。
9、拓扑
拓扑是反映几何图形或空间在连续改变形状后还能保持不变的一些性质的一种抽象结构,一般只考虑物体间的关系而不考虑它们的形状和尺度大小。本文中特指物体间关系图状结构描述。
10、语义
字面意思为数据的含义。在本申请实施例中,语义特指区别于几何尺度坐标等符合人类思维逻辑的更高层数据。也可以理解为是具有代表性数据的集合,一般用多维向量表示。
11、维诺图(Voronoi Graph)
维诺图又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形构成的图。
12、最近邻搜索
最近邻搜索(nearest neighbor nearch,NNS),是一个在尺度空间中寻找最近点的优化问题。常用的NNS包括r-disc与k近邻(k-Nearest Neighbors,KNN),其中,r-dis表示以r为半径的圆周区域内寻找最近邻的方法。KNN表示寻找最近的k个邻居的方法。
下面介绍本申请实施例提供的系统架构。
参见附图1,本发明实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:第一训练数据、第二训练数据以及第三训练数据中的至少一种,其中,第一训练数据对应第一网络,第二训练数据对应第二网络,第三训练数据对应第三网络。进一步的,对于第一网络来说,训练数据包括多个第一训练描述子与多个第二训练描述子。其中,第一训练描述子用于表示训练物体的单一语义特征,第二训练描述子用于表示训练物体与其他物体之间的实际语义特征(也可以理解为是该第二训练描述子可以用于描述该训练物体与周围物体之间的实际语义特征)。对于第二网络来说,训练数据包括多个第三训练描述子与第四训练描述子。其中,第三训练描述子用于表示训练物体与其他物体之间的实际语义特征,第四训练描述子由多个第三训练描述子聚合得到,换句话说,第四训练描述子可以理解为是多个训练物体构成的训练物体群对应的语义特征,第四训练描述子的数量可以是一个或多个。对于第三网络来说,训练数据包括,第五训练描述子与第六训练描述子。其中,第五训练描述子用于表示训练物体的单一语义特征,第六训练描述子为已知区域中训练物体对应的语义特征。或者第五训练描述子用于表示训练物体群对应的实际语义特征,第六训练描述子为已知区域中训练物体群对应的实际语义特征。并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。下面简单地描述训练设备120如何基于训练数据得到目标模型/规则101:第一网络通过以第一训练数据作为第一网络的输入,以第一损失函数的值小于某一阈值为目标对第一网络进行训练获取,第一损失函数用于表示第一网络输出的描述子与第二训练描述子之间的差异。第二网络通过以第二训练数据作为第二网络的输入(或者可以理解为第二网络的输入是第一网络的输出),以第二损失函数的值小某一阈值为目标对第二网络进行训练获取,第二损失函数用于表示第二网络输出的描述子与第四训练描述子之间的差异。第三网络通过以第三训练数据作为第三网络的输入(或者可以理解为第三网络的输入可以是第一网络或第二网络的输出),以第三损失函数的值小某一阈值为目标对第三网络进行训练获取,第三损失函数用于表示第三网络输出的描述子与第六训练描述子之间的差异。该目标模型/规则101能够用于实现本申请实施例提供的导航方法。本申请实施例中的目标模型/规则101具体可以为第一网络、第二网络以及第三网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:多个初始描述子、多个第一描述子以及第二描述子中的至少一种,可以是用户输入的,也可以来自数据库,具体此处不做限定。
预处理模块113用于根据I/O接口112接收到的输入数据进行预处理,在本申请实施例中,预处理模块113可以用于对输入数据进行向量维度或尺寸的修剪等操作。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的通过网络得到的描述子返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是第一网络、第二网络以及第三网络中的至少一种。
下面介绍本申请实施例提供的一种芯片硬件结构。
图2为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器20。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。
神经网络处理器20可以是神经网络处理器(neural-network processing unit,NPU),张量处理器(tensor processing unit,TPU),或者图形处理器(graphicsprocessing unit,GPU)等一切适合用于大规模异或运算处理的处理器。以NPU为例:神经网络处理器NPU40作为协处理器挂载到主中央处理器(central processing unit,CPU)(hostCPU)上,由主CPU分配任务。NPU的核心部分为运算电路203,控制器204控制运算电路203提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路203内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路203是二维脉动阵列。运算电路203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路203是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器208中。
向量计算单元207可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元207可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能207将经处理的输出的向量存储到统一缓存器206。例如,向量计算单元207可以将非线性函数应用到运算电路203的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元207生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路203的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器206用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器205(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器201和/或统一存储器206、将外部存储器中的权重数据存入权重存储器202,以及将统一存储器206中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)210,用于通过总线实现主CPU、DMAC和取指存储器209之间进行交互。
与控制器204连接的取指存储器(instruction fetch buffer)209,用于存储控制器204使用的指令。
控制器204,用于调用指存储器209中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器206,输入存储器201,权重存储器202以及取指存储器209均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
本申请实施例提供的导航方法可以应用于家庭、酒店、餐厅、商场、机场、医院、景区、厂区等场景下的机器人导航,在面对上述场景发生变化(例如:物体移动或者光线变化等)时,通过语义特征导航终端设备向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升终端设备导航的准确度以及在多变场景下导航的泛化性。
可以理解的是,上述几种场景只是举例,在实际应用中,还可以有其他应用场景,具体此处不做限定。
下面结合附图对本申请实施例提供的导航方法进行详细的介绍。
请参阅图3,本申请实施例提供的导航方法的一个实施例,可以应用于家庭、商场、机场等导航场景,该方法可以由导航设备执行,也可以由导航设备的部件(例如处理器、芯片、或芯片系统等)执行。该实施例包括步骤301至步骤304。
本申请实施例中的导航设备可以是终端设备(例如移动机器人),也可以是控制移动机器人移动的云端设备(或称为控制设备),若导航设备为移动机器人,移动机器人可以是能够在室内环境(例如,家庭、医院、机场等场景购物中心以及工厂车间等环境)中进行移动并且执行一定任务的机器人。具体地,该移动机器人可以包括扫地机器人、搬运机器人、导引机器人等等。下面仅以终端设备是移动机器人为例进行描述。
步骤301,接收用户的移动指令。
导航设备可以接收用户的移动指令,该移动指令用于指示向导航物体移动。移动指令的具体形式可以是指令、导航物体的类别标签或导航物体的图片等,具体此处不做限定。
若导航设备为移动机器人,则移动机器人可以通过用户输入的移动指令获取移动指令。若导航设备为云端设备,则可以直接接收用户输入的移动指令,或者接收其他设备(例如移动机器人、中转设备等)转发的移动指令,具体此处不做限定。
可选地,导航设备获取环境信息,该环境信息可以是公开数据集中的信息,也可以是通过移动机器人扫描周围环境得到的信息,具体此处不做限定。其中,该环境信息包括多个第一物体以及多个物体之间的位置关系。获取导航物体,也可以理解为是获取导航物体的语义特征。
可选地,环境信息中还包括尺度信息,该尺度信息用于确定第一多层拓扑结构的层数。其中,该尺度信息可以与物体数量相关,也可以与范围或面积等相关。例如,物体数量越多,第一拓扑结构的层数可以越多。在房屋内的导航场景,也可以与房间的数量相关。
一种可能实现的方式中,导航设备为移动机器人,则移动机器人扫描周围环境得到的感知信息处理得到环境信息,则环境信息的表现形式可以是点云、红绿蓝(red greenblue,RGB)图像、深度图像等中的至少一种。其中,环境信息相当于移动机器人中感知模块所获取的信息,该感知模块通过传感器、相机等设备对外界的环境进行感知识别。传感器可以包括全球定位系统(global positioning system,GPS)、轮速计、惯性测量单元(inertial measurement unit,IMU)、无线电、射频识别(radio frequencyidentification,RFID)、雷达(例如激光测距雷达等)或相机等中的至少一种。
可选地,上述的深度图像可以是导航设备直接获取,也可以是通过深度估计网络与RGB图像的方式获取,也可以是通过接收其他设备(例如移动机器人)发送,还可以是从数据库中获取的,具体此处不做限定。
另一种可能实现的方式中,导航设备为云端设备,则云端设备可以从数据库或公开数据集中获取环境信息、也可以通过接收移动机器人等其他设备发送的环境信息的方式获取环境信息,具体此处不做限定。
步骤302,构建第一多层拓扑结构。本步骤是可选地。
本申请实施例中的第一多层拓扑结构可以是导航设备构建的,也可以是来自其他设备发送的,具体此处不做限定。
可选地,导航设备获取环境信息之后,可以基于环境信息构建多层结构,该多层结构包括至少一层结构,如果是两层,则多层结构包括第一层结构和第二层结构。该第一层结构包括多个第一节点,第二层结构包括多个第二节点,多个第一节点中的每个第一节点指示一个第一物体,进一步的,可以聚合多个第一描述子得到第二描述子,并将多个第一描述子、第二描述子关联至多层结构得到第一多层拓扑结构。第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征。
当然,多层结构还可以包括第三层结构,第三层结构包括多个第四节点和与多个第四节点对应的多个第四描述子;多个第四节点中的每个第四节点关联至少一个第二节点组,第二节点组中包括一个或多个第二节点;多个第四描述子中的每个第四描述子用于描述第二节点组指示的第二节点的语义特征。其中,多个第二节点具有关联关系。
上述导航设备构建第一多层拓扑结构的过程,可以理解为是:基于环境信息构建多层结构,并获取多层结构中各个节点对应的描述子,再将描述子关联至多层结构得到第一多层拓扑结构。
下面,先对导航设备基于环境信息中的位置信息构建多层拓扑结构(以3层为例)进行描述。示例性的,以多层结构图包括三层节点(第一节点-物体节点、第二节点-区块节点以及第四节点-区域节点)为例进行描述。
可选地,假设导航设备获取到环境信息的形式为彩色深度图像(red green bluedepth,RGBD)(即RGB图像与深度图像)。将RGB图像与深度图像投影至2D平面的物体区块点云,并通过基于密度的聚类方法(density-based spatial clustering of applicationswith noise,DBSCAN)等方法对点云进行聚类生成对应的多边形凸包(如图4所示)。可选的,并采用多边形凸包的几何中心作为区块节点,绘制维诺图(如图5所示,维诺图包括顶点、连接边以及凸包块。其中,顶点对应区域,凸包块对应由连接边分割开来的区块,连接边对应各区域之间的连通域)。将维诺图的顶点作为第三层节点(即区域节点),多边形凸包作为第二层节点(即区块节点),多边形凸包中的各个第一物体作为第一层节点(即物体节点)。区域节点通过最近邻搜索方法{例如前述的r-disc或K最近邻算法(k-nearest neighbors,KNN)等}与其周边一定范围内的凸包集合(即多个区块节点)进行绑定,确定区域节点与区块节点的从属关系。并根据各个第一物体的位置确定多边形凸包所包括的第一物体,即确定区块节点与物体节点的从属关系。根据区域节点、区块节点以及物体节点的从属关系确定多层结构图。例如,多层结构的局部图可以如图6所示,其中,区域节点A与区块节点A1、A2、A3具有从属关系,区块节点A1与物体节点a1、a2、a3、a4具有从属关系。可以理解的是图6所示的多层结构图只是部分的多层结构图,仅以区域节点A、区块节点A1、A2、A3、物体节点a1、a2、a3、a4为例描述各层节点的连接关系。
另外,可以在物体层(即物体节点所在层)、区块层(即区块节点所在层)和/或区域层(即区域节点所在层)中添加预测节点(Ghost)(即第三节点)。环境信息中不包括与该第三节点关联的一个或多个第一物体。下面以在区域层增加预测节点为例进行描述。对于面积较大的环境,由于移动机器人获取的环境信息并不是完整的实际环境信息,为了实现机器人可以在未知区域进行导航。将上述维诺图的延伸边作为潜在联通域并确定预测节点。也可以理解为是将移动机器人观测不到的区域但可联通的区域当做预测节点。例如,图5所示,若维诺图的边的两端有一端没有观测数据,则可以选取没有观测数据的一端为预测节点。进一步的,如图6所示,假设A与B之间有一个边的一端没有观测数据,则可以在多层结构图中区域层的区域节点A与区域节点B之间增加预测节点。当然,移动机器人可以根据后续的运动修正(删除或增加)预测节点,即如果边的两端都有观测数据,则可以将预测节点抹除。另外,若某个区域还是空白,不知道是否扫描过,则对空白区域大于阈值时,可以在空白区域中增加预测节点。可以理解的是,本申请实施例中增加预测节点的条件除了根据维诺图的边或不确定是否扫描过的空白区域,还可以有其他条件,具体此处不做限定。
本申请实施例中的多层结构可以是维诺图等用于将环境信息转化为多层结构的图。
下面,再对导航设备获取多层结构中各节点的描述子的操作进行描述。
可选地,导航设备获取环境信息之后,可以基于环境信息确定多个第一物体的多个初始描述子。再基于多个初始描述子通过第一网络得到多个第一描述子。该第一网络用于获取表示多个第一物体之间关联关系的语义特征。
可选地,导航设备可以通过模板匹配或分类器等方式对环境信息进行识别,得到环境信息中的多个第一物体以及位置关系(该位置关系可以是第一物体的坐标等信息,也可以是第一物体与其他第一物体之间的相对位置关系)。再通过人工编码或自动编码等方式对多个物体之间的语义关联关系(也可以称为物体分布关系)进行抽象提炼,生成矢量化的语义特征描述子(即初始描述子:表示单个第一物体的单独语义特征),并通过哈希表或函数拟合等形式将多个第一物体对应的初始描述子进行直接或间接的标记和存储。
可选地,将多个初始描述子输入第一网络得到多个第一描述子,该多个初始描述子的数量与多个第一描述子的数量一一对应。本申请实施例中的第一网络可以是无监督训练的图采样与聚合算法(graph sample and aggregate,GraphSAGE)等神经网络。该第一网络用于将单个第一物体的语义特征与其周边物体的特征融合提炼,聚合成能够表征当前第一物体与其周边物体分布关系的语义特征(即第一描述子)。该第一描述子用于表示对应的第一节点与多个第一节点中至少一个其他第一节点之间的关联关系的语义特征。可选地,第一描述子可以描述多个节点之间的关联关系,该关联关系是根据学习得到,既可以是指显示的关联关系(例如,相邻关系),也可以是指隐含的关联关系(例如,用户的使用习惯,同时使用水杯与饮水机的习惯也可以隐含其中),有利于后续根据语义导航的准确性。
可以理解的是,上述的关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系、承载关系、位置关系、隶属度关系等中的至少一种。其中,类别关系是指至少两个第一物体所属的类别相同或近似,功能关系是指至少两个第一物体的功能相同或近似,配套关系是指至少两个第一物体在实际应用中常常一起实现某项功能,承载关系是指至少两个第一物体具有承载与被承载的关系,位置关系是指至少两个第一物体存在空间位置上的关系,位置关系具体可以是指物体在一定范围(例如1米等)内的相邻关系。例如:两个第一物体中一个第一物体是红色桌子,另一个第一物体为黑色桌子,则两个第一物体具有类别关系(即都为桌子)。两个第一物体都属于厨房用具,则两个第一物体具有功能关系或者类别关系。两个第一物体分别为桌子、椅子或汽车、停车场,则两个第一物体具有配套关系。两个第一物体分别为蔬菜和冰箱,则两个第一物体具有承载关系。两个第一物体分别为文具和桌子,则两个第一物体具有位置关系(一般情况下,文具是放在桌子上的)。另外,这里的关联关系也可以表示用户的使用习惯、喜好程度等。
可选地,在第一网络的训练过程中可以在聚合函数与损失函数上引入边权重,该边权重用于保证相近物体的语义特征相似度高。例如:两个第一物体分别为鼠标、键盘。由于后续物体分类过程中,可能鼠标与键盘会分为同类,这里引入边权重,进而保证鼠标与键盘的语义特征相似度高。
另外,为了第一网络快速收敛,可以将同类型的物体的第一描述子取平均(或者加权平均等)作为更新后的第一描述子。例如:3个杯子的语义特征取平均得到杯子的第一描述子。当然,这里的同类型要根据导航目标或者实际需要确定,如果导航目标是红色的杯子,则可以将多个红色杯子的语义特征取平均得到红色杯子的第一描述子。
可选地,第一多层拓扑结构中还包括第三节点以及第三节点的第三描述子。移动机器人感知到的环境信息中不包括第三节点对应的一个或多个物体。可以理解的是,第一多层拓扑结构可以包括2层节点、3层节点或更多层数的节点,具体根据实际需要设置,此处不做限定。或者是根据第三节点与第三描述子更新第一多层拓扑结构,得到第二多层拓扑结构。并将第二多层拓扑结构当做是第一多层拓扑结构执行后续步骤。
导航设备获取多层结构与相应描述子后,可以将多个第一描述子关联至物体层的物体节点(即第一物体)。将多边形凸包中包括的多个第一物体对应的第一描述子输入第二网络(第二网络用于获取表示与第二节点关联的多个第一节点对应的共享描述子。)得到该多边形凸包的共享语义特征(即第二描述子,其中,一个多边形凸包对应一个第二描述子),并将第二描述子关联至区块层的区块节点。将从属于区域节点的多个区块节点的第二描述子输入第二网络得到区域节点的共享语义特征,并将区域节点的共享语义特征与区域节点进行关联,进而得到多层拓扑结构。如果多层结构图中包括区域层的预测节点,则可以将从属于预测节点的多个区块对应的第二描述子输入第三网络得到预测节点的语义特征(即第三描述子)。当然,如果是在区块层增加的预测节点,则将从属于预测节点的多个第一物体对应的第一描述子输入第三网络得到预测节点的语义特征。
可以理解的是,上述只是以多层结构包括三层节点为例,如果是两层节点,两层节点可以包括物体层与区块层,即上述关于区域节点的操作可以省略。如果是更多层节点,则可以进一步确定当前层节点与上一层节点的从属关系,并通过当前层节点的语义特征与第二网络得到上一层节点的共享语义特征,再将各层节点与各层节点对应的语义特征进行关联,从而得到更多层的多层拓扑结构。通过多层迭代的方式(从局部至全局、自下而上等)逐层融入当前物体周边更远的物体信息,扩展聚合信息范围。
可选地,根据维诺图的建立和更新,增量式的扩展多层拓扑结构中各层节点,并关联对应的语义特征。还可以保存由维诺图给出的节点相对位置信息。
可选地,若在机器人运动过程中识别到新的第一物体,移动机器人可以根据新的第一物体更新多层拓扑,并用更新后的拓扑结构执行下述步骤。或者移动机器人向云端设备发送更新后的多层拓扑,或者向云端设备发送新的第一物体(或新的环境信息),由云端设备进行更新多层拓扑的更新。
前面已对第一网络进行了描述,此处不再赘述。下面对本步骤中的第二网络与第三网络进行描述。第二网络可以为自监督训练的图卷积神经网络(graph convolutionalnetwork,GCN),用于将指定的物体群特征节点所对应的全连接子图进行图卷积,从而聚合成各物体群所对应的共享语义特征。第三网络为监督训练的循环图神经网络(GraphRNN),根据观测提炼到的物体节点/区块节点/区域节点的语义特征,进行未知物体/区块/区域的语义特征预测。本实施例中的第一网络、第二网络、第三网络可以联合使用得到多层结构图中各层节点对应的语义特征,例如第一网络的输出作为第二网络的输入,第一网络或第二网络的输出作为第三网络的输入。另外,为了方便后续计算与导航物体的相似度,上述三个网络输出统一范式的语义特征,例如:三个网络的输出都是100维的特征序列。
可选地,为了强调物体和各区域的从属关系,第二网络在训练时可以在损失函数中引入辨别分类和从属关系两部分损失同时进行约束。第三网络在训练时可以采用交叉熵,最小化预测的语义特征与实际语义特征之间的误差。
可选地,第三网络的结构可以是CNN与门控循环单元(gated recurrent unit,GRU)的结合,也可以是CNN与长短时记忆(long short-term memory,LSTM)的结合,还可以是其他的结构,具体此处不做限定。
示例性的,第一网络、第二网络与第三网络的结构与联系如图7所示。例如图7中的第三网络所示,第三网络基于节点1、节点2、节点3的共享语义特征预测节点4的语义特征。其中,节点1、节点2、节点3、节点4可以代表区块节点或区域节点。可以理解的是,图7中的网络结构只是一种举例,实际应用中,第一网络、第二网络与第三网络的结构还可以有其他形式,具体此处不做限定。
示例性的,上述构建第一多层拓扑结构的流程图如图8所示。
步骤303,基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标。
导航设备获取第一多层拓扑结构之后,可以基于搜索算法确定第一多层拓扑结构中的多个候选节点(或者理解为是基于搜索算法进行搜索树的构建与扩展)。并基于多个候选节点与导航物体的相似度确定多个候选节点中各个候选节点作为中间节点的可能性(后续称为价值,价值越高代表可能性越高)。其中,该导航物体可以是用户输入的。各个候选节点与导航物体的相似度可以理解为是节点之间语义特征对应向量的点积(即多个节点对应的语义特征与导航物体的语义特征之间的相似度),用于计算节点之间的相似度。再基于相似度、第一多层拓扑结构中节点的访问次数以及运动距离计算多层拓扑结构中节点的价值,选择价值高的节点(可以是多层拓扑结构中价值最高的节点,也可以是多层拓扑结构中价值高于某一阈值的节点)作为中间节点(即下一个运动节点)。移动机器人导航至下一个运动节点之后,将该节点作为当前节点再重复图3所示的步骤直至到达导航物体。即导航设备可以在移动过程中不断获取环境信息、更新维诺图(节点、节点的位置信息等)、更新第一多层拓扑结构、计算候选节点价值、根据价值选择中间节点直至到达导航物体。可以理解的是,中间节点可以理解为是移动机器人所在位置与导航物体之间路径上的任意节点,当然,中间节点也可以指示导航物体。
本申请实施例中的搜索算法可以是随机搜索算法,也可以是基于图(graph)的路径搜索算法,还可以是蒙特卡洛树搜索(monte carlo tree search,MCTS)等算法,具体此处不做限定。其中,MCTS还可以引入上置信界(the upper confidence bound,UCB)得到上限置信区间算法(upper confidence bound apply to tree,UCT)。换句话说,MCTS其实是底层框架,UCB是其中可以用来动态更新计算树结点价值的一种方法,当其应用MCTS的时候,就是UCT。
可选地,通过下述公式计算多个候选节点的中每个候选节点的价值(也可以理解为是作为中间节点的可能性):
其中,i表示多个候选节点中的一个节点,V(i)表示该候选节点的价值,ω表示相似度,Ldis表示运动距离m表示当前分支的子节点总数,j表示m的子节点,N表示节点以及节点的分支子节点的总访问次数,n表示该候选节点的访问次数,c1与c2为调节系数,根据实际需要设置。其中,公式中的第一项可以理解为是当前候选节点的平均价值,第二项可以理解为是第一惩罚项(关于探索次数的),第三项可以理解为是第二惩罚项(关于探索距离)。引入第二惩罚项的目的是鼓励移动机器人向没走过的区域进行探索,即移动机器人对同一节点探索次数过多,还未找到导航物体时,价值会逐渐降低,使探索次数过多的候选节点的整体价值低于其他候选节点,从而使移动机器人放弃当前区域,前往未知区域进行探索。
可以理解的是,上述公式只是一种举例,实际应用中,上述公式还可以有其他形式,具体此处不做限定。
示例性的,以移动机器人在区域层的移动以及上述图6所示的第一多层拓扑结构为例进行描述,如图9所示,节点A为根节点,节点B、节点C、预测节点为图6中区域层中的区域节点。另外,节点A也可以连接节点A1、A2、A3等与当前所在节点相关联的各层节点,具体此处不做限定。
步骤304,基于中间节点的坐标向导航物体移动。
可选地,若导航设备是移动机器人,则移动机器人采集RGBD图像后,可以生成2D尺度导航地图,该地图可以理解为是局部动态地图,可以根据移动机器人的移动而变化,该3D尺度导航地图的作用可以理解为是避障地图,移动机器人确定中间节点坐标后,可以根据该坐标与2D尺度导航地图进行移动。
可选地,若导航设备是云端设备,则云端设备确定中间节点的坐标后,可以向移动机器人发送中间节点的坐标,移动机器人根据该中间节点坐标以及2D尺度导航地图向导航物体进行移动。
可以理解的是,若导航设备是控制移动机器人的云端设备,则云端设备执行本实施例中的步骤,云端设备基于搜索算法和多层拓扑结构确定下一运动节点后,向移动机器人发送下一运动节点的坐标,移动机器人根据下一运动节点的坐标进行移动。反复执行上述步骤,进而使得移动机器人移动到导航物体。
本申请实施例中,一方面,通过构建多层拓扑结构,并在多层拓扑结构中增加预测节点(即第三节点),且语义特征不易受场景细节变化的影响,增强了对场景本身的理解,提升了在多变未知场景下导航的泛化性。另一方面,无需采用复杂传感器融合系统进行尺度地图的建立与维护,多层拓扑结构的存储与更新成本较低。另一方面,计算候选节点价值时引入惩罚项,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
请参阅图10,本申请实施例提供的导航方法的另一个流程图。利用物体分布关系先验知识进行增量式的多层拓扑结构建模,并以导航物体的语义特征为导向计算多层拓扑结构中节点的价值;以机器人所在节点为根结点进行树结构扩展,并对潜在连通区域添加预测节点进行语义特征预测;根据节点探索次数及移动机器人里程构建探索惩罚项,引入UCB引导机器人完成导航子目标的推理决策。其中,观测数据为前述的环境信息,(a)网络为前述的第一网络,(b)网络为前述的第二网络,(c)网络为前述的第三网络。环境先验知识图谱相当于前述的初始描述子以及多个初始描述子之间的语义关联。
示例性的,为了更直观的看出本申请实施例中的导航方法,下面以家庭场景为例简单描述下移动机器人在区域层的移动过程。请参阅图11至图13为本申请实施例中移动机器人移动到某一运动节点中的一种展示图。图11的左侧部分为移动机器人采集到的RGB图像,图11的右侧部分为移动机器人采集到的深度图像。图12为当前移动机器人所在实际环境信息的结构图,其中灰色区域表示移动机器人已观测到的区域(或称为已观测区域),黑色区域代表移动机器人未观测到的区域(或称为未观测区域)。假设导航物体是抽屉柜(Chest-of-drawer)。图13右侧显示了区域节点、移动机器人目前所在位置、以及根据多层拓扑结构与搜索算法确定的下一运动节点。图13的左侧的区块节点0、区块节点1与区块节点2相当于与移动机器人目前所在区域节点关联的区块节点。请参阅图14至图16为本申请实施例中移动机器人移动到导航物体附近的某一运动节点的一种展示图。图14的左侧部分为移动机器人采集到的RGB图像,图14的右侧部分为移动机器人采集到的深度图像。图15为当前移动机器人所在实际环境信息的结构图,其中灰色区域代表移动机器人已观测到的区域(或称为已观测区域),黑色区域代表移动机器人未观测到的区域(或称为未观测区域)。假设导航物体是抽屉柜(Chest-of-drawer)。图16右侧显示了区域节点、移动机器人目前所在位置、以及根据多层拓扑结构与搜索算法确定的下一运动节点。图16的左侧的区块节点29与区块节点25相当于与移动机器人目前所在区域节点关联的区块节点。在移动机器人运动的过程中,以导航物体对应的语义特征为导向计算多层拓扑结构中节点的探索价值;以机器人所在节点为根结点进行树结构扩展,并对潜在连通区域添加预测节点进行语义特征预测;根据当前节点的探索次数及移动机器人里程构建探索惩罚项(即前述公式中的第三项),引入UCB引导移动机器人完成导航子目标(即下一运动节点)的推理决策。
为了更直观看出本申请实施例提供的导航方法相较于现有导航方法带来的有益效果,将本申请实施例提供的导航方法{或称为目标驱动导航的关系推理与局部维诺图规划(relational reasoning and voronoi local graph planning for target-drivennavigation,ReVoLT)}与现有导航方法在数据集上进行定量对比(机器人需要在500步的动作步长内完成任务,若找到导航物体则为成功)。其中,对比的现有导航方法包括:随机探索(Random)、端到端强化学习{例如:RGBD+去中心化分布式近端策略优化(decentralizeddistributed proximal policy optimization,DD-PPO)}、神经网络主动同步定位与地图构建(active neural simultaneous localization and mapping,active neural SLAM)、基于目标语义探索的对象目标导航(object goal navigation using goal-orientedsemantic exploration,semEXP)。对比结果如表1所示:
表1
方法 | SR(%) | SPL | DTS(米) |
Random | 0 | 0 | 10.3298 |
RGBD+DD-PPO | 6.2 | 0.021 | 9.3162 |
active neural SLAM | 32.1 | 0.119 | 7.056 |
semEXP | 36.0 | 0.144 | 6.733 |
ReVoLT-i-small | 66.7 | 0.256 | 0.9762 |
ReVoLT-i | 62.5 | 0.102 | 1.0511 |
ReVoLT-c | 85.7 | 0.070 | 0.0253 |
其中,三项评测指标分别为平均成功率(SR小于或等于1)、平均成功路径最优率(SPL小于或等于1)以及仿真结束时距离目标的距离(DTS)。本实施例在多各目标找寻任务中均能以高效的探索路径完成,最终三项指标均优于其他方法。其中,表1中包括本实施例提供的导航方法的2种子模式,ReVoLT-i和ReVoLT-c分别代表探寻不同导航物体的时候是否重置拓扑地图记忆。ReVoLT-i代表每次清空记忆重新建立多层拓扑结构;ReVoLT-c代表对相同的环境可重复使用已有记忆,继续增量式建立和更新多层拓扑结构。ReVoLT-i-small代表与其他方法一致导航物体种类限定为6种,且每次重新建立多层拓扑结构;非-small(即ReVoLT-i与ReVoLT-c)代表导航物体种类涵盖数据集中21种物体类型。
下面对云端设备与终端设备的交互实施例进行详细描述:
请参阅图17,本申请实施例中导航设备的另一个实施例,可以应用于家庭、商场、机场等导航场景,该实施例包括:步骤1701至步骤1705。
步骤1701,终端设备向云端设备发送导航请求。
可选地,终端设备可以接收用户的移动指令,该移动指令用于指示向导航物体移动。
终端设备向云端设备发送导航请求,该导航请求用于指示终端设备的导航物体,导航请求可以是指令、导航物体的类别标签或导航物体的图片等,具体此处不做限定。
步骤1702,云端设备构建第一多层拓扑结构。
本实施例中云端设备构建第一多层拓扑结构的坐标的具体步骤与前述图3所示实施例步骤302类似,此处不再赘述。
步骤1703,云端设备基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标。
本实施例中云端设备基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标的具体步骤与前述图3所示实施例步骤303类似,此处不再赘述。
可选地,云端设备还可以不断接收终端设备采集到的环境信息,并根据环境信息以及预测的第三节点不断更新第一多层拓扑结构,并用更新后的第一多层拓扑结构确定中间节点的坐标。其中,环境信息与第三节点的描述可以参考前述图3中相应的描述,此处不再赘述。
步骤1704,云端设备向终端设备发送中间节点的坐标。
云端设备确定中间节点的坐标之后,可以向终端设备发送中间节点的坐标。
步骤1705,终端设备基于中间节点的坐标向目标物体移动。
本实施例中终端设备基于中间节点的坐标向目标物体移动的坐标的具体步骤与前述图3所示实施例步骤304类似,此处不再赘述。
本申请实施例中,一方面,语义特征不易受场景细节变化的影响,通过引入具有多层节点语义关联的多层拓扑结构,并基于该多层拓扑结构进行导航,从而提升移动机器人导航的准确度以及在多变场景下导航的泛化性。另一方面,无需采用复杂传感器融合系统进行尺度地图的建立与维护,多层拓扑结构的存储与更新成本较低。另一方面,复杂的第一多层拓扑建立与中间节点的确定由云端设备执行,可以减少终端设备的算力及存储空间。
请参阅图18,本申请实施例中导航设备的另一个实施例,可以应用于家庭、商场、机场等导航场景,该实施例包括:步骤1801至步骤1805。
步骤1801,终端设备向云端设备发送导航请求。
本实施例中终端设备向云端设备发送导航请求的具体步骤与前述图17所示实施例步骤1701类似,此处不再赘述。
步骤1802,云端设备构建第一多层拓扑结构。
本实施例中云端设备构建第一多层拓扑结构的坐标的具体步骤与前述图3所示实施例步骤302类似,此处不再赘述。
步骤1803,云端设备向终端设备发送第一多层拓扑结构。
云端设备构建第一多层拓扑结构之后,可以向终端设备发送第一多层拓扑结构。
步骤1804,终端设备基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标。
本实施例中终端设备基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标的具体步骤与前述图3所示实施例步骤303类似,此处不再赘述。
可选地,终端设备可以根据采集到的环境信息以及预测的第三节点不断更新第一多层拓扑结构,并用更新后的第一多层拓扑结构确定中间节点的坐标。其中,环境信息与第三节点的描述可以参考前述图3中相应的描述,此处不再赘述。
步骤1805,终端设备基于中间节点的坐标向目标物体移动。
本实施例中终端设备基于中间节点的坐标向目标物体移动的坐标的具体步骤与前述图3所示实施例步骤304类似,此处不再赘述。
本申请实施例中,一方面,语义特征不易受场景细节变化的影响,通过引入具有多层节点语义关联的多层拓扑结构,并基于该多层拓扑结构进行导航,从而提升移动机器人导航的准确度以及在多变场景下导航的泛化性。另一方面,无需采用复杂传感器融合系统进行尺度地图的建立与维护,多层拓扑结构的存储与更新成本较低。另一方面,复杂的第一多层拓扑建立由云端设备执行,可以减少终端设备的算力及存储空间。
当然,终端设备与云端设备的交互流程除了上述图17与图18所示的流程以外,还要其他可能实现的方式,例如:终端设备构建第一多层拓扑结构,向云端设备发送第一多层拓扑结构,云端设备基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,并向终端设备发送中间节点的坐标。终端设备基于中间节点的坐标向目标物体移动。该种方式中,终端设备可以基于采集到的环境信息随时更新多层拓扑结构,并使用更新后的多层拓扑结构确定中间节点,可以减少终端设备与云端设备在更新拓扑结构所需数据上的传输消耗,即提升终端设备移动到导航物体的时长。
本申请实施例中对于终端设备与云端设备共同执行实现导航的方式不做限定。
上面对本申请实施例中的导航方法进行了描述,下面对本申请实施例中的导航设备进行描述,请参阅图19,本申请实施例中导航设备的一个实施例包括:感知模块、环境先验是利用模块、语义空间关联及拓扑构建模块以及推理决策模块。其中,感知模块,用于多维(2D、3D)数据采集(图像/深度/点云),以及对环境中物体的检测与识别。环境先验知识利用模块,用于存储环境先验知识的编码制备、查询再生后验特征提取、以及未知区域特征预测。语义空间关联及拓扑构建模块,用于空间划分聚类、以及根据空间关联结果构建多层拓扑结构。推理决策模块,用于创建与更新蒙特卡洛树、以及树节点的UCB价值计算与下一运动节点的确定。
请参阅图20,本申请实施例中导航设备的一个实施例,可以应用于家庭、商场、机场等导航场景,该导航设备可以是云端设备。该导航设备包括:
接收单元2001,用于接收终端设备发送的导航请求,导航请求用于指示终端设备的导航物体;
确定单元2002,用于基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;中间节点的坐标用于导航终端设备向导航物体进行移动;
发送单元2003,用于向终端设备发送坐标。
可选地,本实施例中的导航设备还包括:预测单元2004,用于基于位置信息预测第三节点;
可选地,预测单元2004,还用于基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;
可选地,本实施例中的导航设备还包括:构建单元2005,用于基于位置信息构建第一多层拓扑结构。
本实施例中,导航设备中各单元所执行的操作与前述图3、图17与图18所示实施例中云端设备执行的操作类似此处不再赘述。
本实施例中,一方面,通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征导航终端设备向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升终端设备导航的准确度以及在多变场景下导航的泛化性。另一方面,通过构建单元2005构建多层拓扑结构,并通过预测单元2004在多层拓扑结构中增加预测节点(即第三节点),且语义特征不易受场景细节变化的影响,增强了对场景本身的理解,提升了在多变未知场景下导航的泛化性。另一方面,无需采用复杂传感器融合系统进行尺度地图的建立与维护,多层拓扑结构的存储与更新成本较低。另一方面,计算节点价值时引入惩罚项,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
请参阅图21,本申请实施例中导航设备的一个实施例,可以应用于家庭、商场、机场等导航场景,该导航设备可以是终端设备(例如移动机器人)。该导航设备包括:
接收单元2101,用于接收用户的移动指令,移动指令用于指示向导航物体移动;
确定单元2102,用于基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标;第一多层拓扑结构包括第一层结构和第二层结构,第一层结构包括多个第一节点和与多个第一节点对应的多个第一描述子,第二层结构包括多个第二节点和与多个第二节点对应的多个第二描述子,多个第一节点中的每个第一节点指示一个第一物体,第一描述子用于描述对应的第一节点指示的第一物体的语义特征,多个第二节点中的每个第二节点关联至少一个第一节点组,第一节点组中包括一个或多个第一节点,一个或多个第一节点与各自对应的第一物体的位置信息有关,多个第二描述子中的每个第二描述子用于描述关联的第一节点组指示的第一物体的语义特征;
移动单元2103,用于基于坐标向导航物体移动。
可选地,本实施例中的导航设备还包括:预测单元2104,用于基于位置信息预测第三节点;
可选地,预测单元2104,还用于基于多个第一描述子或多个第二描述子预测第三节点的第三描述子;
可选地,本实施例中的导航设备还包括:构建单元2105,用于基于位置信息构建第一多层拓扑结构。
可选地,本实施例中的导航设备还包括:发送单元2106,用于向所云端设备发送第一信息,第一信息用于获取第一多层拓扑结构;
本实施例中,导航设备中各单元所执行的操作与前述图3、图17与图18所示实施例中终端设备执行的操作类似此处不再赘述。
本实施例中,通过引入具有多层节点语义关联的多层拓扑结构,即通过语义特征向导航物体进行移动,由于语义特征不易受场景细节变化的影响,从而提升机器人导航的准确度以及在多变场景下导航的泛化性。另一方面,通过构建单元2105构建多层拓扑结构,并通过预测单元2104在多层拓扑结构中增加预测节点(即第三节点),且语义特征不易受场景细节变化的影响,增强了对场景本身的理解,提升了在多变未知场景下导航的泛化性。另一方面,无需采用复杂传感器融合系统进行尺度地图的建立与维护,多层拓扑结构的存储与更新成本较低。另一方面,计算节点价值时引入惩罚项,在移动机器人对同一节点探索次数过多,还未找到导航物体的情况下,使得移动机器人放弃当前区域,前往未知区域进行探索,缩短移动到导航物体的时间。
参阅图22,本申请提供的另一种导航设备的结构示意图。该导航设备可以是移动机器人,也可以是移动机器人的云端设备。该导航设备可以包括处理器2201、存储器2202和通信接口2203。该处理器2201、存储器2202和通信接口2203通过线路互联。其中,存储器2202中存储有程序指令和数据。
存储器2202中存储了前述图3、图17与图18对应的实施方式中,由云端设备执行的步骤对应的程序指令以及数据。
处理器2201,用于执行前述图3、图17与图18所示实施例中任一实施例所示的由云端设备执行的步骤。
通信接口2203可以用于进行数据的接收和发送,用于执行前述图3、图17与图18所示实施例中任一实施例中与获取、发送、接收相关的步骤。
一种实现方式中,导航设备可以包括相对于图22更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
参阅图23,本申请提供的另一种导航设备的结构示意图。该导航设备可以是移动机器人。该导航设备具体可以是扫地机器人、搬运机器人、导引机器人等等,此处不做限定。具体的,导航设备包括:接收器2301、发射器2302、处理器2303和存储器2304(其中,处理器2303的数量可以一个或多个,图23中以一个处理器为例),其中,处理器2303可以包括应用处理器23031和通信处理器23032。在本申请的一些实施例中,接收器2301、发射器2302、处理器2303和存储器2304可通过总线或其它方式连接。
存储器2304可以包括只读存储器和随机存取存储器,并向处理器2303提供指令和数据。存储器2304的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器2304存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器2303控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器2303中,或者由处理器2303实现。处理器2303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2303可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器、以及视觉处理器(vision processing unit,VPU)、张量处理器(tensorprocessing unit,TPU)等适用于AI运算的处理器,还可进一步包括专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器2303可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2304,处理器2303读取存储器2304中的信息,结合其硬件完成上述方法的步骤。
接收器2301可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器2302可用于通过第一接口输出数字或字符信息;发射器2302还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器2302还可以包括显示屏等显示设备。
一种实现方式中,导航设备可以包括相对于图23更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现集成的单元时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
Claims (27)
1.一种导航方法,其特征在于,所述方法包括:
接收终端设备发送的导航请求,所述导航请求用于指示所述终端设备的导航物体;
基于第一多层拓扑结构与所述导航物体的语义特征确定中间节点的坐标;所述第一多层拓扑结构包括第一层结构和第二层结构,所述第一层结构包括多个第一节点和与所述多个第一节点对应的多个第一描述子,所述第二层结构包括多个第二节点和与所述多个第二节点对应的多个第二描述子,所述多个第一节点中的每个第一节点指示一个第一物体,所述第一描述子用于描述对应的所述第一节点指示的第一物体的语义特征,所述多个第二节点中的每个第二节点关联至少一个第一节点组,所述第一节点组中包括一个或多个第一节点,所述一个或多个第一节点与各自对应的所述第一物体的位置信息有关,所述多个第二描述子中的每个第二描述子用于描述关联的所述第一节点组指示的第一物体的语义特征;所述中间节点的坐标用于导航所述终端设备向所述导航物体进行移动;
向所述终端设备发送所述坐标。
2.根据权利要求1所述的方法,其特征在于,所述第一描述子还用于描述对应的第一节点与所述多个第一节点中至少一个其他第一节点之间的关联关系。
3.根据权利要求2所述的方法,其特征在于,所述关联关系用于描述至少两个第一物体之间的类别关系、功能关系、配套关系与位置关系中的至少一种。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
基于所述位置信息预测第三节点;
基于所述多个第一描述子或所述多个第二描述子预测所述第三节点的第三描述子;
所述基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:
基于所述第三节点与所述第三描述子更新所述第一多层拓扑结构,得到第二多层拓扑结构,所述第三节点属于所述第二多层拓扑结构的第一层结构和/或第二层结构;
基于所述第二多层拓扑结构与所述导航物体的语义特征确定所述坐标。
5.根据权利要求4所述的方法,其特征在于,所述基于所述位置信息预测第三节点,包括:
基于所述位置信息对应的维诺图预测所述第三节点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:
基于上限置信度区间算法UCT确定多个候选节点,所述多个候选节点为所述第一多层拓扑结构中的节点;
基于路程计算所述多个候选节点中各个候选节点作为所述中间节点的可能性,以得到所述中间节点的坐标,所述路程为所述终端设备到达所述多个候选节点所要经过的路程,所述中间节点为所述多个候选节点中所述可能性大于或等于第一阈值的节点。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述导航请求还包括多个所述第一物体的位置信息和/或尺度信息,所述尺度信息包括所述多个第一物体的数量、所述多个第一物体所在房间的数量、所述多个第一物体所在区域的面积中的至少一种,所述尺度信息用于确定所述第一多层拓扑结构的层数。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一多层拓扑结构还包括第三层结构,所述第三层结构包括多个第四节点和与所述多个第四节点对应的多个第四描述子;所述多个第四节点中的每个第四节点关联至少一个第二节点组,所述第二节点组中包括一个或多个第二节点;所述多个第四描述子中的每个第四描述子用于描述所述第二节点组指示的第二节点的语义特征。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
获取多个第一物体的位置信息;
基于所述位置信息构建所述第一多层拓扑结构。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的所述第一多层拓扑结构。
11.一种导航方法,其特征在于,所述方法包括:
接收用户的移动指令,所述移动指令用于指示向导航物体移动;
基于第一多层拓扑结构与所述导航物体的语义特征确定中间节点的坐标;所述第一多层拓扑结构包括第一层结构和第二层结构,所述第一层结构包括多个第一节点和与所述多个第一节点对应的多个第一描述子,所述第二层结构包括多个第二节点和与所述多个第二节点对应的多个第二描述子,所述多个第一节点中的每个第一节点指示一个第一物体,所述第一描述子用于描述对应的所述第一节点指示的第一物体的语义特征,所述多个第二节点中的每个第二节点关联至少一个第一节点组,所述第一节点组中包括一个或多个第一节点,所述一个或多个第一节点与各自对应的所述第一物体的位置信息有关,所述多个第二描述子中的每个第二描述子用于描述关联的所述第一节点组指示的第一物体的语义特征;
基于所述坐标向所述导航物体移动。
12.根据权利要求11所述的方法,其特征在于,所述第一描述子还用于描述对应的第一节点与所述多个第一节点中至少一个其他第一节点之间的关联关系。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
基于所述位置信息预测第三节点;
基于所述多个第一描述子或所述多个第二描述子预测所述第三节点的第三描述子;
所述基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:
基于所述第三节点与所述第三描述子更新所述第一多层拓扑结构,得到第二多层拓扑结构,所述第三节点属于所述第二多层拓扑结构的第一层结构和/或第二层结构;
基于所述第二多层拓扑结构与所述导航物体的语义特征确定所述坐标。
14.根据权利要求13所述的方法,其特征在于,所述基于所述位置信息预测第三节点,包括:
基于所述位置信息对应的维诺图预测所述第三节点。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述基于第一多层拓扑结构与导航物体的语义特征确定中间节点的坐标,包括:
基于上限置信度区间算法UCT确定多个候选节点,所述多个候选节点为所述第一多层拓扑结构中的节点;
基于路程计算所述多个候选节点中各个候选节点作为所述中间节点的可能性,以得到所述中间节点的坐标,所述路程为所述终端设备到达所述多个候选节点所要经过的路程,所述中间节点为所述多个候选节点中所述可能性大于或等于第一阈值的节点。
16.根据权利要求11至15中任一项所述的方法,其特征在于,所述第一多层拓扑结构还包括第三层结构,所述第三层结构包括多个第四节点和与所述多个第四节点对应的多个第四描述子;
所述多个第四节点中的每个第四节点关联至少一个第二节点组,所述第二节点组中包括一个或多个第二节点;
所述多个第四描述子中的每个第四描述子用于描述所述第二节点组指示的第二节点的语义特征。
17.根据权利要求11至16中任一项所述的方法,其特征在于,所述方法还包括:
获取多个第一物体的位置信息;
基于所述位置信息构建所述第一多层拓扑结构。
18.根据权利要求11至16中任一项所述的方法,其特征在于,所述方法还包括:
向云端设备发送第一信息,所述第一信息用于获取所述第一多层拓扑结构;
接收所述云端设备发送的所述第一多层拓扑结构。
19.一种云端设备,其特征在于,所述云端设备包括:
接收单元,用于接收终端设备发送的导航请求,所述导航请求用于指示所述终端设备的导航物体;
确定单元,用于基于第一多层拓扑结构与所述导航物体的语义特征确定中间节点的坐标;所述第一多层拓扑结构包括第一层结构和第二层结构,所述第一层结构包括多个第一节点和与所述多个第一节点对应的多个第一描述子,所述第二层结构包括多个第二节点和与所述多个第二节点对应的多个第二描述子,所述多个第一节点中的每个第一节点指示一个第一物体,所述第一描述子用于描述对应的所述第一节点指示的第一物体的语义特征,所述多个第二节点中的每个第二节点关联至少一个第一节点组,所述第一节点组中包括一个或多个第一节点,所述一个或多个第一节点与各自对应的所述第一物体的位置信息有关,所述多个第二描述子中的每个第二描述子用于描述关联的所述第一节点组指示的第一物体的语义特征;所述中间节点的坐标用于导航所述终端设备向所述导航物体进行移动;
发送单元,用于向所述终端设备发送所述坐标。
20.根据权利要求19所述的设备,其特征在于,所述第一描述子还用于描述对应的第一节点与所述多个第一节点中至少一个其他第一节点之间的关联关系。
21.根据权利要求19或20所述的设备,其特征在于,所述云端设备还包括:
预测单元,用于基于所述位置信息预测第三节点;
所述预测单元,还用于基于所述多个第一描述子或所述多个第二描述子预测所述第三节点的第三描述子;
所述确定单元,具体用于基于所述第三节点与所述第三描述子更新所述第一多层拓扑结构,得到第二多层拓扑结构,所述第三节点属于所述第二多层拓扑结构的第一层结构和/或第二层结构;
所述确定单元,具体用于基于所述第二多层拓扑结构与所述导航物体的语义特征确定所述坐标。
22.一种终端设备,其特征在于,所述终端设备包括:
接收单元,用于接收用户的移动指令,所述移动指令用于指示向导航物体移动;
确定单元,用于基于第一多层拓扑结构与所述导航物体的语义特征确定中间节点的坐标;所述第一多层拓扑结构包括第一层结构和第二层结构,所述第一层结构包括多个第一节点和与所述多个第一节点对应的多个第一描述子,所述第二层结构包括多个第二节点和与所述多个第二节点对应的多个第二描述子,所述多个第一节点中的每个第一节点指示一个第一物体,所述第一描述子用于描述对应的所述第一节点指示的第一物体的语义特征,所述多个第二节点中的每个第二节点关联至少一个第一节点组,所述第一节点组中包括一个或多个第一节点,所述一个或多个第一节点与各自对应的所述第一物体的位置信息有关,所述多个第二描述子中的每个第二描述子用于描述关联的所述第一节点组指示的第一物体的语义特征;
移动单元,用于基于所述坐标向所述导航物体移动。
23.根据权利要求22所述的设备,其特征在于,所述第一描述子还用于描述对应的第一节点与所述多个第一节点中至少一个其他第一节点之间的关联关系。
24.根据权利要求22或23所述的设备,其特征在于,所述终端设备还包括:
预测单元,用于基于所述位置信息预测第三节点;
所述预测单元,还用于基于所述多个第一描述子或所述多个第二描述子预测所述第三节点的第三描述子;
所述确定单元,具体用于基于所述第三节点与所述第三描述子更新所述第一多层拓扑结构,得到第二多层拓扑结构,所述第三节点属于所述第二多层拓扑结构的第一层结构和/或第二层结构;
所述确定单元,具体用于基于所述第二多层拓扑结构与所述导航物体的语义特征确定所述坐标。
25.一种导航设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述导航设备执行如权利要求1至10中任一项所述的方法,或者执行如权利要求11至18中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至10中任一项所述的方法,或者使得所述计算机执行如权利要求11至18中任一项所述的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行时,使得所述计算机执行如权利要求1至10中任一项所述的方法,或者使得所述计算机执行如权利要求11至18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110723179.3A CN115600053A (zh) | 2021-06-28 | 2021-06-28 | 一种导航方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110723179.3A CN115600053A (zh) | 2021-06-28 | 2021-06-28 | 一种导航方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115600053A true CN115600053A (zh) | 2023-01-13 |
Family
ID=84840532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110723179.3A Pending CN115600053A (zh) | 2021-06-28 | 2021-06-28 | 一种导航方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115600053A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485800A (zh) * | 2023-06-26 | 2023-07-25 | 杭州脉流科技有限公司 | 动脉瘤形态学参数自动获取方法、装置、设备和存储介质 |
-
2021
- 2021-06-28 CN CN202110723179.3A patent/CN115600053A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485800A (zh) * | 2023-06-26 | 2023-07-25 | 杭州脉流科技有限公司 | 动脉瘤形态学参数自动获取方法、装置、设备和存储介质 |
CN116485800B (zh) * | 2023-06-26 | 2023-09-08 | 杭州脉流科技有限公司 | 动脉瘤形态学参数自动获取方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gupta et al. | Cognitive mapping and planning for visual navigation | |
Ramakrishnan et al. | An exploration of embodied visual exploration | |
Mahajan et al. | Automatic robot Manoeuvres detection using computer vision and deep learning techniques: a perspective of internet of robotics things (IoRT) | |
CN112801265A (zh) | 一种机器学习方法以及装置 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
Marinho et al. | A novel mobile robot localization approach based on classification with rejection option using computer vision | |
EP4137997B1 (en) | Methods and system for goal-conditioned exploration for object goal navigation | |
CN113128285A (zh) | 一种处理视频的方法及装置 | |
Habibi et al. | Human trajectory prediction using similarity-based multi-model fusion | |
WO2022194035A1 (zh) | 一种三维模型构建方法、神经网络训练方法以及装置 | |
Guizilini et al. | Semi-parametric learning for visual odometry | |
CN110110628B (zh) | 一种频率综合器劣化的检测方法及检测设备 | |
CN116208399A (zh) | 一种基于元图的网络恶意行为检测方法及设备 | |
Zhu et al. | Tri-HGNN: Learning triple policies fused hierarchical graph neural networks for pedestrian trajectory prediction | |
Kim et al. | Active object search in an unknown large-scale environment using commonsense knowledge and spatial relations | |
CN115600053A (zh) | 一种导航方法及相关设备 | |
Tawiah | A review of algorithms and techniques for image-based recognition and inference in mobile robotic systems | |
Li et al. | Multi-Agent Dynamic Relational Reasoning for Social Robot Navigation | |
WO2024067115A1 (zh) | 一种生成流模型的训练方法及相关装置 | |
Lee et al. | An incremental nonparametric Bayesian clustering-based traversable region detection method | |
Triebel et al. | Parsing outdoor scenes from streamed 3d laser data using online clustering and incremental belief updates | |
Lang et al. | Definition of semantic maps for outdoor robotic tasks | |
Chen et al. | EMExplorer: an episodic memory enhanced autonomous exploration strategy with Voronoi domain conversion and invalid action masking | |
Guo et al. | Object goal visual navigation using semantic spatial relationships | |
Cheng et al. | Deep learning-based point cloud registration: a comprehensive investigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |