基于卷积神经网络的唐卡尊像自动分类研究

2022-01-09 05:19陈玉红刘晓静
计算机技术与发展 2021年12期
关键词:唐卡卷积准确率

陈玉红,刘晓静

(青海大学 计算机技术与应用系,青海 西宁 811601)

0 引 言

唐卡是用颜料或其他材料涂在彩色丝绸上的宗教卷轴画。它是一种具有地方特色的绘画形式[1],也是中国重要的非物质文化遗产之一。唐卡内容丰富,包括建筑物、医药学、天文历算、传奇故事等[2]。由于唐卡生产材料、涂料、地理环境、自然环境和宗教文化的特殊性,仅存在于少数地区且现存数量较少。此外,唐卡内容广泛,色泽鲜艳,整个画面层次分明,前景和背景区分不明显,构图复杂,结构严谨,一幅唐卡画像首先按照造像量度标准起稿,面部五官、头、胸、腰等各个部位都有严格的要求。唐卡画家通常需要多年的实践才能绘制出真正的唐卡[3],并且唐卡画像保存有一定的难度,难以处理受潮、水渍、霉斑、脏化等问题,因此数量较少。以上两个主要原因加上唐卡是中国的非物质文化遗产,要加大力度研究唐卡的数字化保护,为保护唐卡贡献自己的一份力量。

分类时较其他类型图像存在的挑战:

(1)唐卡图像和一般图像相比,内容丰富,构图复杂。如图1(b)所示,同一幅唐卡图像中,各个尊像的手势、坐姿、服装都有不同之处,人物之外的地方,细节精细,构图元素非常复杂且背景干扰大。在唐卡图像当中,背景复杂,构图元素极多,对唐卡尊像分类干扰较大,这使得分类难度加大。

(2)类内差大,即同一类的物体表观特征差别比较大。如图1(c)、(d)所示,从唐卡分类规则得知,手拿宝剑的都是文殊菩萨,但是外观却差别很大。

(3)类间模糊性大,即不是同一类物体的实例具有一定的相似性。如图1(e)、(f)所示,分别为黄财神、财宝天王,但相似性较大。

图1 不同的唐卡尊像图像

该文首次构建了一个有关唐卡尊像的数据集,首次应用卷积神经网络对唐卡尊像图像进行分类。在唐卡专业分类知识的前提下,通过设计的CNN网络模型,根据内容对唐卡尊像进行分类,为研究人员提供了便利,让越来越多的人理解和保护唐卡。

该文的主要贡献在于:构建了尊像唐卡分类数据集,并提出了一个浅层的CNN模型进行唐卡尊像分类,该CNN模型结合了AlexNet[4]、VGG16[5]、ResNet[6]模型的优点。最后,在同一个唐卡数据集上将优化的模型和其他典型分类模型进行了比较。

1 相关工作

图像分类分为基于特征学习和深度学习的图像分类方法,但对唐卡图像的研究较少。下面将分别介绍传统常见的图像分类方法、基于深度学习的图像分类方法和对唐卡图像的研究。

周依莲提出一种特征选择策略,在得到最优特征集的同时也可以约束不相关特征,从而实现了CT图像的不同类型肺癌分类,准确率达到86%左右[7];李奇峰提出在遥感影像分类中采用不同的方式进行纹理特征提取,然后和光谱特征相结合,并利用支持向量机(support vector machine,SVM)分类器进行遥感影像分类的方法,分类精度提升10%[8];黄万继将尺度不变特征变换(scale-invariant feature transform,SIFT)和SVM相结合应用到场景识别方面,与其他传统方法相比,分类准确率达85.12%[9];晋远等人用贝叶斯分类器进行家电设备识别,对每个设备类别的条件概率估计,最终识别正确率达91%[10]。

除此以外,图像分类还包括电器标签分类[11]、交通标志分类[12-13]、花卉图像分类[14]、果蔬图像分类[15-16]等方面,但近几年,应用深度学习进行图像分类的研究也愈发增多,尤其是在CNN基础上进行分类研究的[17-18]。

