CS131专题-6:图像特征(Blob检测、LoG算子、Harris-Laplacian)

 本专题介绍的技术应用已不广,但是这些有利于理解SIFT算法的原理,也有助于感悟CV传统技术的发展变迁,以及解决问题的思路。

速记要点:

blob是什么:blob是描述图像中局部区域的平均像素强度的特征。而图像中局部的平均像素强度具有尺度不变性。blob特征画在图像上就是个圆。

blob特征有什么性质:具备光强强度、旋转不变性,但是不具备尺度和仿射不变性。

blob检测的大概流程:用不同尺度的拉普拉斯核(需要归一化),对原图上每个像素点做卷积,如果某个结果有邻域内最大值,则这个像素点位置,就有个根号2乘以该拉普拉斯核σ尺寸的blob圆。

如果忘记原理细节,可看下面的详细版(语言和章节没有过仔细整理)

目录

速记要点:

1 问题的引发

2 Blob块检测

2.1 高斯一阶导能求边缘图

2.2 高斯二阶导(拉普拉斯核:Laplacian of Gaussian)也能求边缘

2.3 高斯二阶导(拉普拉斯核:LoG)和信号进行卷积的特性

2.4 拉普拉斯核与圆做卷积的情况

2.5 Blob块的特征尺度是什么

2.6 实际上怎么判定一个Blob

2.7 Blob检测效果

2.8 Blob检测流程

2.9 Blob检测的缺点和改进(Harris角点+拉普拉斯)


1 问题的引发

上次介绍了Harris 角点检测,虽然对于光照强度旋转改变具有较好的检测不变性,但是却不具有尺度不变性和仿射不变性。

本专题介绍拥有对光照强度、旋转、尺度有较好检测不变性的特征:Blob

下图是使用不同焦长拍摄的两张图片,我们希望找到某种特征提取器,能够实现下面这种两张不同尺度图片中找到相同的内容:

2 Blob块检测

blob块是描述图像中局部区域的平均像素强度的特征。而图像中局部的平均像素强度具有尺度不变性。下面讲解Blob检测的整个来龙去脉和原理。

2.1 高斯一阶导能求边缘图

前面专题我们讲过图像边缘检测原理,如下图:

忘了的可看下面解释:

  • 通常边缘检测流程是:高斯核对图像进行平滑去噪,然后对去噪后图像进行求导,从而得到原图的边缘图。
  • 但是为了减少计算量,根据卷积性质,可以先对高斯求一阶导,然后把它和图像进行卷积,也能得到整个图像的边缘图。上图中第3行图像中波峰位置就是边缘。

高斯核的一阶导(x方向偏导、y方向偏导)模样可视化如下:

2.2 高斯二阶导(拉普拉斯核:Laplacian of Gaussian)也能求边缘

高斯二阶导同样也能用来求边缘,下图第3行图中上下两个波峰的中间位置即为边缘位置。

高斯二阶导(拉普拉斯核:LoG)可视化如下图所示:

σ=1.4时的离散拉普拉斯核如下:

2.3 高斯二阶导(拉普拉斯核:LoG)和信号进行卷积的特性

如上图所示,第一列是信号,它们有不同的宽度(也就是不同尺度),第2列是用σ=1的拉普拉斯核和信号进行卷积的结果。

分析4种情况会发现,当信号尺度和拉普拉斯核尺度一致时,结果会出现一个绝对值最大的波谷。(要记住:高斯核或拉普拉斯核只要确定了σ值,那么核宽度其实也就确定了。)

真实情况是我们不知道信号(图像)情况,所以需要用不同σ值拉普拉斯核去试。

但直接用不同σ值的拉普拉斯核去和信号做卷积,随着σ值逐渐变大,卷积的结果会逐渐衰减,如下是取不同σ值时的卷积结果:

为什么信号会被衰减?原因如下:

下图是高斯核一阶导和红粗线信号的卷积示意图,卷积结果卷积结果就是高斯核一阶导函数曲线小的面积。当σ变大,面积即能量会变小。

所以,要确保随着σ变大后,信号不被衰减,如果是高斯核一阶导,就要乘以一个σ值,做个尺度归一化,使得能量不被衰减;如果是高斯核二阶导(拉普拉斯核),就要乘以σ^2。

这么做后,使用拉普拉斯核卷积结果变成如下:

如上图,会发现σ=8时,信号和拉普拉斯核会有一个绝对值极大值点。

2.4 拉普拉斯核与圆做卷积的情况

如上图,假设有个上图左边这样的图像,中心区有个黑色的圆(像素值为0),四周是白色(像素值为255),如果用拉普拉斯核在该图像的中心位置对该图像做卷积,根据拉普拉斯核尺度与圆的直径尺度关系不同,会有3种情况,如下:

  • 上图红色线条是拉普拉斯核的一个切面曲线,根据拉普拉斯核定义,它中心区的元素值是小于0的,中心区外围一段区域的元素值是大于0的。
  • 黑色线条是上面那个image图像的切面表示,把那张图像想象成3D,黑色的圆区域内像素值全为0,圆之外区域像素都为255。

如上图,只有圆的直径刚好和拉普拉斯核的零值区间宽度一致时,卷积结果(累加求和)才会是最大的。

所以,只要拉普拉斯核的零值区间宽度刚好和图像中圆的宽度一致,也即拉普拉斯核的零值区间宽度所形成的圆和图像中圆刚好重合,那么这个尺度的拉普拉斯核就能和图像中这个圆有最大值响应。

拉普拉斯核的简化常量参数后的公式如下:

上述拉普拉斯核公式=0时,刚好就是拉普拉斯核的零值元素所形成的那个圆。上述公式=0也即e前面的计算结果要为0,如果要让拉普拉斯核零值元素所形成的圆刚好和图像中圆重合,那么只要σ取下面这个值就行:

2.5 Blob块的特征尺度是什么

我们将Blob的特征尺度定义为在Blob中心产生拉普拉斯响应峰值的尺度。

2.6 实际上怎么判定一个Blob

预设一批待取的σ值,遍历图像中每一个像素点,在每个像素点上用不同σ的拉普拉斯核进行卷积,每3个临近的σ值的拉普拉斯核卷积结果作为1个判定组,如下图示例:

假设对图像中某像素点位置做3个不同σ值的拉普拉斯核卷积,结果如上,如果上图中黑色'x'位置处的像素点,即σ=1.5时的拉普拉斯卷积,如果这个位置响应结果值比图中其他26个位置或情况下的响应结果都大,那么这个像素点位置,就有一个Blob特征,尺度可以根据此处σ=1.5的拉普拉斯核求得。

简单说就上述归纳为两句话:

  1. 找到不同σ尺度下最大响应。
  2. 要做非极大值抑制。(不然只满足第一条,有时候临近像素点位置都会判定为有Blob)

注意:即便满足上述两条规则,同一个像素点位置,可能会有、也可以有不同尺度的Blob,这是合理的。

2.7 Blob检测效果

2.8 Blob检测流程

    1)使用不同尺度Gassian函数的归一化二阶梯度分别于图像卷积;

    2)合并不同尺度下卷积图像形成三维图像;

    3)在三维图像中寻找局部极大值,该极大值即为检测到的Blob块 。

2.9 Blob检测的缺点和改进(Harris角点+拉普拉斯)

很显然,运算量非常大!需要用不同尺度的拉普拉斯核对图像做卷积,σ越大,计算量也越大,计算很慢。

一个改进的方法是:先检测图像中的Harris角点,然后去判定这些角点附近在不同尺度空间是否有拉普拉斯特性。这种方法源自:K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001

比较好的参考:

Blob检测 - luofeiju - 博客园

区域检测——Blob检测 - Moonx5 - 博客园

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值