Apollo
11.0
自动驾驶开放平台
singlestage_transformer.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2020 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the License);
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an AS IS BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
#pragma once
17
18
#include <string>
19
20
#include "Eigen/Core"
21
22
#include "modules/perception/camera_location_estimation/transformer/singlestage/proto/singlestage.pb.h"
23
24
#include "
modules/perception/camera_location_estimation/interface/base_transformer.h
"
25
#include "
modules/perception/common/onboard/inner_component_messages/camera_detection_component_messages.h
"
26
27
namespace
apollo
{
28
namespace
perception {
29
namespace
camera {
30
31
// hyper parameters
32
struct
TransformerParams
{
33
TransformerParams
() {
set_default
(); }
34
35
void
set_default
();
36
37
int
max_nr_iter
;
38
float
learning_rate
;
39
float
k_min_cost
;
40
float
eps_cost
;
41
};
42
43
class
SingleStageTransformer
:
public
BaseTransformer
{
44
public
:
45
SingleStageTransformer
() =
default
;
46
virtual
~SingleStageTransformer
() =
default
;
47
55
bool
Init
(
const
TransformerInitOptions
&options =
56
TransformerInitOptions
())
override
;
64
bool
Transform
(
onboard::CameraFrame
*frame)
override
;
65
66
std::string
Name
()
const override
{
return
"SingleStageTransformer"
; }
67
68
private
:
69
void
FillResults(
float
object_center[3],
float
dimension_hwl[3],
70
float
rotation_y,
const
Eigen::Affine3d &camera2world_pose,
71
float
theta_ray,
base::ObjectPtr
obj);
72
float
CenterPointFromBbox(
const
float
*bbox,
const
float
*hwl,
float
ry,
73
float
*center,
float
*center2d,
const
float
*k_mat,
74
int
height,
int
width);
75
void
ConstraintCenterPoint(
const
float
*bbox,
const
float
&z_ref,
76
const
float
&ry,
const
float
*hwl,
77
const
float
*k_mat,
float
*center,
float
*x,
78
int
height,
int
width);
79
80
private
:
81
SinglestageParam
singlestage_param_;
82
TransformerParams
params_;
83
};
84
85
}
// namespace camera
86
}
// namespace perception
87
}
// namespace apollo
base_transformer.h
camera_detection_component_messages.h
apollo::perception::camera::BaseTransformer
Definition
base_transformer.h:31
apollo::perception::camera::SingleStageTransformer
Definition
singlestage_transformer.h:43
apollo::perception::camera::SingleStageTransformer::~SingleStageTransformer
virtual ~SingleStageTransformer()=default
apollo::perception::camera::SingleStageTransformer::SingleStageTransformer
SingleStageTransformer()=default
apollo::perception::camera::SingleStageTransformer::Name
std::string Name() const override
Definition
singlestage_transformer.h:66
apollo::perception::camera::SingleStageTransformer::Init
bool Init(const TransformerInitOptions &options=TransformerInitOptions()) override
Init transformer by setting parameters
Definition
singlestage_transformer.cc:40
apollo::perception::base::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition
object.h:127
apollo
class register implement
Definition
arena_queue.h:37
apollo::perception::camera::SinglestageParam
Definition
singlestage.proto:5
apollo::perception::camera::Transform
Definition
transform_server.h:31
apollo::perception::camera::TransformerInitOptions
Definition
base_transformer.h:29
apollo::perception::camera::TransformerParams
Definition
singlestage_transformer.h:32
apollo::perception::camera::TransformerParams::learning_rate
float learning_rate
Definition
singlestage_transformer.h:38
apollo::perception::camera::TransformerParams::eps_cost
float eps_cost
Definition
singlestage_transformer.h:40
apollo::perception::camera::TransformerParams::set_default
void set_default()
Definition
singlestage_transformer.cc:33
apollo::perception::camera::TransformerParams::k_min_cost
float k_min_cost
Definition
singlestage_transformer.h:39
apollo::perception::camera::TransformerParams::TransformerParams
TransformerParams()
Definition
singlestage_transformer.h:33
apollo::perception::camera::TransformerParams::max_nr_iter
int max_nr_iter
Definition
singlestage_transformer.h:37
apollo::perception::onboard::CameraFrame
Definition
camera_detection_component_messages.h:32
modules
perception
camera_location_estimation
transformer
singlestage
singlestage_transformer.h