首页> 中国专利> 一种用于污染及多视角情况下DataMatrix码的精确定位方法

一种用于污染及多视角情况下DataMatrix码的精确定位方法

摘要

本发明提出了一种用于污染及多视角情况下DataMatrix码的精确定位方法,采用基于梯度边缘方向检测出亚像素级的边缘,利用快速Hough变换方法求得两主方向然后判断候选目标点的归属梯度方向容错区间,然后两个梯度方向容错区间内的边缘目标点分别在各自主方向容错区建立进行Hough累加,去除大量干扰噪声点,再基于先验知识过滤及预定义边缘组合,提取边缘组合的多特征,最后利用D-S证据理论方法融合多特征进行DataMatrix码边缘精确识别。本发明的效果为对于存在生锈腐蚀、高反光覆盖及磨损划痕干扰等污染及透视形变在20°之内的金属上的DataMatrix码都有较高的四边缘精确定位率,精确定位正确率在85%以上。

著录项

  • 公开/公告号CN102930268A

    专利类型发明专利

  • 公开/公告日2013-02-13

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201210318976.4

  • 申请日2012-08-31

  • 分类号G06K9/46(20060101);

  • 代理机构61204 西北工业大学专利中心;

  • 代理人陈星

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2024-02-19 17:52:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-16

    授权

    授权

  • 2013-03-20

    实质审查的生效 IPC(主分类):G06K9/46 申请日:20120831

    实质审查的生效

  • 2013-02-13

    公开

    公开

说明书

技术领域

本发明涉及模式识别技术领域,具体为一种用于污染及多视角情况下DataMatrix码的精确定位方法。 

背景技术

直接零件标识DPM(Direct Part Marking)技术是一种可直接在产品的表面形成包括文字、符号或图案等形式的永久标识技术,利用DPM技术在产品表面形成的一维条码或二维条码符号,是实现产品可追溯性标识的重要技术手段,在条码符号的选择上,考虑到产品表面面积有限、提高符号识读率等因素,目前多选用DataMatrix条码作为产品的二维条码永久标识,这是因为DataMatrix条码编码容量大、密度高、纠错能力强。 

二维条码精确定位是指已知图像中存在二维条形码,对条码的四条边缘进行精确识别,从而精确定位二维条码区域。以金属零件或金属刀具为背景二维条码,在车间流通环境下,通常会有下列精确定位问题:1、长期恶劣环境使用下金属会有腐蚀生锈,磨损划痕污染等干扰;2、由于金属本身的形状材质各异,条码与背景对比度有高有低,且存在背景粗糙,噪声污染大等问题。3、如果光照不理想的话,可能会有高光反光覆盖掉条码部分边缘,或者存在光照不均造成条码边缘不易识别。4、二维条码在图像中的旋转角度任意,相机拍摄角度任意,造成二维条码存在刚性形变或透视形变,加大了二维条码四条边缘精确定位的难度。 

目前对于二维条形码的精确定位主要分为两步,第一步为通过硬件辅助检测方法或软件检测方法粗定位条码区域,譬如申请号为“200410076815”,名称为“用于定位二维条形码的方法和设备”与申请号为“200610060244”,名称为“一种二维条码移动终端辅助定位方法”的发明专利,基于特定的硬件平台,用半自动化的方法来定位二维条码区域;申请号为“201110310325.6”,名称为“复杂金属背景下DataMatrix条码区域定位方法”的发明专利,利用机器学习与级联检测联合的方法定位DataMatrix条码区域。第二步为利用二维条码边缘的几何性质,精确定位条码区域,譬如申请号为“200710050434”,名称为“一种二维条码系统及其定位方法”与申请号为“200610086966”,名称为“一种基于定为圆形的可快速定位的二维条码系统”的发明专利,都是利用二维码特有的格式与几何形态精确定位数字图像中的二维条码。但这些方法都只是初等方法,只适用于印刷在纸张上的背景环境好、二维条码边缘没有遭到污染破坏及无透视形变的二维条码图像,难以推广到复杂的二维条码应用识别场景。 

发明内容

要解决的技术问题 

本发明的目的是为了解决存在生锈腐蚀、高反光覆盖边缘、磨损划痕污染等污染干扰及存在刚性或透视形变的DataMatrix码精确定位的问题。本发明在条码粗定位的基础上,提供一种通过提取DataMatrix码的四条边缘特征及内部边缘的hough域分布特征,利用多特征融合的方法鲁棒的定位出DataMatrix码的四条边缘的方法。 

技术方案 

本发明的技术方案为: 

所述一种用于污染及多视角情况下DataMatrix码的精确定位方法,其特征在于:包括以下步骤: 

步骤1:对含有DataMatrix码的输入图像A进行预处理,所述输入图像A的宽度为w像素,高度为h像素: 

步骤1.1:采用“选择式掩模平滑”方法遍历输入图像A,得到平滑后的图像为A1;对图像A1求取“灰值形态学梯度”得到灰值梯度图像A2;对图像A2进行“大津阈值分割”得到二值化的梯度图像A3; 

步骤1.2:在图像A2中选取像素值pixi,j>T1的像素点Pi,j作为候选边缘点,其中pixi,j表示图像A2中第i行j列像素点Pi,j的像素值,T1为步骤1.1中“大津阈值分割”时得到的大津阈值;对每个候选边缘点Pi,j采取如下步骤: 

步骤1.2.1:建立候选边缘点Pi,j与8邻域像素点的角度对应关系: 

θ(Pi,j,Pi,j-1)=-π/2=Ang[0];θ(Pi,j,Pi,j+1)=π/2=Ang[4]; 

θ(Pi,j,Pi-1,j+1)=θ(Pi,j,Pi+1,j-1)=-π/4=Ang[1]; 

θ(Pi,j,Pi-1,j)=θ(Pi,j,Pi+1,j)=0=Ang[2]; 

θ(Pi,j,Pi+1,j+1)=θ(Pi,j,Pi-1,j-1)=π/4=Ang[3]; 

其中,θ函数代表点Pi,j与其8邻域像素点中对应点之间的角度对应函数;Ang[0]~Ang[4]代表点Pi,j与其8邻域像素点中对应点的角度序号; 

步骤1.2.2:计算候选边缘点Pi,j的sobel梯度方向θi,j=arctan(dyi,j/dxi,j),其中: 

