图像分类基本流程及KNN分类器

图像分类基本流程及KNN分类器
  本⽂主要内容为 CS231n 课程的学习笔记,主要参考 和对应的 ,感谢各位前辈对于深度学习的⾟苦付出。在这⾥我主要记录下⾃⼰觉得重要的内容以及⼀些相关的想法,希望能与⼤家多多交流~
检验医学与临床
1. 图像分类以及基本流程
1.1 什么是图像分类
  所谓图像分类问题,就是已有固定的分类标签集合,然后对于输⼊的图像,从分类标签集合中出⼀个分类标签,最后把分类标签分配给该输⼊图像。虽然看起来挺简单的,但这可是计算机视觉领域的核⼼问题之⼀,计算机视觉领域中很多看似不同的问题(⽐如物体检测和分割),都可以被归结为图像分类问题。
1.2 图像分类的挑战
  物体分类与检测的难点与挑战在本⽂中分为3个层次:实例层次、类别 层次和语义层次,如图 1 所⽰ [1]
图 1 .物体分类与检测研究存在的困难与挑战
  (1) 实例层次。针对单个物体实例⽽⾔,通常于图像采集过程中、光照条件、拍摄视⾓、距离的不同⽽造成的尺⼨变化、物体⾃⾝的⾮刚体形变以及其他物体的部分遮挡,使得物体实例的表观特征产⽣很⼤的变化,给视觉识别算法带来了极⼤的困难
  (2) 类别层次。困难与挑战通常来⾃3个⽅⾯,⾸先是类内差⼤,也即属于同⼀类的物体表观特征差别⽐较⼤,其原因有前⾯提到的各种实例层次的变化,但这⾥更强调的是类内不同实例的差别,例如图2 (a) 所⽰,同样是椅⼦,外观却是千差万别,⽽从语义上来讲,具混凝土仿钢纤维
有“坐”的功能的器具都可以称为椅⼦;其次是类间模糊性,即不同类的物体实例具有⼀定的相似性,如图2 (b)所⽰,左边的是⼀只狼,右边的是⼀只哈⼠奇,但我们从外观上却很难分开⼆者;再次是背
景的⼲扰,在实际场景下,物体不可能出现在⼀个⾮常⼲净的背景下,往往相反,背景可能是⾮常复杂的、对我们感兴趣的物体存在⼲扰的,这使得识别问题的难度⼤⼤增加。
  (3) 语义层次。困难和挑战与图像的视觉语义相关,这个层次的困难往往⾮常难处理,特别是对现在的计算机视觉理论⽔平⽽⾔,⼀个典型的问题称为多重稳定性。如图3所⽰,图3(c) 左边既可以看成是两个⾯对⾯的⼈,也可以看成是⼀个燃烧的蜡烛;右边则同时可以解释为兔⼦或者⼩鸭。同样的图像,不同的解释,这既与⼈的观察视⾓、关注点等物理条件有关,也与⼈的性格、经历等有关,⽽这恰恰是视觉识别系统难以处理的部分。
图 2 .分类与检测存在挑战的例⼦
1.3 图像分类的基本流程
  在机器学习中常常采⽤基于数据驱动的⽅法进⾏图像分类。所谓基于数据驱动的⽅法,就是给计算机很多数据,然后实现学习算法,让计算机学习到每个类的外形的⽅法。基于这种⽅法的完整流程如下
  (1) 输⼊:输⼊是包含 N 个图像的集合,每个图像的标签是 K 种分类标签中的⼀种。这个集合称为训练集。
  (2) 学习:这⼀步的任务是使⽤训练集来学习每个类到底长什么样。⼀般该步骤叫做训练分类器或者学习⼀个模型。
  (3) 评价:让分类器来预测它未曾见过的图像的分类标签,并以此来评价分类器的质量。我们会把分类器预测的标签和图像真正的分类标签对⽐。毫⽆疑问,分类器预测的分类标签和图像真正的分类标签如果⼀致,那就是好事,这样的情况越多越好。金冠涂料
