一种基于互联网的3d服装定制扫描系统及其方法_3

文档序号:9547788阅读:来源:国知局
描任务开发。系统的使用场合为需要进行物体/人体等比例高精 度3D模型重建的场景,同时进行扫描任务的管理以及上传等。注意,这里的3D模型重建指 的是对对象(物体/人体)的外表面所构成的空间结构用三角面片集合的形式进行模拟和 重构,以求重构得到的外表面与原外表面误差足够小。
[0123] 在人体扫描业务中,系统的基本业务逻辑为:后台产生测量任务_>后台产生量体 客户的量体码并下发给客户_>量体员根据客户提供的量体码创建任务_>量体员对客户的 三维外观进行扫描完成测量任务_>量体员将测量任务中的数据上传至服务器。
[0124] 1.量体员登录与设备管理
[0125] 量体员输入密码后可进行登录,若输入特定密码则进入设备管理页面,可以进行 设备编号和量体员密码的更改。
[0126] 2.测量任务管理
[0127] 量体员可以管理自己的测量任务。
[0128] 任务创建:量体员根据客户提供的电话号码和量体码进行任务的创建。
[0129] 任务删除:仅有上传完成的任务可以删除。。
[0130] 任务查看:量体员可以按任务类别(未开始任务、测量完成但未提交任务、已提交 任务)进行查看。
[0131] 任务执行:任务执行过程即为3D模型扫描过程(请见3.)。
[0132] 测量完成:3D模型扫面完成后,测量标识为完成,此时可以将模型上传。
[0133] 任务提交:将模型上传至后台,完成上传后任务标识为已提交。
[0134] 3. 3D模型扫描
[0135] 3D模型扫描通过连接Structure Sensor深度摄像头,通过SLAM等三维重建算法 完成模型扫描以及相关数据采集。
[0136] L与Structure Sensor深度摄像头的适配
[0137] 采用Structure Sensor提供的SDK,适配深度摄像头。
[0138] 2.三维重建算法
[0139] 从深度摄像头获取场景深度数据,利用SLAM三维重建算法,对模型的外表面三维 拓扑精确重构,在特定距离下,模型扫描精度可达2_以内。
[0140] 3.模型数据采集
[0141] 为准确重建人体三维数据,模型采集前需确认被测者衣着规范,并在测量系统提 示下在合适距离内进行扫描。对人体两种姿势的三维图像进行采集。同时,人工采集被测 者身高、体重等数据,汇总至模型数据。
[0142] 4.模型数据保存
[0143] 一次扫描的模型及相关数据,与该次扫描对应的任务绑定,任务所操作的数据,即 是此次扫描所得数据。
[0144] 三、系统结构
[0145] 系统模块划分
[0146] 以本系统运行在IOS系统中为例,主要分为存储部分与应用部分:
[0147] 系统存储模块:
[0148] 1.系统数据库
[0149] 由IOS CoreData框架设计,以类似数据库的形式存储在3JKScanner程序(三件 客扫描系统)的沙盒文件系统中。数据分为扫描任务相关数据、量体员相关数据、验证算法 相关数据。
[0150] 扫描任务相关数据:
[0151 ] 与某次扫描任务相关的任务ID (NSString)、联系电话(NSString)、扫描时间 (NSDate)、设备编号(NSString)、任务状态(NSString)、扫描模型存储位置(NSString)。
[0152] 量体员相关数据:
[0153] 与某一设备相关的唯一标识信息(NSString)。
[0154] 验证算法相关数据:
[0155] 与量体码算法相关的固定算法数据(NSData)。
[0156] 2.扫描模型
[0157] 放在3JKScanner系统(三件客扫描系统)沙盒文件系统中的文件,一个扫描任务 对应一个扫描文件(.zip压缩文件)。压缩文件中包含以下文件:
[0158] 第一个姿势量体模型(.obj)、第二个姿势量体模型(.obj)、量体模型信息 (.txt) 〇
[0159] 3.系统模块
[0160] 如图1所示:
[0161] 任务创建模块:输入手机号码以及量体码,验证通过后创建扫描任务。
[0162] 3D扫描模块:选择一已创建任务,对用户进行着紧身衣状态下的双姿势的半身3D 扫描。存储3D扫描模型以及身高体重等有关信息。
[0163] 模型上传模块:将与任务绑定的扫描所得3D模型及相关信息打包上传至后台FTP 服务器。
[0164] 任务管理模块:在系统端,利用CoreData以及TableViewController,对任务进行 读取、查询、插入等操作。
[0165] 任务状态管理模块:管理任务状态的跳转以及控制各状态下任务的操作权限。
[0166] 其中,量体员的任务管理模块包括:
[0167] 量体员登录与任务创建:量体员通过本系统可以进行登录,登录后才可对本系统 进行操作。
[0168] 量体任务管理:量体员可以管理自己的量体任务。
[0169] 任务创建:量体员验证通过客户的量体码后,可以创建该用户的扫描任务。
[0170] 任务删除:仅上传完成的任务可以删除。
[0171] 任务查看:量体员可以按任务类别(未开始任务、测量完成但未提交任务、已提交 任务)进行查看。
[0172] 任务执行:任务执行过程即为3D模型扫描过程。
[0173] 测量完成:3D模型扫面完成后,测量标识为完成,此时可以将模型上传。
[0174] 任务提交:将模型上传至后台,完成上传后任务标识为已提交。
[0175] 3D模型扫描模块包括:
[0176] 3D模型扫描通过连接Structure Sensor深度摄像头,通过SLAM等三维重建算法 完成模型扫描以及相关数据采集。
[0177] 与Structure Sensor深度摄像头的适配:采用Structure Sensor提供的SDK,适 配深度摄像头。
[0178] 三维重建算法:从深度摄像头获取场景深度数据,利用SLAM三维重建算法,对模 型的外表面三维拓扑精确重构,在特定距离下,模型扫描精度可达2mm以内。
[0179] 模型扫描模块:
[0180] 为准确重建人体三维数据,模型采集前需确认被测者衣着规范,并在测量系统提 示下在合适距离内进行扫描,对人体两种姿势的三维图像进行采集。同时,人工采集被测者 身高、体重等数据,汇总至模型数据。
[0181] 模型数据存储模块:
[0182] 一次扫描的模型及相关数据,与该次扫描对应的任务绑定,任务所操作的数据,即 是此次扫描所得数据。
[0183] 四、系统模块详述
[0184] 1.任务管理模块:
[0185] 任务数据库的创建与读取。3JKScanner系统(三件客扫描系统)启动时,若系统 沙盒文件系统中指定名称的任务数据库文件存在,则读取该数据库为程序绑定的任务数据 库,否则创建指定名称的任务数据库,并制定其为程序绑定的任务数据库。在创建同时,将 该任务数据库的上下文(NSManagedObjectContext,IOS API类,提供CoreData的管理功 能)进行广播。
[0186] 任务数据库上下文的同步。在程序启动时广播的任务数据库上下文,将由 TabViewController (利用IOS API创建的主UI)接收,并同步至它的任务数据库上下文,继 而同步传递至它所拥有的子ViewController中需要用到任务数据库上下文处。以此保证 任务数据库的全局统一。
[0187] 任务的插入、查询与改写。使用NSManagedObjectContext以及 NSPredicate (I0SAPI类,提供查询谓词方法),为CoreData的任务实体创建插入、查询与改 写方法。
[0188] 查询与插入:根据任务特定的联系电话(NSString,IOS API类,字符串)、扫描时 间(NSDate,IOS API类,时间)、设备编号(NSString)与任务状态(NSString),查询相匹配 的任务实体,或在不存在相应匹配实体的情况下,创建并插入具有相应字段的任务。
[0189] 改写:在任务数据库中改写具有某任务ID(NSString)的任务实体的属性。
[0190] 任务的删除:从任务数据库中删除具有某任务ID(NSString)的任务实体的属性。 此项权限只开放给任务状态为已上传的任务实体。
[0191] 2.任务状态管理模块
[0192] 每一个创建的任务,根据其任务完成的情况,会分为未开始、待上传和已上传三个 任务状态。
[0193] 未开始:任务成功创建后的初始状态。当模型扫描完毕后变为"待上传"状态。此 状态下的任务可进行模型扫描。无法进行模型上传以及删除。
[0194] 待上传:模型已扫描完毕,但未进行过模型上传的任务。此状态下的任务可进行任 务的重新扫描、模型上传操作。无法删除。
[0195] 已上传:模型已扫描完毕,且完成了模型上传的任务。此状态下的任务可进行任务 的重新扫描、模型上传以及删除任务。
[0196] 3.任务创建模块
[0197] 功能一:验证用户手机号与量体码匹配。输入用户手机号码以及4位量体码,鉴别 是否通过验证。
[0198] 功能二:验证通过后,输入用户的身高、体重,并选择相应的着装。
[0199] 功能三:创建相应任务,绑定任务的联系方式为验证后的手机号。
[0200] 4.模型上传模块
[0201] 在连接互联网的状态下,根据任务实体的模型地址,找到任务对应的模型及相关 信息文件,将其打包,并通过FTP上传至服务器。
[0202] 5. 3D扫描模块
[0203] 5. 0·(扫描前)被测者着紧身衣
[0204] 5. 1.确定扫描姿态
[0205] 根据顺序,选取两种扫描姿态的一种。
[0206] 5. 2.确定扫描长方体范围
[0207] 对传感器可探测范围内(40cm〈d〈700cm)的人体,用双指缩放、按键增减等方式制 定扫描范围(为长方体)的长(X)、宽(y)、高(z)。(保证被测者人体颈部及以下至大腿中 部所有部位处在长方体当中。)
[0208] 在其他的实施例中,长方体可以变形为球体、正方体等其他立体形状。
[0209] 5. 3.选定扫描距离
[0210] 扫描界面中心点有一靶心与数字,指示传感器至当前靶心处的距离。扫描时若超 出距离方位,程序会进行提示。
[0211] 5. 4. SLAM (Simultaneous localization and mapping)扫描
[0212] 开始扫描后,程序实时获取传感器接收到的深度信息,并通过SLAM三维重建算 法,重构被测者扫描区域的表面三维结构。量体员在测量界面获得的实时三维重建绘图。三 维重建算法的基础由扫描传感器SDK提供。
[0213] 扫描过程中,程序会跟踪量体员相对于被测客户的相对位置,根据此位置做出相 应扫描步骤提示。根据步骤提示,量体员可完成对客户人体模型的绕圈扫描。
[0214] 5. 5.检查与确认
[0215] 完成扫描后,系统会提供扫描模型的三维视图,量体员可以对模型进行缩放、旋 转,以人工检视模型质量,若质量不合格(模型不完整、有较大空洞等),则可以选择重新扫 描。若扫描合适,则点击进行下一姿势的扫描,或完成扫描。
[0216] 5. 6.完成扫描
[0217] 完成所有两次扫描后,存储两次扫描
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1