[硬件选型] 工业相机之参数和选型

简介: [硬件选型] 工业相机之参数和选型

一. 相机成像原理

相机成像原理如图所示:

注:

  1. 当物距为无穷远时,像距等于焦距,成像在焦平面上;
  2. 当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像;
  3. 当物距等于两倍焦距时,像距与物距相等,此时物像等大;
  4. 当物距小于两倍焦距并大于焦距时,像距大于两倍焦距,成放大的实像;
  5. 当物距等于焦距时,像距为无穷大,物上的光线经透镜后为平行光线,不成像;
  6. 当物距小于焦距时,像距为负值,即在物的同侧成虚像。

二. 相机参数说明

2.1 感光芯片
2.1.1 快门(控制曝光时间)

常见的电子快门的方式有全局快门(Global shutter)和卷帘快门(rolling shutter)两种:

  • 全局快门是曝光时,传感器上所有像素在同一时刻开启曝光并在同一时刻曝光结束,将物体某时刻的状态成像,对运动物体而言类似将运动物体冻结了,所以适合拍摄高速运动的物体。
  • 卷帘快门是逐行顺序开启曝光,不同行间曝光的开启时刻有个很小的延迟,所以不适合运动物体的拍摄,包括飞拍。

如果相机的曝光时间过长,就会使速度快的运动物体变模糊。对于运动物体来说,快门时间越短,所获取的图像越精确,即越不模糊但过短的曝光时间会需要光照强度大大提高,给光照技术带来很大的困难,所以应选择合适的快门时间。

2.1.2 曝光

工业相机工作过程中曝光(Exposure)是图像传感器进行感光的过程。在曝光过程中,CCD/CMOS收集光子并转换成电荷,也就是电荷的积累。

曝光时间是指相机从快门打开到关闭的时间间隔,曝光时间短,电荷积累的就少;曝光结束后,CCD/CMOS通过一定的方式将电荷移出,从光曝光对照片质量的影响很大,如果曝光过度,则照片过亮,失去图像细节;如果曝光不足,则照片过暗,同样会失去图像细节。

控制曝光就是控制总的光通量,也就是曝光过程中到达CCD/CMOS表面的光子的总和。 在不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间的增加,噪音也会积累, 曝光补偿就是增加拍摄时的曝光量。总之,曝光即曝光时间控制,控制感光元件上总的光通量。曝光越大,光通量越大。

影响曝光的因素有三个:

  • 光圈:光圈控制光线进入的通路大小。光圈越大,单位时间的光通量越大;光圈越小,单位时间的光通量越小;
  • 曝光时间:感光元件在光线射入时用来曝光的时间,也就是快门速度;
  • 增益(对应数码相机的ISO):增益一般只是在信号弱,但不想增加曝光时间的情况下使用。一般相机增益都产生很大噪音的,所以几乎不怎么用。

曝光时间(快门速度)和光圈大小一般是互补的。比如,为了获得合适的亮度,需要对两者进行联动调节,可采用降低曝光时间(高速快门)配合大光圈以得到一定亮度,同样也可采用增大曝光时间(低速快门)配合小光圈来获得同样的亮度。

2.1.3 增益

增益一般只是在信号弱,但不想增加曝光时间的情况下使用,一般相机增益都产生很大噪音。曝光时间短,CCD/CMOS上电荷的积累就少,这时候就需要增益加强;反之,增益要减弱。

总结:增益控制感光灵敏度,高增益代表高灵敏度,对低光照越灵敏,可以增加昏暗图像的亮度和对比度,提高成像质量。但同时也会对噪声进行发大,降低信噪比。

2.1.4 感光芯片类型(CCD和CMOS芯片)

CCD(电荷耦合器件)芯片和CMOS(互补金属氧化物半导体)芯片都将光信号(光子)转换成电子信号(电子)。这两种芯片的主要差异在于其底层技术设置。

如果拍摄目标是静态不动的,为了节约成本,可使用考虑CMOS相机,而如果目标是运动的,则优先考虑CCD相机。如果是需要高速采集的,这里指的高速是很高的采集速度,而非指很高的运动速度,可以考虑CMOS相机,因为CMOS的采集速度会优于CCD。如果需要高质量的图像,如进行尺寸测量,可以考虑CCD,在小尺寸的传感器里,CCD的成像质量还是要优于CMOS的。

2.1.5 感光芯片/靶面尺寸(手动计算)