dyi,j=(pixi-1,j+1+2pixi,j+1+pixi+1,j+1)-(pixi-1,j-1+2pixi,j-1+pixi+1,j-1

dxi,j=(pixi+1,j+1+2pixi+1,j+pixi+1,j-1)-(pixi-1,j+1+2pixi-1,j+pixi-1,j-1

步骤1.2.3:确定θi,j所在的角度区间为θi,j∈[Ang[a],Ang[a+1]],a为[0,3]区间内的整数,则候选边缘点Pi,j在θi,j正方向的像素值插值p1,i,j为: 

p1,i,j=(θi,j-Ang[a])*p(a)+(Ang[a+1]-θi,j)*p(a+1)π/4

候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为: 

p2,i,j=(θi,j-Ang[(a+2)%4])*p((a+2)%4)+(Ang[(a+3)%4]-θi,j)*p((a+3)%4)π/4

其中p(a)为点Pi,j在Ang[a]角度方向上的像素点的像素值; 

步骤1.2.4:取校验参数diff(i,j)=max{|pixi,j-p1,i,j|,|pixi,j-p2,i,j|},当diff(i,j)<T2时,将该候选边缘点Pi,j设为背景点,令该候选边缘点Pi,j像素值为0;当diff(i,j)≥T2时,若pixi,j>p1,i,j且pixi,j>p2,i,j,则将该候选边缘点Pi,j标记为目标边缘点,否则将该候选边缘点Pi,j设为背景点,令该候选边缘点Pi,j像素值为0;其中T2取值为80; 

步骤2:快速Hough变换得到Hough变换域: 

步骤2.1:建立DataMatrix码边缘方向的初始零数组 具体表示为: 

{value(dreb)|dreb[-π2+16,-π2+(b+1)π16)}b=015

每个dreb代表一个11.25°的区间; 

步骤2.2:遍历步骤1得到的图像A2中的所有目标边缘点,对每个目标边缘点进行如下操作:若目标边缘点Pi,j的梯度方向θi,j∈dreb,则所述目标边缘点Pi,j的梯度方向θi,j对应的value(dreb)累加该目标边缘点Pi,j的像素值pixi,j,得到value(dreb)=value(dreb)+pixi,j; 

步骤2.3:取图像A2中的最大主方向区间值为: 

Vmax=max{value(dreb)+value(drec)}b=015

其中c∈[(b+8-α1)%16,(b+8+α1)%16],且c为整数,α1为多视角可变范围,取α1=2;将最大值Vmax对应的dreb区间的中间值和最大值Vmax对应的drec区间的中间值依次对应赋值给两个条码边缘主方向D1和D2; 

步骤2.4:根据步骤2.3得到两个条码边缘主方向,建立目标边缘点的两个梯度方向容错区间:η1=[D12,D12]和η2=[D22,D22],其中α2为梯度方向容错参数,取α2=π/9;遍历步骤1得到的图像A2中的所有目标边缘点,对每个目标边缘点进行如下操作:若目标边缘点Pi,j的梯度方向θi,j∈η1,则该目标边缘点归属于边缘主方向D1,若目标边缘点Pi,j的梯度方向θi,j∈η2,则该目标边缘点归属于边缘主方向D2,若目标边缘点Pi,j的梯度方向不在两个梯度方向容错区间内,则该目标边缘点为噪声干扰点;所有归属于边缘主方向D1的目标边缘点集合为R1,所有归属于边缘主方向D2的目标边缘点集合为R2; 

步骤2.5:建立两个主方向容错区间:Dfirst=[D13,D13]和Dsec=[D23,D23],其中η3为主方向容错参数,取η3=π/18;将目标边缘点集合R1和R2分别在各自的主方向容错区间Dfirst和Dsec里进行Hough变换,得到对应的Hough区间U1和U2,并得到Hough域Hg,Hg长为ρmax, Hg高为γmax,γmax=180,Hg中Hough点(ρ,γ)对应的霍夫值表示为H(ρ,γ); 

步骤3:基于先验知识过滤及预定义边缘组合: 

步骤3.1:遍历Hough域Hg中的所有Hough点,若Hough点(ρ**)满足下列任一个或多个条件,表明该Hough点为非候选目标边缘点: 

条件1:|ρ*-12ρmax|<14ρmax;

条件2:H(ρ**)<8; 

条件3:H(ρ**)在其24邻域内不为最大值,其中(ρ**)的24邻域为{[ρ*+d1*+d2]|d1,d2=-2,-1,0,1,2}; 

将Hough域Hg中的所有非候选目标边缘点去除,得到过滤后的Hough域Hg,过滤后的Hough域Hg中的点为候选目标边缘点; 

步骤3.2:将Hg中的候选目标边缘点分类: 

步骤3.2.1:计算校验Hough点 在图像A2中的对应直线与直线y=tan D1的垂点坐标(x0,y0),以及反方向校验Hough点 在图像A2中的对应直线与直线y=tan D1的垂点坐标(x1,y1): 

x0=ρmax2cosD1y0=ρmax2sinD1,x1=-ρmax2cosD1y1=-ρmax2sinD1

计算校验Hough点 在图像A2中的对应直线与直线y=tan D2的垂点坐标(x2,y2),以及反方向校验 Hough点 在图像A2中的对应直线与直线y=tanD2的垂点坐标(x3,y3): 

x2=ρmax2cosD2y2=ρmax2sinD2,x3=-ρmax2cosD2y3=-ρmax2sinD2

步骤3.2.2:对Hough区间U1中的所有候选目标边缘点进行归类:对于Hough区间U1中的候选目标边缘点(ρ11),计算(ρ11)在图像A2中的对应直线与直线y=tanγ1垂点坐标(x',y'), 分别计算(x',y')与(x0,y0)和(x1,y1)的欧式距离,若(x',y')与(x0,y0)的欧氏距离小于(x',y')与(x1,y1)的欧氏距离,则将此候选目标边缘点(ρ11)归类为集合TS0,否则将其归类为集合TS1;对Hough区间U2中的所有候选目标边缘点进行归类:对于Hough区间U2中的候选目标边缘点(ρ22),计算(ρ22)在图像A2中的对应直线与直线y=tabγ2垂点坐标(x″,y″),其中 分别计算(x″,y″)与(x2,y2)和(x3,y3)的欧式距离,若(x″,y″)与(x2,y2)的欧氏距离小于(x″,y″)与(x3,y3)的欧氏距离,则将此候选目标边缘点(ρ22)归类为集合TS2,否则将其归类为集合TS3; 

步骤4:提取边缘组合的多特征: 

步骤4.1:提取Hg中的所有候选目标边缘点的边缘灰度分布:对于候选目标边缘点(ρoo),其在图像A1中的对应直线lo为ρo=xcosγo+ysinγo,对lo上的每个像素点进行如下步骤,得到lo上的每个像素点的灰度分布值: 

步骤4.1.1:将lo上的像素点(a0,b0)沿lo法线方向向内缩进Δd单位得到像素点(ad,bd),其中(ad,bd)表示图像A1中第a0行b0列的像素点,bd=t(ad-a0)+b0, tanγo=t,cosγo=c1,sinγo=s; 

步骤4.1.2:分别取Δd=0,1,2,3,4,5,6,像素点(a0,b0)沿lo法线方向向内缩进后得到7个像素点 取7个像素点 像素值的平均值p(a0,b0)为(a0,b0)点的灰度分布值; 

按步骤4.1.1和步骤4.1.2得到lo上的每个像素点的灰度分布值,若候选目标边缘点(ρoo)的 则将lo上的所有像素点的灰度分布值按照像素点列数从小到大的顺序排列得到灰度分布值数组,否则将lo上的所有像素点的灰度分布值按照像素点行数从小到大的顺序排列得到灰度分布值数组,所述得到的灰度分布值数组为候选目标边缘点(ρoo)的边缘灰度分布Fl(ρoo); 

步骤4.2:依据候选边缘组合的灰度分布混乱程度特征去除无谓组合: 

步骤4.2.1:计算所有候选目标边缘点的分形维数:对于候选目标边缘点(ρoo),其对应的边缘灰度分布Fl(ρoo)在图像A1中长度为Lo,则Fl(ρoo)对应的分形维δ-覆盖区间为:δ=Lo/k,其中k取3,4,5,6,7,8;将Fl(ρoo)平均分为k个覆盖区间,得到区间δ1,δ2,…,δk;计算δm(m=1,2,…,k)区间内灰度分布值的最大值uδ(m)和最小值bδ(m),以及 得到一组数据点 对该组数据点 进行线性回归处理后得到该组数据点 拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρoo)的分形维数Dim(ρoo); 

步骤4.2.2:从候选目标边缘点归类集合TS0、TS1、TS2和TS3中分别任意选出一个候选目标边缘点,形成一个组合,对候选目标边缘点归类集合TS0、TS1、TS2和TS3能够形成的所有组合采用如下方法判断,得到所有候选边缘组合:对于组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3),所述(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)依次分别为集合TS0、TS1、TS2和TS3中的候选目标边缘点,当 

max(Dim(ρ′0,γ′0),Dim(ρ′1,γ′1))<min(Dim(ρ′2,γ′2),Dim(ρ′3,γ′3))或 

min(Dim(ρ′0,γ′0),Dim(ρ′1,γ′1))>max(Dim(ρ′2,γ′2),Dim(ρ′3,γ′3)) 

成立时,表示组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)为无谓组合,否则表示组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)为候选边缘组合; 

步骤4.2.3:对所有候选边缘组合采用如下方法判断虚边和实边:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),取max(Dim(ρ00),Dim(ρ11))和max(Dim(ρ22),Dim(ρ33))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的虚边,取min(Dim(ρ00),Dim(ρ11))和min(Dim(ρ22),Dim(ρ33))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ00)、(ρ11)、(ρ32)和(ρ33)的实边; 

步骤4.3:采用如下方法提取所有候选边缘组合的边缘线段:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),取Fl(ρ00)和Fl(ρ22)的交点坐标为(x02,y02): 

x02y02=cosγ0sinγ0cosγ2sinγ2-1ρ0ρ2=sinγ2cosγ0sinγ2-cosγ2sinγ0-sinγ0cosγ0sinγ2-cosγ2sinγ0cosγ2cosγ2sinγ0-cosγ0sinγ2-cosγ0cosγ2sinγ0-cosγ0sinγ2ρ0ρ2

