点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

01 什么是工业相机

刚入门3D视觉,第一次接触到工业相机的时候,对,一般来说工业相机长这个样子:

图1 常见工业相机外观

一问价格,至少都是大几千,贵的在十几万,心里就不禁有疑问,就这么一个破相机,为啥就卖这么贵?它跟我们常见的单反相机有什么区别?我用单反相机来拍,色彩又好,成像又清晰,它不香吗?为啥一定要用工业相机?

图2 常见单反相机外观

咋一看,单反相机块头这么大、工业相机块头这么小,工业相机明显在坑人啊!诚然,由于工业相机需求量和产量的缘故,工业相机的研发、制造总成本会远远高过消费级单反相机,这也是它价格更为昂贵的原因,但我们这里一定要明白一个概念:工业相机,不能简单地理解为工业上用的相机,它是有特殊用途的一类相机统称。

特殊用途:什么叫特殊用途,比如说我们3D重建算法,对相机的畸变要求尽量小,在某些恶劣场合,需要用到IP67级防水相机、拍摄原子弹爆炸前几微秒内原子弹内部的场景,这类专门的相机可以称为高速相机,这些相机都可以称为工业相机。而相反的,你认为工厂里监控摄像头,尽管它部署在工厂里的每个角落,但你能认为它是工业相机吗?

02 工业相机与单反相机的区别

事实上,工业相机相比较一般的单反相机,区别还是很大的,概括下来大致有以下4个方面:

  1. 配备专门软件开发工具包(Software Development Kit,SDK),我们可以通过代码设置包括:曝光时间、触发方式、图像分辨率、成像帧率等等一系列相机参数(下面是某款相机SDK的图像界面)。

图3 FlyCapture SDK 采集图像界面

  1. 成像精准:一般来说,工业相机的图像传感器是逐行扫描的,而普通传感器是隔行扫描的,前者生产工艺更为复杂,成品率低、出货量少,世界上只有少数公司能够提供这类产品。此外,工业相机的畸变、色彩还原准确度往往更好,而单反相机追求的是要拍的好看。

  2. 稳定性和可靠性:工业相机的性能稳定可靠、易于安装,结构紧凑结实不易损坏,连续工作时间长,可在较差的环境下工作,这是单反相机做不到的。

  • 例如一些工业相机被安装在工业检测生产线上,负责产品的视觉测量、缺陷筛查等工作,这就要求相机在流水线常年连续运转过程中保证不出故障,否则会导致生产线停摆甚至瘫痪,这对企业来说意味着难以挽回的经济损失。

    特殊用途

  • 严苛场景:比如某些在航空上用的相机,其工作温度范围就要求:-40℃~85℃;

  • 成像速度:拍摄汽车碰撞、原子弹爆炸的高速相机;

  • 光谱范围:比如测量钢炉内铁水温度的红外相机;

除此之外,工业相机一般来是黑白的,主要是为了保证曝光充足、成像准确。至于价格,我认为不是区分工业相机和单反相机主要的因素,还是得看具体相机的型号,消费级市场也有大十几万的设备。

03 工业相机的接口

工业相机的接口主要有三种类型:

图4 工业相机的接口[2]

  • 镜头接口:固定相机跟镜头,也称为卡口;

  • 数据接口(控制):传输拍摄到的相机数据(控制相机);

  • 电源接口(控制):提供相机电源(控制相机);

有时候,数据口和电源口也会放一起,某个接口既能提供数据传输又能提供相机电源,随着时代的变化,这类即插即用的工业相机越来越普遍。

这里所谓的即插即用,并不是说插上去就能用,而是在安装相应的驱动后,我们通过SDK可以进行调用,区别与某些接口相机需要自己去写底层驱动以及相应图像处理算法。

3.1 镜头接口

通常来说,我们买到的工业相机是不带镜头的,就像下面这样:

图5 不带镜头的工业相机

常见的工业相机镜头接口包括:C、CS、M42、M50、F、V、T2等等,接口类型的不同和工业相机镜头性能、质量并无直接关系,仅仅是接口方式不一样,一般来说,我们也能找到各种常用接口之间的转接口。下面简要地介绍下这些接口。

最简单的,你记住什么相机接口对什么相机镜头即可。

1)C、CS接口

