一种无需用户裸体的三维人体测量方法和装置与流程

文档序号:20786115发布日期:2020-05-19 21:43阅读:370来源:国知局
一种无需用户裸体的三维人体测量方法和装置与流程

本发明涉及计算机图形学、人体测量学技术领域,具体涉及一种无需用户裸体的三维人体测量方法和装置。



背景技术:

三维人体测量是人体测量学等学科的基础性问题,通过工具测量胸围等人体各部位尺寸。按照人工参与程度的不同,人体测量可以划分为手工测量和自动测量。

人体的手工测量:量体师使用软皮尺、角度计等测量工具,依据测量基准对人体进行接触式测量,直接测量出人体的竖向、横向以及周长等身体表面尺寸,如身高、胸围、腰围、臀围、通裆、臂长、腿长等人体尺寸。这种接触测量数据是由量体师手工获得的,效率低下、客观性差,有许多人为因素造成的不便与误差,如异性接触测量、疲劳测量、主观增加放松量、不同量体师的手法不同造成的测量基准点位置选取差异等。从而,人体的手工测量难以标准化,测量结果与人体实际尺寸数据之间存在较大的误差。

人体的自动测量:利用光学测量、计算机等技术开发的三维人体扫描仪对三维人体表面的非接触式自动测量。得益于三维人体扫描仪等硬件设备的发展,三维人体测量已经发展到了以硬件设备直接获取(准裸体)三维人体表面原始数据的阶段。在三维人体表面数据的基础上,体形尺寸等测量值的求解过程大致如下:识别准裸体用户对象身上预先配置好的测量基准特征点,完成特征点对应胸围等尺寸的三维空间几何尺寸的测量。由此可见,如果特征点的配置或识别出现偏差,则人体尺寸测量结果就会出现精度误差乃至数据的可信性问题。更严重的问题是,需要用户裸体的要求是不合理的,这极大地限制了三维人体扫描仪等硬件设备在日常生活中的应用。

现有技术中,cn201310555513.4和cn2013102159963为本课题组提出的三维人体形态和姿态建模方法。上述专利中提出了一种原始的三维人体参数化建模算法,但不能解决无需用户裸体的三维人体测量这一充满挑战性的难题。

cn201710079335.0、cn201710079314.9和cn201710079459.9提出的人体参数化模型本质上是对既有专利cn201310555513.4和cn2013102159963的泛化说明,也未涉及如何完成正常着装用户的三维人体测量问题。



技术实现要素:

为解决现有技术中的不足,本发明提供一种无需用户裸体的三维人体测量方法和装置,解决了现有技术无法支持正常着装用户的三维人体测量问题。

为了实现上述目标,本发明采用如下技术方案:一种无需用户裸体的三维人体测量方法,包括步骤:

获取用户对象的三维人体原始点云数据,通过训练后的三维人体参数化数学模型,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型,通过测量用户对象的净体尺寸三维人体模型完成三维人体测量。

进一步的,三维人体参数化数学模型为:

m(β,θ;φ):e=bf(θ)sf(β)qf(θ)e*(1)

sf(β)为形态变形矩阵,bf(θ)为刚性姿势变形矩阵、qf(θ)为非刚性姿势变形矩阵;θ为姿势空间参数,β表示形态空间参数,常量φ为经过数据训练预先学习的形态和姿势参数;e*为预先建立的三维人体标准模型中三角形网格的三角形的边向量;e为e*经过变形后的边向量。

进一步的,

其中,|β|为形态特征参数的数目,ψb',f(0≤b'<|β|)为第b'个形态特征参数在第f个三角形上的线性系数,ψ|β|,f为第f个三角形在形态变形矩阵s上的偏移量,βb'表示第b'个形态特征参数;

其中,|bone|表示刚性部件的数目,wb,f是第b个刚性部件对第f个三角形的蒙皮权重,r(θb)表示第b个刚性部件的刚性变换矩阵;

其中,γ0,f表示人体刚性部件没有相对变形时的变形矩阵,为单位矩阵;γb,f表示第b个罗德里格斯旋转向量θb在第f个三角形上的线性系数。

进一步的,训练三维人体参数化数学模型,过程包括:

对预先建立的标准三角形网格t*进行变形,使其与裸体三维人体数据库的各个样本k相注册,变形后的顶点与样本k的顶点精确地匹配在一起,从而训练三维人体参数化数学模型。

