发明内容
本发明的目的是提供一种信封图像匹配方法,以实现以信封图像作为查询依据在信函分拣***的数据库中查询相关信息。
本发明的技术方案是,一种信封图像匹配方法,包括对信封图像进行高斯平滑滤波、边缘检测、二值化以及闭运算的预处理步骤,还包括以下步骤:
A1,对所述信封图像进行分割,分割结果为Ω={R1,R2,...,RN},其中N表示区域总数,区域Ri的邻接区域为N(Ri),基于分割结果Ω构建该信封图像的图表示G=(V,E,μ,v),其中V是顶点集,E是边集,μ:V→LV为顶点属性函数,v:E→LE为边属性函数,其中LV和LE以是任意类型的集合,图G中的顶点vi对应Ω中的区域Ri,图G中的任两个顶点vi及vj,其对应区域分别为Ri∈Ω及Rj∈Ω,vi和vj之间存在边eij的条件是Ri∈N(Rj)或者Rj∈N(Ri),
对于图G中的顶点v
i,
其属性定义为v
i={F
i,T
i,M
i,C
i},
前景像素比例F,即区域Ri中前景像素占整个图像中前景像素的比例,纹理特征为特征向量Ti={Entavg,Entvar,Conavg,Convar,Homavg,Homvar}.计算区域Ri的四方向,包括0度、45度、90度以及180度的灰度共生矩阵Pj(j=1,2,3,4),其大小为S×S,基于每个Pj提取熵Ent、对比度Con和逆差距Hom三个特征:
对每个特征分别求四个方向的均值与方差,则纹理特征最终表示为特征向量Ti={Entavg,Entvar,Conavg,Convar,Homavg,Homvar}.
矩特征M。假定区域Ri的灰度级范围为[0-L],则其归一化后灰度直方图表示成Hi={h(0),h(1),...,h(L)},其中h(k)(k=0,1,...,L)代表灰度级k在区域Ri中所占比例,该区域的直方图二阶矩为:
其中m为区域Ri的平均灰度值。
上下文特征C。令(Cx
i,Cy
i)为R
i的中心,R
j∈N(R
i)的中心为(Cx
j,Cy
j)。
连接(Cx
i,Cy
i)与(Cx
j,Cy
j),则形成以(Cx
i,Cy
i)为中心的星形拓扑结构,将整个平面划分为||N(R
i)||份,该拓扑结构较好地描述了N(R
i)之间相对于R
i的位置关系。用θ来表示两条直线间的夹角,则R
i的上下文特征可以描述为特征向量
图G中连接顶点vi和vj的边eij,其属性描述所连接两个区域Ri和Rj之间的邻接关系,边eij的属性为eij={Cdisij,Angij}
归一化的中心连线距离Cdis
Ri的中心坐标为(Cxi,Cyi),Rj的中心坐标为(Cxj,Cyj),其中ImgH和ImgW分别代表信封图像的高和宽,
边eij的角度特征Ang指该边与其它所有与顶点vi或vj相连的边之间的夹角集合,设Ei={eim|m=1,2,...,Ni,m≠j,m≠i}表示与顶点vi相连的边集,Ej={ejn|n=1,2,...,Nj,n≠i,n≠j}表示与顶点vj相连的边集,其中Ni和Nj分别表示与顶点vi及vj相连的边数,则eij的角度特征Ang为:
Angij=Angi∪Angj (6)
其中,
A2,令图库中任一图表示为G′=(V′,E′,μ′,v′),计算图G=(V,E,μ,v)与G′=(V′,E′,μ′,v′)之间的相似度,具体步骤为:
B1,计算vi∈G与vi′∈G′顶点之间的距离
d(vi,vi′)=dF+dT+dM+dC (15)
其中,
属性F之间的距离dF:
属性T之间的距离dT:
属性M之间的距离dM:
属性C之间的距离dC
采用Hausdorff距离计算dC,具体方法如下,
假定Ci={θ1,θ2,...,θp},Ci′={θ′1,θ′2,...,θ′p′},则
其中,
Context_MAX是两个顶点属性C之间可能取到的最大Hausdorff距离,即获得vi∈G与vi′∈G′之间的距离d(vi,vi′)如下,
d(vi,vi′)=dF+dT+dM+dC (15)
B2,计算对于eij∈G和ei′j′∈G′,边之间的距离为
d(eij,ei′j′)=dCdis+dAng (16)
其中dCdis表示Cdis属性之间的距离,dAng表示Ang属性之间的距离,
属性Cdis之间的距离dCdis为
属性Ang之间的距离dAng采用Hausdorff距离计算,主要步骤如下:
假设Angij={θ1,θ2,...,θp},Angi′j′={θ′1,θ′2,...,θ′p′},则
其中,
Ang_MAX是两条边属性Ang之间可能取到的最大Hausdorff距离;
B3,计算图之间的距离Dist(G,G′)
根据G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)建立二分图BP,具体为:令
其中
令其权重
基于二分图BP,运用Munkre算法获得具有最小权重的匹配,将该最小权重作为两个图之间的顶点距离DistNode,
假设图G=(V,E,μ,v)与G′=(V′,E′,μ′,v′)中顶点数目分别为N和N′,则采用Munkre算法获得min(N,N′)对顶点对应关系,定义0-1矩阵Z,大小为N×N′,即
基于矩阵Z可以获得两个图之间隐含的边匹配关系,主要分为以下四种情况:假设vi∈G,vj∈G及vi′∈G′,vj′∈G′,Z[i][i′]=1并且Z[j][j′]=1,
对于eij∈E∩ei′j′∈E′,d(eij,ei′j′)值不变,
对于
令d(e
ij,e
i′j′)=σ,其中σ为大于0的常数,
对于
令d(e
ij,e
i′j′)=σ,其中σ为大于0的常数,
则G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)之间的边距离DistEdge为:
当图G=(V,E,μ,v)与G′=(V′,E′,μ′,v′)中顶点数目不同时,额外的匹配代价Penal(G,G′)为:
其中||·||表示图中顶点数目,fabs(·)为取绝对值操作,
图G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)之间的距离Dist(G,G′)为:
Dist(G,G′)=DistNode(G,G′)+DistEdge(G,G′)+Penal(G,G′)(20),距离Dist(G,G′)即为G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)之间的相似度。
本发明将待匹配的两个信封图像分别用图表示出来,则图像之间的相似度计算转化为图匹配问题,采用基于最小权重的二分图匹配算法计算两个图之间的距离。
进一步的,首先对信封图像进行分割,基于分割结果构建图像的图表示。其中,图的每个顶点代表信封图像中的一个区域,而图的每一条边用来表示两个区域之间的邻接关系。
由于图像在采集过程中易受到噪声等因素的影响,可能会导致对应于同一个信封的多个图像的图表示有所不同,故本发明采用一种非精确图匹配算法。大量实验结果表明,该方法对于光照、倾斜、旋转等具有较强的鲁棒性,能够高效地实现基于信封图像的信函信息查询。
具体实施方式
以下结合附图对本发明的具体实施方式做详细说明。
为了减少噪声等干扰对后续图像分割以及匹配的影响,需要对图像进行预处理,主要包括高斯平滑滤波、边缘检测、二值化以及闭运算等几个步骤,如图1所示。
将图匹配方法应用在实际问题中时,首先要解决的问题是如何准确地将待处理对象用图表示出来。方法是,先对信封图像进行分割,得到若干不相交区域,然后基于分割结果来构建图。采用基于区域的方法来构建信封图像的图表示主要原因在于区域是介于像素以及整幅图像之间的一种有效的图像表征方法,通过对每个区域属性的描述可以获得图像的局部特征,而各个区域之间的关系则可以表达出图像的全局拓扑结构。所以较通常采用的基于特征点构建图的方法在描述对象的能力方面具有一定优势。
结合信封图像版面格式的先验知识,采用连通元分析(CCA)方法对信封图像进行分割,分割结果的一个实例如图2所示。
本发明技术方案中涉及的一些概念和方法如下所述。
1,构建信封图像的图表示。
以下对如何基于信封图像的分割结果构建其图表示G做详细说明。
令图像分割结果为Ω={R1,R2,...,RN},其中N表示区域总数。定义区域Ri的邻接区域为N(Ri),基于Ω构建图像的图表示G的主要方法如下:
(1)图G中的每个顶点vi对应Ω中的一个区域Ri。
(2)对于图G中的两个顶点vi及vj,假设其对应区域分别为Ri∈Ω及Rj∈Ω。则vi和vj之间存在边eij的条件是Ri∈N(Rj)或者Rj∈N(Ri)。
具体来说,将图G表示为四元组G=(V,E,μ,v),其中V是顶点集,E是边集,μ:V→LV为顶点属性函数,v:E→LE为边属性函数。其中LV和LE可以是任意类型的集合,比如实数、向量或者符号。图3显示了信封图像中各个区域之间的邻接关系,图4为对应于该信封图像的图表示。
1.1,关于前述的图中顶点属性的定义特别说明如下。
图中顶点属性对应于其所代表图像区域的特征,由于光照的影响,会导致直接基于图像灰度的特征具有不稳定性,所以后续操作均是基于图像的边缘图进行的。一方面边缘保留了原始图像中的所有重要信息,并且对光照有一定鲁棒性。
(1)前景像素比例F。即区域Ri中前景像素占整个图像中前景像素的比例。
(2)纹理特征T。分别计算区域Ri的四方向(0度、45度、90度以及180度)灰度共生矩阵Pj(j=1,2,3,4),其大小为S×S。基于每个Pj提取熵Ent、对比度Con和逆差距Hom三个特征。
对每个特征分别求四个方向的均值与方差,则纹理特征最终表示为特征向量Ti={Entavg,Entvar,Conavg,Convav,Homavg,Homvar}.
(3)矩特征M。假定区域Ri的灰度级范围为[0-L],则其归一化后灰度直方图表示成Hi={h(0),h(1),...,h(L)},其中h(k)(k=0,1,...,L)代表灰度级k在区域Ri中所占比例。该区域的直方图二阶矩被定义为:
其中m为区域Ri的平均灰度值。
(4)上下文特征C。令(Cx
i,Cy
i)为R
i的中心,R
j∈N(R
i)的中心为(Cx
j,Cy
j)。
连接(Cx
i,Cy
i)与(Cx
j,Cy
j),则形成以(Cx
i,Cy
i)为中心的星形拓扑结构,如图5所示,将整个平面划分为||N(R
i)||份,该拓扑结构较好地描述了N(R
i)之间相对于R
i的位置关系。用θ来表示两条直线间的夹角,则R
i的上下文特征可以描述为特
征向量 如图6所示。
从上述定义方式来看,上下文特征具有良好的旋转不变性,只要区域Ri和其相邻区域N(Ri)之间相对位置关系维持不变,则Ri的上下文特征具有稳定性。
综合起来,
其属性定义为v
i={F
i,T
i,M
i,C
i}。
1.2,图中边属性定义
对于G中任意一条连接顶点vi和vj的边eij,其属性主要用来描述所连接两个区域Ri和Rj之间的邻接关系,以下分别从距离Cdis以及角度Ang两个方面来考虑。
(1)归一化的中心连线距离Cdis
令Ri的中心坐标为(Cxi,Cyi),Rj的中心坐标为(Cxj,Cyj),则
其中ImgH和ImgW分别代表信封图像的高和宽。
(2)角度Ang
边eij的角度特征Ang指该边与其它所有与顶点vi或vj相连的边之间的夹角集合,如图7所示。假设Ei={eim|m=1,2,...,Ni,m≠j,m≠i}表示与顶点vi相连的边集,Ej={ejn|n=1,2,...,Nj,n≠i,n≠j}表示与顶点vj相连的边集,其中Ni和Nj分别表示与顶点vi及vj相连的边数,则eij的角度特征Ang定义如下,
Angij=Angi∪Angj (6)
其中,
故图中边eij的属性定义为eij={Cdisij,Angij}。
2,图匹配算法
以下主要介绍本发明中采用的图匹配算法。
为计算两个图G=(V,E,μ,v)与G′=(V′,E′,μ′,v′)之间的相似度,采用基于最小权重的二分图匹配算法,虽然属于一种次优图匹配方法,即不保证得到最优解,但是通过大量实验证明,该方法在基本不影响匹配性能的前提下大大提高了时间效率。
2.1,顶点之间的距离
vi∈G与vi′∈G′之间的距离d(vi,vi′)定义为各个属性分量之间的距离和。
(1)属性F之间的距离dF
(2)属性T之间的距离dT
(3)属性M之间的距离dM
dM定义方法与dF相似,
(4)属性C之间的距离dC
采用Hausdorff距离计算dC,具体方法如下,
假定Ci={θ1,θ2,...,θp},Ci′={θ′1,θ′2,...,θ′p′},则
其中,
Context_MAX是两个顶点属性C之间可能取到的最大Hausdorff距离。
即vi∈G与vi′∈G之间的距离d(vi,vi′)定义如下,
d(vi,vi′)=dF+dT+dM+dC (15)
2.2,边之间的距离
边之间的距离定义为两条边各个属性分量之间的距离和。
与顶点之间距离计算方法类似,边之间的距离同样定义为各个属性分量之间的距离和,对于eij∈G和ei′j′∈G′,其距离为
d(eij,ei′j′)=dCdis+dAng (16)
其中dCdis表示Cdis属性之间的距离,采用与dF相似的定义方法。dAng表示Ang属性之间的距离,定义方法与dC类似。
(1)属性Cdis之间的距离dCdis
(2)属性Ang之间的距离dAng
采用Hausdorff距离计算dAng,主要步骤如下:
假设Angij={θ1,θ2,...,θp},Angi′j′={θ′1,θ′2,...,θ′p′},则
其中,
Ang_MAX是两条边属性Ang之间可能取到的最大Hausdorff距离。
2.3,图之间的距离
采用一种基于最小权重的二分图匹配算法来计算两个图之间的距离,首先根据G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)建立二分图BP,如图8所示,具体步骤如下,
(1)令 其中
令其权重
基于二分图BP,运用Munkre算法获得具有最小权重的匹配,将该最小权重作为两个图之间的顶点距离DistNode。
假设图G=(V,E,μ,v)与G′=(V′,E′,μ′,v′)中顶点数目分别为N和N′,则采用Munkre算法获得min(N,N′)对顶点对应关系,为了便于描述,定义0-1矩阵Z,大小为N×N′,即
基于矩阵Z可以获得两个图之间隐含的边匹配关系,主要分为以下四种情况来讨论:假设vi∈G,vj∈G及vi′∈G′,vj′∈G′,Z[i][i′]=1并且Z[j][j′]=1,
对于(1),采用2.2中所述方法计算边eij,ei′j′之间的距离d(eij,ei′j′)。
对于(4),令d(eij,ei′j′)=0。
对于(2)(3),令d(eij,ei′j′)=σ,其中σ为大于0的常数。
则两个图之间的边距离DistEdge定义为
此外,当两个图中顶点数目不同时,需要考虑额外的匹配代价Penal(G,G′),具体定义为,
其中||·||表示图中顶点数目,fabs(·)为取绝对值操作。
则最终两个图G=(V,E,μ,v)和G′=(V′,E′,μ′,v′)之间的距离Dist(G,G′)定义如下:
Dist(G,G′)=DistNode(G,G′)+DistEdge(G,G′)+Penal(G,G′)(20)
3,信封图像检索***
基于上述图匹配方法建立信封图像检索***,预先构建数据库中所有图像的图表示形成图库,当查询图像被提交后,对查询图像进行同样处理并生成其图表示,依次与图库中所有图进行匹配,将最为相似即相应两个图之间距离最小的图像以及其相关信息作为查询结果返回。上述做法存在一个问题,当数据库中图像数目很大时,将查询图像和数据库中所有图像依次做匹配带来的时间开销将是不可忍受的。针对此问题,将检索过程分解为两个阶段:粗匹配与细匹配,具体流程如图9所示。在粗匹配阶段剔除大多数无关图像,获得与查询图像Q最相关的候选匹配集R。基于该候选匹配集R,再进一步进行细匹配,通常情况下该候选匹配集中图像数目远远小于数据库中图像总数目,所以大大减少了匹配次数,降低了时间复杂度。
3.1,粗匹配
在粗匹配阶段,主要解决的问题是如何高效地剔除数据库中与查询图像无关的信封图像。前面介绍的图匹配算法虽然准确率高,但是时间开销大,所以尝试用特征向量将图表示出来,这样图匹配问题就转化为了计算两个特征向量之间的距离,而后者可以运用统计模式识别中丰富的数学工具来解决,本文采用简单直观的欧式距离。
下面具体介绍如何用特征向量将图表示出来。
(1)对图库中的所有图按照顶点数目分类,并选取每一类的中心组成集合A={G1,G2,...,GJ},其中J表示类别总数。这里的“中心”定义为该图到其所属类中所有图的距离之和最小。
(2)任给图G ,其特征向量表示为(Dist(G,G1),Dist(G,G2),...,Dist(G,GJ))。
该方法既结合了图在描述对象方面的优势,由于通过计算两个特征向量之间的距离来近似图匹配,故在节省时间开销方面也很明显。基于此方法,获得数据库中与查询图像最相关的图像组成候选匹配集R。
3.2,细匹配
在此阶段,查询图像需要依次和候选匹配集R中的每个图像进行匹配,采用前文第2标题部分中所述图匹配算法,最终将与查询图像最相似的图像及其相关信息返回。