一种基于HOG和视觉词袋的相似图像搜索方法和装置与流程

文档序号:11134057阅读:来源:国知局

技术特征:

1.一种基于HOG和视觉词袋的相似图像搜索装置,其特征在于,包括预处理单元、输入单元、高斯差分单元、选取单元、HOG特征提取单元、聚类单元、视觉词袋单元和训练单元;

所述预处理单元,用于将训练的图像进行分类作为训练集图像,并对测试图像和所述训练集图像的大小进行归一化;

所述输入单元,用于输入归一化后的所述测试图像和所述训练集图像;

所述高斯差分单元,用于通过高斯差分算法寻找所述输入单元中的所述测试图像和所述训练集图像中每一幅图像的稳定关键点;

所述选取单元,用于选取所述测试图像和所述训练集图像中每一幅图像的稳定关键点的最密集的前N个区域;

所述HOG特征提取单元,用于对所述最密集的前N个区域进行HOG特征提取;

所述聚类单元,用于通过K-Means聚类算法对所述训练集图像中的所述HOG特征进行聚类,得到的n个聚类中心为视觉词袋的n个视觉单词;

所述视觉词袋单元,用于在所述训练集图像的视觉单词中寻找与所述测试图像中的每一个特征最近邻的视觉单词,并统计所述测试图像中所找到的所有视觉单词出现的频率,得到的频率直方图为所述测试图像的视觉词袋;

所述训练单元,用于使用支持向量机分类器对所述训练集图像的视觉词袋进行训练,得到的模型对所述测试图像的视觉词袋进行测试,得到所述测试图像的分类结果,反馈同一类别的图片。

2.根据权利要求1所述的基于HOG和视觉词袋的相似图像搜索装置,其特征在于,所述高斯差分单元包括分层模块、差分模块、比较模块、第一删除模块和第二删除模块;

所述分层模块,用于对所述相应图像f(x,y)加入高斯滤波Gσ1(x,y)、Gσ2(x,y),得到两幅图像g1(x,y)和g2(x,y):

g1(x,y)=Gσ1(x,y)×f(x,y)

g2(x,y)=Gσ2(x,y)×f(x,y)

所述差分模块,用于将得到的两幅图像g1(x,y)、g2(x,y)进行相减,得到高斯差分图像:

g1(x,y)-g2(x,y)=Gσ1×f(x,y)-Gσ1×f(x,y)=DoG×f(x,y)

所述比较模块,用于将高斯差分图像中每一个像素点与其所有的相邻点进行比较,若每一个所述像素点比其图像域和尺度域中的相邻点都大或都小,那该所述像素点则为极值点;

所述第一删除模块,用于去除对比度低的所述极值点,利用高斯差分函数在尺度空间Taylor展开式分别对所述高斯差分空间的多层图像的行、列及尺度三个分量进行修正,Taylor展开式为:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>D</mi> <mo>+</mo> <mfrac> <mrow> <mo>&part;</mo> <msup> <mi>D</mi> <mi>T</mi> </msup> </mrow> <mrow> <mo>&part;</mo> <mi>x</mi> </mrow> </mfrac> <mi>x</mi> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>x</mi> <mi>T</mi> </msup> <mfrac> <mrow> <msup> <mo>&part;</mo> <mn>2</mn> </msup> <mi>D</mi> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> </mfrac> <mi>x</mi> </mrow>

对所述Taylor展开式进行求导并令其为0,得到:

将结果代入所述Taylor展开式中得:

式中,x表示所述极值点,D表示所述极值点处的Harris响应值,T表示转秩,若则所述极值点保留,否则删除所述极值点;

所述第二删除模块,用于去除边缘不稳定的所述极值点,所述高斯差分函数的极值点在横跨边缘的方向有较大的主曲率,在垂直边缘的方向有较小的主曲率,主曲率通过计算所述极值点位置尺度的二阶Hessian矩阵求出:

<mrow> <mi>H</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>x</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>D</mi> <mrow> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>

式中,D表示所述极值点处的Harris响应值,H表示二阶Hessian矩阵,所述D的主曲率和所述H的特征值成正比,令α为较大的所述特征值,β为较小的所述特征值,则

Tr(H)=Dxx+Dyy=α+β

