Hey everyone,
I’ve built an object detection system using Sony’s IMX500 and a custom-trained YOLOv11n model. The goal is to detect trash on the street — mainly things like bags, bottles, and general litter. I’ve collected and labeled thousands of images, and trained the model through Edge Impulse with YOLOv11n.
The model converts fine, and I’ve successfully deployed it to the IMX500 (got a working .rpk with full inference running on the device). It can detect trash bags in some situations, but it’s very inconsistent:
It detects a trash bag when the camera is close and at a certain angle, but fails when I move away or return to the same spot.
It barely detects other common trash items.
Sometimes it seems like the model “forgets” an object it previously recognized when the camera shifts slightly.
I’m trying to figure out if this is a dataset issue, an overfitting/generalization problem, or something deeper like poor handling of anchors or input resolution.
What I’ve done:
Used YOLOv11n (nano) for edge compatibility.
Thousands of labeled images from real-world street footage.
Converted the model using imxconv-pt and packaged with imx500-package.sh.
Running the demo using the PiCam with full setup on the Raspberry Pi + IMX500.
Questions:
Is YOLOv11n maybe too lightweight for this kind of use case? Should I go for YOLOv11s instead and re-convert it?
Any tips on increasing generalization when the model “forgets” an object just because the camera moved slightly?
Would adding background-only images or hard negatives help improve detection consistency?
Anyone with experience on IMX500 edge deployment who ran into similar inconsistency issues?
Appreciate any thoughts — even just pointing me in the right direction. Thanks in advance!
I’ve built an object detection system using Sony’s IMX500 and a custom-trained YOLOv11n model. The goal is to detect trash on the street — mainly things like bags, bottles, and general litter. I’ve collected and labeled thousands of images, and trained the model through Edge Impulse with YOLOv11n.
The model converts fine, and I’ve successfully deployed it to the IMX500 (got a working .rpk with full inference running on the device). It can detect trash bags in some situations, but it’s very inconsistent:
It detects a trash bag when the camera is close and at a certain angle, but fails when I move away or return to the same spot.
It barely detects other common trash items.
Sometimes it seems like the model “forgets” an object it previously recognized when the camera shifts slightly.
I’m trying to figure out if this is a dataset issue, an overfitting/generalization problem, or something deeper like poor handling of anchors or input resolution.
What I’ve done:
Used YOLOv11n (nano) for edge compatibility.
Thousands of labeled images from real-world street footage.
Converted the model using imxconv-pt and packaged with imx500-package.sh.
Running the demo using the PiCam with full setup on the Raspberry Pi + IMX500.
Questions:
Is YOLOv11n maybe too lightweight for this kind of use case? Should I go for YOLOv11s instead and re-convert it?
Any tips on increasing generalization when the model “forgets” an object just because the camera moved slightly?
Would adding background-only images or hard negatives help improve detection consistency?
Anyone with experience on IMX500 edge deployment who ran into similar inconsistency issues?
Appreciate any thoughts — even just pointing me in the right direction. Thanks in advance!
Statistics: Posted by DavidthePIman — Fri May 02, 2025 5:56 pm — Replies 0 — Views 59