多尺度注意力的服装场合分类方法
2024-04-03段微微孟令兵
段微微 孟令兵
关键词: 服装场合; 多尺度注意力; 图像分类;神经网络; 深度学习
0 引言
近年来,在线购物已经成为新的消费方式,网络零售交易规模日益增大,其中代表性的服装行业一直保持增长的趋势[1]。由于其潜在的市场价值,因此服装的理解和分析越来越多地受到研究者的关注,并且利用各种计算机视觉技术研究服装的任务,比如:服装风格学习[2]、服装生成[3-4]、服装关键点预测[5]等。例如:Hidayati等[2]提出一个双流深度网络模型,该模型通过从身体和服装形状中提取特征,用于解决静态3D服装覆盖虚拟人体上的任务。刘晓音等[6]提出一种基于迁移学习方法构建人体的服装围度松量图像分类模型。
然而,目前基于服装场合分类的工作研究极少。一方面由于服装外观存在巨大的差异,难以正确衡量每件服装的适用场合;另一方面,由于用户的个人喜好原因,对于同一场合,不同的用户选择服装也会存在较大的差异。如果找专业人士给服装打标签,会存在2个问题:第一,图片数量很大,专业人士给服装打标签非常耗时耗力;第二,由于喜好差异性,专业人士给出的标签不能代表用户的观点。针对上述问题,本文构建了一个新的数据集,命名为FashionOccasion,用于解决服装场合标签的难题。同时本文提出一种多尺度注意力服装分类模型,相比现有的分类模型能够有效地提高分类的准确率。
1 实验分析
1.1 数据集
1) 构建数据集
Chictopia是一个时尚的社交平台网站,允许用户上传自己的服装图像和相关标签描述。本文从网站收集了33 102张服装照片和标签,如图1所示,其中Tags(Casual、Picnic、Summer)为用户自定义的标签,分别表示服装的风格、场合和季节。这些由用户上传的服装和标签真实可靠,避免人工标注标签带来的片面性。
本文构建的数据集共包含10种场合,分别为Ev?eryday、Party、Dinner、Work、Cocktail、Art Opening、Go?ingOut、Shoping、Picnic、Traveling。圖2展示了10种不同场合的服装,其中每种场合选择3张图像进行可视化。
2) 数据集对比
研究者从各种时尚网站收集与服装相关的数据集,这些数据集用于不同方向的任务,如表1所示:Y 表示该数据集有对应的数据,N表示该数据集没有对应的数据。
有些数据集的标签比较单一,比如Fashion?Style14。有些数据集非常庞大,比如DeepFashion和Fashion200k,其中DeepFashion 包含多达80 万张图片,收集和处理相关数据非常复杂,并且服装图像的分辨率较低。而本文的数据集有较高的分辨率和丰富的标签信息,这些丰富的标签信息可以为后续研究其他相关工作提供一定的基础条件。
另一方面,一些数据集(比如Fashionista和CCP) 用于检测和分割任务,即对每种类别的服装都有边界框标注和像素级标注,这样有利于定位和识别服装,但是标注工作耗时巨大,因此数据集非常小,并且由于服装的形状,颜色和纹理等存在较大的差异,这些标注好的数据并不能很好地应用于真实生活场景。而本文构建的服装图像和标签都来源于真实的生活场景,研究的内容具有真实性和客观性。
1.2 实验方法
1) 主干网络概述
本文提出的多尺度注意力服装分类模型采用Resnet50的前4层残差块作为主干网络提取服装的特征,提取的特征图记为Fi,i 表示特征图的层数,i∈{1,2,3,4}。将非局部模块嵌入到模型的第3层和第4层,经过非局部模块提取的特征图记为FN 3 和FN 4。最后经过卷积运算输出服装的全局特征向量GF。
2) 非局部模块
非局部模块作为一个高效、简单和通用的模块, 用于获取深度神经网络的长时记忆,在视频检测的任务中取得了很好的效果。非局部模块如图3所示。
本文将非局部模块嵌入的目的是压缩服装图像通道特征,聚合全局空间特征以增强服装的上下文语义信息,以此生成更丰富的全局特征信息。然后利用生成的全局特征信息再指导特征图(上述得到的特征图FN 3 和FN 4)生成局部注意力图,最后将局部注意力图与特征图相乘,更精准地提取服装局部细节信息。具体计算过程如公式(1)所示:
式中,C(x)为归一化函数因子,f 用于计算φ(x)和θ(x)相似关系的函数,φ(x)、θ(x)和g(x)都是1×1的卷积函数,x 为输入的特征图。本文采用高斯函数作为相似性函数,如公式(2)所示:
3) 注意力模块
全局特征信息包含的是整张图像的信息,但是对于服装的局部区域很难关注到。神经网络在不同层次的特征图上提取的信息也不同,因此本文用全局特征信息来指导不同层次的特征图产生局部注意力图,通过产生的局部注意力图能够自动提取服装局部重要的特性信息。局部注意力模块如图4所示。
以特征图FN 3 为例,具体计算过程如下:将全局特征向量GF 与特征图(FN 3)相加,经过卷积得到通道数为1的特征图,再经过函数映射(Softmax)得到注意力图M,其中M∈R1×H×W。 然后将FN 3 的C个通道进行全局累加求和,如公式(4)所示:
全局特征向量GF 经过卷积得到512维向量GFf。Ff*3 和Ff*4 是特征图FN*3 和FN*4 产生的服装局部信息特征向量,其中Ff*3 和Ff*4 的向量长度为512。最后拼接GFf、Ff*3 和Ff*4 得到整个服装的全局特征信息和局部特征信息,再经过全连接层输出分类结果。
1.3 实验细节及实验结果
1) 实验细节
本文总共使用了33 102张图片训练和测试,训练集和测试集的划分比例如表2所示。服装图片的分辨率为400×600×3,本文采用中心裁剪的方式对图像进行处理,最后的输入网络的图像大小为384×384×3。本文采用Top-k作为评测指标。完成实验采用的是Python 语言和PyTorch 框架,在Linux 系统下完成实验。优化器使用的是随机梯度下降算法,初始化学习率为0.001。在每次训练中,设置的最小批次为32,使用的显卡为Nvidia GeForce GTX 2080Ti,内存为DDR4 128GB。
2) 实验结果
本文主要比较了3 种广泛使用的分类模型:VGG16[12]、Resnet50[13]、Densenet121[14]和2 种注意力机制的分类网络:CBAM[15]和SE-block[16]。为确保训练结果的公平性和可靠性,本文的训练参数(优化器、全连接层的维度和学习率)保持一致。
分类模型在测试集上的结果如表3所示。基础分类模型(VGG16、Resnet50和Densenet121)的结果比较差,因为这些模型只考虑到服装的全局特征信息。Resnet-CBAM和SE-block的分类结果高于基础分类模型结果。本文提出的分类模型取得了最好的结果。SE-block和Resnet-CBAM的注意力方法都只关注每层特征图之间的关系,没有考虑到不同层特征图之间的关系,而本文通过结合服装的全局特征信息和局部特征信息达到了最好的分类结果,Top-1、Top-3 和Top-5 较基础分类模(Resnet)型分别提高了5.41%、7.19%和6.53%,较Resnet-CBAM分别提高了4.75%、6.44%和5.92%。
2 结论
本文提出了一个新的数据集-FashionOccasion,并设计了一种多尺度注意力的服装场合分类模型。该数据集包含多种标签(场合、地点和季节),是目前服装数据集中标签最丰富的数据集之一。服装场合分类模型通过联合局部特征信息和全局特征信息提高分类的准确率,实验结果也验证了该分类模型的有效性和鲁棒性。在后续的研究工作中会考虑将用户年龄纳入对服装场合的影响。