APP下载

一种基于深度学习的半监督分层模型

2020-06-23王江晴周玮瑜

数据采集与处理 2020年3期
关键词:层次结构相似性类别

王江晴,张 蕾,孙 翀,帖 军,周玮瑜,孟 凯

(1.中南民族大学计算机科学学院,武汉,430074;2.湖北省制造企业智能管理工程技术研究中心,武汉,430074)

引 言

图像集分类是计算机视觉领域的研究热点之一。实际应用中,图像集中图像数量大、类别多且不同类别的图像间也可能存在相似性[1]。扁平化的图像集分类方法不足以刻画图像间的相似关系,利用层次结构可以解决该问题。在层次结构中,自顶向下对图像集中的图像进行从粗到细的分类。如图1 所示,每个节点代表一个图像类别集合,根节点包含所有的图像类别,每个叶节点只包含一个特定的图像类别。对于一个给定的内节点,只包含父节点图像类别的一个子集,这些图像类别可能在某方面具有一定的相似性[2]。现有图像集层次结构分类研究局限于对标签已知的图像集,当出现标签未知图像时,这些方法都可能存在重新学习层次结构的问题,针对标签未知图像在层次结构中分类的研究目前很少。

图1 图像集分类层次结构Fig.1 Image set classification hierarchy

为了解决标签未知图像在树结构中的无法定位及标签已知新图像在树结构添加的问题,本文提出了一种半监督分层模型(Semi-supervised layer-wise model,SLM)。该模型实现对标签已知数据集进行分类,并有效地学习标签未知图像特征,找到其在树节点中的相应位置,更新层次结构。SLM 具有3 方面的特点。(1)图像集编码。即在层次结构中,图像的分类是在特征空间而不是在语义标签空间中实现的。对比传统图像处理算法,卷积神经网络(Convolutional neural network, CNN)优点是其可以直接对1 张输入图像进行处理。另一方面,深度学习强大的建模能力允许通过特征表示来处理复杂的高维数据集[3];(2)层次结构。根据图像集中各个类别的图像编码,聚类得到层次结构,自底向上地将标签已知图像集划分出不同的组,实现在层次结构图像自动化分类;(3)针对标签未知图像更新层次结构。将标签未知的图像编码与预训练层次结构的节点编码自底向上进行相似性比较,将匹配图像归入层次结构。实验表明该方法能有效地更新层次结构,在较小训练集中取得好的效果。

1 相关工作

图像集层次分类研究工作主要涉及到3 个方面:图像特征提取、层次结构学习以及针对标签未知图像更新的问题。利用深度学习方法提取图像特征能够更抽象、更深层次描述图像的属性和特征;根据图像之间的相关性进行层次结构的构建,在图像集应用中前景巨大;随着图像集中动态出现新图像,层次结构更新也出现新的解决方案。

近年来,深度学习[4-6]在图像特征提取应用上发展迅速。文献[7]通过引入卷积神经网络,研究网络深度对效果的影响,当增加到16 层与19 层时,效果最好。VGG-16 与VGG-19 两种网络提高神经网络在图像分类中的准确性。VGGNet 卷积核大小只有3×3,两层的卷积核可以达到7×7 卷积核的效果,使得模型参数更少。深度学习展示了学习图像特征、提高识别正确率等方面的突出能力。扁平化的图像分类方法忽略了图像类别之间存在的关联性,将对象类分层组织成层次结构可以解决这个问题。文献[8]提出将图像集合组织成树形层次结构,利用层次树对对象类进行分组;文献[9]提出一种用于学习大规模分类的标签树,同时确定了树结构分类器;文献[10]提出了一种支持大规模植物物种识别的层次学习算法,利用多任务结构学习算法联合训练相关分类器,以提高识别能力;文献[11]提出支持大规模视觉识别的分层深度多任务学习(Hierarchical deep multi-task learning,HD-MTL)算法,从神经网络中不同层提取多组多级深度特征,利用类间相似性来学习分组的深度表示法,从而有效地区分视觉上相似的对象类。文献[12]提出针对新类别检测的基于支持向量机(Support vector machine,SVM)多任务分类器,将给定的测试图像示例找到一个最匹配的父节点,如果测试图像属于某个子节点,将其分配到对应子节点,否则在父节点下插入一个新的子节点。该方法为监督学习算法,每个节点都有一个分类器,出现新类别图像时,训练成本高。并且还可能会层间错误传播的影响,即父节点的错误将传递到其子节点,直到叶节点。基于上述存在的问题,本文提出基于半监督学习的算法,利用带标签图像聚类构建层次结构,利用不带标签图像自底向上更新层次结构。

