Apollo
10.0
自动驾驶开放平台
tracking_feat_extractor.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 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 <memory>
19
#include <string>
20
#include <vector>
21
22
#include "modules/perception/camera_tracking/proto/tracking_feature.pb.h"
23
24
#include "
modules/perception/camera_tracking/common/camera_tracking_frame.h
"
25
#include "
modules/perception/camera_tracking/interface/base_feature_extractor.h
"
26
#include "
modules/perception/common/base/blob.h
"
27
#include "
modules/perception/common/base/object.h
"
28
#include "
modules/perception/common/camera/common/util.h
"
29
#include "
modules/perception/common/inference/operators/roipooling_layer.h
"
30
#include "
modules/perception/common/inference/utils/gemm.h
"
31
32
namespace
apollo
{
33
namespace
perception {
34
namespace
camera {
35
36
struct
FeatureExtractorLayer
{
37
std::shared_ptr<inference::Layer<float>>
pooling_layer
;
38
std::shared_ptr<base::Blob<float>>
rois_blob
;
39
std::shared_ptr<base::Blob<float>>
top_blob
;
40
};
41
42
class
TrackingFeatureExtractor
:
public
BaseFeatureExtractor
{
43
public
:
44
TrackingFeatureExtractor
() =
default
;
45
~TrackingFeatureExtractor
() =
default
;
46
54
bool
Init
(
const
FeatureExtractorInitOptions
&init_options)
override
;
63
bool
Extract
(
const
FeatureExtractorOptions
&options,
64
CameraTrackingFrame
*frame)
override
;
65
66
protected
:
67
void
init_roipooling
(
const
tracking_feature::ROIPoolingParam
¶m);
68
std::vector<std::shared_ptr<FeatureExtractorLayer>>
roi_poolings_
;
69
inference::GPUL2Norm
norm_
;
70
int
input_height_
= 0;
71
int
input_width_
= 0;
72
int
feat_width_
= 0;
73
int
feat_height_
= 0;
74
};
75
76
}
// namespace camera
77
}
// namespace perception
78
}
// namespace apollo
base_feature_extractor.h
blob.h
camera_tracking_frame.h
apollo::perception::camera::BaseFeatureExtractor
Definition
base_feature_extractor.h:48
apollo::perception::camera::TrackingFeatureExtractor
Definition
tracking_feat_extractor.h:42
apollo::perception::camera::TrackingFeatureExtractor::feat_height_
int feat_height_
Definition
tracking_feat_extractor.h:73
apollo::perception::camera::TrackingFeatureExtractor::feat_width_
int feat_width_
Definition
tracking_feat_extractor.h:72
apollo::perception::camera::TrackingFeatureExtractor::Extract
bool Extract(const FeatureExtractorOptions &options, CameraTrackingFrame *frame) override
extract feature from frame
Definition
tracking_feat_extractor.cc:94
apollo::perception::camera::TrackingFeatureExtractor::init_roipooling
void init_roipooling(const tracking_feature::ROIPoolingParam ¶m)
Definition
tracking_feat_extractor.cc:73
apollo::perception::camera::TrackingFeatureExtractor::roi_poolings_
std::vector< std::shared_ptr< FeatureExtractorLayer > > roi_poolings_
Definition
tracking_feat_extractor.h:68
apollo::perception::camera::TrackingFeatureExtractor::input_height_
int input_height_
Definition
tracking_feat_extractor.h:70
apollo::perception::camera::TrackingFeatureExtractor::norm_
inference::GPUL2Norm norm_
Definition
tracking_feat_extractor.h:69
apollo::perception::camera::TrackingFeatureExtractor::Init
bool Init(const FeatureExtractorInitOptions &init_options) override
init feature extractor
Definition
tracking_feat_extractor.cc:25
apollo::perception::camera::TrackingFeatureExtractor::TrackingFeatureExtractor
TrackingFeatureExtractor()=default
apollo::perception::camera::TrackingFeatureExtractor::input_width_
int input_width_
Definition
tracking_feat_extractor.h:71
apollo::perception::camera::TrackingFeatureExtractor::~TrackingFeatureExtractor
~TrackingFeatureExtractor()=default
apollo::perception::inference::GPUL2Norm
Definition
gemm.h:27
gemm.h
util.h
apollo
class register implement
Definition
arena_queue.h:37
object.h
roipooling_layer.h
apollo::perception::camera::CameraTrackingFrame
Definition
camera_tracking_frame.h:31
apollo::perception::camera::FeatureExtractorInitOptions
Definition
base_feature_extractor.h:36
apollo::perception::camera::FeatureExtractorLayer
Definition
tracking_feat_extractor.h:36
apollo::perception::camera::FeatureExtractorLayer::rois_blob
std::shared_ptr< base::Blob< float > > rois_blob
Definition
tracking_feat_extractor.h:38
apollo::perception::camera::FeatureExtractorLayer::top_blob
std::shared_ptr< base::Blob< float > > top_blob
Definition
tracking_feat_extractor.h:39
apollo::perception::camera::FeatureExtractorLayer::pooling_layer
std::shared_ptr< inference::Layer< float > > pooling_layer
Definition
tracking_feat_extractor.h:37
apollo::perception::camera::FeatureExtractorOptions
Definition
base_feature_extractor.h:44
apollo::perception::camera::tracking_feature::ROIPoolingParam
Definition
tracking_feature.proto:21
modules
perception
camera_tracking
feature_extract
tracking_feat_extractor.h