三维人体模型的建模方法、装置、系统及存储介质
文献发布时间:2023-06-19 12:25:57
技术领域
本申请涉及三维人体模型技术领域,具体而言,本申请涉及一种三维人体模型的建模方法、装置、系统及存储介质。
背景技术
随着三维数字人体技术的发展,越来越多的行业(如智能医疗或游戏等),需要为用户提供定制化的三维人体模型来提升用户的体验。
在现有技术中,一般是通过手动建模的方式为用户生成三维人体模型,这种建模方式需要人工参与大量工作,建模的效率较低,而且手动建模的生成的三维人体模型与用户真实的体形特征的匹配度较低,缺少真实感,无法显著地提升用户体验。
发明内容
本申请针对现有方式的缺点,提出一种三维人体模型的建模方法、装置、系统及存储介质,用以解决现有的三维人体模型的建模方式的效率低,或三维人体模型与用户真实的体形特征的匹配度较低的技术问题。
第一方面,本申请提供了一种三维人体模型的建模方法,包括:
获取用户的人体实际参数,根据人体实际参数对标准人体三维模型进行缩放处理,得到与用户的人体特征匹配的初始人体三维模型;
获取用户的人体图像,确定出人体图像中每对相关联的实际体表特征点的第一距离;
根据每对相关联的实际体表特征点的第一距离,确定出初始人体三维模型中每个参考体表特征点和参考骨骼点的目标位置;
将初始人体三维模型中每个参考体表特征点和参考骨骼点调整至对应的目标位置,得到用户的定制化三维人体模型。
第二方面,本申请提供了一种三维人体模型的建模装置,包括:
初始调整模块,用于获取用户的人体实际参数,根据人体实际参数对标准人体三维模型进行缩放处理,得到与用户的人体特征匹配的初始人体三维模型;
距离确定调整模块,用于获取用户的人体图像,确定出人体图像中每对相关联的实际体表特征点的第一距离;
点位确定模块,用于根据每对相关联的实际体表特征点的第一距离,确定出初始人体三维模型中每个参考体表特征点和参考骨骼点的目标位置;
目标调整模块,用于将初始人体三维模型中每个参考体表特征点和参考骨骼点调整至对应的目标位置,得到用户的定制化三维人体模型。
第三方面,本申请提供了一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行本申请提供的三维人体模型的建模方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请提供的三维人体模型的建模方法。
本申请实施例提供的技术方案带来的有益技术效果包括:
在本申请实施例中,在执行本申请的人体模型的建模方法的过程中,先以的标准人体三维模型为基础,根据用户的人体实际参数对标准人体三维模型自动进行缩放,生成与用户的体形比较近似的初始人体三维模型。上述步骤使得标准人体三维模型的特征点和骨骼点的位置匹配其期望的目标位置,减少了后续步骤的计算量,有助于提升处理速度。
之后再自动识别出用户的人体图像的实际特征点的位置信息,根据用户的人体图像的实际特征点的位置信息再次对初始人体三维模型进行更加精确的调整,以使初始三维人体模型进一步接近用户真实的体形特征,最终生成与用户真实人体的体形匹配度更高的定制化三维人体模型。
上述三维人体模型的建模方法可以由电子设备自行执行,相比于人工建模的方式,本申请的建模方法的速度更快、效率更高,而且生成的三维人体模型与用户的体形的匹配度更高。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种标准三维人体模型的示意图;
图2为本申请实施例提供的一种三维人体模型的建模方法的流程示意图;
图3为本申请实施例提供的另一种三维人体模型的建模方法的流程示意图;
图4为本申请实施例提供的一种用户的人体图像的实际体表特征点的分布示意图;
图5为本申请实施例提供的标准三维人体模型转换为参考三维人体模型的状态示意图;
图6为本申请实施例提供的参考三维人体模型转换为定制化三维人体模型的状态示意图;
图7为本申请实施例提供的“计算每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离,将空间距离作为第一距离”的扩展方法的流程示意图;
图8为本申请实施例提供的一种三维人体模型的建模装置的框架示意图;
图9为本申请实施例提供的另一种三维人体模型的建模装置的框架示意图;
图10为本申请实施例提供的又一种三维人体模型的建模装置的框架示意图;
图11为本申请实施例提供的一种电子设备的框架示意图;
图12为本申请实施例提供的另一种电子设备的框架示意图。
具体实施方式
下面详细描述本申请,本申请的实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
如图1所示,标准人体三维模型是数字化的人体模型,标准人体三维模型包括标记在骨骼上的骨骼点、以及标记在人体表面的体表特征点。骨骼点一般标记在人体运动的关键轴心部位,如人体骨骼的末端的节点,体表特征点可以标记在骨骼点附近的人体表面。通过改变标准人体三维模型中骨骼点和体表特征点位置,可以改变标准人体三维模型的体形(如高矮胖瘦)、姿态和动作等。
下文中的初始人体三维模型和定制化三维人体模型,都是通过改变标准人体三维模型中骨骼点和体表特征点位置得到的。为了便于区分,将标准人体三维模型的骨骼点、体表特征点,分别记为标准骨骼点A1、标准体表特征点B1;将参考人体三维模型的骨骼点、体表特征点,分别记为参考骨骼点A2、参考体表特征点B2;将定制化三维人体模型的骨骼点、体表特征点,分别记为定制骨骼点A4、定制体表特征点B4。
用户的人体图像中的实际体表特征点B3,是基于用户的真实人体的图像识别出的人体表面的各个位置点。
本申请提供的电子设备500,可以作为三维人体模型的建模方法的执行主体,下面的部分内容中将以电子设备500作为执行主体为例,具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。
本申请实施例提供了一种三维人体模型的建模方法,该方法的流程示意图如图2所示,包括:
S101:获取用户的人体实际参数。
用户的人体实际参数可以表征用户的真实人体的体形特点(如高矮胖瘦等),人体实际参数可以包括用户的实际身高值、手臂长度值、腿长值、肩宽值、胸围、腰围和臀围等。
在本申请的一个实施例中,步骤S101包括:获取用户的实际身高值作为一个人体实际参数。
S102:根据人体实际参数对标准人体三维模型进行缩放处理,得到与用户的人体特征匹配的初始人体三维模型,之后执行步骤S105。
在步骤S102中,对标准人体三维模型进行缩放处理,可以是调整标准人体三维模型中骨骼点和体表特征点位置,进而改变标准人体三维模型的体形,从而得到初始人体三维模型。
在步骤S101和S102中,先以标准人体三维模型为基础,根据用户的人体实际参数对标准人体三维模型自动进行缩放,生成与用户的体形比较近似的初始人体三维模型。上述步骤使得标准人体三维模型的特征点和骨骼点的位置匹配其期望的目标位置,减少了后续步骤的计算量,有助于提升处理速度。
在本申请的一个实施例中,当用户的人体实际参数为实际身高值时,步骤S102包括:根据实际身高值和标准人体三维模型的定义身高值,确定出初始缩放比例;根据初始缩放比例对标准人体三维模型进行缩放处理,得到与用户的人体身高特征匹配的初始人体三维模型。
S103:获取用户的人体图像。
在步骤S103中,用户的人体图像可以包括用户的正面图像、侧面图像和背面图像中的至少一种,还可以包括用户的其他角度的图像。
S104:确定出人体图像中每对相关联的实际体表特征点B3的第一距离。
在本申请的一个实施例中,步骤S104包括:利用识别模型识别出人体图像中的多个实际体表特征点B3;计算每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离,将空间距离作为第一距离。
应当说明的是,每个实际体表特征点B3与至少一个其它的实际体表特征点B3相关联。两个相邻的实际体表特征点B3即可构成一对相关联的实际体表特征点B3。
以图4为例。图中右手腕处的两个实际体表特征点B3即可构成一对相关联的实际体表特征点B3,这两个实际体表特征点B3之间的空间距离L,即可作为第一距离作为这两个实际体表特征点B3的第一距离。
S105:根据每对相关联的实际体表特征点B3的第一距离,确定出初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2的目标位置。
在步骤S105中,实际上是依据用户的人体图像上的实际体表特征点B3的位置,对初始人体三维模型中的参考体表特征点B2和参考骨骼点A2的位置做进一步校正,得到参考体表特征点B2和参考骨骼点A2的目标位置。
在本申请的一个实施例中,步骤S105包括:
根据每对相关联的实际体表特征点B3的第一距离、以及与每对相关联的实际体表特征点B3对应的一对相关联的参考体表特征点B2的定义距离,确定出每对相关联的参考体表特征点B2的目标缩放比例;
根据每对相关联的参考体表特征点B2的目标缩放比例,确定出每个参考体表特征点B2的目标位置;
根据每个参考体表特征点B2的目标位置、以及参考骨骼点A2与参考体表特征点B2之间的预设位置转换关系,确定出每个参考骨骼点A2的目标位置。
S106:将初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2调整至对应的目标位置,得到用户的定制化三维人体模型。
在步骤S103至S106中,先自动识别出用户的人体图像的实际特征点的位置信息,根据用户的人体图像的实际特征点的位置信息再次对初始人体三维模型进行更加精确的调整,以使初始三维人体模型进一步接近用户真实的体形特征,最终生成与用户真实人体的体形匹配度更高的定制化三维人体模型,提高了定制化三维人体模型的真实度。
在本申请的一个实施例中,在步骤S102之前还包括:根据用户的类别信息,在人体三维模型库中获取与类别信息匹配的标准人体三维模型。类别信息包括性别、人种和年龄中的至少一种。
可选地,本申请实施例提供的三维人体模型的建模方法还包括:控制显示单元503显示标准人体三维模型、人体图像、初始人体三维模型和定制化三维人体模型中的至少一项。
可选地,在得到用户的定制化三维人体模型之后,还包括:根据预设身体部分的标准体态信息以及用户的定制化三维人体模型,判断用户的预设身体部分是否存在异常体态,若存在,则展示用户的预设身体部分的异常体态信息。
在本申请实施例中,在执行本申请的人体模型的建模方法的过程中,先以的标准人体三维模型为基础,根据用户的人体实际参数对标准人体三维模型自动进行缩放,生成与用户的体形比较近似的初始人体三维模型。上述步骤使得标准人体三维模型的特征点和骨骼点的位置匹配其期望的目标位置,减少了后续步骤的计算量,有助于提升处理速度。
之后再自动识别出用户的人体图像的实际特征点的位置信息,根据用户的人体图像的实际特征点的位置信息再次对初始人体三维模型进行更加精确的调整,以使初始三维人体模型进一步接近用户真实的体形特征,最终生成与用户真实人体的体形匹配度更高的定制化三维人体模型。
上述三维人体模型的建模方法可以由电子设备自行执行,相比于人工建模的方式,本申请的建模方法的速度更快、效率更高,而且生成的三维人体模型与用户的体形的匹配度更高。
本申请实施例还提供了另一种三维人体模型的建模方法,该方法的流程示意图如图3所示,包括:
S201:获取用户的实际身高值作为一个人体实际参数。
应当说明的是,用户的人体实际参数可以表征用户的真实人体的体形特点(如高矮胖瘦等),人体实际参数可以包括用户的实际身高值、手臂长度值、腿长值、肩宽值、胸围、腰围和臀围等。
由于身高值是比较直观和显著的体形特征,因此仅选取实际身高值作为用户的人体实际参数,也可以证后续步骤所得到的初始人体三维模型与用户的体形特征十分接近。
可选地,电子设备500具有信息输入单元,通过输入单元输入用户的人体实际参数(如实际身高值),使得电子设备500获取到用户的人体实际参数。电子设备500的信息输入单元所支持的输出方式可以根据实际的设计需要而定,例如支持触摸输入或语音输入等,信息输入单元的具体类型将在后续内容中做进一步介绍。
可选地,电子设备500可以与其它设备(如其它电子设备500或服务器)通信连接,其它设备中存储有用户的人体实际参数(如实际身高值),电子设备500向其它设备发送请求,其它设备根据请求将用户的人体实际参数发送至电子设备500,使得电子设备500获取到用户的人体实际参数。
在本申请的一个实施例中,在步骤201之前还包括:根据用户的类别信息,在人体三维模型库中获取与类别信息匹配的标准人体三维模型。类别信息包括性别、人种和年龄中的至少一种
本申请的发明人发现,不同的类别信息(性别、人种和年龄)的用户,体形特征具有较大的差异,因此可以在人体三维模型库中存储有多种标准人体三维模型,将用户按照类别信息划分为不同的用户群,每个用户群对应一种标准人体三维模型。因此,可以根据用户的类别信息获取标准人体三维模型,与用户的体形特征更加匹配,这可以有助于减少后续步骤的计算量。
S202:根据实际身高值和标准人体三维模型的定义身高值,确定出初始缩放比例。
在本申请的一个实施例中,假设用户的实际身高值为1.6米,标准人体三维模型的定义身高值为1.8米,将用户的实际身高值除以标准人体三维模型的定义身高值后,得到的商值为约等于0.89,因此可以将0.89作为初始缩放比例。当然,也利用可以其它运算方式,对用户的实际身高值和标准人体三维模型的定义身高值进行运算,来得到初始缩放比例。
可选地,在步骤S201和/或步骤S202中,电子设备500的显示单元503可以显示标准人体三维模型。
S203:根据初始缩放比例对标准人体三维模型进行缩放处理,得到与用户的人体身高特征匹配的初始人体三维模型,之后执行步骤S207。
如图4所示,对标准人体三维模型进行缩放处理,可以是调整标准人体三维模型中骨骼点和体表特征点位置,进而改变标准人体三维模型的体形,从而得到初始人体三维模型。将用户的实际身高值作为一个人体实际参数时,初始人体三维模型的定义身高值应当与用户的实际身高值一致。
在本申请的一个实施例中,步骤S203包括:
(a1)根据初始缩放比例,对标准人体三维模型中相邻的标准体表特征点B1之间的距离、以及相邻的标准骨骼点A1之间的距离进行缩放。
(a2)将缩放后的标准人体三维模型作为初始人体三维模型,使得标准体表特征点B1成为参考体表特征点B2,标准骨骼点A1成为标准骨骼点A1。
执行步骤S201和S203的过程中,先以的标准人体三维模型为基础,根据用户的身高值对标准人体三维模型自动进行缩放,生成与用户的体形比较近似的初始人体三维模型。由于身高值是比较直观和显著的体形特征,因此仅选取实际身高值作为用户的人体实际参数,也可以证后续步骤所得到的初始人体三维模型与用户的体形特征十分接近,这可以减少需要获取的人体实际参数的之类和数量,而且,初始人体三维模型的参考体表特征点和参考骨骼点的位置更加仅仅期望的目标位置,减少了后续步骤的计算量,有助于提升处理速度。
可选地,在步骤S203中,电子设备500的显示单元503可以显示标准人体三维模型和初始人体三维模型。
S204:获取用户的人体图像。
在本申请的一个实施例中,电子设备500获取用户的人体的正面图向和侧面图像和背面图像。
可选地,电子设备500具有摄像功能,在执行步骤S204时,电子设备500开启摄像功能对用户进行拍摄,获取到用户的人体图像。
可选地,电子设备500中预先存储有用户的人体图像,在执行步骤S103时,电子设备500直接调用到用户的人体图像。
可选地,电子设备500可以与其它设备(如其它电子设备500或服务器)通信连接,其它设备中存储有用户的人体图像,电子设备500向其它设备发送请求,其它设备根据请求将存储有用户的人体图像发送至电子设备500,使得电子设备500获取到用户的人体图像。
可选地,在步骤S204的过程中,电子设备500的显示单元503可以显示用户的人体图像,也可以同步展示初始22人体三维模型。
S205:利用识别模型识别出人体图像中的多个实际体表特征点B3。
如图5所示,人体图像中的多个实际体表特征点B3可以用图中的圆圈表示。
识别模型具有图像识别(Image Recognition)功能,可以对图像进行处理、分析和理解,以识别各种不同模式的目标和对象。
本领域的识别模型可以通过机器学习的方式训练得到。训练的过程大致可以包括:预先准备大量的(如10万张)人体图像,手动标记每个人体图像的实际体表特征点B3,通过识别大量的人体图像的实际体表特征点B3,训练出神经网络。具体的训练过程此处不再赘述。
S206:计算每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离,将空间距离作为第一距离。
在本申请实施例中,参考三维坐标系可以根据实际的需要进行定义,也可以将世界坐标系或本地坐标系作为参考三维坐标系。每对相关联的实际体表特征点B3的第一距离,实际上就是每对相关联的实际体表特征点B3在用户的真实人体上的实际距离。
S207:根据每对相关联的实际体表特征点B3的第一距离、以及与每对相关联的实际体表特征点B3对应的一对相关联的参考体表特征点B2的定义距离,确定出每对相关联的参考体表特征点B2的目标缩放比例。
以用户的人体图像右手腕处一对相关联的实际体表特征点B3为例。用户的人体图像的右手腕处一对相关联的实际体表特征点B3,对应的是初始人体三维模型右手腕处一对相关联的参考体表特征点B2。
假设用户的人体图像的右手腕处一对相关联的实际体表特征点B3的第一距离为0.05米,初始人体三维模型右手腕处一对相关联的参考体表特征点B2的定义距离为0.06米。将第一距离除以定义距离后,得到的商值为约等于0.83,因此可以将0.83作为目标缩放比例。当然,也利用可以其它运算方式,对第一距离和定义距离进行运算,从而得到目标缩放比例。
S208:根据每对相关联的参考体表特征点B2的目标缩放比例,确定出每个参考体表特征点B2的目标位置。
应当说明的是,标准人体三维模型和初始人体三维模型都是建立在一个虚拟三维坐标系中的,初始人体三维模型中参考体表特征点B2和参考体骨骼点在虚拟三维坐标系的坐标是已知的,参考体表特征点B2和参考体骨骼点的位置可以用坐标来表示。
以初始人体三维模型右手腕处一对相关联的参考体表特征点B2为例,假设这对相关联的参考体表特征点B2的定义距离为上述的0.06米,目标缩放比例为0.83。确定初始人体三维模型右手腕处一对相关联的参考体表特征点B2的目标位置,实际上就是确定出这对参考体表特征点B2的新坐标,使得具有新坐标的一对参考体表特征点B2之间的距离,缩短为原来的0.83倍,将每个参考体表特征点B2的新坐标所表示的位置作为目标位置。
S209:根据每个参考体表特征点B2的目标位置、以及参考骨骼点A2与参考体表特征点B2之间的预设位置转换关系,确定出每个参考骨骼点A2的目标位置。
每个参考骨骼点A2的附近都布置有参考体表特征点B2,在虚拟三维坐标系中,参考骨骼点A2的坐标与参考体表特征点B2的坐标之间具有预设的转换关系。
根据上述步骤确定出的参考体表特征点B2在虚拟三维坐标系中的新坐标,确定出参考骨骼点A2在虚拟三维坐标系中的新坐标,将参考骨骼点A2在虚拟三维坐标系中的新坐标所表示的位置作为目标位置。
在本申请的一个实施例中,步骤S209包括:根据每个参考骨骼点A2两侧的两个参考骨骼点A2的目标位置,确定出每个参考骨骼点A2两侧的两个参考骨骼点A2的中心点位置,将中心点位置作为每个参考骨骼点A2的目标位置。
每个参考骨骼点A2的附近都布置有至少两个参考体表特征点B2,其中两个在参考体表特征点B2对称分布在参考骨骼点A2两侧。
对于一个参考骨骼点A2,根据该参考骨骼点A2的两侧的两个对称的参考体表特征点B2在虚拟三维坐标系中的新坐标,确定出这两个参考骨骼点A2的中心点在虚拟三维坐标系中的坐标,将中心点在虚拟三维坐标系中的坐标所表示的位置作为一个参考骨骼点A2的目标位置。
可选地,在步骤S204至步骤S209中的至少一个步骤中,电子设备500的显示单元503可以显示用户的人体图像和/或人体图像上的实际体表特征点B3。
可选地,在步骤S204至步骤S209中的至少一个步骤中,电子设备500的显示单元503可以显示初始人体三维模型。
S210:将初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2调整至对应的目标位置,得到用户的定制化三维人体模型。
如图6所示,将初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2调整至对应的目标位置,得到定制化三维人体模型中的定制体表特征点B4和定制参考骨骼点A4。
在步骤S208和S209中,已经确定出初始人体三维模型的参考体表特征点B2和参考骨骼点A2在虚拟三维坐标系中目标位置的坐标。在步骤S210中,将每个参考体表特征点B2和参考骨骼点A2的当前坐标,调整为对应的目标位置的坐标,使得每个参考体表特征点B2和参考骨骼点A2移动到对应的目标位置。
可选地,在步骤S205中,电子设备500的显示单元503可以显示初始人体三维模型和定制化三维人体模型。
执行步骤S204至S210的过程中,先自动识别出用户的人体图像的实际特征点的位置信息,根据用户的人体图像的实际特征点的位置信息再次对初始人体三维模型的参考体表特征点和参考骨骼点的位置进行更加精确的调整,以使初始三维人体模型进一步接近用户真实的体形特征,最终生成与用户真实人体的体形匹配度更高的定制化三维人体模型,提高了定制化三维人体模型的真实度。
在步骤S210执行完成之后,本申请实施例提供的三维人体模型的建模方法即可结束,或者,步骤S210执行完成之后,继续执行步骤S211。
S211:根据预设身体部分的标准体态信息以及用户的定制化三维人体模型,判断用户的预设身体部分是否存在异常体态,若存在,则展示用户的预设身体部分的异常体态信息。
应当说明的是,预设身体部分至少包括头部、背部、肩部、脊柱、骨盆、腿部和膝部等。异常体态至少包括头部前倾、头部侧倾、驼背、高低肩、脊柱侧弯、骨盆侧倾、膝过伸、O型腿、X型腿等。
以预设身体部分为脊柱为例,根据脊柱的标准脊柱信息以及用户的定制化三维人体模型,判断用户的脊柱是否存在脊柱侧弯问题,若存在,则展示用户的脊柱的脊柱侧弯信息。脊柱侧弯信息可以是脊柱侧弯的严重等级、脊柱侧弯的侧弯角度信息等。
以预设身体部分为肩部为例,根据肩部的标准体态信息以及用户的定制化三维人体模型,判断用户的两个肩部是否存在高低肩问题,若存在,则展示用户的肩部的高低肩信息。高低肩信息可以是高低肩的严重等级、高低肩信息的倾斜角度信息等。
在本申请的一个实施例中,展示用户的预设身体部分的异常体态信息的方式可以至少可以包括:电子设备500以图文的方式显示异常体态信息,电子设备500以语音的方式播放异常体态信息。
可选地,电子设备500以图文的方式显示异常体态信息时,可以将异常体态信息与定制化三维人体模型显示在同一个界面。例如,将异常体态信息显示在定制化三维人体模型的周边。
可选地,电子设备500以图文的方式显示异常体态信息时,还可以将异常体态信息单独地显示在一个界面中。
应当说明的是,其它预设身体部分的是否存在体态异常的判断过程,可以与上述脊柱和肩部的判断原理类似,此处不再赘述。
本申请以定制化三维人体模型表征用户的真实人体的特征,通过判断定制化三维人体模型是否存在异常体态,来识别出用户是否存在体态异常。检测过程可以由电子设备500自行完成,无需专业人员的参与也可以完成体态异常的检测工作,有助于技术的推广使用。电子设备500的检测操作可以提高体态异常的检测效率,降低了人工检测异常体态的过程中主观因素的干扰,有助提升检测准确性。
在本申请的一个实施例中,步骤S211包括:
(b1)将预设身体部分中的体表特征点和/或骨骼点之间的标准位置关系,与用户的定制化三维人体模型中定制体表特征点B4和/或定制骨骼点A4之间的实际位置关系进行对比,得到第一比对结果。
预设身体部分的标准体态信息,可以包括步骤(b1)中的预设身体部分中的体表特征点和/或骨骼点之间的标准位置关系。
以预设身体部分为脊柱为例,脊柱的标准体态信息可以是脊柱中骨骼点之间的标准位置关系。
具体地,脊柱中骨骼点之间的标准位置关系可以用脊柱中骨骼点的连线的弯曲角度来体现。可以将标准脊柱中骨骼点的连线的弯曲角度记做标准脊柱弯曲角度,将标准脊柱弯曲角度作为脊柱的标准体态信息。标准脊柱弯曲角度可以是一个角度范围,也可以是一个具体的角度值。
将标准脊柱中骨骼点的连线的弯曲角度,与用户的定制化三维人体模型中脊柱中定制骨骼点A4的连线的弯曲角度进行对比,得到第一比对结果。
(b2)根据第一比对结果判断用户的预设身体部分是否存在异常体态。
以预设身体部分为脊柱为例,若第一比对结果为“用户的定制化三维人体模型中脊柱中定制骨骼点A4的连线的弯曲角度,超出标准脊柱弯曲角度的范围”,则确定用户的脊柱存在脊柱侧弯的问题;若第一比对结果为“用户的定制化三维人体模型中脊柱中定制骨骼点A4的连线的弯曲角度,未超出标准脊柱弯曲角度的范围”,则确定用户的脊柱不存在脊柱侧弯的问题。
在本申请的一个实施例中,在根据第一比对结果确定用户的预设身体部分存在异常体态之后,还可以继续确定预设身体部分所存在异常体态的严重等级。例如,将用户的定制化三维人体模型中脊柱中定制骨骼点A4的连线的弯曲角度,与标准脊柱弯曲角度相减,根据得到的差值确定出脊柱侧弯的严重等级。
上述步骤(b1)和步骤(b2),主要是以脊柱为例,对预设身体部分的是否存在体态异常的判断过程做了更具体的示例性介绍。其它预设身体部分的是否存在体态异常的判断过程可以与上述脊柱判断原理类似,此处不再赘述。
在步骤S211执行完成之后,本申请实施例提供的三维人体模型的建模方法即可结束,或者,步骤S211执行完成之后,继续执行步骤S212。
S212:根据用户的存在异常体态的预设身体部分以及异常体态信息,展示对应的健康建议信息。
在本申请的一个实施例中,建议信息库中预存有健康建议信息,预设身体部分与健康建议信息具有映射关系,当确定出用户的某一预设身体部分的存在异常体态时,则根据映射关系在建议信息库调用对应的健康建议信息,并通过电子设备500进行展示。
在本申请的一个实施例中,还可以确定出预设身体部分所存在异常体态的严重等级。预设身体部分、异常体态的严重等级与健康建议信息具有映射关系,当确定出用户的某一预设身体部分的存在异常体态,以及该异常体态的严重等级时,则根据映射关系在建议信息库调用对应的健康建议信息,并通过电子设备500进行展示。
在本申请的一个实施例中,展示健康建议信息的方式可以至少可以包括:电子设备500以图文的方式显示健康建议信息,电子设备500以语音的方式播放健康建议信息。
可选地,电子设备500以图文的方式显示健康建议信息时,可以将健康建议信息与定制化三维人体模型显示在同一个界面。例如,将健康建议信息显示在定制化三维人体模型的周边。
可选地,电子设备500以图文的方式显示异常体态信息时,还可以将健康建议信息单独地显示在一个界面中。
本申请实施例还提供了步骤S206(即计算每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离)的一种扩展方法,该扩展方法的流程示意图如图7所示,包括:
S301:确定出每个实际体表特征点B3在参考平面坐标系中的位置。
可以在用户的人体图像所在的二维平面建立参考平面坐标系,每个实际体表特征点B3在参考平面坐标系中的位置可以用二维坐标表示。
S302:将每个实际体表特征点B3在参考平面坐标系中的位置,转换为每个实际体表特征点B3在参考三维坐标系中的位置。
在申请的一个实施例中,步骤S302包括:
(b1)根据用户的人体实际参数确定出基准距离。
在本申请的一个实施例中,将用户的实际身高值作为人体实际参数,根据实际身高值确定出基准距离。
(b2)根据基准距离、以及每个实际体表特征点B3在参考平面坐标系中的位置,确定出每个实际体表特征点B3在参考三维坐标系中的位置。
每个实际体表特征点B3在参考平面坐标系中的位置二维坐标表示,根据基准距离可以将实际体表特征点B3在参考平面坐标系中的位置二维坐标,转换为每个实际体表特征点B3在参考三维坐标系中的坐标。
S303:根据每个实际体表特征点B3在参考三维坐标系中的位置,计算出每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离。
实际体表特征点B3在参考三维平面坐标系中的位置,可以用实际体表特征点B3在参考三维平面坐标系中的三维坐标表示。根据每对相关联的实际体表特征点B3在参考三维坐标系中三维坐标,即可计算出这两个实际体表特征点B3在参考三维坐标系中的空间距离。
基于同一发明构思,本申请实施例还提供了一种三维人体模型的建模装置400,该建模装置400的结构框架示意图如图8所示,包括初始调整模块401、距离确定调整模块402、点位确定模块403和目标调整模块404。
初始调整模块401用于获取用户的人体实际参数,根据人体实际参数对标准人体三维模型进行缩放处理,得到与用户的人体特征匹配的初始人体三维模型。
距离确定调整模块402用于获取用户的人体图像,确定出人体图像中每对相关联的实际体表特征点B3的第一距离。
点位确定模块403用于根据每对相关联的实际体表特征点B3的第一距离,确定出初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2的目标位置。
目标调整模块404用于将初始人体三维模型中每个参考体表特征点B2和参考骨骼点A2调整至对应的目标位置,得到用户的定制化三维人体模型。
在本申请的一个实施例中,初始调整模块401还用于:获取用户的实际身高值作为一个人体实际参数;根据实际身高值和标准人体三维模型的定义身高值,确定出初始缩放比例;根据初始缩放比例对标准人体三维模型进行缩放处理,得到与用户的人体身高特征匹配的初始人体三维模型。
在本申请的一个实施例中,初始调整模块401还用于:根据初始缩放比例,对标准人体三维模型中相邻的标准体表特征点B1之间的距离、以及相邻的标准骨骼点A1之间的距离进行缩放;将缩放后的标准人体三维模型作为初始人体三维模型,使得标准体表特征点B1成为参考体表特征点B2,标准骨骼点A1成为标准骨骼点A1。
在本申请的一个实施例中,初始调整模块401还用于:在根据人体实际参数对标准人体三维模型进行缩放处理之前,根据用户的类别信息,在人体三维模型库中获取与类别信息匹配的标准人体三维模型;类别信息包括性别、人种和年龄中的至少一种。
在本申请的一个实施例中,距离确定调整模块402还用于:利用识别模型识别出人体图像中的多个实际体表特征点B3;计算每对相关联的实际体表特征点B3在参考三维坐标系中的空间距离,将空间距离作为第一距离。
在本申请的一个实施例中,距离确定调整模块402还用于:确定出每个实际体表特征点B3在参考平面坐标系中的位置;将每个实际体表特征点B3在参考平面坐标系中的位置,转换为每个实际体表特征点B3在参考三维坐标系中的位置;根据每个实际体表特征点B3在参考三维坐标系中的位置,计算出每对相关联的实际体表特征点B3的参考三维坐标系中的空间距离。
在本申请的一个实施例中,距离确定调整模块402还用于:根据用户的人体实际参数确定出基准距离;根据基准距离、以及每个实际体表特征点B3在参考平面坐标系中的位置,确定出每个实际体表特征点B3在参考三维坐标系中的位置。
在本申请的一个实施例中,点位确定模块403还用于:根据每对相关联的实际体表特征点B3的第一距离、以及与每对相关联的实际体表特征点B3对应的一对相关联的参考体表特征点B2的定义距离,确定出每对相关联的参考体表特征点B2的目标缩放比例;根据每对相关联的参考体表特征点B2的目标缩放比例,确定出每个参考体表特征点B2的目标位置;根据每个参考体表特征点B2的目标位置、以及参考骨骼点A2与参考体表特征点B2之间的预设位置转换关系,确定出每个参考骨骼点A2的目标位置。
在本申请的一个实施例中,点位确定模块403还用于:根据每个参考骨骼点A2两侧的两个参考骨骼点A2的目标位置,确定出每个参考骨骼点A2两侧的两个参考骨骼点A2的中心点位置,将中心点位置作为每个参考骨骼点A2的目标位置。
本申请实施例还提供了另一种三维人体模型的建模装置400,该建模装置400的结构框架示意图如图9所示,除了包括上述的初始调整模块401、距离确定调整模块402、点位确定模块403和目标调整模块404之外,还包括显示执行模块405。显示执行模块405用于控制显示单元503显示标准人体三维模型、人体图像、初始人体三维模型和定制化三维人体模型中的至少一项。
本申请实施例还提供了又一种三维人体模型的建模装置400,该建模装置400的结构框架示意图如图10所示,除了包括上述的初始调整模块401、距离确定调整模块402、点位确定模块403和目标调整模块404和显示执行模块405之外,还包括异常体态确定模块406。
异常体态确定模块406用于:根据预设身体部分的标准体态信息以及用户的定制化三维人体模型,判断用户的预设身体部分是否存在异常体态,若存在,展示用户的预设身体部分的异常体态信息。
异常体态确定模块406还用于:将预设身体部分中的体表特征点和/或骨骼点之间的标准位置关系,与用户的定制化三维人体模型中定制体表特征点B4和/或定制骨骼点A4之间的实际位置关系进行对比,得到第一比对结果,根据第一比对结果判断用户的预设身体部分是否存在异常体态。
异常体态确定模块406还用于:根据用户的存在异常体态的预设身体部分以及异常体态信息,展示对应的健康建议信息。
本申请实施例提供的三维人体模型的建模装置400,与前面的各实施例的三维人体模型的建模方法具有相同的发明构思及相同的有益效果,该三维人体模型的建模装置400中未详细示出的内容可参照前面的各实施例,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备500,该电子设备500的结构框架示意图如图11所示,包括处理器501和存储器502。
存储器502,配置用于存储机器可读指令,指令在由处理器501执行时,使得处理器501执行本申请上述各实施例提供的任一项的三维人体模型的建模方法。
可选地,电子设备500还包括总线和通讯单元,处理器501、存储器502和通讯单元都与总线电连接。
处理器501可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器502可以是ROM(Read-Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead-Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
总线可包括一通路,在上述组件之间传送信息。总线可以是PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。通讯单元可用于信号的接收和发送。
本申请实施例还提供了另一种电子设备500,该电子设备500的结构框架示意图如图12所示,除了包括上述的处理器501、存储器502、总线和通讯单元之外,还包括显示单元503。
显示单元503与处理器501电连接,显示单元503用于显示标准人体三维模型、人体图像、初始人体三维模型和定制化三维人体模型中的至少一项。
显示单元503还可用于显示由用户输入的信息或提供给用户的信息以及电子设备500的各种菜单。显示单元503可包括显示面板,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。
可选地,电子设备500具有信息输入单元,通过输入单元输入用户的人体实际参数(如实际身高值),使得电子设备500获取到用户的人体实际参数。电子设备500的信息输入单元所支持的输出方式可以根据实际的设计需要而定,例如支持触摸输入或语音输入等,信息输入单元的具体类型将在后续内容中做进一步介绍。
电子设备500的信息输入单元可用于接收输入的数字或字符信息,以及产生与电子设备500的用户设置以及功能控制有关的键信号输入。具体地,输入单元可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆和麦克风等中的一种或多种。
本申请实施例提供的电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备,本申请实施例对显示设备的具体类型不作任何限制。
本申请实施例提供的电子设备500,与前面的各实施例的三维人体模型的建模方法具有相同的发明构思及相同的有益效果,该电子设备500中未详细示出的内容可参照前面的各实施例,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器501执行时实现本申请上述各实施例提供的三维人体模型的建模方法。
该计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM、RAM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本申请实施例提供的计算机可读存储介质,与前面的各实施例的三维人体模型的建模方法具有相同的发明构思及相同的有益效果,该计算机可读存储介质中未详细示出的内容可参照前面的各实施例,在此不再赘述。
应用本申请实施例,至少具备如下有益效果:
1、在本申请实施例中,在执行本申请的人体模型的建模方法的过程中,先以的标准人体三维模型为基础,根据用户的人体实际参数对标准人体三维模型自动进行缩放,生成与用户的体形比较近似的初始人体三维模型。上述步骤使得标准人体三维模型的特征点和骨骼点的位置匹配其期望的目标位置,减少了后续步骤的计算量,有助于提升处理速度。
之后再自动识别出用户的人体图像的实际特征点的位置信息,根据用户的人体图像的实际特征点的位置信息再次对初始人体三维模型进行更加精确的调整,以使初始三维人体模型进一步接近用户真实的体形特征,最终生成与用户真实人体的体形匹配度更高的定制化三维人体模型。
上述三维人体模型的建模方法可以由电子设备自行执行,相比于人工建模的方式,本申请的建模方法的速度更快、效率更高,而且生成的三维人体模型与用户的体形的匹配度更高。
2、在本申请实施例中,以定制化三维人体模型表征用户的真实人体的特征,通过判断定制化三维人体模型是否存在异常体态,来识别出用户是否存在体态异常。检测过程可以由电子设备自行完成,无需专业人员的参与也可以完成体态异常的检测工作,有助于技术的推广使用。电子设备的检测操作可以提高体态异常的检测效率,降低了人工检测异常体态的过程中主观因素的干扰,有助提升检测准确性。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
- 三维人体模型的建模方法、装置、系统及存储介质
- 人体模型的建模方法、装置、存储介质及电子设备