CN106705921B - 人体体围3d模型量体去褶皱方法及装置、3d量体系统 - Google Patents
人体体围3d模型量体去褶皱方法及装置、3d量体系统 Download PDFInfo
- Publication number
- CN106705921B CN106705921B CN201510791825.4A CN201510791825A CN106705921B CN 106705921 B CN106705921 B CN 106705921B CN 201510791825 A CN201510791825 A CN 201510791825A CN 106705921 B CN106705921 B CN 106705921B
- Authority
- CN
- China
- Prior art keywords
- point
- contraction algorithm
- curve
- value range
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/20—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring contours or curvatures, e.g. determining profile
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种人体体围3D模型量体去褶皱方法及装置、3D量体系统,其针对扫描后载入的3D模型量体时受到衣物以及手臂遮挡等影响、有多处褶皱而不能获得较准确的净体体围数据的问题而专门开发。首先对人体3D模型体围进行初采,对于胸围等体围数据启动收缩算法模块,进行去褶皱化,以获得更接近体态的体围数据,收缩算法设计为:第一步,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径,迭代更新闭合曲线;第二步,依据椭圆方程拟合这条闭合曲线,迭代得到一条新闭合曲线;第三步,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代多次,得到结果曲线。
Description
技术领域
本发明属于服装定制、3D数据处理的交叉领域,具体涉及一种将扫描后的3D模型数据进行科学化提取形成制衣数据的系统。
背景技术
传统的服装行业,成衣与定制存在着巨大的成本差异,进而导致了较大的零售差价,这主要是有以下几个方面造成的:第一,工厂生产成衣衬衫可以进行批量化生产,其成本更容易控制;第二,量体人员稀缺并且水平差异巨大,好的量体人员流动性又很大,雇佣成本偏高。水平不高的量体人员还会导致返修率增加进一步地提高了定制衬衫的成本。
近年来,一方面,有少量的服装企业开始着手改造生产线,使得定制衬衫的生产流水线化,降低了定制衬衫的生产成本,使得从服装工厂个性化地进行衬衫定制成为可能。
但是,另一方面,定制的另一个重要环节即量体依然采用原始的生产逻辑,即专业的量体员上门提供量体服务,将量得的尺寸记下,告诉厂商生产,最终采用快递的方式交付衬衫。这一环节中存在巨大的提升效率的空间:首先,量体人员可以进行精简,一个没有经过服装训练的普通人,通过本申请人同时开发的专用扫描系统即可以通过扫描设备将消费者的3D数据模型上传到服务器,而有经验的量体人员可以在后台通过半自动交互的方式,使用本发明的技术方案进行人体体态数据的量取,这种方式省去了量体人员上门的过程,大大提高了量体效率并降低了量体成本。
第三方面,这种相对集中化、规范化、模式化的量体人员管理,可以进一步降低量体员量体中的个体差异,提高定制衬衫的合体度。这大幅节约了定制衬衫的定制成本。此外,人体体态数据的在线管理也使得人们进行个性化定制衬衫变得更为便捷、价格低廉。
本发明为系列申请。本系列为基于3D模型量体裁衣任务开发的一款仅需要有简单量体经验的量体人员在后台半自动完成,并且在测量完成后自动同步到云端进行人体体态大数据在线管理的综合软件。本系列解决了衬衫量体定制流程中的两个问题:1)由于量体人员个人量体习惯不同、业务水平参差不齐等原因带来的衬衫定制测量人体体态数据误差较大;2)由于专业量体人员培养周期长、培养费用高、人员流动性大以及外派量体薪酬高等原因导致的衬衫定制成本增加。
综合系统的基本业务逻辑为:定时批量下载待处理3D模型数据->在本地服务器执行3D模型数据的预处理->在图形界面中标定量体所需特征点并得到12个人体体态数据->上传人体体态数据至云端服务器,并与对应用户进行关联,以满足客户在线定制衬衫需求。
1、3D模型数据的预处理
每隔30分钟,基于Scala、MySQL和Bash Shell同步云端服务器与本地服务器的3D模型数据库,对于每一次扫描任务,首先对数据ZIP压缩包进行解压,更新3D模型数据在数据库中的状态为未预处理,将扫描信息相关数据录入数据库,并下载包含被测量人两种扫描姿势的3D模型数据至本地;第二步,将两个3D模型数据的格式由OBJ转换为STL以备后续使用;第三步,基于拉普拉斯算子对3D模型进行预平滑,迭代次数为200;第四步,对3D模型进行补洞操作,使得模型表面完整;最后,基于拉普拉斯算子对3D模型数据进行再平滑,平滑迭代次数为200,得到预处理后数据。
2、基于3D模型的半自动量体
本系统基于NumPy和VTK自动将已经经过预处理的数据读入图形界面,以交互式地测量胸围、中腰、下摆、领围、臂围、腕口、臂长、后衣长、后肩宽、前肩宽、后腰节、前腰节等12个人体体态数据。其中,截面截取与点坐标的抓取调用VTK内置的算法。考虑到衬衫定制所需数据精度为厘米级,因此将所得数据近似至x.0或x.5厘米中最近似值。
在上述的方案中,被测量者在穿着衣服的情况下完成扫描,模型有多处褶皱,而且半自动体围测量有可能受到衣物以及手臂遮挡等影响,从而影响体围的数据的准确性,影响每个个性化定制服装成品的合体度。
发明内容
本发明提供一种人体体围3D模型量体去褶皱方法及装置、3D量体系统,其为针对扫描载入后的人体3D模型有可能受到衣物以及手臂遮挡等影响、有多处褶皱而不能获得较准确的净体体围数据的问题而专门开发的。
本发明的技术方案为:
一种人体体围3D模型量体去褶皱方法,包括如下步骤:
首先,将经3D扫描后得到的模型下载到运算器内,并将该模型展示在图形交互界面上;
其次,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
再次,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中设计的自动化算法为:
第一步,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,得到更新的闭合曲线;
第二步,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线;
第三步,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线;
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
进一步地,所述的收缩算法模块被配置为一键完成,用户通过对预设好的收缩算法模块的关联键进行操作,则去褶皱功能自动完成。
一种人体体围3D模型量体去褶皱装置,运算器与人机交互装置连接,人机交互装置包括图形交互界面,运算器设有3D模型交互平台系统,其供3D模型的展示、交互、数据采集使用,运算器还包括如下依次连接的单元或模块:
载入单元,将经3D扫描后得到的模型下载到运算器内,运行在3D模型交互平台系统上,并将该模型展示在图形交互界面上;
初采体围单元,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
收缩算法模块,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中包括以下三个模块:
第一模块,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,进入第二模块;
第二模块,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线,进入第三模块;
第三模块,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线,
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
进一步地,人机交互装置上设置或关联有收缩算法启动键,一键全自动完成,生成最终去褶皱后的轮廓线。
进一步地,人机交互装置上设置或关联有收缩算法启动区域,被触发后,全自动完成,生成最终去褶皱后的轮廓线。
一种3D量体系统,其特征在于,采用上述的一种人体体围3D模型量体去褶皱装置。
进一步地,所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于x,x’,y,z,m,n这6个参数的设定值不同,这6个参数均为根据需求的收缩量不同而分别预先进行了设定,其中,如果初步轮廓线连接与测量部位不同的其他部位,则启动二级收缩算法单元;如果初步轮廓线不连接与测量部位不同的其他部位,则启动一级收缩算法单元。
进一步地,所述的运算器中包括胸围测量模块,胸围测量模块配置为:通过人机互动装置获得被点选的胸围任一标志点的数据,通过点选的点生成一个与地面平行的截面并计算截面周长,从而生成初步轮廓线,然后启动收缩算法模块,以去除衣物以及手臂遮挡的影响,生成近似实际的胸围数据;所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于其中的x,x’,y,z,m,n这6个参数的设定值均为根据需求进行分别设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元;生成胸围数据及轮廓。
进一步地,所述的运算器中包括臂围测量模块,臂围测量模块配置为:获得手臂上任意两点被点选的坐标,确定臂围的法线,该任意两点的连线近似与手臂平行,再获得手臂上被点选的第三点的坐标,然后计算出第三个点左右设定距离处最粗的部分,得到初步轮廓线;所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元中的x,x’,y,z,m,n这6个参数的设定值均为根据需求进行分别设定,其中,如果初步轮廓线连接除手臂外的其他身体部分,则启动二级收缩算法单元;如果初步轮廓线不连接除手臂外的其他身体部分,则启动一级收缩算法单元,生成臂围数据及轮廓。
进一步地,
所述的设定距离设为5cm,即计算出臂围第三个点左右5cm处最粗的距离;
在胸围测量时,二级收缩算法单元设置为:如果初步轮廓线连接手臂,按照特殊量进行收缩,其中x的取值范围为5~15,x’为500~900,y的取值范围为8~10,z的取值范围为100~500,m的取值范围为0~8,n的取值范围为20~80;一级收缩算法单元设置为:如果初步轮廓线不连接手臂,按照正常的缩放量进行收缩,x的取值范围为0~4,x’的取值范围为20~80,y的取值范围0~4,z的取值范围为50~150,m的取值范围为0~4,n取值范围为为0~40;
在臂围测量时:二级收缩算法单元设置为:如果初步轮廓线连接除手臂外的其他身体部分,则按照一定的特殊缩放量进行缩放,其中x的取值范围为0~4,x’的取值范围为50~150,y的取值范围为0~20,z的取值范围为0~50,m的取值范围为0~4,n的取值范围为0~40;一级收缩算法单元设置为:如果初步轮廓线不连接身体,则按照正常的缩放量进行收缩,其中x的取值范围为0~4,x’的取值范围为50~150,y的取值范围为0~10,z的取值范围为0~100,m的取值范围为0~10,n的取值范围为0~100。
附图说明
图1为本发明的人体体围3D模型量体去褶皱装置的一个实施例的架构图;
图2为本发明的3D量体系统的胸围测量的一个实施例的演示图;
图3为本发明的3D量体系统的臂围测量的一个实施例的演示图;
图4为本发明的3D量体系统的一个实施例的流程图。
具体实施方式
现结合具体实施例及附图对本发明作进一步地描述。
图2、图3中实线为最初轮廓线,虚线为经收缩算法模块执行后的轮廓线。
一种人体体围3D模型量体去褶皱方法,包括如下步骤:
首先,将经3D扫描后得到的模型下载到运算器内,并将该模型展示在图形交互界面上;
其次,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
再次,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中设计的自动化算法为:
第一步,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,得到更新的闭合曲线;
第二步,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线;
第三步,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线;
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
所述的收缩算法模块被配置为一键完成,用户通过对预设好的收缩算法模块的关联键进行操作,则去褶皱功能自动完成。
一种人体体围3D模型量体去褶皱装置,运算器与人机交互装置连接,人机交互装置包括图形交互界面,运算器设有3D模型交互平台系统,其供3D模型的展示、交互、数据采集使用,运算器还包括如下依次连接的单元或模块:
载入单元,将经3D扫描后得到的模型下载到运算器内,运行在3D模型交互平台系统上,并将该模型展示在图形交互界面上;
初采体围单元,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
收缩算法模块,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中包括以下三个模块:
第一模块,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,进入第二模块;
第二模块,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线,进入第三模块;
第三模块,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线,
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
人机交互装置上可设置或关联有收缩算法启动键,一键全自动完成,生成最终去褶皱后的轮廓线。人机交互装置上可设置或关联有收缩算法启动区域,被触发后,全自动完成,生成最终去褶皱后的轮廓线。
一种3D量体系统,采用上述的一种人体体围3D模型量体去褶皱装置。
所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于x,x’,y,z,m,n这6个参数的设定值不同,这6个参数均为根据需求的收缩量不同而分别预先进行了设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元。
所述的运算器中包括胸围测量模块,胸围测量模块配置为:通过人机互动装置获得被点选的胸围任一标志点的数据,通过点选的点生成一个与地面平行的截面并计算截面周长,从而生成初步轮廓线,然后启动收缩算法模块,以去除衣物以及手臂遮挡的影响,生成近似实际的胸围数据;所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于其中的x,x’,y,z,m,n这6个参数的设定值均为根据需求进行分别设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元;生成胸围数据及轮廓。
所述的运算器中包括臂围测量模块,臂围测量模块配置为:获得手臂上任意两点被点选的坐标,确定臂围的法线,该任意两点的连线近似与手臂平行,再获得手臂上被点选的第三点的坐标,然后计算出第三个点左右设定距离处最粗的部分,得到初步轮廓线;所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元中的x,x’,y,z,m,n这6个参数的设定值均为根据需求进行分别设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元,生成臂围数据及轮廓。
所述的设定距离设为5cm,即计算出臂围第三个点左右5cm处最粗的距离。
在一个优选的实施例中,人机交互装置上采用“ENTER”键关联为收缩算法启动键,一键全自动完成,生成最终去褶皱后的轮廓线。
在其他的实施例中,人机交互装置上设置或关联有收缩算法启动区域,被触发后,全自动完成,生成最终去褶皱后的轮廓线。
在一个优选的实施例中,在某些位置测量体围时生成的轮廓线会连接其他部位从而造成误差,现对收缩算法模块进行分级,分级后的一级、二级收缩算法单元的2种缩放的区别在于:
使用6个收缩数值x,x’,y,z,m,n的值不同
现对于收缩算法模块的分级单元及6个参数的取值进行举例说明:
胸围:
如果初步轮廓线连接手臂,则按照一定的特殊缩放量进行缩放,本例中,使用x=10,x’=700,y=10,z=300,m=4,n=50,经测验,其中x的合理范围为5~15,x’的合理范围为500~900,y的合理范围为8~10,z的合理范围为100~500,m的合理范围为0~8,n的合理范围为20~80。
如果初步轮廓线不连接手臂,则按照正常的缩放量进行收缩,本例中使用x=2,x’=50,y=2,z=100,m=2,n=20,经测验,其中x的合理范围为0~4,x’的合理范围为20~80,y的合理范围为0~4,z的合理范围为50~150,m的合理范围为0~4,n的合理范围为0~40。
以上2种分级缩放的区别:
使用6个收缩数值x,x’,y,z,m,n的值不同。
臂围:
如果初步轮廓线连接除手臂外的其他身体部分,比如连接胸部,则按照一定的特殊缩放量进行缩放,本例中,使用x=2,x’=100,y=0,z=0,m=2,n=20,经测验,其中x的合理范围为0~4,x’的合理范围为50~150,y的合理范围为0~20,z的合理范围为0~50,m的合理范围为0~4,n的合理范围为0~40。
如果初步轮廓线不连接除手臂外的其他身体部分,则按照正常的缩放量进行收缩,本例中使用(x=2,x’=100,y=0,z=0,m=0,n=0),经测验,其中x的合理范围为0~4,x’的合理范围为50~150,y的合理范围为0~10,z的合理范围为0~100,m的合理范围为0~10,n的合理范围为0~100。
以上2种分级缩放的区别:
使用6个收缩数值x,x’,y,z,m,n的值不同。
在具体的实施例中,采用键盘“A”键关联二级收缩算法单元,采用键盘“ENTER”键关联一级收缩算法单元;即:如果初步轮廓线连接手臂,则按下“A”键,否则按下“ENTER”键进行收缩。
在其他不涉及连接其他部位的体围测量时,直接采用“ENTER”键启动收缩算法模块,在不同的体围测量界面时,“ENTER”键所对应的收缩算法模块中的6个参数都相应不同,由开发人员进行预先设定。
为了帮助理解本发明,现结合本发明所应用于的整体系统进行详细说明:
整体系统的基本逻辑为:定时批量下载待处理3D模型数据->在本地服务器执行3D模型数据的预处理->在图形界面中标定量体所需特征点并得到12个人体体态数据->上传人体体态数据至云端服务器,并与对应用户进行关联,以满足客户在线定制衬衫需求。该综合系统包括本发明的技术方案。
1、3D模型数据的预处理
每隔30分钟,基于Scala、MySQL和Bash Shell同步云端服务器与本地服务器的3D模型数据库,对于每一次扫描任务,首先对数据ZIP压缩包进行解压,更新3D模型数据在数据库中的状态为未预处理,将扫描信息相关数据录入数据库,并下载包含被测量人两种扫描姿势的3D模型数据至本地;第二步,将两个3D模型数据的格式由OBJ转换为STL以备后续使用;第三步,基于拉普拉斯算子对3D模型进行预平滑,迭代次数为200;第四步,对3D模型进行补洞操作,使得模型表面完整;最后,基于拉普拉斯算子对3D模型数据进行再平滑,平滑迭代次数为200,得到预处理后数据。
2、基于3D模型的半自动量体
本系统基于NumPy和VTK自动将已经经过预处理的数据读入图形界面,以交互式地测量胸围、中腰、下摆、领围、臂围、腕口、臂长、后衣长、后肩宽、前肩宽、后腰节、前腰节等12个人体体态数据。其中,截面截取与点坐标的抓取调用VTK内置的算法。考虑到衬衫定制所需数据精度为厘米级,因此将所得数据近似至x.0或x.5厘米中最近似值。具体步骤如下:
1)选取需要测量的3D模型数据,如果模型因扫描原因造成模型并不针对水平地面呈直立状态,首先要将模型进行“摆正”操作,即人工将3D模型调整到适当角度,并保存更改。
2)在模型中,标定左右肩点、左右颈肩点以及第七颈椎点等特征标志点,以供后续测量使用。
3)点选胸围、中腰以及下摆标志点,由于这三个围度在定义上来讲与地面平行,因此通过点选一个点截取一个与地面平行的截面,并计算截面周长。考虑到模型有可能受到衣物以及手臂遮挡等影响,本系统开发了一个收缩算法近似得到实际的围度数据,具体算法介绍见下。
收缩算法具体描述如下:第一步,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点。迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止。第二步,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线。第三步,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线。其中x,x’,y,z,m,n为可调整参数。
收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于x,x’,y,z,m,n这6个参数的设定值不同,这6个参数均为根据需求的收缩量不同而分别预先进行了设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元。
在具体的实施例中,采用键盘“A”键关联二级收缩算法单元,采用键盘“ENTER”键关联一级收缩算法单元;即:如果初步轮廓线连接手臂,则按下“A”键,否则按下“ENTER”键进行收缩。
基于Python和MySQL将所得人体体态数据上传至云端数据库,并与网站用户手机号相关联,以便用户下单时,网页端从数据服务器调取人体体态数据进行匹配。本系统会将相关测量过程以截图的形式保存下来,以便制衣数据出现异常时,查找原因。
如图4的流程图所示,先对上传到云端的3D模型数据进行下载入库并预处理,并将其加入待处理任务队列,待后台量体人员完成数据测量后,人体体态数据被上传至云端服务器进行保存,以便网站可以调取并完成一次在线衬衫定制。
在实施中,整体的测量系统即三件客测量系统——3JKMeasure的半自动化量体需要后台有一量体人员进行值守,人工标定模型上特征点。之所以引入人工来做这件事情是考虑到模型扫描环境的复杂多变,自动化的正确率无法保证。
整体系统的实施例1
1.打开图形界面:双击图标进入三件客测量系统的登录页面。
2.登录:输入账户、密码,点击“登录”按钮进入“三件客测量系统”的主界面。(注:登录页面同时有“注册”和“退出”功能)。
3.选择量体模型(数据):点击“刷新”按钮,列表将显示出所有未测量的模型名称,单击模型名称,被选择的模型和相应的信息将会显示在主界面上。
4.标识出Model1上的关键点:
(1),选择模型一中的肩点“左”按钮,在Model1中,找出左肩点处,单击鼠标右键,进行标识Model1的左肩点。
(2),选择模型一中的肩点“右”按钮,在Model1中,找出右肩点处,单击鼠标右键,进行标识Model1的右肩点。
(3),选择模型一中的颈肩点“左”按钮,在Model1中,找出左颈肩点处,单击鼠标右键,进行标识Model1的左颈肩点。
(4),选择模型一中的颈肩点“右”按钮,在Model1中,找出右颈肩点处,单击鼠标右键,进行标识Model1的右颈肩点。
(5),选择模型一中的颈椎点“颈椎”按钮,在Model1中,找出第七颈椎点处,单击鼠标右键,进行标识Model1的颈椎点。
5.标识出Model2上的关键点:
(1),选择模型二中的肩点“左”按钮,在Model2中,找出左肩点处,单击鼠标右键,进行标识Model2的左肩点。
(2),选择模型二中的肩点“右”按钮,在Model2中,找出右肩点处,单击鼠标右键,进行标识Model2的右肩点。
(3),选择模型二中的颈肩点“左”按钮,在Model2中,找出左颈肩点处,单击鼠标右键,进行标识Model2的左颈肩点。
(4),选择模型二中的颈肩点“右”按钮,在Model2中,找出右颈肩点处,单击鼠标右键,进行标识Model2的右颈肩点。
(5),选择模型二中的颈椎点“颈椎”按钮,在Model2中,找出第七颈椎点处,单击鼠标右键,进行标识Model2的颈椎点。
6.领围的测量
单击“领围”按钮,在Model1的领围处,依次右键单击:第七颈椎点-脖子左侧--喉结下侧-脖子右侧四个点,自动生成领围的轮廓以及数值(此例中数值为41.5cm)。
7.前肩宽的测量
单击“前肩宽”按钮,在Model2上锁骨下沿,单击右键,产生前肩宽的轮廓以及数值(此例中数值为42.5cm)。
8.后肩宽的测量
单击“后肩宽”按钮,在Model2上的第七颈椎点处,单击右键,产生后肩宽的轮廓以及数值(此例中数值为43.5cm)。
9.中腰的测量
单击“中腰”按钮,在Model1上的腹部周围,单击右键,会自动计算出点击点上下各5cm处,最细的部位,产生中腰的轮廓以及数值(此例中数值为83.5cm)。
10.胸围的测量
单击“胸围”按钮,在Model1上的腋下部位,单击右键,会产生出初步轮廓线,如果初步轮廓线连接手臂,则按下“A”键,否则按下”ENTER”键进行收缩,产生胸围的轮廓以及数值(此例中为94.5cm)。
11.下摆的测量
单击“下摆”按钮,在Model1上的臀部最高出,单击右键,产生下摆的轮廓以及数值(此例中数值为96.5cm)。
12.臂围的测量
单击“臂围”按钮,在Model1上的上手臂处,依次右键单击三个点(注:前两个点必须与手臂平行),如果初步轮廓线连接除手臂外的其他身体部分,则按下“A”键,否则按下“ENTER”键,产生臂围的轮廓以及数值,也可以采用6cm处、4cm处最粗的部位,然后按下“ENTER”键,产生臂围的轮廓以及数值(此例中数值为30.5cm)。
在其他的实施例中,5cm的值由开发人员灵活自行设定,如6cm、4cm等。
13.腕口的测量
单击“腕口”按钮,在Model1上的上手臂处,依次右键单击三个点(注:前两个点必须与手臂平行),然后计算出第三个点左右5cm处,最细的部位,产生腕口的轮廓以及数值(此例中数值为16.5cm),也可以采用6cm处、4cm处最细的部位。
在其他的实施例中,5cm的值由开发人员灵活自行设定,如6cm、4cm等。
14.前腰节的测量
单击“前腰节”按钮,在Model2上依次单击右键,颈肩点-胸部最高点和中腰线上任意一点。产生前腰节的轮廓以及数值(此例中数值为39.5cm)。
15.后腰节的测量
单击“中腰”按钮,在Model2上找到中腰的位置,右键单击则自动产生一条中腰水平线(注:此水平线仅用于参考,不会计算其中腰值)。单击“后腰节”按钮,在Model2上的中腰线上,单击右键,产生后腰节的轮廓以及数值(此例中数值为39.0cm)。
16.臂长的测量
单击“臂长”按钮,在Model2上的的手臂,从肩点到手指中部,依次右键点击5个点,就产生臂长的轮廓以及数值(此例中数值为57.5cm)。
17.后衣长的测量
单击“后衣长”按钮,在Model2上的臀部下围,单击右键,产生后衣长的轮廓以及数值(此例中数值为69.5cm)。
18.上传数据
单击“上传”按钮,将测量的得到的数据上传的服务器上。
最后应当说明的是:以上实施例仅用以说明本案的技术方案而非对其限制;尽管参照较佳实施例对本案进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本案的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本案技术方案的精神,其均应涵盖在本案请求保护的技术方案范围当中。
Claims (11)
1.一种人体体围3D模型量体去褶皱方法,其特征在于,包括如下步骤:
首先,将经3D扫描后得到的模型下载到运算器内,并将该模型展示在图形交互界面上;
其次,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
再次,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中设计的自动化算法为:
第一步,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,得到更新的闭合曲线;
第二步,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线;
第三步,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线;
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
2.根据权利要求1所述的一种人体体围3D模型量体去褶皱方法,其特征在于,所述的收缩算法模块被配置为一键完成,用户通过对预设好的收缩算法模块的关联键进行操作,则去褶皱功能自动完成。
3.一种人体体围3D模型量体去褶皱装置,其特征在于,运算器与人机交互装置连接,人机交互装置包括图形交互界面,运算器设有3D模型交互平台系统,其供3D模型的展示、交互、数据采集使用,运算器还包括如下依次连接的单元或模块:
载入单元,将经3D扫描后得到的模型下载到运算器内,运行在3D模型交互平台系统上,并将该模型展示在图形交互界面上;
初采体围单元,按照服装的体围测量方法对3D模型进行初采体围,初采体围数据存储在运算器内;
收缩算法模块,在运算器内配置有收缩算法模块,收缩算法模块被启动后,其对选定的某个初采体围进行去褶皱化,以获得更接近体态的体围数据,收缩算法模块中包括以下三个模块:
第一模块,对于一个给定的闭合曲线中的每一个离散点,取其周围x个点构成一条局部曲线,计算其曲率半径;如果其曲率半径小于二分之一的闭合曲线上各点到其重心的最小距离,则将这条局部曲线的重心点坐标赋予这一坐标点;迭代x’次,或者迭代直到两次闭合曲线周长之间的差小于1e-6,则停止,进入第二模块;
第二模块,依据椭圆方程拟合这条闭合曲线,得到椭圆的中心坐标,计算闭合曲线上各点到椭圆中心的距离,如果该距离大于二倍的这一点附近y个点所构成的局部曲线的曲率半径,则将局部曲线的重心坐标赋予该点,迭代进行m次,得到一条新的闭合曲线,进入第三模块;
第三模块,对于闭合曲线上每一点,赋予其周围z个点所构成的局部曲线的重心坐标,迭代n次,得到结果曲线,
其中x,x’,y,z,m,n为可调整参数,结果曲线即为生成的测量最终轮廓线。
4.根据权利要求3所述的一种人体体围3D模型量体去褶皱装置,其特征在于,人机交互装置上设置或关联有收缩算法启动键,一键全自动完成,生成最终去褶皱后的轮廓线。
5.根据权利要求3所述的一种人体体围3D模型量体去褶皱装置,其特征在于,人机交互装置上设置或关联有收缩算法启动区域,被触发后,全自动完成,生成最终去褶皱后的轮廓线。
6.一种3D量体系统,其特征在于,采用上述权利要求3至5任一所述的一种人体体围3D模型量体去褶皱装置。
7.根据权利要求6所述的一种3D量体系统,其特征在于,所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于x,x’,y,z,m,n这6个参数的设定值不同,这6个参数均为根据需求的收缩量不同而分别预先进行了设定,其中,如果初步轮廓线连接与测量部位不同的其他部位,则启动二级收缩算法单元;如果初步轮廓线不连接与测量部位不同的其他部位,则启动一级收缩算法单元。
8.根据权利要求6所述的一种3D量体系统,其特征在于,所述的运算器中包括胸围测量模块,胸围测量模块配置为:通过人机互动装置获得被点选的胸围任一标志点的数据,通过点选的点生成一个与地面平行的截面并计算截面周长,从而生成初步轮廓线,然后启动收缩算法模块,以去除衣物以及手臂遮挡的影响,生成近似实际的胸围数据;所述的收缩算法模块根据需要的收缩量不同进行分级,包括一级收缩算法单元、二级收缩算法单元,一级、二级收缩算法单元的区别在于其中的x,x’,y,z,m,n这6个参数的设定值均为根据需求进行分别设定,其中,如果初步轮廓线连接手臂,则启动二级收缩算法单元;如果初步轮廓线不连接手臂,则启动一级收缩算法单元;生成胸围数据及轮廓。
9.根据权利要求6至8任一所述的一种3D量体系统,其特征在于,所述的运算器中包括臂围测量模块,臂围测量模块配置为:获得手臂上任意两点被点选的坐标,确定臂围的法线,该任意两点的连线近似与手臂平行,再获得手臂上被点选的第三点的坐标,然后计算出第三个点左右设定距离处最粗的部分,得到初步轮廓线;如果初步轮廓线连接除手臂外的其他身体部分,则启动二级收缩算法单元;如果初步轮廓线不连接除手臂外的其他身体部分,则启动一级收缩算法单元;生成臂围数据及轮廓。
10.根据权利要求8所述的一种3D量体系统,其特征在于,
所述的设定距离设为5cm,即计算出臂围第三个点左右5cm处最粗的距离;
在胸围测量时,二级收缩算法单元设置为:如果初步轮廓线连接手臂,按照特殊量进行收缩,其中x的取值范围为5~15,x’为500~900,y的取值范围为8~10,z的取值范围为100~500,m的取值范围为0~8,n的取值范围为20~80;一级收缩算法单元设置为:如果初步轮廓线不连接手臂,按照正常的缩放量进行收缩,x的取值范围为0~4,x’的取值范围为20~80,y的取值范围0~4,z的取值范围为50~150,m的取值范围为0~4,n取值范围为0~40。
11.根据权利要求9所述的一种3D量体系统,其特征在于,
所述的设定距离设为5cm,即计算出臂围第三个点左右5cm处最粗的距离;
在臂围测量时:二级收缩算法单元设置为:如果初步轮廓线连接除手臂外的其他身体部分,则按照一定的特殊缩放量进行缩放,其中x的取值范围为0~4,x’的取值范围为50~150,y的取值范围为0~20,z的取值范围为0~50,m的取值范围为0~4,n的取值范围为0~40;一级收缩算法单元设置为:如果初步轮廓线不连接身体,则按照正常的缩放量进行收缩,其中x的取值范围为0~4,x’的取值范围为50~150,y的取值范围为0~10,z的取值范围为0~100,m的取值范围为0~10,n的取值范围为0~100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791825.4A CN106705921B (zh) | 2015-11-17 | 2015-11-17 | 人体体围3d模型量体去褶皱方法及装置、3d量体系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791825.4A CN106705921B (zh) | 2015-11-17 | 2015-11-17 | 人体体围3d模型量体去褶皱方法及装置、3d量体系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106705921A CN106705921A (zh) | 2017-05-24 |
CN106705921B true CN106705921B (zh) | 2019-07-16 |
Family
ID=58932958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510791825.4A Expired - Fee Related CN106705921B (zh) | 2015-11-17 | 2015-11-17 | 人体体围3d模型量体去褶皱方法及装置、3d量体系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106705921B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522574B (zh) * | 2017-09-19 | 2023-06-16 | 广州中医药大学第一附属医院 | 前臂曲面模型的构建方法以及前臂固定支具 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08101025A (ja) * | 1994-09-30 | 1996-04-16 | Tetsuya Matsumoto | モアレ法を用いた計測方法および装置 |
JPH103551A (ja) * | 1996-06-18 | 1998-01-06 | Minolta Co Ltd | 3次元データ処理システム |
CN1133402C (zh) * | 1999-02-03 | 2004-01-07 | 中国人民解放军总后勤部军需装备研究所 | 一种人体尺寸测量方法 |
US20020024517A1 (en) * | 2000-07-14 | 2002-02-28 | Komatsu Ltd. | Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space |
CN101228973B (zh) * | 2007-01-22 | 2011-08-03 | 殷实 | 人体外形尺寸非接触式测量方法及测量系统 |
CN101322589B (zh) * | 2008-07-16 | 2010-06-09 | 苏州大学 | 用于服装设计的非接触式人体测量方法 |
-
2015
- 2015-11-17 CN CN201510791825.4A patent/CN106705921B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN106705921A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gill | A review of research and innovation in garment sizing, prototyping and fitting | |
CN106690617A (zh) | 3d模型量体系统及衬衫个性化定制3d模型量体系统 | |
CN106709746A (zh) | 3d扫描、模型测量一体化的互联网服装定制系统 | |
JP5605885B1 (ja) | 仮想試着システムおよび仮想試着プログラム | |
US20190108458A1 (en) | Using artificial intelligence to determine a value for a variable size component | |
CN107851328A (zh) | 用于推荐适合鞋类的方法和系统 | |
CN109508376A (zh) | 可在线纠错更新的意图识别方法及装置 | |
CN109416807A (zh) | 用于可穿戴或医疗产品的定制制造的系统 | |
CN102013071A (zh) | 一种基于计算机系统的虚拟试衣方法 | |
JP2008504593A (ja) | 人物の形態的データをコンピュータ・ネットワーク上で取得し管理する方法および前記方法を実行するためのデバイス | |
CN106066898A (zh) | 三维全成型针织衫及产生其三维针织纸样的方法和系统 | |
CN104318446A (zh) | 一种虚拟试衣方法及系统 | |
CN102750398A (zh) | 服装设计系统及应用该系统的服装设计方法 | |
CN104851005A (zh) | 一种自助式服装设计、3d展示的o2o电子商务平台 | |
CN102902868A (zh) | 一种应用于网络的三维仿真服装试穿系统 | |
CN107491613A (zh) | 一种绘制人体服装原型图的方法和装置 | |
CN102750399A (zh) | 基于网络的服装设计系统及应用该系统的服装设计方法 | |
CN109410344A (zh) | 一种基于三维立体结构的服装设计方法 | |
CN105303411A (zh) | 一种基于互联网的3d服装定制扫描系统及其方法 | |
Hong et al. | Application of 3D-TO-2D garment design for atypical morphology: a design case for physically disabled people with scoliosis | |
CN104299092A (zh) | 一种成衣制作系统 | |
CN106705921B (zh) | 人体体围3d模型量体去褶皱方法及装置、3d量体系统 | |
CN106773050A (zh) | 一种基于二维图像虚拟整合的智能ar眼镜 | |
US11386615B2 (en) | Creating a custom three-dimensional body shape model | |
CN109461055A (zh) | 服装尺寸确定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190716 Termination date: 20191117 |