1. 相机成像原理
相机成像原理如图所示:
注:
- 当物距为无穷远时,像距等于焦距,成像在焦平面上;
- 当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像;
- 当物距等于两倍焦距时,像距与物距相等,此时物像等大;
- 当物距小于两倍焦距并大于焦距时,像距大于两倍焦距,成放大的实像;
- 当物距等于焦距时,像距为无穷大,物上的光线经透镜后为平行光线,不成像;
- 当物距小于焦距时,像距为负值,即在物的同侧成虚像。
2. 相机参数说明
2.1 感光芯片
-
快门(控制曝光时间)
常见的电子快门的方式有全局快门(Global shutter
)和卷帘快门(rolling shutter
)两种,
全局快门是曝光时,传感器上所有像素在同一时刻开启曝光并在同一时刻曝光结束,将物体某时刻的状态成像,对运动物体而言类似将运动物体冻结了,所以适合拍摄高速运动的物体。卷帘快门是逐行顺序开启曝光,不同行间曝光的开启时刻有个很小的延迟,所以不适合运动物体的拍摄,包括飞拍。
如果相机的曝光时间过长,就会使速度快的运动物体变模糊。对于运动物体来说,快门时间越短,所获取的图像越精确,即越不模糊,但过短的曝光时间会需要光照强度大大提高,给光照技术带来很大的困难,所以应选择合适的快门时间。 -
曝光
工业相机工作过程中曝光(Exposure)是图像传感器进行感光的过程。在曝光过程中,CCD/CMOS收集光子并转换成电荷,也就是电荷的积累。曝光时间是指相机从快门打开到关闭的时间间隔,曝光时间短,电荷积累的就少;曝光结束后,CCD/CMOS通过一定的方式将电荷移出,从光曝光对照片质量的影响很大,如果曝光过度,则照片过亮,失去图像细节;如果曝光不足,则照片过暗,同样会失去图像细节。控制曝光就是控制总的光通量,也就是曝光过程中到达CCD/CMOS表面的光子的总和。 在不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间的增加,噪音也会积累, 曝光补偿就是增加拍摄时的曝光量。总之,曝光即曝光时间控制,控制感光元件上总的光通量。曝光越大,光通量越大。
影响曝光的因素有三个:
①光圈。快门速度和光圈大小是互补的。比如,为了获得合适的亮度,需要对两者进行联动调节,可采用高速快门配合大光圈以得到一定亮度,同样也可采用低速快门配合小光圈来获得同样的亮度。
②光圈控制光线进入的通路的大小,光圈越大,则单位时间的光通量越大,光圈越小,则单位时间的光通量越小。
③曝光时间。也就是快门速度。 -
增益
增益一般只是在信号弱,但不想增加曝光时间的情况下使用,一般相机增益都产生很大噪音。曝光时间短,CCD/CMOS上电荷的积累就少,这时候就需要增益加强;反之,增益要减弱。
总结:增益控制感光灵敏度,高增益代表高灵敏度,对低光照越灵敏,可以增加昏暗图像的亮度和对比度,提高成像质量。但同时也会对噪声进行发大,降低信噪比。 -
感光芯片类型:CCD芯片和CMOS芯片
CCD(电荷耦合器件)芯片和CMOS(互补金属氧化物半导体)芯片都将光信号(光子)转换成电子信号(电子)。这两种芯片的主要差异在于其底层技术设置。
如果拍摄目标是静态不动的,为了节约成本,可使用考虑CMOS相机,而如果目标是运动的,则优先考虑CCD相机。如果是需要高速采集的,这里指的高速是很高的采集速度,而非指很高的运动速度,可以考虑CMOS相机,因为CMOS的采集速度会优于CCD。如果需要高质量的图像,如进行尺寸测量,可以考虑CCD,在小尺寸的传感器里,CCD的成像质量还是要优于CMOS的。 -
感光芯片尺寸(靶面尺寸)
描述放大倍率及镜头像面尺寸时,都会涉及到工业相机芯片,通常相机厂商用英寸来计量相机芯片尺寸,但在实际计算过程中,我们需要将芯片各边长度的单位换算成mm
。
因为同样标注的靶面大小,长宽比也可能会不一样,所以我们在看到相机靶面型号时,需要手动计算一下靶面的宽高:
-
分辨率
相机的传感器sensor是有许多像素点按照矩阵的形式排列而成,分辨率就是以水平方向和垂直方向的像素来表示的。分辨率越高,成像后的图像像素数就越高,图像就越清晰。
例如:一个相机的分辨率是1280(H) × 1024(V),表示每行的像元数量是1280,每列的像元数量是1024,此相机的分辨率是130万像素。在对同样大小的视场成像时,分辨率越高,对细节的展示越明显。常用的工业面阵相机分辨率有:
640 *480 —— 30万像素;1280 *960 —— 130万像素;1440 *1080 —— 160万像素;
1600 *1200 —— 200万像素;1920 *1080 —— 300万像素;2590 *1940 —— 500万像素等。
对于线阵相机而言,分辨率就是传感器水平方向上的像素数,常见有1K、2K、6K等。
在相机分辨率的选型上,要根据我们的项目需求而定,并不一定是分辨率越高就越好,分辨率高带来的图像数据量就大,后期的算法处理复杂度就高,而且一般分辨率大的相机,帧率一般都不会太高。 -
像元/像素尺寸:像元尺寸就是每个像素的面积。单个像素面积小,单位面积内的像素数量多,相机的分辨率增加,有利于对细小缺陷的检测和增大检测视场。随着像素面积的缩小,满阱能力(每个像素能够储存的电荷数量)也随之减小,造成相机动态范围的降低。
像元尺寸 = 感光器芯片尺寸 / 像素个数(分辨率)。例如,相机感光芯片尺寸为:5 mm x 3.7 mm,分辨率为1440 px * 1080 px,则相机的像元尺寸为(5/1440) x (3.7/1080)mm = 3.45 µm x 3.45 µm。 -
帧率
帧率是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数,简称:FPS或“赫兹”(Hz) 。相机的帧率决定着设备的测量效率,如相机的帧率是30FPS,则每秒钟最多拍摄30次。而如果相机的速度是120FPS,如果算法够快,那么每秒钟最多检测120个产品。换句话说也就是相机的帧率影响相机拍照出图的快慢,飞拍高速运行,一般需要高帧率相机。
2.2 相机数据
-
相机常用接口
GIGE千兆网接口(√):
千兆网接口的工业相机,是近几年市场应用的重点。使用方便,连接到千兆网卡上,即能正常工作。设置好巨型帧参数,可以达到更理想的效果。可多台同时使用,CPU占用率小。
USB3.0接口(√): 速度快但距离短,理论速度极限大约为500MB/s,但是其传输距离短,超过3米就要用质量很高的线,超过5米,基本就不能使用了。
USB2.0接口: 这个优点也就是成本低了,但是速度慢而且不稳定。之前用过2.0接口的相机,在Linux下运动拍摄时,没有规律的就断了,驱动和软件都检查了挺长时间, 后来猜测是端口供电和传输限制之类的问题,果然换个新配的电脑就没问题了。而且也听专业人士说过2.0相机的稳定性问题,静态拍摄应该会好一点。
Camera Link接口: 速度超快,大约是USB3.0的两倍,而且高像素下支持的帧率更快,但是要额外购买图像采集卡,基本要1w左右,成本是个问题。 -
像素位深/深度
像素深度是指每个像素用多少比特位表示。通常,每个像素的比特位数多,表达图像细节的能力强,这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般像素深度有1位、8位、16位、24位和32位。
1位像素深度就是有二进制来表示,也叫单色显示。
8位像素深度是最常见的,用8个二进制位来表示颜色,能表示256种颜色,这种就是常说的灰度显示。
16位是用16个二进制位来表示,能表示65536种颜色,这时就可以彩色显示啦。
24位和31位则表达的颜色信息就会更加的丰富。
分辨率和像素深度共同决定了图像的内参大小。例如,对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。 -
和镜头的接口:在选型时一定要考虑相机与镜头的接口对应问题,相机与镜头的接口必须保证一致,不然就无法安装。C型接口的后截距为17.5mm,CS型接口的后截距为12.5mm。因此CS型接口的工业相机使用C口镜头时需要加一个5mm的接圈。C型接口的工业相机不能用CS口的镜头。
F接口镜头是尼康镜头的接口标准,所以又称尼康口,也是工业工业相机中常用的类型,一般工业相机靶面大于1英寸时需用F口的镜头。
V接口镜头是著名的专业镜头品牌Schneider(施奈德)镜头所主要使用的标准,一般也用于工业相机靶面较大或特殊用途的镜头。 -
白平衡:平衡RGB三个通道的亮度值,使图像达到一个比较好的亮度情况,当打光不太好的时候,使用白平衡,可以改善图像亮度不均匀情况,对应halcon算子是equ_hiso_image——直方图均衡化
-
拖影:拍摄运动图像时,同一物体,在图片上重复成像的现象。
如何计算曝光时间,保证运动物体不产生拖影:
在拍摄高速运动物体的场合,选择帧曝光的相机后,还需要计算相机的曝光时间,以使图像不产生拖影,理论的计算原则是:运动物体在相机芯片上所成的像,在曝光时间内,移动的距离不超过一个像元尺寸。
例如:物体运动速度是150mm/s,沿芯片水平方向运动,相机是1/2”芯片(6.4mm×4.8mm),分辨率为1280*1024
视场水平方向长度是20mm,像元尺寸是4.8μm,计算成像时不产生拖影的曝光时间。
首先计算出像的运动速度,放大倍数为6.4mm/20mm=0.32,所以像的运动速度是0.32×150 mm/s=48mm/s;
根据计算原则,(曝光时间)×48mm/s=4.8μm,所以曝光时间为0.0001s,曝光时间设置为100µs即可。 -
相机的触发方式:包括连续采集模式,软件触发(软件控制)、硬件触发(传感器/机械开关控制)。