刘为敏, 谢 红
(上海工程技术大学 服装学院, 上海 201620)
服装的合体度取决于服装样板的合体度,如何快速准确地生成符合目标客户的服装样板一直以来都是研究的热点,也是服装制版中的关键技术和难点。量身定制中服装合体样板的生成是通过三维扫描仪把人体关键部位尺寸输入服装量身定制(MTM)系统,系统按照尺寸在板型库中自动进行搜寻找到与之最接近的版型或自动生成个性化样板,提高了服装企业的效率[1]。
目前服装合体样板的生成主要有以下几种方法:第一,利用款式部件库里的款式部件间的快速组合得到个性化样板;第二,基于大量的人体数据,在其基础上修正原型,通过放码生成合体样板,或者基于大量人体数据,细分人体体型,不同体型设置不同的基板,通过放码生成合体样板;第三,参数化设计样板,将点、线之间的关系式通过编程语言实现给定一个客户尺寸即可生成个性化样板。前2种方法都离不开放码,企业用的最多的是放码技术,放码是对样板整体比例的变化;而人体体型各异,有时并不是成比例的增加,因此得到的样板还需要修正。服装的智能生成目前用的大都是参数化设计方法。
随着互联网+时代的到来,服装合体样板的智能生成,俨然已经成了服装行业未来的发展趋势。美国格柏公司即是基于参数化设计方法开发了变更功能,通过一个基准样板,调用既定的变更规则和尺码代号自动生成个性化样板。其中,变更规则的设计是服装合体样板快速生成的关键技术。变更规则的制定参照放缩规则又不同于放缩规则,放缩规则是样板整体规格的放大或缩小,而变更规则可控制单个部位的放大或缩小,提高服装的合体度。目前存在的问题是变更规则及样板各部位的参数约束式是固定的。客户样板的生成是以服装版型库里与客户尺寸近似的样板为基准样板,根据个体尺寸与此基准样板尺寸的二维差异,调用既定变更规则进行样板变更,以求得符合客户尺寸的服装样板[2]。这就需要庞大的板型数据库,但由于人体细部形态各异,板型库不足,有时很难找到与之相适应的板型,生成的服装样板合体度欠佳,往往需要借助样板师凭借其技术和经验重新修改样板;另外由于变更规则是固定的,随着尺寸的增大,生成的样板必然会造成结构不平衡,使得服装不合体。
本文基于上述缺陷,以格柏CAD为技术开发平台,提出对于变更规则的参数化研究,可根据人体的尺寸自动生成相应的变更规则,并采用BP神经网络算法建立人体尺寸变化量与变更规则之间的参数化变更规则神经网络模型,从而实现一人一板。以往的研究也有将神经网络用到服装上,但大多数建立的是人体净尺寸与成衣尺寸之间的关系,只是实现了绘制样板时的尺寸依据,并不能实现样板的自动生成。本文将神经网络应用于变更规则的参数化设计,直接实现数据与数据的匹配对档。目的是使不同的人体尺寸采用不同的变更规则,从而自动生成样板,解决了从板型库中查找近似板型困难这一缺陷,提高了服装的合体度,减少了对样板师的依赖。
本文选择合体男西裤作为基准样板进行研究,号型为170/82A,即以身高为170 cm、净腰围为82 cm的男西裤作为研究对象,首先根据男西裤制图公式确立各个控制部位腰围、臀围、脚口、立裆长、裤长等部位变更点的基准变更规则(基准变更规则是该控制部位各个变更点的移动量与该部位档差的百分比)。控制部位当中影响西裤合体性的部位主要是腰腹部和臀部,因此本文主要以腰围、臀围规则为例进行说明,建立人体腰围、臀围的尺寸变化量和腰围、臀围变更规则之间的参数化模型。基准样板的规格尺寸如表1所示,结构图如图1所示(前片单褶、后片双省),男西裤基准变更规则如图2所示。
表1 男西裤规格尺寸Tab.1 Male trousers size cm
图1 男西裤结构图Fig.1 Men′s trousers structure
图2 男西裤变更规则Fig.2 Establishment of alteration rule for men′s trousers
格柏系统是以变更点编号来识别样板需要变化的部位,因此需要首先对样板变化的部位设置变更点编号,每个变更点又分为X方向上的变化量、Y方向上的变化量。同一样板中,点的编号必须是唯一的,由于变更点的数量比较多,为防重复,点编号的设置一般以3~4位数字为宜,如101,1010,102等。本文样板变更点集中在样板腰围、腹围和臀围部位,编号如下:前片侧缝线与腰围线、腹围线交点编号分别为y105、y1011,前片中线(即前裆线)与腰围线交点编号为y101,前片褶裥编号为y104、y1040、y1041,后片侧缝线与腰围线和腹围线交点编号分别为y201、y216,后片中线(即后裆线)与腰围线交点编号为y208,后片省道编号为y202、y204、y205、y207。
从上海工程技术大学人体数据库里采集本次研究对象基准样板下净腰围82 cm所对应的臀围最大值和最小值分别为102、86 cm;净臀围96 cm所对应的腰围最大值和最小值分别为101、72 cm。求出该最大值和最小值与基准样板中腰围、臀围的差值,得到腰围和臀围尺寸变化范围,分别为-10~19 cm和-10~6 cm。获得腰围、臀围的最大值、最小值是为了尽可能多地包含人体尺寸的变化范围,为建立人体的尺寸表做准备。
将1.3节中得到的腰围、臀围变化范围,分别以1 cm为单位在基准样板腰围和臀围的尺寸上逐步增加或减少,即腰围不变,臀围在-10~6 cm之间变化,共17个尺寸;臀围不变,腰围在-10~19 cm变化,共30个尺寸,交叉组合建立尺寸表,共建立17×30=510组变化尺寸。基准样板通过调用图2所示的基准变更规则和510组变化尺寸,共得到510组变化样板。结合专家经验和人体体型对其中不合体样板部位的各变更点进行修改,记录各点的修改量。由于格柏档案中变更规则是以百分比的形式呈现的,因此要将修改的量利用公式(变更百分比=点的移动量/整体部位变化量)转换得到各变更点的变化百分比。将原始基准变更规则中的点变更数据加上修改样板不合体部位得到的对应点的变化数据,即可得到最终的合体样板变更数据,共得到510组合体样板变更数据,即合体的样板变更规则,为后期使用BP神经网络建立参数化合体样板变更规则提供数据支撑。
所谓不合体样板即结构方面达不到保量保型,如图3所示。当腰围增加或臀围减小,腰部侧缝出现外凸臀部内凹,导致侧缝线不圆顺而出现拐点,前片侧缝线的外凸量超过1 cm或后片侧缝线的外凸量超过2 cm时,即可判定为不合理;当腰围减小或臀围增加,臀部外凸腰部内凹导致前后侧缝过于弯曲,侧缝线曲线峰度超过2 cm或前后中缝臀部出现拐点,即可判定不合理[3];将得到的样板前片侧缝与后片侧缝拼合、前片前中线拼合、后片后中线拼合,若腰线处出现凹角或凸角现象均可判定为不合理。
图3 不合体样板Fig.3 Abnormal trousers pattern. (a) Increase in waistline or decrease in hip circumference;(b) Decrease in waistline or increase in hip circumference
修改样板主要是以保量保型为原则并结合专家经验进行修改,通过合理分配省和褶的量以及前后侧缝的困势、前中劈腰量来达到样板的结构平衡和规定尺寸[4-5]。反映到样板上即是对前片侧缝y105、y1011,前中y101,前褶y104、y1040、y1041,后片侧缝y201、y216,后中y208,后省y202、y204、y205、y207共13个变更点进行修改,点的移动有正负值之分,向上移动量为正值,向下移动量为负值。修样过程中,当臀腰差减小时,随之省和褶也要减小。省和褶的变化规则是:后省每个省的量在减小的过程中不能小于1 cm,小于1 cm则换成后片单省的款式,后片换成单省时,就要在原来的基准样板上减少1个省的2个变更点y205、y207;前褶的褶量在减小的过程中不能小于2 cm,小于2 cm即可去掉褶。当臀腰差增大时,省和褶也要增大,省和褶的变化规则是:后省每个省的量在增大过程中不能大于2.5 cm,前褶的量在增大过程中不能大于4.5 cm,大于4.5 cm就要换成前片单褶、单省的款式,前片换成单省单褶时就要在原来的基准样板上增加前片1个省的3个变更点y122、y123、y124,并且保证修改后的样板前后侧缝形状相似,长度近似。随着省的变化,共得到3种基本款式:前片单褶,后片双省;前片单褶,后片单省;前片单省单褶,后片双省。将3种款式分别命名为y0、y1、y2。
将修好的样板前后侧缝拼合、前中缝拼合、后中缝拼合时,侧缝、前中缝、后中缝与腰线的角度要略大于180°,不能出现凹角或凸角,以保证腰线的平展,否则继续修正样板。
BP神经网络是前馈神经网络,一般结构为输入层、隐含层和输出层,隐含层的层数和节点的设计、各层之间激活函数的选取以及训练函数的选取对于网络的性能影响很大,其中隐含层的层数和节点的设计是神经网络中最重要的,在很大程度上决定了网络的训练速度和泛化能力[6]。
BP神经网络根据需要一般已经确定输入层和输出层,重点是确定隐含层层数和隐含层节点,在很大程度上影响着网络的质量。数据拟合的精度会随着隐含层数的增加而提高,但同时也会增加训练时间,因此在设计神经网络时一般要综合考虑训练精度和拟合时间来设计隐含层和节点数[7]。在设计BP神经网络时,一般先考虑设计一个隐含层,当一个隐含层的隐神经元数很多但仍不能改善网络的性能时,才考虑增加隐含层[8]。隐含层节点的设置对网络的影响也较大,隐含层的节点数设置过少将无法达到学习与逼近的性能,过多又可能使网络出现过拟合等不良现象,一般隐含层节点的设置参考以下公式确定:
式中:m为输入层节点数;n为输出层节点数;a为1~10之间的常数[9]。在实际应用中通常将公式法与经验法相结合来确定隐含层的节点数。
2.2.1传递函数
常用的传递函数即激活函数有3种:tansig、logsig、purelin。隐含层一般采用S型激活函数,输出层一般选用线性函数purelin作为激活函数。logsig 传递函数输出范围是(0,1),tansig传递函数输出范围是(-1,-1)。tansig函数比logsig函数的输出范围大,且含正负区间。purelin函数的输出可以是任意值[10],使用过程中可根据需要选取。
2.2.2训练函数
训练函数也是影响神经网络模型性能好坏的一个重要参数,不同的训练函数代表不同的BP算法,MatLab中提供的BP训练函数大致有以下几种。共轭梯度法进行的训练函数:traincgf(采用Fletcher-Reeves搜索技术)、traincgp(采用Polak-Ribiers搜索技术)、traincgb(采用Powell-Beale搜索技术);基于拟牛顿法的训练函数trainbfg;用Levenberg-Marquardt数值优化法来实现误差反向传播算法的trainlm,收敛速度最快;最基本的BP算法traingd和附加动量的梯度下降法traingdm,收敛速度较慢;自适应学习步长法traingda和traingdx,它们的学习步长会根据误差性能函数进行调节,能够解决标准BP算法中学习步长选择不当的问题。总的来说,启发式算法的traingd、traingdm、traingdx训练函数效率要低于共轭梯度法、拟牛顿算法和Levenberg-Marquardt法等数值优化算法的训练函数[11]。
将1.3节得到的510组合体的变更数据应用MatLab2014a来建立BP神经网络模型,选用样本中的490组数据作为训练样本,20组数据作为测试数据。输入层为腰围、臀围的变化量;输出层为前片侧缝y105、y1011,前中y101,前褶y104、y1040、y1041,前省y122、y123、y124,后片侧缝y201、y216,后中y208,后省y202、y204、y205、y207各变更点的变更数据,以及款式y0、y1、y2。因此,神经网络具有2个输入,17个输出,根据BP神经网络的特点和本次样本数据的特点,经过多次训练测试比较,本文采用5层神经网络,即3个隐含层,各层间的传递函数选取tansig函数,经过反复测试确定各隐含层的节点数分别为20、65、50,构成了一个2×20×65×50×17的BP神经网络模型。
参数设置如下:首先运用MatLab中的mapminmax函数对数据进行归一化,消除数据之间的差异性,然后建立前馈BP神经网络,训练函数选择trainrp弹性BP算法,自适应学习函数选取MSE(均方差)函数。最大迭代次数为5万步,显示轮回的数为100,均方差为0.000 01。在BP网络中,学习速率的选取范围在 0.01~0.8 之间[12]。本次学习速率选为0.01。
然后开始训练,经过5万步,均方差达到0.000 234,如图4所示。
图4 网络训练曲线Fig.4 Curve of network training
对训练好的模型用20组数据进行测试,仿真输出,将预测输出和期望输出(期望输出即是用来进行测试的20组数据,是由前面对不合体样板在格柏CAD中结合专家经验和人体体型进行修改后得到的合体样板变更数据)进行对比,误差如图5所示。图中每条曲线代表1组数据各变更点预测输出和期望输出的误差,1组数据由17个变更点组成。
由图5可知,20组测试数据中,每组数据各变更点的误差大多数都在-1%~1%之间,少数几个在-2.5%~2%之间,说明本文建立的BP神经网络模型合理有效。将预测输出的数据导入到格柏系统的腰围和臀围的变更规则里,即可自动生成变更样片,相当于一人一板,减小了对样板师的依赖。实验验证结果表明,采用BP神经网络输出的样板变更数据,可达到理想的男西裤合体效果。
本文将人工神经网络算法应用于男西裤样板变更规则的设计当中,实现了样板变更规则的参数化设计,即给定一个腰围、臀围的变化量就得到一个相应的变更规则,通过此变更规则就会得出符合这个尺寸的样板。相当于一人一板,改变了传统的从服装板型库里提取出与客户近似的样板,通过固定变更规则进行样板变更生成客户样板,但由于人体细部形态各异,样板库不足,有时很难找到与之相适应的样板,并且减少了对样板师的依赖性,为智能化服装生产提供一条新的思路。本文只针对腰围和臀围的变更规则进行了参数化设计,并且款式较单一,今后将对不同款式、不同部位的变更规则进行研究,进一步完善变更规则库。
FZXB