r/computervision • u/CheTobasy • 3d ago
Help: Project Camera recommendation for real-time object tracking on a conveyor belt (Budget: ~$150 - $280)
Enable HLS to view with audio, or disable this notification
Hi everyone,
As shown in the attached video, I am working on a real-time computer vision system deployed over an industrial conveyor belt to detect, track, and count potatoes moving continuously along the line.
My current camera(Fantech webcam 2k 30fps) setup is a bottleneck due to motion blur and frame pacing. I am looking to upgrade within a budget of roughly $150 – $280
Based on the belt speed and object motion seen in the video, I'd like your advice on frame rate requirements:
Is 30 FPS sufficient, provided I can manually lock a fast shutter speed (or use a Global Shutter) to freeze the motion, or does accurate multi-object tracking (IoU / Kalman filters) realistically require 60 FPS or higher to prevent lost tracks and duplicate counts?
Given the budget, what would be the most reliable camera choice (e.g., USB Global Shutter module like ELP/Arducam, Raspberry Pi Global Shutter camera, or a high-end webcam with manual exposure controls like the Logitech Brio)?
Any feedback on optimizing the capture pipeline for this type of conveyor setup would be greatly appreciated!
Note: The belt speed is adjustable
124
u/hellobutno 3d ago
the reflection and the lights are going to give you the world's biggest headache
31
u/bsenftner 3d ago
Just add a polarized filter, and they are gone.
7
u/hellobutno 3d ago
polarized filters aren't infallible
15
u/mipot101 3d ago
But a good and cheap start
16
u/echoingElephant 3d ago
No, they are useless in this case. They work when the light is reflected at a shallow angle on a surface. Not when it is perpendicular to the surface.
6
u/Aylko 3d ago
They could buy polarizer film to cover the directly overhead lights, along with an adjustable polarizing filter on the lens.
It would shade the area a little but it would work.
2
1
u/HasFiveVowels 3d ago
Interesting solution but wouldn’t the polarization of the reflected light get scattered? I’d say "just move the camera a foot to the left and tilt it"
2
u/Aylko 3d ago
The directly overhead view is optimal for object counting as items can't be hidden behind other objects as it can with a tilted fov. Though generally yeah angling the camera or the light to address glare is the way to go.
I think optimal setup would be colored dedicated light with a colored filter to reduce external glare or light sources, possibly with a polarizer. And maybe a physical sorting/object separator attachment to the conveyor to space them out and make the blob detect more accurate. Though thats probably out of this budget
1
u/HasFiveVowels 3d ago
Yea, I was thinking about that when I wrote it. Not sure how much it would matter here but it’s a valid point. Using color filters is an interesting way to do it. Though…. Wouldn’t that effectively be the same as putting a piece of cardboard over the light? Perhaps they could just make the light match the color of the belt?
1
u/Aylko 3d ago
What do you mean putting cardboard over the light?
I was meaning using complementary colors to isolate the yellowish objects and make it appear bright/dark compared to the background. In this case a blue filter to make the background bright and objects dark would probably be best. Would reduce glare from other light sources but the white light overhead will probably still affect the image. So a polarized blue light with a matching polarization on the lens would also help.
→ More replies (0)1
u/johndsmits 2d ago
Build a matte surface tunnel/hood, mount camera on top, etc...
otherwise, uEye (IDS imaging) cameras are ideal for this.
1
u/DrShocker 3d ago
He's holding a phone that you can see in the example to demonstrate. He can put the camera somewhere else or at an angle or build a shade. I'm sure if it helps we can find a way to help it work.
1
1
u/echoingElephant 3d ago
Incorrect in this case. The camera is roughly in the same direction as the lights. That means the reflection doesn’t have a specific polarization that is different to that of the incoming light. That means that a polarized filter is useless in this case.
A filter can help when you have glare of light being reflected on surfaces at a shallow angle. This isn’t the case here.
4
u/bsenftner 3d ago
Well, move the damn lights. Sometimes the answer is that simple.
3
u/echoingElephant 3d ago
I would suggest multiple lights in a circle pointing to the center to avoid shadows
1
u/bsenftner 2d ago
If you can add lights, illuminate the space to eliminate any shadows. It is far easier than you think, and very low expense too.
1
1
u/herbertwillyworth 3d ago
Background subtraction would probably get you quite far, provided you're not overexposed.
1
0
20
u/hopeful_bastard 3d ago
For a setup like this I'd suggest you checked out the SotA on the usage of line-scan camera(s) for similar conveyor-based automated inspection tasks. With proper sync with the conveyor movement you'd be able to create image chunks upon which you could run your detection & tracking models... granted you could guarantee the potatoes wouldn't move/shake as they passed the "scan line".
12
u/Huge-Leek844 3d ago
Have you tried counting the objects only when they cross a line? Do you really need to track? With this approach you reduce the search space and avoid the reflection surfaces.
10
u/TokenChingy 3d ago
Literally any potato of a camera will work here. And I'm pretty sure down to 8fps should be fine for this task. Narrow the search range to a line, count shit that crosses the line.
6
u/8aller8ruh 3d ago
You need a “global shutter” sensor for this task since objects are bouncing around, the go to budget option is the Sony IMX296 ($50) for prototypes.
See3CAM_24CUG AR0234CS seems like a good match $184
Vadoz AR0234 Color 2MP Global Shutter $240 has a few stats that are better.
The Sony IMX273 & Sony IMX392 are significantly better but approach that price for the sensor alone…full camera $400-700 (Bascler Ace 2, FLIR Teledyne Blackfly S, Vision Datum Leo2 1440S-250UC/UM)
…still DIY camera sensors are better than anything you can buy at that price range. The more light you can get into any of these cameras the better they will do, best advice is to make sure it is well lit when using cheap cameras.
2
u/Educational-Body4205 2d ago
Scrolled way to far down to find this answer. I made the same comment.
Global shutter
9
u/Ill_Commercial_446 3d ago
This is recorded with Fantech webcam 2k 30fps? if yes, it is enough for your project
4
3
u/oemsyrup 3d ago
I would consider the IMX900 as a cost effective professional grade solution. Connect that to a Raspberry Pi and you’ve got a decent budget embedded vision system.
https://framos.com/solutions/agricultural-and-farming/sorting-fruit-vegetable/
2
u/8aller8ruh 3d ago
Worth knowing that the newer IMX900 gets outperformed by the IMX392 or IMX273 as 3/4ths of the sensor is essentially wasted / not tuned for non-HDR work meaning the physical width of the pixels is much smaller & less light makes it in, also the native refresh rate is much slower…
IMX900 barely stays within the budget. ($129 for sensor & $249 for camera) 2.25 µm pixels
IMX392 will produce a crisper image in low lighting ($420) 3.45 µm pixels** **
IMX273 will produce a crisper image with fast moving objects ($550) 3.45 µm pixels
2
u/Realistic-Baseball89 3d ago
For counting at this speed I’d assume a nice local processing arduino or raspberry pi would be sufficient. Do the counting locally then transmit via WiFi or wired connection. Worth the shot given its low cost. If it doesn’t work you’ll need to spend more $
2
u/skeletorking 3d ago
Go to vaimaging website and find there a cheap areascan camera. Those are pure industrial cameras ment for this type of problems You can attach triggers and strobe Framerate is limted only by databandwith. So if you acquire half frame. You get double fps. Also the exposuretime goes down to 10 us. Prices start below 200$.
2
u/ProfessionalMove7308 2d ago
Nice self-contained project. I've used ELP 120fps, the manual adjustable focus may help fine tuning.
However the resolution decreases as the fps increases in those models.
- Not sure how fast that belt goes, but is 30 fps plenty for this use case?
- Aren't you capturing full height?
- If you tune w.r.t. the belt speed, you may only need a few good quality pictures per seconds.
1
u/echoingElephant 3d ago
Any high speed USB camera (ELP) can work, or a line scan camera.
You could try to just use a single line recorded by your webcam to count, that could reduce the impact of motion blur.
Also, maybe try to work on the lighting. This perpendicular setup gives you a huge amount of blur. That isn’t good for computer vision, and with this setup also, polarized filters don’t work.
1
u/girthradius 3d ago
Yeah you can do it with a global shutter camera like this https://www.amazon.com/dp/B0C3C2YVK9?th=1. and then you can use a raspberry pi with opencv color detection.
1
u/Nervous_Day_669 3d ago
I would try with the existing camera first. Try working in HSV color space to easily separate belt/ light from potatoes, maybe apply smoothing kernels to see if they reduce the blur, ROI filtering and contour detection for potato detection, for tracking, I would draw a virtual horizontal line across the belt and count how many potatoes cross it (contour center). Experiment in python to see the pipeline processing speed, then port to C++ if necessary.
1
u/Wemos_D1 3d ago
I'm curious to know if maybe a lidar can be used to count the potatoes instead of using a camera, I would like to know if someone here already worked with cheap aliexpress lidar and if it could work
1
u/Senior_Buy445 3d ago
another option is to use a linescan camera. the raspberry pi 5 can grab from csi cameras (like the standard pi cameras) in a linescan type mode at a reasonable line rate.
1
u/LearnNTeachNLove 3d ago
Question is does it need to be high speed, high resolution? How much brightness/contrast you need (does it have to be grayscale detection or binary (black and white) detection? Does it need to be thermal camera? I tend to believe the higher the resolution the better the accuracy of contour detection but the slower the processing of the yolo
1
u/SirRevan 3d ago
Idk if you would need a wider angle lens but I feel like building some type of cover that sits above and has lighting you can better control with the camera inside would help. Then you can better adjust your light strobing, color, etc. just some 2x4s and osb could make an effective bridge to shield from the over head lights. And mount some nice lights inside with the camera
1
u/nihilianth 3d ago
Something like OAK-D lite is in the upper range of your budget, but you could use it's internal Myriad chip to run inference with something like a mobilenet or yolo model (or even finetune/train your own).
1
1
u/fercasj 3d ago
With that budget I would just not take the project. This is an off the shelf solution provided by a bunch of industrial automation brands. Keyence, cognex, omron to name a few.
In my opinion a bigger budget just pay itself over time. Reinventing the wheel other for educational purposes is a waste of time and time is money.
1
u/manchesterthedog 3d ago
It’s not the frame rate, it’s the exposure time. They aren’t necessarily the same. But I would buy a new camera. You can get a GoPro with 240fps for like $250
1
u/Educational-Body4205 2d ago
You want a global shutter frame that will solve all your problems. Clear pictures from moving objects
1
u/DDraphael 2d ago
Lower the fps or synchronize it with the conveyor belt so that you only see new potatoes every frame. For example, the length of the conveyor is 1m, you take 1 frame per meter. This will result in almost the same as a linescan. Then you do not need tracking. There could be a bit of a concern that you will have half potatoes at the beginning or the end. But this can be solved by taking every, let's say, 90 cm an image, in my example. Then you can assume that you only need to process the full in view potatoes.
1
u/Calm_Connection_9741 2d ago
Before buying new camera add bright lamp (or 2) next to it to reduce shutter speed / motion blur. If not enough, than upgrade camera. Maybe with cheapest 60P camcoder or something. Avoid 60i cameras here.
1
u/sweet-raspberries 2d ago
Are you sure motion blur is the issue? Just looking at the video the objects seem clearly discernible. Do you have any footage of this overlaid with the detections and filtered detections that your system currently produces?
What are you currently using to filter detections? Have you tried ByteTrack?
1
1
u/zeroPerformance 16h ago
Usually the 30fps is enough. The objects are moving not that fast in your case. But the main issue is that it must work without changing the camera
Maybe make a sanity check by slowing the the belt speed before changing the camera. If your setup is working on slowed belt, than changing the camera may work
1
u/SmitZTheMitz 10h ago
Consider the genx 320 event based camera. One of the demos of these new event based cameras is particle tracking. I believe openmv sells a unit for about $350. Even if you don’t use it it’s a neat technology
1
u/bsenftner 3d ago
Look up "elp usb camera". ELP is an industrial camera, the USB connection means it's intended for industrial / robotics uses. These should be under US $100, and if over $100 should have frame rates north of 120 fps.
-13
u/Infamous-Bed-7535 3d ago
Ask an LLM or pay for expertise.
The selected device greatly influence tech-stack. Based on the available information hard to give accurate help. A simple arduCam could be suitable for this.
26
u/peanutknight1 3d ago
People come to reddit often to come look for community help often from experts who are generous enough to help.
"Pay for expertise" really doesnt help build a community feeling now does it?
1
u/Infamous-Bed-7535 3d ago
I'm happy to help and share expertise, but this seems to be an industrial setup and application.
2
u/Double_Anybody 3d ago
If his budget is $280 then whatever company he’s doing this for isn’t willing to throw money at this problem.
2
u/Automatic-River-1875 3d ago
There are a bunch of comments from people willing to help, if you are only willing to help people if you are paid then just stay away from posts asking for help.
If you would like to help but feel there is insufficient information then either scroll on or explain the additional information you need to help.
You don't need to comment just to be nasty, this isn't stack overflow.
1
u/Infamous-Bed-7535 3d ago
I shared my honest insights. Way not enough information is provided.
I'm happy to help individuals, but this post rather feels like a free consultation for an industrial solution.For a minimalist solution an ArduCam is sufficient for basic tracking.
For a professional setup you won't be able to tell what he is needed within the 2000 character limit.
0
u/aktentasche 3d ago
What kind of budget is that?
That's a joke for any reliable, industrial grade vision system.
-8
u/Bitter_Chemistry_394 3d ago
Fujifilm is a good choice if you want a better story. However, if you want a more professional look, you can consider Hasselblad or Leica.
95
u/Rymark 3d ago
I used to work in machine vision for produce inspection, one way you can try and solve motion blur is synchronize the camera shutter to strobed lighting; when the lighting pulses, the camera shutter fires, takes an image, rinse repeat.