本周课程系统介绍了深度学习在计算机视觉领域的核心应用,从数据集构建任务评价指标目标检测语义分割两大经典任务展开讲解。通过对主流数据集的对比分析和核心算法思想的梳理,建立了计算机视觉任务的完整知识框架,为后续深入研究和工程实践奠定了基础。

1. 计算机视觉常用数据集

数据集是深度学习视觉任务的基石,不同数据集针对不同任务设计,在规模、类别数量和标注类型上各有特点。

1.1 基础分类数据集

MNIST数据集
  • 基本信息:手写数字识别经典数据集,包含60000个训练样本和10000个测试样本
  • 数据格式:28×28像素灰度图像,共10类(0-9)
  • 文件组成
    • train-images-idx3-ubyte.gz(≈9.45MB):训练图像数据
    • train-labels-idx1-ubyte.gz(≈0.03MB):训练图像标签
    • t10k-images-idx3-ubyte.gz(≈1.57MB):测试图像数据
    • t10k-labels-idx1-ubyte.gz(≈4.4KB):测试图像标签
Fashion-MNIST数据集
  • 设计目的:作为MNIST的替代数据集,解决手写数字识别过于简单的问题
  • 基本信息:由Zalando研究部门提供,包含7万张商品正面图片
  • 数据格式:与MNIST完全一致(60000/10000训练测试划分,28×28灰度图像)
  • 类别:共10类,涵盖T恤、裤子、套头衫、连衣裙、外套、凉鞋、衬衫、运动鞋、包、短靴
CIFAR-10数据集
  • 基本信息:彩色图像分类数据集,包含60000张32×32彩色图像
  • 数据划分:50000个训练图像和10000个测试图像,分为5个训练批次和1个测试批次
  • 类别:共10类,包括飞机、汽车、鸟、猫、鹿、狗、马、船、卡车、青蛙

1.2 目标检测与分割数据集

PASCAL VOC数据集
  • 全称:Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes
  • 发展历程:2005年举办第一届,2012年终止,常用版本为PASCAL VOC 2012
  • 类别:共20类,分为四大类:
    • 人物:person
    • 动物:bird, cat, cow, dog, horse, sheep
    • 交通工具:aeroplane, bicycle, boat, bus, car, motorbike, train
    • 室内物品:bottle, chair, dining table, potted plant, sofa, tv/monitor
  • 文件结构
    • Annotations/:XML格式标注文件
    • ImageSets/:图像集划分文件
    • JPEGImages/:原始JPEG图像
    • SegmentationObject/:按对象分割的标注
    • SegmentationClass/:按类别分割的标注
  • 数据规模:trainval集共11540张图像,包含27450个标注对象
MS COCO数据集
  • 全称:Microsoft Common Objects in Context
  • 地位:ImageNet竞赛停办后,成为目标识别、检测领域最权威的标杆
  • 基本信息:超过33万张图片,其中20万张有标注,超过150万个标注个体
  • 类别:共80类,分为9大类别:
    • 人(1类)
    • 交通工具(8类)
    • 公路常见物品(5类)
    • 动物(10类)
    • 携带物品(5类)
    • 运动器材(10类)
    • 厨房餐具(7类)
    • 水果及食品(10类)
    • 家庭用品(7类)
    • 家庭常见物品(17类)

1.3 大规模预训练数据集

ImageNet数据集
  • 发起者:李飞飞与Google合作,2009年发布
  • 规模:总图像数14,197,122张,总类别数21841类,带有标记框的图像数1,034,908张
  • ImageNet-21K:包含1400万张图片和21000个类别的预训练数据集
  • 意义:推动了深度学习在计算机视觉领域的爆发式发展
JFT-300M数据集
  • 性质:Google内部用于训练图像分类模型的大规模数据集
  • 规模:3亿张图像,产生超过10亿个标签(单张图像可有多标签)
  • 标注质量:约3.75亿个标签通过算法选择,以最大化标签精度

2. 计算机视觉任务评价指标

2.1 混淆矩阵与基础指标

基本概念
  • TP(True Positive):实际为正例且被正确分类为正例的样本数
  • FP(False Positive):实际为负例但被错误分类为正例的样本数
  • FN(False Negative):实际为正例但被错误分类为负例的样本数
  • TN(True Negative):实际为负例且被正确分类为负例的样本数
混淆矩阵
预测值=1 预测值=0
真实值=1 TP FN
真实值=0 FP TN
核心指标
  • 精确率(Precision, P)P=TPTP+FPP = \frac{TP}{TP+FP}P=TP+FPTP,表示"被预测为正例的样本中实际为正例的比例",衡量模型的"挑剔"程度
  • 召回率(Recall, R)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.2 P-R曲线与平均精度

P-R曲线
  • 定义:以召回率为横轴、精确率为纵轴绘制的曲线,反映了不同置信度阈值下模型的性能
  • 特性:精确率与召回率通常呈负相关关系,即提高召回率往往会导致精确率下降,反之亦然
平均精度(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)
    其中,NNN为测试集样本总数,P(k)P(k)P(k)为识别出kkk个样本时的精确率,Δr(k)\Delta r(k)Δr(k)为召回率从k−1k-1k1kkk的变化量
平均精度均值(mAP)
  • 定义:多类别检测任务中,所有类别AP的平均值
  • 意义:是目标检测任务中最常用的综合评价指标

3. 目标检测与YOLO算法

3.1 目标检测问题概述

  • 任务定义:在给定图片中精确找到物体所在位置,并标注出物体的类别
  • 挑战:物体尺寸变化大、姿态不定、可出现在图片任意位置、多类别共存
  • 发展历程:R-CNN → SPP NET → Fast R-CNN → Faster R-CNN → YOLO

3.2 YOLO基本思想

  • 全称:You Only Look Once
  • 核心创新:将目标检测问题转化为回归问题,通过单个神经网络直接从图像像素预测边界框和类别概率
  • 优势:速度极快,能够实现实时目标检测
  • 配套材料:详见"配套材料6-2:目标检测与YOLO"

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

4.1 语义分割问题概述

  • 任务定义:对图像中的每个像素进行分类,将图像分割成若干个具有语义意义的区域
  • 与目标检测的区别:目标检测输出物体的边界框和类别,语义分割输出像素级别的类别标注

4.2 经典方法

  • FCN(全卷积网络):语义分割的经典方法,首次将全连接层替换为卷积层,实现了端到端的像素级预测
  • DeepLab v3:目前广泛使用的语义分割方法,通过空洞卷积和多尺度特征融合提升分割精度
  • 配套材料:FCN语义分割实例参见"配套材料6-3:语义分割与FCN",DeepLab v3演示参见程序"deeplab.ipynb"
Logo

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

更多推荐