基于卷积神经网络的织物图像特征提取与检索研究进展
2019-05-27丁笑君李秦曼邹奉元
孙 洁, 丁笑君, 杜 磊, 李秦曼, 邹奉元
(1. 浙江理工大学 服装学院, 浙江 杭州 310018; 2. 浙江传媒学院 设计艺术学院, 浙江 杭州 310018; 3. 浙江省服装工程技术研究中心, 浙江 杭州 310018; 4. 丝绸文化传承与产品设计数字化技术文化和旅游部重点实验室, 浙江 杭州 310018)
织物是服装的三大物态构成要素之一,织物图像的分类、识别与检索技术在纺织服装行业数字化设计与智能制造领域发挥着重要作用[1-2]。随着织物图像数量的迅速增加,如何合理地组织、表达织物图像信息,使用户能够快速、准确地从海量图像数据集中找到目标图像是一个亟待解决的问题[3]。
基于内容的图像检索(CBIR)通过图像像素相似性匹配实现检索。在CBIR系统中,图像浅层视觉特征经参数化处理转化为特征向量,从而实现计算机对图像信息的读取。目前,已有多种图像浅层视觉特征提取方法被用于图像检索,如颜色、形状及纹理特征[4]、空间包络特征(GIST)[5-6]等基于图像全局特征的提取方法,词袋模型(BoW)[7]、尺度不变特征变换(SIFT)[5]等基于图像局部特征的提取方法。特征提取后需通过欧氏距离或余弦相似度函数[6,8]等非柔性距离函数进行图像相似度搜索,而固定的刚性相似函数或距离函数,并不是最适合的复杂视觉图像检索任务的距离计算方法。
从计算机提取的浅层视觉特征到大脑中形成的高级人类感知是一个复杂的映射关系,即由浅层视觉特征到高层感知判断的过程存在“语义鸿沟”。深度学习被认为是当下克服“语义鸿沟”的重要途径。该方法通过多个层次的数据抽取进行特征学习,并允许系统学习复杂的函数[1,3,9],进而实现语义概念的抽象表达[10]。近年来,学者们提出了大量的深度学习技术。其中,深度卷积神经网络(CNN)在计算机视觉和图像识别的各种任务和竞争中都表现出了较优的性能[11]。在CNN分类识别任务基础上实现基于语义的图像检索(SBIR)已成为图像检索的发展趋势。
织物图像检索的关键是设计适合的、高效的图像特征提取方法,并能够在此基础上构建具有适用性的分类与识别模型[11-12]。针对上述问题,本文分别从织物图像浅层视觉特征提取、深度特征学习 2个方面梳理并讨论其在织物图像检索中的适用性,并从高层语义属性、网络结构设计与距离尺度学习3个方面论述了检索模型的优化路径,最后基于现状展望了该领域未来的研究重点。
1 织物图像浅层视觉特征提取
图像浅层视觉特征主要关注图像的颜色、纹理、形态等视觉特征以及GIST、SIFT等手工提取特征。
1.1 织物图像浅层视觉特征
1.1.1 颜色特征
颜色特征是织物图像识别过程中最直观的视觉特征。颜色特征提取主要有颜色矩(CM)[6]、颜色直方图(CH)[2,13-14]及颜色相关图[15]等方法。颜色直方图可用于描述不同色彩在整幅图像中所占的比例,但并不能捕捉到颜色区域的空间关系[6]。颜色相关图和颜色矩是基于图像颜色全局分布的颜色索引方法,具有特征向量维数低、计算次数少等优点[6],但对图像的尺寸与空间信息不敏感。故颜色特征在图像分类、识别与检索中一般不单独使用,需要与其他特征结合使用。
1.1.2 纹理特征
纹理特征旨在捕获图像中的表面细粒度和重复模式,描述图像中对象的表面性质,对区域内部灰度变化进行量化[16]。
在织物特征的表达中,纹理特征对织物表面肌理[14,17]、重复周期[17-18]、疵点[19]等具有较好的表征效果。Jing等[17]采用灰度均值、灰度方差和灰度共生矩阵等纹理特征分析色织物的意匠图和重复特征,识别色织物的组织模式。Yildiz[19]采用局部二值(LBP)特征表征起绒织物表面疵点特性,实现织物疵点检测。但以上2个单独使用纹理特征进行织物特征表征的案例中,样本均为纯色织物图像,对于色差大、复杂程度高的织物图案,还需融合其他特征使用。
1.1.3 形状特征
形状特征提取通常需在图像分割与轮廓提取后进行。形状特征提取方法可分为2类:基于边界和基于区域[6,20]。傅里叶描述符[21]和不变矩[2,22-23]是形状特征的2种常用表示。傅里叶描述符使用傅里叶变换边界进行形状描述。不变矩的主要目的是利用变换不变的区域内像素点的矩进行形状描述。形状特征在多色织物图案元素的识别问题中具有重要作用,在检索运用中,形状特征也需要与其他特征融合使用[22-23]。
1.2 多特征融合应用
如上所述,颜色、纹理和形状特征是图像的浅层视觉特征,每一类特征在单独使用时均存在缺陷。结合2个及以上的特征,可达到更好的检索效果[6,22]:Kuo等[2]采用颜色直方图和重复单元图像的Hu不变矩构建波点印花织物的检索数据库;向忠等[24]提出了一种基于边缘特征和颜色特征的织物花型检索算法,具有平移、缩放、旋转不变性,平均查准率可达93.17%。
以上研究仅对织物的浅层视觉特征进行相似匹配计算,并未就织物高层属性进行识别。有学者尝试采用浅层视觉特征构建分类模型,探索织物高层语义识别问题。
Suciati等[14]提出一种基于分形纹理特征与HSV颜色特征的织物图像检索系统,对“batik”和非“batik”2种织物表面肌理进行识别,检索召回率分别为94%和92%。Chen等[13]提取了织物颜色、纹理等特征,使用支持向量回归(SVR)来构建特征与情感语义标签之间的映射函数,分别对8、16个属性进行识别,平均检索召回率高于80%。Jing等[6]提出了基于颜色矩和GIST特征的织物纹样检索算法,对5类织物纹样进行检索,平均检索精度达86.3%,平均召回率达53.3%。Umam等[22]采用三维特征提取方法(CVQ)提取颜色特征以及Hu不变矩识别Madurese蜡染织物的26类设计母题,结果显示基于颜色特征的平均检索精度仅为46.72%,基于形状特征的平均检索精度为80%。可以看到,随着语义识别属性的增多,检索效率明显下降。
以上涉及的织物浅层视觉特征提取文献比较如表1所示。可见,手工特征提取方法在小样本数据集中具有一定的适用性,但由于该方法依赖人工标注,未在大样本图像检索中得到普及。此外,浅层视觉特征在高层语义识别问题中表现并不理想,特别是当语义属性数量增加时,检索效果明显不佳。
表1 织物浅层视觉特征提取文献比较Tab.1 Comparison of literatures on extraction of superficial features of fabrics
2 织物图像深度特征学习
图像深度特征学习旨在将研究对象的语义信息表示为稠密低维实值向量,在低维空间中计算语义联系。深度卷积神经网络在图像特征学习方面已经被证明优于传统手工提取特征[25]。
2.1 CNN网络结构
卷积神经网络模型是一种典型的监督学习模型,是LeCun于1989年在梯度反向传播算法(BP)的基础上提出的一种包含卷积层的深度神经网络[26],即LeNet-5 CNN模型,如图1所示。该模型由2部分组成:一是卷积层和池化层;二是全连接层和隐含层。
图1 LeNet-5 CNN模型结构Fig.1 LeNet-5 CNN model structure
在服装及织物图像的分类、识别与检索问题中常采用在LeNet-5模型基础上改进的AlexNet和VGGnet模型。其中AlexNet克服了LeNet-5模型的过拟合问题,采用11×11的巨大卷积核进行降维处理,但快速缩小也意味着可能丢失更多的细节特征[27];VGGnet在卷积层的结构中采用多个3×3的卷积核代替大卷积核,并在多个卷积层后加入池化层,以保证网络深度[28]。
2.2 CNN特征学习
通过CNN图像特征学习,实现图像识别与检索的基本思路如图2所示。通过CNN分类过程将图像分配到不同的预设语义标签上,从而构建图像与语义信息的映射关系。这一过程通常提取图像的全局特征,当图像中包含多个感兴趣对象/区域时,首先需要利用图像浅层视觉特征进行区域分割,实现目标检测;然后,通过CNN提取特征,经支持向量机(SVM)等分类器,完成由图像输入到语义输出的识别过程。
图2 基于CNN的织物图像语义识别框架Fig.2 Framework of fabric SBIR based on CNN
CNN网络特征提取过程中,卷积窗口在图像上滑动,将窗口内的元素进行卷积操作。遍历过程中产生的所有的输出按位置组成了特征图,而每一层需要设计多少特征图取决于需要学习多少种特征。特征图数量设计的好坏直接影响着最终的网络性能。如何科学计算特征图数目,目前还没有形成详细的理论指导,大都依赖实验和经验决定。
CNN分类过程中,不同图像数据集具有的图像标签数是不同的,而网络最后一层全连接层的输出个数需要与图像标签的数目一致。故在网络结构中,若全连接层的输出个数能够根据数据集的标签数变化,将有效提升模型的适用范围。为此,Wan等[29]尝试在AlexNet结构上,将第2层全连接层的输出个数设置为可变,使得第1层全连接层的输出个数到第3层全连接层的输出个数的改变可以相对平滑,最后一层全连接层能平滑拟合不同的标签数量。
3 CNN在SBIR织物图像检索中应用
研究表明经过预处理的大规模数据集可直接用于SBIR任务特征提取[29]。可从3个方面提升织物检索模型的精度:一是语义分类标签的合理设计;二是CNN的结构优化;三是距离尺度学习。
3.1 织物语义标签设计
CNN作为一种有监督的机器学习模型,需要预先进行语义分类标签设定。标签的设计一方面需要全面反映织物的固有属性,另一方面需适应机器学习。人工标注方法是目前常用的图像标注方法[30],主要通过专家知识[13,22,30]或用户使用频数排序[1]来确定标签。但人工标注对大样本数据集并不适用,特别是当一张图片同时触发多个属性时,人工标注费时费力且难以详尽。
此外,以上标签词均是封闭词汇,虽然便于建模假设,但对织物多样化多层次的属性表达具有极大的限制。针对这一问题,有学者将本体构造引入织物图像检索[31]。基于本体的图像检索技术可表达较为复杂的语义关系,并且具备语义模糊匹配能力。Kuang等[32]集成深度CNN构建了基于本体的服装属性语义识别模型,论证了该模型在细粒度的服装(含织物)语义识别中具有更优的表现。
3.2 CNN结构优化
诸多学者探索了如何优化CNN结构,使其更适合织物图像检索。汪珊娜等[30]在AlexNet模型基础上构建并行的CNN网络后,经Softmax分类器输出织物图像的情感类别。并与LeNet-5模型、AlexNet模型、VGG-16模型进行对比发现,并行模型对小样本数据有更好的分类识别效率。
针对大样本数据集,FashionNet模型实现了服装中织物的语义属性识别,采用VGG-16目标识别框架,通过位置标定处理织物在服装中的形变和位置变化,由学习到的特征集合诱导出带有位置信息的织物识别检索,实现end-to-end的特征学习与语义自动标注[1]。
3.3 基于CNN的距离尺度学习
为进一步提升网络识别效率,学者们尝试在CNN模型中嵌入尺度学习算法[33-34],通过共同学习图像表示和语义识别的度量,弱化类内变化,增强类间变化,提升模型的鲁棒性。
针对如何在现有的CNN模型中嵌入距离尺度学习以提升检索精度问题,Deng等[3]提出一种聚焦于排序的嵌入算法(FRE),并与现有的Pair、Magnet和Triplet的3种嵌入算法进行对比,FRE方法的检索召回率达93.5%,优于其他3种距离尺度学习嵌入模型,在细粒度织物图像分类识别问题上呈现出较大的优势。该方法基于AlexNet模型实现,将AlexNet的前7层作为网络架构的早期层,再添加辅助层来计算损失函数,损失函数为
式中:f(x)为原始图像至特征向量的变换;D(x,x)为2个特征向量之间的距离;σ(x)为逻辑函数,σ(x)=log2(1+2-x)。f(x)与某一对象x具有相同标签的图像为正,用x+表示,反之用x-表示。
可见,CNN对于捕捉图像高层语义信息对应的浅层像素信息具有较好的效果。针对不同类型的检索任务,CNN模型需通过适当的细化方案,在特征表示学习过程中能获得优于手工特征的效果。同时,通过相似性学习可进一步提高深度模型的分类识别能力,在细粒度的图像分类问题上具有明显优势。
4 结束语
目前国内外学者在织物图像特征提取与检索领域的研究已取得一些成果。为更好地优化织物图像检索的准确度,实现细粒度的语义识别效果,未来面料检索系统的构建应具有以下特点。
1) 语义标签合理化设计。合理的语义标签既要充分反映织物固有的属性以及属性间的关系,也需适用于机器学习过程。简单而有效的语义模型构造将是未来织物语义识别研究的重要内容。织物语义本体的构建,有助于设计知识的表示和管理,有效提升织物图像数字化设计中对设计信息表述的支持能力,增强建模的自动化水平。
2) 精准的图像自动分割与分类识别。在图像检索过程中,准确的对象分割与识别是实现语义检索的前提与关键。精准的对象识别以及对显著性区域的排序,是实现对多个区域或对象需求响应的重要环节,在此基础上可实现设计规律与要素信息的挖掘。
3) 多模态融合、交互式语义识别。数据信息本质上是多模态的,多模态的语义模型构造可更有效反映数据信息的内在本质关联,通过模态的信息对齐更有效地获取目标图像集合。此外,允许用户使用扩展的关键字来描述检索图像的属性,构建交互式检索系统,可提高图像检索的适用性,提升信息共享效率。