特征点
经过图像分割,图像中具有不同相似特性的区域已经分离开来。为了进一步理解图像的内容,需要对这些区域、边界的属性和相互关系用更为简单明确的文字、数值、符号或图像来描述或说明,称之为图像描述(Image Description)。图像描述在保留原图像或图像区域重要信息的同时,也减少了数据量。这些文字、数值、符号或图像按一定的概念或公式从图像中产生,反映了原图像或图像区域的某些重要信息,常常被称为图像的特征,产生它们的过程称为图像特征提取,用这些特征表示图像称为图像描述,这些描述或说明被称为图像的描绘子。
对图像的描述可以从几何性质、形状、大小、相互关系等多方面进行,一个好的描绘子应具有以下特点:
(1)唯一性:每个目标必须有唯一的表示。
(2)完整性:描述是明确无歧义的。
(3)几何变换不变性:描述应具有平移、旋转、尺度等几何变换不变性。
(4)敏感性:描述结果应该具有对相似目标加以区别的能力。
(5)抽象性:从分割区域边界中抽取反映目标特性的本质特征,不容易因噪声等原因而发生变化。
在对具体图像描述时,应根据具体问题选择合适的描述方法及计算相应的特征量。
本章讲解常见的特征点、几何描述、形状描述、边界描述、矩描述、纹理描述方法及相关描绘子。
特征点:
特征点是一幅图像中最典型的特征标志之一。一般情况下特征点含有显著的结构性信息,可以是图像中的线条交叉点、边界封闭区域的重心,或者曲面的高点等;某些情况下特征点也可以没有实际的直观视觉意义,但却在某种角度、某个尺度上含有丰富的易于匹配的信息。特征点在影像匹配、图像拼接、运动估计及形状描述等诸多方面都具有重要作用。
角点是特征点中最主要的一类,由景物曲率较大地方的两条或多条边缘的交点所形成,例如线段的末端、轮廓的拐角等,反映了图像中的重要信息。角点特征与直线、圆、边缘等其他特征相比,具有提取过程简单。结果稳定、提取算法适应性强的特点,是图像拼接中特征匹配算法的首选。
课程思政:每个个体都有唯一的可以测量或可自动识别和验证的生理特性或行为方式,即生物特征。它可划分为生理特征(如指纹、面像、虹膜、掌纹等)和行为特征(如步态、声音、笔迹等)。生物识别就是依据每个个体之间独一无二的生物特征对其进行识别与身份的认证。我国的生物特征识别技术已达到世界领先水平。
(1)Moravec角点检测
Moravec角点检测算法是Moravec于1977年提出的第一个直接从灰度图像中检测兴趣点的算法。算法思路是以图像某个像素点(x,y)为中心,计算固定窗口内四个主要方向上(水平、垂直、对角线、反对角线)相邻像素灰度差的平方和,选取最小值作为像素点(x,y)的响应函数CRF(Corner Response Function); 若某点的CRF值大于某个阈值并为局部极大值时,则该像素点即为角点。
当固定窗口在平坦区域时,灰度比较均匀,4个方向的灰度变化值都很小;在边缘处,沿边缘方向的灰度变化值很小,沿垂直边缘方向的灰度变化值比较大;当窗口在角点或独立点上的时候,沿各个方向的灰度变化值都比较大。因此,若某窗口内各个方向变化的最小值大于某个阈值,说明各方向的变化都比较大,则该窗口所在即为角点所在。
Moravec算子计算简单,运算速度较快,但是对噪声的影响十分敏感。Moravec 算子的响应值是在固定的四个方向上获取的灰度差的平方和,所以不具有旋转不变性。
(2)Harris角点检测
Harris算子是C.Harris和M.J.Stephens于1988年提出的一种角点检测算子,是基于图像局部自相关函数分析的算法。局部自相关函数表示局部图像窗口沿不同方向进行小的平移时的局部灰度变化:
有3种情况:
1)当局部图像窗口在平坦区域时,则窗口沿任何方向进行小的平移,灰度变化都很小,局部自相关丽数很平坦;
2)当窗口位于边缘区域时,则沿边缘方向进行小的平移,灰度变化都很小;沿垂直边缘方向进行小的移动,灰度变化都很大,局部自相关丽数呈现山脊形状;
3)当窗口位于角点区域时,窗口在各个方向上进行小的移动,灰度变化都很明显,局部自相关函数呈现尖峰状。
因此,角点检测即是寻找随着Δx、Δy变化,局部自相关函数的变化都比较大的像素点。
对进行二维泰勒级数展开,取一阶近似得
可用一个椭圆来描绘这个二次项函数。椭圆的长短轴是与M的特征值λ1、λ2相对应的量。通过判断λ1、λ2的情况可以区分出平坦区域、边缘和角点3种情况:
1)平坦区域:在水平和垂直方向的变化量均比较小的点,即ƒx、ƒy都较小,对应λ1、λ2都小;自相关函数E在各个方向上取值都小。
2)边缘区域:仅在水平或垂直方向有较大变化的点,即ƒx、ƒy只有一个较大,对应λ1、λ2一个较大,一个较小;自相关函数E在某一方向上大,在其他方向上小。
3)角点:在水平和垂直方向的变化量均比较大的点,即ƒx、ƒy都较大,对应λ1、λ2都大,且近似相等;自相关函数E在所有方向都增大。
在具体计算中,为了避免特征值的直接求解并提高设计Harris角点检测的效率。
R仅由M的特征值决定,它在平坦区域绝对值较小,在边缘处为绝对值较大的负值,在角点的位置是较大的正数。因此,当R取局部极大值且大于给定阈值T时的位置就是角点。
Harris算子的检测步骤如下:
1)计算图像每一点水平和垂直方向梯度的平方以及水平和垂直梯度的乘积,这样可以得到3幅新的图像,分别为ƒx2、ƒy2、ƒxƒy;
2)对得到的3幅图像进行高斯滤波构造自相关矩阵M;
3)计算角点响应函数,得到每个像素的R值,设定阈值T,取R>T的位置为候选角点;
4)对候选角点进行局部非极大抑制,最终得到角点。
候选角点的选择依赖于阈值T,由于其不具有直观的物理意义,取值很难确定。可以采用间接的方法来判断R。通过选择图像中R值最大的前若干个像素点作为特征点,再对提取到的特征点进行局部非极大抑制处理。
(3)SUSAN角点检测
SUSAN(Smallest Univalue SegmentAssimilating Nucleus)算子是由英国牛津大学的S.M.Smith和J.M.Brady于1995年首先提出的。SUSAN算子没有采用通过计算图像中点的梯度求取角点的常规思想,而是以一种统计的方法来描述。
SUSAN算法设计了一个圆形模板(USAN模板),将模板内每个像素点的灰度值都和中心像素点作比较,把与中心点灰度值相近的点构成的区域称作USAN区域(核值相似区)。根据这种区域的大小,划分了几种可能的情况。
属于a、b类的点,基本上是图像中平坦区域的点,USAN区域面积比较大;c类点多位于图像的边缘处,USAN区域面积较小;d类点是最有可能成为角点的地方,USAN区域面积最小。可见USAN区域的大小反映了图像局部特征的强度,USAN面积越小,表明该点是角点的可能性越大。因此,SUSAN算子就是通过计算比较USAN面积实现角点检测的。
圆形的USAN模板,一般使用半径为3.4含有37个像素的圆形模板。
SUSAN算子的检测步骤如下:
1)将圆形模板的中心依次放在待测图像的像素上,计算模板内的像素与中心像素的灰度差值,统计灰度差值小于阈值T的像素个数(相似像素数,即USAN区域面积)。其中,D(r0)是以r0为中心的圆形模板区域。
2)计算所示角点响应函数值。若某个像素点的USAN值小于某-特定阈值g,则该点被认为是初始角点。其中,检测角点时,g可以设定为USAN的最大面积的一半;检测边缘点时,g设定为USAN的最大面积的3/4。
3)排除伪角点。计算 USAN的重心,重心同模板中心的距离,如果距离较小则不是正确的角点。
4)进行非极大抑制来求得最后的角点。
理论上圆形的SUSAN模板具有各向同性,可以抵抗图像的旋转变化,但实例中图像旋转中采用插值运算,有可能对像素值产生影响进而导致检测结果的变化。此外,算法中阈值的选择(如g和USAN重心和模板中心距离阈值)都会对程序运行结果有一定影响。

