图像分类(动手学深度学习)


1、分类问题

已有固定分类标签,对于输入的图像,预测其所属的分类标签。

2、问题难点

图像视角变化(viewpoint variation)

图像大小变化(scale variation)

图像形变(deformation)

图像遮挡(occlusion)

图像光照条件(illumination conditions)

图像背景干扰(background clutter)

图像类内差异(intra-class variation)

3、数据驱动方法

给计算机足够的数据,使其实现学习算法,学到每个类的外形,即数据驱动方法。

首先,要收集已有分类标注的图片数据作为训练集。

4、图像分类流程

a、输入:数据及标签

b、学习:训练分类器或者学习模型

c、评价:使用分类器预测未知图像的标签,并以此评价分类器的性能。

5、Nearest Neighbor分类器

a、Nearest Neighbor分类器

找出与预测图片最接近的图片的标签。

最简单的方法:逐个像素比较,将差值累加。即对表示两张图片的向量计算其L1距离

\displaystyle d_1(I_1,I_2)=\sum_p|I^p_1-I^p_2|

图片越接近,则距离越小,反之越大。

L2距离:即计算两个图片向量的欧式距离:

\displaystyle d_2(I_1,I_2)=\sqrt{ \sum_p(I^p_1-I^p_2)^2}

求平方根函数是一个单调函数,对不同距离的绝对值求平方虽然改变了数值大小,但不改变距离的大小判断。L2比L1更加不能容忍向量之间的差异,也就是说,相对于1个巨大的差异,L2距离更倾向于接受多个中等程度的差异。

b、k-Nearest Neighbor分类器

找出与预测图片最相似的k个图片的标签,然后针对预测图片进行投票,最后把票数最高的标签作为预测图片的标签。当k=1时,即为Nearest Neighbor分类器。更高的k值可以让分类效果更加平滑,使得分类器对于异常值更加有抵抗力。


k值的选取过程,即为超参数的调优过程。从训练集中选取一部分验证集,作为假测试集进行调优,最后在测试集上跑一次并报告结果。测试集只能使用一次,不能使用测试集进行调优,否则会出现测试集上的过拟合。最后使用测试集进行测试,可以很好地近似度量分类器的泛化性能。

当训练集较小的时候,可以使用交叉验证,将训练集平均分为n份,循环进行训练及验证,最后取平均值作为验证结果。

c、优劣

优点:易于理解,实现简单,不需要训练过程,只是存储训练数据。

缺点:测试花费时间巨大,每个测试图片需要跟所有训练图片逐一比较。而且,基于像素的相似性和基于感官的相似性有很大不同,分类结果极易受到图片背景而非图片语义主题内容的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聆一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值