神经网络与深度学习 第3周课程总结
深度学习视觉应用课程总结
一、常用计算机视觉数据集
| 数据集名称 | 发布方/年份 | 规模 | 图像规格 | 类别数 | 主要用途 | 核心特点 |
|---|---|---|---|---|---|---|
| MNIST | 美国国家标准与技术研究院 | 60k训练+10k测试 | 28×28灰度图 | 10类(0-9手写数字) | 入门级图像分类 | 最经典的手写数字识别基准数据集 |
| Fashion-MNIST | Zalando(2017) | 60k训练+10k测试 | 28×28灰度图 | 10类(服装商品) | 图像分类算法测试 | MNIST的直接替代品,无需修改代码即可使用 |
| CIFAR-10 | 加拿大高级研究所 | 50k训练+10k测试 | 32×32彩色图 | 10类(飞机、汽车等) | 彩色图像分类 | 分为5个训练批次和1个测试批次,每类样本均衡 |
| PASCAL VOC 2012 | 欧盟PASCAL项目 | 11540张图像,27450个标注对象 | 彩色JPEG图 | 20类(人、动物、交通工具等) | 目标检测、语义分割 | 目标检测领域的经典基准,提供XML格式标注 |
| MS COCO | 微软(2014) | >33万张图,20万张有标注,>150万个个体 | 彩色图 | 80类(日常场景物体) | 目标检测、实例分割、场景理解 | ImageNet竞赛停办后最权威的目标检测基准 |
| ImageNet | 李飞飞团队(2009) | 1419万张图,103万张有标注框 | 彩色图 | 21841类 | 大规模图像分类、预训练 | 推动了深度学习在计算机视觉领域的爆发 |
| JFT-300M | Google(内部) | 3亿张图,>10亿个标签 | 彩色图 | 多标签 | 超大规模图像分类预训练 | 标签精度高,用于训练顶级图像分类模型 |
二、视觉任务核心评价指标
2.1 混淆矩阵
混淆矩阵是评估分类模型性能的基础工具,展示了模型预测结果与真实标签之间的对应关系。
| 预测值=正例 | 预测值=负例 | |
|---|---|---|
| 真实值=正例 | TP(真正例) | FN(假负例) |
| 真实值=负例 | FP(假正例) | TN(真负例) |
TP:真正例(true positive),即真实结果和预测结果都是正例。
FP:假正例(false positive),即真实结果是反例,预测结果是正例。
TN:真反例(true negative),即真实结果和预测结果都是反例。
FN:假反例(false negative),即真实结果是正例,预测结果是反例。
2.2 基础指标定义
| 指标名称 | 计算公式 | 物理意义 | 特点 |
|---|---|---|---|
| 查准率(Precision) | P=TPTP+FPP = \frac{TP}{TP+FP}P=TP+FPTP | 预测为正的样本中真正正样本的比例 | 衡量模型"不把负样本判为正样本"的能力,值越高越"挑剔" |
| 查全率(Recall) | R=TPTP+FNR = \frac{TP}{TP+FN}R=TP+FNTP | 所有真正正样本中被正确识别的比例 | 衡量模型"不漏掉正样本"的能力,值越高越"全面" |
| 准确率(Accuracy) | Accuracy=TP+TNTP+FP+TN+FNAccuracy = \frac{TP+TN}{TP+FP+TN+FN}Accuracy=TP+FP+TN+FNTP+TN | 整体预测正确的样本比例 | 适用于样本均衡的情况,样本不均衡时会产生误导 |
2.3 进阶指标
精确率和召回率之间存在天然的权衡关系:提高阈值会增加精确率但降低召回率,降低阈值则相反。P-R曲线直观地展示了这种权衡关系。
P-R曲线评价原则
(1) 若一个学习模型的P-R曲线完全包住了另一个学习模型的P-R曲线,则前者的性能优于后者。即召回率相同的情况下,查准率越高模型的泛化性能越好。简而言之,曲线越向右上模型越好。
(2) 若两个学习模型的P-R曲线互相交叉,则可通过"平衡点"(Break-Event Point,简称BEP)来评价模型的优劣,BEP是"查准率=查全率"的数值。
F1分数
F1=2PRP+RF1 = \frac{2PR}{P+R}F1=P+R2PR
F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的查准率和查全率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0。由于BEP过于简化,更常用的是F1度量,F1越大,性能越好。
平均精度(AP)与平均平均精度(mAP)
平均精度(AP):P-R曲线下的面积,综合衡量单个类别的检测性能
AP=∑k=1NP(k)Δr(k)AP = \sum_{k=1}^{N} P(k) \Delta r(k)AP=k=1∑NP(k)Δr(k)
其中P(k)P(k)P(k)是识别出k个图片时的精确率,Δr(k)\Delta r(k)Δr(k)是召回率从k-1到k的变化量平均平均精度(mAP):多类别检测任务中,所有类别AP的平均值,是目标检测任务最常用的综合评价指标
三、目标检测与YOLO
3.1 目标检测定义、痛点、传统求解思路的瓶颈
任务定义:在给定图片中同时解决两个问题:
- “是什么”:识别图像中物体的类别
- “在哪里”:用边界框精确标注物体的位置
核心痛点:
- 物体尺寸变化范围大
- 物体摆放角度和姿态不定
- 物体可出现在图片任何位置
- 一张图片可能包含多个不同类别的物体
传统求解思路的瓶颈:
- 滑动窗口法:在图像上滑动不同大小的窗口,对每个窗口进行分类,计算量巨大
- 手工特征提取:依赖人工设计的特征(如SIFT、HOG),表达能力有限,泛化性差
3.2 技术发展(两阶段)
目标检测技术经历了从两阶段到单阶段的发展过程:
- R-CNN(2014):首次将深度学习引入目标检测,使用选择性搜索生成候选区域,然后对每个区域进行分类
- SPP-NET(2014):引入空间金字塔池化层,解决了R-CNN中需要将候选区域裁剪到固定大小的问题
- Fast R-CNN(2015):将特征提取和分类整合到一个网络中,大幅提高了检测速度
- Faster R-CNN(2015):用区域建议网络(RPN)替代选择性搜索,实现了端到端的训练,成为两阶段检测的经典框架
3.3 YOLO核心(单阶段)
- 全称:You Only Look Once
- 优势:检测速度极快,适合实时应用;端到端训练,结构简单;能学习到更通用的图像特征
- 核心思想:与两阶段方法不同,将目标检测转化为回归问题,通过一次前向传播同时预测多个边界框和类别概率
- 网格化预测:输入图像被划分为S×SS \times SS×S的网格,若目标的中心落在某个网格内,该网格就负责预测该目标。
- 张量输出:每个网格预测BBB个边界框及置信度,以及CCC个类别概率,最终输出尺寸为S×S×(B×5+C)S \times S \times (B \times 5 + C)S×S×(B×5+C)的张量。
- 损失函数解构:YOLO的损失函数综合了边界框坐标误差(均方误差)、置信度误差以及分类误差。为了平衡大小目标的定位偏差,YOLO对宽高求平方根后再计算误差。YOLO极大地提升了推理速度,奠定了其在实时工程任务中的统治地位。
四、全卷积网络与语义分割
4.1 语义分割与实例分割
- 语义分割:对图像中的每个像素进行分类,将图像划分为不同的语义区域,同一类别的像素被标记为相同的标签
- 实例分割:在语义分割的基础上,进一步区分同一类别的不同个体
4.2 核心方法对比
| 方法 | 提出时间 | 核心思想 | 主要特点 | 适用场景 |
|---|---|---|---|---|
| FCN(全卷积网络) | 2015年 | 将传统CNN中的全连接层替换为卷积层,实现端到端的像素级预测 | 语义分割领域的开创性工作,首次实现了任意尺寸图像的输入输出 | 入门级语义分割任务,教学演示 |
| DeepLab v3 | 2017年 | 引入空洞卷积和空间金字塔池化(ASPP),多尺度捕捉上下文信息 | 精度高,鲁棒性强,是目前工业界广泛使用的语义分割方法 | 高精度语义分割需求,自动驾驶、医学影像等 |
五、总结
5.1 逻辑脉络
深度学习视觉应用 ├── 数据基础:常用计算机视觉数据集 │ ├── 入门级:MNIST、Fashion-MNIST、CIFAR-10 │ ├── 经典基准:PASCAL VOC、MS COCO │ └── 大规模预训练:ImageNet、JFT-300M ├── 评价体系:视觉任务核心评价指标 │ ├── 基础:混淆矩阵、精确率、召回率、准确率 │ └── 进阶:P-R曲线、AP、mAP ├── 目标检测:从两阶段到单阶段 │ ├── 任务定义与痛点 │ ├── 两阶段发展:R-CNN → SPP-NET → Fast R-CNN → Faster R-CNN │ └── 单阶段代表:YOLO └── 语义分割:像素级图像理解 ├── 任务定义:语义分割 vs 实例分割 └── 核心方法:FCN(经典) vs DeepLab v3(主流)5.2 总结
数据是基础:不同规模和类型的数据集为不同视觉任务提供了训练和评估的基准,从简单的手写数字识别到复杂的场景理解,数据集的发展推动了算法的进步。
评价是标尺:精确率、召回率、AP、mAP等指标构成了客观评估视觉算法性能的标准体系,帮助研究者和工程师量化模型效果并进行改进。
算法是核心:
- 目标检测从两阶段的R-CNN系列发展到单阶段的YOLO,实现了速度和精度的平衡,满足了实时应用的需求
- 语义分割从FCN的开创性工作发展到DeepLab v3的成熟应用,实现了像素级的图像理解
