基于改进的DenseNet-BC 对少数民族服饰的识别
2021-12-02杨冰徐丹张豪远罗海妮
杨冰,徐丹,张豪远,罗海妮
(云南大学 信息学院,云南 昆明 650000)
近年来,随着国家实力的不断增强,为进一步提升民族自豪感、认同感,大力开展了传统文化传承学习活动[1],令越来越多的人了解和学习少数民族文化,并对其产生兴趣。民族服饰是民族文化的重要载体,反映各民族在历史文化、宗教信仰、生活习俗等方面的差异,拥有丰富的文化内涵和文化价值。2008 年,多种少数民族服饰被列入国家级非物质文化遗产名录民俗类[2]。随着计算机的普及,通过计算机对少数民族服饰图像进行自动分类识别成为可能,这对进一步了解、认识、弘扬民族文化具有重要意义,并在将民族元素融入现代时尚设计中发挥了重要作用,对备受现代化冲击的民族文化的保护和传承具有现实意义。
传统的服饰识别和分类主要依靠人工提取服饰的颜色、纹理、整体的边缘特征进行,方法较为烦琐且易受光照等影响,分类精度较低。由于少数民族服饰的细节特征信息较多,加之受光照、背景的影响,图像的分类识别难度较大。本文针对少数民族服饰的分类问题,在现有的深度学习网络DenseNet基础上,提出一种多尺度局部与全局注意力机制融合的卷积神经网络模型,该模型在收集到的9 类少数民族服饰数据集分类上取得了不错的效果。
1 相关工作
1.1 现有的服饰分类方法
服饰分类问题一直是研究的热点,近年来,随着电商的发展,涌入了海量服饰图片,用人工方法分类不再现实,基于图像的服饰分类方法逐渐受关注。SHEN 等[3]通过姿势估计,基于通过对应人体部位与服饰属性之间的相关性,提高了服饰识别性能。BOSSARD 等[4]建立了自然场景中服饰的识别流程,用人体检测器实现对服饰的检测,然后采用随机森林和支持向量机对服饰图像进行分类。CHEN等[5]提出用语义属性与姿势结合的方法提取服饰特征,通过探索属性之间的相互依赖性,建立了服饰风格识别规则。SURAKARIN 等[6]为减少单一特征受外界干扰,通过线性反投影算法将纹理特征与加速鲁棒特征相融合,使服饰平均分类准确率达64.29%。上述服饰分类方法大多基于传统图像特征和人体检测方法,但服饰在多数场景下较为复杂,且受光照、形变等影响,识别率较低。
近年来,深度学习发展迅猛,在很多领域取得了不错的成绩,在图像领域的应用也越来越广泛。LAO 等[7]通过训练神经网络,基于神经网络搭建了一个服饰特征提取网络,并利用K邻近方法对服饰的类型和属性进行检索分类。DONG 等[8]为提高网络模型的特征提取尺度与丰富性,在VGGNet 模型上加入空间池化金字塔,进一步提高了服饰的识别率。包青平等[9]提出一种基于度量学习的服饰分类方法,在训练模型时加入距离和三元组损失函数,对服饰图像进行细粒度分类。以上针对服饰图像的分类方法,以神经网络为基础,融合不同的服饰图像信息,提出了更适合服饰分类的损失函数,丰富了图像特征信息,进一步提高了服饰分类的准确率。
在民族服饰分类方面,一直鲜有关注。吴圣美等[10]提出结合人体检测的多任务学习的少数民族服饰识别方法,通过将底层特征和语义特征相结合,训练多任务支持向量机分类器模型进行民族服饰的分类。程远菲[11]通过分割提取服饰上的服饰图腾,利用HOG+Hu 的方法进行特征提取,并通过支持向量机分类器进行分类。以上方法均利用SIFT,HOG 等底层特征对服饰或少数民族图腾进行分类。NAWAZ 等[12]建立了民族服饰数据集,并以CNN模型为基础,加入Inception 结构完成分类任务,并比较了几种反向传播算法对模型的影响,最终选择梯度优化均方根反向传播方法,该方法对民族服饰分类的准确率达89.22%。
以上的少数民族服饰识别方法大多只考虑服饰本身的特征,忽略了其在自然场景中受光照、背景等的影响。
图1 展示了部分少数民族服饰图片,可见民族服饰蕴含的颜色和细节特征信息较为丰富,不同少数民族的服饰样式存在差异,同一民族的服饰在外形和颜色上也区别很大,因此无法利用单一的特征对少数民族服饰进行描述和识别。由于服饰图像受光照、背景和形变的影响,用传统的图像提取分类方法效果一般。针对以上问题设计了基于神经网络的多尺度注意力结合的少数民族服饰分类网络:(1)提出局部和全局结合的注意力机制,通过融合来自网络中不同方面的注意力机制,忽略不相关信息,以提升对有效信息的提取能力。选择计算量较小、可更好地利用提取特征的网络;(2)提出一种多尺度密集连接的特征提取单元,以增强模型对少数民族服饰中细节信息的提取。选择计算量较小、可更好地利用提取特征的网络;(3)选择分类准确率高、计算量小、可充分利用提取特征进行分类的网络。
图1 部分少数民族服饰图片Fig.1 Part of ethnic costume pictures
1.2 少数民族服饰数据集
由于目前缺少标准可靠的少数民族服饰图像数据集,本文通过采集少数民族服饰图片建立少数民族服饰图像数据集。通过互联网搜索引擎在淘宝、京东等网站搜索相应民族名称得到少数民族服饰图片,用爬虫工具下载,经筛选和整理建立数据集,确保图像的数量和广泛性。通过研究少数民族服饰发现,女性服饰更能体现少数民族的特色,所以收集的图片以女性服饰为主。
由于爬虫程序是自动下载的,存在与目标民族不符的图像,为此对下载的服饰图片进行适当的人工筛选。去除不属于服饰类的图片,去除水印过多的图片,去除分辨率较低的图片。筛选后的数据集包含9 种少数民族服饰图片,共计1 607 张。因为从互联网下载的图片格式多种多样,有JPG、JPEG、PNG、BMP 等,给后续实验带来不便,为此将所有图片统一转换为JPG 格式。表1 为收集的图像数据集分布的详细情况。
表1 图像数据集详细情况Table 1 Image data set details
由于少数民族服饰图片是从网上下载的,存在噪声且分辨率不同等问题,对后续识别造成影响,需进行图像预处理操作,即处理成符合实验要求的图像。首先,采用中值滤波方法对图像进行去噪处理,在去除噪声的同时更大程度保留图像的细节特征。其次,用双三次插值方法统一图像的分辨率。
现有数据集中每类样本数均较少,而基于监督神经网络的学习方法往往需要大量数据,否则数据较少可能无法更好地进行网络泛化,易陷入过拟合境地。在数据量不足的情况下,数据增强通常是较有效的解决方法之一。
图2 展示的是部分数据增强后的示例。采用水平翻转、垂直翻转、随机抠取的方式进行图像增强,以增加样本的多样性。
图2 数据增强方法Fig.2 Data enhancement method
2 本文方法
从少数民族服饰分类的角度出发,结合当下在图像分类领域取得巨大突破的DenseNet 卷积神经网络算法,设计了基于卷积神经网络的服饰分类算法模型。虽然基于卷积神经网络的图像分类算法在各大数据集竞赛中都取得了不俗的成绩,但少数民族服饰分类尚存在一些难以解决的问题。本文以卷积神经网络为基础网络模型,对其进行了改进与优化,设计了多尺度密集连接单元,以提高模型提取特征的能力,更好地提取少数民族服饰中的细节特征,进而提升模型的识别能力。为增强模型的鲁棒性,选用局部和全局注意力机制进行辅助分类,以减少光照、衣服形变、背景等因素的影响,辅助提高模型的分类效果。
2.1 DenseNet 神经网络结构
由于制作的少数民族服饰图像数据集数量有限,VGGNet[13]、inception[14]模型的参数较多、结构较为繁杂,易产生过拟合,且少数民族服饰细节特征较多。DenseNet 神经网络不但训练参数较少,而且其密集连接的方式使提取的特征能得到充分利用,因此采用DenseNet 神经网络。
DenseNet 由HUANG 等[15]于2017 年提出,在保证网络层与层之间实现最大程度信息传输的前提下,直接将所有层相连接,从而减轻梯度消失,加强特征间的传递,更有效地利用特征,一定程度上减少了参数数量。
DenseNet 中的密集连接机制,可互相连接所有的层,每层均接受前面所有层的输出,并将其作为额外输入。映射公式为
其中,xl为第l层的输出,[x0,x1,…,xl−1]为各层产生的特征图的拼接,Hl(·)为非线性转换函数。
图3 所示为DenseNet 网络结构,可知每层均与前面所有层在通道维度上相连接,并作为下一层的输入。DenseNet 通过直接拼接来自不同层的特征图,实现特征的复用,提升效率。
图3 DenseNet 网络结构Fig.3 DenseNet network structure
本文选取DenseNet 网络中的DenseNet-BC 作为基础网络,与DenseNet 相比,相同深度的DenseNet-BC 网络参数更少、更节省内存,可减少过拟合。DenseNet-BC 由卷积层、密集连接块、过渡层和输出层构成。每个密集连接块中的子结构分别由一个1×1 卷积层和一个3×3 卷积层组成,且每层的输出特征数是固定的,方便与各子结构拼接;每个传输层均由一个1×1 的卷积层和一个池化层组成,作为瓶颈层放在2 个密集连接块的中间,起降维作用;最后输出层经过平均池化层和全连接层,用Softmax 分类器输出分类结果。
2.2 多尺度密集连接单元
密集连接网络由一系列密集连接的特征提取单元组成,每个单元包括恒等映射和特征提取两部分,采用如图4(a)所示的结构,即BN+ReLU+1×1 Conv+BN+ReLU+3×3Conv 的连接方式进行特征提取。其中1×1 的卷积层具有降低特征数量、提升计算效率的作用。单一卷积核可提取的特征信息较有限,从而限制了模型的分类性能。为提取更多的服饰特征信息,采用多尺度密集方法,对密集单元结构进行改进,改进后的结构如图4(b)所示。
图4 DenseNet 单元结构Fig.4 DenseNet unit structure
在单元结构中加入一个新分支,与原特征提取层构成多尺度密集连接单元。新分支包括:先通过一个较小的1×1 卷积对上一层特征进行降维,以减少计算量;再通过2 个3×3 卷积提取特征,利用2 个3×3 卷积代替一个5×5 卷积核,不但扩展了特征提取的感受野,而且能更有效地控制网络参数量的增加;最后分别将2 个分支的输出相加得到多尺度特征。相加操作可在不增加网络参数的情况下保留最多的特征信息。通过提取少数民族服饰的深层次特征,将少数民族服饰与各种不同尺度的特征融合,进而提升分类准确率。
2.3 局部和全局结合的注意力机制
注意力机制在图像领域的应用越来越广泛,在特征提取中融入了通道注意力机制的网络结构,关注特征的通道域,通道注意力机制构成网络中进行关键特征提取的参数。如SENet[16]、CBAM[17]等注意力机制,能使网络过滤掉与结果不相关的信息,将更多的关注点放在对结果产生正向影响的信息的获取上[18]。SENet 采用平均池化方法压缩空间维度,提取纹理特征;CBAM 中的通道注意力将平均池化结果与最大池化结果相加,以提取通道特征。以上注意力机制都只关注注意力分支的参数,忽略了模型的全局注意力。
为充分保留纹理信息,本文提出一种适用于DenseNet 网络的局部与全局相结合的注意力机制,对特征提取网络层的构造进行修改,在卷积层的特征提取阶段添加局部与全局相结合的注意力机制,以增强特征提取功能,如图5 所示。
图5 融合注意力机制的密集连接单元Fig.5 Dense connection unit incorporating attention mechanism
首先,为更好地控制网络参数量和提取图像通道之间的特征,通过平均池化在空间维度上对输入进行压缩,再根据空间维度进行特征压缩。得到的实数不仅代表特征在通道上的全局分布,而且可有效控制参数量的增加。
其中,uc为输入特征中第c通道的特征图;H与W分别为特征图的宽和高;Zc为特征图在坐标位置的取值。
其次,连接2 个1×1 卷积层和1 个ReLu 层学习权重参数。在实验中发现,利用1×1 卷积层进行权重学习的效果优于全连接层。第1 个1×1 卷积层是将2 个输入分别进行一定比例的缩放,使其具有相同的通道数,再将2 个输入相加,得到局部和全局注意力。将第2 个卷积的输出设置为与每个特征提取层输出的通道数相同;利用Sigmoid 函数生成通道权重。为每个特征通道生成权重,特征通道间的相关性可表示为
其中,W为学习后的全连接层权重;zg和zp分别为经过特征压缩后的全局和局部通道响应;σ为ReLu激活函数;δ为Sigmoid 函数。
最后,将输出的具有局部和全局通道特征的权重与输出特征相乘,完成对通道维度原始特征的标定。公式为
其中,sc′为第c′个特征图的权重。
通过将局部和全局的注意力融合,网络更好地将更多的注意力特征结合,在特征提取时,更多地关注重要信息,忽略背景等不相关信息,去除干扰,提高模型的识别率。
2.4 改进的DenseNet-BC 模型
改进的DenseNet-BC 模型的结构与DenseNet模型大体一致。如表2 所示,首先,保持原有卷积层的结构不变。然后,将密集连接块中所有卷积层替换为多尺度卷积层。同时,在密集连接块的每层中嵌入注意力机制。最后,保留原全局平均池化层与全连接层。
表2 改进的DenseNet-BC 网络结构Table 2 Improved DenseNet-BC network structure
3 实验结果及分析
3.1 实验平台
实验在Ubuntu16.04 系统下,采用Python 语言,Pytorch 深度学习框架完成。硬件环境为CPU IntelI7-9700K,内 存4 GB,显 卡Nvidia GeForce RTX 1070Ti。
3.2 数据集处理
实验数据集为制作的少数民族服饰图像数据集,按照8∶2 的比例将1 607 张图片随机分为训练集和测试集,训练集1 285 张,测试集322 张。采用数据增强方法将训练集扩增5 倍,达6 425 张。
3.3 结果对比及分析
实验采用Adam 优化算法训练模型,动量系数为0.9,迭代次数设为400,初始学习率设为0.001,学习率按照前160 次每80 个轮次改变一次,后240 次每40 个轮次改变一次,衰减系数为0.5。用交叉熵损失函数(Loss)训练优化模型,表达式为
用准确率(Accuracy)作为模型的评价指标,Accuracy 越高,表示模型的预测值与真实值越接近。假设TP 代表预测为正、实际为正的图片数量,TN代表预测为负、实际为负的图片数量,FP 代表预测为正、实际为负的图片数量,FN 代表预测为负、实际为正的图片数量,则
为验证所提出的改进的DenseNet-BC 模型的有效性和稳定性,将其与DenseNet 和ResNet-34 模型在少数民族服饰图像数据集上进行训练,对比分析各模型的准确率。如图6 所示,在前50 个轮次中,3 个模型均整体呈上升趋势,改进的DenseNet-BC模型准确率上升较快;随着轮次的增加,DenseNet和ResNet-34 模型的准确率逐渐上升,训练至360个轮次时,3 个模型的准确率均趋于稳定;网络稳定后,改进的DenseNet-BC 模型的准确率最高,且抖动幅度最小,更稳定。
图6 不同模型在数据集上的准确率Fig.6 The accuracy of different models on the dataset
为验证注意力机制模块和特征融合模块的有效性,进行了消融实验。表3 所列为模型整体准确率和单组合准确率,可知只包含多尺度密集连接单元的多尺度DenseNet 模型准确率为94.84%,融合多尺度密集连接单元和局部与全局注意力机制的DenseNet-BC 模型准确率为95.18%。注意力机制和局部与全局相结合的注意力机制二者均能显著提高模型的准确率。
表3 不同组合的实验结果对比Table 3 Comparison of experimental results of different combinations
为进一步验证本文提出的注意力机制的有效性,分别与添加了SENet 和CBAM 注意力机制的多尺度DenseNet 进行了对比,结果如表4 所示。对比发现,加入SENet 注意力机制后模型准确率降低了1.66%;加入CBAM 注意力机制后模型准确率提高了0.12%;而本文方法的准确率提高了0.34%。由此可知,本文提出的局部与全局结合的注意力机制对模型的分类准确率提升更大,能令网络提取更多的有效特征信息。
表4 不同注意力机制的实验结果对比Table 4 Comparison of experimental results of different attention structures
本文提出的改进的DenseNet-BC 模型与其他模型的准确率对比结果如表5 所示,可知加入SENet 注意力机制后模型的性能不如预期,加入CBAM 注意力机制后模型性能提升也十分有限。在CBAM 注意力机制中加入空间注意力机制性能提升有限,可能由其模块为减少参数特征将特征进行的全局平均池化和平均池化造成,因为较暴力的维度压缩可能会严重丢失特征。本文提出的局部与全局相结合的注意力机制对模型的分类准确率提升更大,能令网络提取更多的有效特征信息。
表5 各模型准确率对比Table 5 Comparison of accuracy of different models
4 结论
针对少数民族服饰细节较为繁杂这一问题,构建了一种改进的DenseNet-BC 神经网络算法,通过构建改进特征提取单元并融合注意力机制,更高效、准确地提取各分类的图像特征,并在少数民族服饰数据集上取得了95.18%的平均准确率,较现有分类算法的准确率有一定提升。
民族服饰种类繁杂,形式变化多样,男性和女性的服饰差异较大,不同年龄段的服饰也存在差异。为提高检测准确率,需进一步丰富训练数据量、增加多样性,同时需对数据集进行多标签标定,优化网络和训练方法,对民族服饰进行多标签训练。