背景:
最近需要优于项目需求需要对工业相机和镜头进行选型,于是我就开启的学习相机之旅,虽然我一直在做机器视觉方向,但是我对相机的了解还是很少,我想正好趁这次机会好好学习一下。如果有错误的观点请指正。
一、相机相关的一些指标
1. 靶面尺寸
相机的靶面尺寸就是用于接收光信号的传感器的尺寸,业界规定在描述靶面尺寸时1英寸=16毫米(当然实际情况下1英寸=25.4mm)。相机的靶面尺寸是用靶面对角线的长度与16mm的比值表示的,如对角线为4mm的靶面尺寸为1/4”,然后根据4:3的长边短边比,利用勾股定理就可以计算出靶面的边长。在其他条件一致的情况下,相机的靶面尺寸越大则可获得的视野范围越大。
图1. 相机靶面尺寸
2. 像元尺寸
像元就是传感器上的感光单元,这些感光单元可以把光信号转换为电信号。如像元尺寸为4.8um*4.8um。像元有方形的也有长方形的。
3. 相机分辨率
分辨率就是相机的传感器上即感光靶面上横向和竖向各有多少个感光单元(像元)。当然“靶面尺寸”,“像元尺寸”和“分辨率”三者之间是有联系的,比如我们已经知道了“像元尺寸”和“分辨率”那么我们就可以直接计算出相机靶面的长和宽出来,如“分辨率”为2592*2048,“像元尺寸”为4.8um,那么靶面长=2596*0.0048=12.44mm,靶面宽=2048*0.0048= 9.83mm,这与在图1中靶面尺寸为1”的长边和宽边的长度有些出入,这主要是近似的缘故。
4. 镜头分辨率
-
什么是传递函数(又叫MTF),什么是极限空间分辨率
简单来说MTF是空间分辨率的一种表达方式,单位:线对/mm。每个光学或者光电成像器件都有各自的MTF,镜头有MTF,相机也有MTF。光学器件或者光电成像器件的MTF越好,或者MTF对应的空间截止频率越高,证明器件自身的空间分辨率越好,越能看清楚更小的细节。MTF对应的空间截止频率又叫极限空间分辨率。
-
镜头中的百万像素,二百万像素,五百万像素是指什么?
其实,镜头中的百万像素,二百万像素,五百万像素同样是指镜头的空间分辨率,因为镜头必须配合相机使用,为了方便记忆镜头和相机的匹配关系,人们常采用对应的相机的分辨率来命名镜头,这种命名方式其实是不科学的,同时给新接触视觉系统的人带来很多误解,经常或机械的套用百万像素分辨率相机对应百万像素分辨率镜头,二百万像素分辨率相机对应二百万像素分辨率镜头,五百万像素分辨率相机对应五百万像素分辨率镜头。其实镜头与相机对应的不是相机本身的像素分辨率(像素数),而是各自的极限空间分辨率。按照目前公开的性能指标来说,百万像素镜头对应的极限空间分辨率为90线对/mm,二百万像素镜头对应的极限空间分辨率为110线对/mm,五百万像素镜头对应的极限空间分辨率为160线对/mm,因此百万像素镜头配合相机的极限空间分辨率必须低于90线对/mm, 二百万像素镜头配合相机的极限空间分辨率必须低于110线对/mm,五百万像素镜头配合相机的极限空间分辨率必须低于160线对/mm。而决定相机极限空间分辨率的并不是相机自身的像素分辨率,而是相机的单个像元尺寸大小。
-
相机的极限空间分辨率
相机的极限空间分辨率代表了相机能够分辨的空间最小细节,其计算公式可以理解为:1/(单个像元尺寸*2),单位:线对/mm。为啥需要在像元尺寸上乘以2呢,这是因为,两个像元才对应一对黑白条,如下图所示。
图2. 两个像元对应一对黑白条
-
相机和镜头的配套原则
镜头的极限空间分辨率必须高于相机的极限空间分辨率,这样才能让相机实现最佳成像性能。
二、项目中如何根据实际需要选择合适的相机和镜头呢?
1. 相机输出接口选择USB3.0还是GIGE千兆网
同等像素条件下,各种接口的总线其相机帧率是不一样的,一般来说Camera Link>USB3>GIGE>1394B>USB2,1394A。现在最快的是Camera Link总线,USB3的理论速度达到了5Gbps即640MB,实际表现来看,应该有80%的有效带宽,即有512M左右的总带宽可供实际传输,这样如果一个500万像素的相机,每幅图像5M,那么也可能达到100帧每秒,速度也非常快了。而对于GIGE千兆网相机,500万像素的相机,较快的可以做到23FPS。1394B的500万像素相机可以做到13FPS,USB2,1394A一般为5~6帧的样子。除了考虑两者的传输速率,还要考虑两者的工作距离,通常情况下USB3.0的工作距离为5米以内,GIGE千兆网接口的工作距离为100米以内。根据下表对比USB3.0和GIGE接口的特点选择适合自己的接口形式。
表1. USB3.0和GIGE对比
| 带宽 | 理论下载速度 | 实际下载速度 | 500万图像传输帧率 | 优点 | 缺点 |
USB3.0接口 | 5Gbps | 640MB | 约512MB | 约100fps | 1. 帧率高 | 1. 工作距离近,通常在5m内。 |
GIGE接口 | 1KMbps | 128MB | 约100MB | 约20fps | 1. 传输距离远,通常在100m以内。 | 1. 帧率没有USB3.0高。 |
2. 选择图像分辨率和帧率
第一步中的选择,其实是确定了总的带宽,然后根据我们对帧率的需求来确定分辨率,倘若我们要求帧率为20帧,如果选用GIGE接口,那么一帧图像的大小不超过5M,也就是一帧图像分辨率为500万左右,如果选择USB3.0接口,相同的帧率,那么一帧图像的大小可以放宽到25M,也就是不超过2500万像素。如果你想要得到更高的帧率,那就不得不降低分辨率。如果你想帧率和分辨率都很高,那么就选择传输速率较高的USB3.0接口形式,但是要考虑5米以内的工作距离是否满足需求。
3. 确定分辨率
根据第二步我们可以确定,我们可选的分辨率大小,当然我们希望分辨率越大越好,所以在允许的范围内,我们要选择分辨率最大的。如果已经确定接口是GIGE接口,帧率为20帧,分辨率为500万像素,然后就是选择实际的分辨率,假设实际测试场地为5000*4000长宽比为1.25,所以我们在选择的时候,也尽量选择分辨率的长宽比接近1.25的相机,如之前选择的2592*2048,为530万像素的相机,长宽比为1.266与1.25较为接近。那么这时达到的精度差不多为2mm/pixel。如果要提高精度,要不然就提高分辨率,那样帧率势必要降低,要不然就换成USB3.0输出接口。
4. 选择相机靶面尺寸
在候选的相机中,我们要选择靶面尺寸更大的相机,如有2/3"和1“的可供选择,那么我们就选择后者,靶面尺寸大,相对应的得到的视场范围也就越大。
5. 选择相机颜色
在没有彩色图像分析需求时,我们要选择黑白相机,因为黑白相机使用单色光源成像质量要比彩色相机使用复合白光的质量要好。
6. 选择相机的曝光时间
目标的运动速度对相机的最小曝光时间提出了要求,如果目标运动速度为300mm/s, 我们的测量精度为1mm/pixel,那么我们必须考虑,物体的运动引起的拖影必须要小于我们的精度1mm,目标移动1mm,需要3.3ms,这就要求我们的相机的曝光时间必须小于3.3ms, 其实我们工业相机最快曝光时间可达几十到一百多微秒的样子,所以完全可以满足我的精度需求。
7. 选择传感器类型
如果拍摄的目标是静止不动的,为了节约成本,可以考虑使用CMOS相机,而如果目标是运动的,则优先考虑CCD相机,如果需要高速采集,这里的高速是指很高的采集速度,而不是目标物体的运动速度,可以考虑CMOS相机,因为CMOS相机的采集速度要优于CCD相机,如果需要高质量的图像,如进行尺寸测量,可以考虑CCD相机,在小尺寸的传感器中,CCD的成像质量优于CMOS。
8. 计算镜头焦距
- 经过上面的指标基本上可以确定相机,然后就要选择镜头,首先我们要根据相机的靶面尺寸,实际测试中的工作距离和视野范围来计算焦距。焦距f = 工作距离(WD)*靶面尺寸(H or V)/视野范围(H or V)。
- 在选择镜头时要考虑镜头的相面大小与相机的感光面大小是否兼容,遵循“大的服从小的”原则,即镜头的相面大小不得小于相机感光面大小,否则边缘视场的像质不保。
- 选择的镜头的接口要与相机接口一致。
- 一般来说相机的成像质量要和镜头的成像质量相对应,差异不能太大。镜头再好,机身传感器的分辨率上不去,其优质的取景能力也表现不出来;机身画幅和分辨率再高,镜头画质不给力,也捕获不到优秀的画质。倘若选择的相机的像元尺寸为4.8um*4.8um,先计算相机的极限空间分辨率为:1/(0.0048*2) = 104线对/mm,那么我们选择镜头时,要挑选那些空间分辨率不低于104线对/mm的镜头,也就是选择二百万像素的镜头,空间分辨率为110线对/mm,就可以了。倘若选择的相机的像元尺寸为3.45um*3.45um,那相机对应的空间分辨率为:1/(0.00345*2)= 145线对/mm,那么此时我们就应该选择500万像素分辨率的镜头了,对应的空间分辨率为160线对/mm,当然还要考虑相机和镜头靶面尺寸的匹配。
三、实例分析
表2. 数据罗列
| 指标 | 数据/mm |
实际场景
| 视野范围H | 5000 |
视野范围V | 4000 | |
工作距离 | 3200 | |
相机参数
| 靶面尺寸 | 1" |
像元尺寸 | 4.8um*4.8um | |
分辨率 | 2592*2048 | |
最大帧率 | 22 | |
颜色 | 黑白 | |
输出接口 | GIGE | |
镜头接口 | C-Mount | |
镜头参数
| 焦距 | 6mm |
最大像面 | 1" | |
镜头分辨率 | 1200万 | |
视场角H(度) | 95.4 | |
视场角V(度) | 78.4 | |
镜头接口 | C-Mount |
下面是之前选的海康的工业相机,千兆网接口,1", 500万分辨率,帧率不高于22帧,为了达到更大的视野,所以优先选择大靶面的。
图3. 选择的海康工业相机
确定相机后根据相机的靶面尺寸,工作距离,视野范围来计算所需镜头的焦距。
焦距f = 工作距离WD*靶面尺寸(H or V)/视野范围(H or V) = 3200*12.8/5000 = 8.19,所以安全起见,我们需要选择焦距小于8的镜头,所以我决定选6mm焦距的镜头。
关于镜头的选择,首先,焦距要选符合我们项目需求的,如上面计算的6mm, 其次就是要尽可能保证,镜头对应的靶面尺寸与相机的靶面尺寸兼容,如下面第一幅图中,该6mm焦距的镜头就兼容1”和2/3"的靶面尺寸。我们在选选择镜头时,单从靶面尺寸这个指标来看,所选镜头的靶面尺寸要大于或者等于相机的靶面尺寸,但是绝不能小于,否则,相机的视野就被镜头给限制了。除了要看镜头的焦距,靶面尺寸,还要看镜头的分辨率,关于镜头的分辨率这快我还有不少困惑,但是选择的思路是,在保证镜头的焦距和靶面尺寸满足需求的前提下,一定要确保,镜头的分辨率要高于相机的分辨率,这样可以把相机和镜头的潜力都发挥出来,但是如果镜头的分辨率太低,那再好的相机,高质量的成像效果也得不到了,但是也不需要无限的高,否则镜头的分辨率又被浪费了。
我问了镜头1的客服,他这款镜头的分辨率也是1200万的,但是为啥不在表格中标识出来呢?
表3. 选取的镜头1的指标
在镜头4的指标表格中标识了镜头的分辨率为1200万,这里并没有使用镜头的空间分辨率lp/mm来表示,大概是表示成与相机分辨率一致的形式,便于买家理解吧。
标4. 选取的镜头2的指标
参考文献
1. http://www.skcircle.com/?id=1217
2. https://mp.weixin.qq.com/s/K1TtIH8EJcZxHVRrsIN4qQ
3. https://blog.csdn.net/qq_27923041/article/details/106858708
4. http://www.skcircle.com/?id=1193
相机镜头购买链接
1. https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.86.119e7484FcxYWy&id=613134277199
2. https://detail.tmall.com/item.htm?spm=a1z0d.6639537.1997196601.13.119e7484FcxYWy&id=610617969641
3. https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.24.119e7484FcxYWy&id=563772167933