Fl(ρ00)与Fl(ρ33)的交点坐标为(x03,y03): 

x03y03=cosγ0sinγ0cosγ3sinγ3-1ρ0ρ3=sinγ3cosγ0sinγ3-cosγ3sinγ0-sinγ0cosγ0sinγ3-cosγ3sinγ0cosγ3cosγ3sinγ0-cosγ0sinγ3-cosγ0cosγ3sinγ0-cosγ0sinγ3ρ0ρ3

Fl(ρ11)与Fl(ρ22)的交点坐标为(x12,y12): 

x12y12=cosγ1sinγ1cosγ2sinγ2-1ρ1ρ2=sinγ2cosγ1sinγ2-cosγ2sinγ1-sinγ1cosγ1sinγ2-cosγ2sinγ1cosγ2cosγ2sinγ1-cosγ1sinγ2-cosγ0cosγ2sinγ1-cosγ1sinγ2ρ1ρ2

Fl(ρ11)与Fl(ρ33)的交点坐标为(x13,y13): 

x13y13=cosγ1sinγ1cosγ3sinγ3-1ρ1ρ3=sinγ3cosγ1sinγ3-cosγ3sinγ1-sinγ1cosγ1sinγ3-cosγ3sinγ1cosγ3cosγ3sinγ1-cosγ1sinγ3-cosγ0cosγ3sinγ1-cosγ1sinγ3ρ1ρ3

在边缘灰度分布Fl(ρ00)中截取处于(x02,y02)与(x03,y03)之间的边缘线段为Fl'(ρ00),在边缘灰度分布Fl(ρ11)中截取处于(x12,y12)与(x13,y13)之间的边缘线段为Fl'(ρ11),在边缘灰度分布Fl(ρ22)中截取处于(x02,y02)与(x12,y12)之间的边缘线段为Fl'(ρ22),在边缘灰度分布Fl(ρ33)中截取处于(x03,y03)与(x13,y13)之间的边缘线段为Fl'(ρ33); 

步骤4.4:采用如下方法提取所有候选边缘组合的图像域虚边特征:对于候选边缘组合的虚边Fl(ρξξ),边缘线段Fl'(ρξξ)的长度为lξ',取p=4,5,6,…,14,循环进行如下划分: 

将边缘线段Fl'(ρξξ)平均划分为p个区间,则边缘线段Fl'(ρξξ)的区间分割点 为: 虚边Fl(ρξξ)在划分为p个区间情况下的第e个区间 为: 对从0至p-3区间 中的每个区间进行如下处理: 

提取区间 内所有元素的灰度分布值,取区间 所有元素灰度分布值的平均值为 根据公式: 

Cep=Σr=0lξ/p(pxep+r-pep)·(pxe+2p+r-pe+2p)(lξ/p)·σ(Xep)·σ(Xe+2p)

计算区间 的相似性 其中 表示区间 内第r个元素的灰度分布值, 表示区间 内第r个元素的灰度分布值, 表示区间 所有元素灰度分布值的平均值, 代表区间 中所有元素灰度分布值标准差, 代表区间 中所有元素灰度分布值标准差;根据公式: 

Gep=Cep+12e-(rep)2/2φ2

构造对比度高斯加权 其中, 为表示区间 所有元素灰度分布值的平均值,φ=1/8h;归一化虚边Fl'(ρξξ)的特征值 

取p=4,5,6,…,14这11种划分方式中特征值最大的划分方式为最佳划分方式Δ0×Δ0,其中Δ0等于最佳划分方式对应的p值,最大特征值赋值为G0;同一候选边缘组合另一条虚边的最大特征值赋值为G1; 

对于一个候选边缘组合内的两条虚边,若该两条虚边的最佳划分方式不相同,则将该候选边缘组合重新定义为无谓组合; 

步骤4.5:采用如下方法提取所有候选边缘组合的图像域实边特征:对于候选边缘组合的实边Fl(ρζζ),取边缘线段Fl'(ρζζ)中的元素最大值与元素最小值之差为M,令F1为边缘线段Fl'(ρζζ)中的元素最小值,FM为边缘线段Fl'(ρζζ)中的元素最大值,Fi+1=Fi+1,i=1~M-2,建立初始灰度层共现矩阵Q: 

Q=Q(F1,F1)Q(F1,F2)...Q(F1,FM)Q(F2,F1)Q(F2,F2)...Q(F2,FM)............Q(FM,F1)Q(FM,F2)...Q(FM,FM)00...000...0............00...0

遍历边缘线段Fl'(ρζζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式: 

Q(Fi,Fj)=Q(Fi,Fj)Σm=1MΣn=1MQ(Fm,Fn),i=1~M,j=1~M

归一化灰度层共现矩阵Q,得到实边特征为 同一候选边缘组合的另一条实边特征记为I1; 

步骤4.6:采用如下方法提取Hough域所有候选边缘组合的内部边缘分布特征: 

步骤4.6.1:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),其交点为(x02,y02),(x03,y03),(x12,y12)和(x13,y13),其最佳划分方式为Δ0×Δ0;将交点(x02,y02),(x03,y03),(x12,y12)和(x13,y13)映射为无透视形变的DataMatrix码顶点,映射关系为(x03,y03)(0,l),(x02,y02)(l,l),(x12,y12)(l,0)与 (x13,y13)(0,0),l=max(x12-x13,x02-x03)×max(y03-y13,y02-y13);根据映射关系得到透视变换齐 次方程为: 

0l1=h11h12h13h21h22h23h31h321x03y031

ll1=h11h12h13h21h22h23h31h321x02y021

l01=h11h12h13h21h22h23h31h321x12y121

001=h11h12h13h21h22h23h31h321x13y131

解出齐次矩阵H=h11h12h13h21h22h23h31h321;

步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为: 

L1={li|li=f((x03+lΔ0*i,y03),(x13+lΔ0*i,y13)),i=0,1,2,...,Δ0}和 

L2={lj|lj=f((x13,y13+lΔ0*j),(x12,y12+lΔ0*j)),j=0,1,2,...,Δ0},

其中函数f((x1,y1),(x2,y2))表示由点(x1,y1)和点(x2,y2)连成的直线; 

步骤4.6.3:对于DataMatrix码内部边缘集合L1和L2中的所有直线进行如下操作:对于集合L1和L2中的直线lm=f((x1,y1),(x2,y2)),取lm在图像A1中对应的边缘直线为:lm'=f((x1',y1'),(x2',y2')),其中: 

x1=h11x1+h12y1+h13h31x1+h32y1+h33,y1=h21x1+h22y1+h23h31x1+h32y1+h33

x2=h11x2+h12y2+h13h31x2+h32y2+h33,y2=h21x2+h22y2+h23h31x2+h32y2+h33

得到与lm'对应的霍夫点(ρm',γm'): 

γm=-arctanx1-x2y1-y2ρm=x1cosγm+y1sinγm;

得到集合L1和L2中所有直线在图像A1中对应的边缘直线为 与 及 与 在霍夫域 对应的霍夫点{(ρi,γi)}i=0Δ0{(ρj,γj)}j=0Δ0;

步骤4.6.4:取hough点 (ρn',γn')分布邻域为: 

((ρn-1+ρn2,γn-1+γn2),(ρn,γn))((ρn,γn),(ρn+1+ρn2,γn+1+γn2))

提取hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点,组成一个边缘点分布区间 中的元素为hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点的灰度值; 

分布区间 峰度值gn为: 

gn=N2(N+1)u4(N-1)(N-2)(N-3)s4-3(N-1)2(N-2)(N-3)

其中N为分布区间 的长度,s=1N-1ΣηiUn(ηi-1NΣηjUnηj)2,u4=1NΣηiUn(ηi-1NΣηjUnηj)4,ηi为 中的元素;计算得到边缘直线集合 的峰度平均值: 

步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合 的峰度平均值为k1;得到候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ32)的Hough域内部边缘分布特征k0和k1; 

步骤5:根据步骤4得到的虚边特征值G0与G1、实边特征值I0与I1、以及Hough域内部边缘分布特征k0和k1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为: 1≤i≤W,所有候选边缘组合特征的集合记为: 

步骤5.1:分配多特征的基本信度: 

步骤5.1.1:从至少10幅标准DataMatrix码图像中提取所述6个特征G0,G1,I0,I1,k0,k1,并求取每个特征的平均值,将其作为标准尺度,设为 

