基于深度学习的特征和最大置信路径的图像分类方法

文档序号:9274936阅读:197来源:国知局
基于深度学习的特征和最大置信路径的图像分类方法
【技术领域】
[0001] 本发明属于模式识别领域,尤其是涉及可用于大规模图像分类的基于深度学习的 特征和最大置信路径的图像分类方法。
【背景技术】
[0002] 在计算机视觉领域,图像分类是一个非常重要,也是一个非常经典的研宄问题。然 而,随着图像数量增大,图像种类增多,大规模图像分类目前仍然是一个非常具有挑战性的 任务。由于图像数量增大,计算量也会增大,需要的时间也会增大,对硬件要求也高,如果仍 然采用传统方法训练一个多类分类器来作为最终的分类依据的话,将会出现计算复杂性和 准确性等一系列问题。所以有必要设计一套新的分类架构和分类方法。
[0003] 与传统的图像分类任务相比,大规模的图像分类任务的难点在于:(1)当图像数 量和种类增多时,计算量也随之增大,对硬件要求更高。(2)从很多目标类中识别一种目标 类比从少量目标类中识别一种目标类难度加大了很多,因为类数量增多时,必然存在一种 现象:有些类很相似,有些类差异性很大。这些相似的类严重地影响着分类的准确率。现有 的方法主要分为两大类,一类是利用深度学习构建深度卷积神经网络,先构建模型,然后通 过大量训练数据调整参数,这类方法需要大量训练数据,计算量大,对编程能力要求高,不 能给出类别间的关系,缺少友善的可视化效果,只能给出分类结果;另一类就是构建树形结 构,采用层次分类方法,它可以很好可视化分类效果,但由于没有完全利用树结构也就是类 之间的关系,即没有给出一个好的打分机制。另外,图片特征维度大,特异性和鲁棒性不够 好,导致分类结果不理想。
[0004] NingZhouandJianpingFan在文献"JointlyLearningVisuallyCorrelated DictionariesforLarge-scaleVisualRecognitionApplications" 中提到构建视觉树 以及联合字典学习,通过构建视觉树将相似的类聚在一起,不同节点学习不同的字典,以增 大图像表示的特异性。然而在进行分类的时候,他们并没有充分利用树节点之间的关系,只 是每层选择一个最大的分类结果向后传播,这样只要前面有分类错误,分类就会出错。另 外,该方法中学习到的字典特异性也不是很好,最终的准确率与深度卷积神经网络相差很 远。因此本发明利用了深度卷积神经网络中特征特异性好的优势,并结合类之间的关系构 建了 一个好的打分机制,提升了分类准确率。

【发明内容】

