计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取


_本文原题:一文详解工业相机和镜头选取
作者:Atlas来源:微信公众号|计算机视觉工坊(系投稿)01 什么是工业相机
刚入门3D视觉 , 第一次接触到工业相机的时候 , 对 , 一般来说工业相机长这个样子:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图1 常见工业相机外观
一问价格 , 至少都是大几千 , 贵的在十几万 , 心里就不禁有疑问 , 就这么一个破相机 , 为啥就卖这么贵?它跟我们常见的单反相机有什么区别?我用单反相机来拍 , 色彩又好 , 成像又清晰 , 它不香吗?为啥一定要用工业相机?
【计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取】
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图2 常见单反相机外观
咋一看 , 单反相机块头这么大、工业相机块头这么小 , 工业相机明显在坑人啊!诚然 , 由于工业相机需求量和产量的缘故 , 工业相机的研发、制造总成本会远远高过消费级单反相机 , 这也是它价格更为昂贵的原因 , 但我们这里一定要明白一个概念:工业相机 , 不能简单地理解为工业上用的相机 , 它是有特殊用途的一类相机统称 。
特殊用途:什么叫特殊用途 , 比如说我们3D重建算法 , 对相机的畸变要求尽量小 , 在某些恶劣场合 , 需要用到IP67级防水相机、拍摄原子弹爆炸前几微秒内原子弹内部的场景 , 这类专门的相机可以称为高速相机 , 这些相机都可以称为工业相机 。 而相反的 , 你认为工厂里监控摄像头 , 尽管它部署在工厂里的每个角落 , 但你能认为它是工业相机吗?
02 工业相机与单反相机的区别 事实上 , 工业相机相比较一般的单反相机 , 区别还是很大的 , 概括下来大致有以下4个方面:
1、配备专门软件开发工具包(Software Development Kit , SDK) , 我们可以通过代码设置包括:曝光时间、触发方式、图像分辨率、成像帧率等等一系列相机参数(下面是某款相机SDK的图像界面) 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图3 FlyCapture SDK 采集图像界面
2、成像精准:一般来说 , 工业相机的图像传感器是逐行扫描的 , 而普通传感器是隔行扫描的 , 前者生产工艺更为复杂 , 成品率低、出货量少 , 世界上只有少数公司能够提供这类产品 。 此外 , 工业相机的畸变、色彩还原准确度往往更好 , 而单反相机追求的是要拍的好看 。
3、稳定性和可靠性:工业相机的性能稳定可靠、易于安装 , 结构紧凑结实不易损坏 , 连续工作时间长 , 可在较差的环境下工作 , 这是单反相机做不到的 。
例如一些工业相机被安装在工业检测生产线上 , 负责产品的视觉测量、缺陷筛查等工作 , 这就要求相机在流水线常年连续运转过程中保证不出故障 , 否则会导致生产线停摆甚至瘫痪 , 这对企业来说意味着难以挽回的经济损失 。
4、特殊用途

  1. ·严苛场景:比如某些在航空上用的相机 , 其工作温度范围就要求:-40℃~85℃;
  2. ·像速度:拍摄汽车碰撞、原子弹爆炸的高速相机;
  3. ·光谱范围:比如测量钢炉内铁水温度的红外相机;
除此之外 , 工业相机一般来是黑白的 , 主要是为了保证曝光充足、成像准确 。 至于价格 , 我认为不是区分工业相机和单反相机主要的因素 , 还是得看具体相机的型号 , 消费级市场也有大十几万的设备 。
03 工业相机的接口 工业相机的接口主要有三种类型:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图4 工业相机的接口[2]
  • 镜头接口:固定相机跟镜头 , 也称为卡口;
  • 数据接口(控制):传输拍摄到的相机数据(控制相机);
  • 电源接口(控制):提供相机电源(控制相机);
