原文
A New Vehicular Fog Computing Architecture for Cooperative Sensing of Autonomous Driving
摘要
无人驾驶的感知范围是十分重要的标准,但是现有单车的感知覆盖比较低下,往往出现死区( dead zone)和精度不足,因此考虑多车附近合作感知,利用贪婪算法和SVM算法来增强感知范围和精确度,用Li-GRU神经网络算法预测车辆的策略选择,构建出一种新的VFC架构。
正文
为了解决旧有VFC架构单车感知的缺点,本文将一排车作为考虑对象,以互相协作感知。
智能车辆的感知融合(sensing fusion)已有一定研究,大致可以分为三类:
- 多车辆、同构感知器的感知融合
- 单车辆、异构感知器的感知融合
- 单车辆、异构感知器的感知融合
感知融合的一种应用是将周围环境映射到格状(grid)地图。利用占据栅格地图(occupancy grid mapping)和一些过滤算法,我们能做到这一点。
基于SLIC超像素和LIDAR感知器的网格单元簇(GCC)聚类方法,又或者是能将LIDAR感知器的信息快速融合的快速OGF(fast occupancy Grid Filtering),都有各自缺点,无法应用于本文需要的排列车辆场景。出于这种情况,本文采用GRU算法来对OGF地图融合的占据概率分布进行预测。
GRU算法是一种计算复杂度更低、准确度更高的改进LSTM算法。然而即便如此,传统的中心化训练模型(云主机)也无法应对无人驾驶的低时延实时性需求。所以我们可以分配训练任务给排列(platoon)中的智能车辆,减轻模型训练压力,这也是VFC带来的好处。
流程大致如下:当车辆相互之间的相对速度差距不大的时候,我们利用IoV形成一个无人驾驶车列。由于无人驾驶车辆的计算力和相互之间的联系,这一列车可以看做一片车辆雾(vehicular fog)。根据标准,从车列中选一辆车作为头车(head vehicle),担当服务器的作用。头车选择合适的感知和任务分配策略,完成训练任务。
说完大致想法,接下来讲怎么增强形成的车列。
先来增强车列覆盖范围。车列中的每一辆车都有自己的感知范围,但是彼此之间的感知范围又会有重叠,一整个车列的感知范围就应该是每辆车范围的并集与路况范围的交集。为了减少重复部分,我们将车列中的一部分选作“需要被感知的范围”,另一部分去除,所以整体车列的感知范围就是:
si是第i辆车的范围,ai表示是否被选中,sr表示路况范围。
同样地,有重叠部分的感知范围:
我们的优化目标是最大化Sf,最小化So。
同时根据Sf和So的定义,我们可以得到以下参量标准:
Effectness和TotalRation越高越好。
定义说完了,具体怎么实现算法?我们使用贪婪算法。
Ns就是所有选中的车辆的集合,ui是第i辆车在已覆盖感知范围之外的范围,公式如下:
贪婪算法每次遍历所有还没被选中的车子,然后选中一辆能使得现有感知范围增加最多的车加入其中,很好理解。不断重复这个过程,直到范围覆盖率达到临界值:
算法复杂度在O(n^2),但由于头车每轮选定一个车辆后,都可以把计算的任务分配给那个加入车列的车辆,所以实际复杂度可以降低到O(n),满足实时性需求。
范围增强讲完了,接下来讲准确性增强。
假设第k辆车在t时刻的OGF地图如下:
注意,这里的cij是直接映射来的采样信息。由于LIDAR感知器是通过光线感知的,因此我们假设头车获得的所有车辆的OGF地图都是在同一个时间戳内的,则头车可以获得一个累计的C:
然后我们利用SVM算法,根据每个格子的cij信息,判断其是否被一辆车占据了。
通过训练,让SVM算法能获得较好的性能,这样我们就能获得一份G地图,判断周围环境的车辆了。
接下来是车辆路径变化的预测。如果车子要转向,我们希望能通过算法预测出来,这里用的是Light GRU(Li-GRU)算法。
GRU是改良的LSTM,Li-GRU就是改良的GRU算法。下面是算法的模型,不想解释了:
Li-GRU是一个RNN神经网络,因此需要的是路径变换车辆Vtar的前t个时间点的轨迹变化信息,用这些信息作为输入来训练模型。如果对RNN有比较好的认知,这一步是很容易理解的,详细描述如下:
总结
还有一些关于算法的结果,在原文里有,我这里就不贴了。