神经网络与深度学习笔记②|数据集+评价指标+YOLO+语义分割全解析

本周《神经网络与深度学习》课程聚焦深度学习在计算机视觉领域的核心应用,从视觉数据集、任务评价指标,到目标检测(YOLO)、语义分割(FCN),系统复盘本周核心知识点。

一、引言

深度学习在计算机视觉领域应用广泛,核心覆盖图像分类、目标检测、语义分割三大基础任务。本节课从数据集(数据基础)、评价指标(性能衡量)、核心任务算法(YOLO/FCN) 三大维度,搭建视觉应用知识框架,下面逐部分详细拆解!

二、常用视觉数据集(视觉任务的“数据基石”)

数据集是深度学习模型训练的核心,不同视觉任务适配不同数据集。本节课重点讲解7个经典数据集,从入门级到工业级全覆盖:

1. MNIST:手写数字入门数据集

  • 核心用途:手写数字识别(入门级分类任务)
  • 数据规模:60000张训练图 + 10000张测试图
  • 图像规格:28×28像素灰度图,共10类(0-9手写数字)
  • 文件构成:4个压缩文件(训练图像、训练标签、测试图像、测试标签),总大小约11MB,轻量易加载。

2. Fashion-MNIST:替代MNIST的商品数据集

  • 核心用途:衣物商品分类(替代MNIST,难度略高)
  • 数据规模:与MNIST完全一致(60000训练+10000测试)
  • 图像规格:28×28像素灰度图,10类服饰(T恤、裤子、连衣裙等)
  • 优势:格式、划分与MNIST兼容,可直接复用MNIST代码,适合快速验证算法。

3. CIFAR-10:彩色图像入门数据集

  • 核心用途:彩色图像多分类
  • 数据规模:60000张彩色图(50000训练+10000测试)
  • 图像规格:32×32像素RGB彩色图,10类(飞机、汽车、鸟、猫、鹿、狗、马、船、卡车、青蛙)
  • 特点:每个类别6000张,分5个训练批次+1个测试批次,是卷积神经网络入门必练数据集。

4. PASCAL VOC:经典检测/分割数据集

  • 全称:Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes
  • 核心用途:目标分类、检测、语义分割(2005-2012年主流基准)
  • 常用版本:PASCAL VOC2012
  • 类别划分:共20类(人、鸟、猫、汽车、椅子、电视等)
  • 文件结构:Annotations(XML标注)、JPEGImages(原图)、SegmentationClass(语义分割图)等
  • 标注格式:XML文件记录图像尺寸、目标位置、类别等信息,是早期视觉任务标注标准。

