您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關apollo怎么在預測模塊中添加新的評估器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
評估器使用預訓練的深度學習模型生成特征(來自障礙物和自車的原始信息)以獲得模型輸出。
請參照以下步驟新增一個名為NewEvaluator的評估器:
在proto中新增一個文件
以繼承Evaluator類的方式定義一個新類NewEvaluator
實現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
在相同文件夾下創建一個名為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
在文件prediction_conf.proto中增加一個類型來表示新增的評估器,如下所示:
enum EvaluatorType { MLP_EVALUATOR = 0; NEW_EVALUATOR = 1; }
在配置文件modules/prediction/conf/prediction_conf.pb.txt中,更新evaluator_typ域,具體如下所示:
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);
完成上述步驟之后,即表示創建了新的評估器。
如果您想增加新的屬性,請參照以下說明:
假設新的評估輸出結果為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怎么在預測模塊中添加新的評估器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。