APP下载

基于迁移学习的图像分类在诗词中的应用研究

2021-08-02武苏雯赵慧杰王佳豪

计算机技术与发展 2021年7期
关键词:卷积分类诗词

武苏雯,赵慧杰,刘 鑫,王佳豪

(中原工学院 计算机学院,河南 郑州 451191)

0 引 言

图像分类是将不同类别的图片分开的图像处理方法。它在工业、农业、医学等领域都起着重要的作用。图像识别在诗词搜索中的应用研究是根据图像中的主要特征,例如花、鸟、山来进行图像分类,得到关键词,通过关键词在已经创建好的数据库中搜索诗词,得到搜索结果。当前,许多诗词应用系统已投入市场,例如西窗烛、古诗词典和古诗词分类赏析等应用软件,这类软件为用户提供了一个搜索诗词的平台,便于用户快速获取到诗词信息。考虑到现有的搜索方式较为单一,且许多用户联想到诗词的情景各有不同,提出一种新型应用系统,通过对用户输入的图像进行特征提取,将特征提取后的分类结果进行整合,从已有的诗词库中自动匹配,输出与图像意境匹配最佳的诗词推荐给用户。

目前,图像与诗词匹配的算法日新月异,国内外致力于这一领域的研究也取得了一定的研究成果。文献[1]通过学习深度耦合的视觉诗意嵌入模型与基于RNN的联合学习生成器结合进行多对抗训练,实现跨模态相关性和诗意的相关性,提出了一种由图像自动生成英文诗歌的模型。文献[2]通过改进的VGG16模型,预测输入图形的中文预测结果,然后根据RNN的预测结果创作一首诗歌。文献[3]将深度卷积网络迁移应用到小规模花卉数据集上,在进行模型微调后可以取得较好的识别结果。文献[4]通过使用EfficientNet和MixNet构建了一个专家系统,能够准确、快速识别水果的种类。文献[5]提出了基于自然性和视觉特征通道的场景分类方法,用Gist模型在Oliva等[6]提出的图像库依据其语义类别进行分类,得到了良好的分类效果。文献[7]通过使用改进的InceptionV3网络以及改进的激活函数,实现了大规模花卉图像数据集的分类。

1 相关工作

1.1 图像数据集

由于项目的特殊需求,本实验专门构建了意象图像数据NID(nature image dataset),图像数据集NID是通过从标准数据集(例如Flower102、ImageNet、CIFAR-10、SUN397-15场景数据集、scene15category等)、百度图片库中选取的。删除无关、重复的图片以及非JPG格式的图像数据后,得到了60种共70 206张有效图片。由于物种类别的多样性,结合项目中诗词意象的特点,人为将类型相近的物种归为一类,便于识别分类。共分为九种不同的类别,对每一种类别的物种分别进行识别,具体的图像数据集如表1所示。其中有45类的图像数据在1 000张以上,最多的一种包含1 800张图像,有15类的图像数据低于1 000张,最少的一类为478张。由于图像的分类精度会受到数据样本数量的影响,文中采用数据增强[8]的方法来进行数据扩充,主要包括随机裁减、随机旋转、亮度调节等操作。其中设置了训练集和测试集,分别占数据集的80%和20%。

表1 NID数据集

1.2 EfficientNet模型

EfficientNet卷积神经网络[9]是通过使用复合系数网络的深度(卷积层的数量)、宽度(卷积层的通道数)、分辨率(输入特征的尺寸)中的所有维度进行均匀缩放的网络结构。因为单独缩放其中任一个维度,模型会随着模型的增大,精度变小,在整个神经网络的缩放过程中要综合均衡所有的维度才是关键,得到协调的进度和效率。在EfficientNet模型中,其使用一组固定的缩放系数统一缩放网络深度、宽度和分辨率。若想使用2N倍的计算资源,可将网络深度扩大αN倍、宽度扩大βN倍、图像尺寸扩大γN倍,这里的α、β、γ都是由原来的小模型上做微小的网格得到的最优解,N则是表明资源的可用范围,调节模型的可用资源。图1为EfficientNet的设计思路,从三个方面同时拓充网络的特性。

