千家信息网

Apollo之怎么在预测模块中添加新评估器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关Apollo之怎么在预测模块中添加新评估器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简介评估器通过应用预训练的深度学习模型生成特征(来自障碍物
千家信息网最后更新 2026年11月02日Apollo之怎么在预测模块中添加新评估器

这篇文章给大家分享的是有关Apollo之怎么在预测模块中添加新评估器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

简介

评估器通过应用预训练的深度学习模型生成特征(来自障碍物和当前车辆的原始信息)以获得模型输出。

添加评估器的步骤

请按照下面的步骤添加名称为NewEvaluator的评估器:

  1. 在proto中添加一个字段

  2. 声明一个从Evaluator类继承的类NewEvaluator

  3. 实现类NewEvaluator

  4. 更新预测配置

  5. 更新评估器管理

下面让我们用上面的方法来添加新的评估器。

一、声明一个从Evaluator类继承的类

NewEvaluator

modules/prediction/evaluator/vehicle目录下新建文件new_evaluator.h。声明如下:

#include "modules/prediction/evaluator/evaluator.h"namespace apollo {namespace prediction {class NewEvaluator : public Evaluator { public:  NewEvaluator();  virtual ~NewEvaluator();  void Evaluate(Obstacle* obstacle_ptr) override;  // Other useful functions and fields.};}  // namespace prediction}  // namespace apollo

二、实现类 NewEvaluator

在new_evaluator.h所在目录下新建文件new_evaluator.cc。实现如下:

#include "modules/prediction/evaluator/vehicle/new_evaluator.h"namespace apollo {namespace prediction {NewEvaluator::NewEvaluator() {  // Implement}NewEvaluator::~NewEvaluator() {  // Implement}NewEvaluator::Evaluate(Obstacle* obstacle_ptr)() {  // Extract features  // Compute new_output by applying pre-trained model}// Other functions}  // namespace prediction}  // namespace apollo

三、在proto中添加新评估器

在prediction_conf.proto中添加新评估器类型:

enum EvaluatorType {  MLP_EVALUATOR = 0;  NEW_EVALUATOR = 1;}

四、更新prediction_conf文件

在modules/prediction/conf/prediction_conf.pb.txt中,按照如下方式更新字段evaluator_type:

obstacle_conf {  obstacle_type: VEHICLE  obstacle_status: ON_LANE  evaluator_type: NEW_EVALUATOR  predictor_type: NEW_PREDICTOR}

五、更新评估器管理

按照如下方式更新CreateEvluator( ... ):

case ObstacleConf::NEW_EVALUATOR: {    evaluator_ptr.reset(new NewEvaluator());    break;  }

按照如下方式更新RegisterEvaluators():

RegisterEvaluator(ObstacleConf::NEW_EVALUATOR);

完成上述步骤后,新评估器便创建成功了。

添加新特性

如果你想添加新特性,请按照如下的步骤进行操作:

在proto中添加一个字段

假设新的评估结果名称是new_output且类型是int32。如果输出直接与障碍物相关,可以将它添加到modules/prediction/proto/feature.proto中,如下所示:

 message Feature {    // Other existing features    optional int32 new_output = 1000;}

如果输出与车道相关,请将其添加到modules/prediction/proto/lane_graph.proto中,如下所示:

message LaneSequence {    // Other existing features    optional int32 new_output = 1000;}

感谢各位的阅读!关于"Apollo之怎么在预测模块中添加新评估器"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

评估 更新 步骤 字段 文件 方式 输出 模块 内容 名称 更多 模型 特性 目录 篇文章 类型 障碍 障碍物 面的 管理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 互联网通讯科技 科技制造互联网公司 互联网医疗科技 腾讯科技 互联网女皇 奇士达互联网科技 深圳卡尔迅互联网科技有限公司怎么样 新华互联网科技校企合作 哈尔滨新华互联网科技学院 互联网教育科技公司vipkid 创业天下互联网科技有限公司 互联网科技教育视频 恒生互联网科技指数跳水 允成互联网科技有限公司融资 中国互联网有什么科技 美国互联网科技公司 互联网硬科技公司 互联网公司属于科技吗 现代互联网科技公司 高科技和互联网的现代国家 精品咖啡豆 互联网科技公司简介 联恩商钥互联网科技有限公司 团飞科技与伯堂互联网服务平台 中化能源互联网科技招聘 企晟互联网信息科技有限公司 深圳市罗太互联网科技有限公司 互联网科技实习生岗位 九思连强互联网电子科技有限公司 米泉互联网科技专业怎么样
0