Apollo 11.0
自动驾驶开放平台
postprocess_cuda.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
17/*
18 * Copyright 2018-2019 Autoware Foundation. All rights reserved.
19 *
20 * Licensed under the Apache License, Version 2.0 (the "License");
21 * you may not use this file except in compliance with the License.
22 * You may obtain a copy of the License at
23 *
24 * http://www.apache.org/licenses/LICENSE-2.0
25 *
26 * Unless required by applicable law or agreed to in writing, software
27 * distributed under the License is distributed on an "AS IS" BASIS,
28 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29 * See the License for the specific language governing permissions and
30 * limitations under the License.
31 */
32
40#pragma once
41
42// headers in STL
43#include <iostream>
44#include <memory>
45#include <vector>
46
47// headers in local files
49
50namespace apollo {
51namespace perception {
52namespace lidar {
53
55 private:
56 const float float_min_;
57 const float float_max_;
58 const int num_anchor_;
59 const int num_class_;
60 const float score_threshold_;
61 const int num_threads_;
62 const float nms_overlap_threshold_;
63 const int num_box_corners_;
64 const int num_output_box_feature_;
65
66 std::unique_ptr<NmsCuda> nms_cuda_ptr_;
67
68 public:
83 PostprocessCuda(const float float_min, const float float_max,
84 const int num_anchor, const int num_class,
85 const float score_threshold, const int num_threads,
86 const float nms_overlap_threshold, const int num_box_corners,
87 const int num_output_box_feature);
88
114 const float* rpn_box_output, const float* rpn_cls_output,
115 const float* rpn_dir_output, int* dev_anchor_mask,
116 const float* dev_anchors_px, const float* dev_anchors_py,
117 const float* dev_anchors_pz, const float* dev_anchors_dx,
118 const float* dev_anchors_dy, const float* dev_anchors_dz,
119 const float* dev_anchors_ro, float* dev_filtered_box,
120 float* dev_filtered_score, int* dev_filtered_label, int* dev_filtered_dir,
121 float* dev_box_for_nms, int* dev_filter_count,
122 std::vector<float>* out_detection, std::vector<int>* out_label);
123};
124
125} // namespace lidar
126} // namespace perception
127} // namespace apollo
PostprocessCuda(const float float_min, const float float_max, const int num_anchor, const int num_class, const float score_threshold, const int num_threads, const float nms_overlap_threshold, const int num_box_corners, const int num_output_box_feature)
Constructor
void DoPostprocessCuda(const float *rpn_box_output, const float *rpn_cls_output, const float *rpn_dir_output, int *dev_anchor_mask, const float *dev_anchors_px, const float *dev_anchors_py, const float *dev_anchors_pz, const float *dev_anchors_dx, const float *dev_anchors_dy, const float *dev_anchors_dz, const float *dev_anchors_ro, float *dev_filtered_box, float *dev_filtered_score, int *dev_filtered_label, int *dev_filtered_dir, float *dev_box_for_nms, int *dev_filter_count, std::vector< float > *out_detection, std::vector< int > *out_label)
Postprocessing for the network output
Non-maximum suppresion for network output
class register implement
Definition arena_queue.h:37