1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c
2.详细笔记网站(中文):http://www.ai-start.com/dl2017/
3.github课件+作业+答案:https://github.com/stormstone/deeplearning.ai
1.2 边缘检测示例 Edge detection example
卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例。本节课中,你会看到卷积是如何进行运算的。
在之前的课程中,我说过NN的前几层是如何检测边缘的,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体,这个例子中就是人脸。在这个本节课中,你会看到如何在一张图片中进行边缘检测。
我们来看下面的例子。
给了上面这样一张图片,让电脑去搞清楚这张照片里有什么物体,你可能做的第一件事是检测图片中的垂直边缘vertical edges。比如说,在这张图片中的栏杆就对应垂直线,与此同时,行人的轮廓线某种程度上也是垂线,这些线是垂直边缘检测器的输出。
同样,你可能也想检测水平边缘horizontal edges,比如说图中的栏杆就是很明显的水平线,它们也能被检测到。
如何在图像中检测这些边缘
那么如何在图像中检测这些边缘?
看一个例子。
如上图,这是一个6×6的灰度图像。因为是灰度图像,所以它是6×6×1的矩阵,而不是6×6×3的,因为没有RGB三通道。
为了检测图像中的垂直边缘,你可以构造一个3×3矩阵,在CNN的术语中,它被称为过滤器。我要构造一个3×3的过滤器,像这样 [ 1 0 − 1 1 0 − 1 1 0 − 1 ] \begin{bmatrix} 1 & 0 & -1 \\ 1 & 0 & -1 \\ 1 & 0 & -1 \\\end{bmatrix} ⎣⎡111000<