步骤5.1.2:计算W组候选边缘组合中每个特征的最大值,用 表示; 

步骤5.1.3:对于 中的候选边缘组合特征Fetv,Fetv的第j个特征的焦元[A]信度分配(mv,j(A))为: 

其中焦元[A]表示属于DM码精确定位特征;Fetv第j个特征的焦元[A]似真函数值(Plv,j(A))为: 

Fetv第j个特征的焦元[B]的信度分配mv,j(B)为:mv,j(B)=1-Plv,j(A),焦元[A,B]的信度分配mv,j(Θ)为:mv,j(Θ)=1-mv,j(A)-mv,j(B),其中焦元[B]表示不属于DM码精确定位特征,焦元[A,B]表示不确定; 

步骤5.1.4:重复步骤5.1.3,求取Fetv中所有特征的信度分配; 

步骤5.1.5:重复步骤5.1.3~5.1.4,求取出所有候选边缘组合 的所有特征的信度分配; 

步骤5.2:基于Dempster融合规则的多特征融合: 

步骤5.2.1:对于 中的候选边缘组合特征Fetv,计算Fetv的第一个特征fetv,1与第二个特征fetv,2之间的冲突大小Kv(1): 

Kv(1)=mv,1(A)mv,2(B)+mv,2(A)mv,1(B) 

计算fet1与fet2融合之后的新焦元信度分配mv(1)(A),mv(1)(B)与mv(1)(Θ): 

mv(1)(A)=mv,1(A)mv,2(A)+mv,1(A)mv,2(Θ)+mv,1(Θ)mv,2(A)1-Kv(1)

mv(1)(B)=mv,1(B)mv,2(B)+mv,1(B)mv,2(Θ)+mv,1(Θ)mv,2(B)1-Kv(1)

mv(1)(Θ)=mv,1(Θ)mv,2(Θ)1-Kv(1);

将融合之后的新焦元信度分配与余下特征按照下面公式进行逐个融合,其中融合后的新焦元信度分配mv(i)(A),mv(i)(B)和mv(i)(Θ)为,i取2~5: 

mv(i)(A)=mv(i-1)(A)mv,i+1(A)+mv(i-1)(A)mv,i+1(Θ)+mv(i-1)(Θ)mv,i+1(A)1-Kv(i)

mv(i)(B)=mv(i-1)(B)mv,i+1(B)+mv(i-1)(B)mv,i+1(Θ)+mv(i-1)(Θ)mv,i+1(B)1-Kv(i)

mv(i)(Θ)=mv(i-1)(Θ)mv,i+1(Θ)1-Kv(i);

Kv(i)=mv(i-1)(A)mv,i+1(B)+mv,i+1(A)mv(i-1)(B) 

得到最终融合结果mv(5)(A),mv(5)(B)与mv(5)(Θ); 

步骤5.2.2:重复步骤5.2.1,得到 中所有的候选边缘组合特征的最终融合结果; 

步骤5.3:基于证据理论决策规则的最终精确定位边缘组合判决: 

步骤5.3.1:建立初始最大信任度值m(A)=0,将W组候选边缘组合中的第一组候选边缘组合设为初始最佳候选边缘组合;从W组候选边缘组合中的第二组候选边缘组合开始,顺序选取候选边缘组合,进入步骤5.3.2; 

步骤5.3.2:当选取的候选边缘组合的最终融合结果中m(5)(A)>m(5)(Θ)且m(5)(Θ)<0.2且m(5)(A)>m(A),则进入步骤5.3.3,否则选取下一个候选边缘组合,重复本步骤5.3.2; 

步骤5.3.3:用步骤5.3.2中选出的候选边缘组合作为新的最佳候选边缘组合,用步骤5.3.2中选出的候选边缘组合的最终融合结果中的m(5)(A)作为新的最大信任度值; 

步骤5.3.4:重复步骤5.3.2~步骤5.3.3,遍历所有W组候选边缘组合中的所有候选边缘组合,最终得到的最佳候选边缘组合即为最终定位结果。 

有益效果 

本发明对于存在生锈腐蚀、高反光覆盖及磨损划痕干扰等污染及透视形变在20°之内的金属上的DataMatrix码都有较高的四边缘精确定位率。精确定位正确率在85%以上。对于400*400pix,经过粗定位后的DataMatrix码输入图像,在Visual Studio 2005软件平台,内存1G,CPU 3.0GHz硬件平台下,算法处理时间可以控制在1s以内。 

附图说明

图1:本发明的流程图; 

图2:插值区间及角度图; 

图3:分类垂点示意图; 

图4:虚边与实边灰度分布实例图; 

图5:无透视形变Datamatrix码hough域边缘点分布定义域; 

图6:透视形变Datamatrix码hough域边缘点分布定义域; 

图7:实施例1中所有候选边缘组合特征融合后,支持度m(A)的对比图; 

图8:强划痕污染的Datamatrix码精确定位总过程实例; 

图9:高光覆盖及低对比度的Datamatrix码精确定位总过程实例; 

图10:高斯噪声污染及反光干扰的Datamatrix码精确定位总过程实例。 

具体实施方式

下面结合具体实施例描述本发明: 

实施例1:强划痕污染的DataMatrix码精确定位 

本实施例选取的粗定位之后的二维条码图像大小都为400pix*400pix,并且是8位bmp位图。 

本实例所处理的图像如图8(a)所示,粗定位之后的Datamatrix码被划痕所污染,并且部分定位边缘已模糊不清,并且具有轻微的透视形变,这在已有的通过几何形态定位二维条码方法中是无法处理的。 

本实施例采用的用于污染及多视角情况下DataMatrix码的精确定位方法,包括以下步骤: 

步骤1:对含有DataMatrix码的输入图像A进行预处理,所述输入图像A的宽度为w像素,高度为h像素:本实施例即对图像8(a)进行预处理。DataMatrix码最重要的特征是边缘,包括四条定位边缘及内部模块边缘,但由于多种细小噪声的存在会影响边缘提取的效果,所以在提取边缘之前需要平滑原图像消除细小噪声的影响。 

步骤1.1:采用“选择式掩模平滑”方法遍历输入图像A,得到平滑后的图像为A1;对图像A1求取“灰值形态学梯度”得到灰值梯度图像A2;对图像A2进行“大津阈值分割”得到二值化的梯度图像A3; 

本实施例中,利用“选择式掩模平滑”方法在消除噪声的同时都避免平均化带来的缺陷,较好的保留图像边缘细节,尽量不模糊边缘轮廓。本实施例采用9种屏蔽窗口模板为: 

000000111001110011100000000000110001110011000000000111001110001000000000000

000000001100111000110000000000000000010001110011101100011100011000000000000

000110011100110000000000000000000000011000111000110000000000011001110011000

处理效果如图8(b)所示;对图8(b)进行灰值形态学梯度求取,使用的结构元素为半径为2个像素的圆形结构元素,并将提取的灰值边缘图像进行大津阈值分割,分割阈值T1=105,分割效果如图8(c)所示。 

步骤1.2:在图像A2中选取像素值pixi,j>T1的像素点Pi,j作为候选边缘点,其中pixi,j表示图像A2中第i行j列像素点Pi,j的像素值,T1为步骤1.1中“大津阈值分割”时得到的大津阈值;对每个候选边缘点Pi,j采取如下步骤: 

步骤1.2.1:建立候选边缘点Pi,j与8邻域像素点的角度对应关系: 

θ(Pi,j,Pi,j-1)=-π/2=Ang[0];θ(Pi,j,Pi,j+1)=π/2=Ang[4]; 

θ(Pi,j,Pi-1,j+1)=θ(Pi,j,Pi+1,j-1)=-π/4=Ang[1]; 

θ(Pi,j,Pi-1,j)=θ(Pi,j,Pi+1,j)=0=Ang[2]; 

θ(Pi,j,Pi+1,j+1)=θ(Pi,j,Pi-1,j-1)=π/4=Ang[3]; 

其中,θ函数代表点Pi,j与其8邻域像素点中对应点之间的角度对应函数,例如θ(Pi,j,Pi,j-1)代表Pi,j与Pi,j-1之间的角度对应函数;Ang[0]~Ang[4]代表点Pi,j与其8邻域像素点中对应点的角度序号,例如Ang[0]代表Pi,j与Pi,j-1的角度序号,亦即Pi,j-1为Pi,j在Ang[0]方向上的像素点; 

