That demo of real-time blob detection and sorting by color filtering was doable in 1998. Earlier than that, even. I've found about 90% of the work in vision applications in industrial packaging is in the product handling and scene setup - focal length, lens selection, exposure time, etc. - all things familiar to a photographer. The last 10% is almost always handled by bog simple algorithms that can be more or less cobbled together from OpenCV's examples and boilerplate, the most complicated usually being OCR.
The value-add of these dedicated industrial vision systems is in integration. Fanuc's iRVision is good at sending spatial data back to the robot controller, but the interface itself is a horrid kludge that specifically requires Internet Explorer and in-person training at their own (admittedly very nice) facilities and promises of litigation if you so much as think about sharing documentation with co-workers.
Recording images during trial runs with their native tooling was impossible, as their under-powered processor couldn't handle saving 640x480 images at 10fps while also running the vision application. So we resorted to recording test runs by feeding the live view OBS, and everyone thought I was some kind of wizard for even considering that.
At least Cognex's In-Sight has the ability to simulate their weird spreadsheet-based vision programs without a camera. With Fanuc you need the whole $30,000+ robot+controller+camera setup and with real-time applications the only way to debug it is to run it in situ.
Now my most recent industrial vision experience is from 2019, so maybe some things have changed. But these are folks that often don't even know what source control is and will run screaming for the hills at the first sign of anything that's not Excel or ladder logic, and balk at the idea of paying an experienced engineer more than $100k all the while wondering why they aren't finding any talent.
I’m hugely enthusiastic hobbyist that would love to chat more about robotics, in particular how a hobbyist could get started with it (a robot arm + camera maybe?). I’d love to buy you virtual coffee, get in touch if you’re up to it!
The finances on pure software are just so much better. Better margins, better scale, better return on equity. Since ROE is always going to be better (because you're not touching atoms) you'll always have better valuation on the stock market, and be able to pay programmers better.
It's less a "gap" in the market and more "the market functioning correctly". There's no law of the universe that says programming a robot has to pay as well as programming a SAAS webapp.
Think about scale. If you teach programming at a middle school, you have maybe 100 customers at a time. If you work for a hardware company, you have 1,000,000 customers. If you work for facebook, you have 3,000,000,000 customers. Which one of these will pay the most?
If we want to not lose (or should I say restore?) the ability to manufacture stuff in the US this trend has to be broken somehow.
I did a project with Lego sorting marbles in 2009 doing this in High School. By that point, anyone with $100 and a few hours of spare time could put together a rudimentary sorting system.
Reasons why I think it shows off their best features:
- two regular industrial cameras 1.5m away
- shiny and slippery parts
- vacuum gripper (not magnetic)
- cramped picking environment
- works even when things move around (no scene caching)
- fast (video is not sped up)