专利名称:基于cameralink相机的三维断面采集测量系统与方法
技术领域:
本发明涉及一种图像数据采集测量系统与方法,尤其涉及一种基于cameralink相机的三维断面采集测量系统与方法。
背景技术:
CameraLink标准打破了相机公司和采集卡公司各自为战的格局,该标准采用统一的物理接插件和线缆定义,规范了数字摄像机和图像采集卡之间的接口,其包含Base、Medium、Full三个规范,从而满足不同工业应用场合的需要。通常,普通速率的CameraLink相机的图像采集系统主要由高性能的计算机和CameraLink图像采集卡构成,CameraLink图像采集卡用于捕获相机输出的图像数据,并通过计算机的PCI或者PCIE总线将相机输出的图像数据传输到高性能计算机的内存中,高性能计算机则在操作系统的控制下将内存中的图像数据保存在磁盘或磁盘阵列中。目前,对于用相机来测量物体表面三维方案中,比较常用的是用独立的相机结合线结构光,提取图像中的激光线数据,利用三角测量的原理进行断面计算。然而,在这样的方案中,cameralink相机所拍的每巾贞图像数据都是整巾贞的传给计算机,由计算机完成激光线的识别和提取工作,所以计算机计算量较大,而且采集卡往往还需要占用计算机的一个PCI插槽。所以,在此场合,往往需要使用具有测量功能的的测量相机进行断面测量,但这种相机价格昂贵,大大增加了使用者的使用成本。综上所述,现有技术中明显存在以下两个方面的缺点:第一:数据传输量大,对采集卡的要求高,对计算机要求也高。由于cameralink相机输出的相机数据量大、速度快,因此对采集卡和计算机造成很大的压力。如果采集间隔进一步缩小,超过了采集卡和计算机的性能瓶颈,会丢失采集数据。这也是限制这种测量在高频率采集要求下性能进一步提升的原因;第二:运算量大,计算机负担重。cameralink相机的数据传到计算机内存后,对每一幅cameralink相机图片,计算机都需要按一定的算法提取线激光亮线断面,随着采集频率的越来越高,cameralink相机的巾贞频愈来愈快,计算机找每幅图片线激光亮线断面的负担也越来越重,影响计算机进行其它运算工作。因此,随着大范围的工业化使用,需要更低成本,更便捷和可靠的数据采集方法和设备。
发明内容
鉴于上述存在的技术问题,本发明提出一种提取线激光亮线的计算在采集卡内完成,用FPGA进行硬件解算,通过直接输出解算之后的数据,从而避免传输相机图像中其他大量无用的数据的解决方案。具体的,本发明提供一种基于cameralink相机的三维断面采集测量系统与方法,无需将cameralink相机所拍的每帧图像数据整帧地传给计算机,以较低代价解决cameralink相机三角测量法测量物体表面三维断面时计算机解算负担过重的问题。为了实现上述目的,本发明提供一种基于cameralink相机的三维断面采集测量方法,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,通过USB接口将该三维断面轮廓数据实时传输给计算机,从而解算被测物体表面的实际三维断面。根据本发明的一个方面,如所述基于cameralink相机的三维断面采集测量方法,用于获取数据的Cameralink相机为非Cameralink接口的相机。根据本发明的一个方面,如所述基于cameralink相机的三维断面采集测量方法,所述滤波方式采用中值滤波方式。根据本发明的一个方面,如所述基于cameralink相机的三维断面采集测量方法,所述滤波方式采用中值滤波之外的非线性滤波方式。根据本发明的一个方面,如所述基于cameralink相机的三维断面采集测量方法,采用MCU代替FPGA实现激光线的提取。根据本发明的一个方面,如所述基于cameralink相机的三维断面采集测量方法,采用PC1、以太网、或串口传输代替USB传输提取后的激光线数据。根据本发明的另一个方面,提供一种基于cameralink相机的三维断面采集测量系统,包括可编程逻辑器件FPGA、SDRAM和USB接口,其中,可编程逻辑器件FPGA包括Cameralink接口模块、图像滤波模块、激光线提取模块,其特征在于,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,然后,将提取的图像数据缓存于SDRAM中,通过USB接口,将提取的每一巾贞的Cameralink相机图像数据传给计算机。根据本发明的另一个方面,如所述基于cameralink相机的三维断面采集测量系统,所述Cameralink接口模块按照Cameralink协议,解析Cameralink相机输出的数据,图像滤波模块用于滤除Cameralink相机图像中的噪声点,激光线提取模块用于将Cameralink相机图像中的激光线提取出来。根据本发明的另一个方面,如所述基于cameralink相机的三维断面采集测量系统,用于获取数据的Cameralink相机为非Cameralink接口的相机。根据本发明的另一个方面,如所述基于cameralink相机的三维断面采集测量系统,采用MCU代替FPGA实现激光线的提取。根据本发明的另一个方面,如所述基于cameralink相机的三维断面采集测量系统,其特征在于,采用PC1、以太网、或串口传输代替USB传输提取后的激光线数据。根据本发明,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,通过USB接口实时传送给计算机,从而解算被测物体表面的实际三维断面,所以,能够以较低代价解决cameralink相机三角测量法测量物体表面三维断面的方法中,计算机解算负担过重的问题。并且,在采集卡的内部即完成线激光亮线断面的提取解算,使相机数据的传输减小了两个数量级,同时使计算机从提取线激光亮线断面的大量计算工作解脱出来,更好的进行其他的运算工作。根据本发明,采集系统将Cameralink相机的数据获取和激光线的提取的完美结合,该技术在国内尚属首创。另外,本发明采集系统利用可编程逻辑器件FPGA硬件实时实现激光线的提取,是一种专门用途的Cameralink相机采集系统(采集器),国内还没有其他公司的采集系统(采集器)有此功能。
图1为示出本发明Cameralink相机采集系统(采集器)框图。图2为示出本发明采用的MDR-26与DS90CR288A接口示意图。图3为示出本发明采用的MDR-26与DS90LV031A接口示意图。图4为示出本发明采用的MDR-26与DS90LV019接口示意图。图5为示出本发明设计滤波窗口中的3X3窗口原理框图。图6为示出本发明中值滤波结构图。图7为示出本发明采用的USB总线接口芯片CH374示意图。
具体实施例方式如图1所示,本发明Cameralink相机采集系统(采集器)的硬件部分主要包括可编程逻辑器件FPGA、SDRAM和USB接口三大部分。其中,可编程逻辑器件FPGA包括Cameral ink接口模块、图像滤波模块、激光线提取模块。在可编程逻辑器件FPGA中,所述Cameralink接口模块按照Cameralink协议,解析Camer a I i nk相机输出的数据,图像滤波模块用于滤除Camer a I i nk相机图像中的噪声点,激光线提取模块用于将Cameralink相机图像中的激光线提取出来。由此,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,然后,将Cameralink相机的图像数据缓存于SDRAM中,通过USB接口,将提取的每一巾贞的Cameralink相机图像数据传给计算机。下面对Cameralink数据获取进行详细地描述。如上所述,本发明Cameralink相机采集系统中,采用可编程逻辑器件FPGA做为图像采集器的主控制器。所述可编程逻辑器件FPGA的支持的I / O接口标准为LVCMOS /LVTTL,因此采用芯片DS90CR288A接收器实现电平转换。如图2所示,示出了 MDR-26与DS90CR288A接口方案的示意图。其中,芯片DS90CR288A接收器将4路LVDS数据流转换成28位COMS / TTL数据。28位数据包括:24位图像数据(RxOUTO Rx0UT23),4位图像数据同步信号(Rx0UT24 Rx0UT27)分别对应Spare (备用)、LVAL (行有效)、FVAL (帧有效)和DVAL (数据有效)。同时,芯片DS90CR288A将LVDS时钟信号转化为单端COMS / TTL时钟信号输出。28位数据信号和I位时钟信号接入FPGA完成图像的采集。其中,在LVDS信号设计中,需要为LVDS信号进行终端匹配,以减少终端信号的反射,确保信号的完整性,提高信号的传输质量。因此,即便在接收器的差分线对间跨接一个100Q的电阻,系统也需要由此终端电路来产生正常工作的差分电压。另外,本发明中,还利用芯片DS90LV031A实现相机的控制。如图3所示,示出的是MDR-26与DS90LV031A的接口设计方案示意图,Camera Link接口的相机有4路控制信号,分别是CC1、CC2、CC3和CC4,它们也是LVDS信号,因此需要通过芯片DS90LV031A将采集卡发出的COMS / TTL控制信号转化为LVDS信号。通过可编程逻辑器件FPGA发送控制命令,从而完成对相机的控制。另外,本发明中,还利用芯片DS90LV019实现图像采集卡与相机间的串行通信。串行信号分别为SerTFG和SerTC,在相机中,这2个信号也为LVDS信号,因此,需要在相机和图像采集卡之间加上一片收发器,作为芯片DS90LV019,选择美国国家半导体公司的DS90LV019,如图4所示,示出了 DS90LV019芯片与MDR-26之间的接口设计的示意图。综上,通过以上的转换,从而将Camera Link的差分数据和控制信号全部转换成适合可编程逻辑器件FPGA操作的LVTTL信号,为可编程逻辑器件FPGA对Camera Link相机的控制和数据获取做好准备。下面对图像滤波模块作出详细描述。Camera Link相机拍摄的激光线图像在生成,传输过程中常会受到各种噪声源的干扰和影响,为了抑制噪声,改善图像质量,便于后续提取激光线,在对激光线图像处理前需要对图像进行滤波、平滑处理。中值滤波是一种能有效地抑制图像噪声而提高信噪比的非线性滤波技术。它首先对邻域点的灰度值进行排序,然后选择中间值作为输出灰度值。中值滤波的公式如下:g(x, y) =median {f (x — i, y — j)} i, j e S其中,g (x, y)和f(x,y)为像素灰度值;S为模板窗口,Median为中值滤波。对于不同的图像质量有不同的应用模板窗口,其中常用的有3 X 3模板和5 X 5模板。二维中值滤波的模板形状和尺寸有多种样式,不同的图像内容和不同的应用要求,往往采用不同的模板形状和尺寸,常用的中值滤波有线形、方形、十字形、X字型以及矩形等。根据相机图像的特点选用方形模板更为适合,以3X3的窗口为例,如图5所示3X3窗口原理框图,中值滤波处理算法针对邻域像素操作,利用2个FIFO和6个寄存器对图像的行列数据进行存储。 中值滤波器的核心算法是排序,排序法的优劣直接决定了求中值的效率,从而决定了设计的整体性能。基于硬件的排序算法设计可以充分利用可编程逻辑器件FPGA硬件平台并行性特点,从而达到加速处理的目的。原始的冒泡排序算法适合计算机软件操作,应用可编程逻辑器件FPGA应当尽可能多的用到FPGA并行操作。对9个数据直接找到中间值不容易,但最大值与最小值可以很快找到,如果找到9个数中的最大值与最小值,就可以将这两个数排除掉,剩下的7个数继续寻找最大值与最小值。找到后排除,以此类推,最后剩下的那个数就是这9个数中的中间值。设计一个3输入比较器,在一个时钟周期内就可以比较出它们的大小关系。其输入数据为上图所示的模板生成的数据。首先将9个数分三组,找到每组的最大值、最小值与中间值。然后,如图6所示,将3组比较结果中的最大数放在一起,最小数放在一起,中间值放在一起,组成第二级比较。第二级比较可以找到9个数中的最大值及最小值,这两个数不参加下一级比较。剩下的7个数参加第3级比较,找到的最大值与最小值舍去。剩下的5个数继续参加4、5级比较找到这5个数中的最大值、最小值,将其舍去。剩下的3个数用一个比较器找出的中值即为这9个数的中值。此外为了保证流水线操作过程数据的同步性,在第3级和第5级比较电路中需要插入数据寄存器R,缓存当前级中不参加比较的数据。经过中值滤波后,可以去掉大部分图像的椒盐噪声,为下一步的激光线的提取打下基础。
经过中值滤波后,对于每一帧图像,可编程逻辑器件FPGA找出每一列像素点的最大值,记录下每一列最大像素值在本帧图像中的横纵坐标。然后判断这些像素最大值得连续性,剔除掉不连续孤立的可能的噪声点,最后得到的就是本帧的激光线数据。在本发明中,对于从采集器到计算机的数据传输,采用USB进行传输,在提取激光线的数据之后,采集器将有用数据通过USB 口高速传给计算机,供计算机进一步处理数据。本发明中,采用USB总线接口芯片CH374实现USB传输。如图7所示,为USB总线接口芯片CH374的示意图。CH374芯片是一种USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式,内置3端口 HUB根集线器,支持低速和全速的控制传输、批量传输、中断传输以及同步/等时传输。在本地端,CH374芯片具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。除此之外,CH374芯片还提供了节约I/O引脚的SPI串行通讯方式,通过3线或者4线SPI串行接口以及中断输出与单片机/DSP/MCU/MPU等相连接。采集器利用可编程逻辑器件FPGA的内部逻辑资源产生一个SPI 口,和CH374相连,通过高速SPI 口将激光线数据传给CH374,经过转换后以USB接口形式传给计算机。以上以具体实施方式
为例对本发明作出了详细地描述,但是,本发明并非仅限于该实施方式之中,还可以对其进行各种各样的变更和修饰。例如,对于本发明采集器,可以替代地,用于获取数据的Cameralink相机可换为非Cameralink接口的相机,图像滤波可采用除中值滤波之外的其他的非线性滤波方式,激光线的提取不采用FPGA而用MCU实现,提取后的激光线数据不采用USB传输,而采用PC1、以太网、或串口传输等等。综上所述,本发明并不局限于具体实施方式
之中,在不脱离本发明精神和宗旨的情况下,可以作出各式各样的变更或修饰,因此,上述具体实施形态中所谓的内容仅仅只是例示性的,本发明的范围由权利要求书示出,说明书全文并无任何约束。而且,权利要求书所属变形或者变更全部属于本发明范畴内的内容。
权利要求
1.一种基于cameralink相机的三维断面采集测量方法,其特征在于,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,通过USB接口将该三维断面轮廓数据实时传输给计算机,从而解算被测物体表面的实际三维断面。
2.如权利要求1所述基于cameralink相机的三维断面采集测量方法,其特征在于,用于获取数据的Cameralink相机为非Cameralink接口的相机。
3.如权利要求1所述基于cameralink相机的三维断面采集测量方法,其特征在于,所述滤波方式采用中值滤波方式。
4.如权利要求1所述基于cameralink相机的三维断面采集测量方法,其特征在于,所述滤波方式采用中值滤波之外的非线性滤波方式。
5.如权利要求1所述基于cameralink相机的三维断面采集测量方法,其特征在于,采用MCU代替FPGA实现激光线的提取。
6.如权利要求1所述基于cameralink相机的三维断面采集测量方法,其特征在于,采用PC1、以太网、或串口传输代替USB传输提取后的激光线数据。
7.一种基于cameralink相机的三维断面采集测量系统,包括可编程逻辑器件FPGA、SDRAM和USB接口,其中,可编程逻辑器件FPGA包括Cameralink接口模块、图像滤波模块、激光线提取模块,其特征在于,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,然后,将提取的图像数据缓存于SDRAM中,通过USB接口,将提取的每一帧的Cameralink相机图像数据传给计算机。
8.如权利要求7所述基于cameralink相机的三维断面采集测量系统,其特征在于,所述Cameralink接口模块按照Cameralink协议,解析Cameralink相机输出的数据,图像滤波模块用于滤除Cameralink相机图像中的噪声点,激光线提取模块用于将Cameralink相机图像中的激光线提取出来。
9.如权利要求7所述基于cameralink相机的三维断面采集测量系统,其特征在于,用于获取数据的Cameralink相机为非Cameralink接口的相机。
10.如权利要求7所述基于cameralink相机的三维断面采集测量系统,其特征在于,采用MCU代替FPGA实现激光线的提取。
11.如权利要求7所述基于cameralink相机的三维断面采集测量系统,其特征在于,采用PC1、以太网、或串口传输代替USB传输提取后的激光线数据。
全文摘要
基于cameralink相机的三维断面采集测量系统与方法,利用可编程逻辑器件FPGA获取cameralink相机的数据,在FPGA内进行数字滤波,用相关算法提取图像数据中红外线激光光源形成的三维断面轮廓数据,通过USB接口实时传送给计算机,从而解算被测物体表面的实际三维断面。能够以较低代价解决cameralink相机三角测量法测量物体表面三维断面的方法中,计算机解算负担过重的问题。并且,在采集卡的内部即完成线激光亮线断面的提取解算,使相机数据的传输减小了两个数量级。
文档编号G01C11/00GK103196392SQ201310134929
公开日2013年7月10日 申请日期2013年4月17日 优先权日2013年4月17日
发明者李清泉, 张德津, 李庆坤, 曹民, 马斌, 曲旋, 张志刚, 文艺, 卢毅 申请人:武汉武大卓越科技有限责任公司