
视频元信息
- 所属课程:吴恩达深度学习专项课程(Deep Learning Specialization)—— 卷积神经网络(CNN)第一周
- 本集标题:三维卷积(Convolutions Over Volumes)
- 视频时长:约 10 分 41 秒
- 核心主题:从二维灰度图像卷积扩展到三维多通道(RGB)卷积,以及多滤波器同时使用的机制与维度推导
内容摘要(TL;DR)
本视频讲解三维卷积的核心原理:当输入从 6×6 灰度图扩展到 6×6×3 的 RGB 图像时,滤波器也需变为 3×3×3,通道数必须匹配。通过 27 次逐元素相乘求和得到输出,最终输出为 4×4。进一步引入多滤波器机制,用两个滤波器同时检测垂直和水平边缘,输出堆叠为 4×4×2 体积。最后给出通用维度公式:输入 N×N×Nc 与 F×F×Nc 滤波器卷积,输出为 (N-F+1)×(N-F+1)×Nc'。
一、从二维到三维:RGB 图像卷积的动机 [00:01]
1.1 为什么需要三维卷积
前面课程处理的都是灰度图像(二维),但真实世界的图像大多是彩色的。彩色图像具有 RGB 三个颜色通道,因此数据结构从二维矩阵变成了三维体积(volume)。
- 灰度图像:6×6,仅一个通道
- RGB 图像:6×6×3,三个通道分别对应红(Red)、绿(Green)、蓝(Blue)
可以把这个 6×6×3 的图像想象成 3 张 6×6 的图片堆叠在一起,每一层代表一个颜色通道的强度值。
1.2 滤波器也要升维
- 之前检测边缘用的是 3×3 的二维滤波器
- 现在需要 3×3×3 的三维滤波器,其第三个维度同样对应 RGB 三个通道
考点:通道数必须匹配
- 图像的通道数(3)必须等于滤波器的通道数(3)
- 即:
图像的 Nc = 滤波器的 Nc
理解:这就像是用一把"三色钥匙"去开"三色锁",每个颜色通道都要有对应的权重才能正确提取特征。
1.3 输出维度的变化
- 输入:6×6×3
- 滤波器:3×3×3
- 输出:4×4(注意:不再是 4×4×3,而是 4×4×1)
易错点:三维卷积的输出通道数不再是输入的通道数,而是由滤波器的个数决定。单个滤波器卷积后输出仍是单通道(4×4),这一点非常关键,直接影响后续对多滤波器输出的理解。
二、三维卷积的具体计算过程 [01:54]
2.1 计算步骤详解
以 6×6×3 图像与 3×3×3 滤波器为例:
- 将 3×3×3 滤波器放到图像左上角位置
- 滤波器共有 27 个参数(3×3×3 = 27)
- 将这 27 个参数与图像中对应位置的 27 个像素值逐元素相乘
- 将 27 个乘积求和,得到输出的第一个数值
- 将滤波器向右滑动 1 格,重复上述操作,得到第二个输出
- 继续滑动直到覆盖整行,然后下移一行,重复整个过程
- 最终得到 4×4 的输出
推导:输出尺寸 = (6 - 3 + 1) × (6 - 3 + 1) = 4 × 4,与二维卷积公式一致,因为通道维度在计算中被"压缩"了。
2.2 用立方体简化表示
为简化绘图,吴恩达老师将 3×3×3 滤波器画成一个三维立方体,而不是画成 3 层矩阵堆叠。这种可视化方式在后续讲解中会反复使用。
计算时,滤波器这个"立方体"在图像这个"大立方体"上滑动,每次覆盖 27 个数字,做 27 次乘法和 1 次求和。
三、三维滤波器的实际应用:检测特定颜色的边缘 [04:06]
3.1 只检测红色通道的垂直边缘
如果只想检测红色通道中的垂直边缘,可以这样设置滤波器:
- 红色通道:设置为垂直边缘检测器(如 1,1,1 / 0,0,0 / -1,-1,-1)
- 绿色通道:全部设为 0
- 蓝色通道:全部设为 0
理解:绿色和蓝色通道的权重为 0,意味着它们对输出没有任何贡献,相当于"屏蔽"了这两个通道。
3.2 检测任意颜色的垂直边缘
如果不在乎边缘是什么颜色,希望检测所有通道的垂直边缘:
- 红色通道:垂直边缘检测器
- 绿色通道:垂直边缘检测器
- 蓝色通道:垂直边缘检测器
即三个通道使用相同的边缘检测参数。
3.3 不同参数带来不同特征检测器
通过调整这 27 个参数的不同取值,可以得到各种不同的特征检测器:
- 垂直边缘检测器
- 水平边缘检测器
- 其他任意方向或任意颜色组合的特征检测器
考点:计算机视觉的约定
- 输入:高度 × 宽度 × 通道数
- 滤波器:高度 × 宽度 × 相同的通道数
- 滤波器的通道数必须与输入的通道数一致
四、多滤波器同时使用:卷积神经网络的关键 [06:05]
4.1 为什么需要多个滤波器
实际应用中,我们往往需要同时检测多种特征:
- 垂直边缘
- 水平边缘
- 45 度边缘
- 70 度边缘
- 以及其他各种特征
核心问题:如何同时使用多个滤波器?
4.2 双滤波器工作流程
以两个滤波器为例:
-
第一个滤波器(3×3×3):检测垂直边缘
- 与 6×6×3 输入卷积 → 输出 4×4×1
-
第二个滤波器(3×3×3):检测水平边缘
- 与 6×6×3 输入卷积 → 输出另一个 4×4×1
-
堆叠两个输出:
- 将第一个 4×4 放在前面
- 将第二个 4×4 放在后面
- 最终得到 4×4×2 的输出体积
理解:这里的"2"代表使用了 2 个不同的滤波器,即检测了 2 种不同的特征。每个滤波器产生一个通道的输出,多个滤波器就产生多个通道。
4.3 输出体积的直观理解
- 输入:6×6×3 的图像
- 滤波器:2 个 3×3×3 的滤波器
- 输出:4×4×2 的体积
易错点:很多人会误以为输出通道数等于输入通道数(3),但实际上输出通道数等于滤波器的个数。这是理解 CNN 层级结构的关键。
五、通用维度公式总结 [08:06]
5.1 标准公式
假设:
- 输入图像:N × N × Nc(Nc 为通道数)
- 滤波器:F × F × Nc(通道数必须相同)
- 使用 Nc' 个滤波器(即下一层的通道数)
则输出为:
(N - F + 1)×(N - F + 1)× Nc'
5.2 案例验证
| 参数 | 值 |
|---|---|
| 输入 | 6 × 6 × 3 |
| 滤波器 | 3 × 3 × 3 |
| 滤波器个数 | 2 |
| 输出 | (6-3+1) × (6-3+1) × 2 = 4 × 4 × 2 |
5.3 关于步长和填充
上述公式假设:
- 步长(stride)= 1
- 无填充(no padding)
如果使用不同的步长或填充,则 N - F + 1 部分会按照前面课程讲过的方式相应调整。
推导:带步长 s 和填充 p 的通用公式为:输出尺寸 = ⌊(N + 2p - F) / s⌋ + 1。
六、三维卷积的强大之处 [09:26]
6.1 直接处理 RGB 图像
- 可以直接在 3 通道的 RGB 图像上操作,无需手动转换
6.2 检测任意数量的特征(更重要)
- 可以检测 2 个特征(如垂直和水平边缘)
- 可以检测 10 个特征
- 可以检测 128 个特征
- 甚至可以检测数百个不同的特征
输出通道数 = 检测的特征数量
思考:这正是 CNN 强大的原因——每一层都可以学习检测多种不同的特征,随着层数加深,特征从简单边缘逐渐组合成复杂纹理和物体部件。
6.3 术语说明:通道 vs 深度
- 文献中常把三维体积的最后一个维度称为 "深度"(depth)
- 吴恩达老师选择使用 "通道"(channels) 这一术语
原因:
- "深度"容易与神经网络的"深度"(层数)混淆
- "通道"更准确地描述了这个维度的含义
注意:在阅读其他文献或论文时,看到 "depth" 可能指的是通道数(如 "depth of the volume"),也可能指的是网络层数,需要结合上下文判断。
七、本集总结与下集预告 [10:31]
7.1 核心知识点回顾
- RGB 图像是三维体积(6×6×3),滤波器也需是三维(3×3×3)
- 图像通道数必须等于滤波器通道数
- 单个滤波器卷积输出为二维(4×4),通道被压缩
- 多个滤波器产生多个输出通道,堆叠成三维体积(4×4×2)
- 通用公式:N×N×Nc 与 F×F×Nc 卷积,用 Nc' 个滤波器 → (N-F+1)×(N-F+1)×Nc'
7.2 下集预告
现在你已经掌握了在体积上进行卷积的方法,接下来就可以实现卷积神经网络的一层了。下一视频将讲解如何构建一个完整的卷积层。
关键标签 / 关键词
三维卷积 Convolutions Over Volumes RGB图像 多通道卷积 滤波器 Filter 通道数 Channels 深度 Depth 特征检测器 边缘检测 垂直边缘 水平边缘 多滤波器 输出体积 维度公式 吴恩达 深度学习 CNN 卷积神经网络 计算机视觉 Nc Stride Padding
学习建议:本集是理解 CNN 层级结构的基础,重点掌握"输出通道数 = 滤波器个数"这一核心概念。建议配合课后编程作业,亲手实现三维卷积的代码,加深对维度变换的理解。
生成时间:2026-10-10 22:50:35 生成平台:VideoNote www.xygy.top