条形码在线检测系统的误差用神经网络修正的研究


  在彩色印刷行业中,一般采用套色印刷技术。在套色印刷系统中,如果套色不准,所印刷的彩色图案将会田于各种颜色在印刷中错位而发生模糊,因此需要设置套色错位在线检测系统。但在印刷过程中,印刷品以1.2~1.5m/s的速度快速运行,传统的测量方法难以达到套色错位测量精度小于0.1mm的行业要求。目前在印刷行业中,大量的场合采用目视检测的方法,该方法不能做到实时监测,需要停机后与标准条形码进行比较,验证印刷品是否合格。这种方法难以达到印刷精度要求,且容易造成漏判,以及产品原料的浪费。针对传统方法的不足,本文提出了一种图像测量的方法进行改进,即采用线阵CCD将运动的条形码通过数据采集转化为一维数组,通过数据处理获得条形码间距,针对测量系统中存在的非线性误差,用
神经网络进行消除,使输出结果具有很高的测量精度,并使得该测量系统具有在线检测的切能。

  一、实验装置及工作原理

  整个测量系统如图1所示。套色条形码作匀速平动,并通过光学镜头成像在线阵CCD的光敏元阵列面上。由于条形码的反射率相对于背景色的反射率有着明显不同,因此条形码部分形成一条暗带,暗带之间的距离就代表了条形码之间的距离,如图2所示。



图1 测量系统原理方框图




图2 条形码及其光强分布图


  计算机系统按照指令从采集接口中读取数据,经过运算,分出条形码信号,计算出条形码间距的测量值,再将计算
值与标准值比较得到偏差值并显示偏差值。这时,如果偏差值超出了阈值,就发出报警信号,并把报警时间保存起来。另外,可以根据条形码的运动速度和测量精度等调节采集信号的间隔时间、阈值。

  在本实验中,为了模拟印刷机工作时条形码的运动状态,我们设计了一套实验工作台如图3所示。将条形码贴在传动带表面。为了使传动带与带轮之间无相对滑动,传动比准确,有较高的传动精度,传动带选用齿形带。主动轮及从动轮都采用齿形带轮。主动轮由可变频调速电机带动,电机由变频器控制速度。线阵CCD固定在三角架上,拍摄条形码图像。



图3 实验工作台简图



  二、测量误差分析

  1.系统误差


  系统误差主要包括被测的各条条形码到CCD的距离不一样造成的测量误差、光学镜头放置位置带来的误差,光学镜头畸变引起的测量误差、处理电路带来的误差、CCD像元的几何位置误差,CCD像元灵敏度不均匀误差,光电响应造成的不均匀性和非线性引起的误差。

  2.偶然误差

  这项误差主要包括电机转动引起的工作台震动、CCD噪声影响、空气扰动影响以及电源、光强等随机误差的影响。

  因此,为了提高测量精度,必须对测量结果进行修正。而通过对条形码实际间距与实际测量结果的分析表明,对设定标准间距的条形码的实际测量误差呈明显的非线性。而神经网络具有非常强的非线性批合能力,根据神经网络的这个特点,可以利用BP神经网络的非线性拟合能力对这些误差进行修正。

  三、神经网络的基本原理以及在误差修正中的应用

  神经网络是一个大规模的并行的分布式处理器,它具有贮存并利用经验知识解决问题的能力,其知识的分布存储
在连接权中的。实际运用中,BP神经网络是一种比较常用的网络类型。一个具有任意压缩型国数的(如sigmoid函数)的单隐层BP网络,只要有充分多的隐层单元,就可以任意逼近一个有限维的函数,这说明BP神经网络具有很强的非线性拟合能力,可以作为通用的线性逼近器。三层BP神经网络的结构如图4所示。



图4 三层BP网络结构图



  神经网络的应用包括学习过程和仿真计算两部分内容。在学习过程中,神经网络通过学习算法不断调整其连接权值,以达到误差要求。在仿真过程中,神经网络进行前向计算得到仿真输出。

  四、实验方式及数据处理

  在一定条件下,用线阵CCD测量运动的系形码,得到条形码的光强分布如图2所示。6条条形码1~6分别代表套色印刷中的6种不同颜色的条形码。每条条形码的位置Pos1~Pos6用条形码所在位置的像元数目表示。标准的6条条形码的总长应为10cm,相邻条码的间距为2cm。

  应用BP神经网络对条形码间距测量误差修正的计算过程如下。

  (1)求出条形码所在位置

  本实验测量n组条形码。其中第k 组条形码总长为[10+0.01×(k-n/2)]cm,其第一条和第二条系形码的间距 为[2+0.01×(k-n/2)]cm,其余相邻条形码间距为2cm的条形码。(实验时取n为偶数)

  分别运用3次样条拟合得到条形码 所在位置的像素数Posi(k)(i表示第i 条条形码,k表示第k组条形码的测量)。

  (2)求每个像元的平均距离

  其中第k组条形码的每个像元的平均距离为



  n组条形码的每个像元的平均距