步骤1.2.2:计算候选边缘点Pi,j的sobel梯度方向θi,j=arctan(dyi,j/dxi,j),其中: 

dyi,j=(pixi-1,j+1+2pixi,j+1+pixi+1,j+1)-(pixi-1,j-1+2pixi,j-1+pixi+1,j-1

dxi,j=(pixi+1,j+1+2pixi+1,j+pixi+1,j-1)-(pixi-1,j+1+2pixi-1,j+pixi-1,j-1

步骤1.2.3:确定θi,j所在的角度区间为θi,j∈[Ang[a],Ang[a+1]],a为[0,3]区间内的整数,则候选边缘点Pi,j在θi,j正方向的像素值插值p1,i,j为: 

p1,i,j=(θi,j-Ang[a])*p(a)+(Ang[a+1]-θi,j)*p(a+1)π/4

候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为: 

p2,i,j=(θi,j-Ang[(a+2)%4])*p((a+2)%4)+(Ang[(a+3)%4]-θi,j)*p((a+3)%4)π/4

其中p(a)为点Pi,j在Ang[a]角度方向上的像素点的像素值; 

步骤1.2.4:取校验参数diff(i,j)=max{|pixi,j-p1,i,j|,|pixi,j-p2,i,j|},当diff(i,j)<T2时,所求得的梯度方向趋向于边缘方向,无法正确描述形态学梯度的变化方向,将该候选边缘点Pi,j设为背景点,令该候选边缘点Pi,j像素值为0;当diff(i,j)≥T2时,若pixi,j>p1,i,j且pixi,j>p2,i,j,则将该候选边缘点Pi,j标记为目标边缘点,否则将该候选边缘点Pi,j设为背景点,令该候选边缘点Pi,j像素值为0;其中T2取值为80。 

本实施例中,由于检测出的边缘较宽,存在大量无用边缘目标点,大大影响后续Hough变换处理速度,所以采用了步骤1.2的基于梯度边缘方向检测出亚像素级的边缘,大大细化边缘,由于考虑到了像素点的边缘方向,所以细化粗边缘的同时并对低强度边缘进行了保护,其中像素点与其8邻域像素点的角度对应关系如图2所示。细化后的效果如图8(d)所示。 

步骤2:快速Hough变换得到Hough变换域: 

步骤2.1:建立DataMatrix码边缘方向的初始零数组 具体表示为: 

{value(dreb)|dreb[-π2+16,-π2+(b+1)π16)}b=015

每个dreb代表一个11.25°的区间; 

步骤2.2:遍历步骤1得到的图像A2中的所有目标边缘点,对每个目标边缘点进行如下操作:若目标边缘点Pi,j的梯度方向θi,j∈dreb,则所述目标边缘点Pi,j的梯度方向θi,j对应的value(dreb)累加该目标边缘点Pi,j的像素值pixi,j,得到value(dreb)=value(dreb)+pixi,j; 

步骤2.3:取图像A2中的最大主方向区间值为: 

Vmax=max{value(dreb)+value(drec)}b=015

其中c∈[(b+8-α1)%16,(b+8+α1)%16],且c为整数,α1为多视角可变范围,取α1=2;将最大值Vmax对应的dreb区间的中间值和最大值Vmax对应的drec区间的中间值依次对应赋值给两个条码边缘主方向D1和D2;取α1=2即默认一般情况下透视形变不会超过25°; 

步骤2.4:根据步骤2.3得到两个条码边缘主方向,建立目标边缘点的两个梯度方向容错区间:η1=[D12,D12]和η2=[D22,D22],其中α2为梯度方向容错参数,取 遍历步骤1得到的图像A2中的所有目标边缘点,对每个目标边缘点进行如下操作,判断其梯度方向的归属:若目标边缘点Pi,j的梯度方向θi,j∈η1,则该目标边缘点归属于边缘主方向D1,若目标边缘点Pi,j的梯度方向θi,j∈η2,则该目标边缘点归属于边缘主方向D2,若目标边缘点Pi,j的梯度方向不在两个梯度方向容错区间内,则该目标边缘点为噪声干扰点;所有归属于边缘主方向D1的目标边缘点集合为R1,所有归属于边缘主方向D2的目标边缘点集合为R2; 

步骤2.5:建立两个主方向容错区间:Dfirst=[D13,D13]和Dsec=[D23,D23],其中η3为主方向容错参数,取 将目标边缘点集合R1和R2分别在各自的主方向容错区间Dfirst和Dsec里进行Hough变换,得到对应的Hough区间U1和U2,并得到Hough域Hg,Hg长为ρmax,代表霍夫变换的极半径, Hg高为γmax,γmax=180,Hg中Hough点(ρ,γ)对应的霍夫值表示为H(ρ,γ)。 

传统的霍夫变换对空域中的每个目标点都在霍夫域中的θ定义域中遍历一遍,作为累加,实际上传统霍夫变换的运算效率为O(nθ),其中n为目标点个数,θ一般取180°,本实例中经过步骤1.2细化后的边缘目标点共为5679个,所以传统霍夫变换是无法满足实时需要的。本实例利用步骤2快速Hough变换方法,首先求得两主方向D1=0.498785和D2=-1.046725,然后判断候选目标点的归属梯度方向容错区间,两个候选边缘点梯度方向容错区间η1和η2对应的目标边缘点集合R1和R2分别为1953和1018个,去除了大量干扰噪声点。然后两个梯度方向容错区间内的边缘目标点分别在各自主方向容错区建立进行Hough累加。改进后的运算叠加次数降至:1953×20+1018×20=59420次,而传统Hough变换为:5679×180=1022220次。所以处理时间降至传统的5.8%。同时由于去除大量干扰噪声点的无效累加,提高了Hough域的清洁度。得到的Hough域如图8(e)所示。 

步骤3:基于先验知识过滤及预定义边缘组合: 

步骤3.1:遍历Hough域Hg中的所有Hough点,若Hough点(ρ**)满足下列任一个或多个条件,表明该Hough点为非候选目标边缘点: 

条件1:|ρ*-12ρmax|<14ρmax;

条件2:H(ρ**)<8; 

条件3:H(ρ**)在其24邻域内不为最大值,其中(ρ**)的24邻域为{[ρ*+d1*+d2]|d1,d2=-2,-1,0,1,2}; 

将Hough域Hg中的所有非候选目标边缘点去除,得到过滤后的Hough域Hg,过滤后的Hough域Hg中的点为候选目标边缘点; 

步骤3.2:将Hg中的候选目标边缘点分类: 

步骤3.2.1:计算校验Hough点 在图像A2中的对应直线与直线y=tanD1的垂点坐标(x0,y0),以及反方向校验Hough点 在图像A2中的对应直线与直线y=tanD1的垂点坐标(x1,y1): 

x0=ρmax2cosD1y0=ρmax2sinD1,x1=-ρmax2cosD1y1=-ρmax2sinD1

计算校验Hough点 在图像A2中的对应直线与直线y=tanD2的垂点坐标(x2,y2),以及反方向校验Hough点 在图像A2中的对应直线与直线y=tanD2的垂点坐标(x3,y3): 

x2=ρmax2cosD2y2=ρmax2sinD2,x3=-ρmax2cosD2y3=-ρmax2sinD2

步骤3.2.2:对Hough区间U1中的所有候选目标边缘点进行归类:对于Hough区间U1中的候选目标边缘点(ρ11),计算(ρ11)在图像A2中的对应直线与直线y=tanγ1垂点坐标(x',y'), 分别计算(x',y')与(x0,y0)和(x1,y1)的欧式距离,若(x',y')与(x0,y0)的欧氏距离小于(x',y')与(x1,y1)的欧氏距离,则将此候选目标边缘点(ρ11)归类为集合TS0,否则将其归类为集合TS1;对Hough区间U2中的所有候选目标边缘点进行归类:对于Hough区间U2中的候选目标边缘点(ρ22),计算(ρ22)在图像A2中的对应直线与直线y=tanγ2垂点坐标(x″,y″),其中 分别计算(x″,y″)与(x2,y2)和(x3,y3)的欧式距离,若(x″,y″)与(x2,y2)的欧氏距离小于(x″,y″)与(x3,y3)的欧氏距离,则将此候选目标边缘点(ρ22)归类为集合TS2,否则将其归类为集合TS3。 

Datamatrix码能否精确定位实际上等价于能否精确的找到DM码对应的四条边缘,转换到Hough域就是能否准确定位到DM码四条边缘对应的四个霍夫点,由步骤2得到Hough变换域,其中每个非0累加点都可以看成是候选DM码四边缘对应的Hough点,但事实上若不加筛选的任选4个进行组合,一是运算量惊人,不可接受, 本实例中原Hough域存在8337个非0的Hough累加点,实际的运算量为 次判别;二是根据DM码的性质,存在一些先验知识,可作为DM码四条边缘的筛选。事实上由边缘图像可知,若直线在实际边缘上,则位于直线上的目标点数目较多,若直线沿着实际边缘有角度偏转或沿着实际边缘的法线方向偏移,在理想情况下此时直线上的目标点将会急速减少,在Hough域中表现为实际边缘所对应的直线在局部区域为极大值点。本实施例利用步骤3.1基于局部极值点先验知识过滤非边缘Hough点方法,将候选边缘Hough点过滤为63个。由于Datamatrix码四条边缘分属两个主方向,所以本实施例利用步骤3.2Datamatrix码候选边缘分类组合方法,通过判断候选边缘Hough点在图像域中垂点坐标与校验边缘Hough点在图像域中垂点坐标的距离(校验边缘Hough点在图像域中垂点示意图如图3所示),归为四类集合,每类集合都包含Datamatrix码四条边缘中的其中一条,本实例求得四类集合中候选边缘点个数分别为:TS0=2,TS1=16,TS2=16,TS3=29。至此,候选边缘组合降至 组。候选边缘组合如图8(f)所示。 

步骤4:提取边缘组合的多特征: 

步骤4.1:提取Hg中的所有候选目标边缘点的边缘灰度分布:对于候选目标边缘点(ρoo),其在图像A1中的对应直线lo为ρo=xcosγo+ysinγo,对lo上的每个像素点进行如下步骤,得到lo上的每个像素点的灰度分布值: 

步骤4.1.1:将lo上的像素点(a0,b0)沿lo法线方向向内缩进Δd单位得到像素点(ad,bd),其中(ad,bd)表示图像A1中第a0行b0列的像素点,bd=t(ad-a0)+b0, tanγo=t,cosγo=c1,sinγo=s; 

步骤4.1.2:分别取Δd=0,1,2,3,4,5,6,像素点(a0,b0)沿lo法线方向向内缩进后得到7个像素点 取7个像素点 像素值的平均值p(a0,b0)为(a0,b0)点的灰度分布值; 

按步骤4.1.1和步骤4.1.2得到lo上的每个像素点的灰度分布值,若候选目标边缘点(ρoo)的 则将l0上的所有像素点的灰度分布值按照像素点列数从小到大的顺序排列得到灰度分布值数组,否则将l0上的所有像素点的灰度分布值按照像素点行数从小到大的顺序排列得到灰度分布值数组,所述得到的灰度分布值数组为候选目标边缘点(ρoo)的边缘灰度分布Fl(ρoo); 

步骤4.2:依据候选边缘组合的灰度分布混乱程度特征去除无谓组合: 

步骤4.2.1:计算所有候选目标边缘点的分形维数:对于候选目标边缘点(ρoo),其对应的边缘灰度分布Fl(ρoo)在图像A1中长度为Lo,则Fl(ρoo)对应的分形维δ-覆盖区间为:δ=Lo/k,其中k取3,4,5,6,7,8;将Fl(ρoo)平均分为k个覆盖区间,得到区间δ1,δ2,…,δk;计算δm(m=1,2,…,k)区间内灰度分布值的最大值uδ(m)和最小值bδ(m),以及 得到一组数据点 对该组数据点 进行线性回归处理后得到该组数据点 拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρoo)的分形维数Dim(ρoo); 

步骤4.2.2:从候选目标边缘点归类集合TS0、TS1、tS2和TS3中分别任意选出一个候选目标边缘点,形成一个组合,对候选目标边缘点归类集合TS0、TS1、TS2和TS3能够形成的所有组合采用如下方法判断,得到所有候选边缘组合:对于组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3),所述(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)依次分别为集合TS0、TS1、TS2和TS3中的候选目标边缘点,当 