2 半监督分层模型

每个对象类是包含相同对象的1 组图像的集合。标签不同的同一细粒度对象类之间由于具有相似性,会归属于同一个粗粒度标签中。SLM 主要可以分为3 个部分(图2),首先是对标签已知图像集进行编码,利用CNN 的卷积层实现对图像的特征提取;其次是利用图像编码进行聚类构建图像集分类的层次结构;最后根据动态出现的标签未知图像,更新层次结构。

图2 SLM 框架Fig.2 SLM framework

2.1 CNN 编码

给定图像集,选择预训练的VGG 网络中全连接层前的卷积层作为特征提取层,提取图像特征得到图像编码集。其中,标签已知图像编码集包含N个对象类;标签未知图像编码集为U={u1,u2,…},其中第i张标签未知图像编码为ui。

2.2 SLM 层次结构

深度为H的层次结构包含3 种节点:根节点、内节点和叶节点。其中,根节点包括所有的对象类;每个内节点仅包含其子节点中所有的对象类;每个叶节点都包含一个特定的对象类。层次结构构建过程如下。

(2)根据图像集构建先验知识树,引入收缩因子α,β,计算每层中内节点的个数,即每次聚类中k值,具体计算公式为

(3)层次结构中节点与节点间的边由对应图像集的隶属关系决定,计算每个后辈节点与上一层所有先辈节点对应的图像集交集,以交集最大的集合为主。对于每一个后辈节点,节点间隶属关系概率值p计算公式为

式中:Count(·)代表图像数量;PA代表先辈节点图像集合,PD代表某个后辈节点图像集合。当p值最大时,对应p值最大的先辈节点作为该节点的父节点,连接形成一条新边。同理,对图像集自底向上分层连接形成层次结构。

2.3 SLM 更新算法及分析

在更新树的过程中需要对新图像进行预分类,预分类的图像包含标签已知(已存在于树中的标签)图像以及标签未知图像,将预分类的图像编码与各个节点自底向上进行相似性比较。如果找到相似节点,将其分配给对应节点;如果图像不属于其中任意节点,则在层次结构中增加新节点,更新层次结构。具体过程如下。

(1)设置相似度阈值θ。

(4)当输入图像达到一定规模时,对层次结构中新增加的子节点池进行聚类,更新层次结构。

算法1 SLM 更新算法

该算法描述了SLM 更新算法流程。在比较阶段,将标签未知图像编码从叶节点开始,自底向上的进行比较,直到根节点为止。层次结构中父节点描述的是所有兄弟子节点之间共享的公共特征,并且相似性总是自底向上进行比较,标签未知图像总是可以在层次结构中找到一个最佳匹配节点。

3 实验环境与结果

3.1 数据集

本文选取两个真实公开数据集对提出的SLM 算法进行评价,数据集简介如下。

CIFAR-10:该数据集由10 个类的60 000 个32×32 彩色图像组成,每个类有6 000 个图像。其中有50 000 个训练图像和10 000 个测试图像。数据集分为5 个训练批次和1 个测试批次,每个批次有10 000个图像。测试批次包含来自每个类别的恰好1 000 个随机选择的图像。

CIFAR-100:该数据集包含100 个类,每个类包含600 个图像。每类各有500 个训练图像和100 个测试图像。CIFAR-100 中的100 个类被分成20 个超类。每个图像都带有一个“精细”标签(它所属的类)和一个“粗糙”标签(它所属的超类)。

CIFAR-10 数据集与CIFAR-100 数据集中图像的种类不重复。本文随机选取CIFAR-10 中每一类的3 000 张图像构建层次结构,选取CIFAR-100 中6 类图像(苹果、火车、皮卡车、老虎、牛和坦克)每一类的600 张图像作为类标签未知的图像,与CIFAR-10 剩余图像结合,70%更新层次结构,30%测试更新后层次结构对图像分类的准确性。