[0005] 本发明的目的在于针对大型图像分类计算量大和分类准确率低等问题,提供一种 基于深度学习的特征和最大置信路径的图像分类方法。
[0006] 本发明包括以下步骤:
[0007] (1)利用在ILSVRC2012图像库预训练的CNN网络,按照Hinton在ImageNet ClassificationwithDeepConvoutionalNeuralNetworks中提到的 7 层模型训练CNN 模型;
[0008] (2)对任意大规模图像库,用步骤⑴中训练好的CNN模型提取库中的所有图片特 征(CNN的最后一层全连接层的输出)表示图像;
[0009] (3)对CNN模型提取库中任意一个类Q,其中样例图像数量为队,第1张图像对应 的特征为//,计算第i个类均值向量Qi,计算第i个类方差A;
[0010] (4)计算每两个类之间的距离,构成一个对称的距离矩阵D;
[0011] (5)根据距离矩阵D计算相似矩阵A;
[0012] (6)根据相似矩阵A,迭代使用谱聚类算法,构建视觉树T;
[0013] (7)对每个簇训练一个SVM分类器,所有的SVM分类器形成一个有结构的树形分类 器;
[0014] (8)对任意一张测试图像,依次从树的根节点对应的SVM分类器划分,每一个SVM 分类器都会给出一个置信分数,判断该测试图像属于该节点的各个子节点的概率,一直到 叶子节点,将叶子节点与根节点间的路径中所经过的节点对应的置信分数相乘,作为路径 的置信值,其中根节点处概率设置为1 ;
[0015] (9)由于步骤⑶中要判断的路径太多,为了加快速度,在树的每一层都过滤一 次,仅保留置信分数排在前K个的节点。
[0016] 在步骤(3)中,所述均值向量Qi的计算公式为0, ;
[0017] 第i个类方差 < 的计算公式关
[0018] 在步骤⑷中,所述计算每两个类之间的距离的公式为
,后一个等式由前一 个等式推导出来。 dis(C,C )
[0019] 在步骤(5)中,所述相似矩阵A的类间相似性计算公式为4 =exP(< 的 选择可以参考BrendanJ.Frey的文章ClusteringbyPassingMessagesBetweenData Points,也可以简单的取作特征维度。
[0020] 在步骤(6)中,所述根据相似矩阵A,迭代使用谱聚类算法,构建视觉树T的具体方 法可为:首先对所有类别对应的相似矩阵A,使用谱聚类算法,形成K个簇,每个簇里面含有 多个相似的类,继续对每个簇对应的相似矩阵使用谱聚类算法……直到满足树的最大深度 限制条件或者簇的最小类成员个数限制条件就停止聚类;簇对应树的非叶子节点,由多个 目标类组成;树的叶子节点即为目标类。
[0021] 在步骤(8)中,使用的SVM为one-vs-rest:
[0022] (5. 1)SVM进行划分的时候,会给出测试图片到每个类的置信距离d,通 过logistic函数,可以将该距离映射到0到1的一个概率值上,其计算公式为
[0023] (5. 2)通过一个贝叶斯网络求出测试图像被分到某个目标类Ci的概率,即是求根 节点到该叶子节点所经过的一条路径的得分,计算公式为[0024] P (cj) = P (cj | parent (cj)) *p (parent (cj))
[0025] 其中P(Ci)为目标类q的最终得分,parent(cD为q的父节点;
[0026] (5. 3)为了加快计算速度,避免遍历所有路径,树每层都选取概率最大的前K个中 间节点。
[0027] 本发明利用深度学习的优势,提取CNN最后一个全连接层的输出作为图像特征, 并构建视觉树,训练对应的分类器,给出了对应的打分机制。本发明具有如下突出优点:
[0028] 1.本发明利用CNN提取图像特征,具有很好的判别性和鲁棒性。
[0029] 2.本发明给出了两个类的距离计算公式,考虑到了每个样本,并通过推导极大地 优化了计算复杂性。并进一步得到类之间的相似性,从而迭代使用谱聚类算法构建视觉树。
[0030] 3.本发明给出了一个高效的打分机制,充分利用了类之间的视觉关系,实验结果 显示本发明所使用的方法对于大型图像分类有很好的效果,并且在当前流行的方法中有明 显的优势。
【附图说明】
[0031] 图1是本发明CNN提取特征的流程图。
[0032] 图2是本发明判断测试图片的流程图。
【具体实施方式】
[0033] 参考图1和2,本发明的实施步骤包括提取图像特征,构建视觉树并训练对应分类 器,和根据本发明提出的打分机制测试图片三个部分。
[0034]步骤1,训练一个CNN模型
[0035] 下载一个大的图像库,如ImageNet2012图像分类比赛库,参考Hinton在ImageNet ClassificationwithDeepConvoutionalNeuralNetworks中提到的 7 层模型训练一个 CNN模型
[0036] 步骤2,提取特征
[0037] 用步骤1训练好的CNN模型对实验数据库中所有图像提取特征,也就是在CNN最 后一个全连接层的输出作为图像的特征,用于后面的计算。
[0038] 步骤3,计算相似矩阵
[0039] (3a)计算每个类的均值向
为图片第i 类的第1张图片对应的特征。
[0040] (3b)利用公式邮€^,) = ¥(||2,-2|+<7,2+〇计算每两个类之间的距离,计算所 有距离后就可以构造一个对称的距离矩阵,正对角线上的值都是0。
[0041] (3c)根据两个类之间的距离计算两个类之间的相似性,计算公式为 dis(CrC.) 4/ ~exP( ~2-l) '《的选择可以参考BrendanJ.Frey的文章ClusteringbyPassing H MessagesBetweenDataPoints,也可以简单地取作特征维度,从而构造一个对称的相似矩 阵A。
[0042] 步骤4,构造视觉树
[0043] (4a)通过步骤3得到的相似矩阵,使用谱聚类,将相似的类聚在一起,N个类被聚 成K个簇,每个簇由一些相似的类聚在一起;
[0044] (4b)判断是否达到停止聚类的条件,即是否达到设定的树的最大高度,簇中类的 个数是否小于设定的最小阈值;否则进入(4c);
[0045] (4c)对上次聚类生成的簇,继续使用谱聚类,对应的相似矩阵为A的子矩阵,即由 该簇中的类在A中对应的行和列组成;
[0046] (4d)重复步骤(4b)和(4c),完成视觉树的构建。
[0047] 步骤5,训练分类器。
[0048] 针对树的每个非叶子节点,训练SVM分类器,用于将测试图像划分到其子节点中, 并给出对应的分数。
[0049] 步骤6,分类。
[0050] (6a)对给定的测试图像,丢给视觉树中根节点对应的分类器,进行分类,打分,给 出分数最高的k个子节点。
[0051] (6b)判断当前k个节点是否
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1