Hello everyone,
I am testing object detection using YOLOv8n with COCO labels on a Raspberry Pi 5 + Hailo-8L using the DeGirum SDK.
The model runs correctly, but I am observing a strange behavior regarding which objects are detected.
Model get in: hailo_model_zoo/docs/public_models/HAILO8L/HAILO8L_object_detection.rst at master · hailo-ai/hailo_model_zoo · GitHub
Problem description
The model detects the first classes in the COCO list very well (people, animals, etc.).
However, when I try to detect other common objects — such as scissors, ball, toothbrush, book, etc. — nothing is detected at all.
I am showing the objects directly in front of the camera, sometimes even using images displayed on a phone screen.
Objects belonging to the first ~20 classes are detected reliably, but anything beyond that seems to never be detected.
This makes me suspect that:
-
Either there is some configuration or post-processing limitation,
-
Or the label mapping is wrong,
-
Or maybe the model is not really using the full COCO class set,
-
Or lighting / brightness might be affecting detection of small objects.
From my tests, it feels like only classes up to approximately index 21 are being detected.
Model Configuration
{
“ConfigVersion”: 11,
“Checksum”: “da96ad3b3730500d56c8e13d164d44a78eb6f062516717d4c4195f7995a8c391”,
“DEVICE”: [
{
“DeviceType”: “HAILO8L”,
“RuntimeAgent”: “HAILORT”,
“SupportedDeviceTypes”: “HAILORT/HAILO8L, HAILORT/HAILO8”
}
],
“PRE_PROCESS”: [
{
“InputN”: 1,
“InputH”: 640,
“InputW”: 640,
“InputC”: 3,
“InputQuantEn”: true
}
],
“MODEL_PARAMETERS”: [
{
“ModelPath”: “yolov8n.hef”
}
],
“POST_PROCESS”: [
{
“OutputPostprocessType”: “DetectionYoloHailo”,
“LabelsPath”: “labels_coco.json”
}
]
}
Inference script
import degirum as dg, degirum_tools
import cv2
your_model_name = “yolov11n_opt”
your_host_address = “@local”
your_model_zoo = ‘/’
your_token = {}
model = dg.load_model(
model_name = your_model_name,
inference_host_address = your_host_address,
zoo_url = your_model_zoo,
token = your_token
)
video_source = cv2.VideoCapture(1)
with degirum_tools.Display(“AI Camera”) as output_display:
for inference_result in degirum_tools.predict_stream(model, video_source):
output_display.show(inference_result)
How could I fix this?
I also tried assigning specific classes for it to detect, but it only detects those classes.
Thanks in advance!