神经网络与深度学习第3周课程总结:深度学习视觉应用

课程名称:神经网络与深度学习
授课教师:屈桢深老师
周次:第3周
主题:深度学习视觉应用

在这里插入图片描述
图注:本图概括本周课程主线:从视觉数据集出发,经神经网络建模与评价指标分析,最终落到分类、检测、分割等视觉应用。

摘要

本周课程主题为“深度学习视觉应用”,内容从常用视觉数据集讲起,进一步介绍任务评价指标、目标检测与 YOLO、全卷积网络与语义分割。整体脉络是:先明确数据来源,再明确评价方式,最后进入检测和分割任务。

通过本周学习,可以认识到计算机视觉并不只是“训练一个分类器”。图像分类关注“图中是什么”,目标检测关注“目标在哪里、是什么类别”,语义分割进一步判断每个像素类别。

目录

  1. 常用视觉数据集
  2. 评价指标:Precision、Recall、AP 与 mAP
  3. 目标检测与 YOLO
  4. 全卷积网络与语义分割
  5. 本周学习收获
  6. 总结

1. 常用视觉数据集

深度学习视觉任务高度依赖数据集。课程中介绍了 MNIST、Fashion-MNIST、CIFAR-10、PASCAL VOC、MS COCO、ImageNet 和 JFT-300M,覆盖从入门分类到大规模视觉预训练的不同阶段。

在这里插入图片描述

图注:视觉任务通常遵循“数据集准备 -> 模型训练 -> 指标评价 -> 应用输出”的基本流程。

1.1 MNIST 与 Fashion-MNIST

MNIST 是经典手写数字数据集,由 0 到 9 的手写数字图片和对应标签组成,共 10 类。它包含 60000 个训练样本和 10000 个测试样本,每个样本是 28x28 像素灰度图。由于任务简单、格式统一,MNIST 常用于验证神经网络分类流程是否正确。

Fashion-MNIST 是 MNIST 的替代数据集,由 Zalando 研究部门提供,包含 10 类服装商品图片,共 70000 张。它与 MNIST 保持相同划分和图像尺寸,可在少改代码的情况下测试模型性能。课件中还展示了基于 torchvision.datasets.FashionMNISTDataLoader 的加载流程。

1.2 CIFAR-10

CIFAR-10 包含 10 类 32x32 彩色图像,共 60000 张,每类 6000 张,其中 50000 张用于训练,10000 张用于测试。与 MNIST 相比,CIFAR-10 是彩色自然图像,背景和纹理更复杂,更能体现卷积神经网络在真实图像分类中的作用。

1.3 PASCAL VOC 与 MS COCO

PASCAL VOC 是目标分类、目标检测和分割任务中的经典数据集。PASCAL 是 Pattern Analysis, Statistical Modelling and Computational Learning 的缩写,VOC 是 Visual Object Classes 的缩写。常用版本为 PASCAL VOC 2012,包含 person、动物、交通工具、家具等 20 类目标。它的重要价值还在 XML 标注文件:每张图片对应目标类别、图像尺寸、目标框位置等信息。

MS COCO 全称 Microsoft Common Objects in Context,起源于微软 2014 年标注的数据集。COCO 面向 scene understanding,包含分类、检测、分割和语义标注等任务。课件中提到,COCO 提供 80 类标注,超过 33 万张图片,其中约 20 万张有标注,目标实例数超过 150 万个。

1.4 ImageNet 与 JFT-300M

ImageNet 是大规模视觉数据集代表。课件中给出的规模包括 14,197,122 张图像、21,841 个类别,以及 1,034,908 张带标记框图像。

JFT-300M 是 Google 内部图像分类数据集,包含 3 亿张图像,产生超过 10 亿个标签。ImageNet 和 JFT-300M 说明,现代视觉模型能力不仅来自网络结构,也来自大规模、多样化数据。

数据集 主要任务 规模/类别 课程关注点
MNIST 手写数字分类 60000 训练样本、10000 测试样本、10 类 入门分类任务,验证训练流程
Fashion-MNIST 服装图像分类 70000 张、10 类、28x28 灰度图 替代 MNIST,测试分类算法泛化
CIFAR-10 自然图像分类 60000 张、10 类、32x32 彩色图 更接近真实图像分类
PASCAL VOC 分类、检测、分割 20 类目标 XML 标注、目标框、检测任务基础
MS COCO 分类、检测、分割、语义标注 80 类、33 万+图片、150 万+实例 复杂场景理解,检测与分割标杆
ImageNet 大规模分类与预训练 1400 万+图像、2 万+类别 大规模视觉识别与预训练
JFT-300M 大规模图像分类 3 亿图像、10 亿+标签 超大规模数据对模型能力的支撑

2. 评价指标:Precision、Recall、AP 与 mAP

模型训练完成后,必须用合适指标评价效果。本周课程重点介绍 TP、FP、FN、TN、Precision、Recall、Accuracy、P-R 曲线、AP 和 mAP。

指标/概念 含义 适用场景
TP 实际为正例,预测也为正例 判断模型正确命中数量
FP 实际为负例,却预测为正例 分析误报问题
FN 实际为正例,却预测为负例 分析漏检问题
TN 实际为负例,预测也为负例 分析正确排除数量
Precision TP/(TP+FP)TP/(TP+FP)TP/(TP+FP) 衡量预测为正例时有多准
Recall TP/(TP+FN)TP/(TP+FN)TP/(TP+FN) 衡量真实正例被找回多少
Accuracy (TP+TN)/(TP+FP+TN+FN)(TP+TN)/(TP+FP+TN+FN)(TP+TN)/(TP+FP+TN+FN) 衡量整体预测正确比例
AP P-R 曲线下的有效面积 衡量单类别检测/分类表现
mAP 多类别 AP 平均值 目标检测常用综合评价指标

