APP下载

基于VR和Kinect的定制鞋设计

2018-04-25,,,

计算机测量与控制 2018年4期
关键词:制鞋投影建模

,,,

(西安工程大学 电子信息学院,西安 710048)

0 引言

在信息化和全球化时代,随着科技的迅猛发展,鞋业市场对产品的性能、生产周期要求更加严格,而传统的设计方法已经不足以满足市场的变化需求,不能满足人们个性化的思想,因此提高鞋类设计的科技性是鞋业发展的必然。定制鞋不仅能满足人们个性化需求的心理,而且也应用在如运动、医学等多个领域。

鞋楦的制作是制鞋中不可或缺的一部分,随着人们个性化思想的发展,鞋子的美观性和舒适度成为消费者选购鞋子的依据。要实现定制鞋,个性定制鞋楦是技术核心和关键之处。传统的定制鞋需要鞋楦的设计人员具有完善的理论知识,一定的艺术修养和丰富的实践经验,需要准确的掌握脚型的测量,足部结构分析以及脚型与鞋楦的匹配规律等等,效率较低,不利于制鞋大规模工业化的推进[1]。

随着虚拟现实技术的不断发展,使用人机智能交互设计完成定制鞋的制作已经成为发展潮流[2]。目前,国内外对定制鞋的研究主要依靠CAD/CAM软件,如英国的Delcam公司,研发的CRISPIN制鞋CAD/CAM系统能够自如地进行鞋楦和鞋款的设计制作。英国CSM3D公司设计的Shoemaster Custom软件,能够通过顾客脚的三维数据与鞋楦数据库中的数据进行匹配,为顾客生成定制的鞋楦[3]。国外目前的方法需要标准的数据库进行鞋楦的设计,大大制约了定制鞋再设计发展。德国的著名品牌Adidas在其官网推出了个性化定制服务,让消费者自己当设计师,进入系统,选择需要定制的款式,选择顾客喜欢鞋面的材质和颜色,以及后跟、鞋舌、鞋带、鞋底、内衬等鞋各个部件的颜色,最后选择所需鞋子的尺码以及个性化刻字,完成miadidas的个性定制。个性ID产品更能体现消费者的个性化,通过自身行动实现自己的个性和想法。同样耐克公司也早已推出这种个性化定制服务,称为“个性ID”。而目前国内的大型制鞋企业和品牌,还没有推出这种个性化定制平台,严重制约国内鞋业品牌的发展,以及消费者个性化需求不能得以实现。

基于以上分析,依据人体足部结构特征,从足部生理功能角度出发,结合Kinect和Unity3D引擎实现定制鞋。应用Kinect获取足部点云数据,提出采用kd-tree算法进行点云预处理,并采用贪婪投影三角化算法进行点云重建。根据足部特征测量数据,完成鞋楦的制作,最终通过Unity引擎完成定制鞋系统。

1 三维定制鞋系统设计

个性化三维定制鞋系统的设计流程主要由三大部分组成,第一部分是根据顾客双足分析足部性能,确定需要采集的足部数据。第二部分采用Kinect三维摄像机获取顾客足部的点云数据,经过数据预处理、点云重建得到重构图像,采用Meshlab测量足部特征数据,结合MAYA软件生成定制的个性化三维鞋样。第三部分结合Unity引擎,完成贴图渲染,交互界面设计等工作,实现三维定制鞋系统。

在该定制鞋系统中,Kinect获取足部深度信息,点云的去噪和三维重建是技术核心,直接决定最终定制鞋的适应匹配度。这一部分是该系统的研究重点。

2 数据采集及建模

鞋楦是以脚型为依据的,决定着鞋的样式以及穿着的舒适度[4]。因此,准确的根据脚型以及足部数据制作相应的鞋楦是定制鞋的重点之一。鞋楦的制作过程分为以下几个方面:首先进行人体足部数据采集,该部分使用Kinect获取双足点云信息,对点云图像进行预处理和重建过程,使用Meslab软件获取鞋楦的数据信息。最后在此基础上,使用MAYA软件进行鞋的建模。