max(Dim(ρ′0,γ′0),Dim(ρ′1,γ′1))<min(Dim(ρ′2,γ′2),Dim(ρ′3,γ′3))或 

min(Dim(ρ′0,γ′0),Dim(ρ′1,γ′1))>max(Dim(ρ′2,γ′2),Dim(ρ′3,γ′3)) 

成立时,表示组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)为无谓组合,否则表示组合(ρ′0,γ′0)、(ρ′1,γ′1)、(ρ′2,γ′2)和(ρ′3,γ′3)为候选边缘组合; 

步骤4.2.3:对所有候选边缘组合采用如下方法判断虚边和实边:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),取max(Dim(ρ00),Dim(ρ11))和max(Dim(ρ22),Dim(ρ33))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的虚边,取min(Dim(ρ00),Dim(ρ11))和min(Dim(ρ22),Dim(ρ33))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的实边; 

步骤4.3:采用如下方法提取所有候选边缘组合的边缘线段:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),取Fl(ρ00)和Fl(ρ22)的交点坐标为(x02,y02): 

x02y02=cosγ0sinγ0cosγ2sinγ2-1ρ0ρ2=sinγ2cosγ0sinγ2-cosγ2sinγ0-sinγ0cosγ0sinγ2-cosγ2sinγ0cosγ2cosγ2sinγ0-cosγ0sinγ2-cosγ0cosγ2sinγ0-cosγ0sinγ2ρ0ρ2

Fl(ρ00)与Fl(ρ33)的交点坐标为(x03,y03): 

x03y03=cosγ0sinγ0cosγ3sinγ3-1ρ0ρ3=sinγ3cosγ0sinγ3-cosγ3sinγ0-sinγ0cosγ0sinγ3-cosγ3sinγ0cosγ3cosγ3sinγ0-cosγ0sinγ3-cosγ0cosγ3sinγ0-cosγ0sinγ3ρ0ρ3

Fl(ρ11)与Fl(ρ22)的交点坐标为(x12,y12): 

x12y12=cosγ1sinγ1cosγ2sinγ2-1ρ1ρ2=sinγ2cosγ1sinγ2-cosγ2sinγ1-sinγ1cosγ1sinγ2-cosγ2sinγ1cosγ2cosγ2sinγ1-cosγ1sinγ2-cosγ0cosγ2sinγ1-cosγ1sinγ2ρ1ρ2

Fl(ρ11)与Fl(ρ33)的交点坐标为(x13,y13): 

x13y13=cosγ1sinγ1cosγ3sinγ3-1ρ1ρ3=sinγ3cosγ1sinγ3-cosγ3sinγ1-sinγ1cosγ1sinγ3-cosγ3sinγ1cosγ3cosγ3sinγ1-cosγ1sinγ3-cosγ0cosγ3sinγ1-cosγ1sinγ3ρ1ρ3

在边缘灰度分布Fl(ρ00)中截取处于(x02,y02)与(x03,y03)之间的边缘线段为Fl'(ρ00),在边缘灰度分布Fl(ρ11)中截取处于(x12,y12)与(x13,y13)之间的边缘线段为Fl'(ρ11),在边缘灰度分布Fl(ρ22)中截取处于(x02,y02)与(x12,y12)之间的边缘线段为Fl'(ρ22),在边缘灰度分布Fl(ρ33)中截取处于(x03,y03)与(x13,y13)之间的边缘线段为Fl'(ρ33); 

步骤4.4:采用如下方法提取所有候选边缘组合的图像域虚边特征:对于候选边缘组合的虚边Fl(ρξξ),边缘线段Fl'(ρξξ)的长度为lξ',取p=4,5,6,…,14,循环进行如下划分: 

将边缘线段Fl'(ρξξ)平均划分为p个区间,则边缘线段Fl'(ρξξ)的区间分割点 为: 虚边Fl(ρξξ)在划分为p个区间情况下的第e个区间 为: 对从0至p-3区间 中的每个区间进行如下处理: 

提取区间 内所有元素的灰度分布值,取区间 所有元素灰度分布值的平均值为 根据公式: 