2. K - Nearest Neighbor分类器
2.1 Nearest Neighbor分类器
  它的原理是拿着测试图⽚和训练集中每⼀张图⽚去⽐较,然后将它认为最相似的那个训练集图⽚的标签赋给这张测试图⽚。在
CIFAR10 中,就是⽐较 32x32x3 的像素块。最简单的⽅法就是逐个像素⽐较,最后将差异值全部加起来。换句话说,就是将两张图⽚先转化为两个向量 和 ,然后计算他们的 L1 距离:
作为 评价标准,我们常常使⽤准确率.。同样也有很多的其他评价标准,我们将在⽇后的学习笔记中逐渐 补充。
  距离选择:计算向量间的距离有很多种⽅法,另⼀个常⽤的⽅法是 L2 距离,从⼏何学的⾓度,可以理解为它在计算两个向量间的欧式距离。L2 距离的公式如下:大沽河
换句话说,我们依旧是在计算像素间的差值,只是先求其平⽅,然后把这些平⽅全部加起来,最后对这个和开⽅。注意这⾥使⽤了开平⽅,但是在实际中可能不⽤。因为求平⽅根函数是⼀个单调函数,它对不同距离的绝对值求平⽅根虽然改变了数值⼤⼩,但依然保持了不同距离⼤⼩的顺序。所以⽤不⽤它,都能够对像素差异的⼤⼩进⾏正确⽐较。
  L1 和 L2 ⽐较。⽐较这两个度量⽅式是挺有意思的。在⾯对两个向量之间的差异时,L2 ⽐ L1 更加不能容忍这些差异。也就是说,相对于1个巨⼤的差异,L2 距离更倾向于接受多个中等程度的差异。L1 和 L2 都是在 p-n orm 常⽤的特殊形式。更多的衡量距离的标准将在之后的笔记中进⾏讨论。
2.2 K-Nearest Neighbor分类器
  它的思想很简单:与其只最相近的那 1 个图⽚的标签,我们最相似的 k 个图⽚的标签,然后让他们针对测试图⽚进⾏投票,最后把票数最⾼的标签作为对测试图⽚的预测。所以当 k=1 的时候,k N earest Neighbor 分类器就是 Nearest Neighbor 分类器。从图 3 直观感受上就可以看到,更⾼的 k 值可以让分类的效果更平滑,使得分类器对于异常值更有抵抗⼒。
图 3 .NN与KNN的对⽐结果
需要注意的是,在 NN 分类器中,异常的数据点(⽐如:在蓝⾊区域中的绿点)制造出⼀个不正确预测的孤岛。5N N 分类器将这些不规则都平滑了,使得它针对测试数据的泛化(generalization)能⼒更好(例⼦中未展⽰)。注意,5N N 中也存在⼀些灰⾊区域,这些区域是因为近邻标签的最⾼票数相同导致的(⽐如:2个邻居是红⾊,2 个邻居是蓝⾊,还有 1 个是绿⾊)。
3. 模型的超参数选择(以K-NN为例)
  在模型的实际使⽤过程中,K-NN分类器中的 K 选取多少较为合适,计算距离使⽤ L1 范数还是 L2 范数都是需要我们进⾏选择的,并且称这些参数为超参数。 在超参数调优的过程中决不能使⽤测试集来进⾏调优,因为这样会使模型对测试集过拟合,降低模型的泛化能⼒。所以测试数据集只使⽤⼀次,即在训练完成后评价最终的模型时使⽤。
  把训练集按照50%-90%的⽐例分成训练集和验证集,使⽤训练集训练模型,使⽤验证集调节超参数。如在 K-NN 中选择超参数 k ,取不同的 k 值⽤训练集进⾏训练,之后⽤检验集进⾏检验,作图分析出哪个 k 值表现最好,然后⽤这个 k 值来跑真正的测试集,并作出对算法的评价。
  交叉验证。有时候,训练集数量较⼩(因此验证集的数量更⼩),⼈们会使⽤⼀种被称为交叉验证的⽅法,这种⽅法更加复杂些。还是⽤刚才的例⼦,如果是交叉验证集,我们就不是取 1000 个图像,⽽是将训练集平均分成 5 份,其中 4 份⽤来训练,1 份⽤来验证。然后我们循环着取其中 4 份来训练,其中 1 份来验证,最后取所有 5 次验证结果的平均值作为算法验证结果。
