基于连衣裙结构特征匹配的款式识别技术
2021-01-05姜朝阳马延彬
夏 明,宋 婧,姜朝阳,马延彬
(1. 东华大学 服装与艺术设计学院,上海 200051; 2. 同济大学 上海国际设计创新研究院,上海 200092; 3. 东华大学 现代服装设计与技术教育部重点实验室,上海 200051)
服装款式识别应用广泛,对整个服装行业有很大影响。服装廓形体现结构设计和风格,影响和制约款式结构的设计[1-2]。倪文杨提出廓形、面料、色彩及款式四要素作为连衣裙构成要素[3]。肩部、腰部、臀部及下摆部位的宽度和放松量是影响服装廓形的主要因素,省道和分割线等细节设计也会产生部分影响[4]。Hou等提出采用形状不变矩和傅里叶描述子共同提取服装轮廓,使用直方图形式对服装款式匹配计算,实现服装检索[5]。
陶晨等利用Ada Boost算法检测到图像中的人脸后[6],将着装人体分割为六大区段,利用区段宽度和长度数据建立轮廓的形态比公式,将廓形量化,从而实现款式的识别[7]。陈嫒嫒等提出对服装关键点定位,利用暗含的图形关系提取深度卷积特征来进行相似性度量[8]。屠青青提出关键点的款式识别,外部轮廓和内部结构共同描述款式,用于服装风格的识别[9]。
目前在款式检索上应用的以图搜图检索技术,主要以图像提取的色彩、纹理、轮廓等特征综合进行相似度计算。检索结果以色彩和轮廓相似为主,色彩和轮廓的提取和图像内容相关,并不限于服装本身,易受背景的影响,主要应用于消费者或设计师使用场景。本文主要考虑服装款式的结构特征,以连衣裙款式关键点轮廓为基础,通过对轮廓的不同描述和相似性度量计算,比较了不同算法的款式识别精确度和准确度。利用相似度测评表,验证了基于系数分配的欧氏距离优化算法的可行性。本文研究可应用于服装结构相似款式的快速检索。
1 连衣裙轮廓的提取
1.1 连衣裙轮廓要素分析
1.1.1 廓形与结构设计
服装廓形必须符合人体的基本结构,因此服装轮廓一定受到人体基本关键点的限制。连衣裙轮廓最常见的为S形、X形、H形、A形,如图1所示。S形凸显人体曲线,与人体弧线趋势保持基本一致;X形样板设计在S基础上增加下摆量;H形的特点是隐藏人体曲线,胸围线以上保持合体,塑造服装宽松效果;A形与H形在胸围线以上相同,但是下摆量放大,无收腰设计。
图1 连衣裙廓形与结构设计Fig.1 Dress silhouette and structure design. (a) Silhouette of S; (b) Silhouette of X; (c) Silhouette of H; (d) Silhouette of A
图2 廓形组合Fig.2 Silhouette combination
通过分析廓形的变化规律发现,影响廓形的部位包括肩部、胸部、腰部、臀部、膝盖和下摆。
1.1.2 轮廓关键点确定
将几种常见的基本廓形按照肩-胸、胸-腰、腰-臀、臀-膝和膝-摆5部分的不同组合,如图2所示。
分析归纳后发现膝盖处的变化规律不固定,而廓形的变化又在臀部和下摆之间,因此将膝盖线改为中摆线,中摆线一般为臀围线与下摆线的中间位置,但对于鱼尾裙类似的廓形,中摆线位置调整为臀围与下摆之间突出变化的位置。如图2所示,胸围线对廊形的影响并不明显,因此决定剔除胸围线,减少2个特征点的提取,不仅降低了特征点的提取量,而且降低了因提取不准确导致的误差。影响廓形的主要部位的具体位置包括肩部、腰部、臀部、中摆、下摆5处对应的10个关键点。
1.2 轮廓提取方案设计
1.2.1 连衣裙样本的确定
由于国际品牌的模特身材在较小的范围内变化,而且款式结构更加规范,因此选定包括DIOR、CHANEL、BURBERRY等国际品牌的连衣裙样本。由于本实验目的是建立连衣裙款式结构与轮廓之间的关系,因此在轮廓提取和对比时,领型、袖型、色彩、面料等因素暂时不予考虑。为避免模特身材、动作姿态等其他因素对连衣裙轮廓的影响,剔除部分造型夸张、模特姿态不端正、面料特征突出的连衣裙图片。
1.2.2 轮廓提取方法
本文实验分为人工分类、计算机语言程序编辑、轮廓提取3个步骤。实验方案如下。
1)人工分类。对所选样本按照A形、S形、X形、H形、T形、O形六大廓形进行人工分类。其中T形和O形的占比仅为4.2%,且此类造型与面料的关系较大,因此后续的研究仅针对A形、S形、X形、H形4种廓形,共114款连衣裙。将所有样本按照“廓形类别”-“数字”的规则进行命名,以便后续研究的进行。
2)计算机语言程序编辑。用计算机语言程序编辑得到轮廓提取的程序,可实现导入图片、放大和缩小、增加和删除点,可以记录所有点的顺序并记录坐标。该程序将提取的轮廓保存为CONTOUR文件、TAGGING文件、TXT文件,其中CONTOUR 文件是选取的点组成的轮廓图形,TXT文件为轮廓点的坐标。
3)轮廓提取。通过增加或删除点的操作确定所用的10个点,即肩线、腰围线、臀围线、中摆线、下摆线5个围度线。规定所有的样本都从右肩点—右腰点—右臀点—右中摆点—右下摆点—左下摆点—左中摆点—左臀点—左腰点—左肩点的顺时针方向取点,记为1~10,实现连衣裙轮廓的提取。
为使轮廓提取统一标准,应遵守以下规则:1)抹胸等肩胸部有造型的连衣裙,肩线的2点应定位在正常肩点;2)鱼尾裙等有裙摆造型的连衣裙,将中摆线2点设置在裙摆开始变化的转折点位置;3)模特的身体比例在小范围内稳定,臀围线的位置按人体比例确定;4)腰线的2点依据实际服装的腰线位置确定。
1.2.3 轮廓描述子提取
结合相关文献,提取肩宽Ws、腰宽Ww、臀宽Wh、中摆宽Wz、下摆宽Wx、肩腰距离L1、腰臀距离L2、臀摆距离L3以及腰线、中摆线、下摆线与连衣裙外轮廓线的夹角Pw、Pz、Px的余弦值共11组数据作为连衣裙形状的描述子,如图3所示。
图3 轮廓描述方式图解Fig.3 Contour description mode diagram
2 连衣裙轮廓匹配计算
2.1 轮廓相似度测评表
为方便计算方法的对比和优化,需要相对权威准确的廓形相似度测评表,针对服装工程背景人员对样本廓形相似度做出判断,忽略袖型、领型等其他因素的影响。相似度选项设置为不相似、稍微相似、相似、非常相似与相同5个程度,后台分别对应计分0、0.25、0.5、0.75、1,得到8份有效问卷。将得到的问卷整理后得出人工相似度测评表,以便后续应用。研究发现,对于所属同类廓形间的相似度评分高,样本相似度最高的基本为同类廓形。结合服装结构知识,同类廓形的服装其结构版型更具有相似性,当不同廓形的相似度结果非常接近时,可优先考虑同类廓形。
2.2 传统欧式距离计算
采用上述提取的11组数据作为轮廓描述子,利用传统欧式距离方法计算形状间距离。描述子通常是用向量或矩阵表示,因此就是计算向量间的距离,常用的有欧氏距离(Euclidean distance),计算公式为
式中:ai、bi分别代表轮廓a和轮廓b的轮廓描述子;n为描述子个数;D为2个轮廓之间的欧式距离,D越小,轮廓相似度越高。将轮廓描述子归一化后进行计算,使计算的欧式距离标准化在[0,1]区间,数值为0时,表示2个连衣裙完全相同。将结果与1相减,即得到了连衣裙形状的相似度:
S=1-D
利用传统欧式距离得到的连衣裙形状相似度结果与廓形相似度测评表做简单对比发现,欧式距离对应的相似度数值较大且分散,不能有效地筛选出相似的连衣裙款式。
2.3 基于系数分配的欧式距离
传统欧式距离的计算方法将所有描述指标按照同一贡献程度进行计算,但是不同指标的影响程度不同,基于此提出将11组描述子分为宽度、高度和角度余弦值3个方面。利用传统欧式距离分别对3个方面的值进行计算,并转换为相似度。将e1、e2、e33个系数分别赋予3个方面的相似度,使之相加得到的相似度与人工测评得到的廓形相似度测评表相等,因此e1、e2、e33个系数应该满足以下表达式:
式中:Sc、Sh、Sw分别代表角度余弦值、高度、宽度3个方面的相似度;Sn代表廓形相似度测评表中的相似度,Sc、Sh、Sw、Sn均为114×114的对称矩阵。通过解超定方程组,得到唯一的最小二乘解:e1=0.902 9、e2=0.269 6、e3=-0.588 4。将所得到的3个系数反推计算,得到新的114×114的矩阵Y,对角线均为0.584 1,将矩阵Y中的元素均除以0.584 1,对角线的值转换为1,同时保持矩阵元素的比例大小。将此表作为基于系数分配的欧式距离的相似度结果,与其他方法作对比。此外,根据系数绝对值的大小,在轮廓特征描述子中按照相似度影响程度大小排序为:角度余弦值、宽度、高度。
2.4 形状上下文匹配
形状上下文(SC)用一定的样本点集合描述物体的外部形状,是Belongie从统计学角度出发,根据目标轮廓点建立的形状描述子[10]。形状上下文描述方法和原理如下。
1)构建极坐标空间。在极坐标空间下,点之间的方向与距离可更直观地表示。将极坐标空间按照极半径和角度方向划分为M份和N份,即划分为M×N个区间,将所有点的二维坐标转换为极坐标;
2)将每个轮廓点Pi分别作为原点,统计其余轮廓点相对于点Pi在各区间的分布个数,得到该点的形状上下文直方图;
3)每个样本由n个点组成,可得到n个M×N的直方图矩阵,即得到该样本的形状上下文描述子。
图4示出轮廓点间的相对关系。考虑到计算速度等,本文实验取M=6,N=8,建立6×8的对数极坐标空间。将款式轮廓数据均匀采样为100个坐标点,每款服装对应100个6×8的直方图矩阵,得到款式轮廓的形状上下文描述子。计算某款式形状上下文描述子与其他轮廓描述子之间的距离,就可获得匹配代价。
图4 轮廓某点与其他点相对关系Fig.4 Relative relation of some point to rest of contour. (a) Any point in contour; (b) Any two points in contour; (c) Relative relationship
形状上下文匹配的具体过程如下。
1)应用匈牙利算法将输入款式A的轮廓点集与轮廓库中的款式B的轮廓点集进行匹配计算,得到轮廓点集的匹配关系与匹配代价Cs值;
2)将输入款式A的轮廓点集与轮廓库中所有款式样本轮廓点集进行匹配计算,得到与所有款式轮廓的匹配代价Cs值,取匹配代价最小的款式作为与款式A最匹配的款式。
根据上述步骤即可实现基于服装轮廓匹配的款式的识别。图5是以样本S-24与样本S-60的轮廓匹配为例的示意图。
图5 轮廓匹配示意图Fig.5 Contour matching diagram. (a) Histogram of point a; (b) Histogram of point b; (c) Histogram of point c; (d) Diagram of matching S-24 and S-60
3 轮廓匹配结果对比
3.1 准确度和精确度计算
在本文实验的相似度计算中,并没有明确的值域表明某2个图像不相似。为体现数据匹配的全面度,对匹配结果进行评价时,规定:按照相似度在前n位的样本序号与相似度测评表的样本序号的重合个数评价,匹配效果的评价指标的计算方法具体步骤如下。
1)分别将传统欧式距离、基于系数分配的欧式距离和形状上下文匹配3种方法计算得出的每个样本的相似度结果排序,提取在前n位和前m位的样本序号。
2)采用同样的方法将廓形相似度测评表中每个样本相似度排序在前n位和前m位的样本序号提取出来。
3)分别统计3种方法的匹配结果排序在前n位的样本序号与相似度测评表中前n位的样本序号的重合个数。然后将每个样本的重合个数除以n作为该方法匹配结果的准确度。
4)分别统计3种方法的匹配结果排序在前m位的样本序号与相似度测评表中前m位的样本序号的重合个数。然后将每个样本的重合个数除以m作为该方法匹配结果的精确度。
对匹配的相似结果观察后发现,相似度排在前10的款式相似度具有说服性,排名越靠后,相似度越低,排名第1的均为样本自身,因此n取11;相似度排在前4位的款式非常相似,因此m取4,分别计算3种算法的准确度和精确度。传统欧式距离、基于系数分配的欧式距离和形状上下文匹配3种方法的准确度分别为38.91%、45.36%、82.91%;精确度分别为40.13%、40.57%、77%。
3.2 实验结果分析
3.2.1 3种算法结果对比
3种算法所有测试样本的准确度和精确度曲线如图6所示,表明形状上下文算法的匹配效果最佳,使用形状上下文匹配算法的整体准确度和精确度分别为82.91%、77%,比使用基于系数分配的欧式距离算法分别高出37.55%、36.43%。
图6 3种算法结果对比图Fig.6 Comparison of results of three algorithms. (a) Accuracy; (b) Precision
3.2.2 欧式距离结果对比
基于系数分配的欧式距离匹配效果与形状上下文算法相比不够理想,准确度和精确度分别为45.36%和40.57%,但与传统欧式距离的匹配效果相比,准确度和精确度分别提高了6.45%和0.44%。
4 结 论
通过对连衣裙轮廓关键点的提取和匹配计算的研究,得到以下结论。
1)形状上下文的匹配效果最佳,准确度和精确度分别达到82.91%、77%,可作为轮廓相似性度量算法。
2)基于系数分配的欧式距离优化方法的准确度和精确度比传统欧式距离方法分别提高了6.45%和0.44%,验证了本文优化方法的可行性。
3)在轮廓特征描述子中按照相似度影响程度大小排序为:角度余弦值、宽度、高度。