描述放大倍率及镜头像面尺寸时,都会涉及到工业相机芯片,通常相机厂商用英寸来计量相机芯片尺寸,但在实际计算过程中,我们需要将芯片各边长度的单位换算成mm

因为同样标注的靶面大小,长宽比也可能会不一样,所以我们在看到相机靶面型号时,需要手动计算一下靶面的宽高:

如图:

如果我们不手动计算一下,可能就会将该相机的2/3”靶面按照常规尺寸:8.8mm*6.6mm计算了,但实际上通过:

感光芯片尺寸 = 分辨率 ∗ 像元尺寸 感光芯片尺寸 = 分辨率*像元尺寸感光芯片尺寸=分辨率像元尺寸

计算得出,该相机靶面为8.45mm*7.1mm

常见相机芯片尺寸的对应关系如下(需要准确尺寸可按如上方法计算):

2.1.6 分辨率

相机的传感器sensor是有许多像素点按照矩阵的形式排列而成,分辨率就是以水平方向和垂直方向的像素来表示的。分辨率越高,成像后的图像像素数就越高,图像就越清晰。

例如:一个相机的分辨率是1280(H) × 1024(V),表示每行的像元数量是1280,每列的像元数量是1024,此相机的分辨率是130万像素。在对同样大小的视场成像时,分辨率越高,对细节的展示越明显。常用的工业面阵相机分辨率有:

640 *480 —— 30万像素;1280 *960 —— 130万像素;1440 *1080 —— 160万像素;
1600 *1200 —— 200万像素;1920 *1080 —— 300万像素;2590 *1940 —— 500万像素等。

对于线阵相机而言,分辨率就是传感器水平方向上的像素数,常见有1K、2K、6K等。

在相机分辨率的选型上,要根据我们的项目需求而定,并不一定是分辨率越高就越好,分辨率高带来的图像数据量就大,后期的算法处理复杂度就高,而且一般分辨率大的相机,帧率一般都不会太高。

2.1.7 像元/像素尺寸

像元尺寸就是每个像素的面积。单个像素面积小,单位面积内的像素数量多,相机的分辨率增加,有利于对细小缺陷的检测和增大检测视场。随着像素面积的缩小,满阱能力(每个像素能够储存的电荷数量)也随之减小,造成相机动态范围的降低。

像元尺寸 = 感光器芯片尺寸 / 像素个数 ( 分辨率 ) 像元尺寸 = 感光器芯片尺寸 / 像素个数(分辨率)像元尺寸=感光器芯片尺寸/像素个数(分辨率)

例如,相机感光芯片尺寸为:5 mm x 3.7 mm,分辨率为1440 px * 1080 px,则相机的像元尺寸为(5/1440) x (3.7/1080)mm = 3.45 µm x 3.45 µm。

2.1.8 帧率

帧率是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数,简称:FPS或“赫兹”(Hz) 。相机的帧率决定着设备的测量效率,如相机的帧率是30FPS,则每秒钟最多拍摄30次。而如果相机的速度是120FPS,如果算法够快,那么每秒钟最多检测120个产品。换句话说也就是相机的帧率影响相机拍照出图的快慢,飞拍高速运行,一般需要高帧率相机。


2.2 相机数据
2.2.1 相机常用接口

GIGE千兆网接口(√):

千兆网接口的工业相机,是近几年市场应用的重点。使用方便,连接到千兆网卡上,即能正常工作。设置好巨型帧参数,可以达到更理想的效果。可多台同时使用,CPU占用率小。

USB3.0接口(√): 速度快但距离短,理论速度极限大约为500MB/s,但是其传输距离短,超过3米就要用质量很高的线,超过5米,基本就不能使用了。

USB2.0接口: 这个优点也就是成本低了,但是速度慢而且不稳定。之前用过2.0接口的相机,在Linux下运动拍摄时,没有规律的就断了,驱动和软件都检查了挺长时间, 后来猜测是端口供电和传输限制之类的问题,果然换个新配的电脑就没问题了。而且也听专业人士说过2.0相机的稳定性问题,静态拍摄应该会好一点。

Camera Link接口: 速度超快,大约是USB3.0的两倍,而且高像素下支持的帧率更快,但是要额外购买图像采集卡,基本要1w左右,成本是个问题。

2.2.2 像素位深/深度

像素深度是指每个像素用多少比特位表示。通常,每个像素的比特位数多,表达图像细节的能力强,这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般像素深度有1位、8位、16位、24位和32位。

