图像处理---尺度空间理论

原创 2018年04月16日 14:33:59

1. 特征的不变性

何谓特征?

每个物体,我们总可以用一些词语或部件来描述它,比如人脸的特征:两个眼睛、一个鼻子和一个嘴巴。对于图像而言,我们需要计算机去理解图像,描述图像就需要计算机去取得图像的特征,对图像比较全面的描述即一个二维矩阵,矩阵内的每个值代表图像的亮度。有时候我们需要让计算机更简化的来描述一个图像,抓住一些显著特征,这些特征要具有一些良好的性质,比如局部不变性。局部不变性一般包括两个方面:尺度不变性与旋转不变性。

- 尺度不变性:人类在识别一个物体时,不管这个物体或远或近,都能对它进行正确的辨认,这就是所谓的尺度不变性。尺度空间理论经常与生物视觉关联,有人也称图像局部不变性特征为基于生物视觉的不变性方法。

- 旋转不变性:当这个物体发生旋转时,我们照样可以正确地辨认它,这就是所谓的旋转不变性。

2. 局部不变特征

全局特征:从整个图像中抽取的特征。较多的运用在图像检索领域,如图像颜色直方图。

局部特征:从图像的局部区域中抽取的特征(这个局部区域往往是图像中的一个像素及它周围的邻域)。

一种好的局部特征应该具有下面的特性:

  1. 可重复性:同一个物体在不同时间,不同角度拍到图像中,检测到的特征对应的越多越好。
  2. 独特性:特征在该物体上表现为独特性,能与场景下其他物体区分。
  3. 局部性:特征往往是物体某个局部的特点,这样才可以避免遮挡时不能匹配的问题。
  4. 数量性:检测到的特征数目一定要多,密集度最好能在一定程度上反映图像的内容。
  5. 准确性:得到的特征应该能被精确定位,能够精确到像素。
  6. 高效性:特征检测算法运算要快。

为了研究图像的尺度不变特征,我们需要先从图像的尺度空间理论开始。

3. 图像尺度空间理论

当用一个机器视觉系统分析未知场景时,计算机没有办法预先知识图像中物体尺度,因此,我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。

所以在很多时候,我们会在将图像构建为一系列不同尺度的图像集,在不同的尺度中去检测我们感兴趣的特征。比如:在Harr特征检测人脸的时候,因为我们并不知道图像中人脸的尺寸,所以需要生成一个不同大小的图像组成的金字塔,扫描其中每一幅图像来寻找可能的人脸。

3.1 金字塔分辨率

图像金字塔化的一般步骤:首先,图像经过一个低通滤波器进行平滑(这个步骤会使图像变模糊,好像模仿人的视觉中远处的物体没有近处的清晰的原理),然后,对这个平滑后的图像进行抽样(一般抽样比例在水平和竖直方向上都为1/2),从而得到一系列的缩小的图像。

   

假设高斯金字塔的第 ll 层图像为GlGl,则有:

Gl(i,j)=m=22n=22ω(m,n)Gl1(2i+m,2j+n)Gl(i,j)=∑m=−22∑n=−22ω(m,n)Gl−1(2i+m,2j+n)

(1lN,0iRl,0jCl)(1≤l≤N,0≤i≤Rl,0≤j≤Cl)

式中,NN为高斯金字塔顶层 拨动号;RlRlGlGl分别为高斯金字塔第ll层的行数和列数;ω(m,n)ω(m,n)是一个二维可分离的5×55×5窗口函数,表达式为:

ω=12561464141624164624362464162416414641=116[14641]×11614641ω=1256[1464141624164624362464162416414641]=116[14641]×116[14641]

写成上面的形式是为了说明,二维窗口的卷积算子,可以写成两个方向上的1维卷积核(二项核)的乘积。上面卷积形式的公式实际上完成了2个步骤:1)高斯模糊;2)降维。

按上述步骤生成的G0,G1,,GNG0,G1,…,GN就构成了图像的高斯金字塔,其中G0G0为金字塔的底层(与原图像相同),GNGN为金字塔的顶层。可见高斯金字塔的当前层图像是对其前一层图像先进行高斯低通滤波,然后做隔行和隔列的降采样(去除偶数行与偶数列)而生成的。当前层图像的大小依次为前一层图像大小的1/4。

下面是用OpenCV中的图像金字塔相关函数写的一个生成图像金字塔的示例程序。程序中,不但生成了图像金字塔,而且生成了图像的拉普拉斯金字塔(接下来的内容)。

enum pyrType { PYR_GUASS, PYR_LAPLACE };
void genPyr(const Mat& imgSrc, vector<Mat>& outPutArray, int TYPE, int level)
{
    outPutArray.assign(level + 1, Mat());
    outPutArray[0] = imgSrc.clone(); // the 0 level is the image. 
    for (int i = 0; i != level; i++)
    {
        pyrDown(outPutArray[i], outPutArray[i + 1]);
    }
    if (PYR_GUASS == TYPE)
    {
        return;
    }
    for (int i = 0; i != level; i++)
    {
        Mat UpSampleImg;
        pyrUp(outPutArray[i + 1], UpSampleImg, outPutArray[i].size());
        outPutArray[i] -= UpSampleImg;
    }
}