以二分类为例:

  • TP:实际为正例,且被模型预测为正例。
  • FP:实际为负例,但被模型预测为正例。
  • FN:实际为正例,但被模型预测为负例。
  • TN:实际为负例,且被模型预测为负例。

对应指标为:

Precision=TPTP+FP Precision = \frac{TP}{TP + FP} Precision=TP+FPTP

Recall=TPTP+FN Recall = \frac{TP}{TP + FN} Recall=TP+FNTP

Accuracy=TP+TNTP+FP+TN+FN Accuracy = \frac{TP + TN}{TP + FP + TN + FN} Accuracy=TP+FP+TN+FNTP+TN

Precision 表示预测为正例的样本中有多少是真的正例;Recall 表示所有真实正例中有多少被找出来;Accuracy 表示整体预测正确比例。

课程用飞机和大雁的例子说明这些概念。如果把飞机看作正样本,飞机被识别成飞机就是 TP,大雁被误识别成飞机就是 FP,飞机漏检就是 FN,大雁没有被识别成飞机就是 TN。

模型通常会输出 confidence score。调整阈值会改变模型判定正样本的严格程度:阈值高时,Precision 可能更高,但 Recall 可能下降;阈值低时,Recall 可能提高,但 FP 可能增加。不同阈值组合可以形成 P-R 曲线。

AP 即 Average Precision,平均精度。课件中给出的形式为:

AP=∑k=1NP(k)Δr(k) AP = \sum_{k=1}^{N} P(k)\Delta r(k) AP=k=1NP(k)Δr(k)

其中,P(k) 表示识别出 k 个图片时的 Precision,\Delta r(k) 表示从 k-1k 时 Recall 的变化。AP 可理解为 P-R 曲线下的有效面积。课件例子中,Recall 没有变化的位置不会增加 AP。

在多类别任务中,每个类别都可以计算一个 AP,再对所有类别取平均,得到 mAP。mAP 是目标检测中常见核心指标,因为检测任务既要分类正确,也要定位可靠。

3. 目标检测与 YOLO

目标检测是在给定图片中找到物体位置,并标注物体类别。相比图像分类,它不仅回答“是什么”,还回答“在哪里”。

在这里插入图片描述

图注:YOLO 思想强调一次前向传播同时输出目标位置、类别和置信度。

目标检测难点来自真实场景复杂性:物体尺寸变化大,角度和姿态不固定,目标可能出现在图像任意位置,同一图片中还可能存在多个类别和多个实例。因此,检测模型输出通常需要同时包含类别、边界框和置信度。

课件给出了目标检测发展脉络:R-CNN、SPP Net、Fast R-CNN、Faster R-CNN,最终到 YOLO。YOLO 全称 You Only Look Once,将检测看作统一预测问题:模型只看一次整张图像,就同时预测类别和边界框。

从学习角度看,YOLO 不只是一个模型名称,也代表一种检测范式:把位置预测、类别预测和置信度估计整合到同一网络流程中。后续理解 YOLO 损失函数时,需要同时关注定位误差、分类误差和置信度误差。

4. 全卷积网络与语义分割

语义分割比图像分类和目标检测更细。图像分类给整张图一个类别,目标检测给目标画边界框,而语义分割要求判断图像中每个像素属于哪个类别。

在这里插入图片描述

图注:语义分割输出像素级类别结果,比目标检测边界框提供更细粒度的场景理解。

FCN,即 Fully Convolutional Network,是语义分割经典方法。传统 CNN 末端常用全连接层输出分类结果,会弱化空间位置信息;FCN 用卷积层替代全连接层,使网络能输出空间结构化结果。

课程还提到 DeepLab v3 是目前广泛使用的语义分割方法,并给出 deeplab.ipynb 演示程序。语义分割适用于道路场景理解、医学图像分析、遥感图像识别等需要精细区域判断的任务。

5. 本周学习收获

本周最大收获是建立视觉任务完整框架。数据集决定任务入口:MNIST、Fashion-MNIST、CIFAR-10 适合理解分类,PASCAL VOC 和 MS COCO 适合理解检测与分割,ImageNet 和 JFT-300M 体现大规模预训练价值。

评价指标必须匹配任务。分类任务可以关注 Accuracy,但检测任务更依赖 Precision、Recall、AP 和 mAP。mAP 综合多个类别检测效果,比单一准确率更适合目标检测。

目标检测和语义分割体现视觉任务从粗到细的发展路径:分类解决整图类别,检测解决目标位置,分割解决像素类别。

6. 总结

第2周课程以“深度学习视觉应用”为主线,系统梳理了视觉数据集、评价指标、目标检测和语义分割。通过本周学习,可以形成清晰路径:先认识 MNIST、CIFAR-10、PASCAL VOC、COCO、ImageNet 等数据集,再理解 Precision、Recall、AP、mAP 等评价方式,最后进入 YOLO 目标检测和 FCN 语义分割等应用模型。

这些内容为后续继续学习卷积神经网络、目标检测算法和语义分割模型打下基础,也帮助我们从基础图像分类逐步过渡到真实复杂视觉场景。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