r/computervision • • 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!

7 Upvotes

8 comments sorted by

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.

3

u/bfyvfftujijg 1d ago

Excelllent post.

It’s all the bits and pieces surrounding the core algorithm that are expensive and make or break the solution.

The CNN itself is the easiest portion

1

u/Ejiren 1d ago

Can you elaborate this part?

“… but for industry standards, that quickly becomes a no no”

What are those standards and why no?

1

u/Pubec 1d ago

Industry prefers a familiar and intuitive UI. You might get those. Industry also requires some module testing, e.g. CFR 21 Part 11, requires certain style of coding, all modules to be the tested with unit tests. Also, you don't want any unknown bugs finding in production. So it's not a quick solution thats a problem, but its the fact in usually has to be working 100% times and robust.

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.