在深度学习视觉领域,图像分类已经不再是唯一焦点,更多任务如目标检测、语义分割等,正在成为计算机视觉应用的主力军。本篇博客将系统梳理以下四个核心主题:
-
常用视觉数据集
-
目标检测与YOLO
-
全卷积网络与语义分割
-
视觉任务常用评价指标
-
一、视觉任务中的常用数据集
1. MNIST & Fashion-MNIST
-
MNIST:0~9 手写数字识别,28×28 像素灰度图。
-
Fashion-MNIST:由 Zalando 提供,服饰类替代版 MNIST,同样为28×28灰度图,用于测试图像分类模型泛化能力。
2. CIFAR-10
-
共 60000 张 32×32 彩色图像,分属 10 类,如飞机、汽车、猫、狗等。
-
训练集 50000 张,测试集 10000 张。
3. PASCAL VOC
-
全称:Visual Object Classes
-
包含 20 类图像,用于目标分类、检测和分割。
-
使用 XML 文件进行标注,常见于经典检测算法。
4. MS COCO
-
Microsoft COCO(Common Objects in Context)
-
80 类别,超过 33 万张图像,广泛用于目标检测和实例分割。
-
提供详细的 instance segmentation 和 keypoints 标注。
5. ImageNet 与 JFT-300M
-
ImageNet:21K 类别,1400 万张图片,ILSVRC 竞赛推动深度学习快速发展。
-
JFT-300M:谷歌内部数据集,3亿张图像,10亿个标签,极其庞大。
二、视觉任务评价指标详解
1. 基本概念
指标 | 含义 |
---|---|
TP | 正确预测为正类 |
FP | 错误预测为正类 |
FN | 错误预测为负类 |
TN | 正确预测为负类 |
2. 常用指标公式
-
精确率 Precision (P) = TP / (TP + FP)
-
召回率 Recall (R) = TP / (TP + FN)
-
准确率 Accuracy = (TP + TN) / 总数
3. P-R 曲线与平均精度(AP)
-
P-R 曲线描述 Precision 与 Recall 的变化关系
-
AP(Average Precision)为 P-R 曲线下的面积
-
多类任务中取每类的 AP 平均值为 mAP
三、目标检测与 YOLO 方法
1. 问题定义
目标检测不仅要求识别“是什么”,更要知道“在哪”。一个检测模型应能输出物体的 类别 与 位置框坐标。
2. 演进路径
从 R-CNN 到 YOLO 的演进过程:
R-CNN → Fast R-CNN → Faster R-CNN → YOLO 系列
3. YOLO 简介
-
YOLO(You Only Look Once)是一种端到端目标检测模型。
-
将图像划分为网格,每个网格负责预测包含物体的概率及边界框。
4. 损失函数设计(简述)
YOLO 的损失函数综合考虑三项:
-
边界框回归误差
-
置信度误差
-
类别预测误差
四、全卷积网络(FCN)与语义分割
1. 什么是语义分割?
对图像中每个像素进行分类,使每个像素都被赋予一个语义标签。
2. FCN:语义分割的基石
-
将传统 CNN 中的全连接层替换为卷积层,从而实现像素级预测。
-
使用上采样层恢复空间分辨率。
3. DeepLab v3:现阶段主流方法
-
基于空洞卷积(dilated conv)
-
使用 ASPP(Atrous Spatial Pyramid Pooling)多尺度感知信息
总结
本讲义深入浅出地展示了深度学习在视觉领域的经典应用,建议初学者按照以下路径深入学习:
-
掌握常用数据集结构与加载方式
-
理解精确率、召回率、AP、mAP 等指标含义
-
学习 YOLO 等端到端检测模型的原理
-
理解 FCN 和 DeepLab 等语义分割技术核心思想