基于卷积神经网络的汉服关键尺寸自动测量
2021-01-06王奕文罗戎蕾康宇哲
王奕文,罗戎蕾,康宇哲
(1. 浙江理工大学 服装学院,浙江 杭州 310018;2. 浙江理工大学 国际教育学院,浙江 杭州 310018; 3. 浙江省丝绸与时尚文化研究中心,浙江 杭州 310018;4. 浙江理工大学 信息学院,浙江 杭州 310018)
古代汉服的结构及形制研究是传统服饰研究的重要组成部分。博物馆为避免风化等问题对文物造成的损害,大部分出土衣物在测量和拍照完成后会保存在库房里,很少展出,且发掘报告中给出的数据有限,后续研究人员无法按照需求进行尺寸测量,不利于传统服饰文化的继承与发展。
尺寸自动测量一般应用于成衣检验环节。曹丽等[1]提出利用边缘检测算法和拐点检测算法进行尺寸测量;王生伟等[2]利用Shi-Tomasi算法进行角点检测求得尺寸特征点;董建明等[3]利用SUSAN算子和回光反射标志结合测量比,标定推算尺寸数据;肖祎[4]采用Canny边缘检测算法、霍夫(Hough)变换提取轮廓并进行关键点分级扫描检索,最后利用拟合公式求得尺寸数据。以上研究都是基于人工设计的检测算法,样本特征提取单一,易受到周围环境和服装形变的干扰。
针对以上分析,本文提出一种基于卷积神经网络的古代汉服关键尺寸自动测量方案,以汉服上衣为例进行实验,所测关键尺寸包括领口宽、袖口宽、通袖长、袖宽、胸围宽、下摆宽和衣长等。在特征提取上采用深度学习的卷积神经网络(CNN)进行汉服关键点检测。卷积神经网络可从大量的原始图像中进行特征自学习,从而有效避免外界因素的干扰,在目标识别与定位方面具有明显优势。再利用霍夫变换圆检测算法结合K-Means聚类算法将无效关键点清除,最后通过比例映射即可求得所需的汉服尺寸数据。
1 测量方案设计
1.1 卷积神经网络模型设计
在模型设计上,采用自上而下的特征提取方案,以Inception-ResNet-V2[5]作为特征提取的骨干网络。参照特征金字塔融合网络(FPN)[6]和单人姿态识别模型[7]的网络思想,设计出一个包括全局网络GlobalNet和精练网络RefineNet的二阶段卷积神经网络模型,实现高阶特征和低阶特征的融合作用,其中GlobalNet用于提取关键点特征,RefineNet用于提取关键点。
骨干网络Inception-Resnet是由Inception网络和Resnet网络结合而来,在加深特征提取深度的同时增加残差学习单元,对服装特征的冗余信息进行恒等映射,避免出现因网络过深而造成的末端梯度消失问题。全局网络GlobalNet是在Inception-ResNet-V2的网络结构中引入4种中间特征抽取算法(C2~C5),并构造成类似于FPN的金字塔网络特征提取结构。其中C2和C3用于提取浅层特征,C4和C5用于提取较深层次的高阶语义特征,其结构如图1所示。
图1 GlobalNet金字塔网络结构Fig.1 GlobalNet pyramid network structure
与FPN网络不同的是,GlobalNet在每一层都加入了1×1卷积核进行上采样,且基于这种U型特征的金字塔网络结构可保留空间分辨率和语义信息,从而准确定位到汉服的袖口、下摆等结构较易分辨的部位。对于结构较复杂的领口、裙褶等细节部位,需要引入更高阶的语义信息和背景信息进行识别,因此,在GlobalNet的基础上又加入了精炼网络RefineNet。RefineNet是在GlobalNet提取特征的基础上将特征分成相同的3路,每路都加入了不同数量的1×1卷积核,以扩大输入和输出的维度差距形成瓶颈层,以此对特征图进行非线性压缩减小计算量,最后将3路特征经过不同维度的线性压缩后送入concat模块,实现高低阶特征的融合并存。区别于元素特征相加,concat结构可在特征融合时通过增加特征图的维度即通道数量,提高精炼网络的关键点识别准确率。最终得到的模型结构如图2所示。
图2 二阶段卷积神经网络结构图Fig.2 Two-stage convolutional neural network structure diagram
此外,GlobalNet和RefineNet均采用损失函数Smooth L2进行关键点的回归预测,计算公式如下:
L=|f(x)-Y|2
(1)
L′=2(f(x)-Y)f′(x)
(2)
式中:L为损失量;f(x)为系统预测的关键点坐标;Y为人工标记的关键点坐标。
在进行回归预测时,首先通过式(1)求得损失量L,再对其进行求导即可得到损失量的下降方向L′。
1.2 关键点检测与测量
将待测图片导入GlobalNet-RefineNet后,最终的输出维度为[1,256,256,24],即24张256像素×256像素的特征图。利用霍夫变换圆检测算法对这24幅特征图进行热点检测。首先对图像进行二值化处理和边缘检测,获取图像的前景点,将边缘检测得到的像素点进行强度累计[8],在二维坐标空间中,对强度值进行0~255的归一化处理,其中强度最大的点即为热点的坐标点,最后利用K-Means聚类算法将24幅特征图中的无效关键点去除。
K-means聚类算法是将样本数据分成K类,设样本数据点分别为x(1),x(2),x(3),…,x(n),随机选取K个聚类质点μ1,μ2,μ3,μ4,…,μk,计算聚类质点到每个样本之间的损失ci:
(3)
其导数为
ci′=2argmin|x(i)-μj|
(4)
按照梯度下降的方向不断重复以上计算直至损失收敛,此时每个样本的质心μj为
(5)
式中:i∈(1,2,…,n);j∈(1,2,…,n)。通过公式计算出的质心坐标即为所需关键点的二维坐标。此时,只需再结合博物馆或发掘报告中给出的任意一个真实测量数据,即任意2个关键点之间的真实距离,通过比例映射即可得出所有关键点对应的尺寸数据。
2 实验部分
2.1 实验环境
本文的训练环境搭建在Ubuntu18.04系统下进行,采用CUDA10.0-cu、DNN7.6.5版本进行GPU加速,keras2.1.3版本库作为神经网络的前端,使用Tensorflow-GPU 1.15.0版本库作为神经网络的后端,深度学习训练环境为:Intel Xeon E3 2603V2型号CPU,128 GB DDR3 ECC服务器内存和11 GB NVIDIA RTX2080TI型号显卡。测试环境使用2 GB NVIDIA 940MX显卡进行实验,其余实验条件与上述一致。
2.2 模型训练
作为本文实验对象的汉服上衣取自汉服结构体系中的“上衣下裳”衣制,包括襦、衫、袄等分裁短衣,其结构变化大都集中于领型和袖型。交领右衽、圆袂收袪作为汉服最典型的结构特征,蕴含着千年华夏文明的精神内涵,本文主要针对具有此类领袖结构的汉服上衣进行实验。
为解决古代汉服样本数据和信息稀缺的问题,采用基于模型的迁移学习方法,将在大规模数据集上训练完成的卷积神经网络模型迁移到小规模目标数据域上[9],利用模型之间的相似性,提高系统泛化能力。在模型训练时,分别以与古代汉服形制特征相似的现代服装和现代汉服图片作为2次迁移学习的数据集进行训练,具体操作如下。
首先对现有的开源服装数据集Fashion AI[10]和Deep Fashion[11]进行人工筛选,得到与汉服轮廓特征相似的现代服装图片30 000余张,为避免因摆拍造型复杂而产生的数据分布不一致情况[12],所选图片均为平铺图或直立人体模特图。将收集来的图片按5∶3∶1的比例分别作为训练集、验证集和测试集,输入卷积神经网络进行迁移学习,并得到第1次学习后的参数模型。
从淘宝网、汉服荟等电商平台收集1 000张现代汉服平铺图,选取标准为服装实物是依照传世文物仿制或遵循传统形制平裁而成的。通过对收集的图片进行旋转、增加适当噪声等操作,将样本容量扩充到5 000张,作为第2次迁移学习的数据集。将第1次学习后的参数模型作为预训练模型输入网络,再利用现代汉服数据集进行第2次迁移学习,最终得到一个能够较好地识别汉服轮廓特征的网络参数模型,如图3所示。
图3 迁移训练流程图Fig.3 Flow chart of migration training
经过反复迭代训练发现,迭代曲线呈收敛趋势,且当迭代次数达到300 000次,2次迁移学习的loss指数分别下降至0.2和0.18,说明模型收敛程度高,训练效果好。
3 实验结果与分析
3.1 关键点检测结果
为验证经过2次迁移学习的二阶段卷积神经网络GlobalNet-RefineNet是否可较好地识别古代汉服的关键点,以汉服上衣为例,选取现代汉服上衣和古代汉服上衣的平铺图各50张,将这100张图片分别输入到经过第1次和第2次训练后的神经网络模型中进行关键点检测,其结果如表1、2所示。
表1 第1次训练后的关键点检测结果Tab.1 Key point detection results after first training
表2 第2次训练后的关键点检测结果Tab.2 Key point detection results after second training
3.2 结果分析
由表1、2中数据可知,经第2次迁移学习后,关键点的识别准确率有了大幅提升;2次检测的结果均是现代汉服稍好于古代汉服,这与服装的完整性和照片的质量有一定关系。
图4示出模型经过第1次迁移学习后的关键点检测效果图。
图4 第1次训练后的汉服检测效果示例Fig.4 Detection effect of Han-style costumes after first training. (a) Modern Han-style costumes ; (b) Ancient Han-style costumes
第1次训练时采用的是与汉服轮廓特征相似的上万张现代服装图片。从图中不难发现,训练后的模型在识别与现代服装结构相似的汉服衣摆、小袖等部位时表现出较好的识别能力,但对于汉服特有的交领、垂胡等细部结构的识别能力较差,因此,此时模型的泛化能力还达不到准确检测汉服关键点的要求。
图5示出利用现代汉服进行第2次迁移学习后的检测效果图。结合表2中数据可知,此时的神经网络模型因为有了现代汉服的训练,模型的泛化能力显著提高,并可较为准确地识别出汉服特有的造型结构。古代汉服关键点识别的单点准确率达到86%,识别准确率达到80%;训练结果的总体单点准确率为90.5%,总体识别准确率为86%,且坐标点满足误差范围。
图5 第2次训练后的古代汉服检测效果示例Fig.5 Detection effect of Han-style costumes after second training.(a) Modern Han-style costumes; (b) Ancient Han-style costumes
3.3 实测结果与分析
选取实测数据较多的古代汉服上衣镶几何边绢袄[13]、素绸夹衫[14]和蓝湖绉麒麟补女短衣[15]进行测量结果分析,以各自通袖长的实测尺寸和机测尺寸之比作为比例映射关系,测量结果如表3~5所示。
表3 镶几何边绢袄尺寸测量表Tab.3 Size measurement table of women′s jacket with geometric patterns
由表3~5可知,利用上述方法测得的尺寸绝对误差在3~9 mm之间,相对误差在0.59%~4.17%之间,误差处于可接受范围内。误差主要来源于系统标定、照片质量以及服装褶皱等因素。系统误差可通过调整模型参数提高识别准确率,照片及服装褶皱的影响随着纺织品保护与修复技术的发展将会逐年降低。
表4 素绸夹衫尺寸测量表Tab.4 Size measurement table of plain silk shirt
表5 蓝湖绉麒麟补女短衣尺寸测量表Tab.5 Size measurement table of blue crepe short women′s Bufu with unicorn pattern
4 结 论
本文将卷积神经网络在图像识别上的优越性应用于汉服关键尺寸的自动测量,得到以下主要结论。
1)通过搭建二阶段卷积神经网络模型GlobalNet-RefineNet,并对其进行反复迭代训练,得到可实现汉服关键点自动检测与定位的网络参数模型。
2)应用该模型测得的汉服上衣总体单点准确率达到90.5%,总体识别准确率达到86%。
3)对输出有效关键点的二维坐标进行比例映射,得到的汉服上衣尺寸的绝对误差在3~9 mm之间,相对误差在0.59%~4.17%之间。
综上,本文方案误差范围小,操作流程不易受外界因素的干扰,系统设计及测量方案有效。在今后的研究中,可通过调整实验参数优化神经网络模型,不断提高系统的鲁棒性。利用先进的现代技术探索古代的物质文明,不仅是传承传统文化的科学途径,也是时代发展与进步的最佳体现。