Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
333b796e
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
333b796e
编写于
7月 19, 2017
作者:
K
kechxu
提交者:
Jiangtao Hu
7月 19, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
setup mlp evaluator for vehicle evaluator
上级
a4b7ec87
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
91 addition
and
28 deletion
+91
-28
modules/prediction/evaluator/evaluator.h
modules/prediction/evaluator/evaluator.h
+1
-1
modules/prediction/evaluator/vehicle/BUILD
modules/prediction/evaluator/vehicle/BUILD
+4
-3
modules/prediction/evaluator/vehicle/mlp_evaluator.cc
modules/prediction/evaluator/vehicle/mlp_evaluator.cc
+74
-0
modules/prediction/evaluator/vehicle/mlp_evaluator.h
modules/prediction/evaluator/vehicle/mlp_evaluator.h
+12
-24
未找到文件。
modules/prediction/evaluator/evaluator.h
浏览文件 @
333b796e
...
...
@@ -48,7 +48,7 @@ class Evaluator {
virtual
void
Evaluate
(
Obstacle
*
obstacle
)
=
0
;
protected:
std
::
vector
<
double
>
feature_values
;
std
::
vector
<
double
>
feature_values
_
;
};
}
// namespace prediction
...
...
modules/prediction/evaluator/vehicle/BUILD
浏览文件 @
333b796e
...
...
@@ -3,16 +3,17 @@ load("//tools:cpplint.bzl", "cpplint")
package
(
default_visibility
=
[
"//visibility:public"
])
cc_library
(
name
=
"
vehicle
_evaluator"
,
name
=
"
mlp
_evaluator"
,
hdrs
=
[
"
vehicle
_evaluator.h"
,
"
mlp
_evaluator.h"
,
],
srcs
=
[
"
vehicle
_evaluator.cc"
,
"
mlp
_evaluator.cc"
,
],
deps
=
[
"//modules/prediction/evaluator:evaluator"
,
"//modules/prediction/container/obstacles:obstacle"
,
"//modules/prediction/proto:lane_graph_proto"
,
],
)
...
...
modules/prediction/evaluator/vehicle/
vehicle
_evaluator.cc
→
modules/prediction/evaluator/vehicle/
mlp
_evaluator.cc
浏览文件 @
333b796e
...
...
@@ -14,34 +14,60 @@
* limitations under the License.
*****************************************************************************/
#include <utility>
#include "modules/prediction/evaluator/vehicle/vehicle_evaluator.h"
#include "modules/prediction/evaluator/vehicle/mlp_evaluator.h"
namespace
apollo
{
namespace
prediction
{
VehicleEvaluator
::
VehicleEvaluator
()
:
evaluator_
(
nullptr
)
{
Init
();
MLPEvaluator
::
MLPEvaluator
()
{
}
void
VehicleEvaluator
::
Init
()
{
CHECK
(
map_evaluators_
.
find
(
"DefaultVehicleEvaluator"
)
!=
map_evaluators_
.
end
());
evaluator_
=
map_evaluators_
[
"DefaultVehicleEvaluator"
].
get
();
MLPEvaluator
::~
MLPEvaluator
()
{
}
// TODO(kechxu) load user defined model taking over the default one
void
MLPEvaluator
::
Evaluate
(
Obstacle
*
obstacle_ptr
)
{
Clear
();
if
(
obstacle_ptr
==
nullptr
)
{
AERROR
<<
"Invalid obstacle."
;
return
;
}
CHECK
(
evaluator_
!=
nullptr
);
}
int
id
=
obstacle_ptr
->
id
();
Feature
latest_feature
=
obstacle_ptr
->
latest_feature
();
if
(
!
latest_feature
.
IsInitialized
())
{
ADEBUG
<<
"Obstacle ["
<<
id
<<
"] has no latest feature."
;
return
;
}
Lane
*
lane_ptr
=
latest_feature
.
mutable_lane
();
if
(
!
latest_feature
.
has_lane
()
||
lane_ptr
==
nullptr
)
{
ADEBUG
<<
"Obstacle ["
<<
id
<<
"] has no lane feature."
;
return
;
}
LaneGraph
*
lane_graph_ptr
=
lane_ptr
->
mutable_lane_graph
();
if
(
!
latest_feature
.
lane
().
has_lane_graph
()
||
lane_graph_ptr
==
nullptr
)
{
ADEBUG
<<
"Obstacle ["
<<
id
<<
"] has no lane graph."
;
return
;
}
if
(
latest_feature
.
lane
().
lane_graph
().
lane_sequence_size
()
==
0
)
{
ADEBUG
<<
"Obstacle ["
<<
id
<<
"] has no lane sequences."
;
return
;
}
void
VehicleEvaluator
::
Evaluate
(
Obstacle
*
obstacle
)
{
evaluator_
->
Evaluate
(
obstacle
);
for
(
int
i
=
0
;
i
<
latest_feature
.
lane
().
lane_graph
().
lane_sequence_size
();
++
i
)
{
LaneSequence
*
lane_sequence_ptr
=
lane_graph_ptr
->
mutable_lane_sequence
(
i
);
CHECK
(
lane_sequence_ptr
!=
nullptr
);
ExtractFeatureValues
(
obstacle_ptr
,
lane_sequence_ptr
);
}
}
void
VehicleEvaluator
::
RegisterClass
(
const
std
::
string
&
name
,
std
::
unique_ptr
<
Evaluator
>
ptr
)
{
map_evaluators_
[
name
]
=
std
::
move
(
ptr
);
void
MLPEvaluator
::
ExtractFeatureValues
(
Obstacle
*
obstacle_ptr
,
LaneSequence
*
lane_sequence_ptr
)
{
feature_values_
.
clear
();
// TODO(kechxu) implement insert feture values into feature_values_
}
}
// namespace prediction
...
...
modules/prediction/evaluator/vehicle/
vehicle
_evaluator.h
→
modules/prediction/evaluator/vehicle/
mlp
_evaluator.h
浏览文件 @
333b796e
...
...
@@ -14,45 +14,33 @@
* limitations under the License.
*****************************************************************************/
/**
* @file
* @brief Define the vehicle evaluator.
*/
#ifndef MODULES_PREDICTION_EVALUATOR_VEHICLE_MLP_EVALUATOR_H_
#define MODULES_PREDICTION_EVALUATOR_VEHICLE_MLP_EVALUATOR_H_
#ifndef MODULES_PREDICTION_EVALUATOR_VEHICLE_VEHICLE_EVALUATOR_H_
#define MODULES_PREDICTION_EVALUATOR_VEHICLE_VEHICLE_EVALUATOR_H_
#include <string>
#include <memory>
#include <unordered_map>
#include <vector>
#include "modules/prediction/evaluator/evaluator.h"
#include "modules/prediction/container/obstacles/obstacle.h"
#include "modules/prediction/proto/lane_graph.pb.h"
namespace
apollo
{
namespace
prediction
{
class
Vehicle
Evaluator
:
public
Evaluator
{
class
MLP
Evaluator
:
public
Evaluator
{
public:
VehicleEvaluator
();
virtual
~
VehicleEvaluator
();
MLPEvaluator
();
v
oid
Evaluate
(
Obstacle
*
obstacle
);
v
irtual
~
MLPEvaluator
(
);
void
Clear
(
);
void
Evaluate
(
Obstacle
*
obstacle_ptr
);
private:
void
RegisterClass
(
const
std
::
string
&
name
,
std
::
unique_ptr
<
Evaluator
>
ptr
);
void
ExtractFeatureValues
(
Obstacle
*
obstacle_ptr
,
LaneSequence
*
lane_sequence_
ptr
);
void
Init
();
private:
Evaluator
*
evaluator_
;
std
::
unordered_map
<
std
::
string
,
std
::
unique_ptr
<
Evaluator
>>
map_evaluators_
;
void
Clear
();
};
}
// namespace prediction
}
// namespace apollo
#endif // MODULES_PREDICTION_EVALUATOR_VEHICLE_
VEHICLE
_EVALUATOR_H_
#endif // MODULES_PREDICTION_EVALUATOR_VEHICLE_
MLP
_EVALUATOR_H_
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录