在零售情况未知的情况下,用架构相同,但是矩阵权重不同的两个九层卷积神经网络对水果进行分类,两个网络分别分类水果类别和区分水果品种,最终对于同一品种的水果分类准确度达到99.78%[19];童浩然将ImageNet数据集和MNIST数据集用于改进和优化CNN,在使用Inception结构时分别使用了Dropout和Adam算法,最终识别率得到提高,达96.53%[20];谢潇雨提出卷积神经网络模型的批量归一化处理,之后经过全连接层的传递,并通过输出层获得最终的分类结果,从而提高了入侵检测系统的准确率和检出率[21];任飞凯通过局部二值模式(local binary patterns,LBP)特征脸作为CNN的输入,同时采用Adam算法优化模型,融入Nesterov动量思想并通过改进二阶估计偏差修正来使学习率呈现单调递减的状态,实验结果显示优化后的模型收敛性更好,人脸识别效果更佳,准确率高达91.05%[22];江白华在CNN模型结构中引入DenseNet稠密连接结构,并使用批归一化与Dropout层,选择Adam优化网络参数,Relu作为激活函数,实现了人脸在线识别,并通过与VGG16、ResNet14模型对比,验证该模型的性能优异,在线识别准确率达92.5%[23];黄雪丽等人用SMOTE技术扩增数据,将数据直接输入到CNN模型中,国画图像的分类方法是基于Relu和Sigmoid激活函数的组合,准确率达91.55%[24];朱等人改进CNN,将全连接的层数减少一层,并用具有七个缺陷标签的Softmax分类层替换了Softmax分类器。卷积层和池化层的权重参数在预训练模型中共享,此模型对于水泥混凝土桥梁表面缺陷的分类准确率有98.96%[25]。

卷积神经网络有较多改进版本,主要方法就是采用Adam算法优化模型,通过批归一化与Dropout改善网络,缓解过拟合,不同作者有不同的网络模型,但是在唐卡方面的工作并不是很多。国内主要是对破损唐卡进行修复[26],提出的修复方法主要适用于对称性唐卡;再者就是唐卡图像的检索以及局部图像的识别[27],李晓杰将局部累加直方图和传统局部累加图进行对比,研究发现基于HSV空间的局部累加直方图方法更适用于唐卡图像的检索[28];王铁君等人提出一种融合Hu矩和局部二进制模式的图像特征提取方法, 在此基础上,提出了一种基于距离密度的改进的K近邻分类算法,待识别唐卡法器所属的种类与周围邻居点的距离越近,相关度越高[29];王铁君等人基于改进的SVM分类方法,根据主题对唐卡图像进行分类,然后从两个层次上标记唐卡中数量最多的圣像类唐卡,根据监督学习算法实现自动识别与标注唐卡中的法器、头饰和手势,得到标注关键词,与已建立的推理规则进行查询推理,实现唐卡图像的全局二次标注[30-31]。谢辉和其他人仅用了简单的分类规则,他们将唐卡分为四类,一种是基于不同的背景:红色、金色、黑色和彩色; 另一个是根据内容来判断,将唐卡分为佛、菩萨、宗师等,没有更详细的分类[32]。刘华明等人将唐卡头饰通过自我编码进行监督学习,然后在卷积池化操作过程之后输入标记的训练样本以训练Softmax分类器,此论文方法在唐卡头饰分类方面具有较好的分类性能[33]。

解辉等人仅对尊像类唐卡根据内容进行了简单的分类,并没有更详细的分类,因此,该文在此基础上对尊像类唐卡进行了更详尽的分类,并建立了分类数据集。从唐卡的复原,目标识别与检索的研究角度来看,尚无关于尊像唐卡图像分类与识别的研究。因此,该文提出了一种改进的CNN模型,用于对唐卡人像进行分类。实验证明,该模型在唐卡尊像图像分类中具有比典型模型更好的效果。该实验为唐卡研究人员提供了便利,使越来越多的人了解唐卡,并加入保护唐卡的行列。越来越多的人可以理解、探索和研究唐卡文化和艺术的真正价值,继承和发扬唐卡文化的优良传统,更有利于对这一非物质文化遗产进行数字保护。

2 数据集

2.1 唐卡分类规则

根据唐卡相关书籍《世界最美唐卡—三界故事》、《中国唐卡》学习得到的圣像类唐卡相关知识,将唐卡根据主尊的类别进行分类,根据有关书籍分类知识的总结归纳一共将唐卡分为六大类,其中每一类别又可以具体细分。