3.2 实验环境设置

本文使用VGG-16 网络提取图像的全局特征,其特征维度为512 维,为了提高计算效率,使用主成分分析(Principal component analysis,PCA)对其进行降维,降维后维度为20 维。实验在Python 3.4.2 环境下进行,采用TensorFlow 框架,实验计算机配置为主频3.40 GHz 4 核CPU,8 GB 内存。

3.3 实验结果分析

层次结构的深度H对图像分类结果影响较大,如图3 所示。分层过小,图像对象类之间相似性不能清楚表达,层次结构的分类效果不明显;分层过多会导致分类过细,增加模型的复杂度,找到最优的深度H对分类结果至关重要[13]。为了控制模型的复杂度,假设层次结构有4 层(包含根节点)。在SLM 模型构建中,参数的设定对层次结构的更新影响非常大。在进行相似性比较时,需要确定阈值θ,阈值的选取对准确率的影响如图4 所示。从实验结果中可知,当阈值取值为2.5 时,准确率最高。

图3 层次结构深度H 对分类准确率的影响Fig.3 Effect of hierarchical structure depth H on classification accuracy

图4 阈值θ 选取对分类准确率的影响Fig.4 Effect of threshold θ selection on classification accuracy

将CIFAR-10 数据集根据图像形态构建先验知识树,如图5 所示,再将CIFAR-10 数据集中选取的图像进行K-means 聚类构建层次结构,如图6 所示。层次结构中叶节点包含一个对象类,每个对象类是图像集中该类别所有图像的集合,内节点表示聚类后对象类的分组,根节点包含所有对象类。

图5 先验知识层次结构Fig.5 Prior knowledge hierarchy

图6 K-means 聚类构建的层次结构Fig.6 Hierarchical structure of K-means cluster construction

式中:NT代表测试集中正确分类的图像数量。更新后的层次结构对新类别图像分类的准确率定义为

式中:NT1代表新类别图像正确分类的个数,NTotal1代表新类别图像的总个数。更新后的层次结构对标签已知新图像分类的准确率定义为

式中:NT2代表标签已知新图像正确分类的个数,NTotal2代表标签已知新图像的总个数。SLM 算法的准确性同时参考以上两个标准,它的联合准确率为

式中:λ∈(0,1),考虑到选择图像的平衡性,λ的取值为0.5。针对新图像的检测,存在几种传统方法:一种是基于层次分类树的方法[14];另一种是支持向量机的方法[15]。SLM 模型的性能与传统的几种方法相比准确率略高,准确率比较结果如表1 所示。传统方法选择自顶向下进行分类,一旦高层节点分类错误,则下层节点一定会分类错误。SLM 算法通过从叶节点开始比较,可以准确地对细粒度对象类进行分类,从而进一步提高了图像集分类性能。

表1 不同方法下的分类准确率对比结果Table 1 Classification accuracy under different methods %

4 结束语

本文主要提出了半监督分层模型,以支持动态扩展图像层次结构。SLM 模型通过学习VGGNet,利用标签已知图像集构建的图像层次结构,通过相似性比较与聚类,动态更新图像层次结构,提升层次结构的鲁棒性。本文选取的数据集均采用真实公开数据集,结果显示在小规模图像集中,SLM 模型更具有优势。在标签已知图像层次结构中,主要参考了前期研究者的相关经验,实验采用的数据集范围还不广泛,在面对大型数据集时,各个参数的选取还有待改进。实验在相似性比较过程中,方式单一,后期将会继续研究。

猜你喜欢

层次结构相似性类别
一类上三角算子矩阵的相似性与酉相似性
浅析当代中西方绘画的相似性
壮字喃字同形字的三种类别及简要分析
基于层次分析法的电子设备结构方案评价研究
基于部件替换的三维模型生成方法
西夏刻本中小装饰的类别及流变
低渗透黏土中氯离子弥散作用离心模拟相似性
基于计算机防火墙防护技术探究分析
配网自动化通信系统相关问题研究
多类别复合资源的空间匹配