购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 数字图像处理

2.2.1 引言

本小节将介绍本书中所用到的数字图像处理的基本知识。图像分类属于数字图像处理中的一个分支。在对图像进行分类识别之前,首先需要对图像进行基本的处理,这里将介绍SIFT(Scale-invaviant feature transform)特征和特征包模型(Bags of Features),分别作为底层特征和特征处理。在数字图像处理这个领域,最初采用原始图像,原始图像的特点是包含了所有像素信息的数据,数据量非常大,运算起来也非常慢。随着对图像数据进行特征提取方法的提出,图像特征逐渐成为数字图像处理领域的一个基本方法。图像特征是由原始图像的像素值或彩色图中RGB三通道的原始数值转化而来。在实际转化过程中,对图像数据采用了点扩散函数,可以得到的特征表现为该像素点及其邻域的灰度变化情况以及灰度值的分布情况。由于像素点的灰度变化情况不是确定的满足某一个函数,且灰度值的分布情况也是不均匀的,因此对图像底层特征的提取能在一定程度上描述该图像。并且,像素点及其邻域中的灰度值变化,或者把邻域看作一个小区域,其中的灰度分布也包含丰富的信息量。从采用的像素点个数不同来分类,图像的底层特征可以分为全局特征和局部特征。全局特征是应用某一个统计量来表示一幅图像,这个统计量可以是图像原始数据中某些相应的值,也可以是原始数据通过函数计算后得到的值。局部特征则是用原始图像的一部分或者是图像中的兴趣点及其组合来表示一幅图像。在得到图像底层特征之后,又根据任务的具体需求对特征进行再处理。

2.2.2 SIFT特征简述

在从图像中提取的良好底层特征应能满足特征不变性。特征不变性是指原始图像经过放射变化、尺度缩放、图像旋转、平移等变化后,其所提取的特征值依然保持不变。不变量是由图像的几何特征决定的,原始图像在经过这些变化后,图像的几何特征仍保持不变,因此这些不变量也保持不变。图像的底层特征提取过程就是要找到这些具有不变量的点,这里将其称为兴趣点。在检测到兴趣点后,对兴趣点进行描述,用这个描述值来表示原始图像中相应的位置。总的概括起来,提取图像局部特征的步骤有:特征点或兴趣点的检测,特征点的描述,以及特征点的匹配。局部特征相对于全局特征来说,在较复杂的图像或场景的识别中应用较为广泛。

SIFT特征的提取过程总共包含了以下4步:尺度空间极值检测、兴趣点位置的确定、兴趣点主方向的确定以及生成兴趣点的特征描述向量。

尺度空间极值检测

KOENDERINK和LINDEBERG证明了尺度空间核为一个高斯函数,因此图像的尺度空间函数可以定义为如下形式:

式中 G x y σ )表示可变尺度高斯函数, I x y )表示输入图像,*表示卷积运算, σ 表示尺度因子。

并且有:

尺度空间极值检测分为3个步骤:首先要构建高斯金字塔;然后构建差分高斯(DoG)金字塔;最后通过检测DoG中的极值找到特征点所在位置,及其所在尺度。在构建高斯金字塔时,具体过程是对输入图像 I x y )与不同尺度因子下的高斯函数 G x y σ )的卷积,得到不同尺度空间下的稳定特征点,这些不同尺度空间及特征点构成高斯金字塔。此高斯金字塔由多级的阶和层构成,即每一阶当中包含了若干层。首先设定阶数为 O O 的选取则是根据输入图像的大小选择不同的值,一般选择为 O =4。在每一阶上,再设定层数,设层数为 S ,一般选择 S =5。

高斯金字塔不同阶是把图像进行放大得到的,第一阶的第一层是将原始图像方法放大两倍得到的,后面依次类推,其目的是尽可能获得特征点。第一阶的第二层的尺度因子是 ,第一阶的其他层则按照这个比例扩大,依次类推;第二阶的第一层是由第一阶的中间层尺度图像进行抽样获得,其尺度因子是 k 2 σ ,第二阶的第二层的尺度因子是第一层的 k 倍,即尺度因子为 k 3 σ ,第二阶的其他层依然按照这个比例扩大,依次类推;第三阶的第一层由第二阶的中间层尺度图像进行抽样获得,得到尺度因子 k 4 σ ,第三阶的第二层的尺度因子是第一层的 k 倍,即尺度因子为 k 5 σ ,第三阶的其他层也是按照这个比例扩大,依次类推;其他阶和层则依次类推,这里不再一一列举。此后,用高斯差分函数 D x y σ )表示相邻两尺度空间的高斯函数之差,高斯差分函数 D x y σ )表示为:

DoG金字塔是采用与高斯金字塔一致的尺度因子,通过高斯金字塔中相邻的尺度空间函数相减得到。此后对DoG空间进行极值检测,过程是在构建的尺度空间金字塔中检测其中的最小值和最大值,在除了最顶与最底层的中间层中,考虑每个像素的相邻点,包括同一层的相邻的8个像素点以及所在层的上下相邻的两层的9个相邻像素,与这些相邻点进行比较。因此需要比较的相邻点共26个(8+9+9),目的在于确保这样所检测到的极值是在尺度空间和二维图像空间都出现的局部极值。通过算法检测到特征点,也就是局部极值点,即这个像素的相邻26个像素DoG的最大值或最小值,并记录下这个特征点的位置和相应的尺度,以及最后对特征点位置的确定。LOWE在其早期的工作中,提出了SIFT方法采用中心采样点的位置和尺度来简单确定关键点的方法;BROWN在此基础上提出了一种新的特征点位置确定方法,其通过拟和三维二次函数以精准确定关键点的位置和尺度,其效果能达到亚像素精度,同时去除低对比度的关键点和不稳定的边缘响应点,改进了DoG算式对边缘产生较强相应的弱点,增强了匹配图像的稳定性,并提高了抗噪声的能力。

尺度空间函数 D x y σ )在局部极值点( x 0 y 0 σ 0 )处的泰勒展开式:

其中,邻域差分近似得到式2.4中的一阶导数和二阶导数,其他的二阶导数以此类推。对式2.4求导,并令其为0,得到精确的极值位置 X max ,即:

在精确确定特征点之后,需要对所选取的特征点进行一些筛选。去除其中低对比度和不稳定的边缘特征点,可以提高抗噪能力,增加匹配的稳定性。去除低对比度特征点的方法是将式(2.5)带入式(2.4)中,只取其中前面两项,得到式(2.6),如下:

再设定一个阈值 ν ,当| DX max |≥ ν 时,则保留该特征点,否则舍弃该特征点。

去除属于不稳定的边缘相应点的特征点的方法是,采用式(2.7)所示的Hessian矩阵:

矩阵中的项为特征点处的偏导数,通过邻域差分近似估计出来的。

具体方法为通过此Hessian矩阵 H 计算出主曲率,由于 D 的主曲率与 H 矩阵的特征值成比例,这里可以简化为不求具体特征值而只求此比例ratio,设 α 为最大幅值特征, β 为次大幅值特征, r α/β ,则ratio的值由下面式子得到:

一般情况下,取 r =10,若ratio≤( r +1) 2 / r ,则保留该特征点,否则舍弃该特征点。

在确定兴趣点位置后,将对兴趣点主方向进行确定。以达到特征点具有旋转不变性。特征点的方向为每个特征点标识出方向参数,反映了特征点领域中的梯度方向及分布特性。如式(2.11)和式(2.12)所示, m 表示( x y )出的梯度值, θ 则表示该处的方向:

式(2.12)中, L 是每个特征点各自的尺度函数,( x y )是指定阶和层所对应的特征点在图像中像素点位置。在对特征点的领域窗口内采样,统计领域像素的梯度方法,得到梯度方向直方图。采样的范围是0~360,窗口的大小是10,即每个bin代表10,因此采样范围总共分为了36个bin。通过梯度方向直方图,计算出其中的峰值,得到特征点的方向。

得到局部梯度主方向,其值是梯度方向直方图中的峰值,再检测在直方图中的最高峰后,在任意其他局部峰的能量大于最高峰顶的能量的80%时建立其他方向的特征点。如果在相似幅值出现多峰的位置,可以在相同的尺度及位置上面建立多个特征点,但是这些特征点的方向不同。

提取SIFT特征的最后一步是生成兴趣点的特征描述向量。通过前面几步得到的参数,可以在一个可重复的二维坐标系统中对局部图像区域进行描述,且这种描述具有不变性。本步骤就是生成这个描述向量,通过计算局部图像区域的描述值,使其尽可能地保持鲁棒性,即对光照、噪声、视角变换、刚性形变等不敏感。