2.1 人体足部数据采集

足部是人体的重要的负重器官和运动器官,共有26块骨骼组成并分为跟部、腰部、前掌部,而鞋子可帮助脚进行跑步,跳跃以保证脚不受到伤害。因此,人体足部数据采集时,需要测量足部各个部位的数据信息[5],根据Kinect扫描处理后的图像,获得如图1所示的基本数据,根据数据完成鞋子的建模。

图1 人体足部测量示意图

2.1.1 Kinect获取双足点云信息

Kinect是由微软开发的一款三维体感摄影机,有3个镜头,中间为RGB彩色摄影机,用来采集彩色图像。左右两边为红外线发射器和红外线CMOS摄影机所构成的3D结构光深度感应器[6],用来采集深度数据,可设置采集的分辨率。Kinect获取图像使用的是光编码(light coding)技术,就是使用光源照明编码测量空间,打出的光源是激光照射粗糙表面形成的衍射斑点,得到“体编码”,最终得到场景的三维形状。

在获取点云图像时,无论是接触测量还是非接触测量,在扫描过程中都会因为设备精度,操作者经验以及环境因素,视线受到阻碍等影响,不可避免出现一些数据误差以及远离主体点云的点,在点云数据中表现为噪声点[7]。Kinect获取点云数据,首先获取图像的深度数据和颜色数据,然后将深度数据和颜色数据转换为点云数据。

图2中足部的深度图像是通过Kinect3D摄像机获取的,可以看出除了想要的足部的点云数据外,由于各种因素的影响,出现很多不需要的噪声点,在后序工作中进行点云预处理,实现除噪处理。

图2 Kinect扫描获得的足部深度图

2.1.2 点云图像预处理

目前现有的点云去噪都是根据滤波进行处理的,一般采用的算法有高斯滤波、平均滤波或中值滤波,这种方法只是针对有序点云效果很好,针对无序点云效果却不尽人意。因此,对于足部点云数据存在的明显的噪声点,使用kd-tree算法进行无序点云去噪[8]。

kd-tree算法是基于二叉树的坐标轴建立拓扑关系的。首先根据X轴寻找分割线,计算X的平均值,寻找最接近平均值的点的X值分割空间,然后在子空间按照Y轴再寻找分割线,将其空间分为两部分;分割好的空间再按X轴分割,以此类推,直到最后的分割区域只有一个点为止,这样的分割过程就相当于一个二叉树。二叉树的分支节点就是一条分割线,二叉树的每个叶子节点就是一个点,这就是拓扑关系的建立。kd-tree还具备点分布均匀的特点,所以搜索率较高[9]。

kd-tree算法的具体步骤如下:

1)读入点云数据,根据点云数据生成k-d树,建立点云的拓扑关系;

2)查找任一点pi∈S的的邻域Nb(p);

3)计算该点与邻域内各点的距离取平均值,即:

(1)

4)判断式(1)中平均值Dmid(pi)是否超过阈值Dα,若超过,则Dmid(pi)>Dα,则判定该点为噪点,进行去除;

5)重复2)~4),直至处理完所有的噪声点。

实验结果表明,使用kd-tree算法进行点云去噪的效果还是不错的,能够把无关的点去去除,为后续的点云重建提供保证。

图3 kd-tree去噪处理后的点云图

2.1.3 点云图像重建

三维模型的曲面重建是点云处理的关键步骤,也是三维重建技术中的难点和重点。点云重建的方法有贪婪三角形算法、泊松重建、移动立方体等多种算法[10]。本课题中提出用贪婪三角形算法对点云数据进行重建。点云重建过程中,首先获取点云图像,读取点云文件,然后计算点云法向量,使法向量与点云坐标进行融合,最后通过贪婪投影三角化算法进行点云重建,得到重构图像。

