图像获取与预处理、核心算法与分析、系统集成与应用。

图像获取与预处理技术
这是机器视觉的“眼睛”和“视觉信号处理”的第一步,目标是获取高质量、适合分析的原始图像。
-
成像硬件技术
- 相机: 核心设备。
- 工业相机: 与普通相机不同,它更强调稳定性、速度和图像质量。
- 按传感器分类: CCD(电荷耦合器件)相机,图像质量好,噪点低;CMOS(互补金属氧化物半导体)相机,速度快,功耗低,成本也低,是目前主流。
- 按接口分类: GigE (千兆网), USB3.0, Camera Link, CoaXPress 等。
- 镜头: 相当于人眼的晶状体,决定成像的清晰度、视野和景深。
- 定焦镜头 vs. 变焦镜头
- 远心镜头: 用于精密测量,能消除透视误差和景深变化带来的影响。
- 显微镜头: 用于观察微小物体。
- 光源: 机器视觉中至关重要,被称为“打光技术”,好的光源能凸显特征,抑制干扰。
- 类型: 环形光、条形光、穹顶光、同轴光、背光源、无影光源等。
- 光谱: 可见光、红外光、紫外光等。
- 图像采集卡: 将相机的模拟或数字信号转换成计算机可处理的数字图像。
- 相机: 核心设备。
-
图像预处理技术
- 去噪: 消除图像中的随机噪声,如高斯滤波、中值滤波等。
- 增强: 提高图像的对比度、亮度,使细节更清晰。
- 几何校正: 校正由于镜头畸变或安装角度导致的图像变形。
- 色彩空间转换: 如从RGB转换到HSV(更适合颜色分割)、灰度图等,以简化后续处理。
核心算法与分析技术
这是机器视觉的“大脑”,是整个系统的核心,负责从图像中提取有用信息并做出决策。

-
传统图像处理技术
- 图像分割: 将图像分割成若干个有意义的区域,这是后续分析的基础。
- 阈值分割: 最简单有效的方法。
- 边缘检测: 如 Canny、Sobel 算子,用于提取物体的轮廓。
- 区域生长: 从种子点开始,根据相似性准则合并区域。
- 特征提取: 从图像中提取有代表性的、可用于识别和测量的特征。
- 几何特征: 面积、周长、圆度、长宽比、位置、角度等。
- 纹理特征: 如灰度共生矩阵描述的对比度、熵等。
- 形状特征: 如Hu矩、傅里叶描述子等。
- 模板匹配: 在图像中寻找与已知模板最相似的区域,常用于定位和识别。
- 形态学处理: 基于图像形状进行处理,如腐蚀、膨胀、开运算、闭运算,用于去除噪声、连接断开的区域等。
- 图像分割: 将图像分割成若干个有意义的区域,这是后续分析的基础。
-
机器学习与深度学习技术
- 传统机器学习:
- 支持向量机: 用于图像分类。
- 决策树/随机森林: 用于特征分类。
- K-近邻: 基于距离的分类方法。
- 这些方法通常需要人工设计特征,然后输入到分类器中进行训练。
- 深度学习 (当前主流):
- 卷积神经网络: 擅长处理图像数据,能自动学习和提取特征,极大地简化了特征工程。
- 经典模型: LeNet, AlexNet, VGG, GoogLeNet, ResNet。
- 核心应用:
- 图像分类: 判断图像中是什么物体(如,区分良品和次品)。
- 目标检测: 不仅要知道是什么,还要知道它在哪(如,在图像中框出所有零件的位置),经典模型有 R-CNN 系列, YOLO, SSD。
- 图像分割: 对图像中的每个像素进行分类,实现像素级别的识别(如,精确勾勒出产品的轮廓),包括语义分割和实例分割。
- OCR (光学字符识别): 识别图像中的文字,如 PaddleOCR, Tesseract 等。
- 其他模型:
- 循环神经网络: 用于处理序列数据,如视频分析。
- 生成对抗网络: 用于数据增强、图像生成等。
- 卷积神经网络: 擅长处理图像数据,能自动学习和提取特征,极大地简化了特征工程。
- 传统机器学习:
系统集成与应用技术
这是将“眼睛”和“大脑”连接起来,并赋予系统行动能力的部分。
-
软件开发与编程
(图片来源网络,侵删)- 编程语言:
- C++: 性能高,是许多底层视觉库(如 OpenCV)的首选,适合开发高性能的视觉系统。
- Python: 语法简洁,库丰富(如 OpenCV-Python, PyTorch, TensorFlow),开发效率高,是目前学术界和工业界进行算法研究和原型开发的主流语言。
- 视觉库/框架:
- OpenCV: 开源计算机视觉库,功能极其强大,包含了几乎所有传统和部分现代的视觉算法。
- Halcon / VisionPro: 商业视觉库,功能强大,稳定,提供大量成熟的算子和工具,开发效率高,但成本昂贵。
- 深度学习框架: PyTorch, TensorFlow, Keras 等,用于构建和训练深度学习模型。
- 编程语言:
-
硬件平台与系统集成
- 硬件平台:
- PC-Based (基于PC): 使用高性能工业计算机,灵活性高,适合复杂的视觉算法。
- 嵌入式/智能相机: 将相机、处理器和算法集成在一个设备中,体积小,成本低,易于部署。
- GPU/NPU 加速: 利用图形处理器或神经网络处理器来加速深度学习模型的推理速度。
- 人机交互与数据管理:
- 用户界面: 用于配置参数、显示结果、报警等。
- 数据通信: 与PLC、机器人、SCADA等自动化设备进行通信,发送控制指令(如,告诉机器人去抓取哪个位置的零件)。
- 数据存储与追溯: 保存检测结果、图像数据,用于质量分析和生产追溯。
- 硬件平台:
一个完整的机器视觉系统,就像一个生物的视觉系统:
- 成像硬件 是 眼球,负责接收光线。
- 图像预处理 是 视网膜,对光信号进行初步处理。
- 核心算法 是 大脑的视觉皮层,负责识别和理解图像内容。
- 系统集成 是 运动神经和大脑的其他部分,负责根据视觉信息做出反应和决策。
这些技术相辅相成,共同构成了现代机器视觉的强大能力,根据具体的应用场景(如缺陷检测、尺寸测量、机器人引导、人脸识别等),所需技术的侧重点也会有所不同。
