神经网络与深度学习笔记
·
神经网络与深度学习笔记②|数据集+评价指标+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类结果的表格:
| 预测值=飞机(正) | 预测值=大雁(负) | |
|---|---|---|
| 真实值=飞机(正) | TP | FN |
| 真实值=大雁(负) | FP | TN |
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. 目标检测任务定义
在图像中同时完成两个任务:
- 定位:找到所有目标的位置(用矩形框标注)
- 分类:识别每个目标的类别
- 难点:目标尺寸差异大、姿态多样、多目标重叠、背景复杂
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:当前工业界广泛使用的语义分割算法,精度更高、细节更清晰。
六、课程总结
搭建了深度学习视觉应用的完整入门框架,核心重点:
- 数据集:MNIST/Fashion-MNIST(入门)、CIFAR-10(彩色分类)、VOC/COCO(检测/分割)、ImageNet(预训练);
- 评价指标:P/R反比、P-R曲线、AP/mAP是检测/分类任务核心;
- 核心任务:YOLO实现实时目标检测,FCN/DeepLab v3解决语义分割。
更多推荐
所有评论(0)