cs231n---图像分类笔记(第一弹)

图像分类

目标:已有固定分类标签集合,对输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。这是计算机视觉领域核心问题之一。后面许多看似不同的问题(物体检测和分割)都可被归结为图像分类

困难和挑战:

  • 视角变化(Viewpoint variation)
  • 大小变化(Scale variation)
  • 形变(Deformation)
  • 遮挡(Occlusion)
  • 光照条件(Illumination conditions)
  • 背景干扰(Background clutter)
  • 类内差异(Intra-class variation)

--------------------------------------------------------------------------------------------------------------------------

数据驱动方法:给计算机很多数据,然后实现学习算法,让计算机学习到每个类的外形。这种方法,就是数据驱动方法。

该方法第一步就是收集已经做好分类标注的图片来作为训练集,下面就看看数据库长什么样:


这是一个有4个视觉分类的训练集。实际中,可能有上千的分类,每个分类有成千上万图像。

--------------------------------------------------------------------------------------------------------------------------

图像分类流程图像分类就是输入一个元素为像素值的数组,然后分配给他一个分类标签,完整流程:

  • 输入:输入包含N个图像的集合,每个图像的标签是K种分类标签的一种。这个集合称为训练集
  • 学习:使用训练集来学习每个类到底长什么样。该步骤称为训练分类器学习一个模型
  • 评价:让分类器预测从未见过的图像的分类标签并以此来评价分类器质量。把分类器预测的标签和图像真正的分类标签对比。

Nearest Neighbor分类器(最近邻分类器)简称NN

通过实现它来让读者对解决图像分类问题的方法有个基本认识。

图像分类数据集:CIFAR-10包含了60000张32X32小图像。每张图像有10种分类标签中的一种。这60000张图像被分为包含50000张图像训练集和包含10000张图像测试集

NN算法将会拿测试图片和训练集中每一张图去比较,然后将它认为最相似的那个训练集图片的标签赋给这张测试图片。

比较两张32x32x3图片的方法:最简单的就是逐个像素比较,最后将差异值累加。即将两张图转化为向量I1和I2后计算他们的L1距离

流程图例:


若两张图一模一样,L1距离为0,但两张图片很不一样,那L1值会非常大。

距离选择计算向量间的距离有多种方法,另一个常用的方法是L2距离,从几何学的角度,可以理解为它在计算两个向量间的欧式距离。L2距离的公式如下:


L1和L2比较:在面对两个向量之间的差异时,L2比L1更加不能容忍这些差异。也就是说,相对于1个巨大的差异,L2距离更倾向于接受多个中等程度的差异。

代码:

待补充


----------------------------------------------------------------------------------------------------------------

k-Nearest Neighbor分类器(k近邻分类器)简称kNN

为什么不能用最相似的k张图片的标签来作为测试图像的标签呢?使用kNN分类器能取得更好效果。当k=1的时候,kNN分类器就是NN分类器。

思想:找最相似的k个图片的标签,然后让他们针对测试图片进行投票,最后把票数最高的标签作为对测试图片的预测。直观感受上,更高的k值会让分类的效果更平滑,使分类器对异常值更有抵抗力。


上例使用2维的点,分3类(红,蓝和绿)。不同颜色区域代表用L2距离的分类器决策边界。白色区域是分类模糊的例子(即图像与两个以上的分类标签绑定)。

在NN分类器中,异常的数据点(比如:在蓝色区域中的绿点)制造出一个不正确预测的孤岛。

5-NN分类器将这些不规则都平滑了,使它针对测试数据的泛化(generalization能力更好(例子中未展示)。5-NN中也存在一些灰色区域,是因为近邻标签的最高票数相同导致的(比如:2个邻居是红色,2个邻居是蓝色,还有1个是绿色)。

在实际中,大多使用k-NN分类器。但是k值如何确定呢?接下来第二弹就讨论这个问题。

------------------------------------------------------------------------------------------------------------

以上内容转载整理来自知乎专栏点击打开链接,侵删侵删。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值