解决方案体系结构:使用卷积神经网络实现图像分类

精益化生产、成本控制和减少浪费是制造企业保持竞争力必不可少的要素。在电路板制造业中,故障电路板会损耗制造商成本、降低生产效率。装配线依靠人力操作员快速查看和验证被装配线测试机标记为存在潜在故障的电路板。

此解决方案分析电路板制造厂中装配线摄像机所生成的电子组件图像,并检测其错误状态。其目的在于尽量减少或消除人力干预。此解决方案使用具有 50 个隐含层的卷积神经网络构建一个图像分类系统,该神经网络已通过 ImageNet 数据集中的 350,000 张图像进行了训练,即通过删除最后一个网络层来生成图像的视觉特征。这些特征随后用来训练一个提升决策树,即将图像分类为“通过”或“失败”,以及对一个制造厂中封边机的最终评分进行分类。分类性能结果良好(基于时间的交叉验证 AUC>.90),这表明该解决方案适合用于大幅降低组装电路板电子组件故障检测中的人力干预。

使用该解决方案实现故障检测自动化而不是单纯依靠人力操作员,从而帮助提升故障电子组件鉴定准确性,并提高生产效率。

使用卷积神经网络实现图像分类探索迁移学习、卷积神经网络和梯度提升决策树算法。

实施指南

产品/说明 文档

Azure Blob 存储

数据引入并存储于 Azure Blob 存储中。

基于 GPU 的 Azure 数据科学虚拟机

核心开发环境为基于 Azure Ubuntu 的 GPU DSVM。数据从 blob 拉取到附加于 DSVM 的 Azure 虚拟硬盘 (VHD)。在此 VHD 中,会对数据进行处理,通过深度神经网络使图像特征化,并训练一个提升决策树。DSVM IPython Notebook 服务器用于解决方案部署。

Azure Batch AI 训练 (BAIT)

作为基于 DSVM 的训练的替代方案,对于使用深度学习图像处理的计算密集型作业,我们将 BAIT 用作运用 GPU 计算节点的并行和分布式计算的 托管 Azure Batch 框架。

适用于 Apache Spark HDInsight Spark 群集的 Microsoft 机器学习

作为基于 DSVM 的训练的替代方案,对于大型数据集,我们使用 MMLSpark 生成高度可缩放的培训解决方案。

Azure 容器注册表

此模型和 Web 应用程序打包到 Docker 图像中,并写入 Azure 容器注册表。

Azure 机器学习模型管理服务

Azure 机器学习模型管理服务用于部署和管理 VM 上的最终模型,以及用于通过 Azure Kubernetes 服务横向扩展至 Kubernetes 托管的 Azure 群集。此外,预测性 Web 服务和 Java ETL 服务也会写入 VM,并分别位于各自的容器中。

Azure Kubernetes 服务 (AKS)

此解决方案的部署使用 Azure Kubernetes 服务,该服务运行 Kubernetes 托管的群集。从 Azure 容器注册表中存储的图像部署容器。