图1 模型的扩展过程

神经网络架构采用搜索的方式,在限定存储空间和目标浮点运算次数的条件下,搜索到了一系列EfficientNet B0-B6模型。文中采用轻量级的EfficientNet-B0网络作为主干网络,具体参数如表2所示。其中考虑到在stem stage层的小模型对前期底层特征的依赖,采取的是步长为2的卷积操作,可以有效地避免信息丢失的问题。

表2 轻量级EfficientNet-B0主干网络参数

1.3 模型构建

文中使用的EfficientNet-B0基本网络作为主干网络,主要由1个Stem和16个大Blocks堆叠构成,其中16个大Blocks可以分为1、2、2、3、3、4、1个Block。Block的通用结构如图2所示,其总体的设计思路是Inverted residuals结构和残差结构,在3×3或者5×5网络结构前利用1×1卷积升维,在3×3或者5×5网络结构后增加了一个关于通道的注意力机制[10],最后利用1×1卷积降维后增加一个大残差[11]边。

图2 Block的通用结构

1.4 迁移学习及微调

为了能加快模型的学习速度,本实验使用迁移学习。迁移学习[12-15]是将训练好的深度神经网络模型应用到另一个新的任务中,在这个过程中模型解冻、参数微调,训练得出适合新任务的模型。将已经在ImageNet数据集上训练好的EfficientNet-b0参数作为特征提取模型的初始参数,从而继承模型从ImageNet数据集上学习到的特征提取能力,再在此基础上进行微调。ImageNet数据集的数据量十分庞大,可以赋予模型极强的特征提取能力以及泛化能力。该方法不仅可以节省大量的训练时间和计算资源,更可以在一定程度上削弱过拟合现象,使模型拥有比随机初始化参数更好的表现。

2 多EfficientNet模型的融合应用

2.1 基于迁移学习的EfficientNet图像分类算法

由于NID的图像数据量目前还不够大,难以将网络模型训练到理想的分类效果,而ImageNet数据集的图像数量高达100多万张,EfficientNet模型先在ImageNet数据集上完成训练,对训练模型可以得到良好的识别率。因此文中采用基于迁移学习的EfficientNet图像分类算法来完成NID的分类任务。首先将ImageNet数据集在EfficientNet预训练模型上进行训练,在训练过程中调整模型超参数,使预训练模型能够较好地提取出图像的低层特征,例如边缘特征、纹理特征,使模型具有更佳的通用性,得到最佳识别结果,并记录相应的权重文件。再将NID其中一类图像随机选择80%用于训练,20%用于测试,训练集可以再次对模型超参数进行微调,充分训练和调整模型的语义层面的参数信息,提取出具有区分性的图像特征,最终得到最适合该类图像数据集的基于迁移学习的EfficientNet图像分类模型。

具体图像分类顺序如图3所示。

图3 基于迁移学习的EfficientNet图像分类算法顺序

2.2 融合模型的图像分类算法

NID中9大类图像分别通过基于迁移学习的EfficientNet图像分类算法得到9种不同参数的EfficientNet模型,其中包括兽类、鸟类、花类、昆虫、景物类、树类、水生动物、天气、人等。将这9种EfficientNet模型部署为一种融合模型,用于系统中图像处理的应用,图像识别与诗词搜索的系统框架如图4所示。其中的图像处理过程可以分为两个过程,第一个过程是图像裁剪、预处理,第二个过程是将预处理后的图像进行通道融合,选取相应的分类模型进行识别,将分类之后的输出结果传送到诗词数据库中进行下一步的搜索处理,图像分类过程的基本流程如图4所示。

(3)与职业技能鉴定相衔接。口腔教研室积极与自治区职业技能鉴定中心联系,将技能竞赛项目和内容与国家职业资格标准相结合,口腔技能竞赛项目与职业技能鉴定操作题相结合,使学生通过参与竞赛训练,达到职业资格标准的要求,取得相应的职业资格证书。这样,一方面可使竞赛资源得到有效利用,另一方面可增强学生参赛的积极性和竞赛的实效性。

