神经网络与深度学习 第3周课程总结 深度学习视觉应用课程总结一、常用计算机视觉数据集数据集名称发布方/年份规模图像规格类别数主要用途核心特点MNIST美国国家标准与技术研究院60k训练10k测试28×28灰度图10类(0-9手写数字)入门级图像分类最经典的手写数字识别基准数据集Fashion-MNISTZalando(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-300MGoogle(内部)3亿张图10亿个标签彩色图多标签超大规模图像分类预训练标签精度高用于训练顶级图像分类模型二、视觉任务核心评价指标2.1 混淆矩阵混淆矩阵是评估分类模型性能的基础工具展示了模型预测结果与真实标签之间的对应关系。预测值正例预测值负例真实值正例TP(真正例)FN(假负例)真实值负例FP(假正例)TN(真负例)TP:真正例(true positive)即真实结果和预测结果都是正例。FP:假正例(false positive),即真实结果是反例预测结果是正例。TN:真反例(true negative),即真实结果和预测结果都是反例。FN:假反例(false negative),即真实结果是正例预测结果是反例。2.2 基础指标定义指标名称计算公式物理意义特点查准率(Precision)PTPTPFPP \frac{TP}{TPFP}PTPFPTP​预测为正的样本中真正正样本的比例衡量模型不把负样本判为正样本的能力值越高越挑剔查全率(Recall)RTPTPFNR \frac{TP}{TPFN}RTPFNTP​所有真正正样本中被正确识别的比例衡量模型不漏掉正样本的能力值越高越全面准确率(Accuracy)AccuracyTPTNTPFPTNFNAccuracy \frac{TPTN}{TPFPTNFN}AccuracyTPFPTNFNTPTN​整体预测正确的样本比例适用于样本均衡的情况样本不均衡时会产生误导2.3 进阶指标精确率和召回率之间存在天然的权衡关系提高阈值会增加精确率但降低召回率降低阈值则相反。P-R曲线直观地展示了这种权衡关系。P-R曲线评价原则(1) 若一个学习模型的P-R曲线完全包住了另一个学习模型的P-R曲线则前者的性能优于后者。即召回率相同的情况下查准率越高模型的泛化性能越好。简而言之曲线越向右上模型越好。(2) 若两个学习模型的P-R曲线互相交叉则可通过平衡点Break-Event Point,简称BEP)来评价模型的优劣BEP是查准率查全率的数值。F1分数F12PRPRF1 \frac{2PR}{PR}F1PR2PR​F1分数F1 Score是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的查准率和查全率。F1分数可以看作是模型精确率和召回率的一种调和平均它的最大值是1最小值是0。由于BEP过于简化更常用的是F1度量F1越大性能越好。平均精度(AP)与平均平均精度(mAP)平均精度(AP)P-R曲线下的面积综合衡量单个类别的检测性能AP∑k1NP(k)Δr(k)AP \sum_{k1}^{N} P(k) \Delta r(k)APk1∑N​P(k)Δr(k)其中P(k)P(k)P(k)是识别出k个图片时的精确率Δr(k)\Delta r(k)Δr(k)是召回率从k-1到k的变化量平均平均精度(mAP)多类别检测任务中所有类别AP的平均值是目标检测任务最常用的综合评价指标三、目标检测与YOLO3.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×5C)S \times S \times (B \times 5 C)S×S×(B×5C)的张量。损失函数解构YOLO的损失函数综合了边界框坐标误差均方误差、置信度误差以及分类误差。为了平衡大小目标的定位偏差YOLO对宽高求平方根后再计算误差。YOLO极大地提升了推理速度奠定了其在实时工程任务中的统治地位。四、全卷积网络与语义分割4.1 语义分割与实例分割语义分割对图像中的每个像素进行分类将图像划分为不同的语义区域同一类别的像素被标记为相同的标签实例分割在语义分割的基础上进一步区分同一类别的不同个体4.2 核心方法对比方法提出时间核心思想主要特点适用场景FCN(全卷积网络)2015年将传统CNN中的全连接层替换为卷积层实现端到端的像素级预测语义分割领域的开创性工作首次实现了任意尺寸图像的输入输出入门级语义分割任务教学演示DeepLab v32017年引入空洞卷积和空间金字塔池化(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的成熟应用实现了像素级的图像理解