进行工业应用中的缺陷检测的自动视觉检查

目视检查是基于图像的部分检查,其中相机扫描的部件进行了测试失败和质量缺陷。自动检测和缺陷检测对于生产系统中的高通量质量控制至关重要。具有高分辨率摄像机的视觉检测系统有效地检测微观尺寸甚至是纳米级缺陷,这些缺陷难以用于人眼拾取。因此,它们在许多行业中广泛采用,用于检测制造表面上的缺陷,例如金属轨道,半导体晶片和隐形眼镜。

半导体制造中缺陷检测的目视检查。

用matlab.®那you can develop visual inspection systems. It supports image acquisition, algorithm development, and deployment. Interactive and easy-to-use apps in MATLAB help users explore, iterate, and automate algorithms to improve productivity. These capabilities find use in many industrial applications.

例如,汽车部件制造商Musashi Seimitsu行业的手动操作的视觉检查系统每月检查约130万份。使用MATLAB开发基于深度学习的方法来检测和定位不同类型的异常,它为检查锥齿轮的自动视觉检查系统建立了自动化的视觉检查系统。预计更新的方法将大大减少公司的工作量以及其成本。

Musashi Seimitsu行业的汽车零件的视觉检验系统。

同样地,Airbus构建一个健壮的目视检查人工智能igence (AI) model for automatically detecting any defects in multiple aircraft components to ensure its airplanes have no defect before entering service. Using the MATLAB environment simplified the process of interactively prototyping and testing for defects in a short amount of time.

通过自动视觉检查检测飞机元素中的多种缺陷。

The defect detection process can be broken down into three main stages: data preparation, AI modeling, and deployment.

End-to-end defect detection workflow in MATLAB.

数据准备

Data comes from multiple sources and is usually unstructured and noisy, making data preparation and management difficult and time-consuming. Preprocessing images in the dataset will result in higher accuracy in detecting anomalies. MATLAB has several apps to support various preprocessing techniques. For example, the注册估算器应用程序允许您探索各种算法以注册未对齐的图像,使AI模型更容易检测缺陷。

注册估算器应用程序对齐一对六角螺栓图像的不同方向。

马铃薯provides automation capabilities to accelerate the labeling process. For example, the图像和视频贴图应用程序可以将自定义语义分段或对象检测算法应用于图像或视频帧中的标签区域或对象。对于除图像以外的数据集,Matlab提供了音符贴标程序and信号贴标器用于标记音频和信号数据集的应用程序。

AI Modeling

AI techniques are widely used for classification and prediction as part of defect detection. Within the MATLAB environment, you have direct access to common algorithms used for classification and prediction, from regression, to deep networks, to clustering.

在对分类任务应用深度学习时,有两种方法。一种方法是从头开始构建和培训深度网络。另一个是调整和微调预磨损的神经网络,也称为transfer learning。两种方法都很容易在Matlab中实现。

Convolutional neural network (CNN) from scratch (top) vs. CNN from transfer learning (bottom).

马铃薯provides the深网络设计师应用程序,可允许您构建,可视化,编辑和培训深度学习网络。您还可以分析网络以确保在培训前定义网络架构并检测问题。

在MATLAB中,您可以从Tensorflow™-Keras,从Caffe和Onnx™模型格式导入网络和网络架构。你可以使用这些磨粉网络并编辑它们进行转移学习。

部署

必须将深度学习模型纳入更大的系统以获得有用的系统。Matlab提供了一种代码生成框架,允许在Matlab中开发的模型部署在任何地方,而无需重写原始模型。这使您能够在整个系统中测试和部署模型。

MATLAB使您可以将深度学习网络部署到各种嵌入式硬件平台,例如NVIDIA®GPUs, Intel®and ARM®CPU和Xilinx®and Intel SoCs and FPGAs. With the help of MathWorks tools, you can explore and target embedded hardware easily.

从MATLAB部署到各种嵌入式硬件平台的深度学习网络。

也可以看看:马铃薯for image processing and computer vision深度学习工具箱