So far I’ve had a problem with the libre_id.so library for hailocropper. When there’s a detection, the pipeline gets a segmentation error. I’ve recompiled the file in debug mode to know where was the problem. Here you can see that this is where the “objects” is empty :
HailoUniqueIDPtr get_tracking_id(HailoDetectionPtr detection)
{
auto objects = detection->get_objects_typed(HAILO_UNIQUE_ID);
if (objects.empty()) {
std::cerr << "Error: detection contains no objects of type HAILO_UNIQUE_ID" << std::endl;
return nullptr;
}
for (auto obj : objects)
{
HailoUniqueIDPtr id = std::dynamic_pointer_cast<HailoUniqueID>(obj);
if (!id) {
std::cerr << "Error: dynamic_pointer_cast to HailoUniqueID failed" << std::endl;
continue;
}
if (id->get_mode() == TRACKING_ID)
{
std::cout << "Tracking ID found: " << id->get_id() << std::endl;
return id;
}
}
std::cerr << "Error: No HailoUniqueID with mode TRACKING_ID found" << std::endl;
return nullptr;
}
Then the get_id() method makes the program crash cause of the nullptr. Why does the detection->get_objects_typed(HAILO_UNIQUE_ID) returns an empty objects ?
hi @axplessis, we would like to reproduce the issue. For that, could you please add any extra details such as pipeline, env, and anything else relevant?
My project is running on a raspberry pi 5 using a H8L and a camera module 3. I’ve downloaded the package hailo-all so tappas and hailort are a version late.
Here is the pipeline I made, adapted from the hailo-rpi5-examples pose-estimation.py and inspired by the multi-person-multi-camera-tracking script :
The initial problem I was experiencing was that the pipeline launched pretty well but crashed when a person faced the camera. I’ve managed to know that the crash occurred in libre_id.so cropper file using gdb. I then recompiled the file to avoid the crash and put instead an error message to specifically know where the crash was.
I should add that the tracker everything works well using the yolov8s_h8l.hef model with libyolo_hailortpp_post.so. I guess that the problem comes from the yolo_pose model but i really need those landmarks.