What approach should you take?

Deep Learning Model Development for Visual Inspection System in Manufacturing

Sergey Maximenko
deep learning
© Shutterstock / asharkyu

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?

SEE ALSO: Deep learning platform Atlas is now open source

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.

SEE ALSO: Deep Learning: the final Frontier for Time Series Analysis?

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.


Sergey Maximenko

Sergey Maximenko, Data Science engineer at MobiDev (USA.Ukraine). His career started with iOS applications development but growing interest in various fields of AI made him get into researching Machine Learning and Deep Learning solutions. He has been working with different Data Science projects at MobiDev, from time series forecasting to face recognition. Serhii is a speaker at the Machine Learning conference and author of articles in online Data Science communities. 



Inline Feedbacks
View all comments