|
@@ -31,17 +31,28 @@ void InferNode::work()
|
|
printf("model is nullptr\n");
|
|
printf("model is nullptr\n");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- auto res = model_->forward(tensor::cvimg(image));
|
|
|
|
- for (auto& r : res)
|
|
|
|
|
|
+ auto det_result = model_->forward(tensor::cvimg(image));
|
|
|
|
+ if (model_type_ == ModelType::DEPTH_ANYTHING)
|
|
{
|
|
{
|
|
- metaData->boxes.push_back(r);
|
|
|
|
|
|
+ auto result = std::get<cv::Mat>(det_result);
|
|
|
|
+ // do something
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
- metaData->boxes = res;
|
|
|
|
- for (auto& output_buffer : output_buffers_)
|
|
|
|
|
|
+ else if (model_type_ == ModelType::YOLO11 || model_type_ == ModelType::YOLOV8 || model_type_ == ModelType::YOLOV5)
|
|
{
|
|
{
|
|
- // printf("Node %s push data to %s\n", name_.c_str(), output_buffer.first.c_str());
|
|
|
|
- output_buffer.second->push(metaData);
|
|
|
|
|
|
+ auto result = std::get<data::BoxArray>(det_result);
|
|
|
|
+ for (auto& r : result)
|
|
|
|
+ {
|
|
|
|
+ metaData->boxes.push_back(r);
|
|
|
|
+ }
|
|
|
|
+ metaData->boxes = result;
|
|
|
|
+ for (auto& output_buffer : output_buffers_)
|
|
|
|
+ {
|
|
|
|
+ // printf("Node %s push data to %s\n", name_.c_str(), output_buffer.first.c_str());
|
|
|
|
+ output_buffer.second->push(metaData);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
if (!has_data)
|
|
if (!has_data)
|
|
{
|
|
{
|