吴恩达深度学习课程四:计算机视觉 第一周:卷积基础知识(一)图像处理基础

此分类用于记录吴恩达深度学习课程的学习笔记。

课程相关信息链接如下:

  1. 原课程视频链接:双语字幕吴恩达深度学习deeplearning.ai
  2. github课程资料,含课件与笔记:吴恩达深度学习教学资料
  3. 课程配套练习(中英)与答案:吴恩达深度学习课后习题与答案

本篇为第四课的第一周内容,1.11.3的内容。


本周为第四课的第一周内容,这一课所有内容的中心只有一个:计算机视觉 。应用在深度学习里,就是专门用来进行图学习的模型和技术,是在之前全连接基础上的"特化",也是相关专业里的一个重要研究大类。
这一整节课都存在大量需要反复理解的内容和机器学习、数学基础。 因此我会尽可能的补足基础,用比喻和实例来演示每个部分,从而帮助理解。

本篇的内容关于计算机视觉的入门知识:数字图像处理

1. 什么是计算机视觉?

简单来说,计算机视觉(Computer Vision,CV)就是让机器"看懂世界" 。但"看懂"这件事,对人类来说像呼吸一样自然,对机器来说却非常不自然。

举个例子,我们看一张猫的照片,大脑里有成千上万条"经验规则",比如"圆圆的脑袋、尖尖耳朵、柔软身体、胡须"等等。孩子只要小时候见过几次,就大致能认出来
但机器没有这样的经验 ,它看到的只是一个庞大的网格,其中每个格子里一个数字,意味着"这里的亮度是多少"。

换句话说,对我们来说是一只猫,对计算机来说是一张堆满 0~255 的亮度数字 的大表格 。这就是计算机视觉出现的意义:把这些数字形式的图像,转换成机器能理解的"特征"

因此,计算机视觉的目标可以总结为一句话: 把图像里的内容转成能被模型理解的结构化信息。

比如判断"这是猫还是狗""有没有安全帽""道路在哪""有没有缺陷"等等。

列举一下课程中提到的几个简单的应用领域

在了解了 CV 是用来干什么的之后,那又如何实现上面所说的"让机器理解图像"呢?

答案就是 CV 最常用的操作:卷积

2. 全连接网络做错了什么?

正式引入卷积之前,我们先看看,为什么我们在 CV 不再继续使用之前的的全连接网络?

在上面我们里我们说过,图像在机器眼中,只是一张巨大无比的数字表格 。那么如果我们把这张表像之前一样直接塞给之前学过的 全连接神经网络 会发生什么?

从理论上讲,FC 确实能处理图像,但它会做两件非常"蠢"的事:

  1. 它把图像当成一堆"孤立的数字"

比如一个 224×224 的图片,全连接层会把它拉成一个 50176 维的长向量
还记得我们之前在 FC 的的实践模型的正向传播中从没强调过的第一步是什么吗? 是这个:

python 复制代码
x = self.flatten(x) # 展平

这一步是在干什么?来看看:

这就是展平的作用:为了符合 FC 的输入要求,它把多维矩阵压平成了一维向量。

但是这样就会出现一个问题:

在它眼里: "左上角的像素"和"右下角的像素"之间没有任何关系 ,就是两个数字。
但实际图像不是这样运作的。

我们用人类的直觉来打个比喻:

就像你随便画个小人,你也知道"眼睛在脸上""鼻子不会跑到耳朵底下",但对于压平后的输入,全连接网络就不会认识到这一点。
因此,总结一下就是:图像是有空间结构的,而 FC 会破坏这种结构。

  1. 全连接网络的参数量会爆炸

一个 50176 → 1024 的全连接层,那他要维护参数量就是:

\50176 \\times 1024 \\approx 5000 万 \\

这么恐怖的参数量,如果再多加几层,模型直接炸掉,硬件也跑不动

所以总结一下,全连接网络在图像任务上犯的两个核心错误就是:

  1. 把图像"拍扁"了,破坏了空间关系
  2. 参数量巨大,训练困难、容易过拟合,硬件也带不动。

如果说前一点是"脑子笨",那么后一点就是"身体差"。

为了弥补这些问题,我们需要一种"天然就擅长看图"的方法,这个方法就是卷积。

3. 数字图像处理:卷积(Convolution)

卷积是什么?一句话概括:
卷积就是用一个小窗口在图像上"滑来滑去",并在每个位置做一次加权求和。

这个"小窗口"我们称为卷积核(Filter 或 Kernel)。

你可以把它想象成一个小印章

(1)把印章盖在图像某一块

(2)图像那块区域与印章"点对点相乘再加起来 "

(3)得到一个新的像素值

(4)挪到下一格

(5)重复

最终,整张图就变成了一张"新图"。

这么说还是太抽象了,我们来做课程中的一个完整实例:边缘检测,实现下面这个效果:

我们一步步演示一下这个过程:


这就是整个卷积计算的过程和边缘检测的原理。

根据竖直边缘检测的原理,很容易就可以得出水平边缘检测的过滤器:

现在,我们只要使用这样格式的过滤器对图像进行卷积操作,就可以检测图像的边缘。

最后一部分,我们按课程内容再对过滤器进行一些拓展

4. 过滤器与卷积核

实际上,过滤器和卷积核是一个东西,只是一般用的地方不一样。
简单来说,在一些机器学习图像处理和信号处理领域,我们人工设置好,不变的"权表"叫过滤器。
而在深度学习领域,我们会通过反向传播不断更新"权表",这里我们常称为卷积核。

4. 过滤器与卷积核

上面我们已经看到,过滤器(卷积核)本质上就是一个"带着权重的印章"。

但在不同的领域,它会有两个名字:

4.1 过滤器