进一步的,三维人体参数化数学模型的常量参数中,每个刚性部件对每个三角形的蒙皮权重预先指定;计算出三维人体参数化数学模型的形态常量参数ψ和姿势常量参数γ;

求解常量参数的过程是寻找最优的常量ψ,γ,并且为每一个训练集中的人体寻找最优的三角形网格模型,使得满足以下目标函数:

tk表示训练集中第k个人体的三角形网格模型,λ1,λ2,λ3是权重参数,预先指定;θk表示训练集中第k个人体的姿势参数,βk表示训练集中第k个人体的形态参数;表示标准三角形网格t*的第f个三角形的第i条边,i=0,1,2,表示三角形的三条边序号;表示训练集中第k个人体的三角形网格tk的第f个三角形的第i条边;adj={(f1,f2),f1和f2相邻}表示t*中所有相邻的三角形对集合,f1,f2表示相邻的两个三角形;i是单位3阶矩阵;vk表示训练集中第k个人体的三角形网格所有顶点的集合;pk表示训练集中第k个人体的点云模型所有点的集合;

使用信赖域法优化目标函数,通过梯度下降,完成每类变量的交替迭代计算,直至目标函数的计算收敛,求解出常量参数ψ,γ,进而得到训练后的三维人体参数化数学模型。

进一步的,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型,过程为:

对用户的三维人像原始数据进行皮肤检测,标识出两类区域:真实的皮肤与头部点云pskin、附属的衣物点云pcloth;对于pskin点云,要求变形后的净体尺寸三维人体模型t与其匹配在一起;对于pcloth点云,要求变形后的净体尺寸三维人体模型t在衣服内侧且距离衣服较近,使用geman-mcclure函数ρ(·)来实现;

其中,ef,i表示用户对象的三角形网格的第f个三角形的第i条边,v表示用户对象三角形网格所有顶点集合;采用dogleg方法完成求解,计算出用户对象的形态变量β和姿势变量θ以及变形后的净体尺寸三维人体模型t。

一种无需用户裸体的三维人体测量装置,包括:

用户数据获取模块,用于获取用户对象三维人体原始点云数据;

求解模块,用于将用户对象三维人体原始点云数据,通过训练后的三维人体参数化数学模型,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型;

测量模块,用于通过测量用户对象的净体尺寸三维人体模型完成三维人体测量。

进一步的,三维人体参数化数学模型为:

m(β,θ;φ):e=bf(θ)sf(β)qf(θ)e*(1)

sf(β)为形态变形矩阵,bf(θ)为刚性姿势变形矩阵、qf(θ)为非刚性姿势变形矩阵;θ为姿势空间参数,β表示形态空间参数,常量φ为经过数据训练预先学习的形态和姿势参数;e*为预先建立的三维人体标准模型中三角形网格的三角形的边向量;e为e*经过变形后的边向量;

其中,|β|为形态特征参数的数目,ψb',f,0≤b'<|β|为第b'个形态特征参数在第f个三角形上的线性系数,ψ|β|,f为第f个三角形在形态变形矩阵s上的偏移量,βb'表示第b'个形态特征参数;

其中,|bone|表示刚性部件的数目,wb,f是第b个刚性部件对第f个三角形的蒙皮权重,r(θb)表示第b个刚性部件的刚性变换矩阵;

其中,γ0,f表示人体刚性部件没有相对变形时的变形矩阵,为单位矩阵;γb,f表示第b个罗德里格斯旋转向量θb在第f个三角形上的线性系数。

进一步的,三维人体参数化数学模型的常量参数中,每个刚性部件对每个三角形的蒙皮权重预先指定;计算出三维人体参数化数学模型的形态常量参数ψ和姿势常量参数γ;

求解常量参数的过程是寻找最优的常量ψ,γ,并且为每一个训练集中的人体寻找最优的三角形网格模型,使得满足以下目标函数:

tk表示训练集中第k个人体的三角形网格模型,λ1,λ2,λ3是权重参数,预先指定;θk表示训练集中第k个人体的姿势参数,βk表示训练集中第k个人体的形态参数;表示标准三角形网格t*的第f个三角形的第i条边,i=0,1,2,表示三角形的三条边序号;表示训练集中第k个人体的三角形网格tk的第f个三角形的第i条边;adj={(f1,f2),f1和f2相邻}表示t*中所有相邻的三角形对集合,f1,f2表示相邻的两个三角形;i是单位3阶矩阵;vk表示训练集中第k个人体的三角形网格所有顶点的集合;pk表示训练集中第k个人体的点云模型所有点的集合;