有时候 , 数据口和电源口也会放一起 , 某个接口既能提供数据传输又能提供相机电源 , 随着时代的变化 , 这类即插即用的工业相机越来越普遍 。
这里所谓的即插即用 , 并不是说插上去就能用 , 而是在安装相应的驱动后 , 我们通过SDK可以进行调用 , 区别与某些接口相机需要自己去写底层驱动以及相应图像处理算法 。
3.1 镜头接口
通常来说 , 我们买到的工业相机是不带镜头的 , 就像下面这样:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图5 不带镜头的工业相机
常见的工业相机镜头接口包括:C、CS、M42、M50、F、V、T2等等 , 接口类型的不同和工业相机镜头性能、质量并无直接关系 , 仅仅是接口方式不一样 , 一般来说 , 我们也能找到各种常用接口之间的转接口 。 下面简要地介绍下这些接口 。
最简单的 , 你记住什么相机接口对什么相机镜头即可 。
1)C、CS接口
相机镜头的C、CS接口非常相似 , 它们的接口直径、螺纹间距都是一样的 , 仅仅是法兰距不同 。 C接口的法兰距是17.5mm , CS接口的法兰距是12.5mm 。 因此对于CS接口的相机 , 如果想要接入C接口的镜头 , 只需要一个5mm厚的CS-C转换环即可 。 两个接口与转换环的实物如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图6 工业相机C接口和CS接口实物(图中CS接口相机已转接为C接口)[2]
法兰距:也叫做像场定位距离 , 是指机身上镜头卡口平面与机身曝光窗平面之间的距离 , 即镜头卡口到感光元件(一般是CMOS或CCD)之间的距离 。 注意 , 法兰距不同 , 即便装上也无法清晰对焦和成像 。
2)M系列
M12接口 , 这个接口对应的数字12 , 指的是接口直径是12mm 。 由于直径较小 , 这类接口往往用在微小工业相机上 , 如无人机上搭载的相机一般用的这类镜头 , 如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

(1)M12
(2)M42
(3)M58
图7 M系列接口 [2]
而M42、M58接口更大 , 往往用在大靶面的工业相机、甚至线扫相机上 。 这类接口直接通过螺纹连接到相机上 , 连接较为方便 。
3)卡扣系列
对于卡扣系列 , 主要有两种:佳能的EF接口和尼康的F口 , 这个接口也在它们家单反中使用 , 两者的差别在于法兰距不同 , F口的法兰距大于EF口 , 在工业相机领域 , 尼康的F接口也更为常见一点 。 实例如下:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

(1)EF接口(佳能)
(2)F接口(尼康)
图8 卡扣系列接口[2]
4)常见镜头接口参数
当然还有其他接口 , 包括老式的PK口、施耐德V口、以及其它各种接口等 , 这些用的倒不多 , 就不一一介绍了 。 其实记住一句话 , 什么相机口对什么镜头口即可了 , 但这里还是给出常见的镜头接口参数 , 以便大家参阅:
表1 常见镜头接口参数[2]
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

3.2 数据+电源 接口
常见的数据、电源接口包括USB、CoaxPress、CameraLink、Gige接口等 , 如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图9 常见数据+电源 接口[3]
它们的性能指标对比如下:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

表2 常见数据+电源接口对比[3]
简要地解释一下:
  • USB2.0、3.0系列:这类接口的好处是即插即用(虽然这里说是即插即用 , 但一般工业相机都还是要安装驱动以及相应的SDK才能调用的) , 3.0的速度达到了5.0GB , 但问题是传输的线路太短 , 不太适合长距离、大批量工业相机的应用场景(这在大多数化工企业中是这样 , 相机安装在工厂的各个角落 , 处理放在主控室) 。
  • IEEE1394:Apple公司推出的标准 , 传输速度介于USB2.0~3.0之间(还是比较慢的) , 传输距离达到了100m , 但是其需要额外的转接头 , 因此应用也不多 。
  • GIGE:也就是常说的网口相机 , 传输速度虽然不高(一般来说也够用了) , 但是传输距离远 , 集成方便 , 配合上千兆路由器 , 可以实现大规模的工业相机集成 , 目前工业应用上最为广泛 , 较为高端的工业相机也大多采用这种配置 , 唯一的缺点是需要额外的电源供电 。
  • Cameralink:一种专门的工业级视觉产品使用行业标准 , 传输速度可以达到5.44Gbit/s , 往往用在之前的一些高速相机上(因为之前USB2.0、GIGE这些接口都太慢了) , 但缺点是需要额外的图像采集卡、价格贵(一条线缆1000)、而且不好用 , 要自己去写相机驱动 , 并且不支持热插拔(会损坏相机!) 。
  • 原因:使用这类接口的相机在物理上被硬生生地拆为两部分 , 相机的厂商只负责相机的制造 , 而相应的驱动、软件 , 比如说图像的采集、处理等算法都需要你自己对CameraLink采集卡进行编程 。
  • CiaXPress:速度快、传输距离远 , 独立供电、价格也便宜 , 推出来用以取代Cameralink接口 。 这类相机需要额外的接口卡 , 注意 , 这里是接口卡!接口卡不同于采集卡 , 其只是相机采集到的数据的一个中转站 , 不会对数据做任何处理 , 其直接将数据存储在主寄存器中 。
  • 因为这类相机传输速度较快 , 如果将拷贝数据的工作交给CPU来做的话 , CPU将会消耗大量资源.
