luxonis / depthai-python

DepthAI Python Library
MIT License
360 stars 193 forks source link

No image_id in image detection results #867

Open meetyg opened 1 year ago

meetyg commented 1 year ago

Hello. I'm trying to run face detection (just bounding boxes, not face recogition or matching for now...) using the face_detection_retail_0004 model. It works fine, but I thought that a unique id would be attached to each detection in the batch, for each face found in the frame.

Following this tutorial: https://docs.luxonis.com/projects/api/en/latest/tutorials/hello_world/?highlight=image_id#consuming-the-results It is stated that image_id is one of the fields returned by the MobileNetSSD result. As I understand it, maybe image_id` is what I'm looking for.

The problem is that such a field doesn't exist in the ImgDetections or SpatialImgDetections data (neither in Python or C++ depthAI libraries).

Looking at: https://docs.openvino.ai/2023.0/omz_models_model_face_detection_retail_0004.html It also states that image_id is one of the returned field of the network. But it seems that depth AI doesn't pass this field onwards.

Maybe there is another way around this? Am I missing something? My end goal is save unique faces in the frame into files, without repeating them in the next frame, if allready found/tracked.

Thanks.

Erol444 commented 1 year ago

Hi @meetyg , The model does have image_id output, but since we always send a single image to the model, that output is always 0, so we don't expose it through depthai (as it's useless). That's why ImgDetection has only 6 values (label, confidence, and bbox (4 values)), docs here: https://docs.luxonis.com/projects/api/en/latest/references/python/#depthai.ImgDetection Thanks, Erik