邵成恩 吴家轩 王浩洋 陈小雨 张大秀
摘 要:针对人们线上购物试穿服装难的问题,以Python和Unity3D等软件为基础,提出一个三维服装试穿系统的解决方案。为了实现模特身体体型及身着衣物的控制,开发一个基于MakeHuman建模的三维仿真系统,以期达到真人试穿的效果。该系统可以为服装店提供线上试穿服务,帮助店家吸引更多的顾客进店浏览,提升顾客线上购物的沉浸式体验,从而促成更多的交易量,同时可使卖家显著减少不必要的退换货损失。
关键词:MakeHuman建模;Python;三维试穿
中图分类号:TP391.9 文献标识码:A文章编号:2096-4706(2020)05-0014-05
Design and Implementation of Fast 3D Simulation System for Network Fitting
SHAO Chengen, WU Jiaxuan, WANG Haoyang, CHEN Xiaoyu, ZHANG Daxiu
(School of Computer Science and Information Engineering, Bengbu University, Bengbu 233030, China)
Abstract: Aiming at the problem that it is difficult for people to try on clothes in online shopping, a solution of three-dimensional clothing fitting system is proposed based on software such as Python and Unity3D. In order to realize the control of the model’s body shape and clothes, a three-dimensional simulation system based on MakeHuman modeling is developed in order to achieve the effect of real person fitting. The system can provide online fitting services for clothing stores, help stores attract more customers to browse, and improve the immersive experience of customers’ online shopping, so as to promote more transaction volume and significantly reduce unnecessary return and exchange losses for sellers.
Keywords: MakeHuman modeling; Python; 3D fitting
0 引 言
如今,“3D体感试衣镜”广泛流行于国内外的实体服装售卖店。这种神奇试衣镜是通过实时获取用户关键部位的体感数据来实现试穿目的,试衣镜通过分析能够实时识别出用户的肢体动作,当用户选定心仪的服饰后,试衣镜将服饰模型的动作匹配使用者的肢体动作,将匹配结果投影到试衣镜上,从而达到视觉上的换装效果,省去用户换衣麻烦,不但节约了用户的时间,而且用户还能更为直观地判断所选服饰是否适合自己。
随着社会经济的发展,人们越来越追求便捷性、个性化的购买方式,电商行业不断推出各种创新性的销售手段,极大地激发了消费者的购买欲望。经调查发现,使用天猫、淘宝、京东等网络购物平台购物的用户人数不断增多,这主要是因为网络购物价格实惠,方便省力,可以做到“随逛随买”,网购将会逐渐取代传统购物。近年来,电商服装市场的交易量呈现出逐年递增的趋势,2019年电商服装市场规模达到10.133 7亿元。在服装消费大国的中国,服装电商仍有较大的发展空间,但与此同时,服装电商在发展过程中也不可避免地遇到一些瓶颈,即不能像实体商店那样为客户提供服装试穿体验,顾客会因无法试穿,确定不了服装是否适合自己而放弃网购。如果服装店能够提供线上试穿服务,则会吸引更多的顾客来浏览,抓住更多的交易机会,也能为卖家减少不必要的退换货损失。
随着我国互联网普及率的不断提高,网络购物的“大潮”也随之而来。近些年来,有一大批学者陆续开展网络试穿方面的研究,于是三维仿真系统随之诞生,并逐渐演变为网络试穿的主流,该系统的出现极大地刺激了衣品类电商行业的发展。
1 系统设计与分析
1.1 系统操作流程
经过对用户的使用需求、调整身体数据过程、选择衣物的具体分析,绘出如图1所示的系统操作过程图。系统首先采集用户的身份信息,验证通过后用户选择身体数据(包括性别、年龄、体重、肌肉含量等),系统根据用户提供的数据形成一个虚拟模特,此时用户可以根据需要调整一些细节(例如五官分布和大小、躯干角度、腰围胸围、手臂和腿的长度与粗细等),确认模特信息无误点击确认后可以选择模特的发型,选择需要试穿的服装后即可展示试穿效果。
1.2 系統模块结构
本系统所面向的对象是所有在电商APP、衣品官网购买衣物的网络用户,该系统提供一套基于Python的三维服装建模系统,若要实现逼真的仿真效果以及使衣物更加贴身,网购者可通过本系统手动调整3D模特的身体数据,以便更准确地了解服装是否适合自己,挑选合适的衣服。本系统共分为两大功能模块:一是模特体型参数设置功能模块,二是模特的试穿与展示功能模块,二者相互结合使初步仿真得以实现,设置模块的设置流程如图2所示。
下面介绍两大功能模块的基本功能:
(1)模特体型参数设置模块具体实现的功能为:
1)性别设置。用户可以根据需要设置男模特或女模特。
2)年龄设置。用户可以设置自己的年龄,以便系统给出一个用户年龄段的标准体型供其修改调整。
3)调整体型。用户可以调整模特的身高、体重、身体比重、肌肉含量、乳房、上下身长比例、髋部、腹部、臀部、骨盆、大腿小腿比例、大腿围、小腿围、膝盖弯曲程度等体型参数,并可保存调整好的模特体型。当用户再次进入该系统时,系统会加载最后一次保存的体型参数,用户对模特稍加调整即可使用。
4)调整脸型。用户可以调整脸型(例如选择方脸、椭圆脸、圆脸、三角脸、倒三角脸等),也可以调整眉毛、眼睛、鼻子、嘴部、下颚等脸部参数。
(2)模特的试穿与展示模块能够实现的基本功能为:
1)选择发型。用户可以选择自己想要尝试的发型,也可以选择与自己相似的发型。
2)选择上衣。用户可以选择自己想要尝试的上衣。
3)选择下装。用户可以选择自己想要尝试的下装。
4)选择鞋子。用户可以选择自己想要尝试的鞋子。
5)全身展示。用户选择好全身衣物并为模特穿戴搭配,展示上身效果。
1.3 系统数据库的设计
本系统所涉及的数据库表有标准模特参数表、用户自身体型参数表、眼睛参数表、发型参数表、脸型参数表,如表1、表2、表3、表4、表5所示。其中标准模特参数表的作用是为了存放一些各个身体部位的标准参考数据,此表涉及各个年龄段男性、女性的平均身体数据参数;用户自身体型参数表的作用是为了存储该用户在此系统上传的自身的关键部位数据。即使这两个表中有完全重复的字段属性,但却不能将两表整合为一张数据表,因为这两张表的功能不相同,若是组合在一起会相互干扰,出现数据混乱。
除上述数据表之外,还有上衣贴图表、裤子贴图表、鞋子贴图表以及身体其他部位数据表。脸型、发型、眼睛、上衣、裤子和鞋子贴图表都有完全重复的字段,这样看似可以把其字段属性完全一样的数据整合到一张表中,以便更高效地访问数据库以及向其中存储数据,但是由于本系统后期还需要升级与维护(尤其是要新增功能),若是将字段属性相同的数据都整合到一张表中,就会出现很多诸如数据混乱之类的难以解决的问题。
尽管现在每张表都拥有很多字段属性完全相同的数据,但是它们的功能却不尽相同,一部分数据参数表是模特本身的数据(如发型、眼睛、脸型及身体其他关键部位的数据)表,而另一部分数据参数表所涵盖的内容则属于模特的“身外之物”(如上衣、裤子、鞋子),这两部分数据从本质上说也有很多不同的属性,如果后期需要维护升级,那么现在所涉及的数据字段属性是远远不够的,此数据库还需要在各个数据表中再次额外添加其他的字段属性,如上衣中添加多种配色、纺织材质等关键字段属性。本系统的数据库中存储着各类事物的属性,例如上衣、裤子、鞋子、发型、眼睛、脸型,各类事物的数据字段属性不完全相同,如果一味地存储各类数据,将会出现“需要一种数据却由于使用其组合表导致出现很多用不上的数据”,致使存储系统存储很多“垃圾信息”,使得后期的访问、存储、查询等操作效率大幅降低。另外,各身体部位的字段属性也不完全相同,只是无谓地浪费存储空间,所以将数据按照不同的身体部位分类存储进数据库,这样既节省存储空间,又能提高使用效率。
2 实现方法
2.1 准备工作
本系统需要做的准备工作是利用仿真中曲面算法及Python算法将各种仿真模特体型、头发、五官、衣物、鞋子等提前制作出对应的数据模型,再将提前制作好的数据模型通过计算机语言展现出来:
(1)基于衣服的关键尺寸,通过贝塞尔曲面模拟相关算法以及利用Python制作出衣服的模型,将其存放到相应的文件夹中供用户调用。
(2)通过相关技术将用户的关键尺寸以及体态尺寸传到程序之中,再将衣服的信息导入程序,在用户试穿后展示着装效果。
2.2 实现功能
在所有准备工作完成之后初步仿真系统便大功告成,用户若要使用本系统需要先下载安装软件,第一步就可以把自己关键身体部位的数据导入本系统中,选择自己心仪的发型、衣服、鞋子等搭配穿戴在仿真模特身上,展示上身效果。使用本系统的操作步骤为:
第一步:下载解压后安装软件并打开目录中的“makehuman.exe”,完成安装启用。
第二步:汉化如图3所示,选择“Settings”—“Chinese_china”,在弹出的框中点击“确定”,然后重启软件即可。
图3 汉化后界面
第三步:制作人物。根据如图4所示界面上的提示操作即可。
图4 制作人物
第四步:保存。将文件保存到要保存的位置,选中点击保存。
第五步:导出。根据需求导出文件,如图5所示。
图5 导出
衣服库中储备很多免费的衣服、鞋子、裤子、裙子等,具体操作步骤为:
Step1:点击“Clothes”。
Step2:找到“thumbnail gallery”并點击,可以查看所有缩略图,方便查找。
Step3:找到选中的衣服图片,点击查看,此时会出现下载链接,点击下载链接进行保存。
Step4:新建文件路径,在“\安装路径\makehuman-1.1.1-win32\“data\clothes”文件夹中新建一个文件夹用于存放衣服,如图6所示。分别点开每一个链接,直接保存(ctrl+s)到新建的文件夹中,注意点开的链接会生成如图7所示的文档。
图6 文件路径示意
图7 点开链接后示意
Step5:保存文件夹后,选择要添加的衣服,完成添加,如图8所示。重启软件可以看到具体的试穿效果。
注意在Step3保存时,文件名一定要和保存的文件名一致,浏览器可能会带.txt后缀,需要将.txt去掉,将文件类型改成“所有文件”,按“ctrl+s”直接保存。
排错:如果没有出现下载的衣服,请重新打开软件或者跳转到别的界面后再回来查看。如果依然没有出现下载的衣服,就检查文件夹中的文件名是否正确(注意要将文件夹调成显示后缀名)。
图8 试穿效果
3 结 论
三维服装试穿技术作为一项新兴技术还处于初期推广阶段。由于资源匮乏、技术不成熟等一系列制约因素,目前三维服装试穿对于服装网络销售来说形同虚设,对线下实体店铺来说更是效益不高,徒增成本。然而,现如今正处于一个高速发展的快节奏时代,三维服装试穿技术的优势也会不断地凸显。视觉是人体最重要的感觉之一,因此三维服装试穿中很重要的一点就是尽可能使试衣场景自然、逼真,推出更加精细的人物模型和服装模型。但是本系统目前仍处于研发阶段,体表扫描和动作匹配模拟尚处于不成熟的阶段,这是仿真系统领域的重难点,还需要国内外学者进一步深入研究。
参考文献:
[1] 徐冉,何琳.3D虚拟试衣技术在网络营销中的价值研究 [J].现代装饰(理论),2016(11):282-283.
[2] 馬培思,华欢欢,张从巧.“3D试衣间”市场可行性调查研究 [J].现代商贸工业,2020,41(6):57-58.
[3] 罗黄弘,刘洋,黎美茵,等.基于Unity3D的3D试衣间应用研究 [J].信息与电脑(理论版),2020,32(9):88-90.
[4] 曾伟航,沈佳敏,冯泽荣,等.3D网络试衣间的研究 [J].甘肃科技纵横,2018,47(12):6-9+15.
[5] 党慧,安军龙,王香删.模拟试衣间系统 [J].信息与电脑(理论版),2016(22):117-118.
[6] 李充和.服装虚拟展示和试衣系统探析 [J].北极光,2019(11):129-130.
作者简介:邵成恩(2000—),男,汉族,安徽滁州人,本科在读,研究方向:计算机技术;吴家轩(2001—),男,汉族,安徽六安人,本科在读,研究方向:计算机技术;王浩洋(2001—),男,汉族,安徽阜阳人,本科在读,研究方向:计算机技术;陈小雨(2002—),女,汉族,安徽阜阳人,本科在读,研究方向:计算机技术;张大秀(1992—),女,汉族,安徽宿州人,助教,硕士研究生,研究方向:移动边缘计算、深度学习、计算机技术。