图像分类
定义
图像分类就是已有固定的分类标签集合,对于新输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入的对象。
具体过程:图像分类训练出的模型读取该图片的信息,并且生成该图片属于集合{cat,dog,hat,mug}中各个标签的概率。图像信息等价于一个三维数组,也是我们熟知的RGB,有3个颜色通道,分别是红、绿和蓝。
挑战
从计算机视觉算法角度,识别一个图像的类别有以下挑战:视角变化、大小变化、形变、遮挡、光照条件、背景干扰、类内差异等,这些因素的存在,对计算机视觉算法充满着挑战。
图像分类流程
1.输入:输入是包含N个图像的集合,每个图像的标签是K种分类标签中的一种。这个集合称为训练集。
2.学习:这一步的任务是使用训练集来学习每个类到底长什么样。一般该步骤叫做训练分类器或者学习一个模型。
3.评价:让分类器来预测它未曾见过的图像的分类标签,并以此来评价分类器的质量。我们会把分类器预测的标签和图像真正的分类标签对比。
第一个数据集 CIFAR-10
CIFAR-10是如今十分流行的图像分类数据集。它包含了60000张32x32的小图像,每张图像都有10种分类标签中的一种。这60000张图像被分为包含50000张图像的训练集和包含10000张图像的测试集。
上图左边是CIFAR-10数据库来的样本图像,右边第一列是测试图像,然后第一列的每个测试图像右边是使用Nearest Neighbor算法,根据像素差异,从训练集中选出的10张最类似的图片。
Nearest Neighbor分类器
NN分类器的实现方法就是让两张图片首先分别使用向量表示他们,然后两个向量相减之后得到的向量和的大小就是两张图片的距离。这个距离越小,两张图片越相似。
以图片中的一个颜色通道为例来进行说明。两张图片使用L1距离来进行比较。逐个像素求差值,然后将所有差值加起来得到一个数值。如