Cep=Σr=0lξ/p(pxep+r-pep)·(pxe+2p+r-pe+2p)(lξ/p)·σ(Xep)·σ(Xe+2p)

计算区间 的相似性 其中 表示区间 内第r个元素的灰度分布值, 表示区间 内第r个元素的灰度分布值, 表示区间 所有元素灰度分布值的平均值, 代表区间 中所有元素灰度分布值标准差, 代表区间 中所有元素灰度分布值标准差;根据公式: 

Gep=Cep+12e-(rep)2/2φ2

构造对比度高斯加权 其中, 为表示区间 所有元素灰度分布值的平均值,φ=1/8h用来控制互异属性模块之间的相互关系;归一化虚边Fl'(ρξξ)的特征值 

取p=4,5,6,…,14这11种划分方式中特征值最大的划分方式为最佳划分方式Δ0×Δ0,其中Δ0等于最佳划分方式对应的p值,最大特征值赋值为G0;同一候选边缘组合另一条虚边的最大特征值赋值为G1; 

对于一个候选边缘组合内的两条虚边,若该两条虚边的最佳划分方式不相同,则将该候选边缘组合重新定义为无谓组合; 

步骤4.5:采用如下方法提取所有候选边缘组合的图像域实边特征:对于候选边缘组合的实边Fl(ρζζ),取边缘线段Fl'(ρζζ)中的元素最大值与元素最小值之差为M,令F1为边缘线段Fl'(ρζζ)中的元素最小值,FM为边缘线段Fl'(ρζζ)中的元素最大值,Fi+1=Fi+1,i=1~M-2,建立初始灰度层共现矩阵Q: 

Q=Q(F1,F1)Q(F1,F2)...Q(F1,FM)Q(F2,F1)Q(F2,F2)...Q(F2,FM)............Q(FM,F1)Q(FM,F2)...Q(FM,FM)00...000...0............00...0

遍历边缘线段Fl'(ρζζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式: 

Q(Fi,Fj)=Q(Fi,Fj)Σm=1MΣn=1MQ(Fm,Fn),i=1~M,j=1~M

归一化灰度层共现矩阵Q,得到实边特征为 同一候选边缘组合的另一条实边特征记为I1; 

步骤4.6:采用如下方法提取Hough域所有候选边缘组合的内部边缘分布特征: 

步骤4.6.1:对于候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33),其交点为(x02,y02),(x03,y03),(x12,y12)和(x13,y13),其最佳划分方式为Δ0×Δ0;将交点(x02,y02),(x03,y03),(x12,y12)和(x13,y13)映射为无透视形变的DataMatrix码顶点,映射关系为(x03,y03)(0,l),(x02,y02)(l,l),(x12,y12)(l,0)与 (x13,y13)(0,0),l=max(x12-x13,x02-x03)×max(y03-y13,y02-y13);根据映射关系得到透视变换齐次方程为: 

0l1=h11h12h13h21h22h23h31h321x03y031

ll1=h11h12h13h21h22h23h31h321x02y021

l01=h11h12h13h21h22h23h31h321x12y121

001=h11h12h13h21h22h23h31h321x13y131

解出齐次矩阵H=h11h12h13h21h22h23h31h321;

步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为: 

L1={li|li=f((x03+lΔ0*i,y03),(x13+lΔ0*i,y13)),i=0,1,2,...,Δ0}和 

L2={lj|lj=f((x13,y13+lΔ0*j),(x12,y12+lΔ0*j)),j=0,1,2,...,Δ0},

其中函数f((x1,y1),(x2,y2))表示由点(x1,y1)和点(x2,y2)连成的直线; 

步骤4.6.3:对于DataMatrix码内部边缘集合L1和L2中的所有直线进行如下操作:对于集合L1和L2中的直线lm=f((x1,y1),(x2,y2)),取lm在图像A1中对应的边缘直线为:lm'=f((x1',y1'),(x2',y2')),其中: 

x1=h11x1+h12y1+h13h31x1+h32y1+h33,y1=h21x1+h22y1+h23h31x1+h32y1+h33

x2=h11x2+h12y2+h13h31x2+h32y2+h33,y2=h21x2+h22y2+h23h31x2+h32y2+h33

得到与lm'对应的霍夫点(ρm',γm'): 

γm=-arctanx1-x2y1-y2ρm=x1cosγm+y1sinγm;

得到集合L1和L2中所有直线在图像A1中对应的边缘直线为 与 及 与 在霍夫域对应的霍夫点{(ρi,γi)}i=0Δ0{(ρj,γj)}j=0Δ0;

步骤4.6.4:取hough点 (ρn',γn')分布邻域为: 

((ρn-1+ρn2,γn-1+γn2),(ρn,γn))((ρn,γn),(ρn+1+ρn2,γn+1+γn2))

提取hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点,组成一个边缘点分布区间 中的元素为hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点的灰度值; 

分布区间 峰度值gn为: 

gn=N2(N+1)u4(N-1)(N-2)(N-3)s4-3(N-1)2(N-2)(N-3)

其中N为分布区间 的长度,即代表一个波峰的宽度, ηi为 中的元素;计算得到边缘直线集合 的峰度平均值: k0=Σn=1Δ0-1gn/Δ0-1;

步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合 的峰度平均值为k1;得到候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的Hough域内部边缘分布特征k0和k1。 

本实施例中,首先利用步骤4.1中方法提取出63个候选边缘Hough点在图像域中的灰度分布。如图4所示为本实例的实边和虚边边缘的灰度分布,虚边所对应的灰度分布明显粗糙于实边所对应的灰度分布,由于分形维数纹理描述算法,与人眼对图像表面粗糙程度的判断一致,并且分形维数越大代表纹理越粗糙,反之纹理越细腻,所以本实施例利用步骤4.2中方法计算63组灰度分布的分形维数,对于每组候选边缘组合,判断其分形维数的关系,根据分形维数相对大为虚边,反之为实边的原则,剔除不满足两实边两虚边组合原则的候选边缘组合,共剩下5083组,本实例中正确的边缘组合分形维数如下: 

表1实例1目标的分形维数 

  实/虚边   实边   虚边   实边   虚边   分形维数   1.230   1.681   1.192   1.853

然后利用步骤4.3中方法求取每组边缘组合的顶点坐标,继而提取出每组边缘组合对应的边缘线段。由于DataMatrix码虚边最重要的性质就是由黑白交替的模块组成,所以利用步骤4.4中方法,采用相邻同属性模块的互相关性与相邻异属性模块之间的差异性联合描述虚边特征,继而提取出虚边边缘线段的特征。相对于虚边边缘,实边特征从观测角度较为简单,实际就是灰度均匀分布或灰度缓慢变化的(考虑到有光照不均)像素值较高的一条区域,所以利用步骤4.5中方法,利用灰度共生矩阵的逆差矩作为实边边缘线段的特征。最后对于Hough域中候选边缘组合的内部边缘分布特征,在DataMatrix码无透视形变时,候选边缘组合的内部边缘点在同一平行线上,很容易提取,如图5所示,但如果有透视形变时,此种性质就不满足,无法直接提取,如图6所示。所以利用步骤4.6中方法,先根据候选边缘组合的四个顶点求取出透视变换齐次矩阵,然后根据透视变换齐次矩阵确定实际候选边缘组合的内部边缘点在Hough域中位置,最后利用峰度特征描述Hough域中候选边缘组合的内部边 缘分布。本实例中,正确的边缘组合对应的两虚边特征:G0=0.612,G1=0.417;两实边特征:I0=0.789,I1=0.647;Hough域内部边缘分布特征:k0=0.662,k1=0.638。并且判断出最佳划分方式m0×m0=14×14。 

步骤5:根据步骤4得到的虚边特征值G0与G1、实边特征值I0与I1、以及Hough域内部边缘分布特征k0和k1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为: 1≤i≤W,所有候选边缘组合特征的集合记为: 本专利中的每个特征分类事实上都是一个二分类问题,即A:属于DM码精确定位特征;B:不属于DM码精确定位特征。其识别框架Θ={A,B},幂集元素有{[A],[B],[A,B]}三个焦元元素,分别代表着“精确定位”(支持证据区间),“非精确定位”(拒绝证据区间),“不确定”(不确定证据区间)。 

步骤5.1:分配多特征的基本信度: 

