一种基于CUDA的静态障碍物的处理方法及处理系统与流程
未命名
09-15
阅读:104
评论:0

一种基于cuda的静态障碍物的处理方法及处理系统
技术领域
1.本发明涉及自动驾驶技术领域,特别是涉及一种基于cuda的静态障碍物的处理方法及处理系统。
背景技术:
2.目前应用在自动泊车领域的静态障碍物融合方案绝大多数是基于网格的方法进行的,即通过不同帧之间哪些网格被占据来进行静态障碍物融合。因此,网格的划分粒度决定了其融合的质量和障碍物边界刻画精度,越小的网格划分意味着越高的精度,但是也会占用很多的计算时间,导致不能实时处理数据。为了确保自动泊车过程中静态障碍物融合更加平滑,工程实践中一般通过设置合适的网格粒度,例如0.2x0.2m,来权衡计算资源,以解决计算速度和融合精度之间的矛盾,但是这种方法也会导致计算速度不快以及精度较低的问题出现。
技术实现要素:
3.本发明第一方面的一个目的是要提供一种基于cuda的静态障碍物的处理方法,解决现有技术中对静态障碍物的预测和融合速度和精度较低的技术问题。
4.本发明第一方面的另一个目的是要提高静态障碍物定位的准确度。
5.本发明第二方面的目的是要提供一种基于cuda的静态障碍物的处理系统。
6.根据本发明第一方面的目的,本发明提供了一种基于cuda的静态障碍物的处理方法,应用于gpu端,所述处理方法包括以下步骤:
7.获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,并接收由cpu获取的当前帧的自车的位置信息;
8.调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的静态障碍物的融合数据信息和所述当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;
9.接收由所述cpu获取的当前帧的静态障碍物的实际数据信息;
10.利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息;
11.将所述当前帧的静态障碍物的融合数据信息传输至所述cpu。
12.可选地,利用所述cuda核函数根据所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息的步骤,之后还包括以下步骤:
13.对所述当前帧的静态障碍物的融合数据信息进行归一化处理,得到处理后的当前帧的静态障碍物的融合数据信息;
14.将处理后的当前帧的静态障碍物的融合数据信息传输至所述cpu。
15.可选地,调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的
静态障碍物的融合数据信息和所述当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息的步骤,具体包括以下步骤:
16.将当前帧的自车的位置映射到网格地图上,所述上一帧的静态障碍物的融合数据信息包括上一帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据,上一帧的自车位于所述网格地图的中心位置处,所述网格地图由多个呈阵列式布置的线程块组成,每个所述线程块由多个线程组成;
17.移动所述网格地图,以使得所述网格地图的中心位置位于所述当前帧的自车的位置处,此时上一帧的静态障碍物融合后的多边形图案在移动后的所述网格地图上的位置数据即为当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据,所述当前帧的静态障碍物的预测数据信息包括当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据。
18.可选地,利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息的步骤,具体包括以下步骤:
19.将所述当前帧的静态障碍物实际的多边形图案映射到所述移动后的网格地图上,以得到当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据,所述当前帧的静态障碍物的实际数据信息包括当前帧的静态障碍物实际的多边形图案;
20.将所述当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据和所述当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据,所述当前帧的静态障碍物的融合数据信息包括当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据。
21.可选地,所述cuda核函数在所述gpu上执行时同时启动所有所述线程块,每个所述线程执行对应的所述线程块内的所述静态障碍物的预测和融合。
22.可选地,将所述当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据和所述当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据的步骤,具体包括以下步骤:
23.计算所述当前帧的静态障碍物预测的多边形图案在所述网格地图中每个所述线程块的第一概率,所述第一概率表示该线程块是否被所述当前帧的静态障碍物预测的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;
24.计算所述当前帧的静态障碍物实际的多边形图案在所述网格地图中每个所述线程块的第二概率,所述第二概率表示该线程块是否被所述当前帧的静态障碍物实际的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;
25.根据所述第一概率和所述第二概率计算每个所述线程块融合后的初始融合概率。
26.可选地,对所述当前帧的静态障碍物的融合数据信息进行归一化处理,得到处理后的当前帧的静态障碍物的融合数据信息的步骤,具体包括以下步骤:
27.对每个所述线程块融合后的所述初始融合概率进行归一化处理,以得到每个所述线程块处理后的最终融合概率。
28.可选地,根据公式(1)和公式(2)分别计算每个所述线程块的第一概率p1和第二概率p2:
29.p1=[c0,c1,c2,c3,
…
,c
n-1
]
t
,(1);
[0030]
p2=[m0,m1,m2,m3,
…
,m
n-1
]
t
(2);
[0031]
其中,c0,c1,c2,c3,
…
,c
n-1
分别表示所述当前帧的静态障碍物预测的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,m0,m1,m2,m3,
…
,m
n-1
分别表示当前帧的静态障碍物实际的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,n表示静态障碍物的所有障碍物类型的数量。
[0032]
可选地,根据公式(3)计算每个所述线程块的所述初始融合概率p
fused
:
[0033]
p
fused
=[m0*c0,m1*c1,m2*c2,m3*c3,
…
,m
n-1
*c
n-1
]
t
(3)。
[0034]
根据本发明第二方面的目的,本发明还提供了一种应用于上述的基于cuda的静态障碍物的处理方法的处理系统,包括:
[0035]
cpu,配置成获取当前帧的自车的位置信息和当前帧的静态障碍物的实际数据信息;
[0036]
gpu,与所述cpu连接,具有预先编写的cuda核函数,所述gpu配置成获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,然后调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的静态障碍物的融合数据信息和所述当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;之后利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息。
[0037]
本发明需要调用预先编写的cuda核函数,以利用cuda核函数根据上一帧的静态障碍物的融合数据信息和当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息,并且利用cuda核函数将当前帧的静态障碍物的预测数据信息和当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息,从而利用cuda核函数在gpu上对静态障碍物的预测和融合进行并行化计算,与现有技术中cpu需要一个个循环计算的技术方案相比,大大提升了计算速度,缩短了静态障碍物的预测和融合的计算时间,保障了算法的实时性和计算精度。
[0038]
进一步地,本发明将当前帧的静态障碍物实际的多边形图案在网格地图上的位置数据和当前帧的静态障碍物预测的多边形图案在网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在网格地图上的位置数据,从而提高了静态障碍物定位的准确度。
[0039]
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
[0040]
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0041]
图1是根据本发明一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图;
[0042]
图2是根据本发明另一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图;
[0043]
图3是根据本发明一个实施例网格地图移动前和移动后的示意图;
[0044]
图4是根据本发明又一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图;
[0045]
图5是根据本发明一个实施例的基于cuda的静态障碍物的处理系统的示意性连接框图;
[0046]
图6是根据本发明另一个实施例的基于cuda的静态障碍物的处理系统的示意性连接框图。
[0047]
附图标记:
[0048]
100-处理系统,10-cpu,20-gpu,21-网格地图预测单元,22-网格地图融合单元,23-网格地图预测存储单元,24-网格地图融合存储单元。
具体实施方式
[0049]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0050]
图1是根据本发明一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图。如图1所示,在该实施例中,基于cuda的静态障碍物的处理方法应用于gpu端,处理方法包括以下步骤:
[0051]
步骤s100,获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,并接收由cpu获取的当前帧的自车的位置信息;
[0052]
步骤s200,调用预先编写的cuda核函数,以利用cuda核函数根据上一帧的静态障碍物的融合数据信息和当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;
[0053]
步骤s300,接收由cpu获取的当前帧的静态障碍物的实际数据信息;
[0054]
步骤s400,利用cuda核函数将当前帧的静态障碍物的预测数据信息和当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息;
[0055]
步骤s500,将当前帧的静态障碍物的融合数据信息传输至cpu。
[0056]
该实施例利用cuda核函数在gpu上对静态障碍物的预测和融合进行并行化计算,与现有技术中cpu需要一个个循环计算的技术方案相比,大大提升了计算速度,缩短了静态障碍物的预测和融合的计算时间,保障了算法的实时性和计算精度。
[0057]
随着近几年异构域控平台的发展,很多cpu和gpu相互集成的域控平台也越来越多在量产车型中得到应用,而基于网格的静态障碍物融合本质上是非常适用于异构域控平台进行加速优化的,这样一来可以充分发挥gpu强大的并行处理能力,使得基于网格的障碍物融合过程更加快速,保障输出频率的同时可以尽可能设置更小粒度的网格,使得融合精度大幅度提高。
[0058]
图2是根据本发明另一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图。如图2所示,在该实施例中,步骤s400之后还包括以下步骤:
[0059]
步骤s430,对当前帧的静态障碍物的融合数据信息进行归一化处理,得到处理后的当前帧的静态障碍物的融合数据信息;
[0060]
步骤s500’,将处理后的当前帧的静态障碍物的融合数据信息传输至cpu。
[0061]
图3是根据本发明一个实施例网格地图移动前和移动后的示意图,如图3所示,并参见图2,在该实施例中,步骤s200具体包括以下步骤:
[0062]
步骤s210,将当前帧的自车的位置映射到网格地图(grid map)上,上一帧的静态障碍物的融合数据信息包括上一帧的静态障碍物融合后的多边形图案在网格地图上的位置数据,上一帧的自车位于网格地图的中心位置处,网格地图由多个呈阵列式布置的线程块组成,每个线程块由多个线程组成;
[0063]
步骤s220,移动网格地图,以使得网格地图的中心位置位于当前帧的自车的位置处,此时上一帧的静态障碍物融合后的多边形图案在移动后的网格地图上的位置数据即为当前帧的静态障碍物预测的多边形图案在网格地图上的位置数据,当前帧的静态障碍物的预测数据信息包括当前帧的静态障碍物预测的多边形图案在网格地图上的位置数据。
[0064]
在步骤s100之前,需要对网格地图进行初始化。
[0065]
在泊车过程中,由于需要关注的区域仅仅为自车前后左右一定范围内的静态障碍物,上一帧融合之后的静态障碍物在当前帧的位置相对于自车的位置会发生变化,这个变化的建模过程我们称之为对静态障碍物在当前帧的位置进行预测,预测之后会根据当前帧的静态障碍物的实际位置与预测位置进行融合。由于预测和融合这两个过程都是针对非规则的物体进行的,所以一般做法都是针对感兴趣区域划分出来的每一个网格做预测和融合操作。
[0066]
在现有技术中,在网格地图上对静态障碍物的预测和融合一般是基于cpu进行计算的,网格地图上每个网格都是按顺序进行计算预测后的坐标的,即如果网格的数量是百万级别的,例如网格地图的分辨率为1280x1280,融合过程也是同样的原理,需要对每个网格进行障碍物类别的概率分布进行融合,都需要cpu对每个网格进行遍历计算,cpu对其进行遍历操作会非常耗时和不经济。该实施例基于此,对静态障碍物的预测算法和融合算法进行并行化计算,并采用gpu并行编程实现,显著地加速了预测和融合的过程,保障了算法的实时性和高精度。
[0067]
该实施例旨在加速静态障碍物的预测和融合过程,充分利用异构的嵌入式资源实现cpu和gpu共同协作的计算加速。该实施例的静态障碍物在网格地图的预测和融合过程伪代码的最外侧是两层for循环,时间复杂度为0(n2),该实施例利用cuda的gpu并行编程技术对静态障碍物的预测和融合过程进行加速计算,实现低时间开销的高性能计算,相对于纯cpu计算,加速比大于30倍,这使得自动泊车时可以将网格设置地更小,从而获得更高的融合精度。
[0068]
在该实施例中,步骤s400具体包括以下步骤:
[0069]
步骤s410,将当前帧的静态障碍物实际的多边形图案映射到移动后的网格地图上,以得到当前帧的静态障碍物实际的多边形图案在网格地图上的位置数据,当前帧的静态障碍物的实际数据信息包括当前帧的静态障碍物实际的多边形图案;
[0070]
步骤s420,将当前帧的静态障碍物实际的多边形图案在网格地图上的位置数据和当前帧的静态障碍物预测的多边形图案在网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在网格地图上的位置数据,当前帧的静态障碍物的融合数据信息包括当前帧的静态障碍物融合后的多边形图案在网格地图上的位置数据,从而提高了静态障碍物定位的准确度。
[0071]
在该实施例中,cuda核函数在gpu上执行时同时启动所有线程块,每个线程执行对应的线程块内的静态障碍物的预测和融合。
[0072]
图4是根据本发明又一个实施例的基于cuda的静态障碍物的处理方法的示意性流程图。如图4所示,在该实施例中,步骤s420具体包括以下步骤:
[0073]
步骤s421,计算当前帧的静态障碍物预测的多边形图案在网格地图中每个线程块的第一概率,第一概率表示该线程块是否被当前帧的静态障碍物预测的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;
[0074]
步骤s422,计算当前帧的静态障碍物实际的多边形图案在网格地图中每个线程块的第二概率,第二概率表示该线程块是否被当前帧的静态障碍物实际的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;
[0075]
步骤s423,根据第一概率和第二概率计算每个线程块融合后的初始融合概率。这里,步骤s421和步骤s422之间没有先后顺序关系。
[0076]
在该实施例中,步骤s430具体包括以下步骤:
[0077]
步骤s430’,对每个线程块融合后的初始融合概率进行归一化处理,以得到每个线程块处理后的最终融合概率。
[0078]
在该实施例中,根据公式(1)和公式(2)分别计算每个线程块的第一概率p1和第二概率p2:
[0079]
p1=[c0,c1,c2,c3,
…
,c
n-1
]
t
,(1);
[0080]
p2=[m0,m1,m2,m3,
…
,m
n-1
]
t
(2);
[0081]
其中,c0,c1,c2,c3,
…
,c
n-1
分别表示当前帧的静态障碍物预测的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,m0,m1,m2,m3,
…
,m
n-1
分别表示当前帧的静态障碍物实际的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,n表示静态障碍物的所有障碍物类型的数量。这里,各个障碍物类型包括汽车、行车、墙柱和空白区域等类别,c0+c1+c2+c3+
…
+c
n-1
=1,m0+m1+m2+m3+
…
+m
n-1
=1。
[0082]
在该实施例中,根据公式(3)计算每个线程块的初始融合概率p
fused
:
[0083]
p
fused
=[m0*c0,m1*c1,m2*c2,m3*c3,
…
,m
n-1
*c
n-1
]
t
(3)。
[0084]
在该实施例中,根据公式(4)计算每个线程块的最终融合概率p
fused-norm
:
[0085][0086]
p
fused-norm
便是每个线程块是否被当前帧的静态障碍物融合后的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值。
[0087]
图5是根据本发明一个实施例的基于cuda的静态障碍物的处理系统100的示意性连接框图。如图5所示,用于上述的基于cuda的静态障碍物的处理方法的处理系统100包括cpu10和gpu20,其中,cpu10配置成获取当前帧的自车的位置信息和当前帧的静态障碍物的
实际数据信息。gpu20与cpu10连接,具有预先编写的cuda核函数,gpu20配置成获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,然后调用预先编写的cuda核函数,以利用cuda核函数根据上一帧的静态障碍物的融合数据信息和当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;之后利用cuda核函数将当前帧的静态障碍物的预测数据信息和当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息。
[0088]
图6是根据本发明另一个实施例的基于cuda的静态障碍物的处理系统100的示意性连接框图。如图6所示,gpu20包括网格地图预测单元21、网格地图融合单元22、网格地图预测存储单元23和网格地图融合存储单元24。网格地图预测存储单元23对预测后的网格地图进行存储,网格地图融合存储单元24对融合后的网格地图进行存储,预测后的网络地图具有静态障碍物的预测数据信息,融合后的网络地图具有静态障碍物的融合数据信息。
[0089]
关于网络地图的预测和融合的并行计算逻辑,首先由于网格地图是一个二维的区域,其对应着以自车为中心的前后左右某块矩形区域,在该区域中以某一个分辨率如0.08mx0.08m划分网格,每个网格的占据情况或者坐标变换计算逻辑本质上都是不互相依赖的,完全可以并行化计算。在传统的cpu10计算逻辑中往往是一个个循环计算,但是借助于gpu20设备,可以将其划分为多个线程块(block),block是gpu20编程中的一个概念,每个block具有若干个线程(thread),thread是gpu20编程中比block概念更小的一个计算资源粒度,每个线程负责对应的一个网格的预测或者融合计算即可。这样依赖gpu20程序被触发运行时,所有的线程被同时触发运行,从而实现并行计算的目的,大大提升了计算速度,缩短了预测和融合的时间开销。关于grid map的预测过程,参见图3。如在上一帧,自车的y轴方向有一个黑色的网格被障碍物占据,但是随着自车的运动,在当前帧,该障碍物虽然没有发生任何运动,但是其在grid map的位置却发生了变化,其相对于自车的位置变成了大约在自车的10点钟方向。该网格相当于从grid map中的某一个位置变换到另一个位置了,这便是grid map预测需要完成的事情。
[0090]
在该实施例中,cpu10将不规则静态障碍物的多边形图案传递至gpu20,在gpu20端进行融合操作,融合操作时将每个网格内的静态障碍物的预测值根据实际值进行更新迭代。在gpu20端会预先分配好两块存储空间,即网格地图预测存储单元23和网格地图融合存储单元24,分别存储预测后的grid map以及融合后的grid map。每次静态障碍物实际的多边形图案送进gpu20端进行融合之后会把融合之后的结果更新到网格地图融合存储单元24中,然后随着自车运动到下一个时间刻,对应的障碍物位置,即grid map刻画的网格占据情况,会相应的发生变化,其主要原因是自车在当前时刻到下一时刻之间发生了运动,对应的障碍物是基于自车后轴中心坐标系的,故而上一帧融合之后的障碍物在下一帧也会发生相应的唯一变化,该位移变化等于自车在这两个时刻里发生的位移。为了将这一变化体现到grid map中,网格地图预测单元21会采用gpu20并行计算的方式对每个网格进行坐标变换计算操作,然后将计算计过的存储到网格地图预测存储单元23中,就这样反复的乒乓操作,使得grid map预测和融合有序高效的进行。最后在cpu10端请求最新的融合过后的grid map,网格地图融合存储单元24中的数据会从gpu20端被拷贝至cpu10这一侧供使用。
[0091]
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接
确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
技术特征:
1.一种基于cuda的静态障碍物的处理方法,其特征在于,应用于gpu端,所述处理方法包括以下步骤:获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,并接收由cpu获取的当前帧的自车的位置信息;调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的静态障碍物的融合数据信息和所述当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;接收由所述cpu获取的当前帧的静态障碍物的实际数据信息;利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息;将所述当前帧的静态障碍物的融合数据信息传输至所述cpu。2.根据权利要求1所述的处理方法,其特征在于,利用所述cuda核函数根据所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息的步骤,之后还包括以下步骤:对所述当前帧的静态障碍物的融合数据信息进行归一化处理,得到处理后的当前帧的静态障碍物的融合数据信息;将处理后的当前帧的静态障碍物的融合数据信息传输至所述cpu。3.根据权利要求2所述的处理方法,其特征在于,调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的静态障碍物的融合数据信息和所述当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息的步骤,具体包括以下步骤:将当前帧的自车的位置映射到网格地图上,所述上一帧的静态障碍物的融合数据信息包括上一帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据,上一帧的自车位于所述网格地图的中心位置处,所述网格地图由多个呈阵列式布置的线程块组成,每个所述线程块由多个线程组成;移动所述网格地图,以使得所述网格地图的中心位置位于所述当前帧的自车的位置处,此时上一帧的静态障碍物融合后的多边形图案在移动后的所述网格地图上的位置数据即为当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据,所述当前帧的静态障碍物的预测数据信息包括当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据。4.根据权利要求3所述的处理方法,其特征在于,利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息的步骤,具体包括以下步骤:将所述当前帧的静态障碍物实际的多边形图案映射到所述移动后的网格地图上,以得到当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据,所述当前帧的静态障碍物的实际数据信息包括当前帧的静态障碍物实际的多边形图案;将所述当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据和所述当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据,所述当前帧的静态
障碍物的融合数据信息包括当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据。5.根据权利要求3-4中任一项所述的处理方法,其特征在于,所述cuda核函数在所述gpu上执行时同时启动所有所述线程块,每个所述线程执行对应的所述线程块内的所述静态障碍物的预测和融合。6.根据权利要求4所述的处理方法,其特征在于,将所述当前帧的静态障碍物实际的多边形图案在所述网格地图上的位置数据和所述当前帧的静态障碍物预测的多边形图案在所述网格地图上的位置数据进行融合,以得到当前帧的静态障碍物融合后的多边形图案在所述网格地图上的位置数据的步骤,具体包括以下步骤:计算所述当前帧的静态障碍物预测的多边形图案在所述网格地图中每个所述线程块的第一概率,所述第一概率表示该线程块是否被所述当前帧的静态障碍物预测的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;计算所述当前帧的静态障碍物实际的多边形图案在所述网格地图中每个所述线程块的第二概率,所述第二概率表示该线程块是否被所述当前帧的静态障碍物实际的多边形图案占用以及被占用的静态障碍物的各个障碍物类型的概率值;根据所述第一概率和所述第二概率计算每个所述线程块融合后的初始融合概率。7.根据权利要求6所述的处理方法,其特征在于,对所述当前帧的静态障碍物的融合数据信息进行归一化处理,得到处理后的当前帧的静态障碍物的融合数据信息的步骤,具体包括以下步骤:对每个所述线程块融合后的所述初始融合概率进行归一化处理,以得到每个所述线程块处理后的最终融合概率。8.根据权利要求7所述的处理方法,其特征在于,根据公式(1)和公式(2)分别计算每个所述线程块的第一概率p1和第二概率p2:p1=[c0,c1,c2,c3,
…
,c
n-1
]
t
,(1);p2=[m0,m1,m2,m3,
…
,m
n-1
]
t
(2);其中,c0,c1,c2,c3,
…
,c
n-1
分别表示所述当前帧的静态障碍物预测的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,m0,m1,m2,m3,
…
,m
n-1
分别表示当前帧的静态障碍物实际的多边形图案中各个障碍物类型在该线程块内所占的比例,且所有障碍物类型在该线程块内所占的比例之和为1,n表示静态障碍物的所有障碍物类型的数量。9.根据权利要求8所述的处理方法,其特征在于,根据公式(3)计算每个所述线程块的所述初始融合概率p
fused
:p
fused
=[m0*c0,m1*c1,m2*c2,m3*c3,
…
,m
n-1
*c
n-1
]
t
(3)。10.一种应用于权利要求1-9中任一项所述的基于cuda的静态障碍物的处理方法的处理系统,其特征在于,包括:cpu,配置成获取当前帧的自车的位置信息和当前帧的静态障碍物的实际数据信息;gpu,与所述cpu连接,具有预先编写的cuda核函数,所述gpu配置成获取上一帧的位于自车所处环境中静态障碍物的融合数据信息,然后调用预先编写的cuda核函数,以利用所述cuda核函数根据所述上一帧的静态障碍物的融合数据信息和所述当前帧的自车的位置
信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息;之后利用所述cuda核函数将所述当前帧的静态障碍物的预测数据信息和所述当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息。
技术总结
本发明提供了一种基于CUDA的静态障碍物的处理方法及处理系统,涉及自动驾驶技术领域。本发明需要调用预先编写的CUDA核函数,以利用CUDA核函数根据上一帧的静态障碍物的融合数据信息和当前帧的自车的位置信息对当前帧的静态障碍物进行预测,得到当前帧的静态障碍物的预测数据信息,并且利用CUDA核函数将当前帧的静态障碍物的预测数据信息和当前帧的静态障碍物的实际数据信息进行融合,得到当前帧的静态障碍物的融合数据信息,从而利用CUDA核函数在GPU上对静态障碍物的预测和融合进行并行化计算,与现有技术中CPU需要一个个循环计算的技术方案相比,大大提升了计算速度,缩短了静态障碍物的预测和融合的计算时间,保障了算法的实时性和计算精度。了算法的实时性和计算精度。了算法的实时性和计算精度。
技术研发人员:徐高伟 谢旌 陈大宇
受保护的技术使用者:智马达(上海)机器人科技有限公司
技术研发日:2023.06.20
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/