计算机视觉与传统机器视觉:有什么区别?

"计算机视觉"和"机器视觉"这两个术语经常被互换使用,但它们代表了自动化视觉检测的根本不同方法。理解这些差异对于为您的制造应用选择正确的技术至关重要。
本文阐明了传统机器视觉与现代AI驱动计算机视觉之间的区别,比较了它们的能力、局限性和理想使用场景。
术语定义
传统机器视觉

机器视觉是指使用基于规则的编程来分析图像的传统自动化视觉检测系统。工程师手动定义系统应该寻找的内容:特定的像素模式、边缘位置、颜色范围、几何形状和阈值。
这些系统遵循明确的指令:"找到零件的边缘,从该边缘测量3mm,检查该区域中的斑点是否超过100像素。"每个检测标准都必须编程为规则。
AI驱动的计算机视觉
计算机视觉,尤其是AI驱动的计算机视觉,使用机器学习来分析图像。系统不是通过编写规则来训练,而是通过展示示例来训练。AI学习区分好产品和有缺陷产品的特征,发展出自己对检测标准的内部表示。
这些系统从示例中学习:"这里有100张好产品的图片和50张缺陷图片。学会区分它们。"AI自动提取相关特征并根据学习到的模式做出决策。
关键差异
| 方面 | 传统机器视觉 | AI计算机视觉 |
|---|---|---|
| 编程方法 | 基于规则,明确编程 | 从示例中学习(训练) |
| 处理变异 | 难以处理自然变异 | 擅长处理变异 |
| 新缺陷类型 | 需要重新编程 | 可通过额外训练检测 |
| 设置专业知识 | 需要编程技能 | 需要训练数据收集 |
| 决策透明度 | 完全透明(明确规则) | 透明度较低("黑盒") |
| 最适合 | 结构化、可预测的任务 | 复杂、多变的任务 |
编程与训练
最根本的区别在于您如何告诉系统该做什么。
机器视觉编程
传统机器视觉要求工程师将检测任务分解为明确的规则。对于缺陷检测,这可能涉及:定义感兴趣区域、设置像素强度阈值、指定测量的可接受范围、编程斑点分析参数以及创建通过/失败判定的决策树。如需深入了解,请阅读我们的机器视觉详解指南。
这个过程需要掌握视觉系统编程环境和特定检测应用的专业知识。更改需要额外编程。每个边界情况和异常都必须被预见并编码。
计算机视觉训练

AI计算机视觉通过展示标注的示例来训练。对于缺陷检测:收集好产品的图像,收集显示各种缺陷类型的图像,适当标注图像,然后训练AI模型。系统自动学习区分类别的内容。
这种方法需要收集具有代表性的训练数据,而不是编程专业知识。添加新缺陷类型意味着添加示例并重新训练。AI通过从训练数据的变异中学习来处理边界情况。
处理变异:关键差异
处理变异的能力是AI计算机视觉在哪里大幅超越传统机器视觉的方面。
机器视觉面对变异
当产品在颜色、纹理或位置上有自然变异时,基于规则的系统会遇到困难。适用于一种产品配置的阈值会在其他配置上导致误拒。
工程师花费数小时调整参数,通常在误拒和漏检之间取舍。某些变异根本无法用规则来适应。
计算机视觉面对变异
AI系统从多样化的示例中学习。它们理解什么变异是可接受的,什么构成真正的缺陷,因为它们已经见过两者。
AI发展出在变异中泛化的鲁棒内部表示。它在产品正常差异的情况下找到缺陷,而不会被其迷惑。
这种差异对许多制造应用至关重要。具有自然变异的产品,例如带纹理的表面、有机材料和手工组装的物品,通常无法用基于规则的方法可靠地检测。
何时使用各种方法
传统机器视觉擅长:
- • 精确测量:当您需要具有指定公差的精确尺寸测量时
- • 代码读取:解码条形码、QR码和OCR,其中格式已定义
- • 简单有无检测:特征明显不同的二进制检查
- • 高度受控的环境:产品和条件极为一致的情况
- • 监管要求:合规性需要明确记录规则的情况
AI计算机视觉擅长:
- • 复杂缺陷检测:在复杂产品上发现多样、不可预测的缺陷
- • 可变产品:检测外观有自然变异的产品
- • 主观质量:难以用明确规则定义的判断
- • 高混合环境:产品频繁变化的情况
- • 细微异常:检测难以通过编程方式表征的缺陷
混合方法
许多现代视觉系统将两种方法结合。您可以在同一生产线上使用传统机器视觉进行精确测量和代码读取,同时使用AI进行缺陷检测。这些技术是互补的,而不是相互排斥的。
一些平台允许在单个系统内混合基于规则和基于AI的检测。这让您可以为每个特定的检测任务选择最佳方法。
"黑盒"问题
关于AI计算机视觉的一个常见担忧是透明度。传统机器视觉的决策是完全可解释的——您可以追踪到底是哪条规则触发了拒绝。AI的决策可能看起来像一个"黑盒"。

现代AI系统通过可视化工具来解决这个问题,该工具会突出显示哪些图像区域影响了决策。虽然不如编程规则那么明确,但这些工具提供了对AI推理的有意义的洞察。对于大多数制造应用,这种洞察程度已经足够。
成本考虑
两种方法的总拥有成本不同:
成本比较:
初始设置:
机器视觉通常需要更多的前期编程时间。AI需要训练数据收集,但编程较少。
持续维护:
机器视觉在条件漂移时需要持续调整。AI可能需要定期用新示例进行重新训练。
产品变更:
新产品需要为机器视觉进行新的编程。AI通常可以用新示例更快地重新训练。
所需专业知识:
机器视觉需要视觉编程技能。AI需要数据收集和训练专业知识(通常更简单)。
做出正确选择
在传统机器视觉和AI计算机视觉之间的选择取决于您的具体应用:
决策因素:
- 任务复杂性:检测标准可以表达为明确规则,还是从示例中学习?
- 产品变异:您的产品展现出多少自然变异?
- 缺陷可预测性:缺陷类型是否明确定义,还是会出现新类型?
- 可用专业知识:您是否具备视觉编程技能或数据收集能力?
- 变化速度:产品或要求多久会变化一次?
对于许多现代制造应用,AI计算机视觉是更好的选择。其处理变异、从示例中学习和适应新情况的能力使其对现实条件更加实用。来自Overview.ai等公司的解决方案通过处理AI的复杂性,以专为制造环境设计的易于部署的包,使AI计算机视觉变得易于获取。