一种基于四元数的彩色图像SURF特征描述方法和系统
技术领域
本发明涉及图像处理技术领域,具体涉及一种基于四元数的彩色图像SURF特征描述方法和系统。
背景技术
图像的视觉特征作为图像处理中的底层特征,已广泛应用在目标识别、图像检索、目标跟踪、图像匹配和图像分类等领域。图像的局部视觉特征研究,主要分为三大部分:特征提取,特征描述和特征的性能分析。针对这三大部分,研究者们做了大量的研究。有人从物理角度总结了近年来各类视觉特征,包括边缘、角点和斑点之间的关系,并将各类视觉特征的检测算法分成不同的类别,给出了代表性算法的详细描述。针对图像中斑点结构的特征检测,在2004年就有人提出了SIFT(scale invariant feature transform)算法,由于这种算法特征描述向量的维数过高,导致在实际应用中时间复杂度过高;于是,又有人利用积分图像和盒子滤波器对SIFT算法时间复杂度过高这一缺点进行改进,提出了SURF(speededup robust features)算法,大大提升了特征检测的效率,并且其特征描述向量维数可以降至64维,这就使得在特征匹配的时候能够大大缩减匹配时间。随后,又有人提出利用Gauge微分在创建SURF描述时,只计算出一个单独的主方向,并且相比原始的SURF算法,增加了特征匹配时的鲁棒性。后来,有人提出一种基于局部亮度顺序模式的特征描述,避免了SIFT算法和SURF算法中主方向估算错误引起的特征点错误匹配。Pang借鉴ASIFT(affine scaleinvariant feature transform)算法中的思想针对图像匹配提出了SURF算法的完全仿射不变算子,增加了检测到的特征点数目。基于经典的SURF算法和图像本身存在的局部对称结构,提出局部图像对称评分方案,将特征描述向量维数降至16维,提高了特征匹配的效率。针对经典的SURF算法不能检测出对称对象这一缺陷,提出一种新的对称SURF描述子来丰富SURF算法的性能,通过镜像变换,来检测出所有可能的对称匹配对,并将其应用到车辆检测和车牌识别中。
以上算法的提出虽然能够在一定程度上优化SURF算法的性能,但都是对灰度图像局部特征进行分析。而对于彩色图像的局部特征的描述,并未给出相应的方法。
发明内容
本发明所要解决的技术问题是提供一种基于四元数的彩色图像SURF特征描述方法,能够对彩色图像特征进行描述。
本发明解决上述技术问题的技术方案如下:一种基于四元数的彩色图像SURF特征描述方法,包括以下步骤:
步骤1,输入一幅彩色图像;
步骤2,将彩色图像中每一个像素点的颜色信息用纯四元数表示,得到一个纯四元数矩阵用于表示所述彩色图像;具体为:
式中,I(x,y)表示原彩色图像,(xm,yn)为彩色图像中像素点的坐标;R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;m为像素点的行宽;n为像素点的列宽;
步骤3,寻找每一个特征点的主方向;所述特征点为通过特征检测方法在所述彩色图像对应的灰度图像中检测出,并对应至所述彩色图像中的像素点;
步骤4,沿着每一个特征点的主方向,以所述特征点为中心形成一个矩形区域,计算所述每一个特征点的特征向量;
步骤5,将所述每一个特征点的特征向量转换成纯四元数范数的特征向量,从而实现基于四元数的彩色图像SURF特征描述。
本发明的有益效果是:利用纯四元数表示彩色图像的三种颜色信息,考虑了各个颜色通道之间的关联性和整体性,并利用四元数的范数构造彩色图像的特征描述向量,增加了特征描述子的旋转不变性,从而获得更高的特征点匹配正确率。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述步骤3中寻找每一个特征点的主方向,具体为:
步骤3.1,以所述特征点为圆心画一个圆形区域,将所述圆形区域内的所有像素点分别与Haar小波算子进行卷积,得到所述圆形区域内的所有像素点的Haar小波响应值;
步骤3.2,对所述步骤3.1中得到的所述圆形区域内每一个像素点的Haar小波响应值进行高斯加权,得到所述圆形区域内每一个像素点的高斯加权值;
步骤3.3,在所述圆形区域内选择一个以所述特征点为中心的扇形滑动窗口;
步骤3.4,旋转扇形滑动窗口遍历所述圆形区域,对所述扇形滑动窗口内所有像素点的高斯加权值进行累加,将高斯加权值累加的最大值对应的方向作为所述特征点的主方向。
采用上述进一步方案的有益效果是能够保证特征矢量具有旋转不变性。
进一步,所述所述步骤4具体为:
步骤4.1,沿着主方向,建立一个以所述特征点为中心的矩形区域;
步骤4.2,将所述矩形区域划分为多个相同的子区域;
步骤4.3,针对每一个所述子区域,利用Haar小波计算其对应的小波响应值;
步骤4.4,对步骤4.3中得到的所述每一个子区域的小波响应值进行高斯加权;
步骤4.5,统计所述每一个子区域进行高斯加权后的Haar小波响应值,得到所述每一个子区域的矢量:
V子区域=[∑dx,∑|dx|,∑dy,∑|dy|]
式中,dx为Haar小波X方向上的响应值;|dx|为dx的绝对值;∑dx为对所有的dx求和;dy为Haar小波Y方向上的响应值;|dy|为dy的绝对值。
采用上述进一步方案的有益效果是能够更好地获得图像的局部空域信息。
进一步,所述所述步骤5中纯四元数范数的特征向量为:
V=[V1,V2,…,Vi,…]
其中,Vi=[||∑Dxi||,||∑|Dxi|||,||∑Dyi||,||∑|Dyi|||];||·||为范数算子,Vi表示第i个子区域的特征矢量,∑Dx=[(∑dx)R,(∑dx)G,(∑dx)B],∑|Dx|=[(∑|dx|)R,(∑|dx|)G,(∑|dx|)B],∑Dy=[(∑dy)R,(∑dy)G,(∑dy)B],∑|Dy|=[(∑|dy|)R,(∑|dy|)G,(∑|dy|)B],R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;i为子区域的编号;Dx=[dxR,dxG,dxB]为彩色图像Haar小波X方向上响应值的纯四元数的向量表示,dxR为R通道的Haar小波X方向上的响应值,dxG为G通道的Haar小波X方向上的响应值,dxB为B通道的Haar小波X方向上的响应值;Dxi为子区域i内Haar小波X方向上响应值的纯四元数的向量表示;∑Dxi为对所有Dxi求和;||∑Dxi||为对∑Dxi求范数;|Dxi|为子区域i内Haar小波X方向上响应值绝对值的纯四元数的向量表示;∑|Dxi|为对所有|Dxi|求和;||∑|Dxi|||为对∑|Dxi|求范数;Dy=[dyR,dyG,dyB]为彩色图像Haar小波Y方向上响应值的纯四元数的向量表示,dyR为R通道的Haar小波Y方向上的响应值,dyG为G通道的Haar小波Y方向上的响应值,dyB为B通道的Haar小波y方向上的响应值;Dyi为子区域i内Haar小波Y方向上响应值的纯四元数的向量表示;∑Dyi为对所有Dyi求和;||∑Dyi||为对∑Dyi求范数;|Dyi|为子区域i内Haar小波Y方向上响应值绝对值的纯四元数的向量表示;∑|Dyi|为对所有|Dyi|求和;||∑|Dyi|||为对∑|Dyi|求范数。
采用上述进一步方案的有益效果是能够增加特征矢量的旋转不变性。
本发明另一种基于四元数的彩色图像SURF特征描述系统,包括:
输入模块,用于输入一幅彩色图像;
四元数矩阵获取模块,用于将彩色图像中每一个像素点的颜色信息用纯四元数表示,得到一个纯四元数矩阵用于表示所述彩色图像;具体为:
式中,I(x,y)表示原彩色图像,(xm,yn)为彩色图像中像素点的坐标;R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;m为像素点的行宽;n为像素点的列宽;
主方向寻找模块,用于寻找每一个特征点的主方向;所述特征点为通过特征检测方法在所述彩色图像对应的灰度图像中检测出,并对应至所述彩色图像中的像素点;
特征向量计算模块,用于沿着每一个特征点的主方向,以所述特征点为中心形成一个矩形区域,计算所述每一个特征点的特征向量;
转换模块,用于将所述每一个特征点的特征向量转换成纯四元数范数的特征向量,从而实现基于四元数的彩色图像SURF特征描述。
本发明的有益效果是:利用纯四元数表示彩色图像的三种颜色信息,考虑了各个颜色通道之间的关联性和整体性,并利用四元数的范数构造彩色图像的特征描述向量,增加了特征描述子的旋转不变性,从而获得更高的特征点匹配正确率。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述所述主方向寻找模块,包括:
第一卷积单元,用于以所述特征点为圆心画一个圆形区域,将所述圆形区域内的所有像素点分别与Haar小波算子进行卷积,得到所述圆形区域内的所有像素点的Haar小波响应值;
第一高斯计算单元,用于对所述第一卷积单元中得到的所述圆形区域内每一个像素点的Haar小波响应值进行高斯加权,得到所述圆形区域内每一个像素点的高斯加权值;
滑动单元,用于在所述圆形区域内选择一个以所述特征点为中心的扇形滑动窗口;
主方向确定单元,用于旋转扇形滑动窗口遍历所述圆形区域,对所述扇形滑动窗口内所有像素点的高斯加权值进行累加,将高斯加权值累加的最大值对应的方向作为所述特征点的主方向。
采用上述进一步方案的有益效果是能够保证特征矢量具有旋转不变性。
进一步,所述特征向量计算模块包括:
矩形建立单元,用于沿着主方向,建立一个以所述特征点为中心的矩形区域;
划分单元,用于将所述矩形区域划分为多个相同的子区域;
第二卷积单元,用于针对每一个所述子区域,利用Haar小波计算其对应的小波响应值;
第二高斯计算单元,对步骤4.3中得到的所述每一个子区域的小波响应值进行高斯加权;
统计单元,统计所述每一个子区域进行高斯加权后的Haar小波响应值,得到所述每一个子区域的矢量:
V子区域=[∑dx,∑|dx|,∑dy,∑|dy|]
式中,dx为Haar小波X方向上的响应值;|dx|为dx的绝对值;∑dx为对所有的dx求和;dy为Haar小波Y方向上的响应值;|dy|为dy的绝对值。
采用上述进一步方案的有益效果是能够更好地获得图像的局部空域信息。
进一步,所述转换模块将所述每一个像素点的特征向量转换成纯四元数范数的特征向量,具体为:
V=[V1,V2,…,Vi,…]
其中,Vi=[||∑Dxi||,||∑|Dxi|||,||∑Dyi||,||∑|Dyi|||];||·||为范数算子,Vi表示第i个子区域的特征矢量,∑Dx=[(∑dx)R,(∑dx)G,(∑dx)B],∑|Dx|=[(∑|dx|)R,(∑|dx|)G,(∑|dx|)B],∑Dy=[(∑dy)R,(∑dy)G,(∑dy)B],∑|Dy|=[(∑|dy|)R,(∑|dy|)G,(∑|dy|)B],R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;i为子区域的编号;Dx=[dxR,dxG,dxB]为彩色图像Haar小波X方向上响应值的纯四元数的向量表示,dxR为R通道的Haar小波X方向上的响应值,dxG为G通道的Haar小波X方向上的响应值,dxB为B通道的Haar小波X方向上的响应值;Dxi为子区域i内Haar小波X方向上响应值的纯四元数的向量表示;∑Dxi为对所有Dxi求和;||∑Dxi||为对∑Dxi求范数;|Dxi|为子区域i内Haar小波X方向上响应值绝对值的纯四元数的向量表示;∑|Dxi|为对所有|Dxi|求和;||∑|Dxi|||为对∑|Dxi|求范数;Dy=[dyR,dyG,dyB]为彩色图像Haar小波Y方向上响应值的纯四元数的向量表示,dyR为R通道的Haar小波Y方向上的响应值,dyG为G通道的Haar小波Y方向上的响应值,dyB为B通道的Haar小波y方向上的响应值;Dyi为子区域i内Haar小波Y方向上响应值的纯四元数的向量表示;∑Dyi为对所有Dyi求和;||∑Dyi||为对∑Dyi求范数;|Dyi|为子区域i内Haar小波Y方向上响应值绝对值的纯四元数的向量表示;∑|Dyi|为对所有|Dyi|求和;||∑|Dyi|||为对∑|Dyi|求范数。
采用上述进一步方案的有益效果是能够增加特征矢量的旋转不变性。
附图说明
图1为本发明一种基于四元数的彩色图像SURF特征描述方法的流程示意图;
图2为本发明一种基于四元数的彩色图像SURF特征描述系统的结构示意图;
图3为本发明一种基于四元数的彩色图像SURF特征描述系统中主方向寻找模块的结构示意图;
图4为本发明一种基于四元数的彩色图像SURF特征描述系统中特征向量寻找模块的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明中所有的特征点均指SURF特征点。
如图1所示,一种基于四元数的彩色图像SURF特征描述方法,包括以下步骤:
步骤1,输入一幅彩色图像;
步骤2,将彩色图像中每一个像素点的颜色信息用纯四元数表示,得到一个纯四元数矩阵用于表示彩色图像;具体为:
式中,I(x,y)表示原彩色图像,(xm,yn)为彩色图像中像素点的坐标;R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;m为像素点的行宽;n为像素点的列宽;
步骤3,寻找每一个特征点的主方向;特征点为通过特征检测方法在彩色图像对应的灰度图像中检测出,并对应至彩色图像中的像素点;步骤3中寻找每一个特征点的主方向,具体为:
步骤3.1,以特征点为圆心画一个圆形区域,将圆形区域内的所有像素点分别与Haar小波算子进行卷积,得到圆形区域内的所有像素点的Haar小波响应值,也是圆形区域内每一个像素点的梯度信息;
步骤3.2,对步骤3.1中得到的圆形区域内每一个像素点的Haar小波响应值进行高斯加权,得到圆形区域内每一个像素点的高斯加权值,记为dx,dy;
步骤3.3,在圆形区域内选择一个以特征点为中心的扇形滑动窗口;
步骤3.4,旋转扇形滑动窗口遍历圆形区域,对扇形滑动窗口内所有像素点的高斯加权值进行累加,获得一个针对当前滑动窗口的矢量(mw,θw),当前滑动窗口的矢量表达式为:
将高斯加权值累加的最大值对应的方向作为特征点的主方向;则特征点的主方向表达式为:θ=θw|max{mw};
由于图像中每一点处进行高斯加权后的Haar小波响应值反映的是该点在x,y方向上的梯度信息,在一定区域内的累加值能够反映图像在该区域内的结构信息,因此,累加值越大,图像的结构越强烈,因此,以图像块结构最强烈的方向为主方向,能够保证图像的旋转不变性。
步骤4,沿着每一个特征点的主方向,以特征点为中心形成一个矩形区域,计算每一个特征点的特征向量;步骤4具体为:
步骤4.1,沿着主方向,建立一个以特征点为中心的矩形区域;
步骤4.2,将矩形区域划分为多个相同的子区域;
步骤4.3,针对每一个子区域,利用Haar小波计算其对应的小波响应值;
步骤4.4,对步骤4.3中得到的每一个子区域的小波响应值进行高斯加权;
步骤4.5,统计每一个子区域进行高斯加权后的Haar小波响应值,得到每一个子区域的矢量:
V子区域=[∑dx,∑|dx|,∑dy,∑|dy|]
式中,dx为Haar小波X方向上的响应值;|dx|为dx的绝对值;∑dx为对所有的dx求和;dy为Haar小波Y方向上的响应值;|dy|为dy的绝对值;
步骤5,将每一个特征点的特征向量转换成纯四元数范数的特征向量,从而实现基于四元数的彩色图像SURF特征描述,纯四元数范数的特征向量为:
V=[V1,V2,…,Vi,…]
其中,Vi=[||∑Dxi||,||∑|Dxi|||,||∑Dyi||,||∑|Dyi|||];||·||为范数算子,Vi表示第i个子区域的特征矢量,∑Dx=[(∑dx)R,(∑dx)G,(∑dx)B],∑|Dx|=[(∑|dx|)R,(∑|dx|)G,(∑|dx|)B],∑Dy=[(∑dy)R,(∑dy)G,(∑dy)B],∑|Dy|=[(∑|dy|)R,(∑|dy|)G,(∑|dy|)B],R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;i为子区域的编号;Dx=[dxR,dxG,dxB]为彩色图像Haar小波X方向上响应值的纯四元数的向量表示,dxR为R通道的Haar小波X方向上的响应值,dxG为G通道的Haar小波X方向上的响应值,dxB为B通道的Haar小波X方向上的响应值;Dxi为子区域i内Haar小波X方向上响应值的纯四元数的向量表示;∑Dxi为对所有Dxi求和;||∑Dxi||为对∑Dxi求范数;|Dxi|为子区域i内Haar小波X方向上响应值绝对值的纯四元数的向量表示;∑|Dxi|为对所有|Dxi|求和;||∑|Dxi|||为对∑|Dxi|求范数;Dy=[dyR,dyG,dyB]为彩色图像Haar小波Y方向上响应值的纯四元数的向量表示,dyR为R通道的Haar小波Y方向上的响应值,dyG为G通道的Haar小波Y方向上的响应值,dyB为B通道的Haar小波y方向上的响应值;Dyi为子区域i内Haar小波Y方向上响应值的纯四元数的向量表示;∑Dyi为对所有Dyi求和;||∑Dyi||为对∑Dyi求范数;|Dyi|为子区域i内Haar小波Y方向上响应值绝对值的纯四元数的向量表示;∑|Dyi|为对所有|Dyi|求和;||∑|Dyi|||为对∑|Dyi|求范数。
如图2所示,一种基于四元数的彩色图像SURF特征描述系统,包括:
输入模块,用于输入一幅彩色图像;
四元数矩阵获取模块,用于将彩色图像中每一个像素点的颜色信息用纯四元数表示,得到一个纯四元数矩阵用于表示彩色图像;具体为:
式中,I(x,y)表示原彩色图像,(xm,yn)为彩色图像中像素点的坐标;R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;m为像素点的行宽;n为像素点的列宽;
主方向寻找模块,用于寻找每一个特征点的主方向;特征点为通过特征检测方法在彩色图像对应的灰度图像中检测出,并对应至彩色图像中的像素点;如图3所示,主方向寻找模块,包括:
第一卷积单元,用于选择任一像素点为特征点,并以特征点为圆心画一个圆形区域,将圆形区域内的所有像素点分别与Haar小波算子进行卷积,得到所有像素点的Haar小波响应值;
第一高斯计算单元,用于对步骤3.1中得到的每一个像素点的Haar小波响应值进行高斯加权,得到高斯加权值;
滑动单元,在圆形区域内选择一个以特征点为中心的扇形滑动窗口;
主方向确定单元,用于旋转扇形滑动窗口遍历圆形区域,对扇形滑动窗口内所有像素点的高斯加权值进行求和,将最大的求和值对应的滑动窗口的方向作为特征点的主方向。
特征向量计算模块,用于沿着每一个特征点的主方向,以特征点为中心形成一个矩形区域,计算每一个特征点的特征向量;如图4所示,特征向量计算模块包括:
矩形建立单元,用于沿着主方向,建立一个以特征点为中心的矩形区域;
划分单元,用于将矩形区域划分为多个相同的子区域;
第二卷积单元,用于针对每一个子区域,利用Haar小波计算其对应的小波响应值;
第二高斯计算单元,对步骤4.3中得到的每一个子区域的小波响应值进行高斯加权;
统计单元,统计每一个子区域进行高斯加权后的Haar小波响应值,得到每一个子区域的矢量:
V子区域=[∑dx,∑|dx|,∑dy,∑|dy|]
式中,dx为Haar小波X方向上的响应值;|dx|为dx的绝对值;∑dx为对所有的dx求和;dy为Haar小波Y方向上的响应值;|dy|为dy的绝对值。
转换模块,用于将每一个特征点的特征向量转换成纯四元数范数的特征向量,从而实现基于四元数的彩色图像SURF特征描述。转换模块将每一个像素点的特征向量转换成纯四元数范数的特征向量,具体为:
V=[V1,V2,…,Vi,…]
其中,Vi=[||∑Dxi||,||∑|Dxi|||,||∑Dyi||,||∑|Dyi|||];||·||为范数算子,Vi表示第i个子区域的特征矢量,∑Dx=[(∑dx)R,(∑dx)G,(∑dx)B],∑|Dx|=[(∑|dx|)R,(∑|dx|)G,(∑|dx|)B],∑Dy=[(∑dy)R,(∑dy)G,(∑dy)B],∑|Dy|=[(∑|dy|)R,(∑|dy|)G,(∑|dy|)B],R,G,B为所述彩色图像的三个颜色通道,分别代表红、绿、蓝通道;i为子区域的编号;Dx=[dxR,dxG,dxB]为彩色图像Haar小波X方向上响应值的纯四元数的向量表示,dxR为R通道的Haar小波X方向上的响应值,dxG为G通道的Haar小波X方向上的响应值,dxB为B通道的Haar小波X方向上的响应值;Dxi为子区域i内Haar小波X方向上响应值的纯四元数的向量表示;∑Dxi为对所有Dxi求和;||∑Dxi||为对∑Dxi求范数;|Dxi|为子区域i内Haar小波X方向上响应值绝对值的纯四元数的向量表示;∑|Dxi|为对所有|Dxi|求和;||∑|Dxi|||为对∑|Dxi|求范数;Dy=[dyR,dyG,dyB]为彩色图像Haar小波Y方向上响应值的纯四元数的向量表示,dyR为R通道的Haar小波Y方向上的响应值,dyG为G通道的Haar小波Y方向上的响应值,dyB为B通道的Haar小波y方向上的响应值;Dyi为子区域i内Haar小波Y方向上响应值的纯四元数的向量表示;∑Dyi为对所有Dyi求和;||∑Dyi||为对∑Dyi求范数;|Dyi|为子区域i内Haar小波Y方向上响应值绝对值的纯四元数的向量表示;∑|Dyi|为对所有|Dyi|求和;||∑|Dyi|||为对∑|Dyi|求范数。
下面通过实验对本发明的效果进行说明:
本发明实验中所采用的图像来自于标准Mikolajczik库中的仿射变换彩色图像以及通用的一组仿射变换图像。
实验中,首先通过将三种方法处理图像的时间进行比较,如表1所示:
表1比较结果
从表1可以看出,采用本发明的方法进行图像处理所用的时间相比三个通道分别处理,时间上大大减少了。
接下来,对本发明方法的匹配率进行验证:
共采用两组图像,第一组图像包含五幅图像,分别为一幅正向标准图像和发生仿射变换的四幅图像,并且四幅仿射变换的图像仿射变换的程度依次加深,然后比较正向标准图像与发生仿射变换图像之间的特征点对的正确匹配率,针对图像发生仿射变换,将本发明方法与FAIR-SURF算法和SURF算法进行性能评价,评价标准采用最近邻匹配方法,比较各个算法的特征点对匹配数目以及匹配正确率,实验结果如表2-表5所示:
如表2所示,在394对对应的特征点对中,错误匹配仅为4对,正确率达98.98%。
表2对比结果
表3对比结果
表4对比结果
表5对比结果
第二组图像包含两幅图像,分别是一幅正向标准图像和一幅仿射变换图像,实验结果如表6所示:
表6对比结果
从表2至表6可以看出,对于发生仿射变换的图像来说,相比原始的SURF算法和FAIR-SURF算法而言,本发明提出的算法能够表现出更高的特征点对正确匹配率。
FAIR-SURF算法虽然能够利用一系列模拟序列图检测到更多的特征点,然而它的特征点描述方法和SURF算法是相同的,只是单纯地考虑特征点一定邻域内像素的灰度梯度信息,忽略了图像本身的颜色信息。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。