贪婪投影三角化算法原理是处理一系列可以使网格“生长扩大”的点(边缘点),延伸这些点直到所有符合几何正确性和拓扑正确性的点都被连上,该算法的优点是可以处理来自一个或者多个扫描仪扫描得到并且有多个连接处的散乱点云[11]。但该算法也有一定的局限性,它更适用于采样点云来自于表面连续光滑的曲面并且点云密度变化比较均匀的情况。

贪婪投影三角化算法是对有向点云进行三角化[12],具体方法是:

1)投影点云到某局部二维坐标平面中;

2)平面三角化在坐标平面中进行;

3)根据平面内三点形成拓扑关系,得到一个三角网格曲面模型。

该算法进行三角化是局部进行的,沿着一个点的法线,在局部二维平面内投影该点,并且连接其他的点,然后再进行下一个点的投影。需要设置的函数有:SetMaximumNearestNeighbor和SetMu,SetSearchRadius,SetMinimumAngle和SetMaximumAngle,SetMaximumSurfaceAngle和SetNormalConsistency函数,调节搜索邻域大小,设置三角化后每个三角形的最大可能边长以及最大角和最小角,处理边缘或尖锐以及两边非常靠近的问题。

通过贪婪投影三角化算法可以得到如图4所示的点云重构图像。结果显示,贪婪投影三角化算法可以较好的完成点云重构,获得鞋楦模型。

图4 用贪婪三角形法进行点云图像重构

2.1.4 进行图像测量,获得足部数据特征

Meshlab是一种开源,可扩展和便携的处理和三维非结构三角网格处理系统。可进行对点云图像的测量,填充,重建等工作。根据人体足部测量示意图1,使用Meshlab中measuring tool对图像进行测量,测量图如图5所示,得到扫描的足部信息数据,如表1所示。

图5 数据测量图

脚长第1跖趾关节高度前跗骨高度后跟突点高度外踝骨高度舟上弯点高度260.30337.15261.15142.82787.03782.797

2.2 鞋的建模

三维建模软件有MAYA,3dsmax,U4D,UG等多种软件,而MAYA作为一种强大的三维建模软件,应用在动画,影视,医学等各个领域的建模。MAYA软件建模方法有NURBS曲面建模、多边形建模及细分建模三大类。NURBS(非统一有理B样条曲线)建模方法是建模中常用的方式之一,它能快速地搭建想要的模型,通过较少的点控制平滑的曲线或曲面,NURBS对象是有严格UV走向的参数化曲面,除了剪切边,NURBS只能出现四边面的对象,但建模精度不高。多边形建模通过控制三维空间中的点、线、面对物体进行建模,在构建模型过程中,可直观的对物体进行修改,对象是三维空间中一系列构成拓扑结构的离散点,精度高,编辑更容易,适用于各个行业。细分建模介于NURBS建模和多边形建模之间,结合两者的优势,适用于静贞以及细致的模型。根据鞋的样式以及细节,采用多边形建模与细分建模相结合的方式进行鞋的建模,依据图5的测量数据,在MAYA软件中建模适合顾客足部的鞋子,实现个性化制鞋。

图6 根据测量数据建模的鞋子

3 三维鞋定制系统

Unity引擎是一种跨平台的游戏开发及虚拟现实引擎,支持多平台开发,节省开发时间和精力,支持C#和JavaScript两种脚本语言,支持几乎所有的文件格式,并具备多通道Shader渲染,方便快速地进行渲染。Unity的UGUI界面开发,也可直观快捷的进行人机交互界面设计和开发,具有强大的可视化编辑器,提高开发效率,满足各种制作需求。

图7 三维定制鞋界面

