行驶路径的确定方法、装置、电子设备和存储介质与流程

文档序号:30609288发布日期:2022-07-01 23:12阅读:129来源:国知局
行驶路径的确定方法、装置、电子设备和存储介质与流程

1.本公开涉及路径规划技术,尤其是一种行驶路径的确定方法、装置、电子设备和存储介质。


背景技术:

2.在自动泊车等场景的路径规划中,通常采用混合a*(a-star)算法进行路径查找,相关的混合a*算法通常采用dubins曲线或reeds-shepp曲线来确定两点之间的启发函数值(h值),以使规划的行驶路径符合车辆能够运行的轨迹,h值表示的是从一点移动到另一点的估计代价值。但是,采用dubins曲线或reeds-shepp曲线确定h值,计算时间较长,从而导致路径搜索时间长。


技术实现要素:

3.为了解决上述路径搜索时间长等技术问题,提出了本公开。本公开的实施例提供了一种行驶路径的确定方法、装置、电子设备和存储介质。
4.根据本公开实施例的一个方面,提供了一种行驶路径的确定方法,包括:确定当前父节点;响应于所述当前父节点不是终点,基于预先训练获得的神经网络回归模型和/或神经网络分类模型,确定下一父节点;基于所述下一父节点,确定可移动设备从起始点到所述终点的行驶路径。
5.根据本公开实施例的另一个方面,提供了一种行驶路径的确定装置,包括:第一确定模块,用于确定当前父节点;第一处理模块,用于响应于所述当前父节点不是终点,基于预先训练获得的神经网络回归模型和/或神经网络分类模型,确定下一父节点;第二处理模块,用于基于所述下一父节点,确定可移动设备从起始点到所述终点的行驶路径。
6.根据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的行驶路径的确定方法。
7.根据本公开实施例的又一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的行驶路径的确定方法。
8.基于本公开上述实施例提供的行驶路径的确定方法、装置、电子设备和存储介质,在采用混合a*算法搜索路径时,下一父节点的确定是基于训练好的神经网络回归模型或神经网络分类模型实现的,无需使用dubins曲线或reeds-shepp曲线,可以在兼顾可移动设备运动学模型的条件下,有效减少搜索时间,从而提高路径搜索效率,解决了现有技术路径搜索时间较长等问题。
9.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
10.通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
11.图1是本公开提供的行驶路径的确定方法的一个示例性的应用场景;
12.图2是本公开一示例性实施例提供的行驶路径的确定方法的流程示意图;
13.图3是本公开一个示例性实施例提供的步骤202的流程示意图;
14.图4是本公开另一个示例性实施例提供的行驶路径的确定方法的流程示意图;
15.图5是本公开另一示例性实施例提供的步骤202的流程示意图;
16.图6是本公开再一示例性实施例提供的步骤202的流程示意图;
17.图7是本公开一示例性实施例提供的神经网络回归模型的训练流程示意图;
18.图8是本公开一示例性实施例提供的步骤301的流程示意图;
19.图9是本公开一示例性实施例提供的基于混合a*算法确定移动代价值的流程示意图;
20.图10是本公开一示例性实施例提供的神经网络分类模型的训练流程示意图;
21.图11是本公开一示例性实施例提供的步骤401的流程示意图;
22.图12是本公开再一示例性实施例提供的行驶路径的确定方法的流程示意图;
23.图13是本公开又一示例性实施例提供的行驶路径的确定方法的流程示意图;
24.图14是本公开一示例性实施例提供的行驶路径的确定装置的结构示意图;
25.图15是本公开一示例性实施例提供的第一处理模块502的结构示意图;
26.图16是本公开另一示例性实施例提供的行驶路径的确定装置的结构示意图;
27.图17是本公开另一示例性实施例提供的第一处理模块502的结构示意图;
28.图18是本公开再一示例性实施例提供的第三处理单元5023的结构示意图;
29.图19是本公开再一示例性实施例提供的行驶路径的确定装置的结构示意图;
30.图20是本公开电子设备一个应用实施例的结构示意图。
具体实施方式
31.下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
32.应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
33.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
34.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
35.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或
者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
36.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
37.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
38.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
39.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
40.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
41.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
42.本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
43.终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
44.本公开概述
45.在实现本公开的过程中,发明人发现,在自动泊车等场景的路径规划中,通常采用混合a*(a-star)算法进行路径查找,相关的混合a*算法通常采用dubins曲线或reeds-shepp曲线来确定两点之间的启发函数值(h值),以使规划的行驶路径符合车辆能够运行的轨迹,h值表示的是从一点移动到另一点的估计代价值。但是,采用dubins曲线或reeds-shepp曲线确定h值,计算时间较长,从而导致路径搜索时间长。
46.示例性概述
47.图1是本公开提供的行驶路径的确定方法的一个示例性的应用场景。
48.在自动泊车场景中,在采用混合a*算法进行路径查找时,先从开放列表中确定一个节点作为当前父节点(初始的父节点为起始点),若当前父节点不是终点,则创建该当前父节点的扩展节点,确定扩展节点的移动代价值,并基于dubins曲线或reeds-shepp曲线确定扩展节点的估计代价值,进而基于各扩展节点分别对应的移动代价值和估计代价值确定出下一父节点,将下一父节点作为当前父节点继续查找路径,也即混合a*算法在当前父节
点下是基于dubins曲线或reeds-shepp曲线来确定下一父节点的,利用本公开的行驶路径的确定方法,对混合a*算法进行改进,在路径查找时,若当前父节点不是终点,基于预先训练获得的神经网络回归模型或神经网络分类模型确定下一父节点,进而基于下一父节点继续查找,直至确定出可移动设备(车辆)从起始点到终点的行驶路径,可以避免采用dubins曲线或reeds-shepp曲线,而基于神经网络回归模型或神经网络分类模型可以快速准确地确定出下一父节点,有效减少搜索时间,从而提高路径搜索效率,解决了现有技术路径搜索时间较长等问题。
49.本公开不限于上述自动泊车场景,可以应用与任意需要进行路径规划的场景,比如机器人在某区域内自动行驶的场景,比如机器人搬运货物等,具体可以根据实际需求设置。
50.示例性方法
51.图2是本公开一示例性实施例提供的行驶路径的确定方法的流程示意图。本实施例可应用在电子设备上,具体比如车载计算平台上,如图2所示,包括如下步骤:
52.步骤201,确定当前父节点。
53.其中,当前父节点是路径搜索过程中,作为当前搜索步骤的扩展参考的位姿,在初始时刻,当前父节点为待规划路径的起始点,比如要确定从a点到b点的行驶路径,则首先可以将a点对应的位姿作为当前父节点,并以当前父节点为参考,建立其扩展节点,实现路径的搜索。具体父节点、扩展节点的概念参见混合a*算法,在此不再赘述。
54.示例性的,可以设置开放列表和封闭列表,从起始点a点开始,将a点加入到开放列表中,基于运动学模型确定从a点能够到达的点作为a点的扩展节点,加入开放列表中,a点即为这些扩展节点的父节点,称为当前父节点。为了进行路径搜索,把a点从开放列表中移除,加入到封闭列表中,封闭列表中的节点都是当前不需要再关注的节点。运动学模型考虑了可移动设备的可移动轨迹约束,比如基于车辆当前航向角及最大转弯半径确定下一步可到达的扩展节点,具体原理不再赘述。
55.步骤202,响应于当前父节点不是终点,基于预先训练获得的神经网络回归模型和/或神经网络分类模型,确定下一父节点。
56.其中,神经网络回归模型可以用于预测当前父节点的各扩展节点的估计代价值(h值),进而可以结合估计代价值和移动代价值(g值)确定扩展节点的综合代价值(f值),基于扩展节点的f值确定下一父节点。其中,移动代价值可以基于任意可实施的混合a*算法及其任意改进算法中g值的确定方式来确定,本实施例不做限定。神经网络回归模型还可以直接用于预测当前父节点的各扩展节点分别对应的综合代价值,具体可以根据实际需求训练获得神经网络回归模型,本实施例不做限定。神经网络分类模型用于对当前父节的下一父节点的类型进行预测,直接确定出下一父节点,其中,下一父节点的类型是指下一父节点是当前父节点的扩展节点的类型,比如基于运动学模型设置当前父节点有6个扩展节点,包括左前方、正前方、右前方、左后方、正后方、右后方6种类型,确定了下一父节点的类型,即可确定下一父节点是哪个扩展节点。还可以结合神经网络回归模型和神经网络分类模型一起确定下一父节点,以进一步提高准确性。比如,若两种方式确定的下一父节点一致,则将该节点作为下一父节点,若两种方式确定的下一父节点不一致,则可以设置规则选择其中较优的节点作为下一父节点。具体可以根据实际需求设置。
57.步骤203,基于下一父节点,确定可移动设备从起始点到终点的行驶路径。
58.在确定了下一父节点,即可进入下一搜索流程,具体来说,可将下一父节点作为当前父节点,重复执行上述步骤202-203,直至下一父节点为终点,完成路径搜索,即可确定移动设备从起始点到终点的行驶路径。
59.本实施例提供的行驶路径的确定方法,在路径搜索过程中,在当前父节点下,基于预先训练获得的神经网络回归模型或神经网络分类模型,确定下一父节点,可以避免采用dubins曲线或reeds-shepp曲线,有效减少搜索时间,从而提高路径搜索效率,解决了现有技术路径搜索时间较长等问题。
60.在一个可选示例中,图3是本公开一个示例性实施例提供的步骤202的流程示意图,在本示例中,步骤202具体可以包括以下步骤:
61.步骤2021,响应于当前父节点不是终点,基于神经网络回归模型,确定当前父节点的扩展节点对应的综合代价值。
62.其中,当前父节点的扩展节点可以是基于运动学模型确定,比如在自动泊车场景,可以根据车辆的最大转向半径约束,结合车辆的航向角,来确定车辆下一步能够到达的点作为当前父节点的扩展节点。扩展节点可以包括一个或多个节点,每个扩展节点表示一个对应的位姿(包括位置和航向角)。综合代价值对应混合a*算法中的f值,扩展节点对应的综合代价值表示从起始点经该扩展节点移动到终点的总代价,综合代价值包括从起始点移动到该扩展节点的移动代价值(即g值)和从扩展节点移动到终点的估计代价值。基于神经网络回归模型确定当前父节点的扩展节点对应的综合代价值,具体可以是先基于神经网络回归模型确定该扩展节点对应的估计代价值,再基于估计代价值和移动代价值确定综合代价值。还可以是直接基于神经网络回归模型预测出综合代价值,具体可以根据实际需求训练神经网络回归模型,在此不再赘述。
63.示例性的,神经网络回归模型在训练时,将行驶区域中任意的点c作为表示扩展节点的第一训练点、将任意的点d作为表示终点的第二训练点,获得第一训练点行驶到第二训练点的训练估计代价值标签(即h真值),将第一训练点的位姿和第二训练点的位姿形成神经网络回归模型的输入特征,利用神经网络回归模型对应的神经网络回归网络,得到预测估计代价值,并与对应的h真值对比,基于预设损失函数确定网络损失,基于网络损失调整网络参数,直至收敛,获得训练好的神经网络回归模型。还可以是结合表示扩展节点的第一训练点、表示终点的第二训练点、表示起始点的起始训练点及对应的训练综合代价值标签,训练获得神经网络回归模型,则可以在后续应用中直接预测扩展节点对应的综合代价值。
64.步骤2022,基于扩展节点对应的综合代价值,确定下一父节点。
65.在确定了各扩展节点分别对应的综合代价值后,可以基于各扩展节点对应的综合代价值确定出下一父节点,具体确定规则可以根据实际需求设置,比如选择各扩展节点中综合代价值最小的扩展节点作为下一父节点。
66.在实际应用中,当前父节点的扩展节点可能是在前面的搜索中已经加入到开放列表中的节点,这种情况下,该扩展节点已经具有对应的移动代价值、估计代价值及综合代价值,并具有对应的父节点,在当前父节点下,基于神经网络回归模型再次确定了该扩展节点对应的综合代价值后,需要判断是否需要更新该扩展节点原来的综合代价值及父节点,判断原则是,新的综合代价值是否比原来的综合代价值更小,因为路径搜索的目的是寻找最
短路径,因此,各节点记录f最小的综合代价值及对应的父节点。具体原理不再赘述。而对于当前父节点的未加入到开放列表中的扩展节点,则加入到开放列表,并设置其父节点为当前父节点。
67.本公开基于神经网络回归模型实现路径搜索过程中综合代价值的预测,从而无需采用dubins曲线或reeds-shepp曲线,有效减少搜索时间。
68.在一个可选示例中,图4是本公开另一个示例性实施例提供的行驶路径的确定方法的流程示意图,在本示例中,步骤202具体可以包括以下步骤:
69.步骤2021a,响应于当前父节点不是终点,基于神经网络分类模型,对当前父节点的下一状态进行预测,获得下一父节点。
70.其中,当前父节点的下一状态表示从当前父节点的状态下一步应该移动到的状态,也就是下一父节点对应的状态。
71.对于神经网络分类模型,可以将行驶区域中任意的e点作为表示父节点的第三训练点,将行驶区域中任意的f点作为表示终点的第四训练点,并基于第三训练点及运动学模型确定第三训练点的各扩展节点作为第二训练扩展节点,基于第三训练点、第四训练点和第二训练扩展节点形成神经网络分类模型的输入特征,并基于任意可实施的方式确定该输入特征对应的分类标签,比如基于任意的混合a*算法或其改进算法确定第二训练扩展节点行驶到第四训练点的移动代价值(g值)作为从第二训练扩展节点行驶到第四训练点的估计代价真值,将估计代价真值最小的第二训练扩展节点的类型作为该输入特征对应的分类标签,比如第三训练点有6个扩展节点1-6,分别表示左前方、正前方、右前方、左后方、正后方、右后方6种类型,其中扩展节点2(正前方)的估计代价真值最小,则分类标签为正前方对应的分类,进而可以基于输入特征和对应的分类标签训练获得神经网络分类模型。
72.本公开在路径搜索过程中,基于神经网络分类模型直接对下一父节点进行预测,实现路径的不断搜索,无需采用dubins曲线或reeds-shepp曲线,有效减少搜索时间。
73.图5是本公开另一示例性实施例提供的步骤202的流程示意图。
74.在一个可选示例中,步骤2021的响应于当前父节点不是终点,基于神经网络回归模型,确定当前父节点的扩展节点对应的综合代价值,包括:
75.步骤20211,响应于当前父节点不是终点,基于扩展节点对应的位姿特征及终点位姿特征,利用神经网络回归模型,获得扩展节点对应的估计代价值。
76.其中,扩展节点的数量可以根据实际需求设置,比如考虑到运动学模型、车辆的最大转弯半径,扩展节点可以设置为但不限于6个。对于每个扩展节点,均可以按照上述步骤来获得该扩展节点对应的估计代价值。扩展节点对应的位姿特征和终点位姿特征,是指将扩展节点对应的位姿和终点对应的位姿转换成符合神经网络回归模型输入需求的输入特征,利用神经网络回归模型对该输入特征进行处理,得到该扩展节点对应的估计代价值。
77.在实际应用中,在路径搜索过程中,还需要考虑障碍物,对于当前父节点的扩展节点,需要是从当前父节点行驶到该扩展节点以及从该扩展节点行驶到终点的过程无碰撞,对于有碰撞的扩展节点不作为行驶路径上的点。
78.步骤20212,基于估计代价值、及从起始点行驶到扩展节点的移动代价值,确定综合代价值。
79.其中,从起始点行驶到该扩展节点的移动代价值可以采用任意可实施的方式确
定,比如采用混合a*算法及其任意改进算法中g值的确定方式确定,具体不做限定。
80.本公开基于神经网络回归模型预测扩展节点对应的估计代价值,进而基于估计代价值和移动代价值确定扩展节点的综合代价值,实现在路径搜索过程中,估计代价值的确定无需采用dubins曲线或reeds-shepp曲线,有效减少搜索时间。
81.在一个可选示例中,步骤2022的基于扩展节点对应的综合代价值,确定下一父节点,包括:
82.步骤20221,响应于扩展节点已在开放列表中,基于扩展节点对应的综合代价值、扩展节点的原综合代价值,确定扩展节点的当前综合代价值。
83.其中,扩展节点的原综合代价值是在当前之前的路径搜索过程中确定的该扩展节点的综合代价值,因为可移动设备运动的连续性及前进后退等运动特征,行驶区域中的任意节点可能是一个父节点a的扩展节点,也可能是另一个父节点b的扩展节点,比如在自动泊车场景,基于运动学模型的车辆行驶路径中,以一个节点a为父节点时,其具有左前方、正前方、右前方、左后方、正后方、右后方6个扩展节点,那么随着路径的不断搜索,其中的正前方扩展节点c可能成为后续的节点b为父节点时的正后方、左后方、右后方等的扩展节点。这样,在以节点a为当前父节点时,会将该扩展节点c加入到开放列表中,到后面再以节点b为当前父节点时,其扩展节点包括了该扩展节点c,这时,扩展节点c已在开放列表中,且已经具有了对应的原综合代价值和原父节点,再以节点b为父节点确定出该扩展节点c对应的综合代价值后,基于该综合代价值与原综合代价值比较,来确定该扩展节点c的当前综合代价值,比如,若新确定的该综合代价值小于原综合代价值,则确定该扩展节点c的当前综合代价值为新确定的该综合代价值,因此需要将该扩展节点c的原综合代价值更新为新确定的综合代价值。若新确定的综合代价值大于或等于原综合代价值,则无需更新该扩展节点c的原综合代价值。由于综合代价值是基于移动代价值和估计代价值确定的,一个节点综合代价值是否变化,取决于其移动代价值是否变化,比如扩展节点c作为父节点a的扩展节点时,其移动代价值是表示从起始点经父节点a移动到扩展节点c的移动代价,同理,作为父节点b的扩展节点时,其移动代价值是表示从起始点经父节点b移动到扩展节点c的移动代价,由于移动路线不同,因此移动代价不同,而从该扩展节点移动到终点的最短路径是确定的,因此估计代价值不变,路径搜索目的是寻找最短路径,因此,需要记录搜索过程中各节点的最小综合代价值及对应的父节点,在实际应用中可以同时记录各节点的移动代价值,具体可以根据实际需求设置。
84.在一个可选示例中,响应于扩展节点已在开放列表中,还可以基于扩展节点对应的综合代价值、扩展节点的原综合代价值和原父节点,确定该扩展节点的父节点是否需要更新。扩展节点的原父节点是在当前之前的路径搜索过程中确定的该扩展节点的父节点。比如仍以上述扩展节点c为例,若新确定的该扩展节点c的综合代价值小于原综合代价值,在将该扩展节点c的原综合代价值更新为新确定的综合代价值,作为该扩展节点c的当前综合代价值的同时,相应的需要将扩展节点c的父节点更新为当前父节点,为后续行驶路径的确定提供依据,若新确定的综合代价值大于或等于原综合代价值,则无需更新该扩展节点c的原综合代价值和原父节点。
85.步骤20222,响应于扩展节点未在开放列表中,将扩展节点加入到开放列表中,将扩展节点对应的综合代价值作为扩展节点的当前综合代价值。
86.在一个可选示例中,响应于扩展节点未在开放列表中,在将扩展节点加入到开放列表中,并将扩展节点对应的综合代价值作为扩展节点的当前综合代价值的同时,还可以确定该扩展节点的父节点为当前父节点。
87.若该扩展节点未在开放列表中,表示该扩展节点不存在原综合代价值和原父节点,将该扩展节点加入到开放列表中,记录其对应的综合代价值和父节点,作为后续的行驶路径的确定依据。在搜索完成后,从终点开始,沿着各节点的父节点移动,直至起始点,确定出行驶路径。
88.步骤20223,基于开放列表中的各节点的当前综合代价值,确定下一父节点。
89.其中,开放列表中每个节点都记录有对应的综合代价值,当前记录的综合代价值作为当前综合代价值,可以将当前综合代价值最小的节点作为下一父节点。
90.在实际应用中,在搜索过程中,确定出当前父节点后,需要将当前父节点从开放列表中移除,加入到封闭列表中,封闭列表中的节点在后续搜索中不需要再考虑。
91.在一个可选示例中,图6是本公开再一示例性实施例提供的步骤202的流程示意图。在本示例中,步骤2021a的响应于当前父节点不是终点,基于神经网络分类模型,对当前父节点的下一状态进行预测,获得下一父节点,包括:
92.步骤2021a1,响应于当前父节点不是终点,基于当前父节点的位姿特征、终点位姿特征、及当前父节点的各扩展节点的位姿特征,利用神经网络分类模型,获得分类结果,分类结果包括下一父节点分别为各扩展节点对应类型的概率。
93.其中,当前父节点的位姿特征是将当前父节点的位姿信息转换成符合神经网络分类模型输入需求的特征数据,终点位姿特征、扩展节点的位姿特征同理,在此不再赘述。
94.示例性的,当前父节点具有6个扩展节点,对应6种类型,神经网络分类模型输出结果即包括预测的下一父节点分别为这6中类型的概率。
95.步骤2021a2,基于分类结果,确定下一父节点。
96.具体来说,可以设置概率阈值,将最大概率大于概率阈值的类型作为下一父节点对应的扩展节点的类型,将该类型的扩展节点作为下一父节点。
97.在一个可选示例中,图7是本公开一示例性实施例提供的神经网络回归模型的训练流程示意图。在本示例中,神经网络回归模型通过以下方式获得:
98.步骤301,确定第一训练数据,第一训练数据包括第一训练点信息、对应的第二训练点信息、及从第一训练点行驶到第二训练点的训练估计代价值标签。
99.其中,第一训练点信息可以包括第一训练点的位姿信息,第一训练点可以包括行驶区域中的至少一个点,同理,第二训练点信息可以包括第二训练点的位姿信息,第二训练点可以包括行驶区域中的至少一个点。从第一训练点行驶到第二训练点的训练估计代价值标签可以采用任意可实施的方式获得,比如可以将从第一训练点行驶到第二训练点的移动代价值作为该训练估计代价值标签,从第一训练点行驶到第二训练点的移动代价值可以采用任意可实施的方式确定,比如采用任意的混合a*算法或其改进算法,具体可以根据实际需求设置。
100.步骤302,基于第一训练点信息、第二训练点信息及训练估计代价值标签,对预先建立的神经网络回归网络进行训练,获得神经网络回归模型。
101.其中,神经网络回归网络可以采用任意可实施的网络结构,具体可以根据实际需
求设置,比如采用全连接神经网络,具体网络结构不做限定。在训练时,可以将第一训练点信息和第二训练点信息转换为符合神经网络回归模型输入需求的第一训练输入特征,将第一训练输入特征作为神经网络回归网络的输入,获得第一训练输出结果,第一训练输出结果包括预测的训练估计代价值,将该训练估计代价值与对应的训练估计代价值标签对比,采用第一损失函数计算第一损失,进而基于第一损失调整网络参数,基于调整后的网络参数继续进行训练,直至损失收敛,获得神经网络回归模型。第一损失函数可以根据实际需求采用任意可实施的损失函数,比如采用l2损失函数。
102.在训练过程中,第一训练点对应实际搜索过程中的当前父节点的扩展节点,第二训练点对应实际搜索过程中的终点,因此,训练获得的模型,在实际搜索过程中,可以基于扩展节点对应的位姿特征和终点位姿特征预测出扩展节点对应的估计代价值。
103.本公开通过预先训练获得神经网络回归模型,使得在路径规划的路径搜索过程中,可以基于该神经网络回归模型快速确定出扩展节点的估计代价值,而无需采用dubins曲线或reeds-shepp曲线,有效减少搜索时间。
104.在一个可选示例中,图8是本公开一示例性实施例提供的步骤301的流程示意图。在本示例中,步骤301的确定第一训练数据,包括:
105.步骤3011,确定第一训练起点数据及对应的第一训练终点数据。
106.其中,第一训练起点数据和第一训练终点数据,可以是将行驶区域中任意的两点分别作为起始点和终点获得的训练起点位姿和训练终点位姿,比如,在自动泊车场景,可以将泊车区域作为行驶区域,采集第一训练起点数据及对应的第一训练终点数据。具体采集方式不做限定。
107.步骤3012,基于第一训练起点数据、第一训练终点数据、及第一预设搜索算法,确定搜索过程中的各第一训练扩展节点行驶到第一训练终点分别对应的第一训练移动代价值。
108.其中,第一预设搜索算法可以为任意可实施的搜索算法,比如混合a*算法及其任意改进算法,具体可以根据实际需求设置。第一训练扩展节点是在搜索过程中,每个搜索步骤下的父节点的扩展节点。也即,以第一训练起点作为起点,以第一训练终点作为终点,采用第一预设搜索算法,执行搜索过程,来确定各第一训练扩展节点移动到终点的移动代价值。
109.示例性的,图9是本公开一示例性实施例提供的基于混合a*算法确定移动代价值的流程示意图。本示例中,在混合a*算法的搜索过程中,将估计代价值h设置为0,完成搜索后,可以获得搜索过程中任意节点到终点的移动代价值,从而可以作为各节点到终点的估计代价值标签,用于神经网络回归模型的训练。
110.步骤3013,将第一训练扩展节点作为第一训练点,将第一训练终点作为第二训练点,将第一训练移动代价值作为从第一训练点行驶到第二训练点的训练估计代价值标签,获得第一训练数据。
111.本公开通过如混合a*算法的第一预设搜索算法实现训练估计代价值标签的确定,由于移动代价值是移动过程的精准代价,因此将其作为训练估计代价值标签,用于监督神经网络回归模型的训练,有效保证了神经网络回归模型的预测准确性,从而在提高搜索速度的同时,提高准确性。
112.在一个可选示例中,图10是本公开一示例性实施例提供的神经网络分类模型的训练流程示意图。在本示例中,神经网络分类模型通过以下方式获得:
113.步骤401,确定第二训练数据,第二训练数据包括第三训练点信息、对应的第四训练点信息、第三训练点信息对应的第二训练扩展节点信息、及对应的类型标签。
114.其中,第三训练点信息可以包括第三训练点的位姿信息,第四训练点信息可以包括第四训练点的位姿信息,第三训练点信息对应的第二训练扩展节点信息包括第三训练点的各扩展节点的位姿信息。类型标签是在第三训练点状态下,下一状态应该是各第二训练扩展节点中哪一个节点的类型。类型的表示方式可以根据实际需求设置,比如包括左前方、正前方、右前方、左后方、正后方、右后方6种类型,可以表示为编号1-6或其他符号等,标签则可以“0”、“1”表示。
115.步骤402,基于第二训练数据,对预先建立的神经网络分类网络进行训练,获得神经网络分类模型。
116.其中,神经网络分类网络可以采用任意可实施的分类网络,比如可以采用全连接神经网络,具体网络结构不做限定。在训练时,将第二训练数据中的第三训练点信息、第四训练点信息和第二训练扩展节点信息转换成符合神经网络分类模型输入需求的第二训练输入特征,经神经网络分类网络处理,得到对应的第二训练输出结果,第二训练输出结果包括预测的第三训练点的下一状态属于各类型的概率,基于各概率、对应的类型标签及第二损失函数,确定第二损失,基于第二损失调整网络参数,直至损失收敛,获得神经网络分类模型。第二损失函数可以根据实际需求采用任意可实施的损失函数,比如采用交叉熵损失函数,具体不做限定。
117.本示例在神经网络分类模型训练过程中,第三训练点对应实际搜索过程中的当前父节点,第四训练点对应实际搜索过程中的终点,第二训练扩展节点对应实际搜索过程中当前父节点的扩展节点,因此训练获得的神经网络分类模型,在实际搜索过程中,可以基于当前父节点的位姿特征、终点位姿特征、及当前父节点的各扩展节点的位姿特征,预测出下一父节点的类型,从而可以确定出下一父节点。
118.在一个可选示例中,图11是本公开一示例性实施例提供的步骤401的流程示意图。在本示例中,步骤401的确定第二训练数据,包括:
119.步骤4011,确定第二训练起点数据及对应的第二训练终点数据。
120.步骤4012,基于第二训练起点数据、第二训练终点数据、及第二预设搜索算法,确定搜索过程中各第一父节点的各第三训练扩展节点行驶到第二训练终点分别对应的第二训练移动代价值。
121.步骤4011和4022的具体操作与3011和3012类似,在此不再赘述。
122.步骤4013,将各第一父节点作为第三训练点,将第二训练终点作为第四训练点,将第一父节点的第二训练移动代价值最小的第三训练扩展节点的类型作为第三训练点对应的类型标签,将第一父节点的各第三训练扩展节点作为第三训练点的第二训练扩展节点,获得第二训练数据。
123.本公开在神经网络分类模型的训练过程中,将各第三训练扩展节点行驶到第二训练终点分别对应的第二训练移动代价值作为估计代价值真值,用于下一状态类型的确定,在提高搜索速度减少搜索时间的情况下,还提高了预测准确性。
124.图12是本公开再一示例性实施例提供的行驶路径的确定方法的流程示意图。
125.在一个可选示例中,在确定当前父节点之前,本公开的方法还包括:
126.步骤201a,确定泊车类型。
127.其中,泊车类型可以根据实际需求设置,比如泊车类型包括倒车入库、斜方停车、侧方停车等类型。具体不做限定。对于不同泊车类型,可以分别训练对应的神经网络回归模型或神经网络分类模型。
128.泊车类型的确定可以基于车辆上的传感器识别,也可以是基于车辆与泊车区域的电子设备通信确定,具体确定方式不做限定。
129.在实际应用中,也可以是针对多种泊车类型,综合训练一个神经网络回归模型或一个神经网络分类模型,具体可以根据实际需求设置。
130.相应的,步骤202的响应于当前父节点不是终点,基于预先训练获得的神经网络回归模型或神经网络分类模型,确定下一父节点,包括:
131.步骤202a,响应于当前父节点不是终点,基于泊车类型对应的神经网络回归模型或神经网络分类模型,确定下一父节点。
132.由于不同泊车类型分别对应有各自的神经网络回归模型或神经网络分类模型,因此,在搜索过程中,需要根据泊车类型,选择对应的神经网络回归模型或神经网络分类模型,用于确定下一父节点。具体确定下一父节点的过程参见前述内容,在此不再赘述。
133.在一个可选示例中,步骤203的基于下一父节点,确定可移动设备从起始点到终点的行驶路径,包括:
134.步骤2031,将下一父节点作为当前父节点,执行响应于当前父节点不是终点,基于预先训练获得的神经网络回归模型或神经网络分类模型,确定下一父节点的步骤,以此类推,直至当前父节点是终点,获得可移动设备从起始点到终点的行驶路径。
135.示例性的,图13是本公开又一示例性实施例提供的行驶路径的确定方法的流程示意图。当搜索完成后,可以从终点沿各节点的父节点指向即可确定出从起始点到终点的行驶路径。
136.本公开实施例提供的任一种行驶路径的确定方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种行驶路径的确定方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种行驶路径的确定方法。下文不再赘述。
137.示例性装置
138.图14是本公开一示例性实施例提供的行驶路径的确定装置的结构示意图。该实施例的装置可用于实现本公开相应的方法实施例,如图14所示的装置包括:第一确定模块501、第一处理模块502和第二处理模块503。
139.第一确定模块501,用于确定当前父节点;第一处理模块502,用于响应于第一确定模块501确定的当前父节点不是终点,基于预先训练获得的神经网络回归模型和/或神经网络分类模型,确定下一父节点;第二处理模块503,用于基于第一处理模块502确定的下一父节点,确定可移动设备从起始点到终点的行驶路径。
140.在一个可选示例中,图15是本公开一示例性实施例提供的第一处理模块502的结构示意图。本示例中,第一处理模块502包括:第一处理单元5021和第二处理单元5022。
141.第一处理单元5021,用于基于神经网络回归模型,确定当前父节点的扩展节点对应的综合代价值;第二处理单元5022,用于基于第一处理单元5021确定的扩展节点对应的综合代价值,确定下一父节点。
142.在一个可选示例中,图16是本公开另一示例性实施例提供的行驶路径的确定装置的结构示意图。在本示例中,第一处理模块502包括:第三处理单元5023,用于基于神经网络分类模型,对当前父节点的下一状态进行预测,获得下一父节点。
143.在一个可选示例中,第一处理模块502还可以既包括上述第一处理单元5021和第二处理单元5022,又包括上述第三处理单元5023,具体可以根据实际需求设置。
144.图17是本公开另一示例性实施例提供的第一处理模块502的结构示意图。
145.在一个可选示例中,第一处理单元5021包括:第一处理子单元50211和第二处理子单元50212。
146.第一处理子单元50211,用于基于扩展节点对应的位姿特征及终点位姿特征,利用神经网络回归模型,获得扩展节点对应的估计代价值;第二处理子单元50212,用于基于第一处理子单元50211获得的估计代价值、及从起始点行驶到扩展节点的移动代价值,确定综合代价值。
147.在一个可选示例中,第二处理单元5022包括:第一确定子单元50221、第二确定子单元50222、第三确定子单元50223,用于基于开放列表中的各节点的当前综合代价值,确定下一父节点。
148.第一确定子单元50221,用于响应于扩展节点已在开放列表中,基于扩展节点对应的综合代价值、扩展节点的原综合代价值,确定扩展节点的当前综合代价值;第二确定子单元50222,用于响应于扩展节点未在开放列表中,将扩展节点加入到开放列表中,将扩展节点对应的综合代价值作为扩展节点的当前综合代价值;第三确定子单元50223,用于基于开放列表中的各节点的当前综合代价值,确定下一父节点。
149.在一个可选示例中,图18是本公开再一示例性实施例提供的第三处理单元5023的结构示意图。本示例中,第三处理单元5023包括:第三处理子单元50231和第四处理子单元50232。
150.第三处理子单元50231,用于基于当前父节点的位姿特征、终点位姿特征、及当前父节点的各扩展节点的位姿特征,利用神经网络分类模型,获得分类结果,分类结果包括下一父节点分别为各扩展节点对应类型的概率;第四处理子单元50232,用于基于第三处理子单元50231获得的分类结果,确定下一父节点。
151.在一个可选示例中,神经网络回归模型通过以下方式获得:确定第一训练数据,第一训练数据包括第一训练点信息、对应的第二训练点信息、及从第一训练点行驶到第二训练点的训练估计代价值标签;基于第一训练点信息、第二训练点信息及训练估计代价值标签,对预先建立的神经网络回归网络进行训练,获得神经网络回归模型。
152.在一个可选示例中,本公开的装置还可以包括第一训练模块,用于训练获得神经网络回归模型。其中,第一训练模块还可以根据实际需求进行单元划分,具体不做限定。
153.在一个可选示例中,第一训练数据通过以下方式确定:确定第一训练起点数据及对应的第一训练终点数据;基于第一训练起点数据、第一训练终点数据、及第一预设搜索算法,确定搜索过程中的各第一训练扩展节点行驶到第一训练终点分别对应的第一训练移动
代价值;将第一训练扩展节点作为第一训练点;将第一训练终点作为第二训练点;将第一训练移动代价值作为从第一训练点行驶到第二训练点的训练估计代价值标签,获得第一训练数据。
154.在一个可选示例中,神经网络分类模型通过以下方式获得:确定第二训练数据,第二训练数据包括第三训练点信息、对应的第四训练点信息、第三训练点信息对应的第二训练扩展节点信息、及对应的类型标签;基于第二训练数据,对预先建立的神经网络分类网络进行训练,获得神经网络分类模型。
155.在一个可选示例中,本公开的装置还可以包括第二训练模块,用于训练获得神经网络分类模型。第二训练模块还可以根据实际需求进行单元划分,具体不做限定。
156.在一个可选示例中,第二训练数据通过以下方式确定:确定第二训练起点数据及对应的第二训练终点数据;基于第二训练起点数据、第二训练终点数据、及第二预设搜索算法,确定搜索过程中各第一父节点的各第三训练扩展节点行驶到第二训练终点分别对应的第二训练移动代价值;将各第一父节点作为第三训练点;将第二训练终点作为第四训练点;将第一父节点的第二训练移动代价值最小的第三训练扩展节点的类型作为第三训练点对应的类型标签;将第一父节点的各第三训练扩展节点作为第三训练点的第二训练扩展节点,获得第二训练数据。
157.图19是本公开再一示例性实施例提供的行驶路径的确定装置的结构示意图。
158.在一个可选示例中,本公开的装置还包括:第二确定模块601。
159.第二确定模块601,用于确定泊车类型;相应的,第一处理模块502具体用于基于泊车类型对应的神经网络回归模型或神经网络分类模型,确定下一父节点。
160.在一个可选示例中,第二处理模块503包括:
161.第五处理单元5031,用于将下一父节点作为当前父节点,发送给第一处理模块502,以使第一处理模块执行响应于当前父节点不是终点,基于预先训练获得的神经网络回归模型或神经网络分类模型,确定下一父节点的步骤,以此类推,直至当前父节点是终点,获得可移动设备从起始点到终点的行驶路径。
162.示例性电子设备
163.本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;
164.处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的行驶路径的确定方法。
165.图20是本公开电子设备一个应用实施例的结构示意图。本实施例中,该电子设备10包括一个或多个处理器11和存储器12。
166.处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
167.存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本公开的各个实施例的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以
存储诸如输入信号、信号分量、噪声分量等各种内容。
168.在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
169.例如,该输入装置13可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。
170.此外,该输入装置13还可以包括例如键盘、鼠标等等。
171.该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
172.当然,为了简化,图20中仅示出了该电子设备10中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
173.示例性计算机程序产品和计算机可读存储介质
174.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
175.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
176.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
177.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
178.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
179.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
180.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
181.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
182.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
183.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
184.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1