计算机视觉教程核心版(一)图像分类

动机

弥补并复习计算机视觉基础理论和代码

目的

进一步了解图像分类的问题、数据驱动方法以及示例kNN法基本的代码函数

内容

  • 图像分类数据、驱动方法,输入通道

  • KNN法

  • 总结

 

图像分类

图像分类是计算机视觉的核心问题,尽管它简单但是它有着一系列的实际应用。并且许多其他的视觉任务(如对象检测,分割)都可以转为图像分类任务。图像的原始表示是一个值在[0,255]的三维数组

例如上图是含有248×400×3个整数的RGB图片,每一个数的取值范围从0到255。我们的任务就是将这近30万的数字转为一个名为‘cat’的标签。

计算机视觉的挑战:

视角变化:相机可以从不同角度拍摄一个对象。

尺度变化:对象在真实世界和图片中展现不同的大小。,距离不同可能拍摄显示对象大小不同。

形变:许多感兴趣的对象并没有固定形态,它们会以极端方式产生形变。例如水。

遮挡:感兴趣的对象会被遮挡。有时只有少数部分可以被看见。

光照条件:光照对于像素级别的影响巨大。

背景杂乱:感兴趣的对象可能融入环境,使得它们难以被识别。(例如绿色的自行车停在背景为绿色的墙边)

类别内部变化:感兴趣的类别经常有较广的范围。例如不同颜色、形状和长短的头发。不同种族的猫狗。

一个好的分类模型必须针对不同的类间的交叉积有较强的鲁棒性,对于类内变化保持铭敏感。

数据驱动方法

因为由如此多的影响、如此多的特征,我们不可能写出一个算法来确定图像中的对象。取而代之的是,我们提供给计算机每个类别足够多的样本,然后开发学习能够算法,这些算法能够查看样本并学习和了解每个类的视觉表征。这就是数据驱动方法示例

如图为训练集示例。实际中,我们可能有上千类别,每个类别成千上万的图片。

图像分类通道

如上所述,图像分类接受单个图像的像素值数组并产生对应的标签。我们完整的图像分类流程可以被形式化如下:

  1. 输入:我们的输入包含一个包含N张图片的集合,每一张被标上K个不同类中的一个。我们称这个集合为训练集。
  2. 学习:我们的任务是使用训练集合来学习每一个类别的表征。我们称这个过程为训练分类器或者学习一个模型。
  3. 评估:最终,我们通过预测一个新的未曾见过的集合的标签,来判断分类器的质量。我们希望,预测标签和真实标签(ground truth)尽可能地匹配。

KNN法

 近邻分类和卷积神经网络无关,并且它也很少被用于实际。但它将使我们了解图像分类基本方法。

示例图像分类数据集 CIFAR-10 dataset.这个数据集包含60000张迷你图片,每张图片长宽32*32像素。每张图片被标注10个类别中的一个(例如‘飞机,汽车’)。这60000张图片被分为50000张训练集和10000张测试集。如图快速浏览

KNN原理https://github.com/cs231n/cs231n.github.io/blob/master/classification.md。KNN分类器中需要设定k,另外有不同的举例函数例如L1 norm,L2 norm。还有许多的其他选择,例如点乘。这些选择称为超参数,他们在数据学习算法中经常被体积。他们的设定值并不唯一。

注意:我们不能使用测试集来调试超参数。无论何时,你应该想象测试集合是一个非常珍贵的资源,他只能在最后阶段被触碰。否则,你可能冒险,你的模型在测试集合上表现良好,但真正使用时候表现差强人意。实际上,这叫做对测试集合过拟合。另一种思考方法是,当你使用测试集合调试超参数时候,你实际上在将测试集合当做训集合。但如果你只是在末尾使用测试集,他依然是测量你的分类器泛化性的好的选择。

幸运的是,有另一种调试超参数的方法,并且它不触及测试集合。此法的思想是将训练集分为一个训练集和一个更小的验证集。以CIFAR-10为例,我们使用49000张图片作为训练集,剩下1000张作为验证集。这个验证集作为假的测试集,并用来调整超参数。

总结:

  • 学习了图像分类基本流程和面临的难题,数据驱动方的概念
  • 了解KNN原理
  • 学习划分验证集的意义
  • 仅有原生特征是不够识别分类的

代码总结:

  • 预处理数据:标准化(normalization)数据特征,使得数据有零均值和单位方差
  • 如果数据维度很高,尝试使用降维技术such as PCA (wiki refCS229refblog ref) or even Random Projections.
  • 将训练数据分为训练集和验证集,除非百万级别数据,一般大约70%-90分为训练集。如果参数较多,你应该尝试有更大的验证集以更有效评估。

参考:https://github.com/cs231n/cs231n.github.io/blob/master/classification.md

猜你喜欢

转载自blog.csdn.net/tianzhiya121/article/details/89709350
今日推荐