基于Labview的图像与力值同步采集系统
2015-02-23蒋粉玲蒋明
蒋粉玲,蒋明
(苏州科技学院数理学院,江苏苏州215009)
基于Labview的图像与力值同步采集系统
蒋粉玲,蒋明*
(苏州科技学院数理学院,江苏苏州215009)
针对两摄像机(CCD)与外部传感器间的同步控制与采集问题进行了研究。建立了基于Labview的图像与力值同步采集系统,该系统以Labview为操控平台,编程控制PCIE8620数据采集卡,触发CCD图像与试验机力值数据同步采集,并通过调整触发信号的周期控制同步采集频率。图像与力值数据的同步采集误差小于10 μs,相对于系统采集频率,最大误差为0.007%。同步采集的力值数据与试验机所记录的力值间最大误差为2.89%。
Labview;数据采集卡;同步控制;CCD;试验机
双目立体视觉测量系统通过模仿人眼视觉原理,获取物体的三维信息。近年来,以Sutton[1-3]等为代表的学者将立体视觉测量技术与数字图像相关方法相结合形成三维数字图像相关技术,以获取物体表面全场三维位移及应变等。在土木工程监测、材料力学性能检测等应用领域,需要在连续受力情况下实时测量被测物的位移、应变等信息,因此,需同步采集CCD图像与试验机力值数据。
常用的多CCD同步采集控制,分为软件控制和硬件控制两种方法。软件控制方法主要是利用Windows系统下的多线程技术开发CCD控制程序,除了对编程能力要求较高外,由于相机连接方法等原因,相机间同步精度不高[4-5],且不能同步获得试验机的力值数据。硬件控制方法[6-10]主要分为三类:第一类是基于多PCI数据采集卡的CCD同步方法[6],该方法通过给PCI数据采集卡编写驱动程序实现多PCI卡之间的同步,从而控制CCD同步采集,驱动程序的编写对硬件知识和编程能力要求较高;第二类是基于多路图像数据采集卡实现CCD同步控制[7],大多数多路图像采集卡不是基于分时操作就是基于多路视频切换,显然不能满足动态测量的精度要求,且图像数据采集卡之间还需通过同一外部触发源触发实现同步工作;第三类是基于外触发信号源的CCD同步方法[8-9],外触发信号源通常是高精度的信号发生器,只需信号发生器发出多路同步触发信号,便可使多台CCD以高精度同步方式工作,且同步误差仅取决于CCD的触发延迟时间(一般是微秒量级),对于几十到几百米的传输距离而言,传输过程引起的时间误差可以忽略不计。通过外触发信号源触发带外触发功能的数据采集模块,即可实现力值数据的同步获取。
考虑到CCD图像与试验机力值数据的同步采集控制及同步精度,笔者采用带外触发功能的PCIE8620数据采集卡作为同步触发信号发生器和同步数据接收器。以图形化的Labview软件为控制平台,编写数据采集卡的控制程序,使其发出TTL数字触发信号的同时接收模拟信号,实现两个CCD图像与试验机力值数据的同步采集,并通过调整触发信号的周期控制同步采集频率。
1 同步采集控制与实现
1.1 硬件组成及同步控制
同步采集系统的目标是实时触发两台工业摄像机(CCD)采集图像,并同步获取电子万能试验机的力值数据。图1为实现同步采集控制的硬件组成示意图,其中PCIE8620数据采集卡[11]是一款带外触发功能的多功能内插式数据采集卡,是实现同步采集控制的核心硬件。CCD的型号为Pike-F505b,最大分辨率为2 452×2 054像素,机身上有一个通用输入输出(GPIO)接口接收TTL脉冲信号并触发曝光拍摄图像,每台CCD通过1 394 b接口与计算机相连,实现图像传输及存储。电子万能试验机中的力值数据由试验机的力值传感器产生,经采集开关和模数转换器转为数字信号,由PCI8932数据采集卡采集这一数字信号,并经板卡上的放大电路和变送电路转换为电压信号通过DA端输出,将PCI8932的DA端与PCIE8620的AD端相连,即可通过PCIE8620采集力值数据。
PCIE8620数据采集卡的16路TTL数字输出端可以输出16路TTL同步信号,取其中的任意两路数字输出端,控制接收TTL脉冲信号的2个CCD同时曝光采集图像。Pike-F505B机身的GPIO接口包含12个插针,其中4号插针为默认的触发端。CCD在同步信号触发下的一个工作周期的时序如图2所示[12],其中触发信号为下降沿,CCD在接收到TTL数字脉冲触发信号中的下降沿时便开始曝光拍摄图像,为了给CCD曝光积分器充足的响应时间,需通过触发延时寄存器设置触发延迟时间,一般可设置成0~10 μs之间任意数值。当曝光积分完成后即可传送数据,传送延迟的时间为1 ms,通过传送延迟寄存器设置。触发信号的周期必须大于CCD曝光及传输数据的工作周期,否则将导致“丢帧”现象。触发信号也可以是上升沿,可通过摄像机的控制软件设置。CCD在外触发工作模式下的采集帧率由触发信号的频率决定。
图1 硬件组成示意图
图2 摄像机外部触发工作时序图
带外触发功能的PCIE8620数据采集卡可以在输出TTL同步信号的同时采集外部数据。PCIE8620的DTR数字量脉冲电平触发AD采集数据功能,通过捕获触发源信号相对于触发电平信号的以上或以下位置作为条件来触发AD采集,该功能可连续触发AD采集数据。将一个TTL数字脉冲信号接入DTR端,在脉冲电平触发模式下,DTR端每接收一个TTL脉冲AD便开始按事先设定好的采样频率采集数据。PCIE8620读取AD数据的方式分为非空查询方式、半满查询方式和DMA方式,这三种读取方式下AD存储数据的速率都与采样频率相等,但其中只有非空查询方式可以一次只读取一个或几个数据,满足高实时性的采集需要,AD在非空查询方式下读取数据的频率由接入DTR端的脉冲信号的频率决定。将PCIE8620的工作模式设置为DTR脉冲电平触发,读取AD数据的方式设置为非空查询方式,即可实现CCD每曝光采集一个图像,PCIE8620的AD端同步采集一个数据。在外触发模式下CCD采集图像的帧率、图像与力值同步采集的频率相等且都等于TTL脉冲信号的频率,调整TTL脉冲信号的周期,即可实现对同步采集频率的控制。
1.2 Labview控制平台
两台工业CCD之间的同步及电子万能试验机的力值数据与CCD图像的同步采集均以Labview软件为平台编写控制程序,利用Labview DAQ控件调用PCIE8620数据采集卡的适合自己应用程序的驱动VI,实现特定的信号输出、数据同步采集控制及显示。图3为Labview总控制的前面板设计,前面板主要由三个模块组成:(1)调用CCD控制软件模块;(2)输出TTL数字同步触发信号模块;(3)同步采集力值数据模块。每个模块都有各自的启动和结束按钮控制运行程序。
1.2.1 调用CCD控制软件模块
调用CCD软件的后面板程序如图4所示。通过Labview“库与可执行程序”模板中的执行系统命令节点调用CCD控制软件,并利用一个开始按钮和一个文件路径显示控件辅助调用。当调用CCD控制软件模块运行之后由文件路径输入需调用CCD控制软件的文件位置,按下开始按钮,控制CCD的软件即可立刻运行。CCD的工作模式、触发延迟时间、图片存储路径等由CCD控制软件设置。
图3 Labview总控制的前面板设计
图4 调用CCD控制软件后面板
1.2.2 输出TTL数字同步触发信号模块
利用PCIE8620驱动程序中的CreateDevice函数创建设备对象句柄hDevice,然后将此句柄作为参数传递给SetDeviceDO函数,实现数字量的输出操作,数字输出端的输出状态由PCIE8620_PARA_DO函数决定。当PCIE8620_PARA_DO函数的三个输入节点连接的函数控件完全相同时,即能控制PCIE8620数据采集卡输出三路同步数字信号。以上过程均是在定时结构框架下完成的,定时结构与移位寄存器结合既能控制三路同步数字信号以一定的频率循环输出形成同步TTL数字脉冲信号直至按下停止按钮。定时结构中dt变量的值即为脉冲信号的周期,通过改变dt的大小改变同步脉冲信号的频率,实现对同步采集频率的控制。输出的三路同步TTL数字脉冲信号,其中两路用来触发两CCD同步曝光采集图像,另一路触发PCIE8620的AD端同步采集力值数据,其后面板程序框图如图5所示。
图5 输出三路同步TTL脉冲信号后面板
1.2.3 同步采集力值数据模块
力值数据由电子万能试验机的力值传感器产生,经PCI8932数据采集卡采集并转换成电压信号通过DA端输出。编程控制PCIE8620数据采集卡在接收到TTL脉冲之后同步采集这一电压信号,实现过程为先通过参数结构体设置AD采集的模式、采样频率、触发方式、触发源、触发类型等,再用StartDeviceAD函数启动AD部件,采集到的数据以“先进先存”的方式暂时存储在板卡的FIFO存储器里,采样频率越大,单位时间内存储的数据越多,而存储一个数据的时间就越短。在存储数据的同时,采用以非空方式从第一个存储的数据开始逐个向后读取数据,每次读取数据的个数由nReadSizeWords参数的值决定。当nReadSizeWords参数的值等于1时,一次只读取一个数据,且是最先存在FIFO存储器的那个数据。每次读取的数据均以LSB原码的形式缓存在由用户定义的数组ADBuffer中。当ADBuffer存储完一次读取的数据后,FIFO存储器自动清零,等待下一个触发脉冲信号来临再开始按采样频率存储数据。LSB原码数据换算成电压值的换算方法视AD所采集的电压量程而定。以±10 V为例,换算的公式为:Volt=(20000/8192)*(ADBuffer[0]&oxFFF)-10000。再根据试验机量程将电压值按比例转换为力值。同步采集力值数据的后面板程序框图如图6所示。
图6 同步采集力值数据
1.3 同步误差分析
TTL脉冲信号的同步精度直接影响到系统同步采集的误差。为检测TTL同步脉冲信号的同步性能,在输出三路同步TTL脉冲信号的程序框图中加入了四个波形图表显示控件,其中三个显示三路同步TTL脉冲信号的波形,另一个用来显示三路信号中任意两路的减法波形。四个波形图表在输出TTL数字同步触发信号模块运行后在前面板上的显示结果如图7所示,任意两路信号的减法波形为一条直线,所以TTL脉冲信号间几乎没有误差。这是因为PCIE8620数据采集卡的读写速度快,且控制DO端输出状态的PCIE8620_PARA_DO函数的三个输入节点所连接的函数控件完全相同,几乎不存在信号延迟。
图7 三路同步信号及任意两路信号减法操作的波形图
CCD间同步误差的另一方面源于摄像机触发延迟时间的误差,Pike-F505b触发延迟时间小于10 μs,因此CCD之间的同步误差小于10 μs。而图像与力值数据之间的同步误差源于PCIE8620数据采集卡存储数据的耗时误差。由于PCIE8620存储数据的频率等于AD采样频率,所以当采样频率大于100 kHz时,AD在10 μs内便能存储一个数据。因此图像与力值数据同步采集的误差小于10 μs。文中的Pike-F505b相机在外触发模式下的最大采集帧率为7 fps,相对于最大采集频率,系统最大同步误差为0.007%。
1.4 预制裂缝铝合金板的三点弯实验
将同步采集控制系统用于带有预制0.5 mm裂缝铝合金板的三点弯曲实验,实验环境如图8所示。
试验共拍摄了1 800对图片,对应的采集了1 800个力值数据,采集频率为5 Hz,耗时360 s。在实验过程中,Labview总控前面板的运行状况如图9所示。为验证同步采集控制系统采集力值数据的实时性,将PCIE8620采集到的1 800个力值数据与试验机力值传感器所记录的力值做对比,最大误差为2.89%,同步采集控制系统具有较高的实时性和稳定性。图10给出在实验过程中两者所记录力值数据的对比曲线。
图8 实验环境图
图9 Labview总控运行状况
图10 力值对比曲线
2 结语
针对两摄像机(CCD)图像与外部力值数据同步采集问题进行了研究。将多功能数据采集卡PCIE8620作为同步信号发生及同步力值接收装置,以Labview为控制平台,设计了同步采集控制系统,实现了CCD与试验机力值的同步实时采集,相对系统采集频率,同步采集误差最大为0.007%,且同步采集的力值数据与试验机所记录的力值间最大误差为2.89%,可用于立体视觉测量。另外,编程控制数据采集卡PCIE8620的16路电平数字输出端输出16路TTL同步数字脉冲信号,可同步控制多台CCD及外部传感器。
[1]Sutton M A,Yan J H,Tiwari V,et al.The effect of out-of-plane motion on 2D and 3D digital image correlation measurements[J].Optics and Lasers in Engineering,2009,46(10):746-757.
[2]Tiwari V,Sutton M A,Mcneil SR,et al.Application of 3D image correlation for full-field transient plate deformation measurements during blast loading[J].International Journal of Impact Engineering,2010,36(6):862-874.
[3]Pierron F,Sutton M A,Tiwari V.Ultra high speed DIC and virtual fields method analysis of a three point bending impact test on an aluminium bar[J].Experimental Mechanics,2011,51(4):537-563.
[4]林宗坚.轻小型组合双相机同步曝光控制方法的研究[D].青岛:山东科技大学,2012.
[5]杨伟程,李鹏.CMOS相机控制及图像数据传输系统设计[J].电子设计工程,2009,8(12):36-45.
[6]徐涛,黄鲁,王荣生.一种多PCI卡组成的高速同步图像获取系统[J].计算机工程与应用,2004,40(2):124-125.
[7]马强,郎岩梅,唐文彦.同步并行图像采集系统的设计[J].仪器仪表学报,2005,24(4):137-139.
[8]姜广文,晁志超.基于外触发和软件触发的多摄像机同步采集处理系统[J].应用光学,2009,30(5):754-760.
[9]吕培森,倪晋平,马时亮.图像数据异地采集同步电路设计[J].应用光学,2012,33(2):313-320.
[10]霍炬,付亮,杨明.双摄像机同步高速采集存储系统构成研究[J].光学技术,2007,33(1):106-109.
[11]Beijing Art Technology Development Co.Ltd.User Manual of PCIE8620[DB/OL].(2013-04-16)[2014-11-25].http://www.art-control.com/Article T3/873.html.
[12]Scientific Research Inc.Allied Vision Technical Reference Manual[DB/OL].(2012-06-21)[2014-11-25].http://www.AlliedVison.com/support/ download/documents/Allied%15Technical%15Reference.pdf.
Synchronous acquisition system of images and force value based on Labview
JIANG Fenling,JIANG Ming
(School of Mathematics and Physics,SUST,Suzhou 215009,China)
This article studied the issue of synchronization controlling and acquisition between two CCDs and external sensor.A synchronous acquisition system of images and force value based on Labview was designed. This system was developed on Labview platform.By programming,we made the data acquisition card PCIE8620, triggered the acquisition of images and the force value produced by electronic universal testing machine synchronously,and controlled the frequency of synchronization acquisition by changing the trigger signal's cycle.The error between images and force value acquisition was less than 10 μs,and related to the system's acquisition frequency,the maximum error of synchronization was 0.007%.The maximum error between the force value collected by PCIE8620 and the electronic universal testing machine was 2.89%.
Labview;PCIE8620;synchronous control;CCD;testing machine
TP206;TH744
A
1672-0687(2015)04-0024-06
责任编辑:李文杰
2015-04-30
国家自然科学基金资助项目(11172193)
蒋粉玲(1989-),女,江苏泰州人,硕士研究生,研究方向:光学仪器与技术。
*通信联系人:蒋明(1961-),女,教授,博士,硕士生导师,E-mail:cemjiang@sina.com。