学院:电子工程学院
学号:14020199025
姓名:徐铭晟
【嵌牛导读】:计算机视觉中非常热门的一个课题就是图像识别,在传统的搜图功能中,图片的类标签往往是由图片发布网页的关键词组成的,这种方式往往效果很差。在图像识别这种技术发展起来后,搜图等一系列基于此的应用会有更好的发展
【嵌牛鼻子】:监督学习 KNN 图像分类
【嵌牛正文】:
计算机视觉中非常热门的一个课题就是图像识别,在传统的搜图功能中,图片的类标签往往是由图片发布网页的关键词组成的,这种方式往往效果很差。在图像识别这种技术发展起来后,搜图等一系列基于此的应用会有更好的发展。
在讲具体算法之前,我们先简单介绍一下监督学习和knn。
监督学习是从标记的训练数据来推断一个功能的机器学习任务。具体到图像识别这个任务中,简单的例子便是分别给机器100张猫
和狗的图片,并告诉机器这张图是猫...这张图是狗....通过这些训练样本,给机器一个判别图片是猫还是狗的评价标准。当我们拿出一张机器没见过的图片,输给机器,机器能基于之前的训练数据,给出一个恰当的结果。
kNN分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别, kNN方法在类别决策时,只与极少量的相邻样本有关。
简要得介绍了knn算法后如何将此算法应用于图像分类问题?
大家自然想到,通过判断我们需要判断类的图片与训练样本的相似程度,设定合理的k值,我们就可以得到基本的分类器。但是如何判断图片之间的相似度?
一个常用的算法即为欧式距离法。上节我们讲到,一张图片在计算机中是基于像素点存储的,每个像素点即为一个数据点,有了这个知识,我们很容易想到,可以利用两张图片中各个像素点的数据差的平方加权和 来表示两张图片之间的欧式距离。利用欧式距离产生的相似度,加上knn算法,我们很容易就可以构建出一个分类器。实践证明,在pascal数据集中,当设置k值为7得到的分类精度最为理想,约为25%。很容易看出这个算法的弊端,当相同的图片,经过一定的平移,旋转,虽然为一样的物体信息,两张图片的欧式距离相差很可能巨大。要想提升图片识别的准确率,knn算法自然是不够的。