基于深度学习的图像艺术属性分类
2019-05-21陈小娥
陈小娥
(福建船政交通职业学院信息工程系, 福建 福州 350007)
随着互联网和数字技术的快速发展,网络上的图像资源日益多元化,数量也呈现出快速增长的态势,如何在海量的图片信息中,通过计算机快速地查找到某一类图片就成为一项非常具有挑战性的课题。
图像特征提取的准确度对图像分类起到至关重要的作用。先通过人工定义并提取图像的一些特征,如HOG或SIFT特征,然后将这些特征输入到设计的分类器中完成训练和分类。但人工提取的特征表述能力有限,导致分类效果有限。之后,研究人员一直寻找区分度更强的特征,如Berg等[1]提出了一种能够自动发现最具区分度信息的POOF特征,改进了分类效果;Yang[2]等人和Yao[3]等人针对局部区域的算法进行了研究,除了特征之外,尝试使用模板匹配的方法来减少滑动窗口的计算代价。虽然提出的一些新的图像特征,使得分类效果有了一定提升,但毕竟描述能力有限。近年来,深度学习[4-5]在计算机视觉领域取得了巨大的成功,引起了越来越多的关注。由于深度学习可以自主进行特征学习和识别,具有比人工特征更强的描述能力,因此很多学者将深度学习应用到图像分类中,分类的正确率有了明显的提高。Gong等[6]人抽取全连接层的特征,与VLAD编码相结合,提出的MOP-CNN对特征进行了有效改进。石祥滨[7]等人提出了对称神经网络的图像分类,采用一种结合不同深度神经网络的方法,提高了网络泛化能力。
之前图像分类的研究主要侧重根据图像的主题、内容或场景属性等进行分类,而基于不同艺术风格(指图像不同的创作方法)属性的图像分类算法研究不多。文献[8]将多类SVM应用在图像艺术属性分类中,提出了一种针对艺术属性图像分类的特定SVM二叉树多类分类算法。文献[9]设计了水墨画图像分类系统,提出了适用于水墨画艺术风格分类的理论和技术框架。
本文提出一种基于深度残差网络和Inception学习模型的图像艺术属性分类算法。通过两种学习框架相结合,建立训练网络形成分类器,然后对具有不同艺术属性的图像进行分类。在本文中,不同艺术属性的图像主要包括摄影图片、国画、油画、沙画和素描等。同时,将分类结果与基于人工特征的算法、传统的卷积神经网络算法等进行实验对比,并分析各自的分类性能。
1 深度学习
深度学习是通过组合低层特征形成更加抽象的高层表示属性类别或特征,是基于对数据进行表征学习的方法,由Geoffrey Hinton[4-5]团队最早提出。
1.1 卷积神经网络结构
图1 卷积神经网络示意图Fig.1 Convolutional neural network sketch
卷积神经网络是神经网络的经典模型,其网络结构如图1所示,前若干层由卷积层和池化层组成,前层的输出作为后层的输入。该网络结构对平移、比例缩放等的变形具有高度不变性,主要具有稀疏连接和权值共享两个特点。一般地,C层为特征提取层,S层是特征映射层。每个特征提取层(C层)紧跟着一个用来求局部平均与二次提取的计算层(S层),该结构使网络在识别时对输入样本有较高的畸变容忍能力。
1.2 深度残差网络模型
图2 残差学习构建模块Fig.2 Building block of residual learning
为解决精准度下降问题,文献[10]在现有训练深度网络的基础下,提出了一种减轻网络训练负担的残差学习框架。跨层连接是深度残差网络的主要特色,由此训练更深的网络。如图2所示,显示了残差学习的一个构建模块,如果将x映射为F(x)+x,则网络的映射F(x)就趋向于F(x)=0。
1.3 Inception V3模型
Szegedy等[11]提出了一个新的GoogleNet模块和相应的架构——Inception V3,并给出了几个网络设计准则:为避免表示瓶颈,特征图大小应缓慢下降;高维表示可以用网络代替;可以在低维空间集成空间关系;平衡网络的宽度和深度。具体地,比如大卷积分解为小卷积,使用两层3*3卷积代替原本5*5的卷积。如图3(a)为文献[12]中的原Inception模块,图3(b)为文献[11]中根据第2部分提到的原则3替换后的模块。
图3 Inception 模块结构图Fig.3 Inception module chart
2 艺术属性图像分类
2.1 系统及深度网络的构建
图4 艺术风格图像分类系统Fig.4 Image classification system based on artistic style
首先,将图片进行预处理,分为训练图片和测试图片,分别作为训练模块和分类模块的输入,如图4所示。将图片输入深度网络进行训练,构造分类器模型,再将测试图片输入分类模型,即可得到分类结果。本文综合ResNet50和Inception V3两个模型构建分类网络,如图5所示为本文构建的网络算法框架。
图5 算法框架Fig.5 Algorithm framework
2.2 分类模型的构建
选择以Keras为基础的深度学习建模环境搭建图像艺术风格分类网络。Keras是以CNTK、Theano或者TensorFlow之一作为实际后台的建模环境。首先,构建基于ResNet50和Inception V3深度学习模型的多类分类模型。为方便比较,还设计了基于ResNet50和Inception V3模型的不同艺术属性图像二叉树多级分类网络,具体分类网络框架如图6所示。由第一级分类器将图像分为两类,一类是沙画,一类是除了沙画以外的其他风格的图像;依次类推,第二、三、四级的分类器可以依次划分出国画、油画和摄影及其素描。
图6 基于二叉树的多类分类框架Fig.6 Multi-class classification framework based on binary tree
3 实验分析
图像库由1 090幅图像组成,包括素描230幅,油画230幅,沙画206幅,国画190幅和摄影图片234幅,这些图片均从网上相应的图片库中下载。
3.1 “一次性”多类分类
首先,实现基于ResNet50和Inception V3两模型的多类分类网络。选取各类图片各150幅作为训练,其余图片作为测试图片进行实验,得到图像分类结果见表1。由表1中数据可见,与传统卷积神经网络相对比,本文的正确识别率有了一定的提升。
表1 与传统卷积神经网络的实验对比
3.2 基于二叉树的多级分类
本文还实现了基于ResNet50和Inception V3的二叉树多级分类网络。每一级采用一个深度网络,对各级分别进行训练,形成4个子分类器;再由各个子分类器组成基于艺术风格属性图像的二叉树多类分类器,由此构建分类模型。通过实验测试,该模型对图像分类的整体正确率为93.02%。文献[8]也是采用基于二叉树的多级分类方法,分类器主要采用SVM。为实验对比,将本文设计的二叉树分类顺序应用于文献[8],但因文献[8]分类的艺术风格图像不包含沙画,没有提取沙画的分类特征,所以实验中主要从图6分类框架的第二层分类器开始进行实验对比测试,主要比较素描、摄影、国画和油画的分类结果。经实验,测试结果如表2所示。由表2看出,本文算法相比于文献[8]的算法,分类正确率有了较大的提升。
每一级的区分类别如果顺序进行更换,分类效果可能就有所不同。本文每一级的区分类别的选择主要结合本文分类图像的艺术风格和“一次性”多类分类结果作为参考,同时经过多次实验最终确定。图7列举了部分被正确分类的各风格图像示意图。第1行至第5行分别是被正确分类的沙画、国画、油画、摄影图片和素描。
表2 各级分类实验结果对比
图7 被正确分类的各风格图像Fig.7 Correctly classified pictures of different style
图8列举了被错误分类的部分图片。其中,从左到右各图原本的风格分别是摄影图片、素描、摄影、油画和国画,它们分别被误判为沙画、国画、油画、摄影图片和素描。
图8 实验中被错分的部分图片Fig.8 Some wrongly classified pictures in the experiment
4 结语
本文提出了一种基于ResNet50和Inception 深度模型的针对不同艺术风格图像的分类算法。与传统的卷积神经网络算法以及文献[8]的多类二叉树分类算法相比,识别率均有了一定的提高。由于时间和精力的有限性,还存在一些问题有待进一步的研究,如文中提出的基于二叉树的多类分类框架在实验中取得了不错的分类效果,但还缺乏一定的理论推导证明。另外,深度学习的运算和存储量都比较大,将会限制将深度学习移植到移动设备或嵌入式开发平台中,因此如何将深度网络的参数进行压缩、提出新的加速算法,将基于深度学习的相关应用推广到更多的平台,有待进一步深入研究。