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

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

Info

Publication number
CN102930268B
CN102930268B CN201210318976.4A CN201210318976A CN102930268B CN 102930268 B CN102930268 B CN 102930268B CN 201210318976 A CN201210318976 A CN 201210318976A CN 102930268 B CN102930268 B CN 102930268B
Authority
CN
China
Prior art keywords
gamma
edge
point
cos
sin
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210318976.4A
Other languages
English (en)
Other versions
CN102930268A (zh
Inventor
何卫平
王伟
***
郭改放
曹西征
林清松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Hover Information Physics Integration Innovation Research Institute Co ltd
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201210318976.4A priority Critical patent/CN102930268B/zh
Publication of CN102930268A publication Critical patent/CN102930268A/zh
Application granted granted Critical
Publication of CN102930268B publication Critical patent/CN102930268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

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

Description

一种用于污染及多视角情况下DataMatrix码的精确定位方法
技术领域
本发明涉及模式识别技术领域,具体为一种用于污染及多视角情况下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为:
p 1 , i , j = ( θ i , j - Ang [ a ] ) * p ( a ) + ( Ang [ a + 1 ] - θ i , j ) * p ( a + 1 ) π / 4
候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为:
p 2 , 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 ( dre b ) | dre b ∈ [ - π 2 + bπ 16 , - π 2 + ( b + 1 ) π 16 ] } b = 0 15
每个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中的最大主方向区间值为:
V max = max { value ( dre b ) + value ( dre c ) } b = 0 15
其中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长为ρmaxHg高为γmax,γmax=180,Hg中Hough点(ρ,γ)对应的霍夫值表示为H(ρ,γ);
步骤3:基于先验知识过滤及预定义边缘组合:
步骤3.1:遍历Hough域Hg中的所有Hough点,若Hough点(ρ**)满足下列任一个或多个条件,表明该Hough点为非候选目标边缘点:
条件1: | &rho; * - 1 2 &rho; max | < 1 4 &rho; 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=tanD1的垂点坐标(x1,y1):
x 0 = &rho; max 2 cos D 1 y 0 = &rho; max 2 sin D 1 , x 1 = &rho; max 2 cos D 1 y 1 = &rho; max 2 sin D 1
计算校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x2,y2),以及反方向校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x3,y3):
x 2 = &rho; max 2 cos D 2 y 2 = &rho; max 2 sin D 2 , x 3 = &rho; max 2 cos D 2 y 3 = &rho; max 2 sin D 2
步骤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
步骤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),以及得到一组数据点 { ( log ( L o / k ) , log ( N k ) ) } k = 3 8 , 对该组数据点 { ( log ( L o / k ) , log ( N k ) ) } k = 3 8 进行线性回归处理后得到该组数据点拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρ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):
x 02 y 02 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 0 &rho; 2 = sin &gamma; 2 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 cos &gamma; 2 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 - cos &gamma; 0 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 &rho; 0 &rho; 2
Fl(ρ00)与Fl(ρ33)的交点坐标为(x03,y03):
x 03 y 03 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 0 &rho; 3 = sin &gamma; 3 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 cos &gamma; 3 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 - cos &gamma; 0 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 &rho; 0 &rho; 3
Fl(ρ11)与Fl(ρ22)的交点坐标为(x12,y12):
x 12 y 12 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 1 &rho; 2 = sin &gamma; 2 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 cos &gamma; 2 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 - cos &gamma; 1 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 &rho; 1 &rho; 2
Fl(ρ11)与Fl(ρ33)的交点坐标为(x13,y13):
x 13 y 13 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 1 &rho; 3 = sin &gamma; 3 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 cos &gamma; 3 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 - cos &gamma; 1 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 &rho; 1 &rho; 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'(ρξξ)的区间分割点为: { x e p | x e p = el &xi; &prime; / p } e = 0 p , 虚边Fl(ρξξ)在划分为p个区间情况下的第e个区间为: X e p = ( x e p , x e + 1 p ) ; 对从0至p-3区间中的每个区间进行如下处理:
提取区间内所有元素的灰度分布值,取区间所有元素灰度分布值的平均值为根据公式:
C e p = &Sigma; r = 0 l &xi; &prime; / p ( p x e p + r - p e p &OverBar; ) &CenterDot; ( p x e + 2 p - p e + 2 p &OverBar; ) ( l &xi; &prime; / p ) &CenterDot; &sigma; ( x e p ) &CenterDot; &sigma; ( X e + 2 p )
计算区间的相似性其中表示区间内第r个元素的灰度分布值,表示区间内第r个元素的灰度分布值,表示区间所有元素灰度分布值的平均值,代表区间中所有元素灰度分布值标准差,代表区间中所有元素灰度分布值标准差;根据公式:
G e p = C e p + 1 2 e - ( r e p ) 2 / 2 &phi; 2
构造对比度高斯加权其中, r e p = 256 - | p e p &OverBar; + p e + 2 p &OverBar; 2 - p e + 1 p &OverBar; | , 为表示区间所有元素灰度分布值的平均值,φ=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 ( F 1 , F 1 ) Q ( F 1 , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F 1 , F M ) Q ( F 2 , F 1 ) Q ( F 2 , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F 2 , F M ) &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; Q ( F M , F 1 ) Q ( F M , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F M , F M ) = 0 0 &CenterDot; &CenterDot; &CenterDot; 0 0 0 &CenterDot; &CenterDot; &CenterDot; 0 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; 0 0 &CenterDot; &CenterDot; &CenterDot; 0
遍历边缘线段Fl'(ρζζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式:
Q ( F i , F j ) &prime; = Q ( F i , F j ) &Sigma; m = 1 M &Sigma; n = 1 M Q ( F m , F n ) i = 1 ~ M , j = 1 ~ M
归一化灰度层共现矩阵Q,得到实边特征为同一候选边缘组合的另一条实边特征记为I1;
步骤4.6:采用如下方法提取Hough域所有候选边缘组合的内部边缘分布特征:
步骤4.6.1:对于候选边缘组合(ρ00)、(ρ01)、(ρ22)和(ρ33),其交点为(x02,y02),(x03,y03),(x12,y12)和(x13,y13),其最佳划分方式为Δ0×Δ0;将交点(x02,y02),(x03,y03),(x12,y12)和(x13,y13)映射为无透视形变的DataMatrix码顶点,映射关系为 ( x 03 , y 03 ) &DoubleRightArrow; ( 0 , l ) , ( x 02 , y 02 ) &DoubleRightArrow; ( l , l ) , ( x 12 , y 12 ) &DoubleRightArrow; ( l , 0 ) ( x 13 , y 13 ) &DoubleRightArrow; ( 0,0 ) , l = max ( x 12 - x 13 , x 02 - x 03 ) &times; max ( y 03 - y 13 , y 02 - y 13 ) ; 根据映射关系得到透视变换齐次方程为:
0 l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 03 y 03 1
l l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 02 y 02 1
l 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 12 y 12 1
0 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 13 y 13 1
解出齐次矩阵 H = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 ;
步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为: L 1 = { l i | l i = f ( ( x 03 + l &Delta; 0 * i , y 03 ) , ( x 13 + l &Delta; 0 * i , y 13 ) ) , i = 0,1,2 . . . , &Delta; 0 }
L 2 = { l j | l j = f ( ( x 13 , y 13 + l &Delta; 0 * j ) , ( x 12 , y 12 + l &Delta; 0 * j ) ) , j = 0,1,2 , . . . , &Delta; 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')),其中:
x 1 &prime; = h 11 x 1 + h 12 y 1 + h 13 h 31 x 1 + h 32 y 1 + h 33 , y 1 &prime; = h 21 x 1 + h 22 y 1 + h 23 h 31 x 1 + h 32 y 1 + h 33
x 2 &prime; = h 11 x 2 + h 12 y 2 + h 13 h 31 x 2 + h 32 y 2 + h 33 , y 2 &prime; = h 21 x 2 + h 22 y 2 + h 23 h 31 x 2 + h 32 y 2 + h 33
得到与lm'对应的霍夫点(ρm',γm'):
&gamma; m &prime; = - arctan x 1 &prime; - x 2 &prime; y 1 &prime; - y 2 &prime; &rho; m &prime; = x 1 &prime; cos &gamma; m &prime; + y 1 &prime; sin &gamma; m &prime; ;
得到集合L1和L2中所有直线在图像A1中对应的边缘直线为在霍夫域
对应的霍夫点 { ( &rho; i &prime; , &gamma; i &prime; ) } i = 0 &Delta; 0 { ( &rho; j &prime; , &gamma; j &prime; ) } j = 0 &Delta; 0 ;
步骤4.6.4:取hough点n',γn')分布邻域为:
( ( &rho; n - 1 &prime; + &rho; n &prime; 2 , &gamma; n - 1 &prime; + &gamma; n &prime; 2 ) , ( &rho; n &prime; , &gamma; n &prime; ) ) &cup; ( ( &rho; n &prime; , &gamma; n &prime; ) , ( &rho; n + 1 &prime; + &rho; n &prime; 2 , &gamma; n + 1 &prime; + &gamma; n &prime; 2 ) )
提取hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点,组成一个边缘点分布区间 中的元素为hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点的灰度值;分布区间峰度值gn为:
g n = N 2 ( N + 1 ) u 4 ( N - 1 ) ( N - 2 ) ( N - 3 ) s 4 - 3 ( N - 1 ) 2 ( N - 2 ) ( N - 3 )
其中N为分布区间的长度, s = 1 N - 1 &Sigma; &eta; i &Element; U n &prime; &OverBar; ( &eta; i - 1 N &Sigma; &eta; j &Element; U n &prime; &OverBar; &eta; j ) 2 , u 4 = 1 N &Sigma; &eta; i &Element; U n &prime; &OverBar; ( &eta; i - 1 N &Sigma; &eta; j &Element; U n &prime; &OverBar; &eta; j ) 4 , ηi中的元素;计算得到边缘直线集合的峰度平均值:
步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合的峰度平均值为k1;得到候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的Hough域内部边缘分布特征k0和k1
步骤5:根据步骤4得到的虚边特征值G0与G1、实边特征值I0与I1、以及Hough域内部边缘分布特征k0和k1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为: Fet i = { fet i , j | fet i , j &Element; ( G 0 , G 1 , I 0 , I 1 , k 0 , k 1 ) } j = 1 6 , 1 &le; i &le; W , 所有候选边缘组合特征的集合记为: { Fet i } i = 1 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)(Θ):
m v ( 1 ) ( A ) = m v , 1 ( A ) m v , 2 ( A ) + m v , 1 ( A ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( A ) 1 - K v ( 1 )
m v ( 1 ) ( B ) = m v , 1 ( B ) m v , 2 ( B ) + m v , 1 ( B ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( B ) 1 - K v ( 1 )
m v ( 1 ) ( &Theta; ) = m v , 1 ( &Theta; ) m v , 2 ( &Theta; ) 1 - K v ( 1 ) ;
将融合之后的新焦元信度分配与余下特征按照下面公式进行逐个融合,其中融合后的新焦元信度分配mv (i)(A),mv (i)(B)和mv (i)(Θ)为,i取2~5:
m v ( i ) ( A ) = m v ( i - 1 ) ( A ) m v , i + 1 ( A ) + m v ( i - 1 ) ( A ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( A ) 1 - K v ( i )
m v ( i ) ( B ) = m v ( i - 1 ) ( B ) m v , i + 1 ( B ) + m v ( i - 1 ) ( B ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( B ) 1 - K v ( i )
m v ( i ) ( &Theta; ) = m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( &Theta; ) 1 - K v ( 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种屏蔽窗口模板为:
0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 0
处理效果如图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为:
p 1 , i , j = ( &theta; i , j - Ang [ a ] ) * p ( a ) + ( Ang [ a + 1 ] - &theta; i , j ) * p ( a + 1 ) &pi; / 4
候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为:
p 2 , i , j = ( &theta; i , j - Ang [ ( a + 2 ) % 4 ] ) * p ( ( a + 2 ) % 4 ) + ( Ang [ ( a + 3 ) % 4 ] - &theta; i , j ) * p ( ( a + 3 ) % 4 ) &pi; / 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 ( dre b ) | dre b &Element; [ - &pi; 2 + b&pi; 16 , - &pi; 2 + ( b + 1 ) &pi; 16 ] } b = 0 15
每个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中的最大主方向区间值为:
V max = max { value ( dre b ) + value ( dre c ) } b = 0 15
其中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: | &rho; * - 1 2 &rho; max | < 1 4 &rho; 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):
x 0 = &rho; max 2 cos D 1 y 0 = &rho; max 2 sin D 1 , x 1 = &rho; max 2 cos D 1 y 1 = &rho; max 2 sin D 1
计算校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x2,y2),以及反方向校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x3,y3):
x 2 = &rho; max 2 cos D 2 y 2 = &rho; max 2 sin D 2 , x 3 = &rho; max 2 cos D 2 y 3 = &rho; max 2 sin D 2
步骤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)的则将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),以及得到一组数据点 { ( log ( L o / k ) , log ( N k ) ) } k = 3 8 , 对该组数据点 { ( log ( L o / k ) , log ( N k ) ) } k = 3 8 进行线性回归处理后得到该组数据点拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρ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):
x 02 y 02 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 0 &rho; 2 = sin &gamma; 2 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 cos &gamma; 2 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 - cos &gamma; 0 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 &rho; 0 &rho; 2
Fl(ρ00)与Fl(ρ33)的交点坐标为(x03,y03):
x 03 y 03 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 0 &rho; 3 = sin &gamma; 3 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 cos &gamma; 3 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 - cos &gamma; 0 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 &rho; 0 &rho; 3
Fl(ρ11)与Fl(ρ22)的交点坐标为(x12,y12):
x 12 y 12 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 1 &rho; 2 = sin &gamma; 2 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 cos &gamma; 2 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 - cos &gamma; 1 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 &rho; 1 &rho; 2
Fl(ρ11)与Fl(ρ33)的交点坐标为(x13,y13):
x 13 y 13 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 1 &rho; 3 = sin &gamma; 3 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 cos &gamma; 3 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 - cos &gamma; 1 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 &rho; 1 &rho; 3
在边缘灰度分布Fl(ρ00)中截取处于(x02,y02)与(x03,y03)之间的边缘线段为Fl'(ρ00),在边缘灰度分布Fk(ρ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'(ρξξ)的区间分割点为: { x e p | x e p = el &xi; &prime; / p } e = 0 p , 虚边Fl(ρξξ)在划分为p个区间情况下的第e个区间为: X e p = ( x e p , x e + 1 p ) ; 对从0至p-3区间中的每个区间进行如下处理:
提取区间内所有元素的灰度分布值,取区间所有元素灰度分布值的平均值为根据公式:
C e p = &Sigma; r = 0 l &xi; &prime; / p ( p x e p + r - p e p &OverBar; ) &CenterDot; ( p x e + 2 p - p e + 2 p &OverBar; ) ( l &xi; &prime; / p ) &CenterDot; &sigma; ( x e p ) &CenterDot; &sigma; ( X e + 2 p )
计算区间的相似性其中表示区间内第r个元素的灰度分布值,表示区间内第r个元素的灰度分布值,表示区间所有元素灰度分布值的平均值,代表区间中所有元素灰度分布值标准差,代表区间中所有元素灰度分布值标准差;根据公式:
G e p = C e p + 1 2 e - ( r e p ) 2 / 2 &phi; 2
构造对比度高斯加权其中, r e p = 256 - | p e p &OverBar; + p e + 2 p &OverBar; 2 - p e + 1 p &OverBar; | , 为表示区间所有元素灰度分布值的平均值,φ=1/8h用来控制互异属性模块之间的相互关系;归一化虚边Fl'(ρξξ)的特征值
取p=4,5,6,…,14这11种划分方式中特征值最大的划分方式为最佳划分方式Δ0×Δ0,其中Δ0等于最佳划分方式对应的p值,最大特征值赋值为G0;同一候选边缘组合另一条虚边的最大特征值赋值为G1
对于一个候选边缘组合内的两条虚边,若该两条虚边的最佳划分方式不相同,则将该候选边缘组合重新定义为无谓组合;
步骤4.5:采用如下方法提取所有候选边缘组合的图像域实边特征:对于候选边缘组合的实边Fl(ρζ,rζ),取边缘线段Fl'(ρζζ)中的元素最大值与元素最小值之差为M,令F1为边缘线段Fl'(ρζζ)中的元素最小值,FM为边缘线段Fl'(ρζζ)中的元素最大值,Fi+1=Fi+1,i=1~M-2,建立初始灰度层共现矩阵Q:
Q = Q ( F 1 , F 1 ) Q ( F 1 , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F 1 , F M ) Q ( F 2 , F 1 ) Q ( F 2 , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F 2 , F M ) &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; Q ( F M , F 1 ) Q ( F M , F 2 ) &CenterDot; &CenterDot; &CenterDot; Q ( F M , F M ) = 0 0 &CenterDot; &CenterDot; &CenterDot; 0 0 0 &CenterDot; &CenterDot; &CenterDot; 0 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; 0 0 &CenterDot; &CenterDot; &CenterDot; 0
遍历边缘线段Fl'(ρζζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式:
Q ( F i , F j ) &prime; = Q ( F i , F j ) &Sigma; m = 1 M &Sigma; n = 1 M Q ( F m , F n ) 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码顶点,映射关系为 ( x 03 , y 03 ) &DoubleRightArrow; ( 0 , l ) , ( x 02 , y 02 ) &DoubleRightArrow; ( l , l ) , ( x 12 , y 12 ) &DoubleRightArrow; ( l , 0 ) ( x 13 , y 13 ) &DoubleRightArrow; ( 0,0 ) , l = max ( x 12 - x 13 , x 02 - x 03 ) &times; max ( y 03 - y 13 , y 02 - y 13 ) ; 根据映射关系得到透视变换齐次方程为:
0 l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 03 y 03 1
l l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 02 y 02 1
l 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 12 y 12 1
0 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 13 y 13 1
解出齐次矩阵 H = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 ;
步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为: L 1 = { l i | l i = f ( ( x 03 + l &Delta; 0 * i , y 03 ) , ( x 13 + l &Delta; 0 * i , y 13 ) ) , i = 0,1,2 . . . , &Delta; 0 }
L 2 = { l j | l j = f ( ( x 13 , y 13 + l &Delta; 0 * j ) , ( x 12 , y 12 + l &Delta; 0 * j ) ) , j = 0,1,2 , . . . , &Delta; 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')),其中:
x 1 &prime; = h 11 x 1 + h 12 y 1 + h 13 h 31 x 1 + h 32 y 1 + h 33 , y 1 &prime; = h 21 x 1 + h 22 y 1 + h 23 h 31 x 1 + h 32 y 1 + h 33
x 2 &prime; = h 11 x 2 + h 12 y 2 + h 13 h 31 x 2 + h 32 y 2 + h 33 , y 2 &prime; = h 21 x 2 + h 22 y 2 + h 23 h 31 x 2 + h 32 y 2 + h 33
得到与lm'对应的霍夫点(ρm',γm'):
&gamma; m &prime; = - arctan x 1 &prime; - x 2 &prime; y 1 &prime; - y 2 &prime; &rho; m &prime; = x 1 &prime; cos &gamma; m &prime; + y 1 &prime; sin &gamma; m &prime; ;
得到集合L1和L2中所有直线在图像A1中对应的边缘直线为在霍夫域对应的霍夫点 { ( &rho; i &prime; , &gamma; i &prime; ) } i = 0 &Delta; 0 { ( &rho; j &prime; , &gamma; j &prime; ) } j = 0 &Delta; 0 ;
步骤4.6.4:取hough点(ρn',γn')分布邻域为:
( ( &rho; n - 1 &prime; + &rho; n &prime; 2 , &gamma; n - 1 &prime; + &gamma; n &prime; 2 ) , ( &rho; n &prime; , &gamma; n &prime; ) ) &cup; ( ( &rho; n &prime; , &gamma; n &prime; ) , ( &rho; n + 1 &prime; + &rho; n &prime; 2 , &gamma; n + 1 &prime; + &gamma; n &prime; 2 ) )
提取hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点,组成一个边缘点分布区间 中的元素为hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点的灰度值;分布区间峰度值gn为:
g n = N 2 ( N + 1 ) u 4 ( N - 1 ) ( N - 2 ) ( N - 3 ) s 4 - 3 ( N - 1 ) 2 ( N - 2 ) ( N - 3 )
其中N为分布区间的长度,即代表一个波峰的宽度, ηi为中的元素;计算得到边缘直线集合的峰度平均值:
k 0 = &Sigma; n = 1 &Delta; 0 - 1 g n / &Delta; 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组候选边缘组合的特征记为: Fet i = { fet i , j | fet i , j &Element; ( G 0 , G 1 , I 0 , I 1 , k 0 , k 1 ) } j = 1 6 , 1 &le; i &le; W , 所有候选边缘组合特征的集合记为: { Fet i } i = 1 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)(Θ):
m v ( 1 ) ( A ) = m v , 1 ( A ) m v , 2 ( A ) + m v , 1 ( A ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( A ) 1 - K v ( 1 )
m v ( 1 ) ( B ) = m v , 1 ( B ) m v , 2 ( B ) + m v , 1 ( B ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( B ) 1 - K v ( 1 )
m v ( 1 ) ( &Theta; ) = m v , 1 ( &Theta; ) m v , 2 ( &Theta; ) 1 - K v ( 1 ) ;
将融合之后的新焦元信度分配与余下特征按照下面公式进行逐个融合,其中融合后的新焦元信度分配mv (i)(A),mv (i)(B)和mv (i)(Θ)为,i取2~5:
m v ( i ) ( A ) = m v ( i - 1 ) ( A ) m v , i + 1 ( A ) + m v ( i - 1 ) ( A ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( A ) 1 - K v ( i )
m v ( i ) ( B ) = m v ( i - 1 ) ( B ) m v , i + 1 ( B ) + m v ( i - 1 ) ( B ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( B ) 1 - K v ( i )
m v ( i ) ( &Theta; ) = m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( &Theta; ) 1 - K v ( 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个特征,并求取每个特征的平均值,将其作为标准尺度,其值为: G 0 &OverBar; = 0.965 G 1 &OverBar; = 0.965 I 0 &OverBar; = 0 . 982 I 1 &OverBar; = 0.982 k 0 &OverBar; = 2.13 k 1 &OverBar; = 2.13 , 表示为: { fet i &OverBar; } i = 1 6 = fet 1 &OverBar; = 0.965 fet 2 &OverBar; = 0.965 fet 3 &OverBar; = 0.982 fet 4 &OverBar; = 0.982 fet 5 &OverBar; = 2.13 fet 6 &OverBar; = 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 = m 1 ( A ) m 2 ( A ) + m 1 ( A ) m 2 ( &Theta; ) + m 1 ( &Theta; ) m 2 ( A ) 1 - K ( 1 )
= 0.634 &times; 0.432 + 0.634 &times; 0.250 + 0.366 &times; 0.432 1 - 0.202 = 0.740
m ( 1 ) ( B ) = m 1 ( B ) m 2 ( B ) + m 1 ( B ) m 2 ( &Theta; ) + m 1 ( &Theta; ) m 2 ( B ) 1 - K ( 1 )
= 0.000 &times; 0.318 + 0.000 &times; 0.392 + 0.366 &times; 0.318 1 - 0.202 = 0.146
m ( 1 ) ( &Theta; ) = m 1 ( &Theta; ) m 2 ( &Theta; ) 1 - K ( 1 ) = 0.366 &times; 0.392 1 - 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。

Claims (1)

1.一种用于污染及多视角情况下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为:
p 1 , i , j = ( &theta; i , j - Ang [ a ] ) * p ( a ) + ( Ang [ a + 1 ] - &theta; i , j ) * p ( a + 1 ) &pi; / 4
候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为:
p 2 , i , j = ( &theta; i , j - Ang [ ( a + 2 ) % 4 ] ) * p ( ( a + 2 ) % 4 ) + ( Ang [ ( a + 3 ) % 4 ] - &theta; i , j ) * p ( ( a + 3 ) % 4 ) &pi; / 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 ( dre b ) | dre b &Element; [ - &pi; 2 + b&pi; 16 , - &pi; 2 + ( b + 1 ) &pi; 16 ) } b = 0 15
每个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中的最大主方向区间值为:
V max = max { value ( dre b ) + value ( dre e ) } b = 0 15
其中c∈[(b+8-α1)%16,(b+8+α1)%16],且c为整数,α1为多视角可变范围,取α1=2,drec代表一个11.25°的区间;将最大值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长为ρmaxHg高为γmax,γmax=180,Hg中Hough点(ρ,γ)对应的霍夫值表示为H(ρ,γ);
步骤3:基于先验知识过滤及预定义边缘组合:
步骤3.1:遍历Hough域Hg中的所有Hough点,若Hough点(ρ**)满足下列任一个或多个条件,表明该Hough点为非候选目标边缘点:
条件1: | &rho; * - 1 2 &rho; max | < 1 4 &rho; 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):
x 0 = &rho; max 2 cos D 1 y 0 = &rho; max 2 sin D 1 , x 1 = - &rho; max 2 cos D 1 y 1 = - &rho; max 2 sin D 1
计算校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x2,y2),以及反方向校验Hough点在图像A2中的对应直线与直线y=tanD2的垂点坐标(x3,y3):
x 2 = &rho; max 2 cos D 2 y 2 = &rho; max 2 sin D 2 , x 3 = - &rho; max 2 cos D 2 y 3 = - &rho; max 2 sin D 2
步骤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
步骤4:提取边缘组合的多特征:
步骤4.1:提取Hg中的所有候选目标边缘点的边缘灰度分布:对于候选目标边缘点(ροο),其在图像A1中的对应直线lο为ρο=xcosγο+ysinγο,对lο上的每个像素点进行如下步骤,得到lο上的每个像素点的灰度分布值:
步骤4.1.1:将lο上的像素点(a0,b0)沿lο法线方向向内缩进Δd单位得到像素点(ad,bd),其中(ad,bd)表示图像A1中第a0行b0列的像素点,bd=t(ad-a0)+b0 tanγο=t,cosγο=c1,sinγο=s;
步骤4.1.2:分别取Δd=0,1,2,3,4,5,6,像素点(a0,b0)沿lο法线方向向内缩进后得到7个像素点取7个像素点像素值的平均值p(a0,b0)为(a0,b0)点的灰度分布值;
按步骤4.1.1和步骤4.1.2得到lο上的每个像素点的灰度分布值,若候选目标边缘点(ροο)的则将lο上的所有像素点的灰度分布值按照像素点列数从小到大的顺序排列得到灰度分布值数组,否则将lο上的所有像素点的灰度分布值按照像素点行数从小到大的顺序排列得到灰度分布值数组,所述得到的灰度分布值数组为候选目标边缘点(ροο)的边缘灰度分布Fl(ροο);
步骤4.2:依据候选边缘组合的灰度分布混乱程度特征去除无谓组合:
步骤4.2.1:计算所有候选目标边缘点的分形维数:对于候选目标边缘点(ροο),其对应的边缘灰度分布Fl(ροο)在图像A1中长度为Lο,则Fl(ροο)对应的分形维覆盖区间为:δ=Lο/k,其中k取3,4,5,6,7,8;将Fl(ροο)平均分为k个覆盖区间,得到区间δ1,δ2,…,δk;计算δm(m=1,2,…,k)区间内灰度分布值的最大值uδ(m)和最小值bδ(m),以及得到一组数据点对该组数据点进行线性回归处理后得到该组数据点拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ροο)的分形维数Dim(ροο);
步骤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):
x 02 y 02 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 0 &rho; 2 = sin &gamma; 2 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 0 cos &gamma; 2 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 - cos &gamma; 0 cos &gamma; 2 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 2 &rho; 0 &rho; 2
Fl(ρ00)与Fl(ρ33)的交点坐标为(x03,y03):
x 03 y 03 = cos &gamma; 0 sin &gamma; 0 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 0 &rho; 3 = sin &gamma; 3 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 - sin &gamma; 0 cos &gamma; 0 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 0 cos &gamma; 3 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 - cos &gamma; 0 cos &gamma; 3 sin &gamma; 0 - cos &gamma; 0 sin &gamma; 3 &rho; 0 &rho; 3
Fl(ρ11)与Fl(ρ22)的交点坐标为(x12,y12):
x 12 y 12 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 2 sin &gamma; 2 - 1 &rho; 1 &rho; 2 = sin &gamma; 2 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 2 - cos &gamma; 2 sin &gamma; 1 cos &gamma; 2 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 - cos &gamma; 1 cos &gamma; 2 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 2 &rho; 1 &rho; 2
Fl(ρ11)与Fl(ρ33)的交点坐标为(x13,y13):
x 13 y 13 = cos &gamma; 1 sin &gamma; 1 cos &gamma; 3 sin &gamma; 3 - 1 &rho; 1 &rho; 3 = sin &gamma; 3 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 - sin &gamma; 1 cos &gamma; 1 sin &gamma; 3 - cos &gamma; 3 sin &gamma; 1 cos &gamma; 3 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 - cos &gamma; 1 cos &gamma; 3 sin &gamma; 1 - cos &gamma; 1 sin &gamma; 3 &rho; 1 &rho; 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区间中的每个区间进行如下处理:
提取区间内所有元素的灰度分布值,取区间所有元素灰度分布值的平均值为根据公式:
C e p = &Sigma; r = 0 l &xi; &prime; / p ( p x e p + r - p e p &OverBar; ) &CenterDot; ( p x e + 2 p + r - p e + 2 p &OverBar; ) ( l &xi; &prime; / p ) &CenterDot; &sigma; ( X e p ) &CenterDot; &sigma; ( X e + 2 p )
计算区间的相似性其中表示区间内第r个元素的灰度分布值,表示区间内第r个元素的灰度分布值,表示区间所有元素灰度分布值的平均值,代表区间中所有元素灰度分布值标准差,代表区间中所有元素灰度分布值标准差;根据公式:
G e p = C e p + 1 2 e - ( r e p ) 2 / 2 &phi; 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 ( F 1 , F 1 ) Q ( F 1 , F 2 ) . . . Q ( F 1 , F M ) Q ( F 2 , F 1 ) Q ( F 2 , F 2 ) . . . Q ( F 2 , F M ) . . . . . . . . . . . . Q ( F M , F 1 ) Q ( F M , F 2 ) . . . Q ( F M , F M ) = 0 0 . . . 0 0 0 . . . 0 . . . . . . . . . . . . 0 0 . . . 0
遍历边缘线段Fl'(ρζζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式:
Q ( F i , F j ) &prime; = Q ( F i , F j ) &Sigma; m = 1 M &Sigma; n = 1 M Q ( F m , F n ) , 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码顶点,映射关系为 ( x 12 , y 12 ) &DoubleRightArrow; ( l , 0 ) ( x 13 , y 13 ) &DoubleRightArrow; ( 0,0 ) , l = max ( x 12 - x 13 , x 02 - x 03 ) &times; max ( y 03 - y 13 , y 02 - y 13 ) ; 根据映射关系得到透视变换齐次方程为:
0 l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 03 y 03 1
l l 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 02 y 02 1
l 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 12 y 12 1
0 0 1 = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 x 13 y 13 1
解出齐次矩阵 H = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 ;
步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为:
L 1 = { l i | l i = f ( ( x 03 + l &Delta; 0 * i , y 03 ) , ( x 13 + l &Delta; 0 * i , y 13 ) ) , i = 0,1,2 , . . . , &Delta; 0 }
L 2 = { l j | l j = f ( ( x 13 , + y 13 + l &Delta; 0 * j ) , ( x 12 , + y 12 + l &Delta; 0 * j ) ) , i = 0,1,2 , . . . , &Delta; 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')),其中:
x 1 &prime; = h 11 x 1 + h 12 y 1 + h 13 h 31 x 1 + h 32 y 1 + h 33 , y 1 &prime; = h 21 x 1 + h 22 y 1 + h 23 h 31 x 1 + h 32 y 1 + h 33
x 2 &prime; = h 11 x 2 + h 12 y 2 + h 13 h 31 x 2 + h 32 y 2 + h 33 , y 1 &prime; = h 21 x 2 + h 22 y 2 + h 23 h 31 x 2 + h 32 y 2 + h 33
得到与lm'对应的霍夫点(ρm',γm'):
&gamma; m &prime; =-arctan x 1 &prime; - x 2 &prime; y 1 &prime; - y 2 &prime; &rho; m &prime; = x 1 &prime; cos &gamma; m &prime; + y 1 &prime; sin &gamma; m &prime; ;
得到集合L1和L2中所有直线在图像A1中对应的边缘直线为在霍夫域对应的霍夫点
步骤4.6.4:取hough点n',γn')分布邻域为:
( ( &rho; n - 1 &prime; + &rho; n &prime; 2 , &gamma; n - 1 &prime; + &gamma; n &prime; 2 ) , ( &rho; n &prime; , &gamma; n &prime; ) ) &cup; ( ( &rho; n &prime; , &gamma; n &prime; ) , ( &rho; n + 1 &prime; + &rho; n &prime; 2 , &gamma; n + 1 &prime; + &gamma; n &prime; 2 ) )
提取hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点,组成一个边缘点分布区间中的元素为hough域Hg中在(ρn',γn')分布邻域内的所有霍夫点的灰度值;
分布区间峰度值gn为:
g n = N 2 ( N + 1 ) u 4 ( N - 1 ) ( N - 2 ) ( N - 3 ) s 4 - 3 ( N - 1 ) 2 ( N - 2 ) ( N - 3 )
其中N为分布区间的长度, s = 1 N - 1 &Sigma; &eta; i &Element; U n &prime; &OverBar; ( &eta; i - 1 N &Sigma; &eta; j &Element; U n &prime; &OverBar; &eta; j ) 2 , u 4 = 1 N &Sigma; &eta; i &Element; U n &prime; &OverBar; ( &eta; i - 1 N &Sigma; &eta; j &Element; U n &prime; &OverBar; &eta; j ) 4 , ηi中的元素;计算得到边缘直线集合的峰度平均值:
步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合的峰度平均值为k1;得到候选边缘组合(ρ00)、(ρ11)、(ρ22)和(ρ33)的Hough域内部边缘分布特征k0和k1
步骤5:根据步骤4得到的虚边特征值G0与G1、实边特征值I0与I1、以及Hough域内部边缘分布特征k0和k1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为: Fet i = { fet i , j | fet i , j &Element; ( G 0 , G 1 , I 0 , I 1 , k 0 , k 1 ) } j = 1 6 , 1 &le; i &le; 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)(Θ):
m v ( 1 ) ( A ) = m v , 1 ( A ) m v , 2 ( A ) + m v , 1 ( A ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( A ) 1 - K v ( 1 )
m v ( 1 ) ( B ) = m v , 1 ( B ) m v , 2 ( B ) + m v , 1 ( B ) m v , 2 ( &Theta; ) + m v , 1 ( &Theta; ) m v , 2 ( B ) 1 - K v ( 1 )
m v ( 1 ) ( &Theta; ) = m v , 1 ( &Theta; ) m v , 2 ( &Theta; ) 1 - K v ( 1 ) ;
将融合之后的新焦元信度分配与余下特征按照下面公式进行逐个融合,其中融合后的新焦元信度分配mv (i)(A),mv (i)(B)和mv (i)(Θ)为,i取2~5:
m v ( i ) ( A ) = m v ( i - 1 ) ( A ) m v , i + 1 ( A ) + m v ( i - 1 ) ( A ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( A ) 1 - K v ( i )
m v ( i ) ( B ) = m v ( i - 1 ) ( B ) m v , i + 1 ( B ) + m v ( i - 1 ) ( B ) m v , i + 1 ( &Theta; ) + m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( B ) 1 - K v ( i )
m v ( i ) ( &Theta; ) = m v ( i - 1 ) ( &Theta; ) m v , i + 1 ( &Theta; ) 1 - K v ( 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组候选边缘组合中的所有候选边缘组合,最终得到的最佳候选边缘组合即为最终定位结果。
CN201210318976.4A 2012-08-31 2012-08-31 一种用于污染及多视角情况下DataMatrix码的精确定位方法 Active CN102930268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210318976.4A CN102930268B (zh) 2012-08-31 2012-08-31 一种用于污染及多视角情况下DataMatrix码的精确定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210318976.4A CN102930268B (zh) 2012-08-31 2012-08-31 一种用于污染及多视角情况下DataMatrix码的精确定位方法

Publications (2)

Publication Number Publication Date
CN102930268A CN102930268A (zh) 2013-02-13
CN102930268B true CN102930268B (zh) 2015-09-16

Family

ID=47645065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210318976.4A Active CN102930268B (zh) 2012-08-31 2012-08-31 一种用于污染及多视角情况下DataMatrix码的精确定位方法

Country Status (1)

Country Link
CN (1) CN102930268B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960423A (zh) * 2017-03-20 2017-07-18 浙江大学 一种面向芯片封装的溢料检测方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096302B (zh) * 2014-05-13 2017-12-08 富士通株式会社 图像中粘连物体的分割装置、方法以及电子设备
CN105046705B (zh) * 2015-07-13 2017-07-25 浙江工业大学 一种基于模糊理论的裂纹边缘检测方法
CN105760803B (zh) * 2016-02-02 2018-08-28 湖南盛世龙腾网络科技有限公司 二维矩阵码的解码方法以及记载有编码图片的卡牌
CN106485183B (zh) * 2016-07-14 2018-05-08 深圳市华汉伟业科技有限公司 一种二维码定位方法及***
CN107730534B (zh) * 2016-08-09 2020-10-23 深圳光启合众科技有限公司 目标对象的跟踪方法和装置
CN106326801B (zh) * 2016-09-22 2019-02-05 华中科技大学 一种立体二维码的扫描方法
CN106485255B (zh) * 2016-09-29 2019-12-24 元启工业技术(青岛)有限公司 一种dm码定位及识别的方法与***
CN106815831B (zh) * 2016-12-21 2020-04-10 南昌青橙视界科技有限公司 一种钢丝绳磨损的检测方法及装置
CN107257464B (zh) * 2016-12-29 2020-04-03 四川大学 基于Sobel算子和线性回归的高清视频编码码率控制方法
CN106980851B (zh) * 2017-03-21 2020-02-14 浙江华睿科技有限公司 一种数据矩阵dm码的定位方法及装置
CN107451505A (zh) * 2017-07-18 2017-12-08 王栋 快递单条形码的角度校正方法
CN109632820A (zh) * 2018-11-19 2019-04-16 温州大学 清洗机清洗检测方法
CN109784121B (zh) * 2019-01-14 2022-09-23 新大陆数字技术股份有限公司 Dot-peen DPM码的识别方法及装置
CN113139370A (zh) * 2020-01-16 2021-07-20 京东方科技集团股份有限公司 一种表格提取方法、装置及触控显示装置
CN111597853B (zh) * 2020-05-26 2023-02-24 成都鹏业软件股份有限公司 一种混凝土标识提取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1895447A2 (en) * 2006-08-29 2008-03-05 Pitney Bowes, Inc. Method for printing two dimensional barcodes to reduce reading errors
CN102346850A (zh) * 2011-10-13 2012-02-08 西北工业大学 复杂金属背景下DataMatrix条码区域定位方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1895447A2 (en) * 2006-08-29 2008-03-05 Pitney Bowes, Inc. Method for printing two dimensional barcodes to reduce reading errors
CN102346850A (zh) * 2011-10-13 2012-02-08 西北工业大学 复杂金属背景下DataMatrix条码区域定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种层次化的Data Matrix实时解码方法;刘峰 等;《计算机工程》;20120131;第38卷(第2期);全文 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960423A (zh) * 2017-03-20 2017-07-18 浙江大学 一种面向芯片封装的溢料检测方法
CN106960423B (zh) * 2017-03-20 2019-06-18 浙江大学 一种面向芯片封装的溢料检测方法

Also Published As

Publication number Publication date
CN102930268A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102930268B (zh) 一种用于污染及多视角情况下DataMatrix码的精确定位方法
CN107045629B (zh) 一种多车道线检测方法
CN105760812B (zh) 一种基于Hough变换的车道线检测方法
CN108596166A (zh) 一种基于卷积神经网络分类的集装箱箱号识别方法
KR101403876B1 (ko) 차량 번호판 인식 방법과 그 장치
CN102346850B (zh) 复杂金属背景下DataMatrix条码区域定位方法
CN107092871B (zh) 基于多尺度多特征融合的遥感影像建筑物检测方法
CN109859226B (zh) 一种图形分割的棋盘格角点亚像素的检测方法
CN103971126A (zh) 一种交通标志识别方法和装置
CN107192716A (zh) 一种基于轮廓特征的工件缺陷快速检测方法
US9224207B2 (en) Segmentation co-clustering
CN111382658B (zh) 一种基于图像灰度梯度一致性的自然环境下道路交通标志检测方法
CN107464245B (zh) 一种图像结构边缘的定位方法及装置
CN106778551A (zh) 一种高速路段及城市道路车道线识别方法
CN103198319A (zh) 用于矿山井筒环境下的模糊图像角点提取方法
WO2022121025A1 (zh) 证件增减类别检测方法、装置、可读存储介质和终端
Rajput et al. Using radon transform to recognize skewed images of vehicular license plates
CN103065140A (zh) 车标的定位方法及装置
CN113435219B (zh) 防伪检测方法、装置、电子设备及存储介质
CN108694415A (zh) 图像特征提取方法、装置及水源图像分类方法、装置
Pan et al. An efficient method for skew correction of license plate
Lu A lane detection, tracking and recognition system for smart vehicles
Lim et al. Vision-based recognition of road regulation for intelligent vehicle
Deb et al. Automatic vehicle identification by plate recognition for intelligent transportation system applications
Kumar A real time approach for indian road analysis using image processing and computer vision

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210623

Address after: 211200 288 Qinhuai Road, Yung Yang Street, Lishui District, Nanjing, Jiangsu

Patentee after: Nanjing Xinhang Technology Innovation Development Co.,Ltd.

Address before: 710072 No. 127 Youyi West Road, Shaanxi, Xi'an

Patentee before: Northwestern Polytechnical University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240607

Address after: 211200 288 Qinhuai Road, Yung Yang Street, Lishui District, Nanjing, Jiangsu

Patentee after: Nanjing hover Information Physics Integration Innovation Research Institute Co.,Ltd.

Country or region after: China

Address before: 211200 288 Qinhuai Road, Yung Yang Street, Lishui District, Nanjing, Jiangsu

Patentee before: Nanjing Xinhang Technology Innovation Development Co.,Ltd.

Country or region before: China