使用信赖域法优化目标函数,通过梯度下降,完成每类变量的交替迭代计算,直至目标函数的计算收敛,求解出常量参数ψ,γ,进而得到训练后的三维人体参数化数学模型。

进一步的,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型,过程为:

对用户的三维人像原始数据进行皮肤检测,标识出两类区域:真实的皮肤与头部点云pskin、附属的衣物点云pcloth;对于pskin点云,要求变形后的净体尺寸三维人体模型t与其匹配在一起;对于pcloth点云,要求变形后的净体尺寸三维人体模型t在衣服内侧且距离衣服较近,使用geman-mcclure函数ρ(·)来实现;

其中,ef,i表示用户对象的三角形网格的第f个三角形的第i条边,v表示用户对象三角形网格所有顶点的集合;采采用dogleg方法完成求解,计算出用户对象的形态变量β和姿势变量θ以及变形后的净体尺寸三维人体模型t。

本发明所达到的有益效果:

本发明通过处理三维人体扫描仪采集的正常着装用户的三维人体原始数据,建立准裸体的三维人体模型,无需人工标记点的辅助,对正常着装的用户,建立逼真的三维人体模型结果,实现胸围等体形尺寸的准确测量。

附图说明

图1是本发明具体实施方式中的一种测量方法流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1:

如图1所示,一种无需用户裸体的三维人体测量方法,包括以下步骤:

步骤1,建立表示三维人体空间的三维人体参数化数学模型;

基于三维人体几何空间的非刚性变形数学理论,本发明使用主元素分析线性化方法来完成三维人体参数化数学模型方程的求解,从而将三维人体参数化数学模型简化为准线性化的逼近求解方程;

假定单个的三维人体离散化表示为三角形网格,包括顶点v={v0,...,v|v|-1}、边e={e0,...,e|e|-1}(每条边e是由两个相邻顶点构成的向量)和面f={f0,...,f|f|-1}(每个面f(即一个三角形)是由三个相邻顶点构成的三角形),v0表示第一个顶点,v|v|-1表示第|v|-1个顶点,e0表示第一个边,e|e|-1表示第|e|-1个边,f0表示第一个面,f|f|-1表示第|f|-1个面;|v|、|e|、|f|分别表示了网格中顶点、边、面的数目,预先建立的三维人体标准模型表示为t*={v*,e*,f*},任一人体的三维人体模型t={v,e,f}都是基于t*变形得到,v*,e*,f*分别表示预先建立的三维人体标准模型中三角形网格的顶点、边和面向量集合;v,e,f分别表示三维人体模型中三角形网格的顶点、边和面向量集合。

在三角形网格描述下,三维人体参数化数学模型表述了人体相关参数到三维人体空间的映射其中,变量β表示身高、体重、三围等形态空间参数;三维人体抽象化为关节模型,划分为|bone|(|bone|=19)个刚性部件,第b(1≤b<|bone|)个刚性部件相对于父刚性部件的相对旋转用三维rodrigues(罗德里格斯)向量θb表示,根刚性部件的三维rodrigues向量θ0表示相对于三维人体标准模型t*的绝对旋转,θb与θ0两者组合表示姿势空间参数θ(θ维度为19*3=57),常量φ为经过数据训练预先学习的形态和姿势参数,包括形态常量参数集合ψ={ψb',f,b'=0,1,2,...|β|-1,f=0,1,...|f|-1}、姿势常量参数集合γ={γb,f,b=0,1...|bone|-1,f=0,1...|f|-1}和蒙皮权重集合w={wb,f,b=0,1...|bone|-1,f=0,1...|f|-1},|β|表示形态空间参数的数目,b表示刚性部件的序号,b'表示形态空间参数的序号,ψb',f表示第b'个形态空间参数在第f个三角形上的线性系数(9*1矩阵),γb,f表示第b个罗德里格斯旋转向量在第f个三角形上的线性系数(9*3矩阵),wb,f表示表示第b个刚性部件对第f个三角形的蒙皮权重。由于涉及到非刚性变形等非线性因素,三维人体参数化数学模型是典型的带约束条件的二阶偏微分方程。t*的第f个三角形的边向量e*在变量和常量的共同作用下,经过非刚性的小尺度姿势变形矩阵qf(θ)、形态变形矩阵sf(β)和加权蒙皮的大尺度姿势变形矩阵bf(θ),得到变形后的边向量e,最终通过泊松表面重建三维网格的几何模型t={v,e,f},qf,sf,bf分别是3*3矩阵。

