基于RSKP-UNet模型的苗族服饰图案分割研究
2022-12-16张博源黄成泉万林江周丽华
张博源, 黄成泉, 王 琴, 万林江, 周丽华
(贵州民族大学 a.数据科学与信息工程学院; b.工程技术人才实践训练中心,贵阳 550025)
少数民族是中华民族的重要组成部分,并且在其发展历程中开创出各自的文化底蕴。少数民族服饰是少数民族特有的文化符号之一,而少数民族服饰图案是少数民族人民心血和智慧的结晶,这些图案元素代表了他们对民族文化的认同和美好愿望的期许,更是象征其文化的传承和延伸。但是受现代流行文化的冲击,少数民族服饰文化逐渐式微,研究少数民族服饰图案对研究少数民族的历史变迁和文化特性有着重大意义。少数民族服饰图案分割作为研究少数民族服饰文化的首要工作,是其重中之重,而少数民族服饰图案有色彩艳丽、元素复杂、纹饰多样等特点。因此,对少数民族服饰图案分割存在较大难度,目前对少数民族服饰图案分割的特征进行抽离、分类、识别和保存方面的研究还很少。
自VGG模型的提出,随着计算机算力的快速提升,近年来基于深度学习的研究方法在医学、自动驾驶、人工智能等领域取得重大突破,尤其在图像分类、目标检测、图像分割等计算机视觉任务中收获颇丰。2015年,SHELHAMER等[1]提出全卷积神经网络模型实现图像语义分割,越来越多的基于深度学习的图像分割模型被提出。比较经典的基于深度学习的分割模型有U-Net模型[2]、FusionNet模型、Deeplabv3+模型[3]及Attention-UNet模型等,这些研究方法目前通常被用于研究医学图像、自然图像及合成图像等,而诸如Mask Transfiner模型、Swin Transformer模型[4]及SETR[5]模型等,通常只适合应用在大规模图像数据集。在少数民族服饰分割研究领域,覃琴等[6]提出一种基于渐进式注意力学习的多尺度深度学习模型用于苗族服饰图像语义分割研究,并且取得了不错的研究成果,但是不能实现对苗族服饰图案的细节分割。赵海英等[7]针对传统服饰图像提出一种基于卷积注意力特征的残差期望最大化注意力语义分割网络模型,实现了对传统民族服饰图案的语义分割,具有较强的借鉴意义。冯润等[8]提出一种基于模糊拟合图像驱动的苗族服饰图像分割算法,能够实现对苗族服饰图案较为精细的分割,并且分割效果不错。
针对以上问题,为保护少数民族服饰文化的传递,同时为了增加对少数民族服饰文化的研究为目的,本文以苗族服饰图案分割为研究目标。苗族服饰图案通常具有如下特点:1) 大多苗族服饰图案的内容丰富奇妙,多以山川、鸟兽、花卉为主体,同时穿插各种自然图腾、线条、纹饰,因此苗族服饰图案通常极为复杂,遍布各种元素内容。2) 设计上美观巧思、大胆前卫,同时色彩搭配考究。苗族服饰图案的构图布局变幻莫测,苗族服饰图案上的内容常以对称式、环绕式、左右式、中心式为主。而在色彩使用上多是鲜艳明亮为主,同时搭配上冷色调的背景,从而使各元素内容主次分明,错落有致。因此苗族服饰图案同时兼具构图多样,色彩丰富的特点。3) 苗族服饰通常工艺复杂,一种工艺一般包含多种工序,现有蜡染、刺绣、织花等工艺,在纺织时,有时数种工艺交替使用,因此苗族服饰图案大多风格迥异,不尽相同,无特定规律可循。结合上述苗族服饰图案的特点,苗族服饰图案分割具有较大的挑战性,于是本文提出了一种融合U-Net模型和注意力机制的RSKP-UNet(Residual Selective-Kernel Parallel U-Net)模型用于苗族服饰图案分割研究,并且引入了一种基于IoU的损失函数[9],利用冯润等[8]的研究成果制作苗族服饰图案人工数据集,然后使用提出的模型在数据集上进行训练和验证。
1 算法原理
1.1 RSKP-UNet模型
U-Net模型作为医学领域最常用的图像分割模型,存在模型轻量化的优点,方便进行部署,可以针对特定的任务进行改进,并且该模型能够在小规模图像数据集上进行训练,仍然可以获得不错的图像分割效果。于是本文在U-Net模型基础上对其进行适当改进,然后提出了针对苗族服饰图案分割研究的RSKP-UNet模型。基于RSKP-UNet的苗族服饰图案分割模型如图1所示。
图1 RSKP-UNet模型的整体网络结构Fig.1 Overall network structure of the RSKP-UNet model
U-Net模型整体上可以分为两个部分,分别是编码器部分和解码器部分,编码器部分的作用是用于对输入的图像进行特征提取,以此逐步获得高阶语义信息,解码器部分的作用是进行跨尺度的特征融合并输出预测的结果。本文首先改进的地方是在U-Net模型的编码器,U-Net模型中除了第一个卷积块,将编码器中用于下采样的卷积块替换为ResNet模型[10]中的Residual模块组,每个Residual模块组包含两个Residual模块,第一个Residual模块用于下采样获取高阶语义信息,第二个Residual模块起到加快特征传递和防止模型过拟合的作用。然后,改进的地方是在U-Net模型的解码器,在解码器部分中的前三次拼接后加入SKNet(Selective Kernel Networks)模型[11]中的SKNet模块,SKNet模块的作用是抑制上采样过程中产生的特征图中的不相关的特征信息,在第四次拼接后加入ParNet((Parallel Networks)模型中的ParNet模块,ParNet模块能够增加模型的特征表达能力,使模型具有更多的非线性能力,同时具备多尺度的特征融合能力,ParNet模块具有防止模型过拟合的作用。
1.2 Residual模块
本文在编码器部分用两个Residual模块组成的Residual模块组去替换U-Net模型的每一次下采样,Residual模块是在ResNet模型中提出来的,本文使用的Residual模块有两种结构,每次同时使用两个Residual模块,并且每次先使用如图2(a)所示的Residual模块,再使用如图2(b)所示的Residual模块。第一种Residual模块的操作是将输入的特征图进行不同的卷积操作后再进行融合,其中由于第一个3×3的卷积核的移动步长为2,而第二个3×3的卷积核的移动步长为1,因此实现了下采样捕获特征的作用。由于苗族服饰图案内容复杂多样、色彩丰富、纹理细密、细节较多的特点,Residual模块可以更好地提取这些特征,并且进行特征传递,减少在下采样过程中苗族服饰图案细节内容的丢失。
图2 ResNet中的两种Residual模块的网络结构Fig.2 Network structure of the two Residual modules in ResNet
第二种Residual模块的操作是将输入的特征图进行卷积操作后再与输入进行融合,由于两个3×3的卷积核的移动步长都为1,所以不改变输入特征图的分辨率大小,同时不改变输入特征图的通道数。由于苗族服饰图案的特征较多,此Residual模块的作用是防止模型过拟合,以此提高模型的泛化能力,使模型可以有效地学习苗族服饰图案的各种特征,从而准确地进行苗族服饰图案的分割。
1.3 SKNet模块
SKNet模块由三部分组成,分别是Split、Fuse和Select。Split部分是用不同的卷积核从多尺度学习特征图的特征,由于苗族服饰图案的分辨率较高,不同的卷积核可以让模型具有不同的感受野,从而使模型对苗族服饰图案有从细节到整体结构的特征学习。Fuse部分是从不同的卷积核获得的特征图进行通道注意力操作,从而可以让模型赋予更重要的特征图有更高的通道权重,降低不重要特征图的通道权重,从而减少模型对苗族服饰图案的错误分割。Select部分是将不同的卷积核的特征映射进行再聚合,使模型可以获得带有权重系数的特征图,增强模型的特征表达。SKNet模块的结构如图3所示。
图3 SKNet模块的网络结构Fig.3 Network structure of the SKNet module
本文之所以在上采样后加入SKNet模块,是因为解码器中的上采样过程会产生不相关的特征信息,而通过拼接的方式进行特征融合,可以降低不相关特征信息对后续输出分割结果的影响。但是无法实现精细度的分割,而苗族服饰图案的细节内容较多,SKNet模块可以使模型在上采样后恢复一定的苗族服饰图案细节。
1.4 ParNet模块
ParNet模块的结构可以分为三部分,分别是SSE(Skip-Squeeze-Excitation)及两个不同的卷积核,其中SSE部分包含了全局平均池化操作和sigmoid激活函数。将SSE与两个不同的卷积核的卷积结果进行融合,再通过SiLU激活函数。由于在模型输出预测的分割结果前,已经在前三次拼接后加入SKNet模块,SKNet模块从多尺度卷积下进行特征学习,为防止模型过拟合,并且为模型增加更多的非线性能力,因此在最后一次拼接后加入ParNet模块。ParNet模块的结构如图4所示。
图4 ParNet模块的网络结构Fig.4 Network structure of the ParNet module
2 基于Lovász-hinge的苗族服饰图案分割损失函数
图像分割领域最常用的损失函数是BCE(Binary Cross Entropy)损失函数,其主要是对每个类别进行平等的评估,因此更容易学习分类占比更高的样本,而难以解决样本类别不均衡的问题。BCE损失函数的公式如下:
(1)
式中:N为图像像素点的个数,n为每次训练的次数,xn为损失函数训练的自变量,yn为梯度变化的因变量。
由于苗族服饰图案的复杂性,苗族服饰图案中分割目标像素通常远多于背景像素,因此苗族服饰图案数据集一般存在样本类别不均衡的问题,所以BCE损失函数不再适用。针对这样的问题,本文使用Lovász-hinge损失函数对苗族服饰图案进行分割计算,Lovász-hinge损失函数是一种基于IoU的损失函数[9],可以通过对IoU优化进行损失计算。IoU也被称作Jaccard指数,其计算公式如下:
(2)
而Jaccard loss的公式为:
(3)
由于Jaccard loss只能够进行离散情况下的损失计算,但是神经网络的预测输出是连续的,所以式(3)无法进行求导计算,如果不能求导就不能进行参数更新,因此Jaccard loss不可以直接加在神经网络中。由于Jaccard loss是子模函数,所以可以对其进行Lovász extension[12-14]从而变得连续可导,而Jaccard loss经过Lovász extension后就成为了Lovász-hinge损失函数,从而可以解决上述问题。
3 结果及分析
3.1 实验流程
首先,制作苗族服饰图案数据集,并将数据集划分为训练集和测试集;然后,在搭建好的实验平台上,用本文提出的模型在训练集上进行训练学习,再用训练好的模型在测试集上进行分割;最后,用本文提出的模型与其他分割模型进行实验对比,用评价指标衡量分割效果。整个实验的流程如图5所示。
图5 实验的流程Fig.5 Process of the experiment
3.2 数据集及制作
本文的苗族服饰图案数据集的原始图像来源于北京服装学院民族服饰博物馆,在其网站上采集原始彩色图像,通过裁剪的方式获得240幅原始图像(Original image),并将每幅图像调整为分辨率512×512像素,通过冯润等[8]的研究成果制作苗族服饰图案数据集的人工标签(Label),从而实现了整个数据集的制作。将数据集按照9︰1的比例划分为训练集和测试集。
3.3 实验环境
本文的实验环境基于深度学习框架Pytorch结合Python编程语言进行搭建。计算机的配置如下:操作系统为Ubuntu 16.04,系统内存为16 GB,CPU为Intel Core i7-7700K@4.2 GHz,GPU为NVIDIA GeForce GTX 1080,显存为8 G。本文实验用Adam优化器进行网络优化,网络初始学习率设置为0.000 1,Deeplabv3+模型的批量大小为2,其余模型的批量大小均为1,模型训练的迭代次数为15次。
3.4 评价指标
本文为了有效地对提出的模型进行评估,引入5种评价指标,分别是Dice系数、IoU、精确率(Precision)、召回率(Recall)及准确度(Accuracy),从而实现对客观实验的真实评价。在图像分割任务中,分割的样本可以分为四个类别,真阳性(TP)代表的是分类正确的正样本;真阴性(TN)代表的是分类正确的负样本;假阳性(FP)表示的是被错误分类为正样本的负样本;假阴性(FN)代表的是被错误分类为负样本的正样本。5种评价指标的公式如下:
(4)
(5)
(6)
(7)
(8)
3.5 不同损失函数的苗族服饰图案分割结果对比
为了验证本文引入的针对苗族服饰图案分割的损失函数的有效性,分别用BCE损失函数和Lovász-hinge损失函数进行性能对比实验,同时为了避免是本文提出的模型对实验结果造成的影响,对比实验用U-Net模型,如表1所示。
表1 U-Net模型在不同损失函数下的分割性能对比Tab.1 Comparison of segmentation performance of U-Net modelby different loss functions
在U-Net分割模型下,只替换损失函数,保证实验的其他各项参数一致,可见Lovász-hinge损失函数的各项指标均优于BCE损失函数,并且有了较大提升。针对苗族服饰图案的特点,Lovász-hinge损失函数能够有效地应用于苗族服饰图案分割。
3.6 不同分割模型的苗族服饰图案分割性能对比
本文选用了几种经典的主流分割模型与本文提出的模型进行了对比。苗族服饰图案大体涵盖3种不同的风格,每种风格挑选3张图像,于是从测试集中挑选了共计9张图像进行展示,如图6所示。第一列为苗族服饰图案的原始图像;第二列为苗族服饰图案的人工标签;第三列为U-Net分割模型的分割结果;第四列为Attention-UNet分割模型的分割结果;第五列为Deeplabv3+分割模型的分割结果;第六列为FusionNet分割模型的分割结果;最后一列是本文提出的分割模型的分割结果。
图6 不同模型的苗族服饰图案分割结果对比Fig.6 Comparison of segmentation results of Miao costume patterns with different models
第一种苗族服饰图案的原始图像的风格总体呈现色彩丰富度较高,但是饱和度较低的特点,如图6(a)所示的三张原始图像,因此分割存在一定的挑战性。其中Deeplabv3+和Attention-UNet的分割结果最差,Deeplabv3+分割模型几乎不能完成基本的分割任务,而本文提出的模型相比其他分割模型,分割图案的轮廓清晰,错分的情况也少于其他模型,这得益于本文提出的模型中的SKNet模块,能够专注于学习原始图像的特征信息,起到注意力机制的注意力作用。第二种苗族服饰图案的原始图像的风格总体呈现色彩对比度高,图案单一重复,同时构图具有对称性的特点,如图6(b)所示的三张原始图像,因此分割难度不大,几乎所有的分割模型都能较好地完成分割任务。本文提出的模型相比于其他分割模型,优势在于能够表现出更多的图案细节,因此漏分的情况较少,所以与标签更加接近,这同样得益于本文提出的模型,在实现基本的分割任务的同时,充分还原苗族服饰图案的细节内容。第三种苗族服饰图案的原始图像的风格总体呈现图案内容多,图案的细腻程度高,如图6(c)所示的三张原始图像,因此分割的难度比较高。同时与图6(b)的三张原始图像相比,苗族服饰图案存在样本类别不均衡的情况,而本文引入的Lovász-hinge损失函数可有效地解决这一问题。在其他分割模型分割效果均不佳的情况下,本文提出的模型表现出了不错的分割结果,本文提出的模型充分地提取了图案的特征信息并增强了图案的细节表达,因此分割结果中错分和漏分的像素很少,细节的还原度高,而其余模型的分割结果中明显存在或多或少的错分和漏分情况。
综上所述,从实验分割效果来看,本文提出的分割模型在苗族服饰图案的分割效果优于其余几种分割模型,但是仍然需要从指标层面定量分析不同实验的分割结果,如表2所示。
表2 不同模型的苗族服饰图案分割性能对比Tab.2 Comparison of image segmentation performance ofMiao costume patterns with different models
从表2的实验结果显示,Deeplabv3+的分割指标最差,与图6的分割结果表现基本一致,而本文提出的模型在分割指标上均好于其他模型,其Dice系数达到了90.77%,IoU达到了83.25%,精确率达到了90.18%,召回率达到了92.26%,准确度达到了91.16%。相比于基准模型U-Net模型,在Dice系数、IoU、精确率、召回率及准确度等指标上分别提升了6.98%、11.07%、2.89%、6.75%及3.92%,因此从主观和客观两方面的实验结果表明,本文提出的模型优于其余4种模型。
4 结 论
苗族服饰作为苗族的文化符号之一,实现苗族服饰图案的分割对研究苗族文化有着重大现实意义。为了解决苗族服饰图案存在的样本类别不均衡的问题,本文引入了Lovász-hinge损失函数;为了提高苗族服饰图案的分割精度,本文提出了一种基于RSKP-UNet的苗族服饰图案分割模型。RSKP-UNet模型在U-Net模型上做了适当改进,在U-Net模型的编码器部分加入了Residual模块,增加模型的特征提取能力,在解码器部分融合了SKNet模块和ParNet模块,增加了多尺度特征融合后的特征表达能力,同时抑制冗余特征信息对分割的影响。实验结果表明,本文引入的Lovász-hinge损失函数显著的提升了分割性能,提出的RSKP-UNet模型在指标上整体均优于其他4种对比分割模型。相比于基准模型U-Net,Dice系数提升了6.98%,IoU提升了11.07%,精确率提升了2.89%,召回率提升了6.75%,准确度提升了3.92%,所以本文提出的RSKP-UNet模型能够较好地解决苗族服饰图案分割问题,且分割精度较高。因此,本文提出的分割算法通过对苗族服饰图案的分割,实现了对苗族服饰图案的元素内容的提取,可以通过这样的方式构建苗族服饰图案数据库,从而帮助设计师及相关研究学者和组织机构提供研究基础,同样本文也为其他少数民族服饰图案分割研究提供了参考。
《丝绸》官网下载
中国知网下载