1位像素深度就是有二进制来表示,也叫单色显示。
8位像素深度是最常见的,用8个二进制位来表示颜色,能表示256种颜色,这种就是常说的灰度显示。
16位是用16个二进制位来表示,能表示65536种颜色,这时就可以彩色显示啦。
24位和31位则表达的颜色信息就会更加的丰富。

分辨率和像素深度共同决定了图像的内参大小。例如,对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。

2.2.3 和镜头的接口

在选型时一定要考虑相机与镜头的接口对应问题,相机与镜头的接口必须保证一致,不然就无法安装。C型接口的后截距为17.5mm,CS型接口的后截距为12.5mm。因此CS型接口的工业相机使用C型接口镜头时需要加一个5mm的接圈。C型接口的工业相机不能用CS口的镜头。

F接口镜头是尼康镜头的接口标准,所以又称尼康口,也是工业工业相机中常用的类型,一般工业相机靶面大于1英寸时需用F口的镜头。

V接口镜头是著名的专业镜头品牌Schneider(施奈德)镜头所主要使用的标准,一般也用于工业相机靶面较大或特殊用途的镜头。

2.2.4 白平衡

平衡RGB三个通道的亮度值,使图像达到一个比较好的亮度情况,当打光不太好的时候,使用白平衡,可以改善图像亮度不均匀情况,对应halcon算子是equ_hiso_image——直方图均衡化

2.2.5 拖影

拍摄运动图像时,同一物体,在图片上重复成像的现象。

如图:

问:如何计算曝光时间,保证运动物体不产生拖影?

在拍摄高速运动物体的场合,选择帧曝光的相机后,还需要计算相机的曝光时间,以使图像不产生拖影,理论的计算原则是:运动物体在相机芯片上所成的像,在曝光时间内,移动的距离不超过一个像元尺寸。

练习:物体运动速度是150mm/s,沿芯片水平方向运动,相机是1/2”芯片(6.4mm×4.8mm),分辨率为1280*1024,视场水平方向长度是20mm,像元尺寸是4.8μm,计算成像时不产生拖影的曝光时间?

解答:

1)首先计算出像的运动速度:放大倍数为6.4mm/20mm=0.32,所以像的运动速度是0.32×150 mm/s=48mm/s

2)根据计算原则,(曝光时间)×48mm/s=4.8μm,所以曝光时间为0.0001s,曝光时间设置为100µs即可。

2.2.6 相机的触发方式

包括连续采集模式,软件触发(软件控制)、硬件触发(传感器/机械开关控制)。


三. 相机选型

相机的选取是设计机器视觉系统极关键的一步,首先明确需求:①检测精度(有明确要求) ②视野大小(根据待测物体的尺寸估算) ③是否飞拍(有明确要求)


明确需求后要确定相机型号:

