高低频

高频和低频就是信号变化的频率
图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度

对于声音来说其变化是一维的,是时域信号即信号大小随着时间的变化而变化
对于图像来说其变化是二维的,是空域信号即信号随着空间坐标的变化而变化

所谓高频,是指一个信号的变化速度较快,这是一个相对概念。
在图像上来说,就是一片图像的亮度变化较多且明显;
在音频领域,是指一个震荡频率较低的声波;
在电学领域,是指可以被电感严重阻碍的交变电流。
换句话说,某一/某些事物将其某一可以量化的性质,按照时间或者不同事物有序列排列为横轴,该性质的数值为纵轴,这样所形成的图像看上去相对变化较大的,就是高频信号。低频正好相反。
空域的高频可以理解为细节信号,比如当一幅大图缩小n倍后,图像的细节就看不到了,我们就可以理解为高频信号被滤掉了,而剩下的图像部分就可理解为低频了。

图像的高低频是对图像各个位置之间强度变化的一种度量方法.

低频分量:主要对整幅图像的强度的综合度量,描述大范围的信息
高频分量:主要是对图像边缘和轮廓的度量,描述具体的细节

  • 如果一副图像的各个位置的强度大小相等,则图像只存在低频分量,从图像的频谱图上看,只有一个主峰,且位于频率为零的位置。

  • 如果一副图像的各个位置的强度变化剧烈,则图像不仅存在低频分量,同时也存在多种高频分量,从图像的频谱上看,不仅有一个主峰,同时也存在多个旁峰。

在灰度图像中,亮度变化小的区域主要是低频成分,而亮度变化剧烈的区域(比如物体的边缘)主要是高频成分。

简言之,就是图像中像素灰度值变化快的就是高频部分,变化慢的就是低频部分。

另外噪声(即噪点)也是这样,在一个像素所在的位置,之所以是噪点,就是因为它与正常的点颜色不一样了,也就是说该像素点灰度值明显不一样了,,也就是灰度有快速地变化了,所以是高频部分,因此有噪声在高频这么一说


滤波

图像其实是一种波,可以用波的算法处理图像。

这是一张 400 x 400 的图片,一共包含了 16 万个像素点。

如果把每一行所有像素(上例是400个)的红、绿、蓝的值,依次画成三条曲线,就得到了下面的图形。

可以看到,每条曲线都在不停的上下波动。有些区域的波动比较小,有些区域突然出现了大幅波动(比如 54 和 324 这两点)。

对比一下图像就能发现,曲线波动较大的地方,也是图像出现突变的地方。

这说明波动与图像是紧密关联的。图像本质上就是各种色彩波的叠加。


低通滤波

低通滤波器(lowpass):减弱或阻隔高频信号,保留低频信号

蓝线是原始的波形,绿线是低通滤波lowpass后的波形。可以看到,绿线的波动比蓝线小很多,非常平滑

高通滤波

高通滤波器(highpass):减弱或阻隔低频信号,保留高频信号

黄线是原始的波形,蓝线是高通滤波highpass后的波形。可以看到,黄线的三个波峰和两个波谷(低频波动),在蓝线上都消失了,而黄线上那些密集的小幅波动(高频波动),则是全部被蓝线保留

上图有三根曲线,黄线是高频波动,红线是低频波动。它们可以合成为一根曲线,就是绿线

上图中,绿线进行低通滤波和高通滤波后,得到两根黑色的曲线,它们的波形跟原始的黄线和红线是完全一致的

对图像进行滤波

lowpass 使得图像的高频区域变成低频,即色彩变化剧烈的区域变得平滑,也就是出现模糊效果

上图中,红线是原始的色彩曲线,蓝线是低通滤波后的曲线

highpass 正好相反,过滤了低频,只保留那些变化最快速最剧烈的区域,也就是图像里面的物体边缘,所以常用于边缘识别

红线是原始的色彩曲线,蓝线是高通滤波后的曲线

下面这个网址,可以将滤波器拖到图像上,产生过滤后的效果。


高斯滤波

高斯滤波器是一种线性平滑滤波器,能够有效的抑制噪声,平滑图像。
其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小

离散化窗口滑窗卷积的时,主要利用的是高斯核,高斯核一般是一个奇数的大小的高斯模板

一个二维的高斯函数如下:
$$G(x,y)={\frac{1}{2\pi\sigma^2}}e^{-{\frac {x^2+y^2}{2\sigma^2}}}$$

其中 \((x,y)\) 为点坐标,在图像处理中可认为是整数; \(σ\) 是标准差

标准差越小,二维高斯图像越窄小,平滑效果不明显;标准差越大,而为高斯图像越矮宽,滤波效果比较明显

要想得到一个高斯滤波器的模板,可以对高斯函数进行离散化,得到的高斯函数值作为模板的系数。

例如:要产生一个 \(3×3\) 的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示( \(x\) 轴水平向右, \(y\) 轴竖直向下)

最后得到高斯模板:

左侧是常用的3*3的高斯模板,右侧是常用的5*5高斯模板

归一化处理

为了尽可能的模拟高斯函数的相关性质,计算高斯模板的时候,计算出来的高斯模板中各个数值其和必须为1

另外一种解释是:归一化之后,通过卷积计算出来的模板中心像素被限制到了0-255的灰度区间中。假若某一邻域内所有像素的灰度值为255,利用该模板进行卷积之后,求得的模板中心像素灰度值仍然为255;假若计算出来的高斯模板参数之和小于1,那么通过该模板进行卷积之后,模板中心像素的灰度值将小于255,偏离了实际的灰度值,产生了误差。