相机镜头的C、CS接口非常相似,它们的接口直径螺纹间距都是一样的,仅仅是法兰距不同。C接口的法兰距是17.5mm,CS接口的法兰距是12.5mm。因此对于CS接口的相机,如果想要接入C接口的镜头,只需要一个5mm厚的CS-C转换环即可。两个接口与转换环的实物如下所示:

图6 工业相机C接口和CS接口实物(图中CS接口相机已转接为C接口)[2]

法兰距:也叫做像场定位距离,是指机身上镜头卡口平面与机身曝光窗平面之间的距离,即镜头卡口到感光元件(一般是CMOS或CCD)之间的距离。注意,法兰距不同,即便装上也无法清晰对焦和成像。

2)M系列

M12接口,这个接口对应的数字12,指的是接口直径是12mm。由于直径较小,这类接口往往用在微小工业相机上,如无人机上搭载的相机一般用的这类镜头,如下所示:

(1)M12

(2)M42

(3)M58

图7 M系列接口 [2]

而M42、M58接口更大,往往用在大靶面的工业相机、甚至线扫相机上。这类接口直接通过螺纹连接到相机上,连接较为方便。

3)卡扣系列

对于卡扣系列,主要有两种:佳能的EF接口和尼康的F口,这个接口也在它们家单反中使用,两者的差别在于法兰距不同,F口的法兰距大于EF口,在工业相机领域,尼康的F接口也更为常见一点。实例如下:

(1)EF接口(佳能)

(2)F接口(尼康)

图8 卡扣系列接口[2]

4)常见镜头接口参数

当然还有其他接口,包括老式的PK口、施耐德V口、以及其它各种接口等,这些用的倒不多,就不一一介绍了。其实记住一句话,什么相机口对什么镜头口即可了,但这里还是给出常见的镜头接口参数,以便大家参阅:

表1 常见镜头接口参数[2]

3.2 数据+电源 接口

常见的数据、电源接口包括USB、CoaxPress、CameraLink、Gige接口等,如下所示:

图9 常见数据+电源 接口[3]

它们的性能指标对比如下:

表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)物理焦距

对于单片凸透镜来说,焦距通常指平行光线经凸透镜汇聚后一点到透镜中心的这段距离,如下所示。通常,这个距离在制造完成后就不可变的,也就是说一块凸透镜的焦距是不会发生变化的。

图10 单片凸透镜的物理焦距

但现代镜头通常由多片薄透镜组成,如图11所示:

图11 现代相机镜头构成[5]

它们之间的的相对距离可以发生变化,因而物理焦距也可以随之发生变化,这类镜头称为变焦镜头,反之不能发生变化的是定焦镜头

2)摄影焦距

市面上大多数镜头都是定焦镜头,但是我们常说调焦又是怎么回事呢?不是说定焦镜头吗?定焦怎么能调焦呢?

事实上,这里我们所说的调焦,或者说对焦,其实并不说改变镜头的物理焦距,而是改变像距,即调整成像面和镜头的距离,使得CCD上能够清晰成像,这段距离也称为摄影焦距,简称焦距,如下所示:

图12 镜头的摄影焦距[4]

3)调焦原因

为什么要去调整摄影焦距呢?

我们来看下面这个模型:

图13 相机清晰成像对焦情况

对于小人头部的A点,其从头部发出三个方向的光线,经过镜头汇聚后,汇聚于成像面的A’点。那么对于A点发出其它方向的光线呢?它们也会汇聚于A点,因为镜头的形状是经过专门设计的。

这里有两点特殊:

  • 同一点发出的各个方向的光线,经过镜头后必定汇聚于同一点;

  • 同一平面上的不同点发出的光线,经过镜头后,汇聚于不同点;

对于这个模型,这里可以看出,如果相机镜头跟成像面的距离,也就是焦距不对,那么必然要进行调焦。在实际情况中,在大多数相机中,CCD是固定不动的,我们通过移动整个镜头离成像面的距离来完成对焦(镜头的物理焦距依然没有发生改变,这也是定焦镜头可以调焦的原理)。

为什么改变物体距相机的距离后,我们要重新进行调焦?

原因如下:即使是同一个高度点,在不同距离上,摄影焦距也是不一样的,因而需要调焦,示意图如下,A1、A2的摄影焦距显然不一样:

