r/computervision • u/Technical-Repeat-319 • 1d ago
Discussion DeepLarning algorithm Vs Keyence, Cognex, Zebra, ...
Can someone tell me in detail the difference between CNNs and the software from the sensors from Keyence, Cognex, Zebra. I can't imagine that it's really "AI" what they are using with like no computing power in their tiny edge devices. Can someone explain it to me? Are there approaches to use open source for industry? Thanks!
1
u/mrking95 1d ago
It’s a bit of a mix to my knowledge. Some have adapted the ability to load pre-trained open source models (allbeit a tad behind) like YOLOx and Anomalib. Or they have wrapped it into their own wrapper with a chosen backend. Depending on which version and feature you use.
Vision controllers like the Keyence XG series (and the newer all-in-ones) also ship with their own AI, but that could mean anything. They have visited us recently and demo’d. Unfortunately no juicy details have been spoiled to us.
Havent used Cognex in a long while so cant help there.
1
u/NewsWeeter 1d ago
If you are a beginner you can learn a lot from keyence, cognex etc. Once you do its so much more powerful to go open source.
1
u/Lost__Moose 1d ago
Smart Camera's primarily have traditional rule based tools on it, which also includes pattern matching. Some of the new ones do have a GPU on it.
For a deep learning solution, you collect images and bring them into a separate development environment, often very constrained; you might get lucky to have some scripting capabilities. You upload examples images of what you are trying to solve for and often only have a few parameters that can be tweaked. These packages are using pretrained models which makes it possible to get a result with a small number of examples. As little as 4 images. 20-30 would be better. You then export the model to the camera to run the inference.
The challenge is with the hardware that is trained on, doesn't always produce the same result as the hardware on the camera.
Industry doesn't really use open source models b/c there is a lack of in-house resources with the right background and track record, to carry the project through the full work flow (organizing your data and iterating is a huge time suck). Off the shelf industrial packages can be restrictive, but they are still faster to get up to speed, deploy and replicate then an open source solution.
8
u/Pubec 1d ago
Using open source for industry is very valid, but what you are risking is a lot of things you get from a product like Keyence (e.g. their IV4 series for simple object detection).
You can create a CNN to do a task if it something in your domain, you can have a better camera and hardware behind it.
What you don't get though is:
simple interface for training / retraining / stats - you can vibe code those, but for industry standards, that quickly becomes a no-no
fieldbus communications (profinet, modbus, etherne/ip, ethercat ....)
periphery: e.g. smart lighting embedded
hardware stability: running a model on something like rk3588 requires quite some driver instalation and optimization to get a good FPS ration for CNN. If that rk3588 dies, your time to reinstall it, will be enormous, plus you have to have live code somewhere like git and models weights somewhere else (or lfs). With industrial smart camera, you just buy new one (or take it from anywhere else you might not need it at that moment), plug the sd card or pc and backup the program from there - everything else is the same
documentation: CE, manuals, electrical schemas, CAD files, ...
Talking from experience (a lot of custom CV projects on all sorts of systems and applications), there is time and place for custom solutions, but a lot of times, these companies did a lot of heavy lifting for us. And the industry usually want a tried and tested solutions, to have replacable parts, that they are familiar with the interface and that they can connect other stuff to it (e.g. Siemens PLC over Profinet etc.).
And, the edge ai is quite powerful. Even RPI + Hailo Hat (which is not that specialized) can run quite fast. My record is 13ms for 1024 x 400px RGB image.