生成兴趣点的特征描述向量需要将坐标轴旋转为特征点的方向,这样确保了旋转不变性;然后以特征点为中心取8×8的窗口,所选取的窗口不包含特征点所在的行和列。具体方法是选取好当前的特征点位置,并将其作为中心,在其邻接的区域所在的尺度空间里,以一个像素为单位,计算该像素的梯度方向和梯度模值。同时在梯度方向上,计算梯度方向的累加值和各个方向的梯度方向直方图。采用领域的方向信息以及领域与中心的关联信息的思想,增强特征在抗旋转,缩放的能力,以及增加对噪声的抗噪能力,并在特征匹配中通过含有定位误差容错的功能增加其容错的能力。SIFT特征向量一般是128维。在一般情况下,选取所需的图像数据块为16×16,这样是为了增强匹配的稳健性。计算时采用种子点对特征点进行描述,一般一个特征点采用16个种子点,而每个种子点含有8个方向向量的信息,这样一个特征点就产生了4×4×8=128个数据。在128维向量的表示下,SIFT特征向量可以去除尺度缩放、目标的旋转、形变等几何变换因素的影响,继续将特征向量的归一化,能进一步去除光照变化及噪声等影响。SIFT特征的示意图如图2.1所示。

图2.1 SIFT特征的描述

(a)原始图像;(b)SIFT算法找出的兴趣点;(c)SIFT特征的表示

2.2.3 特征包模型

在提取完图像底层特征之后,将原始图像变为了一个矩阵,但在大量的实验中,从图像中提取出来的SIFT特征的矩阵大于原始图像。虽然通过底层特征提取可以获得兴趣点更多的信息,同时也能略过非兴趣点的信息,但通过提取底层特征有时候会使得计算开销增大,将消耗大量的计算资源、耗费较长的时间。在这种情况下,可以应用一个降维的方法,将特征的维数降低,在不丢失信息的情况下,减少计算资源的耗费和减少计算所需的时间。词包模型的提出,能很大程度上应用到图像的语义,将图像与标注词联系起来,用一维的词代替高维的底层特征的提取过程。

特征包模型(Bags of Features,BoF)模型是基于词包模型(Bags of Words,BoW)发展而来,两者的基本思想是相似的。特征包模型的基本思想是用局部特征的无序集合来描述一个目标甚至一幅图像,基本思想是对一个文本进行分析,通过词典中所列举出的关键词,通过统计关键词出现的频率,构建出一个统计直方图,在此过程中不考虑词序、语法、句法等。特征包模型是SIVIC等、CSURKA等受到词包模型的启发,在图像中使用一组离散的点来表示连续的图像特征空间。

在得到底层特征后,BoF模型需要构建出视觉词典。视觉词典是对抽取训练图像数据中所得到的所有局部特征向量集合进行聚类,所得到的聚类中心代表的视觉词汇所构成的。聚类构建视觉词典是整个特征包模型中的关键步骤。构建视觉词典最常用的是k-均值聚类(k-means)。k-均值聚类算法,需要事先设定k值,即所聚类的类别数,也即聚类中心数或者是视觉词典所包含的视觉单词的数目。k-均值聚类算法有这些缺陷:聚类中心数量是人为设定的、其对噪声点和孤立点很敏感、只能发现球状簇。JURIE等利用mean-shift和在线聚类方法来得到在特征向量空间分布更加均匀的视觉词汇;NISTER等利用多层聚类的方法,即层级k-均值聚类算法构建视觉单词树,在图像表示步骤中可以采用多个视觉来表示同一个特性向量,丰富特征信息;VAN CEMERT等采用基于半径的方法来聚类构建视觉词汇。此外还有一些构建视觉词汇的方法,并通过聚类算法得到视觉词汇,直接采用某些规则离散特征向量空间而得到视觉词汇,也有通过对局部特征进行语义标注来生产视觉词汇。

此后再用视觉词汇对图像进行重新表示。图像重新表示步骤是在构建好视觉词典后,需要将所有得到的图像的局部特征向量全部映射到视觉词典中所对应的视觉单词上。通常采用计算距离的方式,首先找到特征空间中该特性向量距离最近的聚类中心,即上面说到的视觉单词,然后用该视觉单词来表示这个特征向量。最后,根据映射或替换得到的视觉单词的情况,统计出目标区域或者图像局部区域中所出现的视觉单词的频率信息,也就是视觉词典的统计特征,并用这个统计特征构建出目标或图像局部区域的描述向量。这样图像的描述就由底层局部特征向量变为了视觉词汇或视觉词典的统计量。在局部特征向量向视觉词典映射过程中,最通常的方式是采用最近邻方法来计算,根据具体的特征空间采用不同的距离来进行度量,也有采用模糊映射的方法,将局部特征向量映射到多个视觉单词,其思路是通过增加表示局部特征向量的视觉单词数量,来丰富该目标的信息,类似于采用多个特征来表示单一目标的思想,使得图像表示得更加准确,进而在分类识别中提升效果。 Z94U3BGmAT2GzF9Iapde15XBTCMRoiUDzerR9KwGdy0weHxakmxF413/oyZfrC5q

点击中间区域
呼出菜单
上一章
目录
下一章
×