提交 b5416cc4 编写于 作者: K kechxu 提交者: Jiangtao Hu

more implement on mlp_evaluator.cc

上级 ae6bb1f7
......@@ -67,7 +67,45 @@ void MLPEvaluator::Evaluate(Obstacle* obstacle_ptr) {
void MLPEvaluator::ExtractFeatureValues(Obstacle* obstacle_ptr,
LaneSequence* lane_sequence_ptr) {
feature_values_.clear();
// TODO(kechxu) implement insert feture values into feature_values_
int id = obstacle_ptr->id();
std::vector<double> obstacle_feature_values;
if (obstacle_feature_values_map_.find(id) ==
obstacle_feature_values_map_.end()) {
SetObstacleFeatureValues(obstacle_ptr, &obstacle_feature_values);
} else {
obstacle_feature_values = obstacle_feature_values_map_[id];
}
if (obstacle_feature_values.size() != OBSTACLE_FEATURE_SIZE) {
ADEBUG << "Obstacle [" << id << "] has fewer than "
<< "expected obstacle features "
<< obstacle_feature_values.size() << ".";
return;
}
std::vector<double> lane_feature_values;
SetLaneFeatureValues(obstacle_ptr, lane_sequence_ptr, &lane_feature_values);
if (lane_feature_values.size() != LANE_FEATURE_SIZE) {
ADEBUG << "Obstacle [" << id << "] has fewer than "
<< "expected lane features"
<< lane_feature_values.size() << ".";
return;
}
feature_values_.insert(feature_values_.end(),
lane_feature_values.begin(), lane_feature_values.end());
feature_values_.insert(feature_values_.end(),
lane_feature_values.begin(), lane_feature_values.end());
}
void MLPEvaluator::SetObstacleFeatureValues(Obstacle* obstacle,
std::vector<double>* feature_values) {
// TODO(kechxu) implement
}
void MLPEvaluator::SetLaneFeatureValues(Obstacle* obstacle,
LaneSequence* lane_sequence, std::vector<double>* features) {
// TODO(kechxu) implement
}
} // namespace prediction
......
......@@ -18,6 +18,7 @@
#define MODULES_PREDICTION_EVALUATOR_VEHICLE_MLP_EVALUATOR_H_
#include <vector>
#include <unordered_map>
#include "modules/prediction/evaluator/evaluator.h"
#include "modules/prediction/container/obstacles/obstacle.h"
......@@ -38,6 +39,19 @@ class MLPEvaluator : public Evaluator {
LaneSequence* lane_sequence_ptr);
void Clear();
private:
void SetObstacleFeatureValues(Obstacle* obstacle,
std::vector<double>* feature_values);
void SetLaneFeatureValues(Obstacle* obstacle,
LaneSequence* lane_sequence,
std::vector<double>* features);
private:
std::unordered_map<int, std::vector<double>> obstacle_feature_values_map_;
static const size_t OBSTACLE_FEATURE_SIZE = 18;
static const size_t LANE_FEATURE_SIZE = 20;
};
} // namespace prediction
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册