技术门户

技术门户

机器视觉系统剖析

概述

尽管每个机器视觉系统的主要组件都是相机,但如果没有以下所有组件,任何机器视觉系统都是不完整的:

  • 照明
  • 光学棱镜
  • 相机
  • 布线
  • 接口外设
  • 计算平台
  • 软件

机器视觉系统中的每个组件在实现系统的总体目标方面都扮演着重要的角色,即帮助机器通过观察外部世界做出更好的决策。 实现此目的需要对组件进行有序定位,以便可以促进从光捕获到传输和处理数字图像的信息流。

下图显示了每个组件的位置。 图像中提到的每个组件在下面详细讨论。

照明

当相机捕捉物体的图像时,它真正做的是捕捉物体反射的光。 光被吸收或反射的程度取决于物体的表面是透明的、半透明的还是不透明的。

为了确保相机能够捕获分析所需的所有细节,机器视觉系统需要配备适当的照明。 根据光源的位置、角度、反射性质和色谱,可以使用各种用于机器视觉系统中工程照明的技术。 这些都是:

  • 基于位置的照明技术

    • 前灯 – 相机和光源都从同一侧面向目标场景。
    • 背光 – 相机和光源相对放置,目标场景在中间。

机器视觉系统剖析 - frontback-800x400

  • 基于角度的照明技术
    • 定向照明 – 一条光线或一组以非常窄的角度传播的光线照亮目标场景上的每个点。 定向照明投射出强烈的阴影并使图像中的纹理更加突出。
    • 漫射照明 – 以广角传播的光线照亮目标场景上的每个点。 漫射照明几乎不投射阴影,从而消除了阴影并使纹理更加明显。
      • 轴向漫射照明 – 分束器将漫射光向下反射到目标上,从而产生均匀的照明。
      • 漫射圆顶照明 – 半球形镜子向下反射漫射光,照亮目标。

机器视觉系统剖析 - directdiffused-1024x341

  • 基于反射自然的照明技术
    • 暗场照明光源的位置使其光线不会被镜子反射或直接传输到相机的视野中。
    • 明场照明光源的位置使其光线预计会被镜子反射或直接传输到相机的视野中。

机器视觉系统剖析 - darkbrightfield-800x400

  • 基于图案的照明技术

    • 结构化照明 – 在结构光的情况下,点、网格或更复杂的形状等光图案以一定角度投射到物体上。
  • 基于色谱的照明技术
    • RGB照明对于单色成像,光通常是红色、绿色或蓝色的窄波长带。
    • 白色照明 – 对于彩色成像,需要白光。
  • 基于光谱的照明技术
    • 紫外线照明 – 紫外线 (UV) 是一种波长(200 纳米至 400 纳米)比可见光(400 纳米至 780 纳米)更短的光谱。 在 UV 照明的情况下,发射 UV 光的光源用于照亮物体。
    • 短波红外照明 – 短波红外 (SWIR) 光谱(900 nm 至 2,500 nm)是最接近可见光的红外光区域(780 nm 和 1 mm)。 在 SWIR 照明的情况下,发射 SWIR 光的光源用于照亮物体。
    • 近红外照明 – 近红外 (NIR) 波长在 780-1400 nm 范围内。 在 NIR 照明的情况下,发射 NIR 光的光源用于照亮物体。

光学棱镜

