发明内容
要解决的技术问题
本发明的目的是为了解决存在生锈腐蚀、高反光覆盖边缘、磨损划痕污染等污染干扰及存在刚性或透视形变的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为:
候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为:
其中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码边缘方向的初始零数组
具体表示为:
每个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中的最大主方向区间值为:
其中c∈[(b+8-α1)%16,(b+8+α1)%16],且c为整数,α1为多视角可变范围,取α1=2;将最大值Vmax对应的dreb区间的中间值和最大值Vmax对应的drec区间的中间值依次对应赋值给两个条码边缘主方向D1和D2;
步骤2.4:根据步骤2.3得到两个条码边缘主方向,建立目标边缘点的两个梯度方向容错区间:η1=[D1-α2,D1+α2]和η2=[D2-α2,D2+α2],其中α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:建立两个主方向容错区间:D
first=[D
1-η
3,D
1+η
3]和D
sec=[D
2-η
3,D
2+η
3],其中η
3为主方向容错参数,取η
3=π/18;将目标边缘点集合R
1和R
2分别在各自的主方向容错区间D
first和D
sec里进行Hough变换,得到对应的Hough区间U
1和U
2,并得到Hough域Hg,Hg长为ρ
max,
Hg高为γ
max,γ
max=180,Hg中Hough点(ρ,γ)对应的霍夫值表示为H(ρ,γ);
步骤3:基于先验知识过滤及预定义边缘组合:
步骤3.1:遍历Hough域Hg中的所有Hough点,若Hough点(ρ*,γ*)满足下列任一个或多个条件,表明该Hough点为非候选目标边缘点:
条件1:
条件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点
在图像A
2中的对应直线与直线y=tan D
1的垂点坐标(x
0,y
0),以及反方向校验Hough点
在图像A
2中的对应直线与直线y=tan D
1的垂点坐标(x
1,y
1):
计算校验Hough点
在图像A
2中的对应直线与直线y=tan D
2的垂点坐标(x
2,y
2),以及反方向校验 Hough点
在图像A
2中的对应直线与直线y=tanD
2的垂点坐标(x
3,y
3):
步骤3.2.2:对Hough区间U
1中的所有候选目标边缘点进行归类:对于Hough区间U
1中的候选目标边缘点(ρ
1,γ
1),计算(ρ
1,γ
1)在图像A
2中的对应直线与直线y=tanγ
1垂点坐标(x',y'),
分别计算(x',y')与(x
0,y
0)和(x
1,y
1)的欧式距离,若(x',y')与(x
0,y
0)的欧氏距离小于(x',y')与(x
1,y
1)的欧氏距离,则将此候选目标边缘点(ρ
1,γ
1)归类为集合TS
0,否则将其归类为集合TS
1;对Hough区间U
2中的所有候选目标边缘点进行归类:对于Hough区间U
2中的候选目标边缘点(ρ
2,γ
2),计算(ρ
2,γ
2)在图像A
2中的对应直线与直线y=tabγ
2垂点坐标(x″,y″),其中
分别计算(x″,y″)与(x
2,y
2)和(x
3,y
3)的欧式距离,若(x″,y″)与(x
2,y
2)的欧氏距离小于(x″,y″)与(x
3,y
3)的欧氏距离,则将此候选目标边缘点(ρ
2,γ
2)归类为集合TS
2,否则将其归类为集合TS
3;
步骤4:提取边缘组合的多特征:
步骤4.1:提取Hg中的所有候选目标边缘点的边缘灰度分布:对于候选目标边缘点(ρo,γo),其在图像A1中的对应直线lo为ρo=xcosγo+ysinγo,对lo上的每个像素点进行如下步骤,得到lo上的每个像素点的灰度分布值:
步骤4.1.1:将l
o上的像素点(a
0,b
0)沿l
o法线方向向内缩进Δd单位得到像素点(a
d,b
d),其中(a
d,b
d)表示图像A
1中第a
0行b
0列的像素点,b
d=t(a
d-a
0)+
b0,
tanγ
o=t,cosγ
o=c
1,sinγ
o=s;
步骤4.1.2:分别取Δd=0,1,2,3,4,5,6,像素点(a
0,b
0)沿l
o法线方向向内缩进后得到7个像素点
取7个像素点
像素值的平均值p(a
0,b
0)为(a
0,b
0)点的灰度分布值;
按步骤4.1.1和步骤4.1.2得到lo上的每个像素点的灰度分布值,若候选目标边缘点(ρo,γo)的 则将lo上的所有像素点的灰度分布值按照像素点列数从小到大的顺序排列得到灰度分布值数组,否则将lo上的所有像素点的灰度分布值按照像素点行数从小到大的顺序排列得到灰度分布值数组,所述得到的灰度分布值数组为候选目标边缘点(ρo,γo)的边缘灰度分布Fl(ρo,γo);
步骤4.2:依据候选边缘组合的灰度分布混乱程度特征去除无谓组合:
步骤4.2.1:计算所有候选目标边缘点的分形维数:对于候选目标边缘点(ρ
o,γ
o),其对应的边缘灰度分布Fl(ρ
o,γ
o)在图像A
1中长度为L
o,则Fl(ρ
o,γ
o)对应的分形维δ-覆盖区间为:δ=L
o/k,其中k取3,4,5,6,7,8;将Fl(ρ
o,γ
o)平均分为k个覆盖区间,得到区间δ
1,δ
2,…,δ
k;计算δ
m(m=1,2,…,k)区间内灰度分布值的最大值u
δ(m)和最小值b
δ(m),以及
得到一组数据点
对该组数据点
进行线性回归处理后得到该组数据点
拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρ
o,γ
o)的分形维数Dim(ρ
o,γ
o);
步骤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:对所有候选边缘组合采用如下方法判断虚边和实边:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),取max(Dim(ρ0,γ0),Dim(ρ1,γ1))和max(Dim(ρ2,γ2),Dim(ρ3,γ3))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3)的虚边,取min(Dim(ρ0,γ0),Dim(ρ1,γ1))和min(Dim(ρ2,γ2),Dim(ρ3,γ3))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ3,γ2)和(ρ3,γ3)的实边;
步骤4.3:采用如下方法提取所有候选边缘组合的边缘线段:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),取Fl(ρ0,γ0)和Fl(ρ2,γ2)的交点坐标为(x02,y02):
Fl(ρ0,γ0)与Fl(ρ3,γ3)的交点坐标为(x03,y03):
Fl(ρ1,γ1)与Fl(ρ2,γ2)的交点坐标为(x12,y12):
Fl(ρ1,γ1)与Fl(ρ3,γ3)的交点坐标为(x13,y13):
在边缘灰度分布Fl(ρ0,γ0)中截取处于(x02,y02)与(x03,y03)之间的边缘线段为Fl'(ρ0,γ0),在边缘灰度分布Fl(ρ1,γ1)中截取处于(x12,y12)与(x13,y13)之间的边缘线段为Fl'(ρ1,γ1),在边缘灰度分布Fl(ρ2,γ2)中截取处于(x02,y02)与(x12,y12)之间的边缘线段为Fl'(ρ2,γ2),在边缘灰度分布Fl(ρ3,γ3)中截取处于(x03,y03)与(x13,y13)之间的边缘线段为Fl'(ρ3,γ3);
步骤4.4:采用如下方法提取所有候选边缘组合的图像域虚边特征:对于候选边缘组合的虚边Fl(ρξ,γξ),边缘线段Fl'(ρξ,γξ)的长度为lξ',取p=4,5,6,…,14,循环进行如下划分:
将边缘线段Fl'(ρ
ξ,γ
ξ)平均划分为p个区间,则边缘线段Fl'(ρ
ξ,γ
ξ)的区间分割点
为:
虚边Fl(ρ
ξ,γ
ξ)在划分为p个区间情况下的第e个区间
为:
对从0至p-3区间
中的每个区间进行如下处理:
提取区间
内所有元素的灰度分布值,取区间
所有元素灰度分布值的平均值为
根据公式:
计算区间
的相似性
其中
表示区间
内第r个元素的灰度分布值,
表示区间
内第r个元素的灰度分布值,
表示区间
所有元素灰度分布值的平均值,
代表区间
中所有元素灰度分布值标准差,
代表区间
中所有元素灰度分布值标准差;根据公式:
构造对比度高斯加权
其中,
为表示区间
所有元素灰度分布值的平均值,φ=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:
遍历边缘线段Fl'(ρζ,γζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式:
归一化灰度层共现矩阵Q,得到实边特征为
同一候选边缘组合的另一条实边特征记为I
1;
步骤4.6:采用如下方法提取Hough域所有候选边缘组合的内部边缘分布特征:
步骤4.6.1:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),其交点为(x02,y02),(x03,y03),(x12,y12)和(x13,y13),其最佳划分方式为Δ0×Δ0;将交点(x02,y02),(x03,y03),(x12,y12)和(x13,y13)映射为无透视形变的DataMatrix码顶点,映射关系为 与 根据映射关系得到透视变换齐 次方程为:
解出齐次矩阵
步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为:
和
其中函数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')),其中:
得到与lm'对应的霍夫点(ρm',γm'):
得到集合L
1和L
2中所有直线在图像A
1中对应的边缘直线为
与
及
与
在霍夫域 对应的霍夫点
与
步骤4.6.4:取hough点
(ρ
n',γ
n')分布邻域为:
提取hough域Hg中在(ρ
n',γ
n')分布邻域内的所有霍夫点,组成一个边缘点分布区间
中的元素为hough域Hg中在(ρ
n',γ
n')分布邻域内的所有霍夫点的灰度值;
其中N为分布区间
的长度,
η
i为
中的元素;计算得到边缘直线集合
的峰度平均值:
步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合
的峰度平均值为k
1;得到候选边缘组合(ρ
0,γ
0)、(ρ
1,γ
1)、(ρ
2,γ
2)和(ρ
3,γ
2)的Hough域内部边缘分布特征k
0和k
1;
步骤5:根据步骤4得到的虚边特征值G0与G1、实边特征值I0与I1、以及Hough域内部边缘分布特征k0和k1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为: 1≤i≤W,所有候选边缘组合特征的集合记为:
步骤5.1:分配多特征的基本信度:
步骤5.1.1:从至少10幅标准DataMatrix码图像中提取所述6个特征G
0,G
1,I
0,I
1,k
0,k
1,并求取每个特征的平均值,将其作为标准尺度,设为
步骤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:对于
中的候选边缘组合特征Fet
v,计算Fet
v的第一个特征fet
v,1与第二个特征fet
v,2之间的冲突大小K
v (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 (i)(A),mv (i)(B)和mv (i)(Θ)为,i取2~5:
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:强划痕污染的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种屏蔽窗口模板为:
处理效果如图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为:
候选边缘点Pi,j在θi,j反方向的像素值插值p2,i,j为:
其中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码边缘方向的初始零数组
具体表示为:
每个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中的最大主方向区间值为:
其中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=[D1-α2,D1+α2]和η2=[D2-α2,D2+α2],其中α2为梯度方向容错参数,取 遍历步骤1得到的图像A2中的所有目标边缘点,对每个目标边缘点进行如下操作,判断其梯度方向的归属:若目标边缘点Pi,j的梯度方向θi,j∈η1,则该目标边缘点归属于边缘主方向D1,若目标边缘点Pi,j的梯度方向θi,j∈η2,则该目标边缘点归属于边缘主方向D2,若目标边缘点Pi,j的梯度方向不在两个梯度方向容错区间内,则该目标边缘点为噪声干扰点;所有归属于边缘主方向D1的目标边缘点集合为R1,所有归属于边缘主方向D2的目标边缘点集合为R2;
步骤2.5:建立两个主方向容错区间:D
first=[D
1-η
3,D
1+η
3]和D
sec=[D
2-η
3,D
2+η
3],其中η
3为主方向容错参数,取
将目标边缘点集合R
1和R
2分别在各自的主方向容错区间D
first和D
sec里进行Hough变换,得到对应的Hough区间U
1和U
2,并得到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:
条件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点
在图像A
2中的对应直线与直线y=tanD
1的垂点坐标(x
0,y
0),以及反方向校验Hough点
在图像A
2中的对应直线与直线y=tanD
1的垂点坐标(x
1,y
1):
计算校验Hough点
在图像A
2中的对应直线与直线y=tanD
2的垂点坐标(x
2,y
2),以及反方向校验Hough点
在图像A
2中的对应直线与直线y=tanD
2的垂点坐标(x
3,y
3):
步骤3.2.2:对Hough区间U
1中的所有候选目标边缘点进行归类:对于Hough区间U
1中的候选目标边缘点(ρ
1,γ
1),计算(ρ
1,γ
1)在图像A
2中的对应直线与直线y=tanγ
1垂点坐标(x',y'),
分别计算(x',y')与(x
0,y
0)和(x
1,y
1)的欧式距离,若(x',y')与(x
0,y
0)的欧氏距离小于(x',y')与(x
1,y
1)的欧氏距离,则将此候选目标边缘点(ρ
1,γ
1)归类为集合TS
0,否则将其归类为集合TS
1;对Hough区间U
2中的所有候选目标边缘点进行归类:对于Hough区间U
2中的候选目标边缘点(ρ
2,γ
2),计算(ρ
2,γ
2)在图像A
2中的对应直线与直线y=tanγ
2垂点坐标(x″,y″),其中
分别计算(x″,y″)与(x
2,y
2)和(x
3,y
3)的欧式距离,若(x″,y″)与(x
2,y
2)的欧氏距离小于(x″,y″)与(x
3,y
3)的欧氏距离,则将此候选目标边缘点(ρ
2,γ
2)归类为集合TS
2,否则将其归类为集合TS
3。
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码四条边缘中的其中一条,本实例求得四类集合中候选边缘点个数分别为:TS
0=2,TS
1=16,TS
2=16,TS
3=29。至此,候选边缘组合降至
组。候选边缘组合如图8(f)所示。
步骤4:提取边缘组合的多特征:
步骤4.1:提取Hg中的所有候选目标边缘点的边缘灰度分布:对于候选目标边缘点(ρo,γo),其在图像A1中的对应直线lo为ρo=xcosγo+ysinγo,对lo上的每个像素点进行如下步骤,得到lo上的每个像素点的灰度分布值:
步骤4.1.1:将l
o上的像素点(a
0,b
0)沿l
o法线方向向内缩进Δd单位得到像素点(a
d,b
d),其中(a
d,b
d)表示图像A
1中第a
0行b
0列的像素点,b
d=t(a
d-a
0)+b
0,
tanγ
o=t,cosγ
o=c
1,sinγ
o=s;
步骤4.1.2:分别取Δd=0,1,2,3,4,5,6,像素点(a
0,b
0)沿l
o法线方向向内缩进后得到7个像素点
取7个像素点
像素值的平均值p(a
0,b
0)为(a
0,b
0)点的灰度分布值;
按步骤4.1.1和步骤4.1.2得到l
o上的每个像素点的灰度分布值,若候选目标边缘点(ρ
o,γ
o)的
则将l
0上的所有像素点的灰度分布值按照像素点列数从小到大的顺序排列得到灰度分布值数组,否则将l
0上的所有像素点的灰度分布值按照像素点行数从小到大的顺序排列得到灰度分布值数组,所述得到的灰度分布值数组为候选目标边缘点(ρ
o,γ
o)的边缘灰度分布Fl(ρ
o,γ
o);
步骤4.2:依据候选边缘组合的灰度分布混乱程度特征去除无谓组合:
步骤4.2.1:计算所有候选目标边缘点的分形维数:对于候选目标边缘点(ρ
o,γ
o),其对应的边缘灰度分布Fl(ρ
o,γ
o)在图像A
1中长度为L
o,则Fl(ρ
o,γ
o)对应的分形维δ-覆盖区间为:δ=L
o/k,其中k取3,4,5,6,7,8;将Fl(ρ
o,γ
o)平均分为k个覆盖区间,得到区间δ
1,δ
2,…,δ
k;计算δ
m(m=1,2,…,k)区间内灰度分布值的最大值u
δ(m)和最小值b
δ(m),以及
得到一组数据点
对该组数据点
进行线性回归处理后得到该组数据点
拟合直线的斜率,取所述斜率的负值为候选目标边缘点(ρ
o,γ
o)的分形维数Dim(ρ
o,γ
o);
步骤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:对所有候选边缘组合采用如下方法判断虚边和实边:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),取max(Dim(ρ0,γ0),Dim(ρ1,γ1))和max(Dim(ρ2,γ2),Dim(ρ3,γ3))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3)的虚边,取min(Dim(ρ0,γ0),Dim(ρ1,γ1))和min(Dim(ρ2,γ2),Dim(ρ3,γ3))对应的候选目标边缘点的边缘灰度分布为候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3)的实边;
步骤4.3:采用如下方法提取所有候选边缘组合的边缘线段:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),取Fl(ρ0,γ0)和Fl(ρ2,γ2)的交点坐标为(x02,y02):
Fl(ρ0,γ0)与Fl(ρ3,γ3)的交点坐标为(x03,y03):
Fl(ρ1,γ1)与Fl(ρ2,γ2)的交点坐标为(x12,y12):
Fl(ρ1,γ1)与Fl(ρ3,γ3)的交点坐标为(x13,y13):
在边缘灰度分布Fl(ρ0,γ0)中截取处于(x02,y02)与(x03,y03)之间的边缘线段为Fl'(ρ0,γ0),在边缘灰度分布Fl(ρ1,γ1)中截取处于(x12,y12)与(x13,y13)之间的边缘线段为Fl'(ρ1,γ1),在边缘灰度分布Fl(ρ2,γ2)中截取处于(x02,y02)与(x12,y12)之间的边缘线段为Fl'(ρ2,γ2),在边缘灰度分布Fl(ρ3,γ3)中截取处于(x03,y03)与(x13,y13)之间的边缘线段为Fl'(ρ3,γ3);
步骤4.4:采用如下方法提取所有候选边缘组合的图像域虚边特征:对于候选边缘组合的虚边Fl(ρξ,γξ),边缘线段Fl'(ρξ,γξ)的长度为lξ',取p=4,5,6,…,14,循环进行如下划分:
将边缘线段Fl'(ρ
ξ,γ
ξ)平均划分为p个区间,则边缘线段Fl'(ρ
ξ,γ
ξ)的区间分割点
为:
虚边Fl(ρ
ξ,γ
ξ)在划分为p个区间情况下的第e个区间
为:
对从0至p-3区间
中的每个区间进行如下处理:
提取区间
内所有元素的灰度分布值,取区间
所有元素灰度分布值的平均值为
根据公式:
计算区间
的相似性
其中
表示区间
内第r个元素的灰度分布值,
表示区间
内第r个元素的灰度分布值,
表示区间
所有元素灰度分布值的平均值,
代表区间
中所有元素灰度分布值标准差,
代表区间
中所有元素灰度分布值标准差;根据公式:
构造对比度高斯加权
其中,
为表示区间
所有元素灰度分布值的平均值,φ=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:
遍历边缘线段Fl'(ρζ,γζ)中的所有相邻元素:对于相邻元素Fl′i和Fl′i+1,若Fl′i的元素值为Fx,Fl′i+1的元素值为Fy,则将矩阵Q内的元素Q(Fx,Fy)和Q(Fy,Fx)的元素值分别加1;按照公式:
归一化灰度层共现矩阵Q,得到实边特征为
同一候选边缘组合的另一条实边特征记为I
1;
步骤4.6:采用如下方法提取Hough域所有候选边缘组合的内部边缘分布特征:
步骤4.6.1:对于候选边缘组合(ρ0,γ0)、(ρ1,γ1)、(ρ2,γ2)和(ρ3,γ3),其交点为(x02,y02),(x03,y03),(x12,y12)和(x13,y13),其最佳划分方式为Δ0×Δ0;将交点(x02,y02),(x03,y03),(x12,y12)和(x13,y13)映射为无透视形变的DataMatrix码顶点,映射关系为 与 根据映射关系得到透视变换齐次方程为:
解出齐次矩阵
步骤4.6.2:透视变换校正后的DataMatrix码图像中,DataMatrix码内部边缘集合为:
和
其中函数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')),其中:
得到与lm'对应的霍夫点(ρm',γm'):
得到集合L
1和L
2中所有直线在图像A
1中对应的边缘直线为
与
及
与
在霍夫域对应的霍夫点
与
步骤4.6.4:取hough点 (ρn',γn')分布邻域为:
提取hough域Hg中在(ρ
n',γ
n')分布邻域内的所有霍夫点,组成一个边缘点分布区间
中的元素为hough域Hg中在(ρ
n',γ
n')分布邻域内的所有霍夫点的灰度值;
其中N为分布区间
的长度,即代表一个波峰的宽度,
η
i为
中的元素;计算得到边缘直线集合
的峰度平均值:
步骤4.6.5:采用与步骤4.6.4相同的方法计算另一边缘直线集合
的峰度平均值为k
1;得到候选边缘组合(ρ
0,γ
0)、(ρ
1,γ
1)、(ρ
2,γ
2)和(ρ
3,γ
3)的Hough域内部边缘分布特征k
0和k
1。
本实施例中,首先利用步骤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得到的虚边特征值G
0与G
1、实边特征值I
0与I
1、以及Hough域内部边缘分布特征k
0和k
1,建立所有W组候选边缘组合的特征,其中第i组候选边缘组合的特征记为:
1≤i≤W,所有候选边缘组合特征的集合记为:
本专利中的每个特征分类事实上都是一个二分类问题,即A:属于DM码精确定位特征;B:不属于DM码精确定位特征。其识别框架Θ={A,B},幂集元素有{[A],[B],[A,B]}三个焦元元素,分别代表着“精确定位”(支持证据区间),“非精确定位”(拒绝证据区间),“不确定”(不确定证据区间)。
步骤5.1:分配多特征的基本信度:
步骤5.1.1:从至少10幅标准DataMatrix码图像中提取所述6个特征G
0,G
1,I
0,I
1,k
0,k
1,并求取每个特征的平均值,将其作为标准尺度,设为
步骤5.1.2:计算W组候选边缘组合中每个特征的最大值,用
表示;
步骤5.1.3:对于
中的候选边缘组合特征Fet
v,Fet
v的第j个特征的焦元[A]信度分配(m
v,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 (i)(A),mv (i)(B)和mv (i)(Θ)为,i取2~5:
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个特征,并求取每个特征的平均值,将其作为标准尺度,其值为:
表示为:
利用步骤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)(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。