1.确定相机的分辨率(通过产品检测精度要求相机观察的视野大小

例如,若单视野为5mm长,理论精度为0.02mm,则单方向分辨率=5/0.02=250。然而为增加系统稳定性,特别是测量或者表面划伤检测,一个像素有可能无法凸显特征,所以一般不会只用一个像素单位对应一个测量/观察精度值。情况允许的情况下,一般可以选择倍数4或更高。这样该相机需求单方向分辨率为1000,选用130万像素已经足够

2.相机类型的选择:对于静止检测或者一般低速的检测,优先考虑面阵相机,对于大幅面高速运动或者滚轴等运动的特殊应用考虑使用线阵相机。

3.相机帧率选择

  • 定拍(看拍照频率选择)
  • 飞拍
    根据要检测的速度,选择工业相机的帧率一定要大于或等于检测速度,等于的情况就是你处理图像的时间一定要快,一定要在相机的曝光和传输的时间内完成。根据项目需求,对于拍摄运动物体,建议选取高帧率相机,具体帧率数要根据拍摄精度来确定。一般可以根据相机资料给出的帧率值F,大致可以估计出相机的曝光时间。一般情况下,若我们的相机的帧率为15fps,则表示相机曝光时间为1/15s = 1/15 * 1000ms = 66.7ms,即曝光时间设的越长,帧率自然就下降的越厉害。
    根据:最大曝光时间 = 1/满帧频率 = 精度/运动速度,可以推出在确定检测精度的前提下,可以得到相机飞拍时能达到的最大速度。
    若要飞拍,一般需要考虑选择高帧率相机,根据检测速度,确定相机帧率

4.相机接口选择:一般用网口或USB3.0。

5.芯片类型选择:CCD工业相机主要应用在运动物体的图像提取,如贴片机机器视觉,当然随着CMOS技术的发展,许多贴片机也在选用CMOS工业相机。用在视觉自动检查的方案或行业中一般用CCD工业相机比较多。CCD采用逐个光敏输出,速度较慢,CMOS芯片的主要优势是实现极高的帧速率及几乎无损的画质。CMOS每个电荷元件都有独立的装换控制器,读出速度很快,FPS在500以上的高速相机大部分使用的都是CMOS。自2015年初开始,官方已确认CMOS技术将在未来成为主流技术。

6.相机色彩选择:如果我们要处理的是与图像颜色有关,那当然是采用彩色相机,否则建议你用黑白的,因为黑白的同样分辨率的相机,精度比彩色高1/3—1/4。假设彩色相机精度12μ,那么使用同规格黑白相机的精度可以提升至:12-12 * 1/3 ~12-12 * 1/4 = 8 ~ 9μ,这是由成像原理造成的。


四. 实战选型

1.已知客户的镜头的尺寸是1/3,接口是CS接口,视野大小为12* 10mm,要求精度0.02mm/pixel,则应该选用多大分辨率相机?

解:

(12/0.02)* (10/0.02)=30万像素,但是如果是缺陷检测通常不会只用一个像素表示一个精度,而是乘以3-4倍,即(12/0.02)3 (10/0.02)*3=480万像素。最低不少于480万像素。

注:12/0.02:表示在12这个方向,需要用多少像素表示,才能达到1个像素代表0.02mm的这样一个精度。

10/0.02:同上

通过上面的参数也可求出镜头的焦距(镜头选型参考),但注意:

①镜头的分辨率一定要大于相机的分辨率,否则镜头分辨率低了,相机分辨率是千万像素也没用。

②镜头的靶面尺寸也就是视野范围>=CCD的靶面尺寸,否则会出现黑边。

例:

1)镜头的靶面尺寸也就是视野范围>CCD的靶面尺寸,则显示的图像会是蓝色部分;

2)镜头的靶面尺寸也就是视野范围=CCD的靶面尺寸,则显示的图像会是红色部分;

3)镜头的靶面尺寸也就是视野范围<CCD的靶面尺寸,则显示的图像会是黄色部分(红色部分+黑边);

总结:相机的选型一般需要确定:①精度满足要求;②确定色彩要求;③曝光时间,如何拍摄运动的物体;④帧率\数据接口;⑤芯片尺寸;⑥镜头接口;⑦其他相关

 


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。


目录
相关文章
|
2月前
|
存储 Web App开发 关系型数据库
嵌入式硬件中常见的100种硬件选型方式
嵌入式硬件中常见的100种硬件选型方式
26 0
|
5月前
|
传感器 编解码 芯片
[硬件选型] 工业镜头之参数和选型
[硬件选型] 工业镜头之参数和选型
92 0
|
5月前
|
传感器 编解码 算法
[硬件选型] 工业相机之相机分类
[硬件选型] 工业相机之相机分类
60 0
|
5月前
|
测试技术 API 开发工具
|
6月前
|
前端开发 物联网 Linux
第二代硬件选型
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
6月前
|
Ubuntu 算法 数据可视化
第三代软件硬件及系统选型
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
12月前
|
存储 缓存 内存技术
【系统架构】计算硬件组成
【系统架构】计算硬件组成
51 0
|
人工智能 安全 网络协议
技术解码 | 从芯片到云全链路高效设计 一文了解YoC基础软件平台
技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。
340 0
技术解码 | 从芯片到云全链路高效设计 一文了解YoC基础软件平台
|
缓存 人工智能 弹性计算
函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化揭秘
本文将介绍借助函数计算下一代 IaaS 底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率。
函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化揭秘
|
人工智能 弹性计算 缓存
函数计算GB镜像秒级启动:下一代软硬件架构协同优化揭秘
函数计算在2020年8月创新地提供了容器镜像的函数部署方式。AWS Lambda在2020年12月Re-Invent,国内其他FaaS提供商在2021年6月也相继宣布了FaaS支持容器的重磅功能。冷启动一直都是FaaS的痛点,引入比代码压缩包大几十倍的容器镜像后冷启动恶化便成为开发者最大的担忧。
290 0
函数计算GB镜像秒级启动:下一代软硬件架构协同优化揭秘