镜头是一种通过聚焦进入场景的光线来放大场景的设备。 简单来说,镜头就是让相机看清外面的世界。 相机看到的场景被认为是 焦点 如果边缘看起来很锋利并且 失去重点 如果边缘显得模糊。 这里需要注意的是,机器视觉相机中使用的镜头通常具有固定焦距或可调焦距,而消费类相机(例如 DSLR 和傻瓜相机)中使用的镜头具有自动对焦功能。 视角 (AoV), 视场 (FoV), 物距、焦距、光圈和光圈值是对镜头进行分类时经常使用的一些术语。 以下是对这些术语的简要解释:

  • 视角 (AoV)
    视角 (AoV) 是指可以通过镜头看到的区域的角度范围(以度为单位)。 AoV 是所有镜头的规格,它是通过使用兼容的传感器尺寸将镜头聚焦到无限远而得出的。 对于给定的镜头和传感器尺寸,AoV 是恒定的。
  • 视野 (FoV)
    视野 (FoV) 是指可以通过镜头看到的区域的矩形范围,但 FoV 取决于焦距和物距。 FoV 描述了在特定焦距下捕获的内容,而不是在 AoV 的情况下将镜头聚焦到无限远。
  • 物距
    物距是镜头与目标物体之间的工作距离。
  • 焦距
    焦距是镜头和焦点之间的距离。 当焦点在传感器上时,图像就在焦点上。
  • 光圈和光圈值
    光圈是镜头的开口,它控制到达传感器的光量。 光圈的大小通过其 F 制光圈值来衡量。 较大的 F 制光圈值意味着较小的光圈开口,反之亦然。
机器视觉系统剖析 - fov-lens
机器视觉系统剖析 - fstops-and-aperture-1000
镜头类型

1. Entocentric / Endocentric 镜头 – 这些镜头具有固定焦距,是机器视觉相机中最常用的镜头。

机器视觉系统剖析 - Entrocentric-200x183

2. 微距镜头 – 微距镜头旨在实现高放大倍率,它们通常在 05 倍至 10 倍的放大倍率范围内工作。

机器视觉系统剖析 - 宏观 400x138

3. 远心镜头 – 远心镜头没有成像角度,并创建垂直视图 现场。

机器视觉系统剖析 - telecentric-300x214

相机

一个包含镜头卡口、图像传感器、处理器、电力电子和通信接口的保护壳就是机器视觉中所说的相机。

任何相机的核心都是一个图像传感器,可将入射光(光子)转换为电信号(电子)。 图像传感器包括 暴露数组称为 “光电二极管”充当势阱,将来自光子的电磁能转换为微电压。 然后将该电压传递给 输出数字值的模数转换器 (ADC)。 市场上的图像传感器可以根据物理结构(CCD/CMOS)、像素尺寸(区域扫描/线扫描)、色度类型(彩色/单色)、快门类型(全局/滚动)、光谱( UV/SWIR/NIR) 和光的偏振。

每个光电二极管上 传感器 对应于数字图像的一个像素。 光电二极管与模拟值相关联,而图像像素与数字值相关联。 像素是数字图像中的最小元素,并且 是“图片元素”的缩写。 分辨率、强度、曝光、增益和帧速率是与数字成像相关的一些基本概念,将在下面讨论。

数字图像概念

  • 解析度 - 数字图像由像素组成。 图像分辨率是对图像中像素列数和像素行数的度量。 1280 x 1024 的图像分辨率告诉我们图像的宽度为 1280 像素,高度为 1024 像素。

机器视觉系统剖析 - Pixel_Resolution-800x256

  • 强度 - 图像像素的亮度称为强度。 ADC的位深度越大,表示强度的范围就越大。 例如,如果 ADC 的位深度为 8 位,则只有 2⁸ 或 256(0 到 255)个值可用于表示强度。 但是,如果 ADC 的位深度为 12 位,则现在有 2^4096 或 XNUMX 个值可用于表示强度。

机器视觉系统剖析 - 强度-600x185

  • 接触 - 曝光是指光电二极管暴露在光线下的持续时间。 曝光时间通常以微秒 (µs) 和毫秒 (ms) 为单位进行测量。

机器视觉系统剖析 - Exposure-600x193

  • 获得 - 增益是像素强度值的放大。 当传感器中的光电二极管电荷强度增加时,称为模拟增益,当电荷转换为数字值后像素值增加时,称为数字增益。

机器视觉系统剖析 - Gain-400x225

  • 帧率 – 帧速率测量 每秒帧数或 FPS,是传感器在一秒钟内可以输出的图像数量。

机器视觉系统剖析 - 每秒帧数-diagram-evt

布线

以太网(EtherNet)

