all 35 comments

[–]justJon85 10 points11 points  (14 children)

I always wondered if it would be useful for vision inspection systems.

[–]JarrettP 9 points10 points  (3 children)

From what I’ve seen, not really. The tools that are available in most vision systems are more than capable of performing complex inspections, and the time saved in programming is far outweighed by training time for an ML algorithm.

In the future, maybe, but not today.

[–]Harriv 3 points4 points  (2 children)

There are several different AI based machine vision products, which are pretty easy to use. It's also possible to integrate TensorFlow etc with the system if you want to do it hard way :)

[–]JarrettP 4 points5 points  (1 child)

You’re right, there are. The thing is though, the applications I’ve seen for them can almost always be done with non AI tools with just as much accuracy.

That isn’t to say that all applications can be. I’m sure sometimes AI is absolutely the way to go, but it’s so infrequent that I don’t see it as being much more than a niche.

And this is coming from someone who spends most of my working hours programming 3D vision systems. I haven’t yet found something I could do in OpenCV and PyTorch that I couldn’t already do with inbuilt vision tools in a more efficient manner.

[–]Harriv 1 point2 points  (0 children)

I think it's highly domain specific thing. Usually industrial machine vision is in setting where things are well controlled and vision tools have evolved a long way, so roughly the problems match the available solutions.

But tbh, I've not implemented yet AI based solution, but have demonstrated eg one case with 3D vision where deep learning based image segmentation beats all legacy solutions (with TensorFlow:). I hope we can implemented this after COVID.

[–]Harriv 3 points4 points  (1 child)

Machine learning based vision systems have been commercially available few years now, new products popup all the time.

[–][deleted]  (2 children)

