#include <spp_seg_cc_2d.h>
◆ SppCCDetector()
| apollo::perception::lidar::SppCCDetector::SppCCDetector |
( |
| ) |
|
|
default |
◆ ~SppCCDetector()
| apollo::perception::lidar::SppCCDetector::~SppCCDetector |
( |
| ) |
|
|
inline |
◆ Detect()
| size_t apollo::perception::lidar::SppCCDetector::Detect |
( |
SppLabelImage * |
labels | ) |
|
在文件 spp_seg_cc_2d.cc 第 68 行定义.
68 {
69 Timer timer;
70 if (!first_process_) {
72 }
73 first_process_ = false;
74 BuildNodes(0, rows_);
75 double init_time = timer.toc(true);
76
77 double sync_time = timer.toc(true);
78
79 TraverseNodes();
80 double traverse_time = timer.toc(true);
81
82 UnionNodes();
83 double union_time = timer.toc(true);
84
85 size_t num = ToLabelMap(labels);
87 double collect_time = timer.toc(true);
88
89 AINFO <<
"SppSegCC2D: init: " << init_time <<
"\tsync: " << sync_time
90 << "\ttraverse: " << traverse_time << "\tunion: " << union_time
91 << "\tcollect: " << collect_time << "\t#obj: " << num;
92
93 return num;
94}
◆ Init()
| void apollo::perception::lidar::SppCCDetector::Init |
( |
int |
rows, |
|
|
int |
cols |
|
) |
| |
|
inline |
在文件 spp_seg_cc_2d.h 第 40 行定义.
40 {
41 if (rows_ * cols_ != rows * cols) {
42 if (nodes_ != nullptr) {
44 }
45 nodes_ = algorithm::IAlloc2<Node>(rows, cols);
46 rows_ = static_cast<int>(rows);
47 cols_ = static_cast<int>(cols);
48 }
49 CleanNodes();
50 }
◆ SetData()
| void apollo::perception::lidar::SppCCDetector::SetData |
( |
const float *const * |
prob_map, |
|
|
const float * |
offset_map, |
|
|
float |
scale, |
|
|
float |
objectness_threshold |
|
) |
| |
在文件 spp_seg_cc_2d.cc 第 26 行定义.
28 {
29 prob_map_ = prob_map;
30 offset_map_ = offset_map;
31 scale_ = scale;
32 objectness_threshold_ = objectness_threshold;
33 worker_.
Bind(std::bind(&SppCCDetector::CleanNodes,
this));
35}
void Bind(const std::function< bool()> &func)
该类的文档由以下文件生成:
- modules/perception/lidar_detection/detector/cnn_segmentation/spp_engine/spp_seg_cc_2d.h
- modules/perception/lidar_detection/detector/cnn_segmentation/spp_engine/spp_seg_cc_2d.cc