以太网是一种局域网 (LAN) 技术,于 1983 年由电气和电子工程师协会 (IEEE) 作为 802.3 标准引入。 IEEE 802.3 定义了物理层和数据链路层的媒体访问控制 (MAC) 规范。 以太网是一种有线技术,支持双绞线铜线 (BASE-T) 和光纤线 (BASE-R)。 下表根据速度和电缆/收发器类型提到了各种以太网网络技术。

基于双绞铜线的 BASE-T 以太网标准
姓名 速度 电缆类型 最大限度。 电缆长度
1000BASE-T 1 Gbps Cat5e
Cat6
100 m
10GBASE-T 10 Gbps 六类
Cat7
猫7A
100 m
基于光纤布线的 BASE-R 以太网标准
姓名 速度 收发器类型 最大限度。 电缆长度
10GBASE-R 10 Gbps SFP+(1 通道) 80 公里 (ZR)
25GBASE-R 25 Gbps SFP28(1 通道) 80 公里 (ZR)
50GBASE-R 50 Gbps QSFP28(2 通道)
SFP56(1 通道)
80 公里 (ZR)
100GBASE-R 100 Gbps QSFP28(4通道)
SFP56(2 通道)
SFP-DD(2 通道)
80 公里 (ZR)
200GBASE-R 200 Gbps QSFP56(4 通道)
QSFP-DD(4 通道)
80 公里 (ZR)
400GBASE-R 400 Gbps QSFP56(8 通道)
QSFP-DD(8 通道)
80 公里 (ZR)

通用串行总线(USB)

通用串行总线 (USB) 标准于 1996 年首次发布,由 USB 实施者论坛 (USB-IF) 维护。 USB 旨在标准化外围设备与个人计算机的连接。 USB既可以通信也可以为外围设备供电,例如 键盘、鼠标、摄像机和打印机. 下表提到了各种 USB 标准及其速度。

USB标准
姓名 速度 最大电缆长度
USB 2.0 480 Mbps 5 m
USB 3.0 5 Gbps 3 m
USB 3.1 Gen 1 5 Gbps 3 m
USB 3.1 Gen 2 10 Gbps 3 m
USB 3.2(2 个 3.1 第 1 代) 10 Gbps 3 m
USB 3.2(2 个 3.1 第 2 代) 20 Gbps 3 m
USB 4 40 Gbps 0.8 m

CoaX出版社

CoaXPress (CXP) 是一种通过同轴电缆传输数据的点对点通信标准。 CoaXPress 标准在 2008 年斯图加特视觉展上首次亮相,目前由 JIIA(日本工业成像协会)维护。 下表提到了各种 CXP 标准。

CoaXPress 标准品
姓名 速度 最大限度。 电缆长度
CXP-1 1.25 Gbps 212 m
CXP-6 6.25 Gbps 60 m
CXP-12 12.5 Gbps 40 m
光纤 CXP 10 Gbps 80公里

Camera Link

Camera Link 是一种为并行通信而构建的高带宽协议。 它标准化了相机和图像采集卡之间的连接。 Camera Link High-Speed (CLHS) 从 Camera Link 演变而来,于 2012 年首次推出。它在相机和图像采集卡之间提供低延迟、低抖动的实时信号,并且可以使用用于铜缆和光纤布线。

Camera Link 标准
姓名 速度 最大限度。 电缆长度
Camera Link 底座 2.04 Gbps 10 m
相机链接已满 5.44 Gbps 10 m
Camera Link 德卡 6.80 Gbps 10 m
Camera Link HS(高速) 25 Gbps 80公里

接口外设

以太网(EtherNet)

  • 网络接口卡 (NIC) 以太网络 接口卡 (NIC) 是一种扩展卡,通过 PCIe 插槽连接到计算机主板,并实现开放系统互连模型(OSI 模型)的物理层和数据链路层的电子电路。

