深度学习视觉应用课程总结

一、常用计算机视觉数据集

数据集名称 发布方/年份 规模 图像规格 类别数 主要用途 核心特点
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=1NP(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 目标检测定义、痛点、传统求解思路的瓶颈

  • 任务定义:在给定图片中同时解决两个问题:

    1. “是什么”:识别图像中物体的类别
    2. “在哪里”:用边界框精确标注物体的位置
  • 核心痛点

    • 物体尺寸变化范围大
    • 物体摆放角度和姿态不定
    • 物体可出现在图片任何位置
    • 一张图片可能包含多个不同类别的物体
  • 传统求解思路的瓶颈

    • 滑动窗口法:在图像上滑动不同大小的窗口,对每个窗口进行分类,计算量巨大
    • 手工特征提取:依赖人工设计的特征(如SIFT、HOG),表达能力有限,泛化性差

3.2 技术发展(两阶段)

目标检测技术经历了从两阶段到单阶段的发展过程:

  1. R-CNN(2014):首次将深度学习引入目标检测,使用选择性搜索生成候选区域,然后对每个区域进行分类
  2. SPP-NET(2014):引入空间金字塔池化层,解决了R-CNN中需要将候选区域裁剪到固定大小的问题
  3. Fast R-CNN(2015):将特征提取和分类整合到一个网络中,大幅提高了检测速度
  4. 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 总结

  1. 数据是基础:不同规模和类型的数据集为不同视觉任务提供了训练和评估的基准,从简单的手写数字识别到复杂的场景理解,数据集的发展推动了算法的进步。

  2. 评价是标尺:精确率、召回率、AP、mAP等指标构成了客观评估视觉算法性能的标准体系,帮助研究者和工程师量化模型效果并进行改进。

  3. 算法是核心

    • 目标检测从两阶段的R-CNN系列发展到单阶段的YOLO,实现了速度和精度的平衡,满足了实时应用的需求
    • 语义分割从FCN的开创性工作发展到DeepLab v3的成熟应用,实现了像素级的图像理解
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