Coursera 笔记

Module 01 · Foundations of Convolutional Neural Networks

More Edge Detection边缘检测进阶

Coursera ↗

在本视频中,我们将继续探讨卷积操作,学习如何区分 正边缘 和 负边缘,以及如何使用不同的 边缘检测器。此外,我们还将了解如何通过算法来学习边缘检测,而不是像前几次那样手动编写边缘检测器。


1. 正负边缘的区别

边缘检测回顾

在前一个视频中,我们使用了一个 6x6 图像,左侧是明亮的(10),右侧是暗的(0),并使用 垂直边缘检测滤波器 进行了卷积,成功地检测到了图像中间的垂直边缘。

颜色反转的情况

如果图像的颜色被翻转——即左侧变暗,右侧变亮,图像变为:右半部分是 10,左半部分是 0,那么卷积的结果将会发生什么呢?

  • 使用相同的 垂直边缘检测滤波器,得到的结果将是 负的 30,而不是 30。
  • 这种变化可以通过图像的反转来直观理解:因为过渡的色调发生了变化,输出的 30 也随之反转为负数 -30,这表明检测到了从暗到亮的过渡,而非从亮到暗的过渡。

重要提示:如果不在乎是正向还是反向边缘,可以直接对输出矩阵取 绝对值。但这个特定的滤波器会区分 从亮到暗 和 从暗到亮 的边缘。


2. 更多的边缘检测示例

水平边缘检测

我们之前介绍的 3x3 垂直边缘检测滤波器 不仅能检测垂直边缘,同样也可以用来检测 水平边缘。

垂直边缘与水平边缘的区别 :

  • 垂直边缘:是图像中某一 3x3 区域 左侧亮、右侧暗的过渡。
  • 水平边缘:则是图像中某一 3x3 区域 上方亮、下方暗的过渡。

例如,考虑以下更复杂的 6x6 图像,其左上和右下角的像素值为 10,其余部分为 0。

图像解释:

  • 图像的左上和右下角是较亮的区域(像素值为 10),其余部分为较暗的区域(像素值为 0)。

当我们使用 水平边缘检测器 进行卷积时,得到的结果如下所示:

  • 对于 30,它对应的是上面有亮像素、下面有暗像素的 3x3 区域,因此检测到了一个 正边缘。
  • 对于 -30,它对应的是下面有亮像素、上面有暗像素的区域,这表明检测到了一个 负边缘。

注意:由于我们使用的是较小的 6x6 图像,所以某些中间值(例如 -10)反映的是 正负边缘的混合,这就是为什么我们会看到这些过渡值。如果图像更大,比如 1000x1000,这些中间过渡值将非常小,不容易察觉。


3. 使用不同的滤波器进行边缘检测

不同的滤波器可以用于检测 垂直边缘 和 水平边缘,其中我们之前提到的 3x3 垂直边缘检测滤波器 仅仅是众多选择之一。

Sobel 滤波器 :

除了标准的 3x3 滤波器,还有其他更常见的滤波器,例如 Sobel 滤波器,其具体形式如下:

这个滤波器的优势在于它对 中心行的权重 更大一些,使得其在某些情况下更加鲁棒。

Scharr 滤波器 :

另一个常见的滤波器是 Scharr 滤波器,它的形式是:

与 Sobel 滤波器 相比,Scharr 滤波器 对边缘的响应可能更加敏感。

不同滤波器的旋转 :

  • 如果将 垂直边缘检测滤波器 旋转 90 度,就得到了 水平边缘检测。

深度学习中的自学习滤波器 :

随着 深度学习 的发展,我们发现,当需要检测图像中的边缘时,可能不需要手动选择这些九个数字(即滤波器的元素)。我们可以将这些数字视为 参数,并通过 反向传播(Backpropagation) 进行学习,从而自动优化滤波器。

通过这种方式,神经网络能够根据数据的统计特征,自动学习到最合适的滤波器,而不仅仅局限于使用 Sobel 滤波器 或 Scharr 滤波器,甚至可以学习到更适合当前数据的滤波器。

关键概念:神经网络可以学习到多种 边缘方向(例如 45 度、70 度等)以及 未曾定义的滤波器,这种能力比传统的计算机视觉方法要更加灵活和强大。


4. 卷积操作与神经网络的关系

通过将这些滤波器的数字视为 学习参数,神经网络不仅能学习到 水平边缘 和 垂直边缘,还可以学习到其他各种 不同方向 的边缘,甚至是我们之前无法定义的边缘类型。

神经网络的优势:

  • 神经网络能够在更复杂的图像中,自动学习和提取出低级特征,如 边缘,比传统的计算机视觉方法更加高效和精确。

即使是 反向传播,它也能通过卷积操作 自动学习滤波器,并在图像的各个位置进行应用,以检测目标特征。


5. 卷积的其他变种

在本视频的结尾,我们提到了一些 卷积操作 的 变种,例如 padding(填充) 和 stride(步长),这些都将是卷积神经网络中的重要组成部分。

接下来的视频内容

  • 我们将继续深入探讨 padding 和 stride 在卷积中的作用,以及它们如何影响卷积神经网络的性能。

总结

本视频中,我们深入探讨了如何使用不同的滤波器进行 边缘检测,并展示了 深度学习 如何通过 反向传播 自主学习最适合的滤波器。下一步,我们将继续学习卷积操作的其他变种,并了解它们在神经网络中的应用。