Blob 是图像中与周围区域有显著差异的局部区域,通常表现为:
-
一块明亮的区域被暗背景包围(或反之)
-
例如:远处的圆形光斑、细胞核、气泡等
“For a Blob-like Feature to be useful, we need to: Locate the blob, Determine its size, Determine its orientation, Formulate a description or signature that is independent of size and orientation.”
翻译:要让 Blob 特征变得有用,我们需要:
- 定位 Blob
- 确定它的大小
- 确定它的方向
- 构造一个与大小和方向无关的描述符。
TIP角点检测(如 Harris)对尺度变化非常敏感:图像缩放后,窗口大小固定的角点会失效。
Blob 检测通过多尺度分析,能够同时检测出 Blob 的位置和特征尺度(大小),从而实现尺度不变性。
尺度空间分析
给定一个图像 ,我们可以通过卷积高斯核来构建尺度空间:
其中 是标准差为 的二维高斯核:
其中 越大,对应的尺度越高(但不是图像放大,而是信息粗糙化)
(Normalized) Laplacian of Gaussian (LoG)
不直接使用模糊后的尺度空间图像,而是使用其归一化拉普拉斯来检测 Blob:
- 是拉普拉斯算子,计算图像的二阶导数,能够突出局部极值点。
- 是归一化因子,确保不同尺度下的响应具有可比性。
检测blob是一个求局部极大值的过程:
- 是Blob的中心位置
- 是Blob的特征尺度(可以通过 确定blob的大小)
- 是Blob的响应强度,反映了Blob的显著程度。
为什么需要 归一化?
对于二阶高斯导数,可以证明:
当滤波器尺度 与 Blob 的特征宽度(设为 )成比例时,一般是 ,此时 和尺度 的关系为:
同一个亮斑,对于LoG方法
-
如果我们用 小尺度(σ 小)去检测,响应很大;
-
用 大尺度(σ 大)去检测,响应非常小。
但我们想检测不同大小的 Blob,希望它们在自己的特征尺度上都能给出 可比较的强响应。如果响应随着 σ 增大而急剧衰减,那么大 Blob 的响应永远比不上小 Blob 的响应,我们就无法通过比较不同 σ 下的响应值来找出“哪个尺度最匹配”。
所以乘上 进行归一化后,对于与滤波器尺度匹配的 Blob,归一化后的响应幅度与 σ 无关
找到 Blob 位置和尺度的完整数学过程
-
定义尺度空间
一组离散尺度 (等比数列)。 -
计算响应函数
- 先用高斯核 对图像进行模糊,得到尺度空间图像 。
- 再对 用拉普拉斯核进行卷积,得到 。(这也可以用DoG高斯差分金字塔近似,比如sift就是用DoG来近似LoG)
- 最后乘以 进行归一化。
-
检测局部极值
- 邻域空间:对于每个像素 ,检查其在当前尺度 上的响应值 是否是其空间邻域内的最大值(通常是3x3窗口)。
- 邻域尺度:同时检查在相邻的尺度 和 上的响应值(共27个邻居),确保 也是这两个尺度上的局部最大值。
-
输出
- 位置: 对应的像素坐标
- 特征尺度:(Blob 的大小)
- 响应强度:(Blob 的显著程度)
SIFT 关键点定位
DoG 检测到的候选关键点是在离散空间中找到的极值,位置精度受限于像素网格。SIFT 通过拟合三维二次函数来获取子像素精度的位置和尺度。
对 DoG 函数 在当前候选点处做二阶泰勒展开,求导得到偏移量 。若 ,说明极值点更靠近相邻像素,需要插值移位后重新拟合,直到收敛或超出迭代次数。
拟合后还需两次筛选:
- 低对比度剔除:将 代回泰勒展开得到极值 ,若 (通常 )则认为对比度太低,剔除。
- 边缘响应剔除:DoG 在边缘处也会产生强响应,但边缘上的关键点沿边缘方向定位不准。SIFT 用 Harris 矩阵的思想——计算该点处的 Hessian 矩阵,若主曲率比值 (通常取 ),则判定为边缘响应并剔除。
SIFT 方向分配
每个关键点被赋予一个主导方向,从而使描述子具备旋转不变性。
以关键点所在尺度 的 1.5 倍为半径,取高斯加权窗口内的像素,计算每个像素的梯度幅值和方向。将方向 – 量化到 36 个柱(每柱 ),用梯度幅值加权投票,生成方向直方图。直方图的最高峰对应的方向即主方向。若有其他峰值达到主峰值的 80%,则额外为该峰创建一个关键点(同一位置、不同方向)。
SIFT 描述子(128维)
方向分配完成后,以关键点为中心取 的邻域窗口,旋转到主方向对齐(保证旋转不变)。将窗口划分为 个子区域,每个子区域内计算 8 个方向的梯度直方图(同样用高斯加权)。 个数值构成描述子向量。
最终对 128 维向量做归一化(消除光照线性变化的影响),并对大于 0.2 的幅值截断后再次归一化(抑制大梯度值的干扰,提高对非线性的光照变化的鲁棒性)。
:::tip 从 Blob 到 SIFT 的完整链条
| 步骤 | 作用 | 对应的不变性 |
|---|---|---|
| DoG 金字塔 + 3D极值检测 | 找到候选位置+特征尺度 | 尺度不变性 |
| 子像素拟合 + 低对比度/边缘剔除 | 精确定位,剔除不稳定点 | 稳定性 |
| 方向直方图 → 主方向 | 分配基准方向 | 旋转不变性 |
| 旋转对齐 + 4×4×8 直方图 | 构造唯一特征描述 | 局部几何描述 |
| 归一化 + 幅值截断 | 抑制光照影响 | 光照部分不变性 |
:::
:::tip LoG / DoG / NLoG 关系速查
- LoG :拉普拉斯算子对高斯核作用,检测 Blob。
- NLoG :乘 保证多尺度下响应可比。
- DoG :相邻高斯层差分近似 LoG,多出常数因子 不影响极值定位。
:::