如何集成基于AI的视觉检查系统
1.陈述问题
外观检查的开发通常从业务和技术分析开始。此处的目标是确定系统应检测的缺陷类型。
其他要问的重要问题包括:
什么是视觉检查系统环境?
应实时检查还是推迟检查?
外观检查系统应多全面地检测缺陷,并应按类型区分缺陷?
是否有集成了视觉检查功能的现有软件,还是需要从头开始开发?
系统应如何将检测到的缺陷通知用户?
外观检查系统是否应记录缺陷检测统计信息?
关键问题是:是否存在用于深度学习模型开发的数据,包括“好”和“坏”产品的图像以及不同类型的缺陷?
数据科学工程师根据收到的答案选择最佳的技术解决方案和流程。
2.收集和准备数据
在开始深度学习模型开发之前,数据科学工程师必须收集并准备训练未来模型所需的数据。对于制造流程,实施物联网数据分析很重要。在谈论视觉检查模型时,数据通常是视频记录,其中由视觉检查模型处理的图像包括视频帧。有几种数据收集选项,但最常见的是:
取得客户提供的现有视频记录
取得适用于定义目的的开源视频记录
根据深度学习模型的要求从头开始收集数据
此处最重要的参数是视频记录的质量。更高质量的数据将导致更准确的结果。
收集数据后,便准备好进行建模,清理,检查异常情况并确保其相关性。
在我们的需求预测文章中阅读有关数据准备技术的更多信息
3.开发深度学习模型
深度学习模型开发方法的选择取决于任务的复杂性,所需的交付时间和预算限制。有几种方法:
3.1使用深度学习模型开发服务(例如:Google Cloud ML Engine,Amazon ML等)
当缺陷检测功能的要求与给定服务提供的模板一致时,这种方法才有意义。这些服务可以节省时间和预算,因为不需要从头开始开发模型。您只需要上传数据并根据相关任务设置模型选项即可。
有什么收获?这些类型的模型不可定制。模型的功能仅限于给定服务提供的选项。
3.2使用预先训练的模型
预先训练的模型是已经创建的深度学习模型,可以完成与我们要执行的任务相似的任务。我们不必从头开始构建模型,因为它使用了基于我们数据的经过训练的模型。
预先训练的模型可能无法100%满足我们的所有任务,但可以节省大量时间和成本。使用以前在大型数据集上受过训练的模型,我们可以根据自己的问题定制这些解决方案。
3.3从头开始进行深度学习模型开发
该方法是复杂且安全的视觉检查系统的理想选择。该方法可能会耗费大量时间和精力,但值得这样做。
在开发自定义视觉检查模型时,数据科学家使用一种或几种计算机视觉算法。这些包括图像分类,对象检测和实例分割。
许多因素影响深度学习算法的选择。这些包括:
假设我们正在开发一种视觉检查模型,用于建筑物的质量评估。主要重点是检测墙壁上的缺陷。要获得准确的视觉检查结果,必须有一个广泛的数据集,因为缺陷类别可能非常多样化,从油漆剥落,铸模到墙体裂缝。此处的最佳方法是从头开始开发基于实例细分的模型。在某些情况下,预训练模型方法也是可行的。
另一个示例是制药业的外观检查,您希望在其中将气泡与产品中的颗粒区别开来,例如高粘度的母液。气泡的存在是这里唯一的缺陷类别,因此所需的数据集不会像上面的示例那样广泛。最佳的深度学习模型开发方法可能是使用模型开发服务,而不是从头开始开发模型服务。
4.培训与评估
开发视觉检查模型之后的下一步是对其进行培训。在此阶段,数据科学家会验证和评估模型的性能以及结果的准确性。测试数据集在这里很有用。对于视觉检查系统,它可能是一组已过时或与我们要在部署后处理的视频记录相似的视频记录。
5.部署和改善
部署外观检查模型时,重要的是要考虑软件和硬件系统架构如何与模型容量相对应。
软件
视觉检查驱动软件的结构本身基于用于数据传输的Web解决方案和用于神经网络处理的Python框架的组合。
此处的关键参数是数据存储。共有三种存储数据的方式:本地服务器,云流服务或无服务器架构。
视觉检查系统涉及视频记录的存储。数据存储解决方案的选择通常取决于深度学习模型的功能。例如,如果视觉检查系统使用大型数据集,则最佳选择可能是云流服务。
硬件
根据行业和自动化过程的不同,集成视觉检查系统所需的设备可能包括:
l 相机。关键摄像机选项是实时视频流。一些示例包括IP和CCTV。
l 网关。专用的硬件设备和软件程序都可以很好地用于视觉检查系统。
l CPU / GPU。如果需要实时结果,GPU将是比CPU更好的选择,因为前者在基于图像的深度学习模型方面拥有更快的处理速度。可以优化CPU以运行视觉检查模型,但不能进行培训。最佳GPU的示例可能是Jetson Nano。
l 光度计(可选)。根据目视检查系统环境的照明条件,可能需要光度计。
l 比色计(可选)。当检测光源中的颜色和亮度时,成像色度计始终具有很高的空间分辨率,可以进行详细的目视检查。部署后,深度学习模型可以改进。深度学习方法可以通过迭代收集新数据和模型重新训练来提高神经网络的准确性。结果是通过在操作过程中增加数据量来学习的“更智能”的视觉检查模型。