3.2 图像的拉普拉斯金字塔

GlGl进行内插(这里内插用的不是双线性而是用的与降维时相同的滤波核)得到放大图像GlGl∗,使GlGl∗的尺寸与Gl1Gl−1的尺寸相同,表示为:

Gl(i,j)=4m=22n=22ω(m,n)Gl(i+m2,j+n2)(0lN,0iRl,0jGl)Gl∗(i,j)=4∑m=−22∑n=−22ω(m,n)Gl(i+m2,j+n2)(0≤l≤N,0≤i≤Rl,0≤j≤Gl)

上面的系数4,是因为每次能参与加权的项,的权值和为4/256,这个与我们用的ωω的值有关。

式中,

Gl(i+m2,j+n2)={Gl(i+m2,j+n2),0,i+m2,j+n2Gl(i+m2,j+n2)={Gl(i+m2,j+n2),当i+m2,j+n2为整数时0,其他

{LPl=GlGl+1,LPN=GN,0lNl=N{LPl=Gl−Gl+1∗,当0≤l≤N时LPN=GN,当l=N时

式中,NN为拉普拉斯金字塔顶层号,LPlLPl是拉普拉斯金字塔分解的第ll层图像。

LP0,LP1,,LPl,,LPNLP0,LP1,…,LPl,…,LPN构成的金字塔即为拉普拉斯金字塔。它的每一层图像是高斯金字塔本层图像与其高一级的图像经内插放大后图像的差,此过程相当于带通滤波,因此拉普拉斯金字塔又称为带通金字塔分解。

下图为小猫图像的拉普拉斯金字塔图像:

image image image image

3.3 为什么用高斯核

图像的金字塔化能高效地(计算效率也较高)对图像进行多尺度的表达,但它缺乏坚实的理论基础,不能分析图像中物体的各种尺度(虽然我们有小猫的金字塔图像,我们还是不知道原图像内小猫的大小)。

信号的尺度空间刚提出是就是通过一系列单参数、宽度递增的高斯滤波器将原始信号滤波得到到组低频信号。那么一个很明显的疑问是:除了高斯滤波之外,其他带有参数t的低通滤波器是否也可以用来生成一个尺度空间。

后来Koenerink、Lindeberg[Scale-space theory in computer vision]、Florack等人用精确的数学形式通过不同的途径都证明了高斯核是实现尺度变换的唯一变换核。

虽然很多研究者从可分性、旋转不变性、因果性等特性推出高斯滤波器是建立线性尺度空间的最优滤波器。然后在数字图像处理中,需要对核函数进行采样,离散的高斯函数并不满足连续高斯函数的的一些优良的性质。所以后来出现了一些非线性的滤波器组来建立尺度空间,如B样条核函数。

使用高斯滤波器对图像进行尺度空间金塔塔图的构建,让这个尺度空间具有下面的性质:

1)加权平均和有限孔径效应

信号在尺度t上的表达可以看成是原信号在空间上的一系列加权平均,权重就是具有不同尺度参数的高斯核。

信号在尺度t上的表达也对应于用一个无方向性的孔径函数(特征长度为σ=tσ=t)来观测信号的结果。这时候信号中特征长度小于σσ的精细结构会被抑制[理解为一维信号上小于σσ的波动会被平滑掉。]。

2)层叠平滑

也叫高斯核族的半群(Semi-Group)性质:两个高斯核的卷积等同于另外一个不同核参数的高斯核卷积。

g(μ,σ1)g(μ,σ2)=g(μ,σ21+σ22)g(μ,σ1)∗g(μ,σ2)=g(μ,σ12+σ22)

这个性质的意思就是说不同的高斯核对图像的平滑是连续的。

3)局部极值递性

这个特征可以从人眼的视觉原理去理解,人在看一件物体时,离得越远,物体的细节看到的越少,细节特征是在减少的。

高斯核对图像进行滤波具有压制局部细节的性质。

4)尺度伸缩不变性。

这里只是一个公式推导的问题,对原来的信号加一个变换函数,对变换后的信号再进行高斯核的尺度空间生成,新的信号的极值点等特征是不变的。

Young对经生理学的研究中发现,哺乳动物的视网膜和视觉皮层的感受区域可以很好地用4阶以内的高斯微分来建模。

3.4 尺度的选择[经验之谈]

一般我们采集到的图像中,我们并不知道我们感兴趣的目标在图像中的尺度,在这样的情况下,我们对图像进行分析时就无法选择合适的参数,比如边缘检测,可能由于参数不当,而造成过多的局部细节。

