
图像特征
-
2023年3月4日发(作者:工艺的英文)数字图像处理笔记(⼗三):图像特征表⽰和描述
1-引⾔
在我们进⾏图像识别的时候,往往是将图⽚中的特征来表⽰整张图⽚让计算机进⾏识别,基本上表⽰⼀个区域涉及两种选择:
1.外部特征
2.内部特征
下⼀步就是基于所选择的表⽰来描述区域
当我们关注的重点是形状特征时,可选择⼀种外部表⽰;⽽当关注的重点是内部属性如颜⾊和纹理时,可以选择⼀种内部表⽰。⽆论哪种情
形,选择⽤来作为描绘⼦的特征都应尽可能地对⼤⼩、平移和旋转不敏感
2-表⽰
以沿着边界或包含在区域中的像素的形式产⽣原始数据,标准做法是使⽤某种⽅案将分割后的数据精简为更便于描绘⼦计算的表⽰。下⾯让
我们学习⼀下各种表⽰⽅法
2.1-边界追踪算法
该算法输出的是排序后的点序列,我们假设:
1.处理的是⼆值图像,其⽬标和背景点分别标位1和0
2.图像已使⽤值为0的边界填充,因⽽消除了⽬标与图像边界合并的可能性
给定⼀个⼆值区域R或其边界,追踪R的边界或给定边界的算法由如下步骤组成:
1.令起始点为图像中左上⾓标记为1的点。使⽤表⽰西侧的邻点。从开始按顺时针⽅向考察的8个邻点。令表⽰所遇到的值
为1的第⼀个邻点,并直接令是序列中之前的点。存储和的位置,以便在步骤5中使⽤
2.令和
3.从c开始按顺时针⽅向⾏进,令b的8个邻点为找到标记为1的第⼀个
4.令和
5.重复步骤3和步骤4
当算法停⽌时,所找到的b点的序列就构成了排列后的边界点的集合
2.2-佛雷曼(Freeman)链码
链码⽤于表⽰由顺次连接的具有指定长度和⽅向的直线段组成的边界。这种表⽰基于这些线段的4连接或8连接。每个线段的⽅向使⽤⼀种
数字编号⽅案编码,如图所⽰,以这种⽅向性数字序列表⽰的编码称为佛雷曼(Freeman)链码。
链码的⼀次差分为,通过计算链码中分隔两个相邻像素的⽅向变化的数(按逆时针⽅向计算前⼀个数字变化到后⼀个数字所需的步数),其
中第⼀元素是通过使⽤链码的最后⼀个元素和第⼀个元素间的转变来计算得到的。例如,4⽅向链码0231,得到的⼀次差分为3212,其中
3为1逆时针转到0需3步;2为0逆时针转到2需2步;1为2逆时针转到3需1步;2为3逆时针转到1需2步。
b0c0b0c0b0b1
c1b1b0b1
b=b1c=c1
n,n,…,n128nk
b=nkc=nk−1
2.3-使⽤最⼩周长多边形的多边形近似(MPP)
⼀副图像我们可以⽤多边形拟合它的形状。
我们的⽬的就是使⽤合适的最⼤可能单元⼤⼩,以最少的定点数来⽣产MPP,并且我们可以发现构成边界的多边形每个转向要么是⼀个凸
定点,要么是⼀个凹顶点。
注意的是凹顶点(⿊⾊)有⼀个对应的“镜像”顶点,位于凹顶点的对⾓处
因此,我们的算法就只需要关注这些顶点
MPP算法
令W(⽩)和B(⿊)分别表⽰凸顶点镜像凹顶点
寻找MMP的算法使⽤两个“爬⾏”点:
⽩⾊的爬⾏垫():沿凸顶点(w)爬⾏
⿊⾊的爬⾏垫():沿镜像凹顶点(B)爬⾏。
算法⾸先令(是⼀个MPP顶点),表⽰最后⼀个MPP顶点,表⽰正在考察的当前顶点。
(det(A)是A的⾏列式)
在和两个爬⾏点之间存在如下三个条件之⼀:
1.位于通过的直线的正的⼀侧,即
2.位于通过的直线的负的⼀侧,或者与共线,即。同时,位于通过
的直线的正的⼀侧,或者与共线,即
3.位于通过的直线的负的⼀侧,即
如果条件1成⽴,则下⼀个MPP顶点是并且我们令;然后我们令来重新初始化该算法,并在之后的下⼀个
顶点继续执⾏算法
如果条件2成⽴,则编程⼀个候选的MPP顶点。在这种情况下,如果是凸顶点,则令;否则,我们置然后,我们使
⽤列表中的下⼀顶点继续执⾏算法
如果条件3成⽴,则下⼀个MPP顶点是,并且令;然后我们令来重新初始化该算法,并⽤之后的下⼀个顶点
继续执⾏算法
当算法再次到达第⼀个顶点时,算法结束,此时算法已经处理了多边形中的所有顶点。
3-边界描绘⼦
3.1-⼀些简单的描述⼦
1.边界的长度
边界的长度是最简的描述⼦之⼀。⼀条边界上的像素数量可以给出其长度的粗略近似。
2.边界的长轴与短轴
边界B的直径定义为
是边界上的点,是定义和之间的距离。直径的值和连接组成该直径两个端点的直线段(该直线称为边界的长轴)
的⽅向是边界的有⽤描述⼦,边界的短轴定义为与长轴垂直的直线,且由边界与两个轴相交的4个外部点所组成的⽅框(该⽅框称为基
本矩形),可以全完包围该边界
3.边界的偏向率
长轴与短轴之⽐成为边界的偏⼼率
3.2-形状数
链码边界的⼀次差分取决于起始点。⼀条基于链码的边界的形状数,定义为最⼩量级的⼀次差分,即对链码的⼀次差分进⾏循环,得到的值
最⼩的差分码为形状数。
3.3-傅⾥叶描述⼦
WcWc
BcBc
W=cB=cV0v0VLVk
sgn(a,b,c)≡det(A)
V,VLk
Vk(V,W)Lcsgn(W,W,V)>Lck0
Vk(V,W)LcVk(V,W)Lcsgn(W,W,V)≤Lck0Vk(V,B)Lc
Vk(V,B)Lcsgn(V,B,V)≥Lck0
Vk(V,B)Lcsgn(V,B,V) WCV=LWcW=cB=cVLVL VkVkW=cVkB=cVk BcV=LBcW=cB=cVLVL Diam(B)=max[D(p,p)]ij i j p,pi jD(p,p)jjpipj 下图显⽰了xy平⾯内的⼀个K点数字边界,从任意点开始,以逆时针⽅向在该边界上⾏进时,会遇到坐标对 这些坐标可以表⽰为的形式,此外,每个坐标都可当做⼀个复数来处 理 式中有 s(k)的傅⾥叶变换为 式中复系数称为边界的傅⾥叶描述⼦。这些系数的傅⾥叶反变换可恢复s(k) 然⽽,假设仅使⽤前P个傅⾥叶系数⽽不使⽤所有系数,等同于上式中令结果的如下近似: 尽管求的每个成分时仅使⽤了P项,但k的范围仍然是从0到K-1,也就是说,在近似边界中存在同样数量的点,但项数不像在每个点的 重建中那么多 由于⾼频成分说明精细细节,⽽低频成分决定全局形状,因此P越⼩,边界丢失的细节就越多 3.4-统计矩 如图(a),它显⽰了⼀段边界,图(b)显⽰了以任意变量的⼀维函数描述的线段,该函数是这样获得的:先将该线段的两个端点连 接,然后旋转该直线,直⾄其为⽔平线段,此时所有的点的坐标也旋转同样的⾓度 (x,y) 00 (x,y),(x,y),(x,y),…,(x,y) 001122 k−1k−1x(k)=x,y(k)=kyk s(k)=x(k)+jy(k) k=0,1,2,…,K−1 a(u)=s(k)ek=0 ∑K−1 −j2πuk/K u=0,1,2,…,K−1a(u) s(k)=a(u)e K 1 u=0 ∑K−1 j2πuk/K a(u)=0,u>P−1s(k) (k)=s^a(u)e K 1 u=0 ∑P−1 j2πuk/P (k)s^ rg(r) 把归⼀化为单位⾯积,并把它当作直⽅图来处理,换句话说,现在作为值出现的概率来处理,此时,r为⼀个随机变量,故n阶矩 为 式中, K是边界上的点数,直接与的形状相关。例如,⼆阶矩度量曲线关于r的均值扩展程度,⽽三阶矩度量曲线关于均 值的对称性 4-区域描述⼦ 4.1-简单的区域描述⼦ 1.区域的⾯积 区域的⾯积定义为该区域中像素的数量 2.区域的周长 区域的周长是其边界的长度 3.致密性 致密性定义为(周长)⾯积 4.圆周率 圆周率即⼀个区域的⾯积与具有相同周长的⼀个圆(最致密形状)的⾯积之⽐。周长为P的⼀个圆的⾯积。因此,圆周率由 下式给出: A是所讨论的区域⾯积,P是其周长 5.其他 ⽤作区域描述⼦的其他简单测度包括灰度值的均值和中值,最⼩灰度值和最⼤灰度值,以及其⾼于和低于均值的像素数 4.2-拓扑描述⼦ g(r)g(r)iri u(r)=n(r−i=0 ∑K−1 im)g(r)n i m=rg(r)i=0 ∑K−1 ii u(r)ng(r)u(r)2u(r)3 /2 P/4π2Rc R=c p2 4πA 拓扑学研究未受任何变形影响的图形的特质,前提是该图形未被撕裂或粘连。 例如,图(a)显⽰了⼀个带有两个孔洞的区域。如果⼀个拓扑描述⼦由该区域内的孔洞数量来定义,那么这种性质明显不受拉伸或旋转变换 的影响。 另⼀个对区域描述有⽤的拓扑特性是连通分量的数量。如图4(b)显⽰了⼀个具有3个连通分量的区域。 图形中孔洞的数量H和连通分量的数量C,可⽤于定义欧拉数E:E=C-H 欧拉数也是⼀种拓扑特性。例如,图所⽰的区域有分别等于0和−1的欧拉数。 4.3-纹理 描绘区域的⼀种总要⽅法是量化该区域的纹理内容 出现处理中⽤于描述区域纹理的三种主要⽅法是: 1.统计⽅法(平滑、粗糙、粒状的等纹理特征) 2.结构⽅法(像元的排列,如基于规则间距平⾏线的纹理描述) 3.频谱⽅法(基于傅⾥叶频谱特性,主要⽤于检测图像中的全局周期性,⽅法是识别频谱中的⾼能量的窄波峰) 4.3.1-统计⽅法 描述纹理的最简单⽅法之⼀是使⽤⼀副图像或⼀个区域的灰度级直⽅图的统计矩。令Z是表⽰灰度的⼀个随机变量,并令 为相应的直⽅图,其中L是不同灰度级的数量,关于其均值的Z的第n阶矩为 m是z的均值(平均灰度) p(z),i=i 0,1,2,…,L−1 u(z)=n(z−i=0 ∑L−1 im)p(z)n i m=zp(z)i=0 ∑L−1 ii 注意⼆阶矩[⽅差]在纹理描述中特别重要。它是灰度对⽐度的度量,可⽤于建⽴相对平灰度的描述⼦,例如 度量 对于恒定灰度区域为0(该区域⽅差为0),⽽对于较⼤的值,其接近于1,因为对灰度级图像⽅差值增⼤⽽增⼤的。 三阶矩是直⽅图偏斜度的度量,⽽四阶矩是直⽅图相对平坦度的度量,五阶矩和更⾼阶矩不容易与直⽅图形状联系起来,但它们的确提供了 纹理内容的进⼀步量化辨别。 使⽤直⽅图计算得到的纹理度量不懈怠像素彼此之间的相对位置的信息,但是这个信息很重要,所以我们使⽤⼀种⽅法叫共⽣矩阵 令Q是定义两个像素彼此相对位置的⼀个算⼦,并考虑⼀副具有L个可能灰度级的图像f,令G为⼀个矩阵,其元素是灰度为和的像素对 出现在f中有Q所指定的位置处的次数,按照这种⽅法形成的矩阵成为灰度共⽣矩阵 u=01,u=10σ(z)=2u(z)z R(z)=1− 1+σ(z)2 1 sigma(z)2 gijzizj 4.3.2-结构⽅法 结构法的基本思想是,⼀个简单的“纹理基元”可借助⼀些规则⽤于形成更复杂的纹理模式,这些规则限制基元(或这些基元)的可能排列 的数量。 4.3.3-频谱⽅法 对纹理描述有⽤的傅⾥叶频谱的三个特征: 1.频谱中突出的尖峰给出纹理模式的主要⽅向; 2.频率平⾯中尖峰的位置给出模式的基本空间周期; 3.采⽤滤波⽅法消除任何周期成分⽽留下⾮周期性图像元素,然后采⽤统计技术来描述。