谈PCbased架构的线扫描Linescan影像检测系统from凌华.docx
《谈PCbased架构的线扫描Linescan影像检测系统from凌华.docx》由会员分享,可在线阅读,更多相关《谈PCbased架构的线扫描Linescan影像检测系统from凌华.docx(16页珍藏版)》请在冰豆网上搜索。
谈PCbased架构的线扫描Linescan影像检测系统from凌华
技术论坛
谈PC-based架构的线扫描(Line-scan)影像检测系统
文/凌华科技自动化产品事业部 黄卿铭
机械视觉应用在各种产业的生产制造及质量检测已是行之有年,利用机械视觉可以提升检测精度或加速生产速度因此逐渐变成是许多生产检测设备必备的一环.目前市面上的影像检测系统大多采用面扫描(Area-scan)的摄影机进行影像的撷取及分析,但是随着产品尺寸的加大(例如:
PCB,LCD面板,晶圆),提高产能及精度的要求下,面扫描摄影机的分辨率及取像速度无法满足这些要求的事实开始浮上?
面,而系统业者也开始意识到线扫描(Line-scan)摄影机的分辨率及取像速度才能满足这些时势所驱的产业需求.
但是线扫描的检测系统是必需利用运动速度才能取得面积影像,而这跟面扫描的影像检测系统只要单纯的曝光即可取得面积影像的工作原理是完全不同的,因此对于许多原本熟知面扫描影像检测系统的设计者而言,要跨入线扫描影像检测系统除了要暸解线扫描系统的工作原理及如何选择主要组件外,最重要也最基本的还是如何得到正确且等比例的线扫描影像.
线扫描影像检测系统架构及主要组件:
目前线扫描系统架构除了控制的主机系统及机构外,主要组件分为视觉及运动控制两大主轴.
视觉主要组件包括:
线性扫描(Line-scan)摄影机,镜头(Lens),灯源(Lighting),影像采集卡(FrameGrabber).
运动控制的部份则可能包括:
马达,马达驱动器,运动控制卡或PLC,有时会搭配传感器(Sensor)或位置比对器作对象到位侦测辅助.
就控制主机系统来说除了运动控制外,主要的工作内容可能就是在于影像数据的撷取及运算,而这部份大概就已经占据系统绝大部份的资源及运算能力,就目前市面上的线扫描影像检测系统而言,许多大型线扫描系统甚至是一台系统机去专门处理一台高解析线扫描摄影机撷取的数据量,以满足客户对整个系统检测运算的时间及精度需求.当然这只是其中一种应用架构上的规划方式,而对于线扫描可以应用的检测范围日益广泛的趋势下,各种应用对于系统的规划以及主要组件的挑选都会有所差异,因此笔者针对目前市面上的线扫描主要组件以及如何取到正确且等比例的线扫描影像概略的作了些整理,提供有趣兴或刚开始接触线性扫描系统的用户作为参考.
线扫描摄影机(Line-scanCamera)
目前市面上的Line-scanCamera分辨率从512,1024,2048,4096,8192,12288画素(pixels)都有,通常刚开始接触线扫描系统的用户在挑选Line-scanCamera时,大多只注意到分辨率是否能够符合系统的目标精度需求,而忽略了Line-scanCamera本身的接口规格会影响影像采集卡的选择性,另外Camera的设计特性究竟适不适合系统的需求,Line-scanCamera的扫描频率(Line-Rate)的计算方式以及为什么有些Line-scanCamera它可以扫描的速度可以提升四倍甚至是八倍?
以下是笔者略作整理的资料
1.数据接口
目前数字工业摄影机及影像采集卡的数据接口标准包括:
RS-422,RS-644或称LVDS(LowVoltageDifferentialSignaling),ChannelLink及CameraLink这几种.
▪RS-422及RS-644(LVDS)的接口出现的较早,由于数据格式的特性因此讯号的接口接头通常是68pin或100pin的高密度接头,但因为摄影机厂商定义的讯号接脚不尽相同而影像卡厂商各家的定义也不太一样,因此在选择好Camera及影像卡之后不概也不太会想要轻易去变更(想想看要去接68pin或100pin的讯号线,换个可能就代表讯号线要重作或要再作个讯号转接板才行).
▪ChannelLink的接口原本是用来作数字平面显示器数据传输的标准(本身讯号格式也是LVDS),特性在于接口接脚减少了但是仍然可以传输大量的数字数据,而它其实也就是CameraLink标准的前身因此数据格式也就与CameraLink兼容,差异在于由于当时并未定义出标准接头形式,因此各家厂商仍采用不同型式的接头接口,讯号线仍然必需定制.
▪CameraLink的标准是由数家工业摄影机及影像卡大厂共同制定出来的,标准的本身是基于ChannelLink的特性,并定义出标准的接头也就是讯号线也标准化了,让Camera及影像卡的讯号传输更简单化了,同时定义出基本架构(BaseConfiguration),中阶架构(MediumConfiguration),及完整架构(FullConfiguration)的讯号接脚规范以及传输数据量.
2.Line-scanCamera的数据输出形式
目前的Line-scanCamera撇开分辨率不谈,通常Line-scanCamera本身的数据产生频率都不会大于60MHz,也许你会怀疑那么为什么有的机种可以到80MHz,160MHz甚至是320MHz呢?
其主要的原理是利用多重输出的方式去加速取像速度,而目前市面上一般的Line-scanCamera输出方式有单输出(SingleTap),双输出(DualTaps),三输出(TripleTaps),四输出(QuadTaps)及八输出(OctalTaps)这几种.
单输出(SingleTap)
通常是在低解析或低速的Line-scanCamera上的设计,它的特性是整个线性CCD的每个光电二极管在感光后即将光转成电荷讯号透过单一输出将数据传递出去.LineRate=CameraDataClock/CameraPixels
双输出(DualTaps)-奇偶输出
通常是在高解析或为了提高Line-scanCamera传输速度的设计,它的特性是整个线性CCD的每个光电二极管在感光后分成奇数及偶数将光转成电荷讯号分成两组将数据传递出去.
LineRate=(CameraDataClock/CameraPixels)x2
要是不小心设定成单输出时的影像,就会如同右下图所示影像会有垂直的空隙,影像在放大时便会发现pixel跟pixel中间的黑色影像其实数据都是空的.
双输出(DualTaps)-前后段输出
设计目的与上面的双输出是大致相同的,主要的差异在于它是将整个线性CCD的每个光电二极管在感光后分成前半段及后半段将光转成电荷讯号分成两组将数据传递出去.
LineRate=(CameraDataClock/CameraPixels)x2
要是不小心设定成单输出时的影像,就会如同右下图所示影像只有一半,另一半变成是黑色资料都是空的
三输出(TripleTaps)
通常是用在R,G,B三CCD的Line-scanCamera,棱镜会依据光谱的波长特性(红光波长最长,再来是绿光,再来是蓝光)而分别将光线投射至红,绿,蓝三组CCD,而每个CCD也将会各别将光转成电荷讯号作输出
虽然3CCD各别有独立的DataClock,但是因为必需要R,G,B的数据组合在一起才会变成线性的彩色影像,所以实际速度并没有因为每个CCD有独立的DataClock而加快
LineRate=3xCameraDataClock/CameraPixels/3
四输出(QuadTaps)
通常是在高解析或为了提高Line-scanCamera传输速度的设计,结合了双输出的奇偶输出加上前后段输出的特性分成四组,让取像速度加快变成四倍
LineRate=(CameraDataClock/CameraPixels)x4
八输出(OctalTaps)
目前这类的设计是出现在超高分辨率(例如:
12288pixel)的机种上,除了分出前后段并且各分出四组输出,因此取像速度可以提高成八倍而不会因为分辨率很高而让线周期(LinePeriod)拖太长.
LineRate=(CameraDataClock/CameraPixels)x8
另外市面上还有一种TDI(TimingDelayIntegration)型式的Line-scanCamera,大致工作原理如下:
TDILine-scanCamera
它的CCD结构上较为特殊,并非是单排的光电二极管而是96排的光电二极管下去一起感光作用,也就是同样的一次曝光时间下,它会累积96排光电二极管的光量去转换成电荷讯号之后再传输出去,由于累积的亮度较一般Line-scancamera来得高,故较适合应用在光线较暗无法提供充足亮度的系统上.但是这种TDI的型式十分注重取像频率及运动速度的一致性,要是运动速度不稳的状况下取像出来会有模糊的情形
3.Line-scanCamera的同步及曝光模式
目前Line-scanCamera具备了下列内同步及外同步的取像模式.
FreeRunMode-通常又称内同步(SynchronizationMode)模式,摄影机厂商在出厂时都会设定为此模式因此又有人称之为FactoryMode,这种同步模式是依照Camera本身内部产生的时序去作曝光取像,因此这种同步模式运作下影像卡无法主导Camera取像的时间点,因此影像卡是处于被动接收数据的角色.而内同步模式取像的曝光模式又可以分为Edge-controlledMode及ProgrammableMode.
FreeRun,Edge-controlledMode
曝光时间与线周期时间相等,由一组内部控制讯号产生一个上升方波作为开始曝光取像讯号,直到下一条线周期的上升方波讯号进来时便将影像送出
FreeRun,ProgrammableMode
在内部控制讯号产生一个方波,当方波下降时即开始作曝光取像,此为缩短曝光时间的模式(一般可以透过Camera设定工具达成),但是线周期时间还是维持不变.
ExSync.Mode-即是所谓的外同步(ExternalSynchronizationMode)模式,Camera本身并不会主动产生时序去作曝光取像,而是透过影像卡传送Reset讯号去通知Camera作曝光取像,外同步模式取像的曝光模式又可分为Edge-controlledMode,Level-controlledMode及ProgrammableMode.
ExSync.,Edge-controlledMode
由外部送来的讯号作为同步触发讯号,主要是取上升方波作为开始曝光取像讯号,由外同步讯号的周期时间决定曝光取像时间及线周期.
ExSync.,Level-controlledMode
由外部送来的讯号作为同步触发讯号,主要是取方波下降时作为开始曝光取像,但整个线周期时间还是由外同步讯号周期时间决定.
ExSync.,ProgrammableMode
由外部送来的讯号作为同步触发讯号,但此上升方波仅作为开始曝光的决定讯号,曝光时间长短可由使用者设定,同时此设定的曝光时间也决定线周期时间.
4.Line-scanCamera的扫描频率计算方式
Line-scanCamera的扫描频率的计算方式如下,主要是Camera的数据产生频率(DataClock)及分辨率的对应关系.
扫描频率(LineRate)=Camera数据产生频率/Camera分辨率
Ex.LineRate=40MHz/8192pixels≒4.8KHz(有时厂商订的规格数据会比计算量低,但还是需以厂商订定为准)
也就是说这台Camera最高速度可以每秒取得大约4800条8192pixels的线性影像数据
线周期(LinePeriod)=1/LineRate,也就是上述规格的摄影机每扫描一条线至少需要花费208us左右.
5.如何计算线性扫描(Line-scan)摄影机的可视范围(FOV,FieldofView)
可视范围(FOV)=Pixelcellsizex多少个pixelsx工作距离/镜头焦距(FocalLength)
Ex.FOV=10umx2048pixelsx160mm/55mm=59.578mm.
Line-scanCamera由于CCDsensor的制程不一样或分辨率不一样,因此每颗CCD上的光电二极管(Photodiode)也就是所谓的每个pixel的尺寸大小不一定相同,也就是说就算是同样选择2048pixels的Line-scanCamera,假若A公司用的CCDSensor的Pixelcell的尺寸为10um,但B公司用的CCDSensor的pixelcell为7um,那么就算是同样的工作距离及同样的FocalLength条件下,两家公司的CameraFOV仍然是不相等.
影像采集卡的选择
Line-scanCamera由于取像数据量大因此多为数字式,目前影像采集卡主要就是以DSP架构跟非DSP架构两大主流.DSP架构的影像采集卡一般价格较高,但是通常它在取得影像之后即可透过DSP先行将影像作前处理(例如:
白平衡,转换对照表(LUT,Look-upTable),滤镜(Filter)处理,遮光校正(ShadingCorrection),甚至是扫描延迟补偿(Scan-delaycompensation),功能依据不同影像卡厂商设计提供而有所差异)因此较为节省系统的后段计算处理时间.至于非DSP架构的影像卡则主要以快速取像为主大多具备DMA(DirectMemoryAccess)功能以取得较大的内存避免数据遗失(当然DSP卡大部份也会具备这个功能,但是DSP卡去执行DMA的动作时影像大多已经过前处理而非原始数据),之后再以编程方式由CPU去计算处理,虽然DSP架构可以作影像前处理节省系统时间,但由于影像卡厂商大多不开放给使用者自行更改,故在价格及功能弹性上的考虑而言国内市场使用者还是以非DSP架构居多.
此外,在选择影像卡时系统取像的最大可能数据量及数据接口也是考虑因素的一部份,以资料量来说目前市面上的影像采集卡多为32-bit,33MHz或64-bit,66MHz的PCIbus接口,在选择影像卡时必需要先计算取像时的最大可能数据量,同时必需考虑同一系统上其它控制卡的数据量会占多少带宽,最常被忽略的就是网络传输端口本身也是占用PCI带宽的一份子,因此最好保持PCIBus带宽的充裕性,再不然就是选择影像采集卡本身有内建内存的规格以确保不会因为带宽不够而导致数据遗失的状况.
前面有提到Line-scanCamera数据接口目前有分RS-422,RS-644(LVDS),ChannelLink及CameraLink的格式,基本上RS-422及RS-644(LVDS)的数据格式完全不一样故影像采集卡也各自独立;但是ChannelLink及CameraLink的数据格式则完全兼容,故一般选用CameraLink规格接口的影像采集卡即可.如前面提到的CameraLink有区分:
基本架构(BaseConfiguration),中阶架构(MediumConfiguration),及完整架构(FullConfiguration),每个架构除了传输资料量不同外,对于可以支持的CameraLink摄影机输出模式也有定义如下:
因此在选择CameraLink影像卡时需考虑其架构规格是否能支持前端的摄影机输出模式.
光源的选择
在选择辅助光源时,切勿将区域扫描(Area-scan)用的交流电(ACPower)光源在线性扫描(Line-scan)上,线性扫描应该选用交流电(DCPower)光源作为辅助,以下是简单的介绍有关摄影机曝光成像时间与光源频率之间的互动关系.
1.图4-1所示为一般区域扫描(Area-scan)摄影机(取像速度大约在30fps)在一般室内日光灯源(交流电源,频率为60Hz)下的示波器取像讯号.日光灯的闪烁速率对这样的摄影机的曝光时间而言,并不会有太大影响,使用者仍然可以取得亮度均匀的影像.
2.图4-2所示为将区域扫描摄影机的快门调快,这也就会造成曝光时间变短,这时候摄影机明显受到日光灯的闪烁速率所影响,在光线闪烁的亮暗之间取像出来的影像也会出现忽明忽暗的情形.
3.线性扫描的曝光时间通常都是在Micro-second等级,因此假若是使用日光灯源用在线性扫描摄影机上,那么呈现出来的影像就会如同图4-3的影像一样,会出现周期性的亮暗不均影像.
除了交流电的光源闪烁速率问题外,另外光源的选择及使用上还有下列几点注意事项:
1.光源的色温-
只要是彩色取像对色纯度有绝对的要求时,那么不论是Area-scan还是Line-scan的摄影机在选择灯源上都应选用白光,偏黄或偏其它颜色的光源都会导致色偏的问题.另外表面易有反射的待测物体应使用波长较长的偏红光源或冷光灯源,波长较短的白光(例如:
同轴落射光源或金属灯源)易让反射问题更严重.
2.光源的均匀度-
Line-scanCamera故名思义它的感光区域只有在那细细的一条CCD区域上,因此较适合使用线性灯源例如:
高周波荧光灯管或加光纤导管的线性灯源(建议在线性导光管前面加上聚光镜,可以强化光的强度避免光线散开同时可以延长灯源的寿命),至于Area-scan常会使用的LED灯源通常会作一些外缘形状的排列(例如:
环形或矩形),同时当排列角度及安装位置或距离不一样时,LED所交错出来的光源强度及位置也会有所不同,因此不建议使用在Line-scanCamera取像辅助.
3.灯源的生命周期-
一般的灯泡或灯管都会有生命周期从数千小时到上万小时的都有,在使用上要注意何时应更换灯泡或灯管,依据特性不一样例如:
卤素灯源在生命周期的末期是亮度渐渐变暗,但是有些金属灯源例如:
金属卤素(MetalHalid)或氙气(Xenon)灯泡到生命周期末则可能是突然完全不亮,因此在选择及使用上时都应注意灯源的生命周期以避免影响系统的取像运作.
4.光源的架设位置-
线扫描的光源架设位置主要是以Line-scanCamera的CCD可以感光的区域为主,但是依据待测物体的材质特性则架设位置也会有所不同,例如:
透明的玻璃或压克力材质其光源可采用背光位置,至于不透明材质则可以由上或侧边投射光源,但最好在设计机构时注意一下灯源的投射角度及范围是否提供CCD足够且均匀的光线.
镜头的选择
一般在选择镜头时可以看到镜头规格标示例如:
55mm/f2.8,前面的55mm即代表了焦距(FocalLength),而后面的f2.8则代表最大光圈(MaximumAperture,数字越小入光量越大),焦距长就代表景深越深(可以看的范围也会加大)但同时入光量也会越小,所以必需尽量选择入光量较大的规格为佳.目前市面上的镜头以C-Mount及CS-Mount接环规格的镜头种类及规格型式最齐全,因为大多数从监控保全摄影机到工业级模拟摄影机大多设计这两种接环规格(C-Mount跟CS-Mount的差异在于背焦距离不一样,背焦距离是由CCDSensor表面至镜头接环口平面之间的距离,C-Mount的背焦距离是12.52mm,CS-Mount则是17.52mm),但是就Line-scanCamera而言通常只要分辨率大于2048pixels(含)以上,摄影机厂商便会将接环设计成F-Mount(背焦距离为12mm),主要的原因在于C-Mount跟CS-Mount的接环内径大约只有26mm,而接环内径再扣掉镜头的外壳实际入光的内径范围顶多20mm,再加上光线进入到变焦镜头时CCD通常以中心地区的感光最好外缘感光最差,有些2048pixels的摄影机虽然提供C-Mount接环让使用者更容易选购镜头,但取像后外缘影像亮度通常会比较暗造成影像亮度不均的情形,因此对于2048pixels以上的Line-scanCamera来说采用F-Mount(接环内径约43mm)镜头较佳,但F-mount规格的镜头多设计用于单眼摄影像机用途,故规格不若C-Mount及CS-Mount镜头来得多样化同时价格上较高.另外像超高分辨率例如:
8196pixels或12288pixels的Line-scancamera通常除了特制接环的镜头规格外,部份厂商仍以提供F-Mount规格但提供软件的遮光校正(ShadingCorrection)功能去解决影像亮度外缘不均的问题.
运动控制的种类与特性
PLCvs.PCBased
运动控制以PLC起源较早,而PC-based的运动控制是近十年的趋势,但是早期使用惯PLC的系统设计者很难快速的由PLC转移到PC-based上,主要的原因是硬件的控制架构及编程的逻辑与接口几乎是完全不同,因此至今PLC仍维持一定的使用族群及市占率.但就实务面上而言,建立一套线性扫描的影像系统它的运动控制究竟是PC-based还是PLC较为合适,以下讯息可以提供作为参考.
PLC架构本身是透串行讯号(RS-232或RS-485)下达运动速度位置等指令,这种架构在作Area-scan的影像系统搭配上问题不大,但是一旦应用在Line-scan的影像系统时,由于Line-scan对于每条Line的触发取像位置要求十分高,再加上Encoder上的讯号都为相位讯号(ABphase)无法直接用来作触发讯号,因此需要使用桥接接口的转换后再将讯号送给图像处理平台,常见有下列几种方式.
▪外加一台计算机上面加一片位置比对卡接收Encoder的讯号加以编译
▪在Encoder外面再加一组转换模块转成TTL或LVDS讯号
▪外挂一台位置比对器(价格贵,少见)或光学尺
▪或其它桥接模式
尽管有上述的方式可以去作到位置比对,但是毕竟是透过桥接而取得,因此遇到高速取像时讯号遗失的机会便非常高.
PC-based架构是利用运动控制卡送出指令脉冲(CommandPulse)去下达位置及速度,并透过Encoder传回马达的反馈脉冲(FeedbackPulse),同时可以在行进过程中进行位置比对功能(部份运动控制卡并不具备这类功能),并且在到位之后送出TTL或LVDS的到位讯号作为外同步偶触发或连续触发讯号去触发Line-scanCamera取像,由于无需经过桥接接口的转换因此可让Line-scan的每条Li