机器视觉系统剖析 - Zeus-Dual-Port-600x381

  • 交换机 - A 网络交换机 连接同一局域网 (LAN) 内的以太网设备。 当交换机从连接到其物理端口的设备之一接收到数据包时,交换机会读取其报头,然后匹配目标地址或地址,并通过适当的端口将数据包发送到目标设备。 以下是一些需要使用开关的机器视觉相机功能:
    • 多路复用 – 在高速多摄像头系统(例如 64 摄像头系统)中,每个摄像头都输出大量像素数据,需要交换机将来自多个以太网端口的像素数据整合并输出到服务器或主机 PC使用单个端口。
    • 多播——使用多播的机器视觉应用程序需要一个交换机,以便将相机数据发送到多台主机 PC。
    • 精确时间协议 (PTP) – 如果多个摄像头的时间戳需要与单个设备的时钟同步,则需要使用开关。

机器视觉系统 Mellanox 开关剖析

  • 以太网集线器集线器还可以将多个设备连接在一起以共享资源,连接到集线器的设备集合称为 LAN 网段。 集线器与交换机的不同之处在于,从连接的设备之一发送的数据包会广播到连接到集线器的所有设备。 使用交换机,数据包仅定向到通向寻址设备的端口。

机器视觉系统剖析 - ethernet_hub_netgear-400x300

  • 主板内置以太网端口 – 现在所有主板都有内置的以太网端口,主要支持 1Gbps 速度,在某些情况下还可以支持 5Gbps 和 10Gbps 速度。 不建议将主板上的内置以太网端口用于高速应用,因为它们的内部缓冲区大小有限且性能有限。

机器视觉系统剖析 - 主板-800x233

通用串行总线(USB)

  • USB PCIe 卡 – USB 卡是基于 PCIe 的扩展卡,用于增加 PC 上的 USB 端口数量。 市面上的USB卡种类繁多,支持USB 2.0、USB 3.0等多种USB标准,支持USB-A、USB-B、USB-C、Micro-USB等多种USB接口。

机器视觉系统剖析 - USB-Card-400x205

  • USB 端口集线器 – USB 集线器是使用公 USB 连接器连接到计算机并具有母 USB 端口的外部设备。 USB 集线器为您的计算机添加了额外的 USB 端口,因此您可以插入额外的 USB 设备。

机器视觉系统剖析 - usb_hub-300x300

  • 主板常驻 USB 端口 – 现在大多数主板都带有内置 USB 3.0 端口,有些主板仍然支持 USB 2.0 和 USB 3.0。

机器视觉系统剖析 - Adob​​eStock_48585318-scaled-e1670958587930-800x382

CoaX出版社

  • 图像采集卡 – CoaXPress 图像采集卡从相机“抓取”单个帧并启用各种高端采集和图像处理功能,例如实时压缩,以及卸载感兴趣区域 (ROI) 以提高带宽利用率的能力。

机器视觉系统剖析 - cxp_frame_grabber-400x267

Camera Link 和 CLHS

  • 图像采集卡 – 与 CoaXPress 图像采集卡类似,Camera Link 图像采集卡从相机“抓取”单个帧并包括各种板载处理功能,例如可编程感兴趣区域、像素抽取、图像缩放和查找表。

机器视觉系统剖析 - clhs-400x400

计算平台

机器视觉相机内部的处理器通常是嵌入式处理器或 运行特定型号固件的现场可编程门阵列 (FPGA)。 该固件负责从图像传感器读取像素值、实现图像传感器功能、处理像素数据以创建完整图像、应用图像增强算法以及与外部设备通信以输出完整图像。

相机内部的处理器是 受限 最小化功耗d 减少热量的产生。 因此,在处理非常高的帧速率并同时输出经过处理的图像时,它的处理能力受到限制。 要对来自帧速率非常高的传感器的大量图像数据进行后期处理,最好将这些数据发送到外部系统进行处理,而不是使用相机处理器的资源。 图像后处理中使用的各种系统有:

  • 消费类个人电脑 – 基于消费者 PC 的系统是最灵活和最便宜的选择,因为 现成的组件可用于设计系统。 机器视觉相机可以使用以太网、USB、CoaXpress 和 Camera Link 等接口与基于 PC 的系统连接。

机器视觉系统剖析 - pc-300x300

  • 工业电脑 – 工业 PC 是 内置坚固的外壳,可防止灰尘和碎屑进入。 这些 PC 可以承受工业环境中的冲击、振动和极端温度。 与消费类 PC 类似,相机也可以使用以太网、USB、CoaXpress 和 Camera Link 等接口连接到工业 PC。

机器视觉系统剖析 - Industrial_pc_moxa-e1670953123314-600x315

  • 视觉控制器 – 视觉控制器也是基于 PC 的系统,但除了 PC 功能外,它们还支持串行和 I/O 设备。 视觉控制器带有内置串行和 I/O 接口,例如 RS232/RS485 端口、模拟 I/O 和数字 I/O。 串行和 I/O 接口可以更轻松地与可编程逻辑控制器 (PLC) 和工业通信 C 系列模块集成,并支持实施通信协议,例如 Modbus 串行。 一些视觉控制器还具有用于控制照明的 PWM 功能。 大多数视觉控制器都有用于连接机器视觉相机的以太网和 USB 端口。

机器视觉系统剖析 - Vision_controller_emergent-1-800x353

  • 嵌入式系统 - 嵌入式系统是高度可配置的计算机,其设计使其可以嵌入其他更大的系统,如自动驾驶汽车、无人机和医疗设备。 由于这些嵌入式系统还支持以太网和 USB 等相同的标准接口,因此它们可以轻松与机器视觉相机连接。 嵌入式系统的一些示例是 NVIDIA Jetson Orin 和 NVIDIA Jetson Xavier。

机器视觉系统剖析 - JETSON-AGX-ORIN-DEVELOPER-KIT-600x525

  • 工作站电脑 – 在平衡性能与成本时,使用 AMD Threadripper PRO 或 Intel i9 等处理器的工作站 PC 是构建多摄像头系统的首选。

机器视觉系统剖析 - threadripperpro_-e1671124376315-800x470

  • 企业服务器 – 使用 AMD EPYC 和 Intel Xeon 等处理器的企业服务器不仅可以管理从高速多摄像头系统到处理节点的像素数据分布,还可以为图像处理工作负载提供卓越的性能。

机器视觉系统剖析 - amd_epyc

  • 基于云的系统 – 随着机器视觉应用的复杂性不断增加,例如随着人工智能的使用,即使是基于 PC 的系统在某些情况下也无法满足处理要求。 这是基于云的处理平台,如 AWS、Azure 和谷歌云正在填补这一空白,因为它们提供了充足的资源来扩展处理。

机器视觉系统剖析 - aws_azure_googlecloud-800x342

软件

机器视觉相机负责捕获图像并将其发送到主机 PC,而运行在主机 PC 上的成像软件则负责:

    • 与相机硬件接口
    • 控制相机功能
    • 接收、处理和分析图像
    • 使用图像结果进行决策
    • 与任何其他需要摄像头输入的连接设备或机器进行通信

机器视觉中的三类成像软件是:

  • 相机查看器 – 相机查看器 是影像软件中最人性化和互动性最强的部分,让您更容易快速上手相机。 除了网络配置、摄像机配置、图像捕获、增强、显示和记录功能外,一些图像软件还提供了用于分析图像的高级工具,例如直方图和线图。

机器视觉系统剖析 - eCapture_-800x521

  • 综合软件 – 除了 Camera Viewer 的所有功能外, 综合软件 提供项目管理、多相机配置、多服务器配置、GPU 支持、3D 图像重建和 3D 对象查看器等高级功能。

机器视觉系统剖析 - eCapture-Pro

  • 软件开发工具包 (SDK) – 软件开发套件(SDK) 是代码示例、代码库、应用程序编程接口 (API)、文档和编译器/调试器等的集合。大多数机器视觉 SDK 支持 C/C++/C#/Python 编程语言,可用于为 Windows、Linux 开发自定义应用程序和 ARM 平台。

机器视觉系统剖析 - eSDK-800x431