个人分类: 计算机视觉
线阵相机顾名思义就是取像是成线性的。 它的传感器是成线型的。
举个例子: 比如面阵相机的分辨率是640*480就是说这个相机横向有640个像元,纵向有480个像元。
而线阵相机分辨率只体现在横向,比如2048像素的线阵相机就是说横向有2048个像元,纵向大多数为1。(RGB相机和TDI相机除外)
70年代大多数使用的是MOS,而从70年代末CCD开始迅速发展,一直到现在也是主流,CMOS大概是在80年代中期开始出现的,但是随着技术的发展CCD的取像速度要低于CMOS,而且直到2010年以前CMOS的传感器价格要高于CCD,从2010年以后几家主要的相机制造商都已经大力开发CMOS的相机了,并且也得到了不少的实际应用。
鄙人认为,以后的线阵相机主流将是CMOS的传感器。(这两种传感器的优缺点大家可以到网上找,主要是取像速度和敏感度的差异)
线阵相机的几个重要参数:
resolution: 像素数, 传感器上有多少个像元。
MAX DATA RATE(应该叫相机时钟吧): 意思是相机每秒可以采取最大的数据量
Linerate 行频: 意思是每秒钟相机最大可以采取多少行影像
比如像素为8192*1, data rate为160Mhz, 那么此相机的行频就是160M/8192= 19000line/sec
每秒钟最大可以取像19000行,横向为8192pixel,纵向为19000pixel, 1秒钟取得的这幅图像大小大概为160M
还有就是像元的大小和镜头的尺寸。一般ccd的像元大小最小为5um,再小好像做不出来,而且感光度也差,cmos的像元可以比ccd小近一倍。
相机的选择十分重要,直接关系到整体设备的成本,像素多就要采用大的镜头,数据量大就要采用传输率大的数据线,还需要图像处理卡,数据量大对运算要求也高,对计算机的要求也高。
还是以目前的主流CCD相机为例子吧,由于相机的取像速度有限,一般每个tap最多能取得60M的数据,所以目前告诉的相机都采用多tap的处理方式,一般每个tap为40M,拿160M的相机为例就是有4个tap ,每个tap的取像为40M,40M*4=160Mhz, 当然也有single-tap(1), dual-tap(2), triple-tap(3),
octal-tap(8) 之分,目前ccd的取像速度都低于400M, 而cmos目前最高可以到1.6Ghz(以后可能会更高)
相机的输出方式也有多种,8bit,10bit,12bit, 我主要了解的就是8bit 黑白256进制影像。
有single输出,取像时1,2,3,~8192,有双输出,1,3,5,7/ 2,4,6,8, 也有1,3,5~4095/ 4097,4099~8191
这里的输出方式可以大概了解下(一般使用默认值对取像不会造成影响)
线阵相机主要接口还是以GiGe和cameralink为主流,高速的相机需要用HSlink.
相机主要的几个设定有exposre,gain, 还有内触发/外触发模式,不常用的当然也有很多如平均影像灰度,offset设定等等。
exposure , 这个设定和相机的行频有直接关联,此设定必须低于可以采取的最大行频。
比如刚才的19000行的相机,如果想采取19000行的话,设定为1sec/19000=
53us 这里还有一些延迟在里面,设定在47us左右才可以采集最大的行频。 (表达不清楚,烦)
此数值越低,获取的影像越暗,反之越亮。
gain/offset, 调整取得影像的灰度,在照明亮度不够时可以使用,但是使用后会导致影像的鲜明度下降,对分析影像时会造成一些影像,我不建议使用,即使使用也不要超过默认值的20%
还有一些其他的设定可以参照相机的说明书。
线阵相机的应用领域,主要为连续的生产线(web),比如钢铁冶金,有色金属,电子素材,纺织,造纸,LCD等等,也可以说面阵相机可以应用的领域线阵相机也都可以完成,但是就是成本问题了。
我举一个实例说明吧, 这里先举一个单目相机实例。
电子铜带的表面缺陷检测设备
电子铜带宽度450mm, 生产线速度120米每分,需要检测最小缺陷为0.2mm
那么在选型的时候就可以考虑 4096像素的线阵相机,这样使用普通F口的镜头,横向分辨率大概是0.11mm,可以检测出最小0.2mm的缺陷了,那么纵向怎么选择呢? 120米每分=2米每秒=2000mm每秒
如果让横向纵向分辨率都一致的话 应该是2000mm/ 0.11=
18180line 相机需要每秒采取18180行才可以完成对产品的全幅取像。 这样 我们可以选择 4096像素,行频为19000的相机了。这种参数的相机可以对产品全幅取像。
刚才群友 上海-Alex-VC问 会不会出现一秒钟扫的全是同一行的现象出现。
使用外触发就不会。
外触发意思是,外部给相机一个pulse,相机就扫描一行。生产线速度快,扫描频率就高,反之则低。
外触发主要有编码器来实现(有点扯远了,到编码器了), 编码器主要有2种,一种为固定pulse(比如1mm就是1pulse,不变),一种为转一圈为固定pulse, 编码器的输出信号也有多种,例如linediver等, 相机获取的信号种类也有多种,如ttl, lvds,differetion,等。
还拿电子铜带举例吧,这里我们使用固定的pulse编码器,每1mm发生1pulse,
那么就是说相机每1mm扫描一次取一次影像,这样的话横向分辨率是0.11mm, 纵向是1mm了,整体影像变形就不好了。有2种方案解决,1是选择编码器的时候尽量选择和行频一样的编码器,2是通过相机的设定来改变行频。
各种相机都含有convert模式,意思是对收到的pulse进行转换,转换成需要的数值,如果将横向和纵向都变成0.11mm的话,就增加9倍就可以了,相机每收到1pulse自动连续扫描9次,那么每一行的分辨率就是1mm/9=0.11mm,
这样横向和纵向的分辨率就一致了。
比如刚才的1mm发生1pulse, 相机得到1pulse扫描9行的情况:
生产线为1米没秒的时候,相机扫描行数为1000mm/1*9=9000行每秒 , 生产线没进行1米,编码器发生1000pulse, 相机取像9000行,生产线为2米每秒的时候,相机扫描行数为2000mm/1*9=
18000行每秒,生产线每进行2米,编码器法师2000pulse, 相机取像18000行。 只要外触发设置好是不会出现连续在同一行扫描的情况。
这里又关系到了彩色相机,彩色相机是3线的,三线在同一行扫描,然后组合得到这一行的彩色影像。
还有TDI相机,有8行,16行,32行最高好像512行,就是在同一行取像,获得最佳影像,这种相机贵,对照明要求低,但是需要很高的datarate。
关于线线相机、镜头、光源的选型,欢迎来电探讨线扫描系统的搭建与选型
随着机器视觉的大规模普及与工业流水线速度、精度的提高,线扫描系统越来越被视觉工程师和最终用户所认可。
首先,我对线扫描系统做一个大致的介绍。线扫描系统用于被测物体和相机之间有相对运动的场合,通过线扫描相机高速采集,每次采集完一条线后正好运动到下一个单位长度,继续下一条线的采集,这样一段时间下来就拼成了一张二维的图片,也就类似于面阵相机采集到的图片,不同之处是高度可以无限长。接下来通过软件把这幅“无限长”的图片截成一定高度的图片,进行实时处理或放入缓存稍后进行处理。
视觉部分,包括线扫描相机,镜头,光源,图象采集卡和视觉软件;
运动控制部分,包括马达, 马达驱动器, 运动控制卡或PLC,为了保证采集的图象与输送带同步,有时还会需要编码器。
由于线扫描信息量大,所以需要一台高性能的工控机,配置大容量的内存和硬盘,主板要提供PCI、PCI-E或PCI-X插槽。
一般来说,一个面阵视觉系统的配置选型是按照这样的顺序进行的。:
相机+采集卡->镜头->光源
线阵项目也类似,根据系统的检测精度和速度要求,确定线阵CCD相机分辨率和行扫描速度,同时确定对应的采集卡,只是需要选线阵相机镜头接口(mount)时同时考虑镜头的选型,最后确定光源的选型。
线阵摄像机(线阵工业相机)的选型
计算分辩率:幅宽除以最小检测精度得出每行需要的像素
选定相机:幅宽除以像素数得出实际检测精度
每秒运动速度长度除以精度得出每秒扫描行数
根据以上数值选定相机
如幅宽为1600毫米、精度1毫米、运动速度22000mm/s
相机:1600/1=1600像素
最少2000像素,选定为2k相机
1600/2048=0.8实际精度
22000mm/0.8mm=27.5KHz
应选定相机为2048像素28kHz相机
线阵镜头的选型
为什么在选相机时要考虑镜头的选型呢?常见的线阵相机分辨率目前有1K,2K,4K,6K,7K,8K,12K几种,象素大小有5um,7um,10um,14um几种,这样芯片的大小从 10.240mm (1Kx10um) 到 86.016mm (12Kx7um)不等。很显然,C接口远远不能满足要求,因为C接口最大只能接 22 mm 的芯片,也就是1.3inch。而很多相机的接口为F,M42X1,M72X0.75等,不同的镜头接口对应不同的后背焦(Flange distance),也就决定了镜头的工作距离不一样。
光学放大倍率(β,Magnification)
确定了相机分辨率和像素大小,就可以计算出芯片尺寸(Sensor size);芯片尺寸除以视野范围(FOV)就等于光学放大倍率。β=CCD/FOV
接口(Mount):
主要有C、M42x1 、F、T2、Leica、M72x0.75等几种,确定了之后,就可知道对应接口的长度。
后背焦(Flange Distance)
后背焦指相机接口平面到芯片的距离,是一个非常重要的参数,由相机厂家根据自己的光路设计确定。不同厂家的相机,哪怕是接口一样,也可能有不同的后背焦。
有了光学放大倍率、接口、后背焦,就能计算出工作距离和节圈长度。选好这些之后,还有一个重要的环节,就是看MTF值是否足够好?很多视觉工程师不了解MTF,而对高端镜头来说就必须用MTF来衡量光学品质。MTF涵盖了对比度、分辨率、空间频率、色差等相当丰富的信息,并且非常详细地表达了镜头中心和边缘各处的光学质量。不仅只是工作距离、视野范围满足要求,边缘的对比度不够好,也要重新考虑是否选择更高分辨率的镜头。
(下图为一个典型的MTF表格,横坐标为像高,也就是到图像中心的距离除以图像半径的百分比;纵坐标为图像对比度。共有三组曲线,依次为三种不同分辨率的情况下的对比度,每一组又有实线和虚线,实线为半径方向的对比度,虚线为切线方向的对比度)
线扫描线阵光源的选型
线扫描项目中,常用的光源有LED光源、卤素灯(光纤光源)、高频荧光灯。
卤素灯也叫光纤光源,特点是亮度特别高,但缺点也很明显--寿命短,只有1000-2000小时左右,需要经常更换灯泡。发光源是卤素灯泡,通过一个专门的光学透镜和分光系统,最后通过光纤输出,光源功率很大,可高达250瓦。卤素灯还有一个名字叫冷光源,因为通过光纤传输之后,出光的这一头是不热的且色温稳定,适合用于对环境温度比较敏感的场合,比如二次元量测仪的照明。用于线扫描的卤素灯,常常在出光口加上玻璃聚光镜头,进一步聚焦提高光源亮度。对于较长的线光源,还用几组卤素光源同时为一根光纤提供照明。
高频荧光灯,发光原理和日光灯类似,只是灯管是工业级产品,特点是适合大面积照明,亮度较高,
成本低,但荧光灯最大的缺点是有闪烁、衰减速度快。荧光灯一定需要高频电源,也就是光源闪烁的频率远高于相机采集图象的频率(对线扫描相机来说就是行扫描频率),消除图像的闪烁。专用的高频电源可做到60KHz。
LED光源是目前主流的机器视觉光源。特点是寿命长,稳定性好,功耗非常小。
1,直流供电,无频闪。
2,专业的LED光源寿命非常长。(如美国AI的寿命50000小时亮度不小于50%)
3,亮度也非常高,接近卤素灯的亮度,并且随着LED工艺的改善不断提高。(目前美国AI线光源亮度高达90000LUX)
3,可以灵活地设计成不同结构的线光源,如直射、带聚光透镜、背光、同轴以及类似于碗状的漫反射线光源。
4,有多种颜色可选,包括红、绿、蓝、白,还有红外、紫外。针对不同被测物体的表面特征和材质,选用不同颜色也就是不同波长的光源,获得更佳的图像。
线扫描相机、光源与被测物体之间的角度分析
以玻璃检测为例,需要检测的缺陷有:脏点、结石、杂质、气泡、刮伤,裂纹,破损等,其大致可以分成两类,一类在玻璃表面的,一类是玻璃内部的。不同的缺陷,在图象中表现的出的灰度不一样,有黑的,有白的,也有灰的,并且在不同的光源照射角度或者相机接受角度,缺陷的对比度会变化,如在一个角度时,某一种缺陷的对比度最好,但其他缺陷可能比较次,甚至根本看不到。这样也就需要大量的分析、组合,才能确定最后的光源选型和相机、光源和被测物体之间的相对角度。如下图所示,相机、光源在不同角度安装,分别测试。
结果发现:
脏点,正面光源或背光都较容易凸现;
结石和杂质,需要正面接近法线的照明或背面穿透照明;
气泡,形状不固定,且要分析形成的原因以及方向,采用背面照明;
刮伤和破损,正面低角度照明容易凸现。
裂纹,需要背面侧照
而且,以上缺陷并不是独立的,而是互相影响。统计、分析如下。
综合以上因素,最后选用背光斜射和正面照射结合,相机接近法线方向安装。
光源、镜头的调试
线扫描系统,对光源和相机来说,有效的工作区域都是一个窄条。也就是保证光源照在这个最亮的窄条与相机芯片要完全平行,否则只能拍到相交叉的一个亮点。所以机械安装、调试是比较费工夫的。同时由于幅宽比较宽,对于线光源有两个特别的要求,就是均匀性和直线性。因为线光源不同位置的亮暗差异,会直接影响图象的亮度高低,这一点LED比卤素灯更好控制。出光部分的直线性,取决于LED发光角度的一致性、聚光透镜的直线性以及线光源外壳的直线性。
由于现场环境比较复杂,客户总是希望花多一些时间去现场调试。但如我们前面讲到的相机、光源、被测物体的相对角度测试、分析,许多因素会直接影响到检测效果。所以我们建议先做实验室测试,有了方案之后,再去现场调试,这样会最有把握,也能提高调试效率。毕竟服务也是一种成本。
线扫描系统除了机械结构之外, 其主要组成部分还包括机器视觉和运动控制。
要保证采集到的图像不被拉伸或者压缩,必须遵从一点,即“横向和纵向的分辨率相等”。
首先设定以下变量:
1)线阵相机的每线像素数(单位:pixel):Hc
2)目标物的宽幅(单位:m):Lo
3)目标物运行速率(单位:m/s):Vo
4)线阵相机线扫描速率(单位:Hz,即 线/s):Vc
5)扫描一帧图像目标物运行的时间(单位:s):To
6)扫描一帧图像线阵相机的扫描时间(单位:s):Tc
那么,
横向的分辨率为:Lo/ Hc,标定纸的值/单个相机像素(4096)
纵向分辨率为:( Vo* To ) / ( Vc* Tc ),速度/line值
很容易知道,To = Tc
根据“横向和纵向的分辨率相等”的原则,得到公式如下:
Lo/ Hc = Vo / Vc
则相机的线扫描速率为:
Vc = Hc * Vo / Lo