步骤5.1.1:从至少10幅标准DataMatrix码图像中提取所述6个特征G0,G1,I0,I1,k0,k1,并求取每个特征的平均值,将其作为标准尺度,设为 

步骤5.1.2:计算W组候选边缘组合中每个特征的最大值,用 表示; 

步骤5.1.3:对于 中的候选边缘组合特征Fetv,Fetv的第j个特征的焦元[A]信度分配(mv,j(A))为: 

其中焦元[A]表示属于DM码精确定位特征;Fetv第j个特征的焦元[A]似真函数值(Plv,j(A))为: 

Fetv第j个特征的焦元[B]的信度分配mv,j(B)为:mv,j(B)=1-Plv,j(A),焦元[A,B]的信度分配mv,j(Θ)为:mv,j(Θ)=1-mv,j(A)-mv,j(B),其中焦元[B]表示不属于DM码精确定位特征,焦元[A,B]表示不确定; 

步骤5.1.4:重复步骤5.1.3,求取Fetv中所有特征的信度分配; 

步骤5.1.5:重复步骤5.1.3~5.1.4,求取出所有候选边缘组合 的所有特征的信度分配; 

步骤5.2:基于Dempster融合规则的多特征融合: 

步骤5.2.1:对于 中的候选边缘组合特征Fetv,计算Fetv的第一个特征fetv,1与第二个特征 fetv,2之间的冲突大小Kv(1): 

Kv(1)=mv,1(A)mv,2(B)+mv,2(A)mv,1(B) 

计算fet1与fet2融合之后的新焦元信度分配mv(1)(A),mv(1)(B)与mv(1)(Θ): 

mv(1)(A)=mv,1(A)mv,2(A)+mv,1(A)mv,2(Θ)+mv,1(Θ)mv,2(A)1-Kv(1)

mv(1)(B)=mv,1(B)mv,2(B)+mv,1(B)mv,2(Θ)+mv,1(Θ)mv,2(B)1-Kv(1)

mv(1)(Θ)=mv,1(Θ)mv,2(Θ)1-Kv(1);

将融合之后的新焦元信度分配与余下特征按照下面公式进行逐个融合,其中融合后的新焦元信度分配mv(i)(A),mv(i)(B)和mv(i)(Θ)为,i取2~5: 

mv(i)(A)=mv(i-1)(A)mv,i+1(A)+mv(i-1)(A)mv,i+1(Θ)+mv(i-1)(Θ)mv,i+1(A)1-Kv(i)

mv(i)(B)=mv(i-1)(B)mv,i+1(B)+mv(i-1)(B)mv,i+1(Θ)+mv(i-1)(Θ)mv,i+1(B)1-Kv(i)

mv(i)(Θ)=mv(i-1)(Θ)mv,i+1(Θ)1-Kv(i);

Kv(i)=mv(i-1)(A)mv,i+1(B)+mv,i+1(A)mv(i-1)(B) 

得到最终融合结果mv(5)(A),mv(5)(B)与mv(5)(Θ); 

步骤5.2.2:重复步骤5.2.1,得到 中所有的候选边缘组合特征的最终融合结果; 

步骤5.3:基于证据理论决策规则的最终精确定位边缘组合判决: 

步骤5.3.1:建立初始最大信任度值m(A)=0,将W组候选边缘组合中的第一组候选边缘组合设为初始最佳候选边缘组合;从W组候选边缘组合中的第二组候选边缘组合开始,顺序选取候选边缘组合,进入步骤5.3.2; 

步骤5.3.2:当选取的候选边缘组合的最终融合结果中m(5)(A)>m(5)(Θ)且m(5)(Θ)<0.2且m(5)(A)>m(A),则进入步骤5.3.3,否则选取下一个候选边缘组合,重复本步骤5.3.2; 

步骤5.3.3:用步骤5.3.2中选出的候选边缘组合作为新的最佳候选边缘组合,用步骤5.3.2中选出的候选边缘组合的最终融合结果中的m(5)(A)作为新的最大信任度值; 

步骤5.3.4:重复步骤5.3.2~步骤5.3.3,遍历所有W组候选边缘组合中的所有候选边缘组合,最终得到的最佳候选边缘组合即为最终定位结果。 

根据步骤5,本实施例中的多特征包括两条虚边特征值G0与G1,两条实边特征值I0与I1,及其两主方向hough域内部边缘分布特征值k0与k1,实际拍摄的二维条码图像易受很多因素的影响,譬如划痕干扰、磨损污 染、部分遮挡及其高光覆盖等。以上因素导致条码定位时,很难仅仅依靠单一特征做出确定性判断,致使基于单特征的识别方法准确率低、可靠性和稳定性差,甚至同一对象采用不同特征判别时结果会出现冲突,由于D-S证据理论方法无需使用先验信息,且具有很强的处理不确定信息的能力。所以本实施例利用D-S证据理论方法融合多特征进行DataMatrix码边缘精确识别。本专利选取20幅标准DataMatrix码图像提取出6个特征,并求取每个特征的平均值,将其作为标准尺度,其值为: 

G0=0.965G1=0.965I0=0.982I1=0.982k0=2.13k1=2.13,表示为:{feti}i=16=fet1=0.965fet2=0.965fet3=0.982fet4=0.982fet5=2.13fet6=2.13

利用步骤5.1多特征的基本信度分配方法,对于所候选边缘组合分配基本信度,其中本实例中正确的边缘组合基本信度分配如下表所示: 

表2实例1基本信度分配数据 

利用步骤5.2基于Dempster融合规则的多特征融合方法,对基本信度分配后的各特征进行融合,具体融合步骤如下: 

先融合虚边特征1和虚边特征2,设融合之后的结果为m(1)(A),m(1)(B),m(1)(Θ): 

K(1)=m1(A)m2(B)+m1(B)m2(A)=0.634×0.318+0.000×0.432=0.202 

m(1)(A)=m1(A)m2(A)+m1(A)m2(Θ)+m1(Θ)m2(A)1-K(1)

=0.634×0.432+0.634×0.250+0.366×0.4321-0.202=0.740

m(1)(B)=m1(B)m2(B)+m1(B)m2(Θ)+m1(Θ)m2(B)1-K(1)

=0.000×0.318+0.000×0.392+0.366×0.3181-0.202=0.146

m(1)(Θ)=m1(Θ)m2(Θ)1-K(1)=0.366×0.3921-0.202=0.115

将融合后的结果m(1)(A),m(1)(B),m(1)(Θ)与m3(A),m3(B),m3(Θ)进行Dempster融合,类此逐队融合全部特征,得最后融合结果为:m(5)(A)=0.994,m(5)(B)=0.005,m(5)(Θ)=0.001。可以看出,特征融合之后目标的支持度比原来单一特征得出的概率都高,且不确定度比原来降低了许多,可见特征融合后,对目标类别的可靠性有了很大的提高。图7为本实例中所有候选边缘组合特征融合后,支持度m(A)的对比图。利 

用步骤5.3基于证据理论决策规则的最终精确定位边缘组合判决方法,可以确定本组边缘组合为最佳候选边 

缘组合,即为最终定位结果。最终定位结果效果如图8(g)所示。本实例最终处理时间为0.669s。 

实施例2: 

本实施例处理图像如图9(a)所示,本实例DataMatrix码边缘遭受到高光覆盖污染,并且具有较严重的透视形变,目前其他的条码精确定位方法是无法准确定位的。本实例处理过程实例图像如图9所示,方法与实施例1中方法相同,这里就不重复表述,仅用表格列出最终提取特征的信度分配及融合结果数据: 

表3实例2基本信度分配数据 

依据Dempster融合规则逐队融合全部特征,得最后融合结果为:m(5)(A)=0.993,m(5)(B)=0.007,m(5)(Θ)=0。由于存在的干扰组合较少,本实例处理时间较快,为0.345s。 

实施例3: 

本实例处理图像如图10所示,本实例DataMatrix码边缘遭受到高斯噪声污染及反光干扰,并且具有严重的透视形变,目前其他的条码精确定位方法进行准确定位是比较困难的。本实例处理过程实例图像如图10所示,用表格列出最终提取特征的信度分配及融合结果数据: 

表4实例3基本信度分配数据 

依据Dempster融合规则逐队融合全部特征,得最后融合结果为:m(5)(A)=0.996,m(5)(B)=0.003,m(5)(Θ)=0.001,本实例处理时间为0.226s。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号