第九章 图像的形状分析
本章主要包括三部分教学内容: 9.1 形状表示方法 9.2 形状描述
9.3 形状分类与识别
9.1 形状表示方法
图像中物体区域的形状需要表示和描述,有基于边界和基于区域的两套方法和参数。
区域的边界包括外边界(轮廓)和内边界,这里只考虑区域的外边界。基于边界的形状表示方法有链码(Chain codes )、边界段(Boundary segments )、逼近多边形(Approximating polygon )、标记(Signature )等,边界的描述参数有边长、边界曲率、形状数、边界矩、主分量、傅立叶描述子、逼近多边形的参数等。基于区域的形状表示方法有数组、四叉树、骨架等,区域的描述参数主要是通过区域内的所有像素点的集合来获得对形状特征参数的描述,可以是几何参数,也可以是密度参数,还可以是区域的二维变换参数等,有几何参数、不变矩、边缘直方图等。 1.逼近多边形
多边形逼近区域形状的外轮廓是一种抗干扰性能好,且能节省表达所需数据量的有效方法。常用的多边形表达方法有以下3种:
(1) 基于收缩的最小周长多边形法;
(2) 基于聚合(merge )的最小均方误差线段逼近法; (3) 基于分裂(split )的最小均方误差线段逼近法。
第1种方法将原边界看成是有弹性的线,将组成边界的象素序列的内外边各看成一堵
墙,如下左图。如果将线拉紧则可得到如下右图所示的最小周长多边形。
演示多边形逼近Flash 动画。
第2种方法是沿边界依次连接象素。先选1个边界点为起点,用直线依次连接该点与相邻的边界点。分别计算各直线与边界的(逼近)拟合误差,把误差超过某个限度前的线段确定为多边形的1条边并将误差置零。然后以线段另1端点为起点继续连接边界点,直至绕边界1周,参见下图。
a
第3种方法是先连接边界上相距最远的2个象素(即把边界分成2部分),然后根据一定准则进一步分解边界,构成多边形逼近边界,直到拟合误差满足一定限度,参见下图。
g
a
d
2.Fourier 描述子
对轮廓的离散傅里叶变换表达可以作为定量描述轮廓形状的基础。将轮廓所在的XY 平面与一个复平面UV 重合,其中实部U 轴与X 轴重合,虚部V 轴与Y 轴重合。这样就可用复数u + jv的形式来表示给定轮廓上的每个点(x, y)而将XY 平面中的曲线段转化为复平面上的1个序列,见下图。
考虑1个由N 点组成的封闭边界,从任1点开始绕边界1周就得到1个复数序列:
s (k ) =u (k ) +j v (k )
s(k)的离散傅里叶变换是:
S (w ) =
1
N -1
k =0, 1, , N -1
N k =0
S(w)可称为边界的傅里叶描述,它的傅里叶反变换是:
N -1
∑s (k ) exp[
-j2πwk /N ]w =0, 1, , N -1
s (k ) =
如果我们只利用S(w)的前M 个系数,这样可得到s(k)的1个近似:
w =0M -1
∑S (w ) exp[
j2πwk /N ]k =0, 1, , N -1
ˆ(k ) =s
下图给出1个由N = 64个点组成的正方形轮廓以及取不同的M 值重建这个边界得到的
w =0
∑S (w ) exp[
j2πwk /N ]k =0, 1, , N -1
一些结果。
N =64M =2M =4M =8M =16M =24
M =32M =40M =48M =56M =61M =62
9.2 形状描述
描述形状特征参数的方法主要有两类:基于边界的特征参数和基于区域的特征参数。 1.基于边界的特征参数
(1)边界的长度和直径
边界的直径是边界上相隔最远的2点之间的距离,即这2点之间的直连线段长度。有时
这条直线也称为边界的主轴或长轴(与此垂直且最长的与边界的2个交点间的线段也叫边界的短轴)。边界B 的直径Dia d (B ) 可由下式计算:
Dia
d
(B ) =max [D d (b i , b j )]
i , j
b i
∈B ,
b j
∈B
其中D d (·。 ) 可以是任一种距离量度,如D E (·) ,D 4(·) 和D 8(·) 距离(参见1.3节和4.5节)
下图给出用3种不同的距离量度来计算同1个目标边界得到的3个直径值。
(2)斜率、曲率和角点
斜率(slope )能表示轮廓上各点的指向,曲率(curvature )是斜率的改变率,它描述
了轮廓上各点沿轮廓方向变化的情况。在1个给定的轮廓点,曲率的符号描述了轮廓在该点的凹凸性。如果曲率大于零,则曲线凹向朝着该点法线的正向。如果曲率小于零,则曲线凹向是朝着该点法线的负方向。曲率的局部极值点称为角点。
(3)傅立叶描述子
对边界的离散傅里叶变换可以作为定量描述形状边界的特征参数。设XY 平面上的封闭轮廓线可以表示成:
s (k )=x (k )+jy (k ) k =0,1,……,N-1
s(k)的离散傅里叶变换为:
S (w )=
1N
N -1
∑s (k )exp -j
k =0
⎛⎝
2πw k ⎫
⎪N ⎭
w =0,1, , N -1
S (w ) 是边界的傅里叶描述子,完全决定了封闭边界的形状。考虑边界长度随形状尺度变
N ⎫⎛
int (i +1)⨯⎪-1
M ⎭⎝
化,将其变为等长边界M (例如M =100)的轮廓线s’(i ) :
M N
s (i )=
'
∑
⎛N ⎫
k =int i ⨯⎪
⎝M ⎭
S (k )
i =0, 2, , M -1
然后,利用等长边界的模归一化傅里叶描述子作为形状特征参数识别形状。如果只利
M -1
用S (w ) 的前M 个系数,这样可得到s (k ) 的1个近似:
ˆ(k ) =s
∑S (w ) exp[
w =0
j2πwk /N ]
k =0, 1, , N -1
(5)基于多边形的特征参数
多边形的特征参数主要有顶点数、凹点数、内角分布等。
(a )多边形的顶点数、凹点数和凸点数
多边形的顶点数表明了多边形的复杂程度,而且凹点增加,多边形变得复杂。多边形的凹凸点比例反映了物体边界的齿状情况。
(b )多边形的内角直方图 多边形的内角可以用余弦公式计算。多边形的内角分布反映了多边形的许多性质。例如,分布在(00,1800) 中的内角对应凸顶点,分布在(1800,3600) 中的内角对应凹顶点,分布在180左右的内角对应平滑线或弧线等。下图示出凹边形、凸边形和弧边形的内角直方图。
6 5 4 3 2 1 0
0 90 180 270
360 θ (a )凹形
6 5 4 3 2 1 0
8 6 4 2 0
θ
(b) 凸形
图9-4 多边形及其内角直方图
θ
(c) 月牙形
(c )内角方差
多边形的内角方差反映了形状的规则程度,如等边多边形、矩形、圆的内角方差为0。内角方差的计算公式如下:
σα=
其中,αeven =
(N -2)⨯180N
是内角均值,N 是多边形的顶点数。
(d ) 最小外接凸多边形、最大内接凸多边形、凹凸度
最小外接凸多边形指连接部分凸点形成的包含原图的凸多边形, 最大内接凸多边形指连接部分凸点和凹点形成的包含在原图中的最大凸多边形。图8-8示出一个凹边形的最小外接凸多边形和最大内接凸多边形的例子。
(a) 原图
(b) 最小外接凸多边形
(c) 最大内接凸多边形
图9-8 多边形的最小外接凸多边形和最大内接凸多边形示例
凹凸点与内角
凹凸度(concavo-convex )是反映物体形状凹凸程度的一个重要度量定义如下:
concavo -convex =
S r S c
其中,S 0是多边形的面积,S c 是最小外接凸多边形的面积,S r 是最大内接凸多边形的面积。显然,凸形的凸度、凹凸度为1,而星形的凹度较大,凹凸度较小。利用凹凸度,可以识别物体的姿态,如飞禽类的飞、栖,走兽类的卧、站、奔跑等。
2.基于区域的特征参数
(1)区域的面积
区域的面积是区域的一个基本特征,它描述了区域的大小。对于数字图像,区域的面积定义为区域中的像素点数。
(2)矩形度(Rectangularity )
矩形度定义为物体的面积A 0与物体的最小外接矩形(MER )的面积A R 之比,即
R =A 0/A R 。矩形度反映了物体在最小外界矩形中的填充程度,矩形的矩形度为1,圆的矩
形度为π/4,三角形的矩形度为0.5。对于其它形状,矩形度的取值范围为(0,1) 。利用矩形度可以区分矩形、圆形和不规则形状。
(3)主轴方向
物体的主轴方向定义为物体的具有最大长宽比的最小外接矩形的长轴方向。 (4)扁度(eccentricity)
扁度或称狭长度(elongatedness),本文采用归一化定义:e =1-
b a
式中a 为物体长轴,b 为物体的短轴。物体的长轴和短轴有一种简单的定义是具有最小外接矩形的长边和短边,但这种定义受边界的毛刺影响很大。
(5)圆形度(Circularity )
圆形度反映了物体接近圆形的程度,也称作区域的紧凑性(Compactness ), 定义为4π倍的区域面积A 与周长P 的平方之比(有的文献定义为周长的平方与4π倍的区域面积之比),即:
C =
4πA P
2
在相同面积的情况下,具有光滑边界的形状边界较短,圆形度较大,表明形状较密集。随着边界凹凸变化程度的增加,周长P 相应增加,圆形度随之减小。圆的圆形度C =1,正
π
方形的圆形度C =。
4
(6)球形度(Sphericity )
球形度定义为圆心都在区域重心的内切圆与外接圆的半径之比(实际为边界上到重心的最短距离与最长距离之比),即S =r i /r c
其中,r i 为内切圆半径,r c 为外接圆半径。圆的球形度为1
其它形状的球形度取值范围为[0,1) 。
(7)拓扑描绘子——欧拉数
拓扑学是研究图形性质的重要理论,图形的拓扑特性也是形状的重要特征。本文利用拓扑描绘子——欧拉数作为识别环形、轮形等形状的关键参数。欧拉数定义为E =C -H ,其中H 为图形的孔洞数, C 为图形中连通的区域数。对于只有1个连通区域的图形,C =1。环形的欧拉数为0,“8”的欧拉数为-1。
(8)基于区域的不变矩
对于二维图像 f (x , y ),其 (p +q )阶矩定义为:
2
,
μpq =
m pq =
∑∑(x -)
x
y
p
p
(y -) f (x , y )
q
∑∑x
x
y
y f (x , y )
q
式中=
m 10m 00
,=
m 01m 00
是图像的重心坐标。
零阶矩m =
00
∑∑
x
y
f (x , y ) 为f (x , y )的均值,对于二值图像即为区域的面积。
中心矩μp q 是反映图像相对于重心分布的度量。例如,μ20和μ02分别表示图像围绕通过重心的垂直和水平轴线的惯性矩;μ30和μ03可以度量图像对于垂直和水平轴线的对称性等。利用中心矩还可以计算出物体的圆形度(物体形状和圆的接近程度)、物体的矩形度(物体形状和矩形的接近程度)、物体的水平和垂直对称性、物体的主轴方向、扁度等。
Hu.M.K 利用二阶和三阶规格化中心矩导出了7个不随平移、旋转、等比缩放变化的矩组,称7个不变矩:
Φ1=η20+η02
Φ2=(η20-η02) +4η11
222
2
2
Φ3=(η30-3η12) +(η03+3η21) Φ4=(η30+η12) +(η03+η21)
2
Φ5=(η30-3η12)(η30-η12)[(η30+η12) -3(η03+η21) ]
+(3η21-η03)(η21+η03)[3(η30+η12) -(η03+η21) ]
Φ6=(η20-η02)[(η30+η12) -(η03+η21) ]+4η11(η30+η12)(η03+η21) Φ7=(3η21-η03)(η30+η12)[(η30+η12) -3(η03+η21) ]
+(3η12-η30)(η21+η03)[3(η30+η12) -(η03+η21) ]
2
2
2
2
2
22
2
22
其中ηpq 是p +q 阶规格化中心矩: ηpq =
μpq μ
r 00
r =
p +q 2
+1p +q =2, 3,
这组矩反映了物体的形状特征,可以用于形状识别。
9.3 形状分类与识别
在人们对图像或图形的长期感知中,对物体的形状产生了相对明确和稳定的概念,中文中就有许多描述物体形状的名词和形容词。收集这些形状描述词,进行归并,将描述相同或相似(计算机难以区分)形状的词归并为同义词,如矩形/长方形、椭圆形/扁圆形、环形/轮形、扇形/锥形、拱形/马蹄形等。根据这些常用的形状描述词对图形和图像中常见的简单形状进行的分类,如图9-10。
形 状
块
条 形
圆环椭扇拱月蘑葫心凸形 形 圆形 形 牙菇芦形 多
形 边形 形 形
形
凹多边形
矩正三平菱梯四五六丁十五北形 方角行形 形 边边边字字角极
形 形 四形 形 形 形 形 星星
边
形 形
形
图9-10 基于概念的常见形状分类
凹凸点与内角
物体形状的识别实际就是根据形状分类体系,将一个新的形状识别出来,分为哪一类。类名就是识别出的形状的名称。根据前面的形状描述参数,按照形状概念进行识别和分类。分类的原则是采用层次化多种方法分类:对形状参数有明显区别的形状(如条形的扁度、圆形的圆形度、矩形的矩形度、多边形的凹凸度等),采用形状参数直接识别;对单个形状参数难以区分的形状,采用BP 神经网络模糊分类。采用形状参数直接识别的优点是提高了识别效率,减少了模糊分类的数目,提高利用神经网络进行模糊分类的准确率。形状分类和识别时,首先计算图形的欧拉数,然后填充区域内的所有空,计算形状特征参数,再按下列步骤进行形状分类:①根据形状的扁度将其分为条形(扁度>0.8)和块形;②根据内角在[1350,2250]内的比率分为弧边形(比率>80%)和直边形(多边形);③在弧边形中,根据圆形度识别圆(圆形度>0.9),再根据欧拉数(环形的欧拉数为0)识别环形;对其它弧边形,利用BP 神经网络识别椭圆、扇形、拱形、月牙形、葫芦形和蘑菇形;余者视为任意弧边形,简称弧边形;④在多边形中,根据形状的凹凸度将其分为凸多边形和凹多边形(凹凸度0.8)识别正方形和矩形,再根据扁度区分正方形和矩形(扁度>0.2);对其它凸多边形,利用BP 神经网络识别三角形、梯形、平行四边形、菱形;在余下的凸多边形中,利用顶点数识别四边形、五边形和六边形,其它作为任意凸多边形;⑥在凹多边形中,利用BP 神经网络识别丁字形、十字形、五角星形、北极星形,余者作为任意凹多边形。任意凸多边形和任意凹多边形都简称多边形。
第九章 图像的形状分析
本章主要包括三部分教学内容: 9.1 形状表示方法 9.2 形状描述
9.3 形状分类与识别
9.1 形状表示方法
图像中物体区域的形状需要表示和描述,有基于边界和基于区域的两套方法和参数。
区域的边界包括外边界(轮廓)和内边界,这里只考虑区域的外边界。基于边界的形状表示方法有链码(Chain codes )、边界段(Boundary segments )、逼近多边形(Approximating polygon )、标记(Signature )等,边界的描述参数有边长、边界曲率、形状数、边界矩、主分量、傅立叶描述子、逼近多边形的参数等。基于区域的形状表示方法有数组、四叉树、骨架等,区域的描述参数主要是通过区域内的所有像素点的集合来获得对形状特征参数的描述,可以是几何参数,也可以是密度参数,还可以是区域的二维变换参数等,有几何参数、不变矩、边缘直方图等。 1.逼近多边形
多边形逼近区域形状的外轮廓是一种抗干扰性能好,且能节省表达所需数据量的有效方法。常用的多边形表达方法有以下3种:
(1) 基于收缩的最小周长多边形法;
(2) 基于聚合(merge )的最小均方误差线段逼近法; (3) 基于分裂(split )的最小均方误差线段逼近法。
第1种方法将原边界看成是有弹性的线,将组成边界的象素序列的内外边各看成一堵
墙,如下左图。如果将线拉紧则可得到如下右图所示的最小周长多边形。
演示多边形逼近Flash 动画。
第2种方法是沿边界依次连接象素。先选1个边界点为起点,用直线依次连接该点与相邻的边界点。分别计算各直线与边界的(逼近)拟合误差,把误差超过某个限度前的线段确定为多边形的1条边并将误差置零。然后以线段另1端点为起点继续连接边界点,直至绕边界1周,参见下图。
a
第3种方法是先连接边界上相距最远的2个象素(即把边界分成2部分),然后根据一定准则进一步分解边界,构成多边形逼近边界,直到拟合误差满足一定限度,参见下图。
g
a
d
2.Fourier 描述子
对轮廓的离散傅里叶变换表达可以作为定量描述轮廓形状的基础。将轮廓所在的XY 平面与一个复平面UV 重合,其中实部U 轴与X 轴重合,虚部V 轴与Y 轴重合。这样就可用复数u + jv的形式来表示给定轮廓上的每个点(x, y)而将XY 平面中的曲线段转化为复平面上的1个序列,见下图。
考虑1个由N 点组成的封闭边界,从任1点开始绕边界1周就得到1个复数序列:
s (k ) =u (k ) +j v (k )
s(k)的离散傅里叶变换是:
S (w ) =
1
N -1
k =0, 1, , N -1
N k =0
S(w)可称为边界的傅里叶描述,它的傅里叶反变换是:
N -1
∑s (k ) exp[
-j2πwk /N ]w =0, 1, , N -1
s (k ) =
如果我们只利用S(w)的前M 个系数,这样可得到s(k)的1个近似:
w =0M -1
∑S (w ) exp[
j2πwk /N ]k =0, 1, , N -1
ˆ(k ) =s
下图给出1个由N = 64个点组成的正方形轮廓以及取不同的M 值重建这个边界得到的
w =0
∑S (w ) exp[
j2πwk /N ]k =0, 1, , N -1
一些结果。
N =64M =2M =4M =8M =16M =24
M =32M =40M =48M =56M =61M =62
9.2 形状描述
描述形状特征参数的方法主要有两类:基于边界的特征参数和基于区域的特征参数。 1.基于边界的特征参数
(1)边界的长度和直径
边界的直径是边界上相隔最远的2点之间的距离,即这2点之间的直连线段长度。有时
这条直线也称为边界的主轴或长轴(与此垂直且最长的与边界的2个交点间的线段也叫边界的短轴)。边界B 的直径Dia d (B ) 可由下式计算:
Dia
d
(B ) =max [D d (b i , b j )]
i , j
b i
∈B ,
b j
∈B
其中D d (·。 ) 可以是任一种距离量度,如D E (·) ,D 4(·) 和D 8(·) 距离(参见1.3节和4.5节)
下图给出用3种不同的距离量度来计算同1个目标边界得到的3个直径值。
(2)斜率、曲率和角点
斜率(slope )能表示轮廓上各点的指向,曲率(curvature )是斜率的改变率,它描述
了轮廓上各点沿轮廓方向变化的情况。在1个给定的轮廓点,曲率的符号描述了轮廓在该点的凹凸性。如果曲率大于零,则曲线凹向朝着该点法线的正向。如果曲率小于零,则曲线凹向是朝着该点法线的负方向。曲率的局部极值点称为角点。
(3)傅立叶描述子
对边界的离散傅里叶变换可以作为定量描述形状边界的特征参数。设XY 平面上的封闭轮廓线可以表示成:
s (k )=x (k )+jy (k ) k =0,1,……,N-1
s(k)的离散傅里叶变换为:
S (w )=
1N
N -1
∑s (k )exp -j
k =0
⎛⎝
2πw k ⎫
⎪N ⎭
w =0,1, , N -1
S (w ) 是边界的傅里叶描述子,完全决定了封闭边界的形状。考虑边界长度随形状尺度变
N ⎫⎛
int (i +1)⨯⎪-1
M ⎭⎝
化,将其变为等长边界M (例如M =100)的轮廓线s’(i ) :
M N
s (i )=
'
∑
⎛N ⎫
k =int i ⨯⎪
⎝M ⎭
S (k )
i =0, 2, , M -1
然后,利用等长边界的模归一化傅里叶描述子作为形状特征参数识别形状。如果只利
M -1
用S (w ) 的前M 个系数,这样可得到s (k ) 的1个近似:
ˆ(k ) =s
∑S (w ) exp[
w =0
j2πwk /N ]
k =0, 1, , N -1
(5)基于多边形的特征参数
多边形的特征参数主要有顶点数、凹点数、内角分布等。
(a )多边形的顶点数、凹点数和凸点数
多边形的顶点数表明了多边形的复杂程度,而且凹点增加,多边形变得复杂。多边形的凹凸点比例反映了物体边界的齿状情况。
(b )多边形的内角直方图 多边形的内角可以用余弦公式计算。多边形的内角分布反映了多边形的许多性质。例如,分布在(00,1800) 中的内角对应凸顶点,分布在(1800,3600) 中的内角对应凹顶点,分布在180左右的内角对应平滑线或弧线等。下图示出凹边形、凸边形和弧边形的内角直方图。
6 5 4 3 2 1 0
0 90 180 270
360 θ (a )凹形
6 5 4 3 2 1 0
8 6 4 2 0
θ
(b) 凸形
图9-4 多边形及其内角直方图
θ
(c) 月牙形
(c )内角方差
多边形的内角方差反映了形状的规则程度,如等边多边形、矩形、圆的内角方差为0。内角方差的计算公式如下:
σα=
其中,αeven =
(N -2)⨯180N
是内角均值,N 是多边形的顶点数。
(d ) 最小外接凸多边形、最大内接凸多边形、凹凸度
最小外接凸多边形指连接部分凸点形成的包含原图的凸多边形, 最大内接凸多边形指连接部分凸点和凹点形成的包含在原图中的最大凸多边形。图8-8示出一个凹边形的最小外接凸多边形和最大内接凸多边形的例子。
(a) 原图
(b) 最小外接凸多边形
(c) 最大内接凸多边形
图9-8 多边形的最小外接凸多边形和最大内接凸多边形示例
凹凸点与内角
凹凸度(concavo-convex )是反映物体形状凹凸程度的一个重要度量定义如下:
concavo -convex =
S r S c
其中,S 0是多边形的面积,S c 是最小外接凸多边形的面积,S r 是最大内接凸多边形的面积。显然,凸形的凸度、凹凸度为1,而星形的凹度较大,凹凸度较小。利用凹凸度,可以识别物体的姿态,如飞禽类的飞、栖,走兽类的卧、站、奔跑等。
2.基于区域的特征参数
(1)区域的面积
区域的面积是区域的一个基本特征,它描述了区域的大小。对于数字图像,区域的面积定义为区域中的像素点数。
(2)矩形度(Rectangularity )
矩形度定义为物体的面积A 0与物体的最小外接矩形(MER )的面积A R 之比,即
R =A 0/A R 。矩形度反映了物体在最小外界矩形中的填充程度,矩形的矩形度为1,圆的矩
形度为π/4,三角形的矩形度为0.5。对于其它形状,矩形度的取值范围为(0,1) 。利用矩形度可以区分矩形、圆形和不规则形状。
(3)主轴方向
物体的主轴方向定义为物体的具有最大长宽比的最小外接矩形的长轴方向。 (4)扁度(eccentricity)
扁度或称狭长度(elongatedness),本文采用归一化定义:e =1-
b a
式中a 为物体长轴,b 为物体的短轴。物体的长轴和短轴有一种简单的定义是具有最小外接矩形的长边和短边,但这种定义受边界的毛刺影响很大。
(5)圆形度(Circularity )
圆形度反映了物体接近圆形的程度,也称作区域的紧凑性(Compactness ), 定义为4π倍的区域面积A 与周长P 的平方之比(有的文献定义为周长的平方与4π倍的区域面积之比),即:
C =
4πA P
2
在相同面积的情况下,具有光滑边界的形状边界较短,圆形度较大,表明形状较密集。随着边界凹凸变化程度的增加,周长P 相应增加,圆形度随之减小。圆的圆形度C =1,正
π
方形的圆形度C =。
4
(6)球形度(Sphericity )
球形度定义为圆心都在区域重心的内切圆与外接圆的半径之比(实际为边界上到重心的最短距离与最长距离之比),即S =r i /r c
其中,r i 为内切圆半径,r c 为外接圆半径。圆的球形度为1
其它形状的球形度取值范围为[0,1) 。
(7)拓扑描绘子——欧拉数
拓扑学是研究图形性质的重要理论,图形的拓扑特性也是形状的重要特征。本文利用拓扑描绘子——欧拉数作为识别环形、轮形等形状的关键参数。欧拉数定义为E =C -H ,其中H 为图形的孔洞数, C 为图形中连通的区域数。对于只有1个连通区域的图形,C =1。环形的欧拉数为0,“8”的欧拉数为-1。
(8)基于区域的不变矩
对于二维图像 f (x , y ),其 (p +q )阶矩定义为:
2
,
μpq =
m pq =
∑∑(x -)
x
y
p
p
(y -) f (x , y )
q
∑∑x
x
y
y f (x , y )
q
式中=
m 10m 00
,=
m 01m 00
是图像的重心坐标。
零阶矩m =
00
∑∑
x
y
f (x , y ) 为f (x , y )的均值,对于二值图像即为区域的面积。
中心矩μp q 是反映图像相对于重心分布的度量。例如,μ20和μ02分别表示图像围绕通过重心的垂直和水平轴线的惯性矩;μ30和μ03可以度量图像对于垂直和水平轴线的对称性等。利用中心矩还可以计算出物体的圆形度(物体形状和圆的接近程度)、物体的矩形度(物体形状和矩形的接近程度)、物体的水平和垂直对称性、物体的主轴方向、扁度等。
Hu.M.K 利用二阶和三阶规格化中心矩导出了7个不随平移、旋转、等比缩放变化的矩组,称7个不变矩:
Φ1=η20+η02
Φ2=(η20-η02) +4η11
222
2
2
Φ3=(η30-3η12) +(η03+3η21) Φ4=(η30+η12) +(η03+η21)
2
Φ5=(η30-3η12)(η30-η12)[(η30+η12) -3(η03+η21) ]
+(3η21-η03)(η21+η03)[3(η30+η12) -(η03+η21) ]
Φ6=(η20-η02)[(η30+η12) -(η03+η21) ]+4η11(η30+η12)(η03+η21) Φ7=(3η21-η03)(η30+η12)[(η30+η12) -3(η03+η21) ]
+(3η12-η30)(η21+η03)[3(η30+η12) -(η03+η21) ]
2
2
2
2
2
22
2
22
其中ηpq 是p +q 阶规格化中心矩: ηpq =
μpq μ
r 00
r =
p +q 2
+1p +q =2, 3,
这组矩反映了物体的形状特征,可以用于形状识别。
9.3 形状分类与识别
在人们对图像或图形的长期感知中,对物体的形状产生了相对明确和稳定的概念,中文中就有许多描述物体形状的名词和形容词。收集这些形状描述词,进行归并,将描述相同或相似(计算机难以区分)形状的词归并为同义词,如矩形/长方形、椭圆形/扁圆形、环形/轮形、扇形/锥形、拱形/马蹄形等。根据这些常用的形状描述词对图形和图像中常见的简单形状进行的分类,如图9-10。
形 状
块
条 形
圆环椭扇拱月蘑葫心凸形 形 圆形 形 牙菇芦形 多
形 边形 形 形
形
凹多边形
矩正三平菱梯四五六丁十五北形 方角行形 形 边边边字字角极
形 形 四形 形 形 形 形 星星
边
形 形
形
图9-10 基于概念的常见形状分类
凹凸点与内角
物体形状的识别实际就是根据形状分类体系,将一个新的形状识别出来,分为哪一类。类名就是识别出的形状的名称。根据前面的形状描述参数,按照形状概念进行识别和分类。分类的原则是采用层次化多种方法分类:对形状参数有明显区别的形状(如条形的扁度、圆形的圆形度、矩形的矩形度、多边形的凹凸度等),采用形状参数直接识别;对单个形状参数难以区分的形状,采用BP 神经网络模糊分类。采用形状参数直接识别的优点是提高了识别效率,减少了模糊分类的数目,提高利用神经网络进行模糊分类的准确率。形状分类和识别时,首先计算图形的欧拉数,然后填充区域内的所有空,计算形状特征参数,再按下列步骤进行形状分类:①根据形状的扁度将其分为条形(扁度>0.8)和块形;②根据内角在[1350,2250]内的比率分为弧边形(比率>80%)和直边形(多边形);③在弧边形中,根据圆形度识别圆(圆形度>0.9),再根据欧拉数(环形的欧拉数为0)识别环形;对其它弧边形,利用BP 神经网络识别椭圆、扇形、拱形、月牙形、葫芦形和蘑菇形;余者视为任意弧边形,简称弧边形;④在多边形中,根据形状的凹凸度将其分为凸多边形和凹多边形(凹凸度0.8)识别正方形和矩形,再根据扁度区分正方形和矩形(扁度>0.2);对其它凸多边形,利用BP 神经网络识别三角形、梯形、平行四边形、菱形;在余下的凸多边形中,利用顶点数识别四边形、五边形和六边形,其它作为任意凸多边形;⑥在凹多边形中,利用BP 神经网络识别丁字形、十字形、五角星形、北极星形,余者作为任意凹多边形。任意凸多边形和任意凹多边形都简称多边形。