在实验当中,一共选取了13个小类进行实验,其中,如图2(a)所示,释迦牟尼佛为黄色身,发髻高耸,身披袈裟,结痂跌坐于法台上;图2(b)为四臂观音,共有四只手,一般中间两手合掌于胸前,右上手持水晶念珠,左手持莲花;图2(c)为白度母,主要形象特征是身体为白色,面有三目,上身袒露,左右手手心中各有一眼,左手于胸前执莲花;图2(d)为药师佛,虽然和释迦牟尼佛很相似,但是也有不同之处,药师佛身体一般为蓝色,右手膝前执一果树枝,左手脐前捧佛钵。根据前述圣像类唐卡人物的分类知识以及其他尊像分类的知识,将图2所示的唐卡人物等进行分类。

图2 不同的唐卡尊像图像

2.2 获取原始唐卡图像

唐卡图像通过多种渠道获取,途径一:通过爬虫技术从网上下载唐卡图像,然后手动筛选,将不是唐卡图像、图像不完整,残缺较多的图像剔除;途径二:将唐卡相关书籍《故宫唐卡图典》、《西藏唐卡(精)》、《热贡年都乎唐卡艺术》上的唐卡图像用扫描仪进行扫描得到;途径三:通过走访唐卡绘制大师,了解唐卡相关知识,并征得同意后进行唐卡图像的拍摄;整个数据集的收集花费时间较长。

2.3 构建唐卡数据集

由于唐卡图像数量有限且不均匀,难以满足神经网络模型需要大量数据的要求,因此对数量比较少的图像进行数据增强,通过镜像翻转、亮度增强、颜色增强、对比度增强、添加高斯噪声、椒盐噪声等操作扩充数据集,使测试集在数量扩大的同时大致均匀,其中,镜像翻转操作包括上下翻转和左右翻转;亮度增强包括使图片变亮和变暗,分别取原来图片明暗度的1.5倍和0.6倍;颜色增强取值为原来颜色的1.8倍,对比度增强是原来图片的1.5倍;在原来的RGB图像中加入均值为0,方差为0.006的高斯噪声;椒盐噪声即在RGB图像中加入的噪声密度为0.008。扩增后的数据集数量是扩增前的8倍。整个数据集包含19 895张唐卡图像。整个数据集共有13个类别,其中药师佛、释迦牟尼佛和莲花生大师占很大的比例,其余的分布均匀,图像大小均为(100,100)。

3 卷积神经网络模型构建

3.1 卷积神经网络基本原理

CNN是一种前馈神经网络,包括卷积运算,具有深层的网络结构[34]。它用于图像领域的监督学习中,并在图像识别[35]、图像检测[36-37]等方面有许多应用。 CNN的基本结构包括输入层、卷积层、池化层和完整连接层。

卷积层主要负责提取图像中的局部特征,主要通过卷积核的过滤提取出图片中的局部特征,卷积层的计算过程为用卷积核扫描整个图片,卷积操作利用共享权值和偏置值的特点来进行卷积操作从而提取得到数据的抽象特征。

池化层经常出现在两个卷积层之间,以减小尺寸,有效减小矩阵的大小以实现下采样,减少输入到最后一个全连接层的参数,并减少数据操作量,避免数据的过拟合[38]。

全连接层类似于传统神经网络的一部分,用于输出所需的结果。卷积层和池化层处理的数据可以输入到全连接层,输出结果是将所有数据组合成全局特征以获得最终的分类结果。

激活函数用于提供网络的非线性建模功能,将非线性元素引入神经网络,使神经网络能够完成非线性映射,并允许深度神经网络具有学习非线性的能力[39],因此在深度神经网络学习过程中加入激活函数非常重要。常见的激活函数有Sigmoid、Elu、Tanh以及Relu等[40],该文采用Relu函数,如公式(1)所示:

f(x)=max(0,x)

(1)

Relu函数的运算极其简单,直接取0和x的最大值即可,提升机器运行效率。

直接输入图像作为CNN的输入。在进行平均、归一化和其他操作之后,将图像信息转换为像素级信息,然后输入到卷积层。通过局部感知和权重共享来减少大量计算参数,使用Relu激活函数来加快收敛速度;使用最大池化层,即使用激活层输出的样本的最大值作为样本值;最后,在完全连接操作之后,将多组信号依次组合为一组信号,然后输出结果。

3.2 设计网络模型

该文的网络模型基于CNN的基本模型,并结合了其他模型的优点。卷积神经网络的基本结构包括输入层、卷积层、激活层、池化层和完全连接层。主要介绍以下部分:

(1)Dropout层。AlexNet模型引入了Relu激活功能和Dropout层。随机丢弃会阻止某些权重被更新。这是一种正则化技术通过在训练过程中防止神经元节点之间的关节适应来减少过度拟合。

(2)BatchNorm[41]。GoogleNet模型首次引入BatchNorm,以批量标准化每个池化层处理的数据,加快训练数据的收敛速度并减少不同批次之间的抖动,从而提高训练速度。

(3)512维全连接层。 VGG16模型引入了提到的512维全连接层。

(4)损失功能。损失函数使用交叉熵损失函数。此功能通常用于分类问题,它将其与激活函数softmax结合使用以获得损耗值。计算公式如下:

(2)

(5)优化函数。该文使用Adam算法来提高模型质量并减少计算量。基于损失函数和图像的准确性来判断是否达到准确性比率的最佳值。

网络模型如图3所示,其中Conv为卷积层,Relu为激活函数,BN为批量归一化层,Pooling为池化层,FC指的是全连接层,softmax函数保证归一化和为1,在分类场景中应用较多。

图3 卷积神经网络模型

4 实验及分析

4.1 实验步骤

唐卡人物分类的流程主要包括图像预处理、模型构建以及模型预测。

步骤一:唐卡尊像图像预处理。

(1)将样本集中的所有图像进行镜像翻转、亮度增强、亮度减弱、颜色增强、添加高斯噪声、椒盐噪声等图像增强的预处理操作;

(2)生成对应的数据列表,对图片进行缩放,裁剪为100×100的尺寸,即图片维度为(3,100,100)。然后将图片数组进行归一化处理,得到0与1之间的数值;

(3)将所有的圣像类唐卡图像样本输入,并随机抽取每个小类里的十分之一的样本作为测试集图像,其他部分作为训练集样本。

步骤二:构建CNN基本模型。

(1)所构建的CNN基本网络结构主要包括三组卷积层、池化层和完全连接层;

(2)将学习率初始化为0.01,Batch size大小设定为128进行实验,若准确率不再提高,则将学习率每次降低10倍,Batch size大小根据2n进行调整,得到一个基本的网络模型,最终学习率设为0.000 1,batch size设为64,经过一段时间的训练,最终损失函数收敛较快,准确率不断处于上升阶段;

(3)加入BatchNorm层和Dropout层进行进一步的实验,手动调整学习率以及Batch size的数值,并用验证集对训练进行评估,不断优化,保存好训练的模型,然后将卷积池化层的可调参数进行实验。

步骤三:模型预测。

(1)配置好预测的模型,准备好要预测的图片;

(2)加载之前训练好的预测模型;

(3)把图片放入预测模型,输出最终预测结果。

4.2 实验结果及分析

该实验主要在配备8线程CPU,NVIDIA V100 GPU,16 GB显存,100 GB磁盘和32 GB RAM的服务器上运行,并且训练测试过程是使用python实现的。

首先在训练集上进行实验以最大程度地提高训练集的准确性,然后在测试集上进行测试以获得最终的准确率。要在选定的训练集上进行训练,首先在基础上调整学习率和Batch size,然后调整池化层的相关参数,以下是实验数据。

经过不断测试,最终学习率选择0.000 1比较合适,一共训练30轮。首先暂定滤波器大小为3,池化层大小为2,池化层步长为2,Batch size选择64,激活类型选择Relu函数。

为了测试滤波器大小、池化层大小、池化层步长以及Batch大小对于圣像类唐卡人物分类的准确率的影响,进行了以下几个实验,实验主要采用单一变量法进行,即进行其中一项对最终分类结果的影响,设定其他项保持不变:

首先测试滤波器大小对实验结果的影响,保持池化层大小、池化层步长为2,Batch大小为64,改变滤波器大小,对比分类准确率。

由表1可以看出,在池化层大小、池化层步长以及Batch大小保持不变的情况下,滤波器大小设置为2准确率更高,所以当filter_size=2时,保持池化层步长不变,测试池化层大小对实验结果的影响。

表1 滤波器大小对实验结果的影响

如图4所示,当滤波器大小,池化层步长和批次大小保持不变时,池化层大小将用作变量。实验结果表明,当池化层大小为1时,分类准确率最高,达到94.81%。

