38 const std::vector<base::ObjectSubType> &types,
39 float score_threshold, std::vector<base::ObjectPtr> *objects) {
40 const auto bbox_ptr = box3ds->cpu_data();
41 const auto label_ptr = labels->cpu_data();
42 const auto score_ptr = scores->cpu_data();
44 int feature_size = box3ds->shape(1);
46 for (
int i = 0; i < scores->count(); ++i) {
47 float score = score_ptr[i];
48 if (score < score_threshold) {
55 obj->sub_type =
GetSubtype(label_ptr[i], types);
59 obj->sub_type_probs.assign(
61 obj->type_probs[
static_cast<int>(obj->type)] = score;
62 obj->sub_type_probs[
static_cast<int>(obj->sub_type)] = score;
63 obj->confidence = score;
67 objects->push_back(obj);
72 obj->camera_supplement.local_center[0] = bbox[0];
73 obj->camera_supplement.local_center[1] = bbox[1];
74 obj->camera_supplement.local_center[2] = bbox[2];
76 obj->size[0] = bbox[4];
77 obj->size[1] = bbox[3];
78 obj->size[2] = bbox[5];
83 obj->center(0) =
static_cast<double>(obj->camera_supplement.local_center[0]);
84 obj->center(1) =
static_cast<double>(obj->camera_supplement.local_center[1]);
85 obj->center(2) =
static_cast<double>(obj->camera_supplement.local_center[2]);
void GetObjects(const base::BlobPtr< float > &box3ds, const base::BlobPtr< float > &labels, const base::BlobPtr< float > &scores, const std::vector< base::ObjectSubType > &types, float score_threshold, std::vector< base::ObjectPtr > *objects)
Get the Objects objects from blob