Deep Learning Model Development for Visual Inspection System in Manufacturing
This article by Sergey Maximenko, Data Science engineer at MobiDev examines how to develop visual inspection software for manufacturing via building deep learning-based algorithms and training. Learn what questions you should ask before choosing a deep learning approach for visual inspection systems.
Developing a visual inspection software for manufacturing means building a deep learning-based algorithm and training it with examples of defects it must detect. Being trained on labeled examples of images containing defects, neural networks learn to distinguish “good” and “bad” items.
Choosing a deep learning approach for a visual inspection system requires business owners and data scientists to consider several questions.
- What kind of defects should be detected?
- Should detected defects be identified by type?
- Should users be notified of detected defects?
- Should detected defects be recorded for statistical modeling?
The key question is to figure out if there is an existing dataset of defects required to train a model. Deep learning model development begins with data gathering and cleaning. For a visual inspection model, the data is video records which could be gathered from several sources:
- Pre-existed video records provided by manufacturers
- Open-source video records
- Videos recorded from scratch
The quality of video records is the most important parameter to consider.
The next step is data cleaning, checking for anomalies and verifying its relevance to the task.
There are two factors to consider when choosing a deep learning development approach:
- Complexity of the manufacturing process to be inspected and the inspection accuracy level
- Delivery time and budget limitations
From there, we consider the following three approaches:
Using AI platforms
Deep learning model development services such as Google Cloud ML Engine and Amazon ML can save time and budget but these types of models might have issues when it comes to customization. However, if your requirements for defect detection fits into the provided templates, then this approach is for you. An example is the food industry. Detecting a defect like cracks is a single defect category which doesn’t require a large dataset. A deep learning model service will perform the task.
Using pre-trained models
Pre-trained models are a step up from using templates. Instead, you get a deep learning model built for a very similar task. A pre-trained model uses large datasets from similar tasks that assist in the development of a customized solution.
Development teams won’t have to create a model from scratch, which saves time and money.
Building models from scratch
This approach is valuable for manufacturing processes which require complex and secure visual inspection systems. Being effort-intensive and sometimes time-consuming, in the end it results in effective defect detection.
Deep learning model development from scratch is based on computer vision algorithms such as image classification, instance segmentation and object detection.
Visual inspection models that require a diverse set of defect categories are successfully developed using instance segmentation-based models that are built from scratch. An example would be the construction industry. Mold, wall cracks and other structural defects can be accurately detected when extensive datasets are available. Pre-trained models might also be successfully used in this scenario.
Training and deployment
After choosing a development approach of a deep learning model for your visual inspection system, the next step is to train the model by using test video records. Starting with a test scenario and evaluating the model’s accuracy and performance, we utilize those video records supposed to be used in a ready-made system for the deployment.
Deploying a visual inspection model requires an assessment of the software and hardware system architecture that will be used to run the model.
It is recommended to use graphical processing units (GPUs) on-premises or in the cloud in order to have a good performance of a deep learning model since it requires a large amount of visual data to be processed.
Video card datasets require prudent data storage solutions. Commonly used solutions comprise local server, a cloud-streaming service or serverless architecture. If a visual inspection system has large datasets, cloud streaming services will be the most optimal way.