本文记录机器视觉硬件学习内容,第二部分:工业相机

本文的主要内容为相机的类型、接口类型及主要参数。

1、相机的分类

相机是机器视觉系统的核心部件,广泛应用于各个领域,尤其是用于生产监控、测量任务和质量控制等。工业数字相机通常比常规的标准数字相机更加坚固耐用。这是因为它们必须能够应对各种复杂多变的外部影响,如应用于高温、高湿、粉尘等恶劣环境。工业相机的分类形式有很多,下图是常见的一些分类方式。下文将详细介绍几种常用类型的工业相机。

2、按成像方式分类:面阵相机和线阵相机

刚接触机器视觉的时候,我想当然的以为面阵相机就是把相机组合排列成面阵,线阵相机就是组合排列成一排,闹了笑话。

面阵相机与线阵相机的区别在于前者是以面为单位进行图像采集,可以直接获得完整的二维图像信息,后者的以“线”为单位,虽然也是二维图形,但长度较长,而宽度却只有几个像素。这是因为线阵相机的传感器只有一行感光元素。虽然面阵相机的像元总数较多,但分布到每一行的像素单元却少于线阵相机,因此面阵相机的分辨率和扫描频率一般低于线阵相机。

由于线阵相机的感光元素呈现“线”状,采集到的图像信息也是线状,为了采集完整的图像信息,往往需要配合扫描运动。如采集匀速直线运动金属、纤维等材料的图像。线阵图像传感器以CCD为主,市场上曾经也出现过一些线阵CMOS图像传感器,但是,线阵CCD仍是主流。目前,陷阵CCD加扫描运动获取图像的方案应用广泛,尤其在要求视场范围大、图像分辨率高的情况下。面阵相机可以用于面积、形状、位置测量或表面质量检测等,直接获取二维图形能一定程度上减少图像处理算法的复杂度。在实际的工程应用当中,需要根据工程需求选择。

3、按输出色彩分类:黑白相机和彩色相机

此部分涉及一些图像处理的理论知识,如果对其感兴趣,可以关注公众号:一刻AI,回复:彩色相机,获取相关论文及资料。

黑白相机和彩色相机很容易理解,输出图像是黑白的就是黑白相机,彩色的就是彩色相机。有人说这不是废话么,确实是废话,不过从原理上来看还是比较有意思的。

先来看简单的黑白相机,当光线照射到感光芯片时,光子信号会转换成电子信号。由于光子的数目与电子的数目成比例,主要统计出电子数目就能形成反应光线强弱的黑白图像。经过相机内部的微处理器处理,输出就是一幅数字图像。在黑白相机中,光的颜色信息是没有被保留的。

实际上CCD是无法区分颜色的,只能感受到信号的强弱。在这种情况下为了采集彩色图像,理论上可以使用分光棱镜将光线分成光学三原色(RGB),接着使用三个CCD去分别感知强弱,最好在综合到一起。这种方案理论上可行,但是采用3个CCD加分光棱镜使得成本骤增。最好的办法是仅使用一个CCD也能输出各种彩色分量。

伊士曼·柯达公司科学家Bryce Bayer发明了拜耳列阵,使得仅使用一个CCD也能输出各种彩色分量。Bayer彩色相机的原理为:如下图所示,一行使用蓝绿元素,下一行使用红绿元素,如此交替。每个像素仅包括了光谱的一部分(R or G or B),必须通过色彩空间插值来还原每个像素的RGB值(文献【1】)。

插值算法有很多,这里介绍:临近插值算法。我们采用3X3的滑窗在上图中滑动取样,可以取到下图中的四种分布。

在(a)与(b)中,R和B分别取邻域的平均值;在(c)与(d)中,取领域的4个B或R的均值作为中间像素的值。

但是人眼对绿光的反应比较敏感,对紫光和红光反应较弱。为了更好的还原画质,依据邻近值对进行自适应插值。

在情况(a)中,中间值R由以下公式决定,即G的值将插值到R上。

图中,如果R1和R3之间的差小于R2和R4之间的差,则表明在垂直方向上相关性较强,我们使用垂直邻近值G1和G3的平均值。水平方向也同理。

在情况(b)中,中间值B由以下公式决定,即G的值将插值到B上。

从彩色相机的成像原理可以看出,色彩值主要通过插值的形式来表述。而在实际应用中,即使最成熟的色彩插值算法也会在图片中产生低通效应。文献【2】对比了彩色相机与黑白相机在相同环境下的成像质量,如下图所示。显然,彩色图像的细节处会出现伪彩色,导致精度降低。 在工业应用中如果我们要处理的是与图像颜色有关,那么我们需要采用彩色相机;如果不是,那么最好选用黑白相机,因为在同样分辨率下,黑白相机的精度高于彩色相机。

3、按图像传感器分类:CCD和CMOS

图像传感器是工业相机的核心元件,主要有CCD和CMOS两种。

