主要的工作有3部分。第1部分是阅读apollo代码,搭建lgsvl仿真,在apollo代码中有一些与论文不同的地方:在评估器evaluator中apollo的频率与论文不同,因为论文是以0.4s为间隔的,apollo以0.1s为间隔。因此apollo在历史的信息用了一个近似。用最近的一个0.4s的点来近似表示上一个点,就是0.2s,0.3s都以0.1s来表示。只是历史信息用了近似,因为0.2,0.3有了近似值之后输出就可以每0.1s都输出轨迹了。
输入输出的大部分数据在container都已经处理好了,这里用了lstm的方法因此需要加一个帧与帧之间lstm 的h,hiddenstate,是用一个哈希表来维护的。评估器的部分主要是这两点。
下面还列举了其它container的内容,这个主要是将apollo用proto来维护的路口,障碍物优先级,道路图等等。
第二部分是我之前车辆的部分了解不多,找了一篇车辆的文章里来了解的车辆的预测和高精地图是使用,就是lanegcn这篇文章,对高精地图处理,之前的方法大多是语义地图,语义地图计算量比较大,删格化的过程也有信息损失,google的vectornet与lanegcn这两篇文章都是将高精地图每一个车道段简化为点,形成一个图,图上的边就是车道段相连,之后就主要有2个对象,一个是车辆,一个就是车道段形成的图。第一个是车对到车道,融合了从车辆节点到车道节点的实时交通信息。 第二个是车道对车道,在车道图上传播信息并更新车道特征。 第三个是,车道对车辆,融合了从车道节点到演员节点的更新地图信息。 演员到演员块执行演员之间的交互。
这个是找lanegcn时候总结的车辆的几篇文章,后续又调研了行人的方法。在行人部分是有agentformer,应该是可以不使用高精地图及使用高精地图,效果都比较好的,主要是基于transoformer和CVAE。
第三部分是apollo只有推理的代码,因此我补充了训练的代码,转为onnx,trt,经过验证,效果是这样,因为这里是将模型拆分的,所以层数较少,tensorrt提升不是很大。lstm的主要改动是将模型拆分为3部分,第一部分是线性层坐标二维升为64维,第二层输入lstm,第三层输出层64为降为5维,最后经过后处理输出轨迹的向量。
下期工作计划,是在trt模型前增加c++前处理后处理,从txt读取分别处理出每一帧的行人,单个行人所有出现的帧数及坐标等列表,最终处理为模型的输入,这部分前处理。以及一个后处理,将模型输出通过高斯分布给出预测向量。
完成前处理后处理之后的计划是部署agentransoformer。
ppt答辩稿子
最新推荐文章于 2024-05-27 10:01:24 发布