斯坦福大学计算机视觉课程cs231-01-图像分类

CS231设计为以计算机视觉解决实现图像分类问题和数据驱动方法的入门课程,课程内容如下:

  • 图像分类,数据驱动方法,流水线介绍
  • 临近分类器/K-NN
  • 验证集,交叉验证,超参数调整
  • 最近邻居的优点/缺点
  • 概要
  • 总结:KNN在现实中的应用

图像分类

动机.本节中,我们将介绍图像分类问题,即从一个固定的分类集合为输入图像分配一个标签。这是“计算机视觉”中的核心问题之一,尽管其简单,却有着各种各样的实际应用。而且,正如我们后面将会看到的那样,许多其他看似不同的计算机视觉任务(如对象检测,分割)可以归结为图像分类。

                                                                                                                                                                                             

示例.比如,在下面的图像中,图像分类模型将获取单个图像,并将为4个标签{cat,dog,hat,mug}分配对应概率({0.6,0.3,0.05,0.05},其中0.6表示图像标签为猫的概率0.6,其余类比)。正如下图所示,请记住,对于计算机,一张图像被表示为一个大的三维数字数组。在这个例子中,猫的图像是248像素宽,400像素高,并具有三个颜色通道红色,绿色,蓝色(或简称为RGB)。因此,图像由248 x 400 x 3个数字组成,或总共297,600个数字。每个数字是一个从0(黑色)到255(白色)的整数。我们的任务是将本季度的一百万个数字变成一个单一的标签,如“猫”。

斯坦福大学计算机视觉课程cs231-01-图像分类_第1张图片

图像分类中的任务是预测给定图像的单个标签(或者标签上的分布,如图所示,以表示我们的信心)。图像是从0到255的整数的三维数组,大小为宽×高×3。3代表三个颜色通道红,绿,蓝。

                                                                                                                                                                                             

挑战.由于识别视觉概念(例如猫)的任务对于人类来说是相对微不足道的,所以从计算机视觉算法的角度考虑所涉及的挑战是值得的。正如我们在下面提出的一个无穷无尽的挑战列表,请记住图像的原始表示形式,作为亮度值的三维阵列:

  • 视角变化:对象的单个实例因相机的拍摄角度进行多种定向。

  • 规模变化:相同视觉类通常在尺寸上有所不同(在现实世界中的大小,不仅仅是在图像的范围上)。

  • 形变:许多目标物体不是刚体,可以以多种方式变形。

  • 闭塞:目标对象可以被遮挡。有时只有一小部分对象(只有少数像素)可见。

  • 照明条件:照明的影响在像素级上非常明显。

  • 背景混乱:目标对象可能融合到所处环境中,使他们很难辨认。

  • 分类变化:目标类别通常可以比较宽泛,如椅子。这些对象有很多不同的类型,每个都有自己的外观。

一个好的图像分类模型必须对所有这些变化的叉积具有稳定性,同时保持对类间变化的敏感性。

斯坦福大学计算机视觉课程cs231-01-图像分类_第2张图片

                                                                                                                                                                                             

数据驱动的方法.我们如何实现可以将图像分为不同的类别的算法?不同于编写一个用于排序算法,实现用于识别图像中的猫的算法并不是显式的。因此,我们不是直接在代码中指定每一个目标图像的类别,而是采用与孩​​子(认识事物)一样的方法:我们将为计算机提供每个类的很多实例,然后开发通过观察这些实例来学习每个类的视觉外观的学习算法。这种方法被称为数据驱动方法。因为它依赖于最开始收集的具有标签的图像集合作为训练集。以下是一个训练集可能示例:

斯坦福大学计算机视觉课程cs231-01-图像分类_第3张图片一个示例训练集为四个视觉类别。实际上,我们可能会为每个类别提供数千个类别和数十万个图像。

                                                                                                                                                                                             

图像分类流水线.图像分类中的任务是获取表示单个图像的像素阵列并为其分配标签。我们完整的流水线可以形式化如下:

  • 输入:一个含N个图像的集合,每个图像都标有K个不同类别之一的标签。将这些数据称为训练集。
  • 学习:我们的任务是利用训练集来学习每个类的外观特征。将这一步称为训练分类器,或者学习模型。
  • 评估:最后,我们将评估分类器的质量,要求它预测一组以前从未见过的图像的标签。然后,比较这些图像的真实标签和分类的预测标签。直觉上,我们希望更多的预测与真实答案(我们称之为基本事实)相匹配。










你可能感兴趣的:(斯坦福大学计算机视觉课程)