Det(H)=DxxDyy-(Dxy)2=αβ

令α=rβ得,由于在所述α、β相等的时候最小,随着r的增大而增大,因此当不满足下式时,所述极值点删除,反之保留,保留下来的所述极值点是稳定关键点:

<mrow> <mfrac> <mrow> <mi>T</mi> <mi>r</mi> <msup> <mrow> <mo>(</mo> <mi>H</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <mi>D</mi> <mi>e</mi> <mi>t</mi> <mrow> <mo>(</mo> <mi>H</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&lt;</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mi>r</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mi>r</mi> </mfrac> </mrow>

式中,H表示Hessian矩阵,Tr(H)代表Hessian矩阵的对角线元素之和,Det(H)代表Hessian矩阵的行列式。

3.根据权利要求2所述的基于HOG和视觉词袋的相似图像搜索装置,其特征在于,所述HOG特征提取单元包括第一处理模块、第二处理模块、划分模块、第一计算模块、第一串联模块、第二串联模块和转换模块;

所述第一处理模块,用于将所述测试图像或所述训练集图像中每一幅图像的所述前N个区域中的每一块区域视为一个图像,进行灰度化;

所述第二处理模块,用于通过Gamma校正法对灰度化后的每一块区域对应的每一个图像进行颜色空间的归一化;

所述划分模块,用于将归一化后的所述每一个图像划分为单元格,每2×2个像素点组成一个单元格;

所述第一计算模块,用于计算所述每一个图像中每个像素点(x,y)的梯度,捕获轮廓信息,其中,所述梯度包括大小和方向:

Gx(x,y)=H(x+1,y)-H(x-1,y)

Gy(x,y)=H(x,y+1)-H(x,y-1)

Gx(x,y),Gy(x,y),H(x,y)分别代表所述像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值;

所述像素点(x,y)处的梯度幅值和梯度方向分别为:

<mrow> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msub> <mi>G</mi> <mi>x</mi> </msub> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>G</mi> <mi>y</mi> </msub> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

<mrow> <mi>&alpha;</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>tan</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>G</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>G</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

采用无符号(0-180)形式,并将(0-180)分成9等分,每个所述单元格产生9维的特征;

所述第一串联模块,用于将每2×2个所述单元格组成一个块,一个块内所有单元格的所述特征向量串联起来后归一化,便得到该块的HOG特征;

所述第二串联模块,用于将所述每一个图像中的所有块的HOG特征串联起来就得到所述每一个图像的HOG特征;

变换模块,用于将所述每一个图像的HOG特征进行归一化,所述归一化的过程为:对所述HOG特征提取后的特征向量v进行特征变换,如下式:

v←v/255

<mrow> <mi>v</mi> <mo>&LeftArrow;</mo> <mi>v</mi> <mo>/</mo> <msqrt> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <msub> <mo>|</mo> <mn>2</mn> </msub> <mo>+</mo> <msup> <mi>&epsiv;</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> </msqrt> </mrow>

式中,v为特征向量,ε为常数。

4.根据权利要求3所述的基于HOG和视觉词袋的相似图像搜索装置,其特征在于,所述聚类单元包括集合模块、确定模块和第二计算模块;

所述集合模块,用于将所述训练集图像中的所有图像的HOG特征用矩阵集合统一表示;

所述确定模块,用于根据应用需求确定聚类中心数值n;

所述第二计算模块,用于对所述训练集图像的矩阵集合进行K-Means均值聚类计算,得到的n个聚类中心即为视觉词袋的n个视觉单词。

5.根据权利要求4所述的基于HOG和视觉词袋的相似图像搜索装置,其特征在于,所述视觉词袋单元包括替换模块和统计模块;

所述替换模块,用于利用欧式距离法计算所述测试图像的每个HOG特征与所述视觉词袋中每个视觉单词的相似度,将所述测试图像中的所述HOG特征用所述视觉词袋中相似度最高的视觉单词近似代替,欧氏距离为:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mi>a</mi> </msub> <mo>,</mo> <msub> <mi>H</mi> <mi>b</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mi>i</mi> </munder> <msup> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mi>a</mi> </msub> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>-</mo> <msub> <mi>H</mi> <mi>b</mi> </msub> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

其中,Ha,Hb分别为所述测试图像中的一个HOG特征向量和所述视觉词袋中的一个视觉单词向量,i表示所述测试图像的HOG特征的维数;

所述统计模块,用于统计所述测试图像中找到的所有视觉单词出现的频率,得到的频率直方图即为所述测试图像的视觉词袋。

6.一种基于HOG和视觉词袋的相似图像搜索方法,其特征在于,包括以下步骤:

S1:用于将训练的图像进行分类作为训练集图像,并对测试图像和所述训练集图像的大小进行归一化;

S2:输入归一化后的所述测试图像和所述训练集图像,并对所述训练集图像中的每幅图像进行S3-S5的步骤;

S3:通过高斯差分算法寻找相应图像的稳定关键点;

S4:选取所述稳定关键点的最密集的前N个区域;

S5:对所述最密集的前N个区域进行HOG特征提取;

S6:在所述训练集图像中的每幅图像进行完S3-S5的步骤后,使用K-Means聚类算法对所述训练集图像中的所述HOG特征进行聚类,得到的n个聚类中心为视觉词袋的n个视觉单词;

S7:对输入的所述测试图像进行S3-S5的操作;

S8:在所述训练集图像的视觉单词中寻找与所述测试图像中的每一个特征最近邻的视觉单词,并统计所述测试图像中所找到的所有视觉单词出现的频率,得到的频率直方图为所述测试图像的视觉词袋;

S9:使用支持向量机分类器对所述训练集图像的视觉词袋进行训练,得到的模型对所述测试图像的视觉词袋进行测试,得到所述测试图像的分类结果,反馈同一类别的图片。

7.根据权利要求6所述的基于HOG和视觉词袋的相似图像搜索方法,其特征在于,所述步骤S3具体包括:

步骤S31:对所述相应图像f(x,y)加入高斯滤波Gσ1(x,y)、Gσ2(x,y),得到两幅图像g1(x,y)和g2(x,y):

g1(x,y)=Gσ1(x,y)×f(x,y)

g2(x,y)=Gσ2(x,y)×f(x,y)

步骤S32:将得到的两幅图像g1(x,y)、g2(x,y)进行相减,得到高斯差分图像:

g1(x,y)-g2(x,y)=Gσ1×f(x,y)-Gσ1×f(x,y)=DoG×f(x,y)

步骤S33:将高斯差分图像中每一个像素点与其所有的相邻点进行比较,若每一个所述像素点比其图像域和尺度域中的相邻点都大或都小,那该所述像素点则为极值点;

步骤S34:去除对比度低的所述极值点,利用高斯差分函数在尺度空间Taylor展开式分别对所述高斯差分空间的多层图像的行、列及尺度三个分量进行修正,Taylor展开式为:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>D</mi> <mo>+</mo> <mfrac> <mrow> <mo>&part;</mo> <msup> <mi>D</mi> <mi>T</mi> </msup> </mrow> <mrow> <mo>&part;</mo> <mi>x</mi> </mrow> </mfrac> <mi>x</mi> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>x</mi> <mi>T</mi> </msup> <mfrac> <mrow> <msup> <mo>&part;</mo> <mn>2</mn> </msup> <mi>D</mi> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> </mfrac> <mi>x</mi> </mrow>

对所述Taylor展开式进行求导并令其为0,得到:

将结果代入所述Taylor展开式中得:

式中,x表示所述极值点,D表示所述极值点处的Harris响应值,T表示转秩,若则所述极值点保留,否则删除所述极值点;

步骤S35:去除边缘不稳定的所述极值点,所述高斯差分函数的极值点在横跨边缘的方向有较大的主曲率,在垂直边缘的方向有较小的主曲率,主曲率通过计算所述极值点位置尺度的二阶Hessian矩阵求出:

<mrow> <mi>H</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>x</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>D</mi> <mrow> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>D</mi> <mrow> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>

式中,D表示所述极值点处的Harris响应值,H表示二阶Hessian矩阵,所述D的主曲率和所述H的特征值成正比,令α为较大的所述特征值,β为较小的所述特征值,则

Tr(H)=Dxx+Dyy=α+β

Det(H)=DxxDyy-(Dxy)2=αβ

令α=rβ得,由于在所述α、β相等的时候最小,随着r的增大而增大,因此当不满足下式时,所述极值点删除,反之保留,保留下来的所述极值点是稳定关键点:

<mrow> <mfrac> <mrow> <mi>T</mi> <mi>r</mi> <msup> <mrow> <mo>(</mo> <mi>H</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <mi>D</mi> <mi>e</mi> <mi>t</mi> <mrow> <mo>(</mo> <mi>H</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&lt;</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mi>r</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mi>r</mi> </mfrac> </mrow>

式中,H表示Hessian矩阵,Tr(H)代表Hessian矩阵的对角线元素之和,Det(H)代表Hessian矩阵的行列式。

8.根据权利要求7所述的基于HOG和视觉词袋的相似图像搜索方法,其特征在于,所述步骤S5具体包括:

步骤S51:将所述相应图像中所述前N个区域的每一块区域视为一个图像,进行灰度化;

步骤S52:采用Gamma校正法对灰度化后的每一块区域对应的每一个图像进行颜色空间的归一化;

步骤S53:将归一化后的所述每一个图像划分为单元格,每2×2个像素点组成一个单元格;

步骤S54:计算所述每一个图像中每个像素点(x,y)的梯度,捕获轮廓信息,其中,所述梯度包括大小和方向:

Gx(x,y)=H(x+1,y)-H(x-1,y)

Gy(x,y)=H(x,y+1)-H(x,y-1)

Gx(x,y),Gy(x,y),H(x,y)分别代表所述像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值;

所述像素点(x,y)处的梯度幅值和梯度方向分别为:

<mrow> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msub> <mi>G</mi> <mi>x</mi> </msub> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>G</mi> <mi>y</mi> </msub> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

<mrow> <mi>&alpha;</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>tan</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>G</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>G</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

采用无符号(0-180)形式,并将(0-180)分成9等分,每个所述单元格产生9维的特征;

步骤S55:将每2×2个所述单元格组成一个块,一个块内所有单元格的所述特征向量串联起来后归一化,便得到该块的HOG特征;

步骤S56:将所述每一个图像中的所有块的HOG特征串联起来就得到所述每一个图像的HOG特征;

步骤S57:将所述每一个图像的HOG特征进行归一化,所述归一化的过程为:对所述HOG特征提取后的特征向量v进行特征变换,如下式:

v←v/255

<mrow> <mi>v</mi> <mo>&LeftArrow;</mo> <mi>v</mi> <mo>/</mo> <msqrt> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <msub> <mo>|</mo> <mn>2</mn> </msub> <mo>+</mo> <msup> <mi>&epsiv;</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> </msqrt> </mrow>

式中,v为特征向量,ε为常数。

9.根据权利要求8所述的基于HOG和视觉词袋的相似图像搜索方法,其特征在于,所述步骤S6具体包括:

步骤S61:将所述训练集图像中的所有图像的HOG特征用矩阵集合统一表示;

步骤S62:根据应用需求确定聚类中心数值n;

步骤S63:对所述训练集图像的矩阵集合进行K-Means均值聚类计算,得到的n个聚类中心即为视觉词袋的n个视觉单词。

10.根据权利要求9所述的基于HOG和视觉词袋的相似图像搜索方法,其特征在于,所述步骤S8具体包括:

步骤S81:利用欧式距离法计算所述测试图像的每个HOG特征与所述视觉词袋中每个视觉单词的相似度,将所述测试图像中的所述HOG特征用所述视觉词袋中相似度最高的视觉单词近似代替,欧氏距离为:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mi>a</mi> </msub> <mo>,</mo> <msub> <mi>H</mi> <mi>b</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mi>i</mi> </munder> <msup> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mi>a</mi> </msub> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>-</mo> <msub> <mi>H</mi> <mi>b</mi> </msub> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

其中,Ha,Hb分别为所述测试图像中的一个HOG特征向量和所述视觉词袋中的一个视觉单词向量,i表示所述测试图像的HOG特征的维数;

步骤S82:统计所述测试图像中找到的所有视觉单词出现的频率,得到的频率直方图(n维)即为所述测试图像的视觉词袋。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1