本发明的三维人体参数化数学模型可形式化表示为:

m(β,θ;φ):e=bf(θ)sf(β)qf(θ)e*(1)

形态变形矩阵sf(β)刻画了三维人体形态变化对于第f个三角形带来的多样性,sf(β)可以用形态空间参数β的线性组合表示:其中,|β|为形态空间参数的数目,ψb',f(0≤b'<|β|)为第b'个形态空间参数在第f个三角形上的线性系数(9*1矩阵),ψ|β|,f为第f个三角形形态变形矩阵s的偏移量(9*1矩阵),β表示身高、体重、三围等形态参数,βb'表示第b'个形态空间参数,实验表明,形态空间空间的数目|β|指定为42,1000个人体训练模型足以算出形态常量参数ψ。

姿势变形矩阵bf(θ)、qf(θ)均刻画了三维人体姿势变化对第f个三角形带来的多样性。采用线性蒙皮的关节变形方法,bf(θ)表示刚性骨架部件驱动的大尺度变形,即人体中|bone|(|bone|=19)个刚性部件的变换和蒙皮权重乘积的求和,|bone|表示刚性部件的数目,wb,f是集合w中的一个元素,表示第b个刚性部件对第f个三角形的蒙皮权重,r(θb)表示第b个刚性部件的刚性变换矩阵,刚性矩阵是一个3*3的单位正交矩阵;

形式化地表示了体形上的局部小尺度姿势变形,γ0,f表示人体刚性部件没有相对变形时(θb(1≤b<|bone|)为零向量)的变形矩阵(9*1矩阵),为单位矩阵;γb,f表示第b个罗德里格斯旋转向量θb在第f个三角形上的线性系数(9*3矩阵)。

步骤2,通过预先建立的三维人体标准模型对三维人体参数化数学模型进行训练,得到训练后的三维人体参数化数学模型;

对预先建立的标准三角形网格t*进行变形,使其与裸体三维人体数据库的各个样本k相注册,即变形后的顶点与样本k的顶点精确地匹配在一起,从而训练三维人体参数化数学模型。

常量参数中,w中每个刚性部件对每个三角形的蒙皮权重预先人工指定。在具体数据训练过程中,计算出三维人体参数化模型的另外两个常量参数ψ,γ。

求解常量参数的过程是寻找最优的常量ψ,γ,并且为每一个训练集中的人体寻找最优的三角形网格模型,使得满足以下目标函数:

tk表示训练集中第k个人体的三角形网格模型,λ1,λ2,λ3是权重参数,预先指定。θk表示训练集中第k个人体的姿势参数,βk表示训练集中第k个人体的形态参数。表示标准三角形网格t*的第f个三角形的第i条边,i=0,1,2,表示三角形的三条边序号;表示训练集中第k个人体的三角形网格tk的第f个三角形的第i条边。adj={(f1,f2),f1和f2相邻}表示t*中所有相邻的三角形对集合,f1,f2表示相邻的两个三角形,sf1(),sf2()分别表示相邻的两个三角形f1,f2的形态变形矩阵。i是单位3阶矩阵。vk表示训练集中第k个人体的三角形网格所有顶点的集合。pk表示训练集中第k个人体的点云模型所有点的集合。公式(2)第一项保证训练集中第k个人体的最优三角形网格tk是由t*按照θk,βk变形后的模型,第二项保证相邻三角形具有相似的形态变形矩阵,第三项保证姿势变形矩阵尽可能保持刚性,第四项保证每个训练集人体的最优三角形网格顶点vk与样本k的顶点pk精确地匹配。该函数的求解涉及到典型的带约束条件的二阶偏微分方程的计算,有ψ和γ变量且是多维度的;使用信赖域法优化目标函数(即信赖域dogleg(狗腿)方法),通过梯度下降,完成每类变量的交替迭代计算,直至目标函数的计算收敛,求解出常量参数ψ,γ,进而得到训练后的三维人体参数化数学模型;

步骤3,用户实例处理:针对要处理的用户对象,获取用户对象的三维人体原始点云数据,通过训练后的三维人体参数化数学模型,求解出与用户对象相关的形态空间参数β和姿势空间参数θ,同时重建出用户对象的净体尺寸三维人体模型,通过测量该模型完成胸围等体形尺寸的测量。