需要说明的是 , 我们选取工业相机型号的时候 , 接口并不是传输速度越好越好 , 而是要挑合适的 , 杀鸡焉用牛刀?那怎么选型呢?我们下一节说!
04 镜头参数 4.1 焦距
1)物理焦距
对于单片凸透镜来说 , 焦距通常指平行光线经凸透镜汇聚后一点到透镜中心的这段距离 , 如下所示 。 通常 , 这个距离在制造完成后就不可变的 , 也就是说一块凸透镜的焦距是不会发生变化的 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图10 单片凸透镜的物理焦距
但现代镜头通常由多片薄透镜组成 , 如图11所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图11 现代相机镜头构成[5]
它们之间的的相对距离可以发生变化 , 因而物理焦距也可以随之发生变化 , 这类镜头称为变焦镜头 , 反之不能发生变化的是定焦镜头 。
2)摄影焦距
市面上大多数镜头都是定焦镜头 , 但是我们常说调焦又是怎么回事呢?不是说定焦镜头吗?定焦怎么能调焦呢?
事实上 , 这里我们所说的调焦 , 或者说对焦 , 其实并不说改变镜头的物理焦距 , 而是改变像距 , 即调整成像面和镜头的距离 , 使得CCD上能够清晰成像 , 这段距离也称为摄影焦距 , 简称焦距 , 如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图12 镜头的摄影焦距[4]
3)调焦原因
为什么要去调整摄影焦距呢?
我们来看下面这个模型:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图13 相机清晰成像对焦情况
对于小人头部的A点 , 其从头部发出三个方向的光线 , 经过镜头汇聚后 , 汇聚于成像面的A’点 。 那么对于A点发出其它方向的光线呢?它们也会汇聚于A点 , 因为镜头的形状是经过专门设计的 。
这里有两点特殊:
  • 同一点发出的各个方向的光线 , 经过镜头后必定汇聚于同一点;
  • 同一平面上的不同点发出的光线 , 经过镜头后 , 汇聚于不同点;