过滤器通常指 人工设计好的固定权重表,例如刚才做边缘检测用的竖直边缘过滤器:

\\\left\[ \\begin{array}{ccc} 1 \& 0 \& -1 \\\\ 1 \& 0 \& -1 \\\\ 1 \& 0 \& -1 \\end{array} \\right \]

它不会变,就是死的、固定的,这种称呼常用于数字图像处理和信号处理中。

除此之外,在边缘检测中,我们还有一些经过检验和优化后的经典过滤器

就像Adam相对于普通梯度下降一样,我们简单看一看:

(1) Sobel 过滤器(Sobel Filter)

Sobel 是比上面的的"简单边缘检测过滤器"更常用、更平滑的一种。它在检测边缘的同时,也对邻域进行了轻度平滑,使得检测效果更稳定。

它的竖直边缘检测过滤器为:

\G_x = \\left\[ \\begin{array}{ccc} 1 \& 0 \& -1 \\\\ 2 \& 0 \& -2 \\\\ 1 \& 0 \& -1 \\end{array} \\right \]

水平方向检测为:

\G_y = \\left\[ \\begin{array}{ccc} 1 \& 2 \& 1 \\\\ 0 \& 0 \& 0 \\\\ -1 \& -2 \& -1 \\end{array} \\right \]

你会发现它和简单过滤器相比,中间那一列成了 \(2\),这样做的效果是:
让过滤器更关注中心区域,使得边缘检测更稳定、更抗噪声。

(2) Scharr 过滤器(Scharr Filter)

Scharr 是 Sobel 的升级版,进一步增强了旋转一致性。

简单说,它比 Sobel 更"均匀",更能在各种角度下检测出稳定的边缘。

它的竖直方向过滤器:

\G_x = \\left\[ \\begin{array}{ccc} 3 \& 0 \& -3 \\\\ 10 \& 0 \& -10 \\\\ 3 \& 0 \& -3 \\end{array} \\right \]

水平方向过滤器:

\G_y = \\left\[ \\begin{array}{ccc} 3 \& 10 \& 3 \\\\ 0 \& 0 \& 0 \\\\ -3 \& -10 \& -3 \\end{array} \\right \]

你可以看到 \(10\) 这个数字的出现,它相当于加强了方向性的权重。
当你需要更精确、更抗噪声、角度更稳定的边缘检测时,用 Scharr。

最后来看看效果:

肉眼乍一看可能看不出太大的区别,但是在细微之处确实有相应的不同。

再来说说卷积核。

4.2 卷积核(Kernel)

在深度学习里,这些权值不是人工设置的,而是通过梯度下降 自动学习出来的

也就是说,每一组\(3\times 3\) 或 \(5\times 5\) 的权值,都像"模型在做作业时不断写、擦、修正笔记",最终形成了能识别物体的特征模式,在深度学习领域的卷积神经网络里,我们称之为卷积核

这一篇主要是关于图像处理的一些基本知识,之后我们再慢慢展开在深度学习中卷积网络的结构和应用等详细内容。

5.总结

概念 原理 比喻
计算机视觉(CV) 将图像从"像素表格"转换成模型能理解的结构化信息 像让一个从未见过世界的孩子学会"看懂照片"
全连接网络处理图像的缺点 ① 展平破坏空间结构 ② 参数量巨大 \(50176\times1024\) 把一张风景拆成一串数字,就像把一幅画剪碎成纸屑很难拼回去
卷积(Convolution) 用卷积核在图上滑动,做"局部加权求和",生成特征图 一个带图案的小印章不断盖在图像各处
卷积核 / 过滤器 正方形的的权值表,用来提取局部特征 换不同图案的印章,就能盖出不同风格的结果
边缘检测滤波器(基础版) 利用像 \(\[1,0,-1,1,0,-1,1,0,-1]\) 这种结构检测垂直边缘 数字版"照妖镜":亮暗对比越强,越容易显形
Sobel 过滤器 引入 \(2\) 的加权,使边缘检测更平滑、更抗噪声 "加强版照妖镜",能稳定看出对比度变化
Scharr 过滤器 引入 \(10\) 加权,旋转一致性更好,比 Sobel 更精确 角度再变,它也能稳稳抓住"哪里变亮变暗"
卷积核(深度学习版) 权重由反向传播自动学习,不再人工设计 像孩子自己总结"看到耳朵尖尖+圆脑袋=猫"的规则
相关推荐
hai31524754317 小时前
一种通过空间几何转换进行软件编程计算的方式与现有计算的对比
人工智能·深度学习·数学建模·硬件架构·几何学·图论·拓扑学
硅谷秋水17 小时前
HARBOR:一个面向具身智体机器人强化学习的驾驭框架
人工智能·深度学习·机器学习·机器人
pythonpioneer18 小时前
PyTorch3D:基于 PyTorch 的高效 3D 深度学习工具库
pytorch·深度学习·其他·3d
顾北顾18 小时前
多头注意力机制
人工智能·深度学习·算法
大江东去浪淘尽千古风流人物19 小时前
【PromptStereo】零样本立体匹配新范式:用结构与运动Prompt驱动迭代优化(CVPR 2026)
深度学习·3d·slam·视觉定位·dust3r·3d重建·mast3r
Rocky Ding*19 小时前
Latent Consistency Models:一篇读懂扩散模型的少步生成核心基础知识
人工智能·深度学习·机器学习·ai作画·stable diffusion·aigc·ai-native
陈猪的杰咪20 小时前
GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
人工智能·ai·架构·github·copilot
学术头条20 小时前
清华团队开源SCAIL-2:角色动画告别骨骼依赖,端到端还原视频中动作细节
人工智能·科技·机器学习·ai·开源·音视频·agi
华如锦20 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai