汪梓豪,蔡英凤,王海,陈龙,熊晓夏
(1.江苏大学汽车工程研究院,镇江212013;2.江苏大学汽车与交通工程学院,镇江212013)
智能汽车已成为全球汽车产业发展的战略方向,也是我国汽车强国建设的历史机遇,是新一代信息技术、高端装备制造、新材料、新能源等战略性新兴产业的创新集成载体。环境感知是实现汽车智能化的重要基础,也是智能汽车实现高级别自动驾驶的瓶颈所在。轨迹预测是建立在目标检测和跟踪基础上的高层行为感知技术,能够为智能汽车的决策控制提供有效信息,提高行驶轨迹规划的安全性和合理性。特别是在十字路口、高速公路汇入匝道等复杂的交通场景下,有效的轨迹预测对于提升汽车行驶驾驶安全性具有重要作用。
目前,国内外学者针对轨迹预测技术进行了深入的研究。其中,基于鸟瞰视角的轨迹预测技术,研究的热点和难点在于如何构建车辆行驶过程中与周边多交通主体之间的交互关系模型。其出发点在于驾驶员在不同交通场景下进行超车、换道和任何其他行为时,均充分考虑当前交通场景下与其他交通主体的相对位置和速度等信息,进而对车辆实施合理的操纵行为。Deo等将LSTM编码的车辆轨迹向量嵌入到占据栅格图中相对应的位置来构建卷积社交池张量,该张量可以用来表示周围车辆历史轨迹在空间中与被观测车辆的交互作用;还将车辆未来轨迹视为基于车辆机动多峰值的概率分布,并使用模型预测法预测概率分布的参数值。Messaoud等对文献[1]中的卷积社交池进行优化,提出了增加注意力机制的非本地-卷积社交池。Zhao等提出了多智能体张量融合模型,通过其全卷积模块(UNet)概括了交通场景内各车辆的LSTM编码向量和CNN编码的车辆场景图,使用生成对抗网络(GAN)生成出多个智能体的未来运动轨迹。Jeon等提出的轨迹预测模型将同一场景内的所有智能体间构成的关系网络视为由非欧几里得距离表达的图结构,并使用图神经网络来获取由图结构中各个节点之间的交互特征。此类轨迹预测方法需要建立在目标检测、跟踪、定位和地图匹配基础上,完成一定范围内与周边车辆相对运动关系的建模,这对自车环境感知系统的要求极高,并且推理速度较慢,在一定程度上制约了该类方法的实际应用。
针对鸟瞰视角下轨迹预测方法存在的不足,本文基于低成本的智能汽车单目感知系统,开发了自车视角下的周边多目标轨迹预测技术。与鸟瞰视角相比,由于自车视角下车载相机捕获到的目标边界框的位置变化不仅来自于目标的运动,而且与自车运动密切相关,如何进行目标运动与自车运动的解耦是新的问题,其核心在于单目视角下目标的深度识别和自车的位姿估计。其中,单目深度估计方法能够提供必要的周边目标距离信息,目前基于自监督训练模型的方法在单目深度估计以及视觉里程计建模等文献中已得到广泛应用。Zhou等首先提出了深度估计网络和位姿估计网络(6-DoF)结合的模型结构,通过图像重构的方法来形成自监督训练。文献[9]~文献[12]中对该自监督模型结构进行了改进。Godard等通过对视频中被遮挡的与静止的目标和背景进行建模,并计算多个尺度重构图像的加权损失,提高了单目深度估计的准确性。另一方面,大部分自车视角下的轨迹预测方法都基于深度学习,使用神经网络对输入图像与预测轨迹进行建模。Bhattacharyya等使用递归神经网络(RNN)进行里程计的预测(速度和转向角),然后使用单独的RNN进行行人轨迹预测,该方法使用当前帧的图像信息来预测车辆未来的运动,但该模型只预测两个标量,没有考虑自车视角的变化。Rasouli等在上述方法中额外添加了RNN模块,该RNN提取行人图像序列之间的相关性并预测行人的意图。但这种方法的缺点是,在训练时每个行人都需要进行标签的预标注,这耗费较大的时间成本。由于每一帧图像中行人的位置框都是相对于自车坐标系而标注的,所以自车运动方向的变化导致该模型同样不能通过视觉图像信息来捕捉场景中的行人的实际运动轨迹。Yao等使用多流RNN来提取行人位置、自车运动和光流估计等特征信息。然而,该方法中建模的自车运动仅表示为2D像素空间中的旋转和平移,这种表示方式并不严谨,不能完全表达出车载相机坐标系在运动中的变化。并且该模型不包含检测到的目标的视觉特征。Yao等在后续工作中对其所提出的多流RNN模型进行了改进,包括添加了条件变分自编码器(CVAE)来预测多模态未来轨迹。
整体来说,现有关于自车视角下的周边多目标轨迹预测研究,在自车运动建模和预测精度方面存在较大不足,且对周边多目标轨迹分析时缺乏相对于自车相机视角的转换处理,极大影响了多目标轨迹预测的精度和可用性。为此,本文中提出一种基于单目视觉运动估计的周边多目标轨迹预测方法。主要创新如下:(1)建立了一种由自车运动估计网络和自车运动预测网络构成的交互计算模型,前者提供自车完整的视觉里程计,后者建立相机坐标系的变换推理模型,从而完成目标运动与自车运动的解耦,实现自车运动状态的有效预测;(2)基于位姿变换矩阵,利用原视角下目标预测位置与当前时刻目标真实位置的变化关系,完成目标历史边界框序列在当前时刻自车相机视角下的归一化处理;(3)针对图像信息和目标轨迹序列,提出了LSTM和ConvLSTM联合编码的自车视角多目标轨迹预测网络模型,同时采用了多阶段的模型训练方法,提升了运动估计和轨迹预测的效果。
本文所提低成本轨迹预测方法不依赖场景高精度地图和定位信息,广泛适用于各类结构化和非结构化道路场景,能够为高级别自动驾驶系统提供高精度的周边多目标轨迹预测信息。
本文提出的轨迹预测方法包含了自车运动估计与预测、目标轨迹初始化和未来轨迹预测3部分。首先,自车运动估计与预测部分建立了完整车辆视觉里程计,完成了对目标运动与自车运动的解耦,实现对自车运动的独立建模。其次,目标轨迹初始化方法基于所建立的视觉里程计和深度图信息,将不同时刻的目标边界框坐标归一化到当前时刻。最后,未来轨迹预测部分使用归一化的轨迹坐标,在自车当前相机视角下完成对目标未来轨迹的预测。模型各阶段训练时所需数据包括车载相机拍摄的视频序列以及该序列内各目标的位置信息和身份信息。以上方法所使用模型包括了自车运动估计网络、自车运动预测网络和多目标轨迹预测网络。
(1)自车运动估计网络
自车运动估计网络是由深度估计网络和位姿估计网络构成的自监督训练模型,该模型通过输入完整的自车过去与未来图像序列来计算自车运动的视觉里程计。两种网络均使用编解码器结构,其中编码器可以为任意层数较深的卷积神经网络模型,提取低维大尺度的图像特征,将其转化为高维小尺度的特征图。该网络能够有效解决现有预测方法未充分考虑自车运动状态的不足,并将与自车运动相关联的周边目标的像素坐标转换到归一化的静态相机坐标系中。
(2)自车运动预测网络
自车运动估计网络在实际场景中进行推理时,只能通过车载相机获取到历史时刻图像信息。因而此时,该模型只能计算出自车历史运动过程中各相机坐标系之间的位姿变换矩阵,而无法直接计算出自车未来运动过程中的位姿变换矩阵。为了解决上述问题,本方法增加了一个新的自车运动预测网络。该网络引入了由长短时记忆(LSTM)网络构成的编解码器模型来预测自车未来的位姿变化,网络输入仅包含了由自车估计网络输出的历史各帧间的位姿变换参数。自车运动预测网络与自车运动估计网络相结合,构成了一种交互计算模型,实现了对自车完整视觉里程计的计算。
(3)多目标轨迹预测网络
本方法所提出的轨迹预测网络同样采用编解码器结构。编码器分为两个部分:第1部分为运动特征编码器,使用长短时记忆(LSTM)网络模型,其作用是提取归一化后的历史目标边界框信息;第2部分为区域特征编码器,它使用卷积LSTM(ConvLSTM)网络对目标在当前时刻所处位置的像素块以及该位置在过去图像中的像素块序列进行编码。ConvLSTM是一种将卷积运算和LSTM的门控机制结合的神经网络。该网络在使用卷积提取图像特征的同时也控制了当前图像特征信息的输入比例和历史图像特征信息的保留比例。本文所提出的轨迹预测网络建立了计算目标图像和边界框位置序列与未来轨迹之间映射关系的网络模型,该模型预测的未来轨迹以极小的像素误差达到了与真实轨迹接近的程度。
解耦自车运动和周边目标运动的首要步骤是通过车载相机拍摄的视频建立自车运动过程的视觉里程计,完成对自车运动的独立建模。如果将视频分解为由多帧图像组成的图像序列,则每一帧图像中拍摄到的目标均处于当前时刻自车的相机坐标系中。车辆在行驶过程中,车辆运动方向和位置的改变会造成相机坐标系的连续变换,即车辆位姿变换。相机坐标系的轴(即镜头所对的方向)指向汽车行驶方向。如图1所示,自车运动估计的目的就是计算自车所处的历史帧-,…,-1与当前帧之间的位姿变换,并预测自车所处的未来帧+1,…,+与之间的位姿变换。帧间变换过程可视作两帧的相机坐标系绕轴旋转,该过程可用变换矩阵T表示:
图1 第t帧与第t'帧自车位姿变换
式 中:T∈R,∈[-,-1]∪[+1,+];∈(3)是旋转矩阵,且∈R;∈R是相机坐标轴原点的偏移量;为全零向量的转置。
1.2.1 自车运动估计
本研究使用由深度估计网络和位姿估计网络构成的自监督训练模型来完成自车运动估计,网络结构如图2所示。
图2 自车运动估计网络整体结构
首先,利用深度估计网络输出当前帧图像I的深度D∈R、位姿估计网络预测的变换矩阵T和车载相机的内参矩阵∈R,可以将时刻的图像I中的所有像素投影到时刻像素坐标系中对应的位置,从而重建出时刻的图像I:
式中:为重投影操作;p和p分别为和时刻图像中各像素坐标。
具体地,深度估计网络为编解码器结构。其中深度编码器输入为当前帧图像I,通过ResNet-18结构提取出图像特征信息F。将F输入到深度解码器中,将计算出当前帧图像中各像素位置的深度,的值域为(0.1,100),0.1为一个深度单位,深度值上限为100,该过程表示为
位姿估计网络同为编解码器结构,位姿编码器与使用相同的ResNet-18网络结构作为特征提取器。但是与不同的是,的输入为时刻和+1、-1时刻图像组成的图像序列={I,I}{I,I}。首先,通过级联操作将的通道维进行合并,得到与匹配于输入维度的̂。模型输出为32倍下采样后的高维度特征图F∈R。位姿解码器由多层卷积与激活函数ReLU堆叠而成,解码器输出通道数为6,分别代表轴角φ∈(3),R和偏移量∈R。分解φ得到旋转轴和旋转角度:
根据罗德里格斯公式来计算(3)到(3)之间的指数映射,再结合偏移量得到位姿变换矩阵:
式中:^是反对称符号;为单位矩阵。最终得到的位姿变换矩阵表示I的相机坐标系到I的相机坐标系之间的变换。
在实际模型训练过程中,从历史时刻-+1到未来时刻+-1之间的图像序列将与相邻帧共同输入到多个共享权重的位姿估计编解码器中进行计算,最终得到该序列完整的视觉里程计={T,…,T}
1.2.2 自车运动预测
自车运动预测网络由LSTM编解码器结构构成,如图3所示。其中LSTM编码器的输入为输 出 的 历 史 时 刻 部 分 的(,)序 列Seq=
图3 自车运动预测网络整体结构
式中:为线性层,该层作为嵌入层(embedding),目的是将输入序列的低维特征映射到高维;是激活函数,=0.1。该部分取最后一个时步的隐藏状态H作为总结历史位姿的特征向量。
LSTM解码器采用非自回归(NAR)的方式对H进行解码,输出预测的未来自车运动:
式中为线性层,该层输出即为预测的未来各时步的旋转轴和原点偏移量(,)={(φ,d),…,(φ,d)},最 后 使 用 式(9)将(,)转化为位姿变换矩阵。
根据自车运动估计网络输出的视觉里程计,可以计算出当前时刻的相机坐标系与其他所有时刻的相机坐标系之间的位姿变换矩阵集合{T,∈[-,+]}。最终预测目标未来轨迹预测的视角将是时刻相机所处的视角,因此,在将任意时刻的目标历史边界框B输入到预测模型之前,须先将边界框B中角点像素坐标(,)转换到时刻的像素坐标,构成新的边界框B。
时刻边界框B中的任意角点坐标p向时刻的坐标p转换可表示为
式中:(B)是边界框B区域内的平均深度;h和w为B的高和宽;D为深度图中单个像素位置的深度,∈[,],∈[,]。在自 车运动估 计网络中已经预测了I到I之间的位姿变换矩阵,因此将任意历史帧的相机坐标系转换到时刻时的相机坐标系时,可以通过矩阵乘法得到变换矩阵:T=TT。
经过目标轨迹初始化过程后,历史时刻的目标边界框已被转换到当前时刻,得到边界框B。因此在预测未来轨迹时,目标的历史运动过程将全部在静止相机视角内进行,而预测的未来轨迹也将位于该视角内。为了更好地表征目标历史运动过程,本网络将通过历史边界框序列来计算更多的特征信息。另外,本网络也关注了图像序列中目标所处区域内的像素变换过程,使用裁剪的方式来获取目标相应区域内的图像信息。最后,通过任意神经网络模型计算目标历史特征序列与未来目标运动学参数之间的映射关系,如图4所示。
图4 多目标轨迹预测网络整体结构
1.4.1 目标运动特征编码
静止视角内的任意目标由于运动方向和运动速度的不同,其边界框的高和宽将呈现不同的变化规律。初始边界框坐标不能直接表示这对参数的变化,因此须通过边界框角点坐标(,)来计算和,并将其加入初始训练参数。综上所述,最终网络输入的历史运动信息={,,,}∈R。中的所有参数都将对图像尺寸进行归一化,保证输入参数都在(0,1)区间之内。
然后,将历史运动信息序列={x,…,x,x}输入到LSTM编码器中:
最后使用第个输出的隐藏状态H作为总结目标运动序列特征的特征向量。
1.4.2 区域图像特征编码
当前帧图像I中观测目标所处区域对应的背景像素块在历史视角中存在连续的变化过程。以I中的目标边界框中心点为中心,用式(2)把投影到历史视角的坐标系中,使用统一尺寸(,)对目标周边区域进行裁剪,得到裁剪图像序列{C,…,C,C},区域图像编码器输入特征可表示为
式中为级联操作,对图像的通道维度进行合并。
将输入到中,网络输出H作为该区域图像序列特征:
同文献[20]一样,将H视为由多个包含高维特征的整齐排布的节点,使用最大池化操作(MaxPooling)来聚合该区域的整体特征F。
1.4.3 未来轨迹预测
在复杂交通场景下,不同类别目标的运动模式和自身属性存在较大的差异,因此使用单个模型对所有类别的目标进行建模是不合理的。本预测网络使用LSTM解码器接收不同各目标的编码信息=(H,F),LSTM解码器均为NAR解码方式。最后通过多层感知机MLP,预测时刻视角内目标边界框的中心点沿、轴的移动速度和加速度等运动学参数={v,v,a,a}:
式中M为预测的未来目标运动学参数,={m,…,m}。M中预测的参数计算的目标边界框处于静态视角中,因此在计算训练Loss之前,需要将其转换为相应未来时刻的边界框位置和大小:
同样地,利用式(2)和1.2.2节预测的未来自车运动的位姿变换矩阵,把视角的边界框序列投影到其所处的视角,∈{+1,…,+},最终得到预测边界框中心点坐标序列B。
1.5.1 第1阶段
自车运动估计网络的主要目的是准确计算图像之间的位姿变换,因此模型训练第1阶段的目的是保留图像特征提取网络的权重,微调输出深度和位姿的解码器网络。深度估计网络采用monodepth2中使用KITTI RAW数据集训练的图像尺寸为640×192的模型作为预训练模型。
自车估计网络使用KITTI Tracking数据集进行训练,在训练过程中冻结深度估计编码器和位姿估计编码器的参数,不参与梯度下降法更新,仅对解码器和进行训练。与现有自监督深度估计方法相同,本模型通过最小化平均光度重投影损失函数L来训练位姿估计网络:
式中是光度重建损失(photometric reconstruction error),该损失函数由结构相似性损失(SSIM)和损失加权相加得到,其中=0.85。
1.5.2 第2阶段
在整体模型训练的第2个阶段,自车运动估计网络将加载第1阶段中微调过程中验证集损失最小的epoch保存的模型权重,并且在本轮不进行训练。
自车运动预测网络在训练过程中,以自车运动估计网络输出的历史帧间的轴角和偏移量序列Seq作为网络的输入。模型使用预测的未来帧间的(,)与自车运动估计模块输出的未来帧间(,)计算MSE损失函数来训练网络:
式中:表示序列长度;表示输出数据维度。
1.5.3 第3阶段
轨迹预测网络使用KITTI Tracking数据集进行训练,计算轨迹预测误差时将考虑预测坐标点与真实坐标点的欧式距离误差:
式中是当前图像中包含的目标个数。
本研究使用KITTI数据集进行模型训练和验证。KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院共同研究制作,是目前最大规模的多场景自动驾驶算法评测数据集之一。KITTI数据集包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,以10 Hz的频率采样。本研究使用了KITTI跟踪数据集(KITTI Tracking)为轨迹预测提供所需要的目标位置信息和身份信息。该数据集包含了20个场景下的视频数据以及每个视频中序列形式的目标位置信息和身份信息,并且给定了各车载相机的内参矩阵。本文提出的方法在训练时以车辆为目标,使用单帧检索序列的方式提取训练数据。整体数据集共包含4 041条车辆轨迹,使用数据集的70%作为训练集,10%作为验证集,其余20%作为测试集。
在模型训练过程中,第1阶段的损失函数为L,选用Adam优化器作为参数更新优化器,采用学习率=10进行20个epoch训练,其中在第10个epoch后降低为原来的1/10。第2阶段训练参数与第1阶段相同,初始学习率=10。第3阶段的训练优化器和学习率保持不变,共训练30个epoch,=1×10每过10个epoch降低为原来的1/2。
本研究划分的测试集共包含789条目标轨迹。在试验中,共使用两种模型作为基线与本文提出的模型进行对比。第1种线性模型Linear包含3层线性层,前两层后均包含激活函数leakyReLU,=0.1。第2种Seq2Seq为LSTM编解码器模型,类似文献[25]中提出的序列到序列的轨迹预测模型结构,该模型同样采用NAR解码方式,LSTM编码器的隐藏状态将作为解码器的输入向量。
测试共分析了模型的4个指标,每个指标分别取预测时步为0.5 s/1.0 s/1.5 s的测试结果,对比结果如表1所示。指标1为目标预测边界框与边界框真值两个角点的均方误差,单位为像素;指标2为目标预测边界框与边界框真值中心点的均方误差;指标3为完整预测序列(15帧)中目标预测边界框与边界框真值中心点的均方误差;指标4为预测目标边界框与边界框真值的IoU值,该指标能直观描述预测的目标边界框与实际边界框的接近程度。
表1 所提模型在KITTI Tracking数据集的对比测试
对比表明,本文所提模型在3项误差指标都小于其他模型,而交并比都大于其他模型。其中,线性模型对输入特征序列与未来轨迹之间映射关系的建模精度最低。
特别是,所提模型在和两个重要指标上较基线模型达到了更优异的效果。其中指标在0.5 s(第5帧)时预测的中心均方误差仅为43像素,在1.5 s(第15帧)预测的误差仅为321像素;指标中所展示的3个时步的都在0.5以上,在现有各数据集目标预测方法评价指标中,=0.5为最低检出值。结果表明,基于自车位姿预测,在自车视角下实现目标轨迹序列的归一化处理,能够很好地提升预测精度,所提模型在车辆和行人目标的轨迹预测方面均具有较优的性能。
表2为文献中几种模型在包含行人目标的JAAD数据集上进行轨迹预测的结果。其中,的3个数值与预测时步为0.5 s/1.0 s/1.5 s相对应。表中顺便附上本研究所提模型在KITTI Tracking数据集上的测试结果,但仅供参考对照。因为尽管JADD和KITTITracking两个数据集皆为视频数据集,且其预测轨迹亦皆以像素为单位,但毕竟是两个不同的数据集,不宜做严格意义上的对比。
表2 几种模型在JAAD数据集上测试结果的对比
所提模型不同训练阶段的消融试验结果如表3所示。第1种为一阶段训练,即从自车运动估计网络到自车运动预测网络以及最后的轨迹预测网络直接进行端到端的训练,使用的损失函数为∑(,,)。第2种为二阶段训练,该训练过程为首先微调自车运动估计网络,然后冻结自车运动估计网络的模型权重,将自车运动预测网络和轨迹预测网络放在一起进行训练。最后则为本研究提出的完整三阶段训练方式,将3个网络分别训练。
表3 所提模型在不同训练阶段的指标对比
结果表明,多阶段训练对模型预测精度的提升是正相关的。对比一阶段试验结果与两个基线网络的试验结果的各项指标,可以看出如果自车运动估计网络输出的视觉里程计信息存在误差,则该误差将累计到后续网络中,导致预测结果产生较大的误差。因此,使用三阶段的训练方式能够有效提高整体模型的轨迹预测效果。
图5为本文所提模型在不同场景下测试效果,包含周边单车和周边多车场景。在单车辆场景中,目标车辆与自车保持较小的相对运动,所提模型在3个关键帧上均具有精准的预测效果;在多车场景中,各车辆均与自车保持一定速度的相对运动,其中第2列的目标车辆处于运动状态,第3列的目标车辆处于静止状态,表征真值的绿色框和表征预测值的红色框重合率高,体现了所提方法较好的预测精度。另一方面,所提方法在对周边处于静止状态车辆的预测误差相对比处于运动状态车辆大,其原因可能在于静止车辆与自车相对运动速度较大且方向相反,对模型预测产生了影响。
图5 KITTI Tracking数据集下的典型测试结果(绿色为真实边界框,红色为预测框)
本文中提出了自车视角下的周边多目标轨迹预测方法,利用车载单目视觉建立视觉里程计,实现自车运动状态的预测,据此,将周边多目标运动序列在自车视角下进行归一化处理,消除了现有方法因忽略自车位姿导致的预测误差,基于公开数据集的对比测试验证了所提方法的优越性。未来,将围绕复杂交通场景下不同类别目标的运动模式和交互关系开展深入研究,进一步提升长时域预测的精度。