5. MS COCO:工业级复杂场景数据集

  • 全称:Microsoft Common Objects in Context
  • 核心用途:复杂日常场景的目标检测、分割、语义标注(ImageNet竞赛停办后,成为视觉领域最权威标杆
  • 数据规模:超33万张图(20万张带标注),个体实例超150万个
  • 类别划分:80类(人、交通工具、动物、家具、餐具等)
  • 特点:场景复杂、目标密集、尺寸多样,是工业界模型训练/评测首选。

6. ImageNet:大规模图像分类数据集

  • 起源:2009年由李飞飞团队联合Google构建
  • 核心用途:大规模图像分类、模型预训练
  • 数据规模:14197122张图,21841个类别,1034908张图带标注框
  • 经典子集:ImageNet-21K(1400万张图,21000类),是深度学习模型预训练的核心数据集

7. JFT-300M:谷歌超大规模私有数据集

  • 核心用途:谷歌内部图像分类模型训练
  • 数据规模:3亿张图像,超10亿个标签(单图可多标签)
  • 特点:工业级超大容量,仅用于谷歌自研模型训练,不对外公开。

三、视觉任务评价指标(模型性能的“衡量标尺”)

模型训练后需用统一指标评估性能,视觉分类/检测任务核心指标:精确率、召回率、P-R曲线、AP、mAP

1. 基础概念:TP/FP/FN/TN

先明确4个核心定义(以“识别飞机”为正例、“识别大雁”为负例):

  • TP(真正例):实际是飞机,模型正确识别为飞机
  • FP(假正例):实际是大雁,模型错误识别为飞机
  • FN(假负例):实际是飞机,模型错误识别为大雁
  • TN(真负例):实际是大雁,模型正确识别为大雁

2. 混淆矩阵

直观展示4类结果的表格:

预测值=飞机(正)预测值=大雁(负)
真实值=飞机(正)TPFN
真实值=大雁(负)FPTN

3. 核心指标:精确率(P)、召回率(R)、准确率(Acc)

  • 精确率(Precision):预测为正例的样本中,真实正例的比例
    公式:P=TPTP+FPP=\frac{TP}{TP+FP}P=TP+FPTP(衡量模型“预测准不准”)
  • 召回率(Recall):真实正例中,被正确预测的比例
    公式:R=TPTP+FNR=\frac{TP}{TP+FN}R=TP+FNTP(衡量模型“找全没找全”)
  • 准确率(Accuracy):所有样本中,预测正确的比例
    公式:Acc=TP+TNTP+FP+TN+FNAcc=\frac{TP+TN}{TP+FP+TN+FN}Acc=TP+FP+TN+FNTP+TN

4. 关键特性:P与R的“反比关系”

通过调整模型置信度阈值,可改变P和R:

  • 阈值↑:只保留高置信度预测 → P↑、R↓(宁缺毋滥)
  • 阈值↓:放宽预测条件 → P↓、R↑(宁可错杀)

5. P-R曲线

  • 定义:以召回率R为横轴、精确率P为纵轴绘制的曲线
  • 意义:直观展示不同阈值下P与R的变化,曲线越靠近右上角,模型性能越好

6. 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):识别k个样本时的精确率
    • Δr(k)\Delta r(k)Δr(k):识别数从k-1到k时召回率的变化

7. mAP(平均精度均值)

  • 定义:多类别任务中,所有类别AP的平均值
  • 地位:目标检测、多分类任务的核心评价指标,mAP越高,模型综合性能越强。

四、目标检测与YOLO(视觉核心任务:定位+分类)

1. 目标检测任务定义

在图像中同时完成两个任务

  1. 定位:找到所有目标的位置(用矩形框标注)
  2. 分类:识别每个目标的类别
  • 难点:目标尺寸差异大、姿态多样、多目标重叠、背景复杂

2. 目标检测发展历程

从传统算法到深度学习,主流演进路线:
R-CNN → SPP NET → Fast R-CNN → Faster R-CNN → YOLO

  • YOLO:集大成者,实现端到端实时检测

3. YOLO核心思想

  • 全称:You Only Look Once(你只需要看一次)
  • 核心突破:将目标检测转化为单阶段回归问题,无需生成候选框,直接通过卷积网络输出目标位置+类别,速度远超两阶段算法。

五、全卷积网络(FCN)与语义分割

1. 语义分割任务定义

对图像逐像素分类,给每个像素标注对应类别,输出与原图尺寸一致的分割图(如区分人、车、道路、天空)。

2. 核心算法

  • FCN:语义分割经典开山算法,用卷积层替代全连接层,实现任意尺寸图像输入,奠定语义分割基础。
  • DeepLab v3:当前工业界广泛使用的语义分割算法,精度更高、细节更清晰。

六、课程总结

搭建了深度学习视觉应用的完整入门框架,核心重点:

  1. 数据集:MNIST/Fashion-MNIST(入门)、CIFAR-10(彩色分类)、VOC/COCO(检测/分割)、ImageNet(预训练);
  2. 评价指标:P/R反比、P-R曲线、AP/mAP是检测/分类任务核心;
  3. 核心任务:YOLO实现实时目标检测,FCN/DeepLab v3解决语义分割。

更多推荐