图 4 .不同的 K 值对应的KNN分类器结果
如图 4 是份交叉验证对 k 值调优的例⼦。针对每个 k 值,得到 5 个准确率结果,取其平均值,然后对
不同 k 值的平均表现画线连接。本例中,当 k=7 的时算法表现最好(对应图中的准确率峰值)。如果我们将训练集分成更多份数,直线⼀般会更加平滑(噪⾳更少)。
  实际应⽤。在实际情况下,⼈们不是很喜欢⽤交叉验证,主要是因为它会耗费较多的计算资源。⼀般直接把训练集按照50%-90%的⽐例分成训练集和验证集。但这也是根据具体情况来定的:如果超参数数量多,你可能就想⽤更⼤的验证集,⽽验证集的数量不够,那么最好还是⽤交叉验证吧。⾄于分成⼏份⽐较好,⼀般都是分成3、5和10份。
4. Nearest Neighbor分类器的优劣
4.1 NN的优点
  ⾸先,Nearest Neighbor分类器易于理解,实现简单。
  其次,算法的训练不需要花时间,因为其训练过程只是将训练集数据存储起来。
4.2 NN的缺点
  ⾸先,因为每个测试图像需要和所有存储的训练图像进⾏⽐较,所以占⽤⼤量存储空间,耗费⼤量计算资源,测试要花费⼤量时间计算。因为在实际应⽤中,我们关注测试效率远远⾼于训练效率。其
实,我们后续要学习的卷积神经⽹络在这个权衡上⾛到了另⼀个极端:虽然训练花费很多时间,但是⼀旦训练完成,对新的测试数据进⾏分类⾮常快。这样的模式就符合实际使⽤需求。
  其次,在实际的图像分类⼯作中,很少使⽤ NN。因为图像都是⾼维度数据(他们通常包含很多像素),⽽⾼维度向量之间的距离通常是反直觉的。下⾯的图⽚展⽰了基于像素的相似和基于感官的相似是有很⼤不同的:
滑差离合器图 5 .L2值相同的不同图⽚
在⾼维度数据上,基于像素的的距离和感官上的⾮常不同。上图中,右边 3 张图⽚和左边第 1 张原始图⽚的L2距离是⼀样的。很显然,基于像素⽐较的相似和感官上以及语义上的相似是不同的。
  这⾥还有个视觉化证据,可以证明使⽤像素差异来⽐较图像是不够的。z这是⼀个叫做t-SNE的可视化技术,它将CIFAR-10中的图⽚按照⼆维⽅式排布,这样能很好展⽰图⽚之间的像素差异值。在这张
图⽚中,排列相邻的图⽚L2距离就⼩。
图 6 .将图⽚进⾏降维显⽰
大营
上图使⽤t-SNE的可视化技术将CIFAR-10的图⽚进⾏了⼆维排列。排列相近的图⽚L2距离⼩。可以看出,图⽚的排列是被背景主导⽽不是图⽚语义内容本⾝主导。具体说来,这些图⽚的排布更像是⼀种颜⾊分布函数,或者说是基于背景的,⽽不是图⽚的语义主体。⽐如,狗的图⽚可能和青蛙的图⽚⾮常接近,这是因为两张图⽚都是⽩⾊背景。从理想效果上来说,我们肯定是希望同类的图⽚能够聚集在⼀起,⽽不被背景或其他不相关因素⼲扰。为了达到这个⽬的,我们不能⽌步于原始像素⽐较,得
继续前进。
参考⽂献

本文发布于:2024-09-21 04:21:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/326241.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:训练   分类   图像   距离   物体   标签
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议