本文,从工业相机的关键参数,相机镜头的关键参数,相机的速率选择,应用场景的速度分析,相机的接口选择,相机等数据传输格式等多方面综合介绍和实际分析出发,来为入门工程师,中级工程师,或者需要单独考虑某方面的配置程序员等,提供一个概括讲解或分析。
对于工业相机,我们常用的是CMOS相机,因为其帧率高,速度快,功耗低。
我们非常关注相机的参数是:sensor靶面尺寸,像元大小,分辨率和帧率。
靶面尺寸:常用英寸表示。1’’ = 16mm,表示对角线长度。如果不能整除的话,用向上取整来代替。
像元大小:指的是一个感光单元,也即一个像素的大小。例如:2.2um,6.9um。
分辨率:指的是整个sensor的水平和垂直感光大小。例如:720*540,也表示像素大小。分辨率由像元数确定。
位深:8bit,10bit,等等。
接口类型:USB3.0(5Gbps,625MB/s,5米),GigE(1Gbps,125MB/s,100米),Camera Link(6.4Gbps, 800MB/s,15米),CoaXPress(6.25Gbps,50米;1.25Gbps,170m)。
靶面尺寸 | 对角线长度(与靶面尺寸有关) | 像元大小 | 分辨率 |
---|---|---|---|
1’’ | <== 16mm | 2.2um | 720*540 |
2/3’’ | <== 11mm | 2.9um | 1920*1080 |
1/2’’ | <== 8mm | 6.9um | 2592*1944 |
1/3’’ | <== 6mm | …so many | …so many |
1/4’’ | <== 4mm |
靶面尺寸的大小,只是一个大概的标识,实际上的sensor的大小,需要实际计算。
例如:一个靶面尺寸为1/2.5’‘的CMOS相机,其像元尺寸为2.2um,分辨率为2592*1944。计算相机的sensor尺寸:
horizontal = 2.2 * 2592≈5.7mm,vertical= 2.2 * 1944 ≈ 4.28mm,利用勾股定理计算对角线长度=sqrt(h^2 + v^2) ≈7.13mm. So, 但是根据标称的靶面尺寸:1/2.5’’ = 16mm/2.5 =6.4mm。所以,实际的sensor大小需要再次计算(real size ≠ 相机标称靶面)。但是用1/2.5’'已经能够表示出其相对大小了。
分辨率为2592 * 1944,指示了相机sensor有2592 * 1944个像元。
镜头的参数,主要包括三方面,焦距,光圈,靶面尺寸。
焦距的选择主要与实际要拍摄物体的距离远近有关。
光圈表示:最大的光圈大小,主要通过这个参数判断最大进光量是否满足需求。
镜头光学靶面尺寸:镜头光线聚集后,形成的靶面大小。与CMOS的尺寸标识一致,也有2/3’‘英寸,1/2’'英寸。
相机与镜头,需要配合选型。光学镜头的靶面尺寸≥相机靶面尺寸。需要确定最小分辨率,焦距,一个像元大小是否满足最小测量或者噪声的表示量。通常做法是,为了增大最小测量单元/最小检出瑕疵,需将最小分辨率*4倍,此条件下,再去选配置。确定要达到的视野范围(FOV)和working distance,然后计算焦距f。
比如,相机的靶面尺寸是1/2’’,此时,需要的镜头靶面尺寸是1/2’’, 2/3’’, 1’'都是可以的。
计算公式为:焦距f/相机靶面尺寸sensor_size = 工作距离WD/视野范围FOV ====>>> f/sensor_H = WD/FOV_H, f/sensor_V = WD/FOV_V。
图像格式,指的是从相机端传输出来的图像数据格式。常用的有:
黑白图像Mono: Mono8/ 10/ 10Packed;
彩色图像Color: BayerRG8/ 10/ 10Packed; BayerGB8/ 10/ 10Packed.
Mono8,表示单个像素,用8bit表示,因此,一个像素用1Byte来存储;将Mono8格式的图像的传输速率设置为一个单位,作为不同图像格式下的传输速率参考,标准速率:1。
Mono10,表示一个像素用10bit表示,此时,存储一个像素,需要2个Byte,其中,浪费6个bit。标准速率:0.5。
Mono10Packed,表示封装拼接,此时,用3个Byte,24bit,来组合存储2个10bit的像素。标准速率:2/3。
彩色:BayerRG8与Mono8的数据封装格式一样,但是是第一行按照RG RG的格式来排列的,第二行按照GB GB的顺序来排列。标准速率:1。
彩色:BayerGR10Packed,在这里,我们重点描述这种彩色图像排列格式。与Mono10Packed格式类似,用3个Byte的长度来组装2个像素大小。像素的组合格式按照先G R GR排列第一行,然后第二行,按照BGBG的格式来排列。第1、2Byte存储G的10bit数据,第2、3Byte存储R的10bit数据。第三行第四行依此类推。标准速率:2/3。
在项目和实验中,对于低中速,常规的工业场景,我们常用USB3.0,GigE接口的相机,其传输速率基本上能满足常规需求。所能带动的帧率也在30FPS-500FPS不等。而在超高速领域,例如,子弹发射,爆炸瞬间,这一类瞬时运动快;或细胞微粒流动等微纳尺度下的目标运动场景,我们一般采用高速相机来进行图像的捕捉采集和分析。由于需要达到超高速采集1000FPS,2000FPS,10000FPS,需要Camera Link或者CoaXPress来连接高速相机和主机。
1Gbps = 1000Mbps; 8bit=1Byte,所以,1000Mbps/8 = 125MBps = 125MB/s。 USB3.0: 5GBPS ==> 625MB/s。
关于CoaXPress,还要注意一下几点:它是同轴电缆的接口,需要安装额外的采集卡。深层原因是,大数据量的传输和处理比较耗CPU,而单独使用采集卡,可以减轻CPU的负载,且采集卡能够高效处理大吞吐量数据。将采集卡连接到PCIe。
在很多资料或文献说法中,经常提到曝光Exposure,快门Shutter等名词,有时候也用积分时间来描述,积分时间:电信号脉冲的宽度,来控制传感器的光积分(曝光)时间。所以,曝光也叫积分,曝光时间越长,元件积分时间越久,成像的图像亮度也越亮。
1. 什么是CoaXPress?
2. 镜头选型工具
3. 相机/视觉/接口/采集卡部件分析
4. 相机帧率计算
5. GigE千兆网分析
6. 各种工业相机介绍
如果有用,记得点赞加收藏哦。!!!!