152 {
153 if (frame == nullptr) {
154 return false;
155 }
156
157
158 auto model_inputs = model_param_.
info().inputs();
159 auto input_img_blob =
net_->get_blob(model_inputs[0].name());
160 auto input_img2lidar_blob =
net_->get_blob(model_inputs[1].name());
161
162 ImagePreprocess(frame, input_img_blob);
163 ImageExtrinsicPreprocess(input_img2lidar_blob);
164
165
167
168
169 auto model_outputs = model_param_.
info().outputs();
170 auto output_bbox_blob =
net_->get_blob(model_outputs[0].name());
171 auto output_score_blob =
net_->get_blob(model_outputs[1].name());
172 auto output_label_blob =
net_->get_blob(model_outputs[2].name());
173
175 GetObjects(output_bbox_blob, output_label_blob, output_score_blob, types_,
176 threshold, &frame->detected_objects);
177
178 Nuscenes2Apollo(&frame->detected_objects);
179
180 return true;
181}
std::shared_ptr< inference::Inference > net_
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
optional common::ModelInfo info
optional float score_threshold