如下图所示:红色圆圈内的斑点的大小(直径)比例对应着两幅图像之间尺度比例(scale ratio)。如果对两幅图像采用相同的固定尺度的LoG检测器检测,很难将这两个斑点检测出来。LoG检测器相当于一个匹配滤波器,只有当LoG的尺度与图片中斑点结构尺度相当时才会有较强的响应。如果用与左图中斑点结构相当大小尺度LoG算子,在中的大斑点的对应的LoG响应很小不能被检测出来,反之亦然。因此固定尺度的LoG斑点检测器不具有尺度不变性。使用尺度空间进行多尺度检测可以将两幅图像中不同尺度的斑点检测出来。但是由于斑点结构是在一定尺度范围之内存在的,比如用5~8尺度的LoG可能都能检测出来右边图像中的斑点结构,所以在尺度空间中进行斑点检测会有重复检测的缺点。

 image

在实际操作中,我们需要定义一个特征响应函数,在不同的尺度空间上寻找一个极值点。比如小猫的金字塔图像分析时,我们定义了一个大小为[w,h]的小猫的模板,用这个模板去与金字塔系列图像匹配,一定有匹配度最佳(即特征响应最强)。

需要注意的是,图像结构往往是在粗糙的尺度上被检测到,此时位置信息未必是最准确的,因此通常图像的尺度分析包含两个阶段:首先在粗尺度上进行特征(结构)检测,然后再在细尺度上进行精确定位。

 

参考资料:

[1] opencv教程:图像金字塔

[2] 计算机视觉——算法与应用 3.5节 金字塔与小波

[3] 现代数字图像 1.1节 图像多分辨率真金字塔

[4] OpenCV的5种图像内插方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38906523/article/details/79960294

数字图像处理9--尺度空间

《SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548 尺度空间理论 自然界中...
  • samkieth
  • samkieth
  • 2015-12-26 10:33:57
  • 6194

尺度空间(Scale space)理论

尺度空间方法的基本思想是:在视觉信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息...
  • tanxinwhu
  • tanxinwhu
  • 2011-12-07 08:53:45
  • 29522

基于尺度空间理论的Harris角点检测

  • 2013年03月27日 21:58
  • 553KB
  • 下载

尺度空间理论与图像金字塔

我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性。也就是说使用卷积就是为了提取显著特征,减少特征维数,减少计算量。在对图像进行卷积操作后的只管现象:图像变得模糊了,可是我们依然能够分辨...
  • Darlingqiang
  • Darlingqiang
  • 2018-03-06 15:55:20
  • 51

尺度空间理论和SIFI算法

  • 2011年03月02日 14:59
  • 439KB
  • 下载

使用自适应阈值和支持动态区域的曲率尺度空间角点检测(分析)

今天路过校园的草地,有管理人员在轰轰的开着机器割草,那草香扑鼻,不枉我是属兔子的,那么接下来兔发牛功:(分析步骤太细,篇幅将太大,后面部分简略,见源代码:http://download.csdn.ne...
  • beatbean
  • beatbean
  • 2013-01-01 22:09:07
  • 959

计算机视觉---2.3---尺度空间算法

尺度空间算法是计算机视觉的重要思想,无论是二维计算机视觉还是三维计算机视觉,尺度空间算法在图像配准,特征提取,运动估计方面都有很好的应用,这归功于算法的鲁棒性和对不同尺度图像的都具有很好的响应。尺度空...
  • Dluffu
  • Dluffu
  • 2015-05-25 10:54:56
  • 532

SIFT算法MATLAB实现----尺度空间构造

和大家一样,初学sift算法时的那种困惑让人身心疲惫,寝室难安;本着救广大同胞于水火之中的“大义”,从而产生啦写这篇文章的想法;哈哈。 文章不免有错误,欢迎大家批评指正,共同学习。 正文: 关于特...
  • u010795146
  • u010795146
  • 2013-05-25 21:27:46
  • 3492

计算机视觉中的曲率尺度空间技术

看到一篇文章《计算机视觉中的曲率尺度空间技术: 基本概念与理论进展》——钟宝江,对于尺度空间的理解很有帮助,遂贴部分内容在此,如果涉及侵权,请告知,我会马上删除。1 引言尺度是计算机视觉与图象处理领域...
  • lz20120808
  • lz20120808
  • 2015-10-14 11:45:54
  • 1440

关于尺度空间的理解

通常会听到尺度变化等这类词语,看到的也总是一堆的数学公式,有时候真的不知道这到底有啥用,有啥意义,没有弄懂这些意义,当然就更不可能的理解,不可能去掌握应用它了,现在我才理解,小波变化其实也是一种尺度变...
  • BigAzrael
  • BigAzrael
  • 2016-03-30 16:10:23
  • 2416
收藏助手
不良信息举报
您举报文章:图像处理---尺度空间理论
举报原因:
原因补充:

(最多只允许输入30个字)