机器视觉中的工业图像处理
如果说机器视觉相机充当着自动化工厂的"眼睛",那么工业图像处理则相当于视觉皮层。成像硬件将入射光转换为数字像素值,而由此产生的原始图像在用于检测、测量或自动化任务之前,仍然需要经过处理。
工业图像处理运用数学和算法方法,从图像数据中提取有意义的信息。这些技术可以降低图像噪声、隔离感兴趣的特征、执行精确的尺寸测量,并提供自动化决策和机器人引导所需的位置或分类数据。
三阶段处理流程
为了将原始图像数据转化为检测或自动化结果,工业图像处理软件通常会应用一个多阶段的处理流程。
1. 预处理(图像增强)
在预处理阶段,软件会改善图像质量,并为下游分析准备数据。此阶段可能包括降噪、照明校正、对比度增强和边缘锐化。其目标并非视觉外观,而是提升与检测任务相关特征的可见性和一致性。
2. 特征提取(分割)
图像准备就绪后,软件会隔离场景中的相关区域或对象。分割技术根据强度、几何形状、纹理或颜色等特性,将感兴趣的特征与背景分离。
3. 分析与分类(决策)
在隔离出相关特征后,系统会执行定量分析,例如尺寸测量、形状比对、模式匹配或对象分类。所得数据随后可用于生成检测结果、引导自动化设备,或触发诸如向 PLC 发送合格/不合格信号之类的输出。
核心图像处理算法
工业图像处理系统使用一系列数学和算法方法来提取和评估视觉特征。
|
算法 |
工作原理 |
典型工业应用 |
|
二值化(阈值处理) |
根据设定的强度阈值分离像素,将灰度图像转换为二值图像。 |
将深色机械零件与背光背景分离,以进行对象检测和计数。 |
|
边缘检测 |
分析强度梯度,以识别图像中的对象边界和过渡区域。 |
对机加工零件进行尺寸测量。 |
|
Blob 分析 |
将具有相似值的相连像素归为区域,以计算面积、质心和周长等属性。 |
检测模塑塑料中的气泡,或对分拣线上的对象进行计数。 |
|
模式匹配 |
在图像中搜索与预定义参考模式或模板相匹配的几何特征。 |
定位基准标记或参考特征,以实现机器人对位和定位。 |
处理在何处进行?
图像处理是计算密集型任务,而确定处理在何处进行是机器视觉系统设计中的一项重要架构决策。所选择的处理架构会强烈影响系统延迟、带宽需求、可扩展性以及总体成本。
在外部 PC 或 GPU 平台上进行图像处理可提供显著的计算灵活性,并能支持先进的 AI 和深度学习工作负载。然而,这种方式需要通过高带宽接口传输大量图像数据。
另一种方式是,在更靠近图像传感器的位置进行处理,这样可以降低带宽需求并简化系统集成。其代价在于,嵌入式和硬件级处理架构通常计算灵活性较低,并且在适应不断变化的应用需求方面可能更为困难。
根据不同的应用,机器视觉系统通常围绕三种处理架构之一来构建。
|
处理硬件 |
优势 |
局限性 |
|
主机 PC(CPU/GPU) |
提供高处理性能、灵活的软件环境,并支持先进的 AI 工作负载。 |
需要将高分辨率图像数据从相机传输到处理系统,从而增加带宽需求。 |
|
智能相机(嵌入式) |
将图像采集与处理集成于一个紧凑的设备中,从而降低系统复杂性和对外部硬件的需求。 |
其处理性能和内存容量通常低于基于 PC 的系统,对于计算密集型应用尤为如此。 |
|
传感器端(FPGA) |
在靠近图像采集阶段的位置执行图像处理操作,从而为去拜耳、像素合并和格式转换等任务实现低延迟处理。 |
与基于软件的处理系统相比,基于 FPGA 的处理架构通常修改灵活性较低。 |
常见问题
不能。机器视觉领域有一句常见的说法:"软件无法弥补不良的照明。"预处理算法虽然可以略微增强对比度或平滑掉细微的阴影,但它们无法凭空创造出从未被采集的数据。如果照明不佳导致缺陷完全融入背景,图像处理软件将永远无法发现它。
工业图像处理软件很少使用有损压缩(例如将文件保存为标准 JPEG)。压缩会以数学方式破坏像素数据以减小文件大小。由于机器视觉的测量和边缘检测依赖于绝对的逐像素精度,因此处理流程几乎只使用未压缩的原始图像数据(例如 TIFF 或位图格式)。
这取决于算法。传统的基于规则的算法(例如边缘检测和 blob 分析)经过高度优化,可在标准的多核 CPU 上运行。但是,如果您的图像处理流程使用深度学习或 AI 神经网络来对复杂缺陷进行分类,则强烈建议配备专用的图形处理单元(GPU),以应对所需的大规模并行计算。
术语表
- 返回总览