对于这个模型 , 这里可以看出 , 如果相机镜头跟成像面的距离 , 也就是焦距不对 , 那么必然要进行调焦 。 在实际情况中 , 在大多数相机中 , CCD是固定不动的 , 我们通过移动整个镜头离成像面的距离来完成对焦(镜头的物理焦距依然没有发生改变 , 这也是定焦镜头可以调焦的原理) 。
为什么改变物体距相机的距离后 , 我们要重新进行调焦?
原因如下:即使是同一个高度点 , 在不同距离上 , 摄影焦距也是不一样的 , 因而需要调焦 , 示意图如下 , A1、A2的摄影焦距显然不一样:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图14 不同成像距离 , 摄影距离不同 , 因而需要调焦
有人又问了 , 如果发生发生下面这个场景 , 图像不会混叠吗?A1、A3好像成像在同一点上 , 首先A3是可以清晰成像的 , A1显然不行 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图15 不同距离、高度下光路混叠现象
其次 , 从理论上讲 , A1、A3在CCD上就是呈现为同一点 , 那怎么区分A1、A3点呢?拜托 , 动下脑子 , 如果有A3点 , 你能看到A1点吗?
需要提的一点是 , 在之后的模型推导中 , 我们会将整个相机模型简化为小孔成像模型 , 就像下图这样 , 这并不会影响我们之后公式推导的准确性 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图16 简化的相机小孔成像模型
对于上面的理解 , 这里只要求你大致了解 , 知道为什么需要调焦就好 , 因为传统的相机光学真的是门非常复杂、高深的学问 , 可以讲好久 , 在这里我跟你讲的还是化简后的相机模型 。
简单说 , 焦距有两种 , 镜头的物理焦距和摄影焦距 , 物理焦距一般出厂后就固定了 , 我们调整的是摄影焦距 , 恰当的摄影焦距才能使图像清晰成像 。
4.2 景深
前面有个问题 , 我们知道头顶平面可以清晰成像 , 那么鼻子的位置就不能清晰成像了吗?
事实上 , 我们所谓的清晰是一个相对的概念 , 人眼的分辨能力有限 , 只要该区域足够小 , 我们就认为它是清楚的 。 模型如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图17 景深:相机在一段范围内都可以认为是清晰成像的
在平面前后一定距离范围内 , 从a到c , 我们可以认为成像都是清晰的 , 这一深度范围称为景深 。 焦点附近 , 也就是在景深范围内清晰 , 而前后方景物都比较模糊 , 实际的图像如下:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图18 景深范围内清晰 , 范围外模糊
4.3 光圈
光圈大小是用 f 值来刻画的 , 意思是开了几分之几 , 影响镜头的进光量 。 光圈值为f/2.0 , 意思是开了1/2 , 常见的光圈值如下所示:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图19 镜头光圈大小
光圈的大小除了影响进光量外 , 也会影响景深 , 简单说:光圈越大 , 景深越小 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图20 光圈影响景深原理图
较大的光圈意味着更大的进光量 , 有利于弱光环境下拍摄 , 一般来说 , 镜头越亮约好 , 但是大光圈镜头也意味着景深不够 。
4.4 常见镜头标识
关于工业相机中常见的镜头标识大致如下:
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图21 镜头常见标识
还有一些镜头标识 , 当你看到了不认识 , 请百度一下!因为有时候我也会不认识上面的标志 。
05 相机参数 关于相机的参数就简单多了 , 下面简要叙述:
  • 分辨率
  • 相机每次采集图像水平和竖直方向的像素点数 , 对应于CCD水平和竖直方向排列的感光元的个数 , 常见的分辨率有: 。
  • 像元大小
  • 单个像素的物理尺寸大小 , 一般来说 , 像元尺寸越小 , 制造难度越大 , 图像质量也越不容易提高 。 目前工业数字相机像元尺寸一般为3~4。
  • 靶面尺寸
  • 通常厂家会告诉你实际CCD的靶面尺寸 , 其并不完全等于分辨率 像元大小 , 常见的相机靶面尺寸查询http://shixinhua.com/camera/2012/06/7.html 。
  • 像元大小和像元数(分辨率)两者共同决定相机靶面的大小 , 是此消彼长的关系 , 所以我们选择相机的时候也并不是分辨率越高越好 , 而是挑选合适的分辨率 。
  • 像素深度
  • 每个像素的位数 , 含义如下 , 比如说一副灰色图像的像素深度为 8 bit , 那么意味着它有 级灰度(对于三通道的彩色图像来说 , 意味着 种颜色) 。 常见的像素深度有 8、10、12 bit 。 像素深度过浅 , 会使图像看起来不自然 。 而增加像素深度可以增加测量的准确性 , 但是也会降低系统的速度 , 并且提高系统集成的难度 。
  • 知道了像素深度概念 , 你就能明白为什么大多数工业相机都是黑白相机了吧?
  • 最大帧率/行频
  • 相机采集和传输图像的速度 , 一般来说有两种类型相机:
  • 面阵相机:每秒采集的帧数(Frames/Sec);
  • 线阵相机:每秒采集的行数(HZ);
  • 曝光方式
  • 线阵相机:逐行曝光 , 有固定行频和外触发同步形式;
  • 面阵相机:帧曝光、场曝光、滚动曝光等形式 , 也提供外触发同步形式;
  • 所谓外触发同步 , 指的是外部给一个信号 , 相机即开始拍摄图像 。
  • 曝光时间
  • 也称为快门速度 , 指从快门打开到关闭的时间间隔 , 在这一段时间内 , 物体可以在底片上留下影像 。 曝光时间 快门速度共同决定了曝光量 。 曝光时间不能设置太长 , 其会增加照片的底噪 , 也不能设置太短 , 会导致曝光不足 , 要看需要而定:在暗光条件下 , 比如说拍星星 , 曝光时间就要设置几个小时 。 而在亮光情况下 , 拍摄运动的汽车 , 曝光时间就不能设置太长 , 否则会行成残影 。
  • 光谱响应特性
  • 指传感器对不同光波的敏感特性 , 一般来说 , 响应范围都在350nm~1000nm间 。 有的相机在靶面前面会增加一个滤镜 , 滤除红外线 , 如果系统需要多红外光感应 , 可以去除该滤镜 。
  • 信噪比
  • 相机的信噪比定义为图像中信号与噪声的比值 , 代表了图像的质量 , 图像信噪比越高 , 相机性能和图像质量越好 。
