0%

滤波器的意义

自动摘要: 什么是滤波器 滤波器是一个矩阵,大小为m*n它是用来检测图像中特定的特征的,不同的滤波器有不同的参数。 我们知道图像在计算机中的数字信号其实是MN3大小的矩阵,假设我们只考虑图像的 ……..

什么是滤波器

滤波器是一个矩阵,大小为m*n它是用来检测图像中特定的特征的,不同的滤波器有不同的参数。

我们知道图像在计算机中的数字信号其实是MN3大小的矩阵,假设我们只考虑图像的灰度,不考虑RGB,那么图像的大小为MN。某一个滤波器对图像进行滤波时,就是将滤波器分别与图像的同大小区域进行点乘,每次滤波器依次从左往右从上往下滑过该图像所有的区域,让该滤波器对图像的某一个与滤波器尺寸同大小的图像区域(mn)进行点乘,点乘后各个乘积求和得到新的过滤后的图像,这种图像某一部分与滤波器点乘后求和操作就是以后的卷积神经网络中的卷积操作,这样就得到了经过滤波器过滤后的图像。

  • 不同的滤波器可以检测图像的不同特征,举个例子,假设现在我有一个滤波器用来检测特定弧度,大小为7*7。

  • 现在我有一个老鼠的图像(只考虑灰度,所以只有一层),现在我们用该滤波器对这只老鼠的图像进行过滤,依次将过滤器滑过原始图像的某一个区域,并与该区域原始像素值进行点乘。现在假设我们将滤波器滑到了老鼠图像的左上角,如图所示:

  • 过滤器会与该原始图像对应区域进行点乘后求和,如图所示:

    • 我们发现,该区域本身存在一个弧度,且弯曲程度和过滤器的弯曲程度很相似,所以图像的该区域像素与过滤器矩阵点乘求和后得到的数值很高。
  • 我们继续将过滤器移动到另外一个地方,靠近老鼠耳朵的地方,这时候我们发现该老鼠耳朵区域与该滤波器用来检测的弧度很不相似,我们看看将用滤波器过滤该区域会发生什么,如图所示:

  • 我们发现,检测弧度的滤波器再与老鼠耳朵这个区域的像素进行点乘后求和所得到的值为0。也就是说该区域与滤波器没有对应关系。

  • 我们对整个原图进行一次卷积,得到的结果中,在那个特定曲线和周边区域,值就很高,在其他区域,值相对低。这就是一张激活图。对应的高值区域就是我们所要检测曲线的位置

  • 所以我们发现滤波器过滤图像时,会与图像每个等大的区域进行点乘,如果图像的某一区域与过滤器检测的特征很相似,那么当过滤器经过该区域时,就会激活该过滤器,得到一个很高的值,反之,如果图像的某一区域与过滤器检测的特征很不相似时,就不会激活该过滤器或者得到的数值很低。

  • 由此我们发现,图像的过滤器在对整个图像滑动过滤时,每经过图像一个区域得到的值越高,则该区域与滤波器检测的特定特征相关度越高。这里与视觉细胞的工作原理很类似,简单的细胞对特定方向具有强烈感应,对不是它们偏好的方向没有什么反应。这里的滤波器其实就充当了视觉细胞中简单细胞的角色。

  • 一些检测特定特征的滤波器很容易想到,比如水平滤波器,垂直滤波器等。

欢迎关注我的其它发布渠道