图4 图像分类过程的基本流程

3 实验结果与分析

3.1 实验设置

3.1.1 环境设置

本实验均在kaggle平台上进行,使用python编程语言结合深度学习模型TensorFlow的高阶API:tf.keras实现神经网络的搭建、训练和测试。环境配置如下:操作系统为Windows10;GPU为Nvidia Tesla P100-PCIE-16 GB 1.328 5 GHz;CPU Frequency为2.3 GHz;RAM为14 GB;Disk为5.2 GB。

3.1.2 参数设置

该文使用TensorFlow的深度学习库Keras构建基于迁移学习的图像分类模型,通过EfficientNet模型迁移学习,设置学习率0.001,批尺寸128,采用AMSGrad优化器及交叉熵损失函数,实现了对NID的特征提取和分类。

AMSGrad算法针对Adam算法收敛性证明的缺陷,对Adam的更新规则做出了一些改进,在某些应用场景下拥有超过Adam算法的收敛速度。

3.2 结果对比分析

3.2.1 多EfficientNet融合模型结果分析

实验过程中分别在NID上对9种模型进行训练,实验训练总轮数为15轮,在训练过程中计算出每一轮的平均损失值,所有的损失值都随着训练轮数的增加而减小,收敛速度较快,并未出现过拟合现象。根据记录下的每一种模型精度绘制的变化图可以看出,模型精度也在随训练轮数的增加趋于稳定,其中每一类图像的分类精度如表3所示,9种模型的损失值和精确率变化情况如图5所示。

(a)9种模型的损失值变化曲线 (b)9种模型的精确率变化曲线

表3 NID的分类结果

由表3可知,文中方法图像分类结果均在90%以上,精确率最高的一类为水生动物,达到了99.62%,相对来说精确率较低的一类为鸟类,精确率为91.88%。

结合图5来看,基于迁移学习的EfficientNet的图像分类算法使NID的各类别图像的平均精确率达到了96.25%。这足以说明在NID图像分类研究方面的有效性。文中采用的迁移学习思想提取了深度特征避免了模型过拟合,同时结合低层特征来充分表达图像信息,使得文中分类算法更稳定,鲁棒性更强。

3.2.2 不同模型实验结果分析

为了验证EfficientNet对于NID的分类效果优于其他模型,将EfficientNet与Xception、Inception-V3、VGG16、ResNet50四种模型作比较,在构建的花类物种数据集上进行对比实验,结果如表4所示。可以看出,文中算法的精确率分别较Xception、Inception-V3、VGG16、ResNet50模型高5.11%、4.31%、13.32%、8.2%,且参数量为11 574 063,相比其他四种算法的参数量大大减少,降低了运算复杂度,减少了运算时间,符合项目中对图像分类的要求。

表4 EfficientNet模型与其他模型的对比

4 结束语

文中构建了一个大型的诗词图像数据集NID,在此基础上提出了一种基于迁移学习的多EfficientNet融合的图像分类算法模型,并取得了良好的分类效果,各类图像的平均识别率为96.25%,收敛速度快,且训练集和验证集之间并未出现过拟合现象。对比其他四个模型,实验结果表明,文中采用的模型识别结果稳定,且在NID上的识别率最高。

本研究仅对数据集中包含的60种意象景物进行了分类识别实验,要建立有效的、用于诗词搜索的图像识别系统,就要有更强大的训练数据作为基础,并且在提升模型的识别率,同时持续补充诗词库,以保证搜索到更全面、更精确的诗词。因此,在后期的工作中将补充图像数据研究种类、丰富诗词库,并增加图像识别模型识别的特征目标,以便获取更多的图像数据信息,以建立更准确的诗词搜索系统。

猜你喜欢

卷积分类诗词
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
关注诗词
关注诗词
关注诗词
按需分类
教你一招:数的分类
说说分类那些事