高斯滤波性质

  高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别有用.这些性质表明,高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:

  1. 二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑.旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向
  2. 高斯函数是单值函数.这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的.这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真.
  3. 高斯函数本身这一事实的直接推论.图像常被不希望的高频信号所污染(噪声和细纹理).而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量.高斯函数付立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号
  4. 高斯滤波器宽度(决定着平滑程度)是由参数σ表征的,而且σ和平滑程度的关系是非常简单的.σ越大,高斯滤波器的频带就越宽,平滑程度就越好.通过调节平滑程度参数σ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷.
  5. 由于高斯函数的可分离性,较大尺寸的高斯滤波器可以得以有效地实现.二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积.因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长.

SIFT

图像尺度空间 高斯卷积

尺度空间表达指的是不同高斯核所平滑后的图片的不同表达

平时生活中,用人眼去看一张照片时,随着观测距离的增加,图像会逐渐变得模糊。
那么计算机在“看”一张照片时,会从不同的“尺度”去观测照片,尺度越大,图像越模糊。

“尺度空间表达”指的是不同高斯核所平滑后的图片的不同表达,
意思就是:原始照片的分辨率,和经过不同高斯核平滑后的照片的分辨率是一样的。但是,对于计算机来说,不同模糊程度,照片“看”上去的样子就不一样了。高斯核越大,图片“看”上去就越模糊。

那么,图片的模糊与找特征点有关系吗?

计算机没有主观意识去识别哪里是特征点,它能做的,只是分辨出变化率最快的点。彩色图是三通道的,不好检测突变点。需要将RGB图转换为灰度图,此时灰度图为单通道,灰度值在0~255之间分布。

高斯卷积之后,图像虽然变模糊了。但是整体的像素没有变,依然可以找到灰度值突变的点。而这些点,就可以作为候选特征点了,后期再进一步减少点的数量,提高准确率即可。


金字塔多分辨率表达——降采样

图像金字塔化:先进行图像平滑,再进行降采样,根据降采样率不同,所得到一系列尺寸逐渐减小的图像

若对一张图片进行降采样,其像素点就会减少,图片尺寸也会随之变小。那么给人的感觉就好比一个金字塔。


LOG(Laplassian of Gaussian)

前面提出的那种表达,各有各的优势:

  1. “尺度空间表达”在所有尺度上具有相同分辨率,而“图像金字塔化”在每层的表达上分辨率都会减少固定比率。
  2. “图像金字塔化”处理速度快,占用存储空间小,而“尺度空间表达”刚好相反。

那么将两者融合起来的话,就得到了LOG图像,高斯拉普拉斯变换图像

其步骤是:

  1. 先将照片降采样,得到了不同分辨率下的图像金字塔。

  2. 再对每层图像进行高斯卷积。这样一来,原本的图像金字塔每层只有一张图像,而卷积后,每层又增加了多张不同模糊程度下的照片。

然而,LOG图像还不是我们想要的,我们做那么多就是为了更好地获取特征点,所以还需要对LOG图像再进一步地优化。所以,DOG图像横空出世!!


DOG(Difference of Gaussian)

DOG即高斯差分

构造高斯差分图像的步骤是:在获得LOG图像后,用其相邻的图像进行相减,得到所有图像重新构造的金字塔就是DOG金字塔

左图是LOG图像,右图是DOG图像

1) 寻找极值点

当得到DOG金字塔后,我们接下来要做的是寻找DOG极值点。每个像素点与其周围的像素点比较,当其大于或者小于所有相邻点时,即为极值点。

以黄点为检测点,那么其周围的点,除了同层所包围的8个绿点外,还有上一层的9个点与下一层的9个点

2) 去除边缘影响

有些极值点不是我们想要的,当中就有一大部分是边缘区域产生的极值点。因为物体的边缘轮廓在灰度图中,存在着灰度值的突变,这样的点在计算中就被“误以为”是特征值

边缘区域在纵向上灰度值突变很大

我们想到了Hessian矩阵,海塞矩阵是用来求曲率的,可以以函数的二阶偏导为元素,构成一个2x2的矩阵H

3) 方向赋值

当我们精确定位关键点后,需要找到该特征点对应的尺度值 σ,根据这一尺度值,将对应的高斯图像的关键点进行有限差分,以3×1.5σ为半径的区域内图像梯度的幅角和幅值。

然后利用直方图统计领域内像素对应的梯度和幅值:梯度方向角为横轴刻度,取45度为一个单位,那么横轴就有8个刻度;纵轴是对应梯度的幅值累加值。

取幅值最高的方向为主方向。有的时候,会出现第二峰值,因为有较多的关键点是多方向的。如果直接把它忽略掉不加以考虑的话,最后对匹配精度的影响还是蛮大的。

所以,为了匹配的稳定性,我们将超过峰值能量的百分之80的方向,称为辅方向。

4) 关键点描述

到了这里,我们就已经得到赋值后的SIFT特征点了,其包含了位置,尺度,方向的信息。

接下来的要做的是:关键点的描述,即用一组向量将关键点描述出来。

  1. 确定描述子采样区域
  2. 生成描述子
  3. 生成特征匹配点
  4. 对特征向量进行归一化处理,去除光照变化的影响

图像相似性

当两幅图像的 SIFT 特征向量生成以后,下一步就可以采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。


转载与参考

  1. 图像的高频和低频
  2. 为什么说图像的低频是轮廓,高频是噪声和细节
  3. 图像与滤波 - 阮一峰
  4. 高斯滤波简介
  5. 图像处理基础(4):高斯滤波器详解
  6. SIFT特征匹配算法介绍——寻找图像特征点的原理
  7. SIFT