06 相机和镜头选取 下面这些参数 , 主要用在相机、镜头选取的计算中:
  • 工作距离(Working distance, WD):镜头最外端到被测物体距离 。
  • 视场范围(Field of View, FV):实际拍摄到区域尺寸 。
  • 视场角(Angle of View, FOV):影响理论视场范围 。
计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图22 视场角和视场范围关系
  • 光学放大倍数(Magnification, B):芯片尺寸除以视野范围;
  • 点击添加图片描述(最多60个字) 编辑

计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

图23 光学放大倍数
下面我们来讲一些主要参数的选取:
1.相机
  1. ·CCD or CMOS
  2. ·CCD 提供更好的图像质量、抗噪能力 , CMOS体积更小 , 但噪声会更多一点 。 当然 , 这不是绝对的 , 还是钱决定的 。
  3. ·CCD尺寸
  4. ·有钱的话 , 尽量买大一点的 。
  5. ·合适的分辨率
  6. ·对于视野范围为, 要求测量精度为, 那么横/竖放下的分辨率至少为 像素 , 通过我们不会用一个像素对应一个测量精度 , 一般选择倍数为4、甚至更高 , 这样相机单方向的分辨率为, 相机的分辨率: 。
这也是为什么结构光系统视野范围大则测量精度低的原因 。
  • ·足够的相机帧率
  • ·当被测物体有运动要求 , 相机的帧率不能太低 , 对于一些高速运动的物体 , 可以选择
2.镜头
  1. ·镜头接口:
  2. 跟相机接口匹配 , 也可以外加转换口后匹配 , 并且镜头可支持的最大CCD尺寸应大于选配相机CCD尺寸大小 。
  3. ·镜头焦距
  4. 根据相机CCD尺寸、工作距离、视场大小(物体的高/宽)计算所需镜头的焦距 , 如下:

计算机视觉工坊|一文详解工业相机和镜头选取06 相机和镜头选取
本文插图

  1. 图24 根据CCD尺寸、工作距离、视场大小计算所需的镜头焦距
  2. ·镜头光圈范围
  3. 光圈大小决定图像亮度 , 在拍摄高速运动物体、曝光时间很短的应用中 , 应选用大光圈镜头以提高图像亮度 。
07 附录 1、FlyCapture2工业相机使用说明书:在公众号「3D视觉工坊」 , 后台回复「工业相机」 , 即可直接下载 。
2、图像传感器报告摘要
链接:https://zhuanlan.zhihu.com/p/137375626
参考链接
[1]工业相机与单反相机的区别 <知乎 , 微光启明 , 国防科技大学 , 工学博士>:https://zhuanlan.zhihu.com/p/95829433
[2]工业相机镜头接口类型 <知乎 , 微光启明 , 国防科技大学 , 工学博士>:https://zhuanlan.zhihu.com/p/100984490
[3]工业相机数据接口标准 <电子发烧友 , judyzhong>:http://www.elecfans.com/dianzichangshi/20171117581055.html
[4]工业相机和镜头主要参数 <CSDN , 非凡初来乍到>:https://blog.csdn.net/qq_38241538/article/details/84106969
[5]相机镜头工作原理图解<Paincker,学习思考>:https://www.paincker.com/how-the-lens-works
本文仅做学术分享 , 如有侵权 , 请联系删文 。


    推荐阅读