一、相机介绍及选型方法
1.工业相机介绍
工业相机与我们手机上面的相机或者我们单反相机不同,工业相机它能够使用各种恶劣的工作环境,比如说高温,高压,高尘等。工业相机主要有面阵相机和线阵相机,线阵相机主要用于检测精度要求很高,运动速度很快的场景,而面阵相机应用更为广泛。
线阵相机
这种相机呈现出线状,一般上只在两种情况下使用这种相机,
一是被检测视野为细长的带状,多用在滚筒上检测;二是需要很大的视野和很高的精准度。我们看到的线阵相机的物体二维图像是通过多次线阵扫描组合形成的。下图是大恒图像的高速滚筒实验平台(引用地址:http://www.daheng-image.com/products/ProductDetails.aspx?current=89&productid=3023)
线阵相机的优点就是可以做很多一维像元数,而且总像元数也比面阵相机少,像元尺寸比较灵活,帧幅数高,特别适用于一维动态目标的测量。
面阵相机
面阵相机机器视觉应用更加广泛。面阵CCD的优点是可以直接获取二维图像信息,测量图像直观。可以短时曝光,利于抢拍动态景物,也可以拍静态景物。由于我平时使用的基本都是面阵相机,所以这里主要介绍面阵相机的选型。
2.工业相机选型
(1)CCD/CMOS
如果拍摄目标是静态不动的,为了节约成本,可考虑使用CMOS相机,而如果目标是运动的,则优先考虑CCD相机。如果是需要高速采集的,这里指的高速是很高的采集速度,而非指很高的运动速度,可以考虑CMOS相机,因为CMOS的采集速度会优于CCD。如果需要高质量的图像,如进行尺寸测量,可以考虑CCD,在小尺寸的传感器里,CCD的成像质量还是要优于CMOS的。CCD工业相机主要应用在运动物体的图像提取,在视觉自动检查的方案或行业中一般用CCD工业相机比较多。随着CMOS技术的发展,CMOS工业相机由成本低,功耗低也应用越来越广泛。
(2)接口:工业相机的前面就是用来接镜头,都是有专业的标准接口。它的后面,一般有两个接口,一个是电源接口,一个是数据接口。 工业相机的接口分为:USB 2.0/3.0、CamerLink、Gige、1394a/1394b、CoaXPress等类型的接口。这里只介绍几种常用的接口类型。
USB接口:支持热拔热插、使用便捷、标准统一、可连接多个设备、相机可通过USB线缆供电。但没有标准的协议、主从结构,CPU占用率高、带宽没有保证。usb3.0的接口一般都是可以自供电。但是也可以再接一个电源,假如usb接口供电不稳定的话,那么就可以选择外接电源来进行供电。
Gige千兆以太网接口:是一种基于千兆以太网通信协议开发的相机接口标准;适用于工业成像应用,通过网络传输无压缩视频信号;拓展性好,传输数据长度最长可伸展至100m(转播设备上可无限延长);带宽达1Gbit,因此大量的数据可即时得到传输; 可使用标准的NIC卡(或PC上已默认安装);经济性好,可使用廉价电缆(可使用通用的Ethernet电缆(CAT-6)和标准的连接器;可以很容易集成,且集成费用低;可管理维护性及广泛应用性。
Camerlink接口: 是一种串行通讯协议。采用LVDS接口标准,具有速度快、抗干扰能力强、功耗低。从Channel link技术上发展而来的,在Channel link技术基础上增加了一些传输控制信号,并定义了一些相关传输标准。协议采用MDR-26针连接器。高速率,带宽可达6400Mbps、抗干扰能力强、功耗低。
Gige接口简单方便的进行多相机设置,支持100米线材输出。Camera Link接口是专门针对高速图像数据需求的标准接口。USB 3.0接口具有简单易用,实时性好的特点。目前在机器视觉中,应用最广泛的接口是Gige(以太网)接口,以太网接口在传输速度、距离、成本等方面较其他接口具有很大的优势。
(3)分辨率
其实从这里才算是正式开始相机的选型。在介绍选型方法之前,有必要介绍一下分辨率、像素、精度、像元尺寸、传感器尺寸之间的关系,不少人总容易在这里弄混。
相机分辨率,相机每次采集图像的像素点数,也是指这个相机总共有多少个感光晶片,通常用万个为单位表示,以矩阵排列,通常相机产品在介绍时会说有千万像素、百万像素等。例如百万像素相机的像素矩阵为WxH=1000x1000。像素的大小是没有固定长度值的,不同设备上1个像素色块的大小是不一样的。每一个小方块都有一个明确的位置和被分配的色彩数值,而这些小方块的颜色和位置决定了该图像所呈现出来的样子。
(4)传感器尺寸
传感器(CCD/CMOS)尺寸的表示方法大惑不解,因为像1/1.8英寸、2/3英寸之类的尺寸,既不是任何一条边的尺寸,也不是其对角线尺寸,看着这样的尺寸,往往难以形成具体尺寸大小的概念。
靶面尺寸=对角线尺寸
靶面面积=传感器宽度x传感器高度
图片摘自 :镜头学堂 | 工业镜头参数知多少
传感器尺寸大,在同样的像素密度下,像元尺寸也会大,这样会增加每个像元的感光面积,对提高图像的质量有益。传感器的尺寸,还能决定视野大小与工作距离。在同样的工作距离、同样的镜头下,传感器尺寸大,可以拍摄更大的视野。
(5)像元尺寸
有了相机分辨率和传感器尺寸,就能够计算像元尺寸。
像元尺寸=传感器尺寸/分辨率(像元个数)
这样就会分别得到宽度及高度上的像元尺寸
像元尺寸指芯片像元阵列上每个像元的实际物理尺寸,例如3.75umx3.75um 等。像元尺寸从某种程度上反映了芯片的对光的响应能力,像元尺寸越大,能够接收到的光子数量越多,在同样的光照条件和曝光时间内产生的电荷数量越多。对于弱光成像而言,像元尺寸是芯片灵敏度的一种表征。是不是有些迷惑了,听起来感觉和前面所说的相机分辨率很像,前面的相机分辨率值越小,分辨率高,这里是像元尺寸越大, 灵敏度越高。是两个不同的概念。
(6)精度
精度指一个像素表示实际物体的大小,用(um*um)/pixel表示。注意,像元尺寸并不等于精度,像元尺寸是相机机械构造时固定的,而精度与相机视野有关,是变化的。精度值越小,精度越高。
单个像素对应的大小=视野宽/宽度分辨率 =视野高/高度分辨率
补充:考虑到相机边缘视野的畸变以及系统的稳定性要求,一般不会只用一个像素单位对应一个测量精度值,有时候根据光源的不同会提高计算的值,使用背光源的精度为1~3个像素,使用正光源的精度为3~5个像素:
例如:使用500W像素相机 分辨率为2500*2000 视野为100mm*80mm
单个像素对应大小 = 0.04mm
背光的精度为 0.04mm~0.12mm
正光的精度为 0.12mm~0.20mm
注意这里的意思,也就是说当我们已知精度去计算分辨率时,往往要选择比计算值更大的分辨率相机,才能满足要求。
(7)图片分辨率
图像分辨率比较好理解,就是单位距离内的像用多少个像素来显示,与精度意义相同,只是表示方法不同。
选型基本原则
当视野大小即检测目标大小一定时(选相机时一般将目标大小视为视野大小),相机分辨率越大,精度越高,图像分辨率也越大;当视野大小不确定时,不同分辨率相机也能达到同样的精度,这时选择大像素相机可以扩大视野范围,减少拍摄次数,提高测试速度。若1个是1百万像素,另1个是3百万像素,当清晰度相同(精度均为20um/pixel),第1个相机的FOV是20mm×20mm=400平方mm,第二个相机的FOV是1200平方mm,拍摄生产线上同样数量的目标,假设第1个相机要拍摄30个图像,第2个相机则只需拍摄10个图像就可以了。
二、镜头介绍及选型方法
1.镜头介绍
镜头作为机器的眼睛,其主要作用是将目标物体的图像聚焦在图像传感器(相机)的光敏器件上。数据系统所处理的所有图像信息均需要通过镜头得到,镜头的质量直接影响到视觉系统的整体性能。
(1)工作距离(Working Distance)
工作距离指的是镜头的最下端到景物之间的距离。一般的镜头是可以看到无限远的,也就是说是没有上限的。
我们需要注意的是“最小工作距离”在镜头上有两个有刻度的调节圈,一个是调节光圈的,另一个是调焦的,在调焦的刻度圈上标有此镜头的工作距离从最近到最远是多少。
(2)视场(Field of view, 即FOV,也叫视野范围)
视野指的是镜头能看到的最大范围,也就是镜头所能覆盖的有效工作区域。
(3)景深(Depth of view,即DOF)
景深与视野相似,不同的是景深指的是纵深的范围,视野指的是横向的范围。在最小工作距离到最大工作距离之间的范围称为景深,景深内的物体都可以清晰成像。景深一般可以通过光圈调节,光圈越小,景深越大。
可成清晰像的最远的物平面称为远景平面,它与对准平面的距离成为后景深△L1;能成清晰像的最近物平面称为近景平面,它与对准平面的距离称为前景深△L2;景深=前景深+后景深,景深计算公式为:
前景深ΔL1=FδL^2/(f^2+FδL) (1)
后景深ΔL2=FδL^2/(f^2-FδL) (2)
景深ΔL=ΔL1+ΔL2=(2f^2FδL^2)/(f^4-F^2δ^2L^2)
(由于第一次写博客,还不太会编辑公式,L^2就是L的平方的意思)
δ——容许弥散圆直径,f——镜头焦距,F——镜头的拍摄光圈值,L——对焦距离
ΔL1——前景深,ΔL2——后景深,ΔL——景深
从公式(1)和(2)可以看出,后景深 > 前景深。
由景深计算公式可以看出,景深与镜头使用光圈、镜头焦距、拍摄距离以及对像质的要求(表现为对容许弥散圆的大小)有关。这些主要因素对景深的影响如下(假定其他的条件都不改变)
(1)、镜头光圈:
光圈越大,景深越小;光圈越小,景深越大;
(2)、镜头焦距
镜头焦距越长,景深越小;焦距越短,景深越大;
(3)、拍摄距离
距离越远,景深越大;距离越近,景深越小。
总结:对于对景深有要求的项目,尽可能使用小的光圈;在选择放大倍率的镜头时,在项目许可下尽可能选用低倍率镜头。如果项目要求比较苛刻时,倾向选择高景深的尖端镜头。
网上有些在线的景深计算器,有兴趣的网友可以自行搜索查询计算,以下是两个景深的计算实例:
(1)、200/2.8对焦在5m时,f/2.8的景深:
δ=0.035mm,f=200mm, F=2.8,L=5000mm
计算得:ΔL1=60mm,ΔL2=62mm,ΔL=122mm
结论:该镜头在用f/2.8拍摄时,清晰范围是从4.94m~5.062m,景深很浅。
(2)、200/2.8+2X=400/5.6对焦在5m时,f/5.6的景深:
δ=0.035mm,f=400mm,F=5.6,L=5000mm
ΔL1=30mm,ΔL2=31mm,ΔL=61mm
结论:该镜头在配合2X增距镜后,主镜头用f/2.8拍摄时,景深是(1)的一半。
(4)焦距(focal length)
要了解焦距首先要知道成像面,那成像面又是什么呢?成像面是入射光通过镜头后所成像的平面,这个面是一个圆形。
工业镜头,一般有光圈、对焦圈两个转环,我们使用对焦圈来改变透镜的位置时,其改变的距离有一定的限制。但这并不意味这我们使用的是变焦镜头。
(5)视角(visual angle)
视角顾名思义就是视线的角度,也就是镜头能看多“宽”。焦距越小,视角越大;最小工作距离越短,视野越大。
对于普通的镜头来说,选择原则是:工作距离越近越好,镜头的畸变越小越好,视野越大越好。
(6)分辨率(resolution ratio)
图像系统可以测到的受检验物体上的最小可分辨特征尺寸。在多数情况下,视野越小,分辨率越好。
(7)光圈:(Iris)
光圈是一个用来控制光线透过镜头进入机身内感光面光量的装置,在拍摄高速运动物体时候,由于曝光时间短,需要使用大光圈。
光圈大小一般用F表示,以镜头焦距f和通光孔径直径D的比值来衡量,当光圈物理孔径不变时,镜头中心与感光器件距离越远,F值越大,光圈越小;反之,F值越小,光圈越大。
一般通过调整通光孔径大小来调节光圈,完整的光圈数值系列如下:F1,F1.4,F2,F2.8,F4,F5.6,F8,F11,F16,F22,F32,F44,F64。
(8)镜头畸变
镜头在成像时,特别是用短焦距镜头拍摄大视场,图像会产生形变,这种情况叫做镜头的畸变,这是由于镜头的光学结构和成像特性导致的,原因是由于视野中局部放大倍数不一致造成的图像扭曲。
拍摄的视场越大,所用的镜头的焦距越短,畸变的程度就越明显,一般有桶型畸变和枕型畸变两种,可以通过图像标定减弱这种平面畸变的影响。
(9)接口及最大兼容CCD尺寸
镜头接口只要可跟相机接口匹配安装或可通过外加转换口匹配安装就可以了,其一般的接口是C口跟CS口,这两者主要的区别是图像传感器与镜头之间的距离不同这两者类型的接口没有细分的,其C口的大小全都都一样,;
要注意所选择的镜头的最大兼容CCD尺寸要大于或等于相机芯片的尺寸。
2.镜头选型方法(含相机)
已知:被检测物体大小为A×B,要求精度小于C,工作距离为D
(1). 计算短边对应的像素数E=B/C,相机长边和短边的像素数都要大于E;
即相机最小分辨率为:E×E
这里并不能完全确定相机的传感器尺寸,虽传感器尺寸与视野等有一定关系,但没有直接公式关系,因为镜头的选择会依赖相机(分辨率、接口),后面可以根据镜头的选型反推这里相机是否正确。
这里可以暂定相机C接口,2/3英寸,得到相机传感器短边尺寸G
(2)可求得:
像元尺寸=传感器尺寸/分辨率(像元个数)=G/E
放大倍率=所选相机传感器短边尺寸/相机短边的视野范围=G/B
由于相机确定,那么我们可以先确定需要的工业镜头是C接口,最少支持2/3",
(3)焦距=(工作距离D×相机传感器短边尺寸G)/物体宽度B
其实,由上图关系得放大倍率还有另一种计算方法:
放大倍率=所选相机传感器短边尺寸/相机短边的视野范围=焦距/工作距离
那么,焦距=工作距离×放大倍数
考虑实际工作情况,更多采用的焦距计算公式为:焦距=工作距离×(1/放大倍数+1)=(工作距离*相机传感器短边尺寸)/(物体宽度+相机传感器短边尺寸)
这里如果觉得绕的话建议还是先用焦距=(工作距离D×相机传感器短边尺寸G)/物体宽度B计算焦距,然后在已有的定焦镜头中选择焦距偏小的值(例如计算得到焦距为8.3,则可以选择8mm焦距的镜头),因为焦距偏大,可能会导致视野偏小,检测不到完整的物体
验证方法
因为视野范围与精度是两个矛盾的指标,以上计算以精度为标注进行选型(用的物体短边B),可计算最终视野是否满足长边A:
长边A < 工作距离D × 相机传感器短边G / 焦距f
以上仅针对主要参数进行计算选择,其他如畸变、景深、环境等,可根据实际要求进行选择。
三、相机与镜头选取实际案例
1.相机选型实例(已定镜头选择相机)
已知客户的镜头的尺寸是1/3,接口是CS接口,视野大小为12*10mm要求精度为0.02mm,则应该选用多大分辨率相机?
计算方法:
(12/0.02)*(10/0.02)=30万像素,但是如果是缺陷检测通常不会只用一个像素表示一个精度,而是乘以3-4倍,即30*4=120万像素。最低不少于120万像素。
2.镜头选型实例(已定相机选择镜头)
1、已知客户观察范围为30mm*30mm,工作距离为100mm,CCD尺寸为1/3',那么需要多少焦距的镜头
计算方法:
1/3'=3.6mm(垂直) 芯片垂直方向的大小
f=(100*3.6)/30
2.条形码识别
目标宽度 = 30 毫米,拍摄距离 = 300 毫米,CCD型号 = 1/4" (CCD宽度 = 3.2 毫米)
焦距=(300*3.2)/30=32mm
(3)水果分类
目标高度 = 200 毫米, 拍摄距离 = 1000 毫米,CCD型号 = 1/3" (CCD高度 = 3.6 毫米)
焦距=(1000*3.6)/200=18mm
(4)车牌号码识别
目标宽度 = 600 毫米,拍摄距离 = 10000 毫米,CCD型号 = 1/4" (CCD宽度 = 3.2 毫米)
焦距=(10000*3.2)/600=53mm
3.相机、镜头未知