CMOS(Complementary Metal Oxide Semiconductor)是互补金属氧化物半导体,CMOS 图像传感器阵面中的每一个像元都是由三个部分组合而成,分别是感光二极管、放大器和读出电路,然而由于每个单元独立输出,这也使得每个放大器的输出结果都不尽相同,所以 CMOS 阵列所获取的图像噪声较大,图像的质量也相对降低,但是,对于一般的精度要求,还是可以满足的。在集成电路领域中,CMOS采用的工艺是最基本的工艺,工艺相对来说不复杂,所以成本也不高,光电灵敏度较高等优点。它的一些性能参数也在不断被优化,应用也越来越广,总体来说,CMOS 的性价比还是较高的。

CCD (Charge-coupled Device)的全名是电荷耦合器件。CCD是一种半导体器件,能够把光学影像转化为数字信号,CCD上植入的微小光敏物质称作像素(Pixel),一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。CCD提供很好的图像质量、抗噪能力和相机设计时的灵活性。尽管由于增加了外部电路使得系统的尺寸变大,复杂性提高,但在电路设计时可更加灵活,可以尽可能的提升CCD相机的某些特别关注的性能。CCD更适合于对相机性能要求非常高而对成本控制不太严格的应用领域,如天文,高清晰度的医疗X光影像、和其他需要长时间曝光,对图像噪声要求严格的科学应用。

目前,CCD在性能方面还仍然优于CMOS。不过,随着CMOS图像传感器技术的不断进步,在其本身具备的集成性、低功耗、低成本的优势基础上,噪声与敏感度方面有了很大的提升,与CCD传感器差距不断缩小。

4、相机的主要接口类型

IEEE 1394:

  1. 在工业领域中应用广泛。协议、编码方式都非常不错,传输速度稳定。
  2. 在工业中,常用的是400Mb的1394A和800Mb的1394B接口。超过800Mb以上的也有,如3.2Gb的,但是比较少见。
  3. 接口普及率低,早期由苹果垄断,电脑上通常不包含其接口,因此需要额外的采集卡。
  4. 需要注意一下其PacketSize数据包大小设置。Packet Size是整个1394总线的带宽。
  5. 占用CPU资源少,可多台同时使用,但由于接口的普及率不高,已慢慢被市场淘汰

GIGE千兆网接口:

  1. 千兆网协议稳定,使用方便,连接到千兆网卡上即可工作
  2. 在千兆网卡的属性中,也有与1394中的Packet Size类似的巨帧。设置好此参数,可以达到更理想的效果。(我之前用NI Max的使用因为packet size设置的过大,导致无法软件采集不到图像)
  3. 传输距离远,可传输100米。
  4. 可多台同时使用,CPU占用率小。

USB接口:

  1. 早期的USB2.0接口连接方便,几乎所有电脑都配置USB接口,无需采集卡。
  2. USB2.0接口传输速率慢,传输过程需要CPU参与管理,占用及消耗资源大。
  3. USB2.0接口一般没有固定螺丝,接口不稳定,在运动设备上有松动的风险。
  4. USB3.0在2.0基础上新增了两组数据线,向下兼容,接近了传输速度慢的问题,但传输距离依旧较近。

Camera Link接口:

  1. 需要单独的CameraLink接口,不便携,导致成本过高。
  2. Camera Link接口的相机,实际应用中比较少。
  3. 采用LVDS接口标准,速度较快,抗干扰能力强,功耗低。
  4. 传输距离近。

5、相机的主要参数

  1. 分辨率(Resolution):相机每次采集图像的像素点数(Pixels)。由工业相机所采用的芯片分辨率决定,是芯片靶面排列的像元数量。分辨率影响采集图像的质量,在对同样大的视场(景物范围)成像时,分辨率越高,对细节的展示越明显。
  2. 像素深度(Pixel Depth):每位像素数据的位数,常见的是8bit,10bit,12bit。分辨率和像素深度共同决定了图像的大小。例如对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M。
  3. 最大帧率(Frame Rate)/行频(Line Rate):相机采集传输图像的速率,对于面阵相机一般为每秒采集的帧数(FPS),对于线阵相机机为每秒采集的行数(Hz)。
  4. 曝光方式(Exposure)和快门速度(Shutter):线阵相机为逐行曝光的方式,可以选择固定行频和外触发同步的采集方式,曝光时间可以与行周期一致,也可以设定一个固定的时间;面阵相机有帧曝光、场曝光和滚动行曝光等几种常见方式,工业数字相机一般都提供外触发采图的功能。快门速度一般可到10微秒,高速相机还可以更快。
  5. 靶面尺寸:图像传感器的感光部分的大小。 常见的靶面有1/4''、1/3''、1/2''、2/3''、1''等几种,当然也有其他规格。靶面尺寸规格见下表。

以basler的acA2500-14gm - Basler ace相机为例,该相机相机配有 ON Semiconductor MT9P031 CMOS 感光芯片帧速率为每秒 14 帧图像(14fps),分辨率为500 万像素,靶面尺寸为1/22.5''。

 在选型时,按照以下步骤进行:

  1. 根据需求和成本选择图像传感器型号:CCD还是CMOS;
  2. 根据目标的要求精度,选择合适的分辨率。对于视野大小为10*10mm的场合,要求精度为0.02mm/pixel,则当方向上分辨率=10/0.02=500。
  3. 若被测物体为运动物体,需要选择帧数较高的工业相机。

参考文献:

【1】Bayer color conversion and processing

【2】Jeon H G, Lee J Y, Im S, et al. Stereo matching with color and monochrome cameras in low-light conditions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 4086-4094.

【3】胡仁伟. 光滑零件表面缺陷检测系统设计与实现[D]. 电子科技大学, 2018.

欢迎关注公众号:一刻AI

机器视觉硬件——工业相机相关推荐

  1. 机器视觉硬件选型简析

    机器视觉硬件选型简析 一.相机选型 二.镜头选型 三.光源选型 四.选型工具 五.应用举例 参考文档 一.相机选型 搭建机器视觉硬件系统,相机的选择很大程度上决定了所成的图像的质量,包括图像分辨率.图 ...

  2. 机器视觉(二):机器视觉硬件技术

    目录: 机器视觉(一):概述 机器视觉(二):机器视觉硬件技术 机器视觉(三):摄像机标定技术 机器视觉(四):空域图像增强 机器视觉(五):机器视觉与世界杯 机器视觉(六):频域图像增强 机器视觉( ...

  3. 机器视觉硬件——镜头

    本文记录机器视觉硬件学习内容,第三部分:镜头 本文的主要内容为镜头的光学原理.基本参数和选用原则.作为工程人员,应重点掌握镜头的基本参数和选用原则 1.光学系统的基本原理 1.1 主要名词解释 光心: ...

  4. 机器视觉_工业相机及相关配件选型

    文章目录 工业相机 一. 概述 二. 相机参数 1. 传感器芯片 1.1. CCD&CMOS 1.2. CCD 1.3. CMOS 1.4. 靶面 1.5. 传感器芯片选型 2. 黑白or彩色 ...

  5. 机器视觉硬件选型——光源选型

    光源选型 1. 光学基础 1.1 光谱 1.2 光的反射 1.3 光的折射 1.4 光的衍射 1.5 光的波段 1.6 光颜色的合成与互补 2. 光源特性 2.1 机器视觉系统中光源的作用 2.2 L ...

  6. 机器视觉硬件—相机的选型

    1.相机存储的文件格式:bmp(原始)(无损),ipg(压缩): 2.工业分类: ①芯片:ccd(测量),cmos(检测): ②传感器:线扫相机(精度不高),面阵相机()/3d相机: ③扫描方式:隔行 ...

  7. 机器视觉中工业相机的电气数据接口介绍

    说起工业相机的接口,主要分两种,分别是镜头接口和电气数据接口.工业相机的数据接口又可以分为数字接口和模拟接口两种.数据接口传输的是数字信号,模拟接口传输的是模拟信号.数字信号比模拟信号有很多优点,比如 ...

  8. 机器视觉硬件选型——镜头选型

    镜头选型 1. 基本概念 1.1 焦距 1.2 光圈 1.3 光圈系数 1.4 景深 1.5 分辨率 1.6 放大倍率 1.7 接口 1.8 尺寸 1.9 像差 2. MTF曲线 3. 选型案例 4 ...

  9. 机器视觉硬件—相机镜头的选型

    相机镜头的选型 1 焦距(Focal Length) 记为f.从镜头中心点到胶平面上所形成的清晰影像之间的距离.一般 情况下,焦距越大,工作距离越大,视角越小:焦距越小,工作距离越小,视角越大. f/ ...

最新文章

  1. ubuntu16.04系统下安装fasttext文本分类库
  2. JZOJ 5107. 【GDSOI2017】 中学生数据结构题
  3. Python——基本统计值计算
  4. 2018刑侦推理 java_2018年刑侦科目推理试题
  5. 计算机硬件:固态硬盘选购的技巧
  6. RiPro子主题V8.1开心版 小八子主题v8.1版
  7. Unity 序列化的问题
  8. JVM 为什么使用元空间替换了永久代
  9. 一个基于 EasyUI 的前台架构(4)主体页面框架收工
  10. 使用猎码的浏览器组件开发安卓H5打包APK
  11. 港股通收市竞价交易机制科普
  12. Excel将多行带空格的数据插入到表格中
  13. python抢优惠券程序_python3 优惠券查询GUI程序
  14. 【网络】华为网络设备认证登录设置
  15. 单点登录 Ucenter 分析
  16. 1.20e 的maphack
  17. Maven下载及安装教程详解
  18. 加速基因测序进程,北鲲云高性能计算平台再发力
  19. open_vins(三):imu静止初始化
  20. python异常处理

热门文章

  1. 【002】SPARC V8 体系结构第一章介绍
  2. 股票MACD指标算法公式
  3. Pandas数据分析案例(盛华化工锅炉排放数据可视化分析)
  4. gdb插件peda、gef、Pwndbg安装
  5. 看机器学习如何还原图像色彩
  6. 什么是「区块高度」?
  7. 进阶之路(故事未完待续)
  8. C#连接达梦数据库基础功公共类
  9. MySQL分组查询最新的一条记录
  10. NOI2016 优秀的拆分(图解)