15

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

 3 years ago
source link: https://mp.weixin.qq.com/s/_q8bPkA_S2qx80kBa0dd7w
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

Image

01 什么是工业相机

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

Image

图1 常见工业相机外观

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

640?wx_fmt=png

图2 常见单反相机外观

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

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

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

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

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

640?wx_fmt=png

图3 FlyCapture SDK 采集图像界面

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

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

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

4、特殊用途

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

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

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

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

03 工业相机的接口

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

640?wx_fmt=png

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

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

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

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

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

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

3.1 镜头接口

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

640?wx_fmt=png

图5 不带镜头的工业相机

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

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

1)C、CS接口

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

640?wx_fmt=png

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

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

2)M系列

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

640?wx_fmt=png

640?wx_fmt=png
640?wx_fmt=png

(1)M12

(2)M42

(3)M58

                        图7 M系列接口 [2]

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

3)卡扣系列

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

640?wx_fmt=png
640?wx_fmt=png

(1)EF接口(佳能)

(2)F接口(尼康)

                          图8 卡扣系列接口[2]

4)常见镜头接口参数

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

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

640?wx_fmt=png

3.2 数据+电源 接口

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

640?wx_fmt=png

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

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

640?wx_fmt=png

                 表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将会消耗大量资源.

需要说明的是,我们选取工业相机型号的时候,接口并不是传输速度越好越好,而是要挑合适的,杀鸡焉用牛刀?那怎么选型呢?我们下一节说!

本文转载自:公众号@计算机视觉工坊,一个小众但出众的公众号。

640?wx_fmt=jpeg

▲长按关注「计算机视觉工坊」公众号

04 镜头参数

4.1 焦距

1)物理焦距

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

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

2)摄影焦距

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

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

640?wx_fmt=jpeg

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

3)调焦原因

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

我们来看下面这个模型:

640?wx_fmt=png

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

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

这里有两点特殊:

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

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

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

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

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

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

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

640?wx_fmt=png

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

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

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

4.2 景深

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

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

4.3 光圈

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

640?wx_fmt=png

图19 镜头光圈大小

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

640?wx_fmt=png

图20 光圈影响景深原理图

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

4.4 常见镜头标识

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

640?wx_fmt=png

图23 光学放大倍数

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

1.相机

·CCD or CMOS

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

·CCD尺寸

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

·合适的分辨率

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

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

·足够的相机帧率

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

2.镜头

·镜头接口

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

·镜头焦距

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

640?wx_fmt=png

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

·镜头光圈范围

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

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

本文仅做学术分享,如有侵权,请联系删文。下载1在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。下载3在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

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

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

640?wx_fmt=jpeg▲长按加微信群或投稿

640?wx_fmt=jpeg

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款640?wx_fmt=jpeg 圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~640?wx_fmt=gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK