常用算法简介(3)

2019-04-16 23:33

方图,生成具有独特性的向量,这个向量是该区域图像信息的一种抽象,具有唯一性。

⑤ 关键点描述子的生成

首先将坐标轴旋转为关键点的方向,以确保旋转不变性。以关键点为中心取8×8的窗口。

Figure.16*16的图中其中1/4特征点梯度方向及幅值,右图为其加权到8个主方向后的效果。

图左部分的中央为当前关键点的位置,每个小格代表关键点邻域所在尺度空间的一个像素,利用公式求得每个像素的梯度幅值与梯度方向,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,然后用高斯窗口对其进行加权运算。图中蓝色的圈代表高斯加权的范围(越靠近关键点的像素梯度方向信息贡献越大)。然后在每4×4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点,如图右部分示。此图中一个关键点由2×2共4个种子点组成,每个种子点有8个方向向量信息。这种邻域方向性信息联合的思想增强了算法抗噪声的能力,同时对于含有定位误差的特征匹配也提供了较好的容错性。

计算关键点周围的16*16的窗口中每一个像素的梯度,而且使用高斯下降函数降低远离中心的权重。

11

在每个4*4的1/16象限中,通过加权梯度值加到直方图8个方向区间中的一个,计算出一个梯度方向直方图。这样就可以对每个feature形成一个4*4*8=128维的描述子,将这个向量归一化之后,就进一步去除了光照的影响。

3、 颜色特征

颜色特征是在图像检索中应用最为广泛的视觉特征,主要原因在于颜色往往和图像中所包含的物体或场景十分相关。此外,与其他的视觉特征相比,颜色特征对图像本身的尺寸、方向、视角的依赖性较小,从而具有较高的鲁棒性。颜色特征最常用的表示方法就是颜色直方图,表示为:q?{qu}u?1,2,...,m,qu?C??[b(x)?u],?是Kronecker

ii?1n函数,b(xi)表示像素xi所属的颜色区间。

计算颜色直方图需要将颜色空间划分成若干个小的颜色区间,每个小区间成为直方图的一个bin。这个过程称为颜色量化(color quantization)。然后,通过计算颜色落在每个小区间内的像素数量可以得到颜色直方图。而且在不同的情况下可以选择不同的颜色空间计算直方图,提高颜色特征的鲁棒性。在实际工程中,由于采集到的数据通常是YCbCr格式,而且亮度分量与颜色分量是分开的,所以,在后续的处理中应用YCbCr模型比较多。 四、 目标识别

目标识别是指一个特殊目标(或一种类型的目标)从其它目标(或其它类型的目标)中被区分出来的过程。它既包括两个非常相似目标的识别,也包括一种类型的目标同其他类型目标的识别。在机器视觉中,目标识别的过程一般都是根

12

据提取出的目标特征,通过训练好的分类器来得到目标所属的类别,从而达到识别的目的。前面已经介绍了几种常用的特征提取方法,当然还有其他的很多特征,比如Haar特征、Harris角点特征、简单的形态学特征等等。在分类器方面,使用比较多的有SVM、AdaBoost、随机森林等。

1、 SVM分类器

支持向量机(SVM)是一个由分类超平面定义的判别分类器。也就是说给定一组带标签的训练样本,算法将会输出一个最优超平面对新样本(测试样本)进行分类。一个线性判别函数是指由x的各个分量的线性组合而成的函数,

g(x)??Tx??0,?是超平面的法向量。对于两类问题的决策规则为:如果

g(x)?0,则判定x属于C1;如果g(x)?0,则判定x属于C2;如果g(x)?0,

则可以将x任意分到某一类或者拒绝判定。设xp是在判别面g(x)?0外的一点,可知,该点到判别面的距离为:

d??Txp??0?, 所以,g(xp)?r?, r=?d。判别函数g(x)正比于点x到超平面的代数距离(带正

g(x)?0;g(x)?0。 负号)。当点x在超平面的正侧时,当点x在超平面的负侧时,

对g(x)进行归一化,使所有样本都满足g(x)?1,即离判别面最近的样本满足g(x)?1,所以,分类间隔为2?。因此,要求分类间隔最大就是要求?i?0,1,...,n。最小,而要求分类面对所有样本正确分类,就要求yi(?Txi??0)?1?0,

求最优分类面问题可以转化为如下的约束优化问题: 12min?, yi(?Txi?b)?1?0, i?0,1,...,n, 2应用拉格朗日乘子法得到最优分类函数为: f(x)?sgn(??iyi(xiTx)??0)。 i一般来说,任意高次判别函数g(x),都可以通过适当的变换,转化为线性判别函数处理,x?A(y),所以最优分类函数变为:

f(x)?sgn(??iyiK(xi,x)??0),

i13

K(?)为核函数,上式就是支持向量机。

2、 AdaBoost分类器

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。这里阐述下算法的具体过程:

1) 给定一个训练数据集T?{(x1,y1),(x2,y2),...,(xn,yn)},yi属于标记集合{?1,1}。初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权重:

?1(i)?1。 N2) 进行多轮迭代,用m?1,2,...,M表示迭代次数。使用具有权值分布?m的训练数据集学习,得到基本分类器Gm(x)。 3) 计算Gm(x)在训练数据集上的分类误差率。

em???m(i)I(Gm(xi?yi)),

i?1NGm(x)在训练数据集上的误差率em就是被Gm(x)误分类样本的权值之和。 4) 计算Gm(x)的系数,?m表示Gm(x)在最终分类器中的重要程度。

?m?log121?em。 em5) 更新训练数据集的权值分布,用于下一轮迭代。

?m?1(i)??m(i)Zmexp(??myiGm(xi)), Zm是规范化因子。 6) 组合各个弱分类器。

得到最终分类器,

f(x)???mGm(x),

m?1MG(x)?sgn(??mGm(x))。

m?1M14

3、 随机森林

随机森林指的是利用多棵树对样本进行训练并预测的一种分类器。简单来说,随机森林就是由多棵CART(Classification And Regression Tree)构成的。对于每棵树,它们使用的训练集是从总的训练集中有放回采样出来的,这意味着,总的训练集中的有些样本可能多次出现在一棵树的训练集中,也可能从未出现在一棵树的训练集中。在训练每棵树的节点时,使用的特征是从所有特征中按照一定比例随机地无放回的抽取的,根据Leo Breiman的建议,假设总的特征数量为M,这个比例可以是M,1M,2M。随机森林的训练过程可以总结如下: 2(1) 给定训练集S,测试集T,特征维数F。确定参数:使用到的CART的数量

t,每棵树的深度d,每个节点使用到的特征数量f。终止条件:节点上最少样本数s,节点上最少的信息增益m对于第1?t棵树,i?1?t。

(2) 从S中有放回的抽取大小和S一样的训练集S(i),作为根节点的样本,从根节点开始训练。

(3) 如果当前节点上达到终止条件,则设置当前节点为叶子节点,如果是分类问题,该叶子节点的预测输出为当前节点样本集合中数量最多的那一类c(j),概率

p为c(j)占当前样本集的比例;如果是回归问题,预测输出为当前节点样本集各

个样本值的平均值。然后继续训练其他节点。如果当前节点没有达到终止条件,则从F维特征中无放回的随机选取f维特征。利用这f维特征,寻找分类效果最好的一维特征k及其阈值th,当前节点上样本第k维特征小于th的样本被划分到左节点,其余的被划分到右节点。继续训练其他节点。

(4) 重复(2)(3)直到所有节点都训练过了或者被标记为叶子节点。 (5) 重复(2),(3),(4)直到所有CART都被训练过。 利用随机森林的预测过程如下: 对于第1?t棵树,i?1?t:

(1)从当前树的根节点开始,根据当前节点的阈值th,判断是进入左节点(?th)还是进入右节点(?th),直到到达,某个叶子节点,并输出预测值。

(2)重复执行(1)直到所有t棵树都输出了预测值。如果是分类问题,则输出为所有

15


常用算法简介(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2006-2011全国物理竞赛初赛试题 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: