传统图像分类算法总结

图像分类,顾名思义,就是输入一张图像,输出对该图像内容分类的描述的问题。它是计算机视觉的核心,实际应用广泛。

图像分类的传统方法是特征描述及检测,这类传统方法可能对于一些简单的图像分类是有效的,但由于实际情况非常复杂,传统的分类方法不堪重负。

传统图像分类算法的原理

(1)输入图像数据集
(2)图像预处理
(3)特征提取
(4)训练分类器
(5)图像分类识别
以上就是图像分类算法的基本步骤。
接下来,就挨个来介绍每一步的处理。

(1) 数据集的处理

首先,数据集分为两类:训练集和测试集。训练集,顾名思义,就是让计算机去学习数据的特征。在训练集中,图像是已经分类好且标注了标签的数据集,而在测试集中,是包含各类图像的。如下图所示:
在这里插入图片描述
该图就是一个数据训练集的制作

在这里插入图片描述
上图就是对需要分类的图像的测试集
在制作好数据集之后,接下来就是对数据的预处理,其中包括图像归一化、调整图像尺寸、图像去噪等一系列的可以增强图像质量的一些图像处理操作,这些预处理同样是为了让计算机能够更好的学习数据的特征,从而不被一些不必要的干扰模糊。

(2)图像特征提取

众所周知,计算机不认识图像,只认识数字。为了使计算机能够“理解”图像,从而具有真正意义上的“视觉”,所以我们要研究如何从图像中提取有用的数据或信息,得到图像的“非图像” 的表示或描述,如数值、向量和符号等。这一过程就是特征提取,而提取出来的这些“非图像”的表示或描述就是特征。有了这些数值或向量形式的特征我们就可以通过训练过程教会计算机如何懂得这些特征, 从而使计算机具有识别图像的本领。
所谓图像特征,就是是某一类对象区别于其他类对象的相应(本质)特点或特性, 或是这些特点和特性的集合。特征是通过测量或处理能够抽取的数据。对于图像而言, 每一幅图像都具有能够区别于其他类图像的自身特征,有些是可以直观地感受到的自然特征,如亮度、边缘、纹理和色彩等;有些则是需要通过变换或处理才能得到的, 如矩、直方图以及主成份等。
这里,就引出了一个新的名词——特征向量,我们常常将某一类对象的多个或多种特性组合在一起, 形成一个特征向量来代表该类对象,如果只有单个数值特征,则特征向量为一个一维向量,如果是n个特性
的组合,则为一个n维特征向量。该类特征向量常常作为识别系统的输入。实际上,一个n维特征就是位于n维空间中的点,而识别分类的任务就是找到对这个n维空间的一种划分。
在特征提取时,通常会根据各类图像的特点,选取出最佳的特征提取算法。接下来,就介绍几种常见的特征提取算法。

  1. LBP特征提取

(1)原理
LBP:全名为局部二值模式,是Local Binary Patterns的缩写形式,最开始研究这个算法的初衷是来帮助图像做局部对比度的,用现在的话说就是描述图像的纹理,但它作为描述子来说,却不是在各方面都能发挥到极致的一个特征描述子。当然,它也有自己的优点,比如快速简单易实现,对于图像的强度以及光强弱的变化也能保持不变。LBP的计算思维是利用结构化的思想提取图像划分的每个区域的特征,再将每个区域统计起来,作为最终图像特征的提取。
在早期,LBP算子是被定义在了3*3的区域,以这个区域的中心像素为标准值,让与它相邻的8个灰度值与其相比较(具体比较方法如图2.1所示),结果就会有一个8位的二进制数,一般还会有一个步骤就是再将它转化为十进制数也就是LBP码,即得到了该区域的LBP值,同时这个值也就反映了这个区域的纹理信息。
(2)提取基本步骤
①首先把要提取特征的图像划分为16*16的区域;
②然后对于每个区域中的一个像素,通过上述所提到的获取LBP值的方法得到该区域中心像素的LBP值;
③继而根据此值来计算每部分的直方图,也就是每个数字的出现次数,然后用归一化处理直方图;
④最后将每一部分所得到的直方图衔接成一个特征向量,也就是整幅图的LBP纹理特征向量;
⑤最后便可利用分类算法来进行分类了。

  1. HOG特征提取
    (1)主要思想
    hog特征,即方向梯度直方图。是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。它的主要思想是在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。
    (2)实现方法

①将一个image(你要检测的目标或者扫描窗口)灰度化(将图像看做一个x,y,z(灰度)的三维图像);
②采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;
③计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。
④将图像划分成小cells(例如66像素/cell);
⑤统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;
⑥将每几个cell组成一个block(例如3
3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
⑦将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。
Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。

(3)训练分类器

模式识别分类问题是根据待分类的事物所呈现出来的一些特性,将它归到与其特性相似的种类当中去。具体实现过程如下:
(1) 创建训练数据集,并且要知道训练集中每个数据的分类标签;
(2) 根据已知的这些前提,寻找相应的函数或者准则来判断,并设计该判决函数模型;
(3) 对于函数模型中的参数应由训练集中的数据来确定;
(4) 模型确定好之后,利用相应的函数或准则取判定待分类的数据应属于哪一类.
从上述内容可以看出,对待分类的对象做出正确分类就是分类器要讨论的问题,接下来本章节将主要介绍关于分类器的问题。
简单来说就是,将提取到的数据集的特征送入到分类器中去学习,得到自己所需要的模型。
在实践中最常用到的分类器为SVM分类器、KNN等。

(4)图像分类

当分类器训练好之后,就可以开始对需要待分类的图像进行分类识别了。一般情况下,如果想确定自己所训练的分类器性能好坏时,我们测试集的图片不能过少,否则无法判断模型性能。


版权声明:本文为qq_42067064原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。