基于Unity引擎的多种优势,三维定制鞋系统基于Unity游戏引擎开发,首先将MAYA建模鞋的三维模型转换为FBX文件,将该文件导入Unity引擎中,然后通过shader渲染和UGUI界面设计,实现三维旋转展示、渲染、各部位颜色实时更换以及人机交互,完成定制鞋系统,最后将定制鞋系统发布至客户端、互联网等多种平台。

描述鞋子的指标有鞋型、鞋面、鞋带、鞋舌、鞋帮、鞋里、鞋底等,每种指标需要不同的表示。使用UGUI进行交互界面设计时,需考虑各个指标,在人机交互界面上显示,实现用户个性化定制及选择。

4 结束语

随着计算机技术和VR的不断发展,今后的软件开发会更加的人性化,利用虚拟现实环境为用户提供更加方便快捷地应用条件。本系统以当今人个性化需求的心理以及制鞋业的发展,研究分析双足,提出运用Kinect完成对双足点云数据的获取,对获取的点云数据进行预处理和重建。然后,使用kd-tree算法进行点云预处理,采用贪婪三角投影化算法进行点云重建,获得双足的规则点云图像,在Meshlab中对图像进行数据测量,获得顾客足部数据,最终根据数据完成鞋的建模。通过Unity3D引擎,完成定制鞋系统的界面设计、渲染以及实现人机交互。该系统的提出和实现,为制鞋业的发展提供了有力的支撑,同时,人的个性化需求心理得以实现,促进了制鞋业的进步。

目前研究中还存在一些问题,如建模鞋子的多样性,Kinect获取点云的精确性等问题还需要加强考虑。增加多种模型支持系统的构建,发布系统到各个平台是未来研究中需要做的工作。

参考文献:

[1] 任怀艺,王伯雄,罗秀芝.鞋楦定制CAD中NURBS特征曲线的弧长约束变形[J].清华大学学报(自然科学版),2014,54(2):217-222.

[2]Jackson B,Keefe D F.Lift-Off:using reference imagery and freehand sketching to create 3D models in VR[J].IEEE Transactions on Visualization and Computer Graphics,2016,22(4):1442-1451.

[3]任怀艺,王伯雄,刘 辉,等.鞋楦定制中非均匀有理B样条特征曲线的自适应变形[J].光学精密工程,2013,21(1):181-188.

[4] Langley B, Cranp M,Morrison Stewart C.Selected static foot assessments do not predict medial longitudinal arch motion during running[J].Journal of Foot and Ankle Reasearch,2015,8(1):1-6.

[5]卢致文,蒋高明,丛红莲,等.基于人体足部特征的鞋面样板设计及编制成形方法[J].纺织学报,2015,36(4):65-70.

[6]Neto L B,et al. A Kinect-Based wearable face recognition System to Aid Visually Impatred Users[J].IEEE Transactions on Human-Machine Systems,2017,47(1):52-64.

[7] 王 勇,唐 靖,饶勤菲,等.一种新的散乱点云快速去噪算法[J].计算机应用与软件,2015,32(7):74-78.

[8] Bai X X,DongX S, Su Y Q.Edge propagation KD-Trees:computing approximate nearest neighbor fields[J].IEEE Signal Processing Letters,2015,22(12):2209-2213.

[9] 丁 帆.点云数据三维网格构造方法研究[D].武汉:华中科技大学,2007.

[10] 龚 珍,胡友健,董 恒,等.无序三维点云重建技术研究[J].测绘通报,2016,(9):17-19

[11] 张 霞,赵吉宾,刘伟军.散乱点云的三角网格曲面重建算法[J].机械设计与制造,2011,13(12):31-33.

[12] 徐立洲.基于Kinect的三维重建技术研究[D].南京:东南大学,2016.

猜你喜欢

制鞋投影建模
全息? 全息投影? 傻傻分不清楚
基于FLUENT的下击暴流三维风场建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于最大相关熵的簇稀疏仿射投影算法
求距求值方程建模
找投影
找投影
基于PSS/E的风电场建模与动态分析
看鞋识男人
看鞋识男人