在求解过程中,首先对用户的三维人像原始数据进行皮肤检测,标识出两类区域:真实的皮肤与头部点云(即点的集合)pskin、附属的衣物点云pcloth。对于pskin点云,要求变形后的净体尺寸三维人体模型t与其匹配在一起;对于pcloth点云,要求变形后的净体尺寸三维人体模型t在衣服内侧且距离衣服较近,使用geman-mcclure函数ρ(·)来实现这样的要求。

与公式(2)一样,公式(3)也是用dogleg方法完成求解的,计算出用户对象的形态变量β和姿势变量θ以及变形后的净体尺寸三维人体模型t。这也意味着,本发明直接完成了形态变量β的求解,这有别于常见的形态变量间接计算方案。

实施例2:

一种无需用户裸体的三维人体测量装置,包括:

用户数据获取模块,用于获取用户对象三维人体原始点云数据;

求解模块,用于将用户对象三维人体原始点云数据,通过训练后的三维人体参数化数学模型,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型;

测量模块,用于通过测量用户对象的净体尺寸三维人体模型完成三维人体测量。

进一步的,三维人体参数化数学模型为:

sf(β)为形态变形矩阵,bf(θ)为加权蒙皮的大尺度姿势变形矩阵、qf(θ)为非刚性的小尺度姿势变形矩阵;e*为预先建立的三维人体标准模型中三角形网格的三角形的边向量;e为e*经过变形后的边向量;

其中,|β|为形态特征参数的数目,ψb',f(0≤b'<|β|)为第b'个形态特征参数在第f个三角形上的线性系数,ψ|β|,f为第f个三角形形态变形矩阵s的偏移量,β表示形态特征参数,,βb'表示第b'个形态特征参数;

其中,|bone|表示刚性部件的数目,wb,f是第b个刚性部件对第f个三角形的蒙皮权重,r(θb)表示第b个刚性部件的刚性变换矩阵;

其中,γ0,f表示人体刚性部件没有相对变形时的变形矩阵,为单位矩阵;γb,f表示第b个罗德里格斯旋转向量θb在第f个三角形上的线性系数。

进一步的,三维人体参数化数学模型的常量参数中,每个刚性部件对每个三角形的蒙皮权重预先指定;计算出三维人体参数化数学模型的形态常量参数ψ和姿势常量参数γ;

求解常量参数的过程是寻找最优的常量ψ,γ,并且为每一个训练集中的人体寻找最优的三角形网格模型,使得满足以下目标函数:

tk表示训练集中第k个人体的三角形网格模型,λ1,λ2,λ3是权重参数,预先指定;θk表示训练集中第k个人体的姿势参数,βk表示训练集中第k个人体的形态参数;表示标准三角形网格t*的第f个三角形的第i条边,i=0,1,2,表示三角形的三条边序号;表示训练集中第k个人体的三角形网格tk的第f个三角形的第i条边;adj={(f1,f2),f1和f2相邻}表示t*中所有相邻的三角形对集合,f1,f2表示相邻的两个三角形;i是单位3阶矩阵;vk表示训练集中第k个人体的三角形网格所有顶点的集合;pk表示训练集中第k个人体的点云模型所有点的集合;

使用信赖域法优化目标函数,通过梯度下降,完成每类变量的交替迭代计算,直至目标函数的计算收敛,求解出常量参数ψ,γ,进而得到训练后的三维人体参数化数学模型。

进一步的,求解出与用户对象相关的形态空间参数和姿势空间参数,同时重建出用户对象的净体尺寸三维人体模型,过程为:

对用户的三维人像原始数据进行皮肤检测,标识出两类区域:真实的皮肤与头部点云pskin、附属的衣物点云pcloth;对于pskin点云,要求变形后的净体尺寸三维人体模型t与其匹配在一起;对于pcloth点云,要求变形后的净体尺寸三维人体模型t在衣服内侧且距离衣服较近,使用geman-mcclure函数ρ(·)来实现;

采用dogleg方法完成求解,计算出用户对象的形态变量β和姿势变量θ以及变形后的净体尺寸三维人体模型t。

综上所述,本发明提出的无需用户裸体的三维人体测量方法功能稳定:因为所求解出的结果一定符合三维人体参数化数学模型,所以,即便是单视角残缺数据,依旧能建立完整的三维人体模型结果。它避免了传统的三维人体采集方法经常因数据残缺导致结果有缺陷的不足,降低孔洞、抖动、外点等原始数据缺陷带来的影响。更重要的是,即便用户正常着装,增强型的三维人体参数化建模方法依旧能够建立净体尺寸的三维人体结果,完成胸围等三维人体尺寸的准确测量。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1