图14 不同成像距离,摄影距离不同,因而需要调焦

有人又问了,如果发生发生下面这个场景,图像不会混叠吗?A1、A3好像成像在同一点上,首先A3是可以清晰成像的,A1显然不行。

图15 不同距离、高度下光路混叠现象

其次,从理论上讲,A1、A3在CCD上就是呈现为同一点,那怎么区分A1、A3点呢?拜托,动下脑子,如果有A3点,你能看到A1点吗?

需要提的一点是,在之后的模型推导中,我们会将整个相机模型简化为小孔成像模型,就像下图这样,这并不会影响我们之后公式推导的准确性。

图16 简化的相机小孔成像模型

对于上面的理解,这里只要求你大致了解,知道为什么需要调焦就好,因为传统的相机光学真的是门非常复杂、高深的学问,可以讲好久,在这里我跟你讲的还是化简后的相机模型。

简单说,焦距有两种,镜头的物理焦距和摄影焦距,物理焦距一般出厂后就固定了,我们调整的是摄影焦距,恰当的摄影焦距才能使图像清晰成像。

4.2 景深

前面有个问题,我们知道头顶平面可以清晰成像,那么鼻子的位置就不能清晰成像了吗?

事实上,我们所谓的清晰是一个相对的概念,人眼的分辨能力有限,只要该区域足够小,我们就认为它是清楚的。模型如下所示:

图17 景深:相机在一段范围内都可以认为是清晰成像的

在平面前后一定距离范围内,从a到c,我们可以认为成像都是清晰的,这一深度范围称为景深。焦点附近,也就是在景深范围内清晰,而前后方景物都比较模糊,实际的图像如下:

图18 景深范围内清晰,范围外模糊

4.3 光圈

光圈大小是用 f 值来刻画的,意思是开了几分之几,影响镜头的进光量。光圈值为f/2.0,意思是开了1/2,常见的光圈值如下所示:

图19 镜头光圈大小

光圈的大小除了影响进光量外,也会影响景深,简单说:光圈越大,景深越小

图20 光圈影响景深原理图

较大的光圈意味着更大的进光量,有利于弱光环境下拍摄,一般来说,镜头越亮约好,但是大光圈镜头也意味着景深不够。

4.4 常见镜头标识

关于工业相机中常见的镜头标识大致如下:

图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):影响理论视场范围。

图22 视场角和视场范围关系

  • 光学放大倍数(Magnification, B):芯片尺寸除以视野范围;

图23 光学放大倍数

下面我们来讲一些主要参数的选取:

1.相机

  • CCD or CMOS

  • CCD 提供更好的图像质量、抗噪能力,CMOS体积更小,但噪声会更多一点。当然,这不是绝对的,还是钱决定的。

  • CCD尺寸

  • 有钱的话,尽量买大一点的。

  • 合适的分辨率

  • 对于视野范围为 ,要求测量精度为 ,那么横/竖放下的分辨率至少为 像素,通过我们不会用一个像素对应一个测量精度,一般选择倍数为4、甚至更高,这样相机单方向的分辨率为 ,相机的分辨率:。

这也是为什么结构光系统视野范围大则测量精度低的原因。

  • 足够的相机帧率

  • 当被测物体有运动要求,相机的帧率不能太低,对于一些高速运动的物体,可以选择

2.镜头

  • 镜头接口

    跟相机接口匹配,也可以外加转换口后匹配,并且镜头可支持的最大CCD尺寸应大于选配相机CCD尺寸大小。

  • 镜头焦距

    根据相机CCD尺寸、工作距离、视场大小(物体的高/宽)计算所需镜头的焦距,如下:

    图24 根据CCD尺寸、工作距离、视场大小计算所需的镜头焦距

  • 镜头光圈范围

    光圈大小决定图像亮度,在拍摄高速运动物体、曝光时间很短的应用中,应选用大光圈镜头以提高图像亮度。

07 附录

1.FlyCapture2工业相机使用说明书

链接:

https://pan.baidu.com/s/1Viq36d3HAnVASyb8LPQxDg

提取码:53sa

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

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

觉得有用,麻烦给个赞和在看~  

