计算机视觉与深度学习
1. 图像分类任务介绍&线性分类器(上)
1.1 什么是图像分类任务,它有哪些应用场合?
图像分类任务是计算机视觉中的核心任务,其目的是 根据图像 信息中所反映的不同 特征 ,把不同类别的 图像区分 开来。
-
**图像分类:**从已知的类别标签集合中为给定的输入图片选定一个类别标签。
-
**应用场合:**物种识别。
1.2 图像分类任务有哪些难点?
-
跨越“语义鸿沟”建立像素到语义的映射;
-
视觉;
-
光照;
-
尺度;
-
遮挡;
-
形变;
-
背景杂波;
-
类内形变;
-
运动模糊;
-
类别繁多;
1.3 基于规则的方法是否可行?
通过硬编码的方法识别猫或其他类:
def classify_image(image):
# Do something magical here
return class_label
已经做过的尝试:
-
边缘检测 -->> 角点
通过硬编码的方法识别猫或其他类,是一件很困难的事。
1.4 什么是数据驱动的图像分类范式?
- 数据集构建;
- 分类器设计与学习;
- 分类器决策。
-
图像表示:像素表示;全局特征表示(如GIST);局部特征表示(SIFT);特征+词袋模型。
-
**分类器:**近邻分类器;贝叶斯分类器;线性分类器;支撑向量机分类器;神经网络分类器;随机森林;Adaboost。
-
**损失函数:**0-1损失;多类支撑向量机损失;交叉熵损失;L1损失;L2损失;…
-
优化算法:
- 一阶方法:
- 梯度下降;随机梯度下降;小批量随机梯度下降。
- 二阶方法:
- 牛顿法;BFGS;L-BFGS。
- 一阶方法:
-
训练过程:
- 数据集划分;
- 数据预处理;
- 数据增强;
- 欠拟合与过拟合;
- 减少算法复杂度;使用权重正则项;使用droput正则化。
- 超参数调整;
- 模型集成。
1.5 常用的分类任务评价指标是什么?
-
正确率(accuracy) = 分对的样本数 / 全部样本数;
-
错误率(error rate) = 1 - 正确率。
-
TOP1指标与Top5指标:级别有所差异。
2. 线性分类器
2.1 获取数据集
**CIFAR10 数据集:**分类的前提是分类对象。
2.2 分类器设计
2.3 图像类型
**Binary(二进制图像):**非白即黑;
**Gray Scale(灰度图像):**每个像素位于0~255之间。
**Color(彩色图像):**三个字节表示(RGB三个域,每个域位于0~255之间)
2.4 图像表示
大多数分类算法都要求输入向量!
将图像转换成向量的方法有很多,这里我们用一种最简单的方法,直接将图像矩阵转换为向量。
2.5 线性分类器?
2.5.1 选择理由
- 形式简单、易于理解;
- 通过层级结构(神经网络)或者高维映射(支撑向量机)可以形成功能强大的非线性模型。
2.5.2 定义
线性分类器是一种线性映射,将输入的图像特征映射为类别分数。
x x x代表输入的 d d d维图像向量, c c c为类别个数。
f i ( x , w i ) = w i T x + b i , i = 1 , .