为什么需要人工智能?
传统的图像处理系统采用基于规则的算法,可为重复性任务提供高可靠性。由于流程步骤始终相同,因此只允许存在微小的偏差。一旦图像的多样性增加,例如由于对象的自然变化(如色调、形状或变化的环境条件(如光线条件)),则应用会变得越来越复杂,因此可能变得不经济。否则,差异会直接影响算法的精度或性能。这会导致基于规则的图像处理系统做出错误的决定,例如剔除的合格件(也称为:假剔除)或未识别的不合格件(也称为:滑移)。工业图像处理始终致力于最大程度地减少这些问题。
人工智能技术通过容忍图像数据中的波动来扩展机器视觉的应用范围,从而也能够可靠地识别例如不规则错误等。它们通过在高差异条件下提高检测速率来提高经济性,并降低进入机器视觉的门槛,因为在某些情况下不再需要深入的算法知识。
人工智能是使机器能够独立解决任务的技术的总称 – 通常受到人类思维和学习的启发。机器学习是人工智能的一个子领域,其中算法不是刚性编程的,而是从示例数据中学习模式和关系。不必手动设置每个规则,而是由系统“学习”如何将输入转换为输出。深度学习是一种基于人工神经网络的专业机器学习形式,具有许多处理层(“deep” = 深度)。这种架构能够识别非常复杂的模式,即使在变化的条件下也能提供精确的结果。
深度学习
机器学习
人工智能
在质量控制中使用人工智能具有哪些优势?
尽管存在基于规则的图像处理,但是由于通常很难或无法检测到大的错误差异,因此过程中的质量控制通常仍然由人工执行。在此可使用人工智能支持的图像处理系统。
| 手动控制的问题领域 | 通过人工智能支持的图像处理的优势来解决问题 |
|---|---|
| 不一致的质量评估 | 基于大量数据集进行一致且可重复的评估 |
| 有限的注意力范围 | 全天候无疲劳地投入使用 |
| 复杂的决策文件记录 | 通过热图显示和分数值自动存储图像,以实现可追溯性和可溯源性 |
| 人力成本增加、人力短缺且培训费用高 | 不受人员可用性的影响,可扩展,由于训练费用较低,入门门槛较低 |
|
手动控制的问题领域
|
|||
|---|---|---|---|
|
不一致的质量评估
|
有限的注意力范围
|
复杂的决策文件记录
|
人力成本增加、人力短缺且培训费用高
|
|
通过人工智能支持的图像处理的优势来解决问题
|
|||
|
基于大量数据集进行一致且可重复的评估
|
全天候无疲劳地投入使用
|
通过热图显示和分数值自动存储图像,以实现可追溯性和可溯源性
|
不受人员可用性的影响,可扩展,由于训练费用较低,入门门槛较低
|
人工智能可扩展工业图像处理的可能性,但仅在少数情况下完全取代成熟的基于规则的解决方案。基于规则和基于人工智能的图像处理相结合,可扩展机器视觉的多功能性。人工智能可实现那些基于规则的评估过于耗时或不经济的检测任务。
什么时候使用基于规则的图像处理系统,什么时候使用人工智能图像处理系统?
传统图像处理系统基于规则的方法仍然是视觉检测任务的成熟解决方案。人工智能技术扩大了工业图像处理的应用范围。尽管有不同的算法,但两种技术的性能存在许多重叠。
通常使用基于规则的工具和人工智能工具的组合。例如:基于规则的定位,包括零件跟踪和被检测对象的切割,与基于人工智能的错误分类相结合。最后是基于规则的故障测量。
典型的应用领域
基于规则的图像处理 h4>
| 测量,测量任务 |
| 代码读取 |
| 精确对齐、定位(也包括机器人视觉、机器人引导) |
组合和重叠 h4>
| 检查,缺陷检测 |
| 识别(代码读取、OCR / 字符识别) |
| 对象和特征定位(也包括机器人视觉、机器人引导) |
基于人工智能的图像处理 h4>
| 识别差异很大的对象或错误 |
| 具有挑战性的 OCR(例如,打印质量差、背景变化) |
| 定位差异大的对象 |
| 分类(例如材料或纹理) |
哪些人工智能技术用于图像处理?
分类
分类功能将图像分配给一个或多个预定义的类别。区分为多类和多标签。
多类:每个图像一个类别,例如“螺栓” h4>
或具有相互排除类别的故障分类:“OK”(无缺陷)或 “NOK”(故障)。不允许同时归入两个类别。
多标签:每个图像可以有多个类别,例如“螺栓”、“钉子” h4>
或使用独立标签进行错误分类:“凹痕”和“划痕”。一个对象可能有凹痕、划痕、两者或两者都没有,因为这些类别不会相互排除。
物体识别
物体识别利用边界框(即所谓的 Bounding Box)定位和分类图像中的多个对象。对于每个找到的对象,它都会指明它属于哪个类别,以及它在图像中的确切位置。必须区分“轴平行”(如图所示)和“定向”物体识别。在定向物体识别中,边界框与对象对齐,分别描述尽可能最小的边界框。
细分
为图像中的每个像素分配一个类别,以精确界定对象(例如钉子、螺栓、背景)或缺陷(例如油漆缺陷)。
什么是人工智能模型?
人工智能模型是以人类大脑为灵感的计算机支持的模型。它们由人工神经元组成,这些神经元处理信息并通过权重相互连接。权重是一个数值,用于确定输入信号对神经元的影响程度。
人工智能模型是分层构建的:“输入层”获得原始数据(例如图像)。在“隐藏层”中自动识别特征,“输出层”根据这些特征做出决策。
在训练过程中,人工智能模型将其预测与基本事实进行比较,并逐步调整权重。这种学习过程会在许多示例中重复,直到人工智能模型可靠地识别出模式。
人工智能模型是分层构建的:“输入层”获得原始数据(例如图像)。在“隐藏层”中自动识别特征,“输出层”根据这些特征做出决策。
在训练过程中,人工智能模型将其预测与基本事实进行比较,并逐步调整权重。这种学习过程会在许多示例中重复,直到人工智能模型可靠地识别出模式。
人工智能模型或神经网络 – 区别是什么?
并非所有人工智能模型都是神经网络。“人工智能模型”一词是许多算法类型的通用术语,包括决策树、统计模型和神经网络。后者是人工智能模型的一种形式,特别适用于图像识别或语音处理等复杂任务。然而,术语“神经网络”和“人工智能模型”通常是同义词。
并非所有人工智能模型都是神经网络。“人工智能模型”一词是许多算法类型的通用术语,包括决策树、统计模型和神经网络。后者是人工智能模型的一种形式,特别适用于图像识别或语音处理等复杂任务。然而,术语“神经网络”和“人工智能模型”通常是同义词。
输入层
隐藏层
输出层
ONNX – 通用交换格式
uniVision 3 图像处理软件可实现 ONNX 网络的无缝集成。您还可以通过 GitHub 量化您的 ONNX 网络,以便在 wenglor 硬件上使用。
wenglor AI Loop – 人工智能如何在工业图像处理中发挥作用
最初很少有一个具有代表性的、广泛的应用程序数据集。通过对一旦创建的网格进行持续数据扩展和验证,可生成高精度和可靠的人工智能模型。通过以数据和流程为中心的方法,可以在测试设备的整个生命周期内系统地优化和保持人工智能模型的精度。再次检查现有数据或记录新数据并进行标注。
创建和管理数据集
标注(标记)数据集
训练和验证人工智能模型
部署和运行人工智能模型
第一步是采集尽可能能代表应用的图像,这是以数据为中心方法的关键步骤。随后会不断补充新的图片。
创建合适的数据集时重要的是什么?
每个类别 50 到 100 张真实图像就足以获得第一批实用的结果。数据必须选择得当、多样且一致。很多图像数据并不自动意味着更好的模型。目标是通过少量但高质量的图像获得批次、颜色、光线影响等的全部自然散射,从而创建一个强大且可通用的解决方案。
这里列举一个例子:如果工厂仅在特定光线条件下从机器中捕获有缺陷的印刷线路板图像,则人工智能模型可以学习将缺陷与该机器的特定背景或光线条件相关联,而不是与实际缺陷特征相关联。这种失真可能导致模型错误分类来自其他机器或在其他光线条件下的错误。通过整合来自不同机器、光线条件和视角的各种图像,人工智能模型可以了解实际的缺陷特征,从而确保在所有生产场景中进行可靠的检测。
有针对性的照明策略可降低图像差异、提高模型精度并减少对训练图像的需求。例如,通过选择正确的照明原理、光色(波长)、均匀照明和光学滤光片,可以显著提高图像质量,从而仅使用四分之一的图像量即可达到相同的精度。
与基于规则的图像处理系统一样,下列情况在这里也适用:较差的图像会显著降低人工智能模型的精度。确保图像清晰,具有足够的焦深、对比度和设置一致性(摄像头、照明、光学元件)。
更高的分辨率显示出更多细节,但需要更长的训练时间和更高的资源需求。数据记录图像经常会被缩小以用于训练,例如缩小到 320 × 320 像素(人工智能输入图像)。
注意事项:这一决定性特征在这种降低的分辨率下也必须清晰可见。人眼可见的东西通常也可以通过人工智能模型捕捉到。
图像应真实拍摄,尽可能在接近生产的条件下拍摄。提供自然变化,如背景变化、轻微变化的光线条件、灰尘、噪音或轻微的位置偏差,以使数据集更加稳健。但是,强力加工或人工生产的不合格件可能会导致学习模式不切实际。避免系统性错误也很重要,例如每个合格件都有一个标记,而不合格件没有标记。确保摄像头、照明和光学元件的设置保持一致。
在训练中,只使用相关对象或故障位置所在的图像区域。这可以避免人工智能模型意外地从背景中学习,或对重要细节进行相对不足的展示。裁剪可确保在低分辨率下获得更多相关细节,节省训练时间。
建议对所有类别(例如合格件、不合格件)进行均衡表示。失衡(例如 99% 合格和 1% 不合格)会导致人工智能模型失真,这些模型在应用中经常会忽略错误。平衡的数据库可防止人工智能模型的样本失真,并提高检测性能,即使在罕见的错误状况下也是如此。
增强是指通过旋转、放大(缩放)、失真、噪声或亮度变化等方式人工生成变体。由此可以扩展现有数据集,并为人工智能模型做好准备,以应对实际的散射,这对于小的数据集尤其重要,可快速实现更高的精度。
重要提示:增强必须保持真实和贴近应用,因为使用会大幅影响人工智能模型的平衡精度。例如,旋转可能是故障情况,因此不适用于每种应用。
重要提示:增强必须保持真实和贴近应用,因为使用会大幅影响人工智能模型的平衡精度。例如,旋转可能是故障情况,因此不适用于每种应用。
在第二步中对图像进行标注或标记。用户为每个图像指定一个所谓的基本事实,例如是合格件还是不合格件。
如何最大程度地减少标注过程的工作量?
为确保一致的标注,应将应用专家(如生产和质量控制)纳入到流程中。
“NOK”(不合格)和 “OK”(合格)的分类可能是主观的,因此在训练和进一步标注之前应注意明确区分类别。
提示:极限样本应有针对性地通过标注进行标记。因此,该信息可以在后续的网络验证中考虑在内。
提示:极限样本应有针对性地通过标注进行标记。因此,该信息可以在后续的网络验证中考虑在内。
在评估训练数据时,必须完全依赖图像,而不是实际对象。尽管原厂零件上的缺陷更容易识别,但对于人工智能模型来说,只有图像中可见的缺陷才重要。如果将来自真实对象的知识纳入其中,就会产生不一致性,因为人工智能模型以后也只使用图像信息工作。
维护带有清晰描述的故障类型和示例图像的缺陷目录有助于安全、可追溯地定义排除标准。如果定期更新,例如针对新的缺陷或产品,则便于知识传递以及整合额外的标注人员。
标签可以补充关键词,从而使数据集更清晰、更易于排序。例如,通过分配标签可以显示在哪个日历日和一天中的哪个时间记录了哪些数据,或者哪些数据被视为极限样本。
下一步是对人工智能模型进行训练或再训练。这里有各种不同的方法,一个数据集总是分为训练数据和测试数据。
接下来是人工智能模型的验证。人工智能通常被视为包含输入和输出的黑盒子,但没有明确的信息来验证人工智能模型。人工智能模型报告提供平衡精度(召回和精度)、错误预测、预计推导时间等信息,以帮助实现可追溯性。
关于人工智能模型可追溯性的技巧和诀窍
该矩阵显示了人工智能模型的预测与实际类别匹配的频率,以及错误发生的位置。
提示:错误预测的最常见原因是错误的标注或极限样本。在这种情况下,必须调整标注并重新训练。目的是最大程度地减少错误预测。
热图显示了对结果预测至关重要的图像区域。详细的见解可以推断出标注中的错误或样本失真。这样可以提高数据模式的透明度和可追溯性。
人工智能模型的预测基于所谓的得分,该得分表示人工智能模型在做出决策时的确定性。关键不是要在所有情况下都获得尽可能高的分数,而是要明确区分可靠和不可靠情况:高分应仅出现在明确的结果上,而在不确定的情况下,更低的分数则有意义。这可防止人工智能模型在不明确的情况下做出“过于肯定的错误”决定。
在训练和推断人工智能模型时,每个数据集图像的分辨率都会在被用作人工智能输入图像之前降低。因此,请检查相关特征是否仍然可识别。否则,例如,更一致的裁剪或选择更高的人工智能输入图像分辨率可能会有所帮助。
有多种验证方法可用于评估人工智能模型。数据集通常分为训练数据、验证数据和测试数据。
提示:特别是对于较小的数据集,用户将受益于 K 折验证的可靠评估。选择不合适的验证方法会导致人工智能模型评估不可靠。
- 训练数据用于训练人工智能模型,通常占数据的 70–80%。
- 验证数据用于在训练过程中调整权重,并检查人工智能模型是否过拟合 (Overfitting)。它们通常占数据的 10–20%。
- 测试数据仅用于评估人工智能模型的最终质量,占数据的 10–20%。
| 特征 | 留出验证 | K 折交叉验证 |
|---|---|---|
| 描述 | 分配一次数据集,例如 80% 训练 / 20% 测试 | 数据集被分成 k 个部分,人工智能模型与其他测试数据一起评估 k 次 |
| 优点 |
|
|
| 缺点 |
|
|
完成训练的人工智能模型将从训练环境传输到推断平台。通常同时在多个设备上进行。这种初始调试被称为人工智能模型部署。
如何在图像处理应用中成功实施人工智能?
成功调试后,可能有以下原因需要进行再训练:
- 出现要识别的新类别。
- 得分值降低,例如由于批次变化、工件支架脏污或磨损或光功率降低。
- 对平衡精度的要求发生变化。
在记录新数据之前,首先确保现有数据库一致且唯一。查看错误预测,并在必要时再次检查每个标注。使用验证工具,如热图、得分值和混淆矩阵。然后,专注于性能最差的类别,提供该类别的大约 100 个额外图像,最好是模型表现特别差并且得分值相应低的变体或产品。或者,也可以为每个类别补充 50 个新图像。
数据质量越高,人工智能模型就越强大。在此质量始终优先于数量。对高质量、平衡和逼真数据的关注将带来更可靠的人工智能模型,降低过度装配的风险,提高日常生产适用性。投入时间进行明智的数据选择可节省训练工作量,并能更快地获得高精度和可追溯的结果。
对比人工智能模型训练的三个基本方法
深度学习利用复杂的神经网络,尤其适合图像差异大和准确性要求高的应用。这通常需要大量的算力和较长的训练时间。边缘学习也基于深度学习,但区别在于直接在边缘设备 (Edge Device) 上进行训练。这可实现快速简便的部署,但通常会导致性能较差的、更适合简单的测试任务的人工智能模型。
边缘学习通常被人工智能新手用作图像处理任务的简单解决方案,即使在经典的、基于规则的技术更适合并且历经多年得到验证的地方也是如此。使用边缘学习会带来风险,因为轻松设置边缘解决方案往往会以降低可靠性、可追溯性和检测精度为代价。
| 云(例如 AI Lab) | 本地化 | 边缘 | |
|---|---|---|---|
| 特征 | 外部托管的云端 | 企业云、服务器、本地 PC | 本地化,直接在生产设备上 |
| 应用的复杂性 | 从简单到复杂 | 单独 | 简单 |
| 成本控制 | 按使用付费,无训练硬件的采购成本 | 硬件投资和运营成本 | 无额外费用(在智能设备上运行) |
| 设置和访问 | 无需特殊设置,可通过浏览器访问互联网 | 需要安装和设置合适的训练硬件 | 直接在硬件上运行(例如 Smart Camera),需要浏览器 / 第三方软件 |
| 训练灵活性 | 从简单到复杂的人工智能模型和从小到大的数据集都具有高度灵活性
|
运营商承担责任 | 训练灵活性通常受到限制
|
| 可验证性和可追溯性 | 基于大量数据进行统计可靠的验证,集中存储 | 基于大量数据进行统计可靠的验证,用户负责存档 | 基于单个部件进行简单的手动功能测试 |
| 协作和数据集管理 | 可集中管理和团队协作能力 | 取决于设置 | 仅限单一站点解决方案,而不是真正的协作或基于角色的控制 |
| 可扩展性 | 可通过云服务器自动扩展 | 取决于运营商(存储器、算力、软件解决方案) | 只能通过进一步购买边缘设备进行扩展 |
| 可用性和部署 | 集中式,可从任何设备使用 可扩展的部署:在多个生产线、地点或地区推广人工智能模型 |
本地或网络内可用 | 分布式,在本地硬件上或网络中可用(离线) |
| 数据安全、访问控制和备份 | 依赖于云提供商,集中提供用户角色和备份 | 取决于设置,由用户负责 | 本地数据存储安全,但无需集中用户管理或自动备份 |
|
特征
|
||
|
云(例如 AI Lab)
外部托管的云端
|
本地化
企业云、服务器、本地 PC
|
边缘
本地化,直接在生产设备上
|
|
应用的复杂性
|
||
|
云(例如 AI Lab)
从简单到复杂
|
本地化
单独
|
边缘
简单
|
|
成本控制
|
||
|
云(例如 AI Lab)
按使用付费,无训练硬件的采购成本
|
本地化
硬件投资和运营成本
|
边缘
无额外费用(在智能设备上运行)
|
|
设置和访问
|
||
|
云(例如 AI Lab)
无需特殊设置,可通过浏览器访问互联网
|
本地化
需要安装和设置合适的训练硬件
|
边缘
直接在硬件上运行(例如 Smart Camera),需要浏览器 / 第三方软件
|
|
训练灵活性
|
||
|
云(例如 AI Lab)
从简单到复杂的人工智能模型和从小到大的数据集都具有高度灵活性
|
本地化
运营商承担责任
|
边缘
训练灵活性通常受到限制
|
|
可验证性和可追溯性
|
||
|
云(例如 AI Lab)
基于大量数据进行统计可靠的验证,集中存储
|
本地化
基于大量数据进行统计可靠的验证,用户负责存档
|
边缘
基于单个部件进行简单的手动功能测试
|
|
协作和数据集管理
|
||
|
云(例如 AI Lab)
可集中管理和团队协作能力
|
本地化
取决于设置
|
边缘
仅限单一站点解决方案,而不是真正的协作或基于角色的控制
|
|
可扩展性
|
||
|
云(例如 AI Lab)
可通过云服务器自动扩展
|
本地化
取决于运营商(存储器、算力、软件解决方案)
|
边缘
只能通过进一步购买边缘设备进行扩展
|
|
可用性和部署
|
||
|
云(例如 AI Lab)
集中式,可从任何设备使用
可扩展的部署:在多个生产线、地点或地区推广人工智能模型 |
本地化
本地或网络内可用
|
边缘
分布式,在本地硬件上或网络中可用(离线)
|
|
数据安全、访问控制和备份
|
||
|
云(例如 AI Lab)
依赖于云提供商,集中提供用户角色和备份
|
本地化
取决于设置,由用户负责
|
边缘
本地数据存储安全,但无需集中用户管理或自动备份
|