离为



  (3)每个像元的平均距离的标准偏差为



  在本实验中,标准偏差不仅能衡量每个像元的平均距离的精度及重复精度,且表示了测量结果的稳定性,因此标准偏差值越小越好。

  (4)求第k组条形码上的第i条条形码与第一条条形码之间的测量距离

  求出第k组条形码上第i条条形码与第一条条形码之间的像元个数

Ni(k)=Posi(k)-Pos1(k) (4)


  求出第k组条形码上的第i条条形码与第一条条形码之间的测量距离

Di(K)=d×Ni(k) (5)


  (5)求BP神经网络的权值,阈值

  这部分计算相当于BP 神经网络的学习过程。在应用BP神经网络对条形码的测量间距误差进行修正时,首先应确定网络的规模。包括选取网络的层数,确定各层结点数:输入层节点数IN,隐层节点数HN,输出层节点数ON。以及各层神经元的激活函数。规定网络的误差的期望误差Elim。文中的输
入层节点数IN=5n,输出层节点数 ON=5n。

  其次应确定网络的训练数据,即确定输入向量与标准输出向量。本文中的输入量为Di(K),标准输出为相应的条形码的实际间距Ii(K)=[0.01×(k-n/2)+2×i]cm。(其中i=2,3,4,5,6)

  经过BP神经网络的学习过程,可以得到BP神经网络的权值、阈值。

  (6)应用BP神经网络对条形码间距测量结果进行误差修正的实现

  这部分计算相当于BP神经网络的仿真过程。利用CCD采集和量化得到条形码的光强量化值,将程序运算求出的各条形码之间的间距测量值送入仿真程序,可以得到各条形码与第一条条形码间距经过修正后的测量值。

  五、实验结果

  当条形码的速层为0.5m/s,光学镜头焦距35cm时,取n=10,测得:

  每个像元的平均距离为d=0.00766880131224cm

  每个像元的平均距离的标准偏差d =5.197809771674241e-006

  10次测量的测量值如表1所示(其中,Di(k)第k组条形码上的第i条条形码与第一条条形码之间的测量距离。)

  相应的条形码的实际间距Ii(k)=
[0.01×(k-n/2)+2×i]cm。(其中,n=10,Ii(k)表示第K组条形码上的第i条条形码与第一条条形码之间的实际距离。)

  这里选取3层BP网络,各层结点数为:输入层节点数IN=50,隐层节点数HN=80,输出层节点数ON=50。隐层的激活函数采用压缩型的sigmoid型函数,输出层函数采用线性函数。规定网络的误差平方和为0.005。输入向量为Di(k),标准输出向量为相应的条形码的实际间距Ii(k)=[0.01×(k-n/2)+2×i]cm。将输入向量和标准输出向量代入神经网络训练程序,求出BP神经网络的权值、阈值。

表1 10次测量结果(单位:cm)


k D1(k) D2(k)D3(k)D4(k)D5(k) D6(k)
1 0 1.97363.9796 5.96727.95627 9.9515
2 0 1.98853.8857 5.97937.9701 9.9668
3 01.99623.9977 5.98397.9808 9.9747
4 02.00304.0068 5.99777.9994 9.8662
5 02.00904.0143 6.00598.0011 10.0006
6 02.02924.0231 6.01258.0113 10.0049
7 02.03684.0346 6.02728.0215 10.0154
8 02.04994.0401 6.03798.0381 10.0269
9 02.05854.0527 6.04428.0422 10.0542
1002.07044.0667 6.05838.0579 10.0461



  利用已经训练好的神经网络,再去测量一个条形码。其实际值与未修正的测量值以及用神经网络修正后的测量值
如表2所示。

表2 实际值与测量值的对照表(单位:cm)

  D2(k)D3(k)D4
(k)
D5(k) D6(k)
实际值2.02503.97406.00008.0350 10.0100
未修正的测量值2.03953.99216.00738.0406 10.0062

修正后的测量值
2.02843.97855.99788.0307 10.0116


  从表2可知:通过神经网络的修正后的测量值的误差小于0.1mm,能够满足印刷行业的需求。

  六、结束语

  本文在分析了条形码测量系统的误差源的基础上,将BP神经网络应用于套色条形码在线检测系统的非线性误差修正。实测结果表明,通过神经网络仿真过程处理后的测量结果更接近实际值。因此BP神经网络能大大消除测量系统的非线性误差,显著提高测量系统的测量精度,对彩色印刷行业有一定的参考价值。

[时间:2002-04-22  作者:李善熙 徐朗峰 朱忠  来源:中国印刷]

黄品青微站