图4 池化层大小对分类准确率的影响

从图5中可以看出,当滤波器大小为2时,池化层大小为1,将池化层步长设置为1,则精度最高,达到96.76%。

图5 池化步长对分类准确率的影响

此外,批次值的大小也会影响最终分类结果的准确性和效率。在实际训练中,将所有训练集划分为相同的训练集,然后在第二次训练期间,将所有分割的批次训练集依次放入网络中,直到完成所有批次训练集的训练为止,然后执行下一轮迭代。通过实验数据总结批次的大小和准确性之间的关系,以进行更好的训练。 实验数据如表2所示。

表2 Batch大小对实验结果的影响

由表2可知:当Batch的值小于50时,准确率只有81.21%,并且在训练过程中花费的时间明显比其他Batch值的时候更长,当Batch在50及以上时,基本保持不变,Batch越大,训练所花费时间越多,所以最终实验中采用Batch为64比较合理。

在训练集上调整各类参数,使最终的训练精度达到最高以后,在测试集上进行测试。如上所述,文章当中采用每一类当中的十分之一作为最终测试集的数据。

具体的分类结果如图6所示。

图6 部分分类结果展示

根据最终的预测结果,获得模型的准确性、召回率、精确度,对于采集的样本,可以直接知道实际情况下哪些数据为正,哪些数据为负。通过使用样本数据运行分类模型结果,还可以知道模型认为哪些数据是正数据,哪些数据是负数据,下面是四个基本指标:

(1)真实值为正,并且模型认为该数字为正(True Positive =TP);

(2)真实值为正,但模型认为该数字为负(False Negative=FN);

(3)真实值为负,但模型认为该数字为正(False Positive=FP);

(4)真实值为负,并且模型认为该数字为负(True Negative=TN);

(3)

准确率的计算公式见公式(3),精确度和召回率的计算公式见公式(4)和公式(5):

(4)

(5)

在多分类问题中,在计算召回率和准确率时,将要为每个类别计算的类别视为正类别,而将其余类别视为负类别。 各个类别的召回率、准确率和精确度如表3所示。

表3 各类别的召回率、精确度和准确率

由性能评价指标Accuracy可得:大威德金刚的得分高达99.5%,而四臂观音的得分最低,为88.6%,主要原因是大威德金刚的图像在色彩以及构造上是最复杂的,与其他类别的差别较大,比较容易区分;但是四臂观音的造像和普贤菩萨比较相似,面部表情、头饰以及手势比较相似,所以分类错误的图像较多。另外,由于整个训练集当中每个类别的数量不均匀,释迦牟尼佛的数量最多,因此,其他类别当中也有较多的图像被分类为释迦牟尼佛。

4.3 与其他分类算法的比较

为了验证文中提出方法的性能,在最佳参数条件下,将该方法与其他典型的图像分类方法进行了比较,如图7所示。实验结果表明:在相同数据集下,该方法的准确率比其他几种方法高约3%,分类效果更好。

图7 文中方法与其他典型方法准确率的比较

5 结束语

该文主要研究基于卷积神经网络模型的唐卡人像自动分类方法,首先构建一个唐卡尊像分类数据集,然后在此基础上进行基于卷积神经网络模型的唐卡尊像图像分类实验。实验证明,在唐卡尊像图像分类中,提出模型的准确率提高了3%以上,更适合于唐卡尊像图像分类。减少分类所花费的人力和物力,对唐卡非物质文化遗产进行数字保护,使更多人参与唐卡的保护。

该方法的优点是使用了相对较新的卷积神经网络来重组网络结构层,实现了较浅的网络结构分类模型的构建,并且在自己构建的数据集上进行测试。然而该方法也存在一定的缺陷,即训练模型花费时间太久,系统界面功能单一。在以后的工作当中,将以提高训练效率为重点,并在此次实验的基础上继续进行唐卡人物的检测,将其他神经网络模型(如yolov3、SSD等)进行改进并应用到唐卡人物的分类及人物、法器、头饰等的检测当中,为唐卡这种非物质文化遗产的数字化保护贡献一份力量。

猜你喜欢
唐卡卷积准确率
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于图像处理与卷积神经网络的零件识别
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
李雪:唐卡收藏进入理性阶段
基于深度卷积网络与空洞卷积融合的人群计数
西藏唐卡产业的特点及其存在问题的研究