一文详解工业相机和镜头选取相关推荐

  1. 一文详解Pandas

    一文详解Pandas 一.Pandas概述 二.Pandas数据结构 2.1 Series 2.2 DataFrame数据结构 二.数学与统计计算 三.DataFrame的文件操作 3.1 读取文件 ...

  2. 一文详解基于测距的空间定位算法

    一文详解基于测距的空间定位算法 文章目录 一文详解基于测距的空间定位算法 0 定位算法分类 0.1 基于测距与非基于测距的定位算法 0.2 集中式与分布式定位算法 0.3 绝对与相对定位算法 0.4 ...

  3. 一文详解JavaBean 看这篇就够了

    一文详解JavaBean 看这篇就够了 JavaBean的历史渊源 JavaBean的定义(通俗版) JavaBean应用 < jsp:useBean > < jsp:getProp ...

  4. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...

  5. 一文详解 YOLO 2 与 YOLO 9000 目标检测系统

    一文详解 YOLO 2 与 YOLO 9000 目标检测系统 from 雷锋网 雷锋网 AI 科技评论按:YOLO 是 Joseph Redmon 和 Ali Farhadi 等人于 2015 年提出 ...

  6. 一文详解决策树算法模型

    AI有道 一个有情怀的公众号 上文我们主要介绍了Adaptive Boosting.AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的hypothesis乘以不 ...

  7. 「软件项目管理」一文详解软件配置管理计划

    一文详解软件配置管理计划 前言 一.配置管理概述 1. 配置管理(SCM)定义 2. 软件配置项目(SCI) 3. 基线 4. 软件配置控制委员会(SCCB) 二.软件配置管理过程 1. 管理过程 2 ...

  8. 「软件项目管理」一文详解软件项目质量计划

    一文详解软件项目质量计划

  9. 「软件项目管理」一文详解软件项目管理概述

    一文详解软件项目管理概述

  10. OpenCV-Python实战(12)——一文详解AR增强现实

    OpenCV-Python实战(12)--一文详解AR增强现实 0. 前言 1. 增强现实简介 2. 基于无标记的增强现实 2.1 特征检测 2.2 特征匹配 2.3 利用特征匹配和单应性计算以查找对 ...

最新文章

  1. 一个使用 asyncio 协程的网络爬虫(一)
  2. JeeSite 4.0 说说前端的那些事
  3. 归并排序 c++_数据结构:排序(4)||有序表的归并(归并排序)、基数排序
  4. Cesium中的坐标系及转换
  5. SplitContainer.SplitterDistance属性值设置应注意的与FixedPanel有关
  6. 【转】多态与 new [C#]
  7. r语言 linux使用教程,R语言初级教程: R编程环境的搭建
  8. Spring入门之bean的配置
  9. 中级php工程师笔试,PHP工程师笔试题目及行测题型示例
  10. 提升记忆力的三大方法,让孩子告别死记硬背
  11. mysql查询表_mysql数据库表的查询操作-总结
  12. Mac上怎么把mov文件转成gif文件
  13. 服务器安装windows2016选择磁盘时报错不能将系统安装到此盘符
  14. Matlab中矩阵卷积函数convn
  15. Google Android 开发者网站更新了
  16. 永磁同步电机参数自整定 包括电机极对数、电阻、电感、磁链、反电势常数、编码器零位等
  17. SimpleDateFormat的线程不安全问题
  18. 陈天桥雒芊芊伉俪助阵盛大 “爱心传递”慈善拍卖,捐出丰子恺爱女画作
  19. 硅晶圆短缺:12寸硅晶圆产能虽被包下,但交货困难!
  20. 将RGB图像转换为二值图像--MATLAB

热门文章

  1. 技嘉主板的 BIOS 问题解决
  2. 2020_WHUCTF_Writeup(部分)
  3. 程序员的算法趣题 python3 - (4)
  4. abb机器人伺服电机报闸是什么_ABB机器人伺服电机维修常见4大故障处理
  5. Linux文件中批量转换时间戳,linux 文件日期转时间戳
  6. Ubuntu 16.04 双网卡 同时上内外网
  7. 小程序发布上线流程_微信小程序发布_审核上线流程及注意事项_企业服务汇
  8. 后台事务调用需启动工作流监听
  9. 计算机驱动程序安装不了,Win7系统安装不了主板驱动的解决方法
  10. 认识计算机硬件.ppt,认识计算机硬件完整ppt课件