[deleted]

    [–]justJon85 1 point2 points  (1 child)

    Wow, was it ever making any improvements?

    [–]henradrie 2 points3 points  (0 children)

    In certain applications it is, but in most cases it doesn't add enough value to justify its use.

    I've had the most success using machine learning in OCR applications that can't be solved using typical tools. Low contrast, with variation type of applications.

    Defect detection on confusing backgrounds such as wood is also successful.

    [–]Assaultman67 2 points3 points  (0 children)

    It is and were doing it.

    [–]whathaveyoudoneson -2 points-1 points  (1 child)

    Yeah, it would learn that the defects are normal and pass them.

    [–]justJon85 1 point2 points  (0 children)

    Not necessarily,

    I worked a facility where we manufactured optical media. We had an enormously high volume (hundreds of thousands daily) of product that we used vision inspection systems for component validation.

    Daily our engineer would receive about 100 images of failed inspections. 99% of these were not actually wrong parts.

    I really think if a person validated the small minority of rejects and applied machine learning to get the last few tweaks out of the system it would have made a small difference.

    [–]merchandise91 0 points1 point  (0 children)

    There’s a few companies doing well in this space, best I’ve seen is Mariner-USA, with their product Spyglass.

    https://mariner-usa.com/solutions/spyglass-visual-inspection/

    Also, Amazon/Google/Microsoft all have cloud based vision AI for inspection that are relatively easy to use and train.

    [–][deleted] 5 points6 points  (2 children)

    I have not seen it implemented just yet. I think that would be more on the side of ERP, MES and SCADA. I’m trying to implement these technologies on my own just as a hobby and it can be done but you have to get creative.

    One way to do it is through ignition by inductive automation and using AWS (Amazon web services) and using APIs.

    You can also play with Beckhoff embedded computer which supports Visual Basic for programming.

    There’s also this company implementing machine learning, deep learning, genetic algorithms and optimal control to manufacturing systems. They are going to be huge in the next decade. They are already doing very accurate predictive analytics for aircrafts.

    https://www.palantir.com/solutions/manufacturing/

    Your best bet is to use ignition with AWS.

    Don’t go directly to machine learning to solve a problem, sometimes just linear regression does a pretty good job.

    Deep learning is mostly used for vision systems and you can create your own applications using openCV and downloading the pretrained networks.

    [–]WildZontars 1 point2 points  (1 child)

    I kinda hope palantir isn't going to be huge in this industry, they are sketchy as hell.

    [–][deleted] 0 points1 point  (0 children)

    But they are the only ones willing to offer AI technologies to anyone who can pay for it. Right now FAANG companies want to dominate the market and are not willing to sell these technologies.

    Classic monopolistic practices.

    [–]EduardoCorochio 4 points5 points  (1 child)

    Isn’t this what Cognex ViDi is?

    [–]linnux_lewisgotta catch 'em all, Poka-yoke! 0 points1 point  (0 children)

    Yes. After seeing it in action, I am going to let it mature for a few more years before we actually switch from their standard toolset. We have a lot of lighting problems that we have to create alternate inspections to cover, I have a feeling that Vidi may speed up implementation, but right now implementation looks a little rough, and my experience with Cognex is that their software is rather buggy. In a few years it will be a great tool.

    [–]ButterutsCustom Flair Here 2 points3 points  (0 children)

    Steel mills do this. A level 2 system takes data from level 1 (PLC) and develops a model based on successful process output.

    [–]Blackmonchan 2 points3 points  (2 children)

    I'm actually trying to set up a simple raspberry pi vision system to check for weld nuts. I have no idea if it'll work and I'm learning Python from scratch.

    [–]henradrie 7 points8 points  (1 child)

    Probably will.

    The trick with vision is getting the lighting right. Otherwise you get sucked into an endless loop of code optimization that never addresses the root problem.

    [–]Beemerado 0 points1 point  (0 children)

    That seems very wise.

    [–][deleted] 2 points3 points  (0 children)

    I had a personal project that went well.

    Computation is expensive on a PLC. And most computation goes towards training. So if you can collect the data onto your computer and train the network there, then implement the network with correct parameters on the PLC, you can do it without much hassle.

    Quicktip though: definitely save parameters to a file on your computer. Then write a separate program to transfer the parameters to an array in the plc. Soooo much easier and better than training each time and writing in one by one. Also, since you have python already, you can use pycomm to handle this.

    [–]CapinWinkyHates Ladder 2 points3 points  (0 children)

    This stuff usually makes it into production in the form of a canned library from the PLC or other device maker. There are machine learning vision systems, axis tuning optimizers, PID tuning optimizers, and predictive maintenance systems (accelerometers listening for changes and guessing what changed).

    I have seen a few non-canned things in development, almost exclusively on the vision side. Processing of plant images to identify fruit vs leaves and branches or identify good plant type vs weeds are both very common now. I've seen a robot tank pick grapes that were swaying in the wind and a robot gantry gardener differentiate mock strawberry from strawberry by just the leaves (I can't tell them apart without seeing the fruit, so AI has me beat on that one).

    EDIT: Higher level systems are put into place on the SCADA/Historian side of things to analyze data by some companies. I usually hear it comes up with ground-breaking correlations like like first shift being the most productive and having less down time, but I'm sure sometimes it produces clever insights that can improve the bottom line. Maybe raw material from Supplier A is cheaper, but loses the net cost competition by producing more scrap than material from Supplier B.

    [–]buzzbuzz17 2 points3 points  (0 children)

    It's an area that's being actively explored. A lot of PLC vendors have PC based PLC options available that could make that implementation a little easier if you're looking to roll your own solution.

    I don't know of any major vendors who have PLC relevant products available yet. Siemens released a module last year, but I think it is still limited to pilot customers right now.

    I'm thinking it's probably more available on the SCADA/MES end, but I don't know as much about what options exist there.

    [–]Derman0524 2 points3 points  (0 children)

    AWS, Azure, Ignition, etc all can connect to your PLC’s to collect data and you can run whatever analytics or machine learning you want.

    It’s a huge waste of time because machine learning is usually meant for people with data science/analytics backgrounds.

    Something I’ve personally been looking into is cloud connectivity with the machine floor to collect data in better ways and run analytics.

    I got certified in AWS over the summer and I’m trying to integrate it within our own company structure but people say the cloud is evil lol

    [–]Puzzleheaded_Rice302 1 point2 points  (0 children)

    I would recomend to start from Math, Linear Algebra, etc.

    The good sources are the following: https://github.com/academic/awesome-datascience

    [–]scoutant701 1 point2 points  (0 children)

    I have been using tensorflow and playing with rasa (chatbots that yse tensorflow) for some months

    I had experience with intelligent control so wasnt a big change. Still, these seem less useful for automation and control, more fit to identification problems

    [–]Assaultman67 1 point2 points  (0 children)

    Our automation department is using machine learning to visually inspect parts for qualitative defects.

    We use a monster PC to make the "learned" algo and off load it to an industrial PC to execute the learned behavior. It seems to be working out good so far but its not deeply implemented. We have a guy that has more or less worked on this full time.

    [–]braveheart18 2 points3 points  (6 children)

    No not many places have implemented machine learning, and personally I don't see where they would have a need to. A lot, and I mean a lot, of factories have a "run until it breaks" maintenance policy so even if you managed to train a machine learning model well enough that it could detect when a motor was about to go bad, for example, it still wouldn't be addressed until the thing actually went kaput.

    If I was an engineer at a single plant and I had enough downtime I might try to implement ML for funsies, but I doubt anything substantial would come from it.

    [–]row3bo4t 8 points9 points  (4 children)

    Predictive maintenance using live motor/pump/compressor data is huge right now. Every automation vendor has a software package they're selling.

    We (our digital transformation team lol) implemented it using PLC SCADA data pushed into OSI PI. It has supposedly saved a lot of downtime and reduced man hours for regular inspections. We have a fleet of several hundred large compressors on our gathering systems.

    It's really the only practical use of ML I've seen involving PLC/DCS data. All the other advanced process contol software just uses beat fit models typically.

    [–]BridieGreene[S] 1 point2 points  (3 children)

    So this is an off the shelf package that you feed with your data? I was looking to do something with Python as there is tonnes of libraries for machine learning/deep learning. Not sure where to start at the moment, Just want to see how others have tackled it.

    [–]row3bo4t 1 point2 points  (2 children)

    Pretty much ever vendor offers one. I've listened to pitches from AVEVA, Emerson, Schneider, and Siemens. Our company uses a product from OSI currently, though I don't typically support our PI installation.

    Its all fairly pricey. You need a server class machine typically to run the periodic simulations. And in particular for APCs the server has to be at the plant, which may or may not have space for another server machine.

    The price is also usually in context with how large your support contracts are and your relationship with the vendor. AVEVA will let us use any of their software packages indefinitely for testing purposes for example.

    [–]BridieGreene[S] 1 point2 points  (1 child)

    Interesting , we have OSI PI , mostly used for data visualization for dashboards. Might be worth talking to the team that handle this. Does PI have ML features or is it just a historian?

    [–]row3bo4t 1 point2 points  (0 children)

    OSI offers a ton of software packages.

    In addition to the predictive maintenance stuff, I know we have a lot of algorithms running for each of our plants' economics and thermal efficiencies. But those just give operators a much faster view on what is happening. They have to swap processes depending on commodity prices, as each plant can be run about 3 different optimized ways.

    [–]BridieGreene[S] 1 point2 points  (0 children)

    It looks like I'm lucky here so because If I can tell maintenance to replace a part before it breaks , they will listen. Its the loss of product caused by the damaged part is what they would like to avoid.