CN114514562A - 预测性个性化三维身体模型 - Google Patents
预测性个性化三维身体模型 Download PDFInfo
- Publication number
- CN114514562A CN114514562A CN202080067773.5A CN202080067773A CN114514562A CN 114514562 A CN114514562 A CN 114514562A CN 202080067773 A CN202080067773 A CN 202080067773A CN 114514562 A CN114514562 A CN 114514562A
- Authority
- CN
- China
- Prior art keywords
- personalized
- predicted
- model
- image
- parameter
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/4869—Determining body composition
- A61B5/4872—Body fat
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
- A61B5/7275—Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H15/00—ICT specially adapted for medical reports, e.g. generation or transmission thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/41—Medical
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Software Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Heart & Thoracic Surgery (AREA)
- Surgery (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Veterinary Medicine (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physiology (AREA)
- Psychiatry (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Processing Or Creating Images (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
所描述的是针对以下操作的系统和方法:基于诸如人体的身体的二维(“2D”)图像而生成该身体的个性化三维(“3D”)身体模型;以及当改变一个或多个身体测量结果(例如,体脂、体重、肌肉质量)时,生成和呈现所述身体的所预测的个性化3D身体模型。例如,用户可提供目标身体测量值,并且实现方式将生成表示具有所述目标身体测量值的所述身体的预测外观的一个或多个所预测的个性化3D身体模型。
Description
优先权声明
本申请要求2019年9月26日提交并且名称为“Predictive Personalized Three-Dimensional Body Models”的美国专利申请号16/584,360的优先权,所述申请的内容以全文引用的方式并入本文。
背景技术
对身体的三维建模当前需要较大或昂贵的传感器,诸如立体成像元件、三维扫描仪、深度感测装置等。
附图说明
图1A到图1B是根据本公开的实现方式的二维身体图像收集和处理以产生呈现回给用户的那个身体的个性化三维身体模型的转移图。
图2说明根据本公开的实现方式的可在二维身体图像中捕获并且用于产生个性化三维身体模型的身体的不同身体方向。
图3A是根据本公开的实现方式的说明所捕获的二维身体图像和根据至少所述二维身体图像而确定的对应的身体测量信息的用户界面。
图3B是根据本公开的实现方式的说明个性化三维身体模型和根据二维身体图像而生成的对应的身体测量信息的用户界面。
图3C是根据本公开的实现方式的说明呈滑块调整的形式的示例性3D身体模型调整器和所得的所预测的个性化三维身体模型和对应的身体测量结果的用户界面。
图3D是根据本公开的实现方式的说明呈多维滑块调整的形式的另一示例性3D身体模型调整器和所得的所预测的个性化三维身体模型和对应的身体测量结果的用户界面。
图4是根据本公开的实现方式的示例性二维身体图像收集过程。
图5是根据本公开的实现方式的示例性姿势确定过程。
图6是根据本公开的实现方式的示例性身体方向确定和身体方向图像选择过程。
图7是根据本公开的实现方式的处理二维身体图像以产生那个身体的个性化三维模型的转移图。
图8A是根据本公开的实现方式的处理二维身体图像以产生那个身体的个性化三维模型的另一转移图。
图8B是根据本公开的实现方式的处理二维身体图像以产生那个身体的个性化三维模型的另一转移图。
图9是根据本公开的实现方式的图像处理系统的部件的框图。
图10是根据本公开的实现方式的确定在二维身体图像中表示的身体的身体参数的训练过的身体组成模型的框图。
图11是根据本公开的实现方式的三维身体模型生成过程的示例性流程图。
图12A是根据本公开的实现方式的的三维身体模型调整过程的示例性流程图。
图12B是根据本公开的实现方式的三维身体模型调整过程的另一示例性流程图。
图13是根据本公开的实现方式的能够操作以根据二维人体图像确定体脂测量结果的示例性系统的框图。
图14是根据本公开的实现方式的能够操作以根据多个二维人体图像确定体脂测量结果的示例性系统的框图。
图15是根据本公开的实现方式的示例性二维人体图像处置过程。
图16是根据本公开的实现方式的对二维人体图像的图像处置的示例。
图17是根据本公开的实现方式的示例性体脂测量确定过程。
图18是根据本公开的实现方式的被配置为根据规格化的二维图像确定体脂测量的示例性神经网络。
图19是根据本公开的实现方式的示例性模型优化过程。
图20是根据本公开的实现方式的生成所预测的三维身体模型的示例性转移图。
图21是根据本公开的实现方式的示例性三维个性化3D过程。
图22是根据本公开的实现方式的示例性所预测的非个性化三维身体参数确定过程。
图23A到图23B是根据本公开的实现方式的示例性生成所预测的三维身体模型过程。
图24是根据本公开的实现方式的示例性所预测的三维身体模型显现过程。
图25是根据本公开的实现方式的便携式装置和远程计算资源的示例性部件的框图。
具体实施方式
如下文更详细地陈述,本公开的实现方式针对于收集用户的身体的二维(“2D”)身体图像,基于那些2D身体图像而生成和呈现所述用户的所述身体的个性化三维(“3D”)身体模型,并且在不同的身体测量结果(例如,不同的体脂百分比、不同的肌肉质量量、不同的体重等)下生成和呈现所述用户的所述身体的不同的所预测的个性化3D身体模型。
例如,在包括2D相机的便携式装置上执行的应用可向用户提供指令并且从不同的身体方向收集用户的身体的2D身体图像,所述便携式装置诸如手机、平板计算机、膝上型计算机等。在其他实现方式中,可从任何其他来源获得2D身体图像。所述应用可将那些2D身体图像发送到远程计算资源,所述远程计算资源处理所述2D身体图像以确定个性化3D身体参数,生成用户的身体的个性化3D身体模型和/或确定用户的身体的身体测量结果。身体测量结果包括(但不限于)身体组成(例如,重量、体脂、骨骼质量、体质量、身体体积等)。身体参数包括(但不限于)身体的形状向量、姿势、身体尺寸(例如,手臂长度、腿长度、臂围、腿围、肩宽、肩围、腰宽、腰围、躯干宽度、躯干围、身高等)、纹理/色彩等。
在便携式装置上执行的应用接收当前人体测量信息和个性化3D身体参数,生成个性化3D身体模型,并且向用户呈现身体测量结果和个性化3D身体模型中的一些或全部。用户可与个性化3D身体模型交互以查看个性化3D身体模型的不同侧和/或在一个或多个身体测量结果改变的情况下将个性化3D身体模型中的差异可视化。例如,用户可提供目标身体测量结果,诸如体脂的减小,并且所公开的实现方式可生成表示具有所述目标身体测量结果的用户的身体的预测外观的一个或多个所预测的个性化3D身体模型。在一些实现方式中,可将身体的预测外观呈现为用户可与在不同身体测量结果下的身体外观的视图渐进式变化交互的3D身体滑块和/或其他调整器。
图1A是根据本公开的实现方式的2D身体图像收集和处理以产生呈现回给用户的用户100的身体的个性化3D身体模型的转移图,图1B是根据本公开的实现方式的生成所预测的3D身体模型的转移图,并且图2说明根据本公开的实现方式的身体200的不同定向或身体方向的示例。
在一些实现方式中,用户100/200可在诸如蜂窝式电话、平板计算机、膝上型计算机等包括成像元件(例如,相机)的便携式装置130/230上执行应用125/225,并且与所述应用交互。所述成像元件可以是包括在许多当前便携式装置上的任何常规的成像元件,诸如标准2D红色、绿色、蓝色(“RGB”)数码相机。同样地,如本文论述的图像可以是由成像元件生成的静态图像和/或从由成像元件生成的视频提取的图像或帧。
用户可向应用提供用户信息,诸如用户名、口令等,使得所述应用可识别用户并且确定与所述用户相关联的用户账户。同样地,用户可提供其他用户信息,诸如身体测量结果,包括(但不限于)重量、高度、年龄、性别、种族等。所述用户可选择提供哪些用户信息或选择不提供任何用户信息。另外,在一些实现方式中,用户可在不提供任何用户识别信息的情况下与在便携式装置130/230上执行的应用交互(例如,作为所述应用的来客进行操作)。
在用户识别和/或接收到用户信息之后,用户100/200定位便携式装置130/230,使得便携式装置的成像元件的视野基本上水平并且面向用户。在一些实现方式中,在便携式装置130/230上执行的应用125/225可提供导引用户100/200放置和定位便携式装置130/230的视觉和/或可听指令。例如,所述应用可指导用户100/200在用户的腰部与头高之间并且在基本上垂直的方向上放置便携式装置130/230(例如,在垂直线的2度与10度之间),使得成像元件指向用户并且成像元件的视野基本上水平。
在一些实现方式中,所述应用可请求用户穿最小量的衣服,诸如在图1A、图1B和图2中示出的内衣。通过穿最少的衣服,对2D身体图像的处理可更准确。
一旦恰当地定位便携式装置,便通过便携式装置130/230的成像元件捕获用户100/200的2D身体图像。如在下文更详细地论述,处理那些2D身体图像以确定用户处于定义姿势,诸如“A姿势”,并且相对于相机确定用户的身体的身体方向。所述定义姿势可以是实现对身体的构成的图像捕获的任何身体位置。在一个示例中,所述定义姿势是“A姿势”,其中手臂与身体的侧面分开,并且例如通过将身体的脚分开至约肩宽来分开腿。所述A姿势允许对2D身体图像进行图像处理,以在不同角度下的身体部位(例如,腿、手臂、躯干)之间进行区分并且还辅助确定身体方向。所述身体方向可以是身体相对于成像元件的任何方向或定向。示例性身体方向包括(但不限于):前侧身体方向,其中身体面向成像元件;右侧身体方向,其中身体转动,使得身体的右侧面向成像元件;左侧身体方向,其中身体的左侧面向成像元件;以及后侧身体方向,其中身体的背部面向成像元件。将了解,所公开的实现方式可利用身体的任何数目个身体方向和对应的定向,并且所论述的四个身体方向和定向(前侧、右侧、后侧和左侧)仅提供为示例。
在一些实现方式中,在便携式装置130/230上执行的应用125/225可导引用户通过不同的身体方向,并且选择一个或多个2D图像来表示每个身体方向。例如,参考图2,在便携式装置230上执行的应用225可导引用户摆出适当姿势,诸如由用户的身体200说明的“A姿势”,并且然后导引用户通过一系列身体方向200A、200B、200C、200D、200E、200F、200G和200H,其中用户将他们的身体旋转到所请求的身体方向,并且保持在A姿势,同时生成2D身体图像,通过应用将那些2D身体图像中的一者或多者选择为与用户的身体的当前身体方向相对应的2D身体方向图像。在图2中说明的示例中,通过在便携式装置230上执行的应用225选择八个不同的2D身体方向图像,每个相应的身体方向200A、200B、200C、200D、200E、200F、200G和200H有一个2D身体方向图像。在下文更详细地论述对适当的定义姿势和身体方向的确定以及后续的2D身体方向图像选择。
返回图1A,在通过应用选择每个2D身体方向图像时或在选择了所有2D身体方向图像之后,将2D身体方向图像经由网络290(图2)从在便携式装置130/230上执行的应用125/225发送到远程计算资源103/203以供进一步处理。另外,可将由用户100/200提供给应用的用户信息从在便携式装置130/230上执行的应用发送到远程计算资源103/203。在其他实现方式中,所有处理都可在便携式装置上完成。在其他示例中,在生成图像时,所述图像可被发送到远程计算资源103/203并且由远程计算资源103/203处理以选择身体方向图像。
远程计算资源103/203可包括3D身体模型系统101/201,所述3D身体模型系统接收用户信息和/或2D身体方向图像,并且使用诸如卷积神经网络的一个或多个神经网络来处理那些图像,以生成与用户100/200的身体的个性化3D身体模型相对应的个性化3D身体参数。另外,可处理2D身体方向图像中的一者或多者,诸如前侧2D身体方向图像,以确定一个或多个额外的身体测量结果,诸如体脂百分比、体质量、骨骼密度、肌肉质量等。
3D身体模型系统101/201在生成个性化3D身体参数和身体测量结果之后将个性化3D身体参数和身体测量结果发送回到执行便携式装置130/230的应用125/225。应用125/225在接收到所述个性化3D身体参数和所述身体测量结果之后根据所述个性化3D身体参数来生成表示用户的身体100/200的个性化3D身体模型,并且在便携式装置130/230的显示器上呈现个性化3D身体模型和身体测量结果。
除了渲染和呈现个性化3D身体模型和身体测量结果之外,用户100/200可与所呈现的个性化3D身体模型和身体测量结果交互。例如,用户可查看先前经由应用125/225为用户收集的历史信息。用户还可与所呈现的个性化3D身体模型交互,以旋转和/或转动所呈现的个性化3D身体模型。例如,如果便携式装置130/230包括基于触摸的显示器,则用户可使用所述基于触摸的显示器来与应用交互,并且旋转所呈现的个性化3D身体模型以查看个性化3D身体模型的不同视图(例如,正面、侧面、背面)。
在一些实现方式中,作为与应用125/225交互的部分,用户100/200可提供对身体测量结果(在本文称为目标)的一个或多个调整。例如,用户可请求将身体的体脂测量值更改定义量(例如,25%到20%),将肌肉质量更改定义量,将身体重量更改定义量等。在其他实现方式中,除了更改一个或多个身体测量结果之外,用户可指定将导致对一个或多个身体测量结果的调整的一个或多个活动(例如,锻炼、营养、睡眠)。
在图1B中说明的示例中,用户提供对目标体脂测量值的体脂测量调整。在接收到目标体脂测量值之后,在便携式装置130/230上执行的应用125/225将所述目标体脂测量值发送到远程计算资源103/203以供进一步处理。远程计算资源和3D身体模型系统101/201处理所接收的目标体脂测量值以及其他当前身体测量结果和个性化3D身体参数,以生成与所述目标体脂测量值相对应的所预测的个性化3D身体参数和所预测的身体测量结果。
远程计算资源103/203然后可将所预测的个性化3D身体参数和所预测的身体测量结果发送到应用125/225,并且应用125/225可基于所接收的所预测的个性化3D身体参数来渲染所预测的3D身体模型。与个性化3D身体模型类似,应用125/225可向用户呈现所预测的3D身体模型和所预测的身体测量结果,并且使得用户能够与所述所预测的个性化3D身体模型和/或所述所预测的身体测量结果交互。如在下文进一步论述,在一些实现方式中,用户可能够在个性化3D身体模型与所预测的个性化3D身体模型之间更改视图。在其他实现方式中,所述应用可整合个性化3D身体模型和所预测的个性化3D身体模型以产生3D身体滑块和/或其他调整器(例如,无线电按钮、刻度盘等),所述3D身体滑块和/或其他调整器向用户提供在当前身体测量结果与所预测的身体测量结果之间的不同身体测量结果下的身体的不同外观的连续视图。3D身体滑块和/或其他调整器涉及可用于呈现不同的身体测量结果下的身体的不同外观,所述3D身体滑块和/或其他调整器在本文一般被称为“3D身体模型调整器”。
图3A是根据本公开的实现方式的由在便携式装置上执行的应用(诸如上文关于图1A、图1B和图2论述的在便携式装置130上执行的应用125)呈现的用户界面301-1。
在此示例中,用户界面301-1说明由用于生成和呈现个性化3D身体模型和对应的人体测量信息的便携式装置的成像元件捕获的2D身体方向图像300-1。在此示例中,所说明的用户界面301-1示出了2D身体方向图像、针对身体确定的体脂百分比302-1以及身体的重量304,这些可根据2D模型图像300-1确定和/或由用户作为用户信息提供。在其他实现方式中,可由应用在用户界面301-1上呈现额外或更少的身体测量结果。与用户界面301-1交互的用户还可通过以下操作来选择查看曾用于生成个性化3D身体模型和/或身体测量结果的其他2D身体方向图像:选择指示符310和/或在用户界面301-1上滑动或以其他方式指示更改当前呈现的2D身体方向图像300-1。用户还可在如图3A的用户界面301-1中所说明的2D身体方向图像300-1的视图与所渲染和呈现的个性化3D身体模型300-2之间交替,所述个性化3D身体模型如图3A中的个性化3D身体模型300-2的小图像呈现中所说明以及如图3B的用户界面301-2中的主图像300-2所说明。暂时参看图3B,用户可通过直接与个性化3D身体模型300-2交互来交互旋转和/或改变个性化3D身体模型300-2的视图。例如,用户可旋转个性化3D身体模型的呈现以查看个性化3D身体模型的不同部分,进行缩小以更大程度地查看个性化3D身体模型,或者进行放大以查看与个性化3D身体模型的一部分相对应的细节。
在一些实现方式中,如果用户已经在一段时期内利用应用生成用户的个性化3D身体模型的多个实例,则用户界面还可呈现与不同日期相对应的历史身体测量结果316,其中捕获用户的身体的2D身体图像并且将所述2D身体图像用于生成用户的身体的个性化3D身体模型和身体测量结果。在所说明的示例中,用户可通过选择切换控件318而在观看在图3A中说明的历史体重316-1与如图3B中说明的体脂百分比316-2之间进行选择。在其他实现方式中,可能够通过用户界面301来访问不同或额外的历史身体测量结果316。
除了查看历史身体测量结果316之外,用户还可通过选择日期控件322-1或箭头控件322-2来访问和查看曾在那些先前的时间点处收集的2D身体图像和/或查看从那些先前的2D身体图像生成的个性化3D身体模型。
用户还可与用户界面301交互以通过选择重新扫描控件314来选择对他们的身体进行重新扫描。响应于用户选择重新扫描控件314,在便携式装置上执行的应用将向用户提供将用户定位在定义姿势(例如,A姿势)和适当的身体方向上的指令,使得可生成2D身体方向图像并且将所述2D身体方向图像用于产生用户的身体的个性化3D身体模型,如本文论述。
在一些实现方式中,用户还可与应用交互以预测具有不同的身体测量结果(例如,体脂百分比的变化和/或肌肉质量的变化)的身体的外观。
例如,图3C是根据本公开的实现方式的说明呈滑块调整的形式的示例性3D身体模型调整器和所得的所预测的个性化三维身体模型和对应的身体测量结果的用户界面。如所说明,根据本公开的实现方式,用户可与用户界面301-3交互以更改一个或多个身体测量结果,并且在装置上执行的应用将根据所更改的身体测量结果而生成所预测的个性化3D身体模型300-3。在所说明的示例中,用户正在使用他们的手360与呈现在用户界面301-3上的单个滑块302-2交互以更改体脂测量值,在此示例中从计算出的27%更改为10%。
响应于接收到目标身体测量结果,在此示例中,接收到减小的体脂测量值,如在下文进一步论述,所公开的实现方式生成和呈现表示具有目标身体测量结果的用户的身体的预测外观的所预测的个性化3D身体模型300-3和所预测的身体测量结果。可基于针对用户的身体确定的个性化3D身体模型和对应的个性化3D身体参数来预测和渲染所预测的个性化3D身体模型300-3。同样地,可生成着色和轮廓,诸如示出腹部肌肉定界303-1的着色或诸如增加的手臂大小303-2的大小变化,并且应用所述着色和轮廓来辅助呈现所预测的个性化3D身体模型。
与其他渲染和呈现的个性化3D身体模型一样,用户可与所呈现的所预测的个性化3D身体模型300-3交互以查看所预测的个性化3D身体模型的不同部分或方面。
虽然在图3C中说明的示例示出了对体脂百分比的更改,但在其他示例中,用户可选择更改其他身体测量结果,诸如体重、肌肉质量等。同样地,在一些示例中,基于一个身体测量结果的变化,可自动地改变其他身体测量结果以对应于所改变的身体测量结果。例如,如在所说明的示例中,如果用户将体脂百分比从27%改变为10%,则在便携式装置上执行的应用可确定在大多数情况下,体脂百分比的那个数量的变化通常还导致重量从所确定的136磅改变为115磅。用户可接受对其他身体测量结果的此预期的改变,提供那些身体测量结果的其他输入,或者选择使那些身体测量结果不变。
在其他示例中,用户可能够与多维滑块交互,并且指定对身体测量结果和/或活动的不同改变。在一些实现方式中,多维滑块中的滑块中的一些或全部可互连,使得对一个滑块的改变可导致对另一滑块的改变或调整。在其他实现方式中,还可呈现其他形式的多维3D身体模型调整器。
图3D是根据本公开的实现方式的说明呈多维滑块312-3调整的形式的另一示例性3D身体模型调整器和所得的所预测的个性化3D身体模型300-4的用户界面301-4。在此示例中,用户可与多维滑块312-3交互以调整一个或多个身体测量结果和/或活动水平。在此示例中,用户可调整体脂测量值、身体的肌肉质量测量结果、身体的重量、他们进行有氧运动锻炼的时间量、举重、所消耗的卡路里数和/或用户睡眠的小时数。在其他实现方式中,滑块可表示可由用户改变并且由所公开的实现方式用作用于计算所预测的个性化3D身体参数和对应的所预测的个性化3D身体模型的目标的其他身体测量结果(例如,肌肉质量、重量等)。
图4是根据本公开的实现方式的示例性2D身体图像收集过程400。在一些实现方式中,示例性过程400可由在便携式装置上执行的应用执行,诸如由如上文关于图1A、图1B和图2所论述的在便携式装置130上执行的应用125执行。在其他实现方式中,示例性过程400可由从便携式装置接收图像并且向便携式装置发送信息/消息的一个或多个远程计算资源执行。在其他示例中,示例性过程400的一部分可在便携式装置上执行并且另一部分可由远程计算资源执行。
例如,当与在便携式装置上执行的应用交互的用户请求生成他们的身体的个性化3D身体模型时,示例性过程400开始。当过程400起始时,如在402中,(在视觉上和/或可听地)呈现请求将诸如相机的成像元件或包括所述成像元件的便携式装置定位在诸如在身体的膝盖与身体的头之间的某一高度处(例如,在两英尺与六英尺之间),并且定向成使得便携式装置的视野是基本上水平的并且朝向身体定向。例如,在移动装置上执行的应用可呈现视觉和/或可听输出,所述视觉和/或可听输出请求将便携式装置在约腰高度处放置在垂直线的两度与五度内,使得便携式装置的成像元件是基本上水平的,并且朝向用户的身体定向。
如在404中,在将成像元件/便携式装置放置在适当位置时,确定成像元件/便携式装置的角度是否在定义范围内。例如,可接收和处理来自诸如加速度计的便携式装置的一个或多个输入端的数据以确定便携式装置的角度和因此成像元件的角度。所述定义范围可以是图像失真不影响对图像进行处理以生成个性化3D身体模型的任何范围,如本文论述。例如,所述定义范围可在相对于垂直线的零度与十度之间。在其他实现方式中,所述定义范围可多于零度(例如,两度)以降低装置由于缺乏稳定性而摔倒的可能性。同样地,在一些实现方式中,所述定义范围的上限可小于或多于十度。在一些情况下,所述定义范围可大于或等于在对用户放置成像元件/便携式装置的请求中指示的范围或角度。
如果确定成像元件的角度不在所述定义范围内,则示例性过程400返回到框402,并且请求调整成像元件/便携式装置,直到成像元件/便携式装置处于在所述定义范围内的角度为止。例如,可由包括成像元件的便携式装置呈现视觉、触觉和/或可听反馈以导引用户将成像元件定位在所述定义范围内。
如在406中,一旦确定成像元件/便携式装置的角度在所述定义范围内,便可将确认消息发送到用户和/或可以可听地和/或在视觉上呈现以下请求:使将要扫描的身体以定义姿势(诸如“A姿势”)定位在成像元件的视野中。可请求任何定义姿势。当用户处于A姿势时,他们的手臂与他们的躯干略微分开,并且他们的腿相隔约肩宽,使得他们的手臂和他们的腿对角地略微向外展开。所述A姿势可特别有益,因为其使身体附体(手臂、腿)彼此分开以及与身体核心/躯干分开,使得图像处理可恰当地识别和限定身体的部分和身体点位置,如在下文进一步论述。
在一些实现方式中,还可基于成像元件的视野中的身体的位置来调整成像元件的焦点。例如,不聚焦于整个图像,示例性过程400可致使成像元件调整焦点以聚焦于用户的身体上。同样地,可基于成像元件的视野内的用户的身体的采光来调整成像元件的曝光。
在请求用户以定义姿势(诸如A姿势)定位身体时,如在500中,执行在下文关于图5进一步论述的姿势确定过程500来确认身体定位在成像元件的视野内以及以定义姿势定位。可如本文说明在示例性过程400内的定义点处执行示例性过程500,以在执行示例性过程400的其他方面之前确认身体的位置和姿势。在其他实现方式中,一旦发起示例性过程500,便可在执行示例性过程400的其他方面的同时继续监视身体的位置和姿势。例如,如下文论述,示例性过程500可在捕获身体在不同身体方向上的2D身体图像时监视用户的身体保持在视野中并且保持在定义姿势,如下文论述。如果在示例性过程400的其他方面期间确定身体不再定位在成像元件的视野中或身体不再处于定义姿势,则示例性过程500可在进行示例性过程400的其他方面之前生成以下请求:身体以定义姿势定位在视野中。
当示例性过程500确认身体在成像元件的视野内并且处于定义姿势时,如在410中,从成像元件接收处于定义姿势的身体的一个或多个2D身体图像。如在600中,然后处理那些所接收的图像以确定身体的身体方向并且选择表示在所确定的身体方向上的身体的2D身体方向图像。下文关于图6和示例性过程600论述身体方向确定和2D身体方向图像选择。
在完成其中确定身体方向并且选择一个或多个2D身体方向图像并且提供给远程计算资源的示例性过程600之后,如在412中,确定是否要获得来自其他身体方向的身体的额外的2D身体方向图像作为示例性过程400的部分。在一些实现方式中,仅可获得单个2D身体方向图像,并且使用所述单个2D身体方向图像生成个性化3D身体参数和/或身体测量结果。在其他实现方式中,可使用示例性过程400获得在不同身体方向上的身体的多个2D身体方向图像,并且一起使用所述多个2D身体方向图像来生成个性化3D身体参数和/或身体测量结果。例如,在一些实现方式中,可使用示例性过程400获得四个不同的2D身体方向图像(例如,前侧、右侧、后侧、左侧),并且远程计算资源使用所述四个不同的2D身体方向图像来生成个性化3D身体参数和/或身体测量结果。在其他实现方式中,可获得多于或少于四个2D身体方向图像。在一些示例中,在便携式装置上执行的应用的用户可选择要获得多少2D身体方向图像以及使用多少2D身体方向图像来用于生成个性化3D身体参数。
如果确定将要选择额外的2D身体方向图像并且将所述额外的2D身体方向图像提供给远程计算资源以用于生成个性化3D身体参数和/或身体测量结果,则如在414中,(例如,在视觉上和/或可听地)呈现以下请求:使身体旋转到下一个身体方向。在一些实现方式中,可存在旋转身体的定义顺序。例如,身体方向确定可从前侧进行到右侧、后侧、左侧。身体方向旋转的此顺序可辅助准确地确定身体方向并且在左侧与右侧或前侧与后侧之间进行区分。
在请求身体旋转到下一个身体方向时,示例性过程400返回到框410并且继续。过程400的此部分可一直持续到已经选择了将要用于由远程计算资源处理的所有2D身体方向图像并且将所述所有2D身体方向图像发送到远程计算资源为止。如果在决策框412处确定将不获得额外的2D身体方向图像,则如在416中,示例性过程400完成。
图5是根据本公开的实现方式的示例性姿势确定过程500。与示例性过程400(图4)类似,所述示例性过程可由在便携式装置上执行的应用执行,诸如由上文关于图1A、图1B和图2论述的在便携式装置130上执行的应用125执行。在其他实现方式中,示例性过程500可由从便携式装置接收图像并且向便携式装置发送信息/消息的一个或多个远程计算资源执行。在其他示例中,示例性过程500的一部分可在便携式装置上执行并且另一部分可由远程计算资源执行。
如上文所论述,示例性过程500可在示例性过程400开始时或附近执行,以确认身体在成像元件的视野内并且处于定义姿势,并且然后完成。在其他实现方式中,可在接收图像时持续地执行示例性过程500作为示例性过程400的部分,并且选择2D身体方向图像。
如在502中,示例性过程500开始于处理从成像元件接收的2D身体图像以确定图像中的身体关节、身体特征、身体部位等(在本文一般称为“身体点”)的位置。例如,可由诸如卷积神经网络(“CNN”)的神经网络处理从成像元件接收的每个图像以确定身体点位置,诸如身体关节(例如,手腕、脚踝、膝盖)的位置、身体部位(例如,手、脚、肩)和/或其他身体点的位置。将了解,可利用任何训练过的神经网络来确定2D图像内的身体点位置。在一些实现方式中,因为在便携式装置上执行身体点确定,所以可训练和利用诸如ENet的低时延神经网络。在其他实现方式中,可利用其他神经网络。
每个图像的神经网络的输出可以是由x坐标、y坐标(或其他坐标系)界定的热图,所述热图针对图像的每个像素指示身体点处于那个位置的概率得分。所述概率得分可以是可以用作身体点处于位置的可能性的指示符的任何定义值或指示符。
如在504中,可通过以下操作来作出关于身体是否定位在成像元件的视野内的初始确定:确定是否已经在足够高的概率下检测到最小数目的身体点位置。所述最小数目可以是任何定义量(例如,一、二、四等)。在一些实现方式中,当可定位多个身体点时,可仅考虑特定身体点来确定是否已经确定最小数目的身体点位置。例如,在一些实现方式中,左肩、右肩、左脚踝、右脚踝、左手腕、右手腕和头顶的身体点位置可以是在确定已经确定了最小数目的身体点位置时所考虑的仅有的身体点位置。
如果确定尚未检测到最小数目的身体点位置,则如在506中,可呈现请求将身体定位在视野中的请求(例如,视觉和/或可听)。如果确定已经确定了最小数目的身体点位置,则如在508中,形成围绕所确定的身体点位置的限位框,并且如在510中,确定身体是否在距成像元件/便携式装置适当距离处。例如,可确定所述限位框是否涵盖图像的定义数量或百分比范围(例如,60%-70%)、限位框的高度是否在图像的整个高度的定义百分比范围(例如,70%-80%)或数量内、限位框的宽度是否在图像的整个宽度的定义百分比(例如,30%-50%)或数量内等。
如果确定限位框未涵盖图像的定义数量,则如在512中,可呈现请求相对于成像元件/便携式装置将身体向前或向后移动的请求(视觉和/或可听),并且示例性过程500返回到框508并继续。例如,如果确定限位框未涵盖足够的图像,则所述请求可以是将身体移动得更靠近成像元件/便携式装置的请求。相比之下,如果限位框涵盖了过多的图像,或者身体点位置的部分超出图像,则所述请求可以是将身体移动得离成像元件/便携式装置更远的请求。
一旦在决策框510处确定身体在距成像元件/便携式装置的正确距离处,如在514中,便处理从成像元件接收的2D身体图像以确定身体点位置。可使用上文关于框502论述的相同神经网络来执行对2D身体图像的处理以确定身体点位置,所述框在便携式装置上执行以确定定位在成像元件的视野中的身体的身体点位置。如上文所论述,由神经网络处理的每个2D身体图像的输出可以是热图,所述热图针对2D身体图像的每个像素(以x坐标、y坐标)指示身体点处于那个位置的概率。
然后可考虑每个2D身体图像的输出(热图),并且如在518中,确定每个身体点位置的概率得分是否高于阈值。所述阈值可以是任何值(例如,0.7)或指示符,并且对于不同的身体点和/或不同的身体点位置可不同。同样地,在一些实现方式中,所述确定可针对通过处理2D身体图像所指示的所有身体点位置。在其他实现方式中,当确定选择的身体点位置是否已经超过概率得分时,可仅考虑那些身体点的位置和概率得分。例如,在一些实现方式中,示例性过程可仅考虑左肩、右肩、左脚踝、右脚踝、左手腕、右手腕、左臀、右臀和头顶的身体点的身体点位置是否超过阈值。在其他实现方式中,可考虑更少或额外的身体点位置。
如果确定每个身体点位置的概率得分不高于阈值,则示例性过程500返回到框514并且处理下一个2D身体图像。
一旦确定身体点位置超过阈值,则如在519中,处理2D身体图像以相对于左臀点与右臀点之间的距离来确定左脚踝点与右脚踝点的位置之间的距离。例如,可确定左脚踝点与右脚踝点之间的距离是否等于或大于左臀点与右臀点之间的距离。
如在520中,基于左脚踝点与直角点之间的距离相对于左臀点与右臀点之间的距离之间的关系,确定腿是否处于适当位置。例如,如果定义姿势是A姿势,则可以在左脚踝点与右脚踝点之间的距离大于或等于左臀点与右臀点之间的距离的情况下确定腿处于适当位置。如果左脚踝点与右脚踝点之间的距离不大于或等于左臀点与右臀点之间的距离,则可以确定腿不处于适当位置。
如果确定腿不处于适当位置,则如在522中,(在视觉上和/或可听地)呈现将身体的腿向外或向内调整的请求。例如,如果确定左脚踝点与右脚踝点之间的距离小于左臀点与右臀点之间的距离,则可由便携式装置呈现请求将身体的腿更远地分开的视觉、可听和/或触觉通知。在呈现所述请求时,示例性过程500返回到框514,并且一直持续到在决策框520处确定腿在定义姿势下处于适当位置为止。
一旦在决策框520处确定腿处于适当位置,如在524中,便处理2D身体图像以确定肩点与手腕点之间的角度。例如,可执行对规格化的点积的反余弦,以基于针对左肩点、左手腕点、右肩点和右手腕点确定的位置来确定手臂间隔。
如在526中,基于肩点与手腕点之间的所确定的角度,确定左臂和右臂是否处于适当位置。继续以上示例,如果定义姿势是A姿势,则手臂的适当空间可使得在肩点与手腕点之间形成的手臂的角度在20度与40度之间。在其他示例中,手臂间隔可不同。
如果确定手臂不处于适当位置,则如在528中,可由便携式装置呈现请求将手臂向上或向下调整的视觉、可听和/或触觉通知。例如,如果确定手臂的角度超过定义姿势的范围,则所述请求可以是降低一只或两只手臂的请求。相比之下,如果确定手臂的角度低于定义姿势的范围,则所述请求可以是抬高一只或两只手臂的请求。在呈现所述请求时,示例性过程500返回到框514,并且一直持续到在决策框526处确定手臂在定义姿势下处于适当位置为止。
一旦确定手臂处于适当位置,如在530中,示例性过程500便返回身体处于定义姿势(例如,A姿势)的通知。
虽然以上示例是以确定身体与成像元件/便携式装置之间的距离是正确的、腿恰当地定位以及然后手臂恰当地定位的连续方式进行,但在其他实现方式中,可并行地或以不同顺序完成以上各项中的每一者的确定和/或通知。同样地,在一些实现方式中,进行一个或多个调整(例如,向前/向后移动、张开/缩窄腿、抬高/降低手臂)的请求可按照任何顺序呈现和/或可全部同时呈现。另外,如上文所述,可由在便携式装置上执行的应用输出所述请求作为视觉和/或可听输出。例如,在成像元件获得2D身体图像并且所述2D身体图像覆盖体形或其他指示符作为依照定义姿势的身体的适当位置时,所述应用可在便携式装置的显示器上呈现用户身体的图像。可结合视觉指示符呈现用户向前/向后移动、张开/缩窄腿、抬高/降低手臂的特定请求以辅助用户将身体定位在正确姿势。
图6是根据本公开的实现方式的示例性身体方向确定和身体方向图像选择过程600。与图4和图5类似,示例性过程600可在便携式装置上、远程计算资源上或便携式装置与远程计算资源的组合上执行。
如在602中,示例性过程600开始于处理从便携式装置的成像元件接收的2D身体图像以确定身体方向得分,所述身体方向得分指示在2D身体图像中表示的身体相对于成像元件/便携式装置的方向。与示例性过程400(图4)和500(图5)一样,示例性过程600可由在便携式装置上执行的应用执行。因此,可执行低时延图像处理技术以确定在所接收的2D身体图像中表示的身体的身体方向。例如,可训练低时延神经网络,诸如CNN,以确定身体的身体方向。在一个示例中,可训练MobileNet CNN以确定在所接收的2D身体图像中表示的身体的身体方向。在其他实现方式中,可训练多个CNN,每个潜在的身体方向有一个CNN,以处理输入的2D身体图像并且输出指示在2D身体图像中表示的身体对应于训练CNN所针对的身体方向的概率的得分。例如,如果示例性过程400(图4)将从前侧、右侧、后侧和左侧获得2D身体方向图像,则可针对那四个身体方向中的每一者来训练不同的CNN。可由四个CNN中的每一者并行地处理所接收的2D身体图像,并且由每个CNN呈现的身体方向得分指示在2D身体图像中表示的身体处于针对那个CNN所训练的身体方向的概率。具有最高得分的CNN将指示在2D身体图像中表示的身体的可能身体方向。
在一些实现方式中,可通过应用控制身体方向的顺序,并且可呈现起初将身体向前侧定向,然后向右侧,然后向后侧,然后向左侧(或任何其他顺序)的请求。在此示例中,可通过仅使用针对所请求的身体方向训练的CNN来处理所接收的2D身体图像而进一步降低处理要求。例如,如果请求是身体相对于成像元件在右侧视图中定向,则针对右侧身体方向检测而训练的CNN可以是被执行以处理所接收的2D身体图像的仅有CNN。
在生成身体方向得分时,如在604中,确定身体方向中的一者或所请求的身体方向的身体方向得分是否高于身体方向阈值。身体方向阈值可以是相对于已经准确地确定身体方向的置信度的任何值或指示符。如果确定身体方向得分未超过身体方向阈值,则如在605中,(在视觉上和/或可听地)呈现将身体调整到身体方向的请求。在呈现所述请求时,示例性过程600返回到框602并继续。
一旦在决策框604处确定所接收的2D身体图像的身体方向得分超过身体方向阈值,则如在606中,收集所述2D身体方向上的身体的定义数目的2D身体图像。2D身体图像的所述定义数目可以是任何定义数目(例如,一、二、五、二十、五十等)。另外,如在607中,计算所收集的2D身体图像中的每一者的身体方向得分。可使用在上文关于框602所利用以及论述的相同神经网络来计算身体方向得分。例如,如果确定身体方向是前视图,则可使用针对前视图身体方向训练的CNN来确定所收集的2D身体图像中的每一者的身体方向得分。
如在608中,然后选择所收集的2D身体图像中的具有最高身体方向得分的2D身体图像作为那个身体方向的2D身体方向图像。例如,如果收集到二十个2D身体图像并且由针对前视图身体方向训练的CNN计算出身体方向得分,则选择由所述CNN确定的具有最高身体方向得分的2D身体图像作为前视图身体方向的2D身体方向图像。
最后,如在610中,将选定的2D身体方向图像发送到远程计算资源进行处理以生成个性化3D身体参数,并且如在612中,示例性过程600完成。虽然所说明的示例在选择之后发送2D身体方向图像,但在一些实现方式中,所述选定的2D身体方向图像可保持在便携式装置上,并且一旦已经选定所有2D身体方向图像,便通过示例性过程400(图4)将所有2D身体方向图像发送到远程计算资源。
图7是根据本公开的实现方式的处理身体的2D身体图像以产生那个身体的个性化3D身体模型的转移图700。
根据2D身体图像对身体进行3D建模开始于接收或创建包括将要建模的用户的身体703的表示的2D身体图像702。如上文所论述,可使用任何常规的成像元件,诸如在许多当前便携式装置(例如,平板计算机、蜂窝式电话、膝上型计算机等)上包括的标准2D红、绿、蓝(“RGB”)数码相机,来生成与所公开的实现方式一起使用的2D身体图像702。所述2D身体图像可以是由成像元件生成的静态图像或从由成像元件生成的视频提取的图像。同样地,所公开的实现方式可使用任何数目个图像。
如所论述,可指导用户以特定定向(例如,正面面向成像元件,侧面面向成像元件,背面面向成像元件等)站立和/或以特定姿势(诸如在图像702中说明的“A”姿势)站立。同样地,可指导用户距相机一定距离站立,使得用户的身体完全包括在成像元件的视野中并且在所生成的图像702中表示。此外,在一些实现方式中,成像元件可在固定或静止点处并且以固定或静止角度对准或定位,使得由成像元件生成的图像各自来自同一角度并且涵盖相同视野。
将了解,用户可选择或加入生成用户的身体的个性化3D身体模型,并且还可选择是否可使用所生成的个性化3D身体模型和/或其他信息来进一步训练所公开的实现方式和/或用于其他目的。
然后可处理包括用户的身体703的表示的2D身体图像702以产生在图像702中表示的用户的身体703的体形704。可使用多种技术来生成体形704。例如,可使用背景减除来减除或消隐与图像的背景相对应的图像的像素,同时可向与用户的身体703(即,前景)相对应的像素指派白色或其他色彩值。在另一示例中,可利用语义分割算法来标记背景和身体(前景)像素。例如,可使用语义分割算法来训练CNN以确定图像中的身体,诸如人体。
在一些实现方式中,用户的身体的体形的高度可被规格化并且在图像中居中,如在下文进一步论述。这样做可进一步将CNN的输入简化和标准化为训练CNN所用的输入。同样地,用户的身体的体形可优于用户的身体的表示,使得CNN可仅集中在身体形状而不是皮肤色调、纹理、衣服等。
然后可通过被训练的一个或多个其他CNN 706处理身体的体形704以确定表示身体的身体特点,在本文还称为身体特征,并且产生用于生成身体的个性化3D身体模型的个性化3D身体参数。在一些实现方式中,可在多模式输入下训练CNN 706,以接收用户的身体的体形704以及一个或多个已知的身体属性705作为CNN的输入。例如,用户可提供用户的身体的高度、用户的身体的重量、用户的身体的性别等,并且CNN可接收那些所提供的属性中的一者或多者作为输入。
基于所接收的输入,CNN 706生成个性化3D身体参数,诸如3D关节位置、身体体积、身体形状、姿势角度等。在一些实现方式中,可训练CNN 706以预测在图像702中表示的身体的数百个身体参数。
通过利用个性化3D身体参数,生成身体的个性化3D身体模型。例如,可向身体模型提供所述个性化3D身体参数,所述身体模型诸如人物造型与动画(“SCAPE”)身体模型、有皮肤多人线性(“SMPL”)身体模型等,并且所述身体模型可基于那些所预测的身体参数而生成用户的身体的个性化3D身体模型。
在一些实现方式中,如在下文进一步论述,可执行个性化3D模型细化708对所生成的个性化3D身体模型进行细化或修正来更好地表示用户的身体。例如,可将个性化3D身体模型与图像702中的用户的身体703的表示进行比较,以确定在图像702中表示的用户的身体703的形状与个性化3D身体模型的形状之间的差异。基于所述所确定的差异,可对体形704进行修正,并且通过CNN 706处理修正后的体形以产生用户的身体的修正后的个性化3D身体模型。此细化可一直持续到在图像702中表示的用户的身体703的形状与个性化3D身体模型710的形状之间不存在或几乎不存在差异为止。在其他实现方式中,可根据个性化3D身体模型生成2D模型图像,并且可将那个2D模型图像与体形和/或2D身体图像进行比较,以确定所述2D模型图像与所述2D身体图像或体形之间的差异。基于所确定的差异,可对个性化3D身体参数和/或个性化3D身体模型进行修正,直到个性化3D身体模型对应于在2D身体图像中表示的用户的身体和/或所述体形为止。
此外,在一些实现方式中,可使用从用户的身体的图像702确定的一个或多个纹理、纹理扩增712来扩增用户的身体的个性化3D身体模型710。例如,可将个性化3D身体模型扩增为具有与在图像702中表示的身体703的肤色相同或类似的色彩,可使用在图像702中表示的衣服或衣服色彩来扩增个性化3D身体模型,可确定在图像702中表示的用户的身体的面部特征、头发、头发色彩等并且使用其来扩增个性化3D身体模型等。
在转移图700中说明的处理的结果是已经根据用户的身体的2D身体图像生成的个性化3D身体模型714或表示用户的身体的化身。
图8A是根据本公开的实现方式的处理身体的2D身体图像802以产生那个身体的个性化3D身体模型的另一转移图800。
在一些实现方式中,所公开的实现方式可利用来自不同视图(例如,前视图、侧视图、后视图、四分之三视图等)的身体的多个2D身体图像(诸如2D身体图像802-1、802-2、802-3、802-4到802-N)以生成身体的个性化3D身体模型。在所说明的示例中,第一2D身体图像802-1是在面向2D成像元件的前视图中定向的人体803的图像。第二2D身体图像802-2是在面向2D成像元件的第一侧视图中定向的人体803的图像。第三2D身体图像802-3是在面向2D成像元件的后视图中定向的人体803的图像。第四2D身体图像802-4是在面向2D成像元件的第二侧视图中定向的人体803的图像。将了解,可使用人体803的相对于2D成像元件的任何数目或定向的视图来生成任何数目个2D身体图像802-1到802-N。
对2D身体图像802-1到802-N中的每一者进行处理以分割表示人体的图像的像素与不表示人体的图像的像素,从而产生在那个图像中表示的人体的体形804。可通过(例如)背景减除、语义分割等来完成分割。在一个示例中,背景的基线图像可以是已知的,并且用于减除与基线图像的像素相对应的图像的像素,进而仅留下表示人体的前景像素。可向背景像素指派黑色的RGB色彩值(即,0,0,0)。可向其余像素指派白色的RGB值(即,255,255,255),以产生人体的体形804或二元分割。
在另一示例中,可使用人体或模拟人体的图像来训练利用语义分割算法的CNN,以训练所述CNN在表示人体的像素与不表示人体的像素之间进行区分。在此示例中,所述CNN可处理图像802以指示或标记表示身体的像素(前景)和不表示身体的像素(背景)。可向背景像素指派黑色的RGB色彩值(即,0,0,0)。可向其余像素指派白色的RGB值(即,255,255,255),以产生人体的体形或二元分割。
在其他实现方式中,可使用其他形式或算法,诸如边缘检测、形状检测等,来确定表示身体的图像802的像素和不表示身体的图像802的像素以及由此产生的身体的体形804。
返回到图8A,对第一2D身体图像802-1进行处理以分割表示人体的第一2D身体图像802-1的多个像素与不表示人体的第一2D身体图像802-1的多个像素,从而产生人体的正面体形804-1。对第二2D身体图像802-2进行处理以分割表示人体的第二2D身体图像802-2的多个像素与不表示人体的第二2D身体图像802-2的多个像素,从而产生人体的第一侧面体形804-2。对第三2D身体图像802-3进行处理以分割表示人体的第三2D身体图像802-3的多个像素与不表示人体的第三2D身体图像802-3的多个像素,从而产生人体的背面体形804-3。对第四2D身体图像802-4进行处理以分割表示人体的第四2D身体图像802-4的多个像素与不表示人体的第四2D身体图像802-4的多个像素,从而产生人体的第二侧面体形804-4。可针对任何数目个图像802来执行对2D身体图像802-1到802-N的处理,以从人体803的不同定向产生体形804-1到804-N。
在一些实现方式中,除了从2D身体图像生成体形804之外,体形的大小可被规格化并且在图像中居中。例如,可通过计算围绕体形804的边框来裁剪体形。然后可根据作为在2D身体图像中表示的用户的已知高度h(例如,所述高度可由用户提供)的函数的s来调整体形804的大小:
其中imageh是输入图像高度,其可基于图像的像素,并且μh是人的平均高度(例如,女性为约160厘米;男性为约176厘米)。
然后可处理表示身体的每个体形804以确定人体的身体特点或特征。例如,可使用来自具有已知特征的不同定向的身体(诸如人体)的体形来训练不同的CNN。在一些实现方式中,可在不同的定向下训练不同的CNN。例如,可训练第一CNN 806A-1以从前视图体形804-1确定前视图特征。可训练第二CNN 806A-2以从右侧体形确定右侧特征。可训练第三CNN 806A-3以从后视图体形确定后视图特征。可训练第四CNN 806A-4以从左侧体形确定左侧特征。可针对体形804-1到804-N的不同定向中的每一者来训练不同的CNN 806A-1到806A-N。可替代地,可训练一个CNN以从任何定向体形确定特征。
在利用身体803的多个图像来产生多组特征(诸如在图8A中说明的示例)的实现方式中,可连结806B那些特征,并且使用CNN一起处理所连结的特征以生成一组身体参数807。例如,可训练CNN以接收从不同的体形804生成的特征来产生身体参数807。身体参数807可指示与在图像802中表示的身体803相关的任何方面或信息。例如,身体参数807可指示3D关节位置、身体体积、身体的形状、姿势角度等。在一些实现方式中,可训练CNN 806B以预测与在图像802中表示的身体803相对应的数百个身体参数807。
通过利用身体参数807,执行在2D身体图像802中表示的身体803的个性化3D身体建模810,以生成在2D身体图像802中表示的身体803的个性化3D身体模型。例如,可将身体参数807提供给身体模型,诸如SCAPE身体模型、SMPL身体模型等,并且所述身体模型可基于那些身体参数807而生成在图像802中表示的身体803的个性化3D身体模型。
在所说明的示例中,可执行个性化3D模型细化808对所生成的个性化3D身体模型进行细化或修正来更好地表示在2D身体图像802中表示的身体803。例如,可将个性化3D身体模型与在2D身体图像中的一者或多者中表示的身体803进行比较,以确定在2D身体图像802中表示的身体803的形状与从身体参数生成的个性化3D身体模型的形状之间的差异。在一些实现方式中,可将个性化3D身体模型与诸如图像802-1的单个图像进行比较。在其他实现方式中,可将个性化3D身体模型并行地或循序地与2D身体图像802-1到802-N中的每一者进行比较。在其他实现方式中,可从个性化3D身体模型生成一个或多个2D模型图像,并且可将那些2D模型图像与体形和/或2D身体图像进行比较以确定2D模型图像与体形/2D身体图像之间的差异。
将个性化3D身体模型和/或2D模型图像与2D身体图像802或体形854进行比较可包括确定在2D身体图像中表示的身体803的近似姿势并且将个性化3D身体模型调整为所述近似姿势。个性化3D身体模型或所渲染的2D模型图像然后可被覆盖或者以其他方式与在2D身体图像802中表示和/或在体形804中表示的身体803进行比较,以确定个性化3D身体模型与2D身体图像之间的差异。
基于个性化3D身体模型与在2D身体图像802中表示的身体803之间的所确定的差异,可对从那个图像生成的体形804进行修正以考虑到那些差异。例如,如果将个性化3D身体模型与在第一图像802-1中表示的身体803进行比较并且确定差异,则可基于那些差异来修正体形804-1。可替代地,可对身体参数和/或个性化3D身体模型进行修正以考虑到那些差异。
如果对体形进行修正作为个性化3D模型细化808的部分,则可处理修正后的体形以基于所述修正后的体形来确定在2D身体图像中表示的身体803的修正后的特征。然后可将修正后的特征与从其他体形生成的特征或从曾通过个性化3D模型细化808产生的其他修正后的体形所生成的修正后的特征进行连结。例如,个性化3D模型细化808可将所生成的个性化3D身体模型与在两个或更多个2D身体图像802(诸如正面图像802-1和背面图像802-3)中表示的身体803进行比较,确定那些图像中的每一者的差异,从那些差异生成修正后的体形,并且生成修正后的前视图特征和修正后的后视图特征。然后可将那些修正后的特征与两个侧视图特征进行连结以产生修正后的身体模型参数。在其他实现方式中,个性化3D模型细化808可将个性化3D身体模型与在2D身体图像802中表示的身体803的所有视图进行比较,以确定差异并且生成那些2D身体图像802-1到802-N中的每一者的修正后的体形。然后可通过CNN806A-1到806A-N处理那些修正后的体形以产生修正后的特征,并且将那些修正后的特征进行连结以产生修正后的身体参数807。最后,可通过个性化3D建模810处理修正后的身体参数以生成修正后的个性化3D身体模型。对个性化3D细化的此处理可一直持续到在所生成的个性化3D身体模型与在2D身体图像802中表示的身体803之间不存在差异或存在有限的差异(例如,低于阈值差异)为止。
在另一实现方式中,个性化3D模型细化808可循序地将个性化3D身体模型与在不同的2D身体图像802中的身体803的表示进行比较。例如,个性化3D模型细化808可将个性化3D身体模型与第一2D身体图像802-1中的身体803的表示进行比较以确定差异,然后使用所述差异来生成与那个第一2D身体图像802-1相对应的修正后的体形804-1。然后可处理所述修正后的体形以产生修正后的特征,并且可将那些修正后的特征与从其他体形804-2到804-N生成的特征进行连结806B,以生成修正后的身体参数,可使用所述修正后的身体参数来生成修正后的个性化3D身体模型。然后可将修正后的个性化3D身体模型与多个2D身体图像802中的下一个图像进行比较,以确定任何差异并且重复所述过程。对个性化3D细化的此处理可一直持续到在所生成的个性化3D身体模型与在2D身体图像802中表示的身体803之间不存在差异或存在有限的差异(例如,低于阈值差异)为止。
在一些实现方式中,在完成个性化3D模型细化808之后,可使用从2D身体图像802-1到802-N中的一者或多者确定的一个或多个纹理、纹理扩增812来扩增在2D身体图像802中表示的身体的个性化3D身体模型。例如,可将个性化3D身体模型扩增为具有与在2D身体图像802中表示的身体803的肤色相同或类似的色彩,可使用在2D身体图像802中表示的衣服或衣服色彩来扩增个性化3D身体模型,可确定在2D身体图像802中表示的身体803的面部特征、头发、头发色彩等并且使用其来扩增个性化3D身体模型。
与个性化3D模型细化类似,可确定2D身体图像802中的一者中的身体的近似姿势,并且相应地调整个性化3D身体模型,使得从那个2D身体图像802获得的纹理可得以对准并且用于扩增个性化3D身体模型的那个部分。在一些实现方式中,可针对每个2D身体图像802-1到802-N执行个性化3D身体模型与身体803的近似姿势的对准,使得可使用来自在不同的2D身体图像802中表示的身体803的不同视图的纹理信息或数据来扩增所得的个性化3D身体模型的不同姿势。
在转移图800中说明的处理的结果是已经根据用户的身体803的2D身体图像802生成的个性化3D身体模型814或表示用户的身体的化身。
图8B是根据本公开的实现方式的处理身体的2D身体图像852以产生那个身体的个性化三维模型的另一转移图850。
在一些实现方式中,所公开的实现方式可利用来自不同视图(例如,前视图、侧视图、后视图、四分之三视图等)的身体的多个2D身体图像(诸如2D身体图像852-1、852-2、852-3、852-4到852-N)以生成身体的个性化3D身体模型。在所说明的示例中,第一2D身体图像852-1是在面向2D成像元件的前视图中定向的人体853的图像。第二2D身体图像852-2是在面向2D成像元件的第一侧视图中定向的人体853的图像。第三2D身体图像852-3是在面向2D成像元件的后视图中定向的人体853的图像。第四2D身体图像852-4是在面向2D成像元件的第二侧视图中定向的人体853的图像。将了解,可使用人体853的相对于2D成像元件的任何数目或定向的视图来生成任何数目个2D身体图像852-1到852-N。
对2D身体图像852-1到852-N中的每一者进行处理以分割表示人体的图像的像素与不表示人体的图像的像素,从而产生在那个图像中表示的人体的体形854。可通过(例如)背景减除、语义分割等来完成分割。在一个示例中,背景的基线图像可以是已知的,并且用于减除与基线图像的像素相对应的图像的像素,进而仅留下表示人体的前景像素。可向背景像素指派黑色的RGB色彩值(即,0,0,0)。可向其余像素指派白色的RGB值(即,255,255,255),以产生人体的体形854或二元分割。
在另一示例中,可使用人体或模拟人体的图像来训练利用语义分割算法的CNN,以训练所述CNN在表示人体的像素与不表示人体的像素之间进行区分。在此示例中,所述CNN可处理图像852以指示或标记表示身体的像素(前景)和不表示身体的像素(背景)。可向背景像素指派黑色的RGB色彩值(即,0,0,0)。可向其余像素指派白色的RGB值(即,255,255,255),以产生人体的体形或二元分割。
在其他实现方式中,可使用其他形式或算法,诸如边缘检测、形状检测等,来确定表示身体的图像852的像素和不表示身体的图像852的像素以及由此产生的身体的体形854。
返回到图8B,对第一2D身体图像852-1进行处理以分割表示人体的第一2D身体图像852-1的多个像素与不表示人体的第一2D身体图像852-1的多个像素,从而产生人体的正面体形854-1。对第二2D身体图像852-2进行处理以分割表示人体的第二2D身体图像852-2的多个像素与不表示人体的第二2D身体图像852-2的多个像素,从而产生人体的第一侧面体形854-2。对第三2D身体图像852-3进行处理以分割表示人体的第三2D身体图像852-3的多个像素与不表示人体的第三2D身体图像852-3的多个像素,从而产生人体的背面体形854-3。对第四2D身体图像852-4进行处理以分割表示人体的第四2D身体图像852-4的多个像素与不表示人体的第四2D身体图像852-4的多个像素,从而产生人体的第二侧面体形854-4。可针对任何数目个图像852来执行对2D身体图像852-1到852-N的处理,以从人体853的不同定向产生体形854-1到854-N。
类似于图8A,在一些实现方式中,除了从2D身体图像生成体形854之外,体形的大小可被规格化并且在图像中居中。例如,可通过计算围绕体形854的边框来裁剪体形。然后可根据作为在2D身体图像中表示的用户的已知高度h(例如,所述高度可由用户提供)的函数的s来调整体形854的大小:
其中imageh是输入图像高度,其可基于图像的像素,并且μh是人的平均高度(例如,女性为约160厘米;男性为约176厘米)。在一些实现方式中,可类似地调整在2D身体图像中表示的身体853的大小以对应于大小经过调整的体形的大小经过调整的尺寸。
然后可处理表示身体的每个体形854以确定人体的身体特点或特征。例如,可使用来自具有已知特征的不同定向的身体(诸如人体)的体形来训练不同的CNN。在一些实现方式中,可在不同的定向下训练不同的CNN。例如,可训练第一CNN 856A-1以从前视图体形854-1确定前视图特征。可训练第二CNN 856A-2以从右侧体形确定右侧特征。可训练第三CNN 856A-3以从后视图体形确定后视图特征。可训练第四CNN 856A-4以从左侧体形确定左侧特征。可针对体形854-1到854-N的不同定向中的每一者来训练不同的CNN 856A-1到856A-N。可替代地,可训练一个CNN以从任何定向体形确定特征。
在一些实现方式中,相同或不同的CNN还可利用2D身体图像802作为CNN的输入,使用所述输入以生成和确定身体特征。例如,可训练第一CNN 856A-1以基于前视图体形854-1和/或2D身体图像852-1的输入来确定前视图特征。可训练第二CNN 856A-2以从右侧体形和/或右侧2D身体图像852-2来确定右侧特征。可训练第三CNN856A-3以从后视图体形和/或后视图2D身体图像852-3来确定后视图特征。可训练第四CNN 856A-4以从左侧体形和/或左侧2D身体图像852-4来确定左侧特征。可针对体形854-1到854-N和/或2D身体图像802-1到802-N的不同定向中的每一者来训练不同的CNN 856A-1到856A-N。
在其他实现方式中,可针对体形854和2D身体图像中的每一者来训练不同的CNN。例如,可训练第一CNN 856A-1以从体形854-1确定前视图特征,并且可训练另一前视图CNN以从2D身体图像852-1确定前视图特征。可训练第二CNN 856A-2以从体形854-2确定右侧视图特征,并且可训练另一右侧视图CNN以从2D身体图像852-2确定右侧视图特征。可训练第三CNN 856A-3以从体形854-3确定后视图特征,并且可训练另一后视图CNN以从2D身体图像852-3确定后视图特征。可训练第四CNN 856A-4以从体形854-4确定左侧视图特征,并且可训练另一左侧视图CNN以从2D身体图像852-4确定左侧视图特征。
在利用身体853的多个图像和/或多个体形来产生多组特征(诸如在图8B中说明的示例)的实现方式中,可连结856B那些特征,并且使用CNN一起处理所连结的特征以生成一组身体参数857。例如,可训练CNN以接收从不同体形854生成的特征、从不同的2D身体图像852生成的特征和/或由处理体形854和2D身体图像852以产生身体参数857的CNN生成的特征。身体参数857可指示与在图像852中表示的身体853相关的任何方面或信息。例如,身体参数857可指示3D关节位置、身体体积、身体的形状、姿势角度等。在一些实现方式中,可训练CNN 856B以预测与在图像852中表示的身体853相对应的数百个身体参数857。
通过利用身体参数857,执行在2D身体图像852中表示的身体853的个性化3D身体建模860,以生成在2D身体图像852中表示的身体853的个性化3D身体模型。例如,可将身体参数857提供给身体模型,诸如SCAPE身体模型、SMPL身体模型等,并且所述身体模型可基于那些身体参数857而生成在图像852中表示的身体853的个性化3D身体模型。
在所说明的示例中,可执行个性化3D模型细化858对所生成的个性化3D身体模型进行细化或修正以更好地表示在2D身体图像852中表示的身体853。例如,如上文所论述,可将个性化3D身体模型与在2D身体图像中的一者或多者中表示的身体853进行比较,以确定在2D身体图像852中表示的身体853的形状与从身体参数生成的个性化3D身体模型的形状之间的差异。在一些实现方式中,可将个性化3D身体模型与诸如图像852-1的单个图像进行比较。在其他实现方式中,可将个性化3D身体模型并行地或循序地与2D身体图像852-1到852-N中的每一者进行比较。在其他实现方式中,可从个性化3D身体模型生成一个或多个2D模型图像,并且可将那些2D模型图像与体形和/或2D身体图像进行比较以确定2D模型图像与体形/2D身体图像之间的差异。
将个性化3D身体模型和/或2D模型图像与2D身体图像852或体形854进行比较可包括确定在2D身体图像中表示的身体853的近似姿势并且将个性化3D身体模型调整为所述近似姿势。个性化3D身体模型或所渲染的2D模型图像然后可被覆盖或者以其他方式与在2D身体图像852中表示和/或在体形854中表示的身体853进行比较,以确定个性化3D身体模型图像与2D身体图像/体形之间的差异。
基于个性化3D身体模型与在2D身体图像852中表示的身体853之间的所确定的差异,可对从那个图像生成的体形854进行修正以考虑到那些差异。可替代地,可对身体参数和/或个性化3D身体模型进行修正以考虑到那些差异。
在一些实现方式中,在完成个性化3D模型细化858之后,可使用从2D身体图像852-1到852-N中的一者或多者确定的一个或多个纹理、纹理扩增862来扩增在2D身体图像852中表示的身体的个性化3D身体模型。例如,可将个性化3D身体模型扩增为具有与在2D身体图像852中表示的身体853的肤色相同或类似的色彩,可使用在2D身体图像852中表示的衣服或衣服色彩来扩增个性化3D身体模型,可确定在2D身体图像852中表示的身体853的面部特征、头发、头发色彩等并且使用其来扩增个性化3D身体模型。
与个性化3D模型细化类似,可确定2D身体图像852中的一者中的身体的近似姿势,并且相应地调整个性化3D身体模型,使得从那个2D身体图像852获得的纹理可得以对准并且用于扩增个性化3D身体模型的那个部分。在一些实现方式中,可针对每个2D身体图像852-1到852-N执行个性化3D身体模型与身体853的近似姿势的对准,使得可使用来自在不同的2D身体图像852中表示的身体853的不同视图的纹理信息或数据来扩增所得的个性化3D身体模型的不同姿势。
在转移图850中说明的处理的结果是已经根据用户的身体853的2D身体图像852生成的个性化3D身体模型864或表示用户的身体的化身。
如上文所论述,可通过任何数目种方式从图像数据提取在所述数据中表达的特征或物体,诸如人体、特征或物体的色彩、纹理或外形。例如,可根据一种或多种标准,例如RGB(“红-绿-蓝”)色彩模型或十六进制模型,来确定和量化数字图像中的像素或像素组的色彩,在所述RGB色彩模型中,以值范围是0到255的三个对应的数字来表达像素中的红色、绿色或蓝色的部分,在所述十六进制模型中,以六字符代码表达像素的色彩,其中字符中的每一者可具有十六的范围。另外,可使用一种或多种基于计算机的方法,诸如通过识别图像的区域或区段内的强度的变化或者通过限定与特定表面相对应的图像的区域来识别在数字图像中表达的对象的纹理或特征。
此外,可使用一种或多种算法或机器学习工具来识别在图像中表达的对象或对象的部分的边缘、轮廓、外形、色彩、纹理、体形、形状或其他特性。可在单个有限时段中或在一个或多个周期或持续时间内识别对象或对象的部分。此类算法或工具可针对于辨识数字图像内的转变(例如,对象或其部分的边缘、轮廓、外形、色彩、纹理、体形、形状或其他特性)并且尽可能近地并且通过最小化噪声和干扰并且不产生虚假转变的方式标记所述转变。根据本公开的可用来辨识数字图像中的对象或其部分的特性的一些检测算法或技术包括(但不限于)Canny边缘检测器或算法;Sobel算子、算法或过滤器;Kayyali算子;Roberts边缘检测算法;Prewitt算子;Frei-Chen方法;语义分割算法;背景减除;或相关领域的普通技术人员可已知的任何其他算法或技术。
可在各种大小或类型的计算机装置上操作图像处理算法、其他机器学习算法或CNN,所述计算机装置包括(但不限于)智能电话或其他手机、平板计算机、摄像机或其他基于计算机的机器。与更大或更复杂的计算机装置相比,此类移动装置可具有有限的可用的计算机资源,例如网络带宽、存储容量或处理能力。因此,在此类装置上执行计算机视觉算法、其他机器学习算法或CNN可能会占用所有或很多可用的资源,却没有执行此类算法将成功的任何担保或甚至合理的保证。例如,根据一种或多种算法来处理由便携式装置(例如,智能电话、平板计算机、膝上型计算机、网络摄像头)的用户捕获的数字2D身体图像以便从所述数字图像产生个性化3D身体模型可以是对在智能电话或平板计算机上可用的有限资源的无效使用。因此,在一些实现方式中,如本文论述,可通过远离便携式装置的一个或多个计算资源来执行所述处理中的一些或全部。在一些实现方式中,可在所述装置上执行对图像的初始处理以生成二元分割的体形。可在一个或多个远程计算资源上执行后续的处理以生成和细化个性化3D身体模型。例如,可将体形从便携式装置发送到远程计算资源以供进一步处理。此外,在一些实现方式中,可在便携式装置上或远程地执行对身体的个性化3D身体模型的纹理扩增。
在一些实现方式中,为了增加用户的隐私,可仅从所述装置发送二元分割的体形以便在远程计算资源上处理,并且包括用户的表示的最初2D图像可在本地维持在便携式装置上。在此示例中,可将所渲染的个性化3D身体模型发送回到所述装置,并且所述装置可基于那些图像来执行对所接收的个性化3D身体模型的纹理扩增。利用此类分布式计算布置将用户可识别信息保留在用户的便携式装置上,同时充分利用在远程计算资源处可用的增加的计算能力。
已经利用了机器学习工具,诸如人工神经网络,来识别明显不相关的数据集合的相应元素之间的关系。人工神经网络,诸如CNN,是包括单独的单元的并行分布式计算处理器,所述单独的单元可共同地学习并且存储实验知识,并且使此类知识可用于一个或多个应用中。此类网络可通过以下操作来模拟在多个层中人脑的许多神经元的非线性精神表现:通过一个或多个灵活学习过程从环境获取知识;确定此类神经元之间的相应连接的强度;以及在存储所获取的知识时利用此类强度。与人脑一样,人工神经网络可使用任何数目个层中的任何数目个神经元,所述层包括输入层、输出层以及一个或多个居间隐藏层。鉴于机器学习工具的通用性和它们对人脑的固有的模仿,机器学习工具不仅包括人工神经网络,而且包括最近邻方法或分析、因子分解方法或技术、K-means聚类分析或技术、诸如对数似然相似性或余弦相似性的相似性量度、潜在狄里克莱分配或其他主题模型,或已经在图像处理应用中利用的潜在语义分析。
可训练人工神经网络以通过调整一个或多个神经元之间的连接的强度(其有时被称为突触权重)而将输入数据映射到期望的输出。人工神经网络可具有任何数目个层,包括输入层、输出层以及任何数目个居间隐藏层。神经网络内的层中的神经元中的每一者可接收一个或多个输入,并且根据激活或能量函数以及与各种强度或突触权重相对应的参数而生成一个或多个输出。同样地,可将网络内的神经元中的每一者理解为具有不同的激活或能量函数;在此方面,此类网络可被称为异构神经网络。在一些神经网络中,激活或能量函数中的至少一者可采取s型函数的形式,其中其输出可具有零到一或0到1的范围。在其他神经网络中,激活或能量函数中的至少一者可采取双曲正切函数的形式,其中其输出可具有负一到正一或-1到+1的范围。因此,根据恒等函数来训练神经网络导致对神经网络的各种层中的神经元之间的此类连接的强度或权重的再定义或调整,以便提供最接近地近似输入或使输入与最大可实践范围关联的输出。
人工神经网络通常可被表征为前馈神经网络或递归神经网络,并且可完全或部分地连接。在例如卷积神经网络的前馈神经网络中,信息具体地在一个方向上从输入层流动到输出层,而在递归神经网络中,至少一个反馈回路返回关于实际输出与目标输出之间的差异的信息以用于训练目的。另外,在全连神经网络架构中,层中的一者中的神经元中的每一者连接到后续层中的所有神经元。相比而言,在稀疏连接的神经网络架构中,神经元中的每一者的激活数诸如受到稀疏度参数限制。
另外,对神经网络的训练通常被表征为有监督的或无监督的。在监督学习中,训练集合包括至少一个输入和针对所述输入的至少一个目标输出。因此,训练神经网络以在可接受的误差水平内识别目标输出。在诸如通常由稀疏自编码器执行的恒等函数的无监督学习中,训练集合的目标输出是输入,并且训练神经网络以照此辨识所述输入。稀疏自编码器采用反向传播以便训练所述自编码器来辨识针对输入的恒等函数的近似,或以其他方式近似所述输入。根据本公开的系统和方法,此类反向传播算法可根据最速下降方法、共轭梯度方法或其他类似的方法或技术来运算。相关领域中的普通技术人员将认识到,可使用任何算法或方法来训练神经网络的一个或多个层。同样地,可使用任何算法或方法来确定和最小化此类网络的输出中的误差。另外,相关领域中的普通技术人员将进一步认识到,可诸如在稀疏自编码器中共同地训练神经网络的各种层,或单独地训练所述各种层,使得来自神经网络的一个隐藏层的每个输出充当后续隐藏层的输入。
一旦神经网络已被训练成辨识训练集合的输入的支配性特性,例如在可接受的公差内使图像与标记、类别、群集或其伪标记相关联,便可向训练过的网络提供呈图像、与所述图像相对应的体形、特征、已知特点等形式的输入和/或多个输入,并且从其生成输出。例如,上文论述的CNN可接收所生成的体形和与由所述体形表示的身体相对应的一个或多个身体属性(例如,高度、重量、性别)作为输入。训练过的CNN然后可产生与那些输入相对应的所预测的特征作为输出。
参看图9,示出了根据本公开的实现方式的图像处理系统900的部件的框图。
图9的系统900包括身体组成系统910、作为诸如平板计算机、膝上型计算机、蜂窝式电话、网络摄像头等用户的便携式装置930的部分的成像元件920,以及跨诸如互联网的网络980彼此连接的外部媒体存储设施970。
图9的身体组成系统910包括M个物理计算机服务器912-1、912-2……912-M以及为了任何特定用途或一般用途而提供的N个计算机处理器916-1、916-2……916-N,所述物理计算机服务器具有与其相关联的一个或多个数据库(或数据存储装置)914。例如,可专门为了从由诸如成像元件920的成像元件捕获的2D身体图像生成个性化3D身体模型或由此产生的体形而独立地提供图9的身体组成系统910,或者可替代地,结合被配置为管理或监控此类信息的一个或多个物理或虚拟服务以及一个或多个其他功能而提供所述身体组成系统。服务器912-1、912-2……912-M可连接到数据库914和处理器916-1、916-2……916-N,或以其他方式与所述数据库和所述处理器通信。数据库914可存储任何类型的信息或数据,包括模拟的体形、身体参数、模拟的3D身体模型等。服务器912-1、912-2……912-M和/或计算机处理器916-1、916-2……916-N还可连接到网络980,如通过线918所指示,或以其他方式通过发送和接收数字数据而与所述网络通信。
成像元件920可包括可用于对用户的身体进行拍照或以其他方式记录关于用户的身体的信息或数据或用于任何其他目的的任何形式的光学记录传感器或装置。如图9中示出,包括成像元件920的便携式装置930连接到网络980,并且包括一个或多个传感器922、一个或多个存储器或存储部件924(例如,数据库或另一数据存储装置)、一个或多个处理器926以及可能需要用来捕获、分析和/或存储图像数据(诸如本文论述的2D身体图像)的任何其他部件。例如,成像元件920可捕获一个或多个静态或移动图像,并且还可连接到网络980,如通过线928所指示,或以其他方式通过发送和接收数字数据而与所述网络通信。尽管在图9中示出的系统900仅在其中包括一个成像元件920,但根据本公开,可在任何数目个环境内提供任何数目或类型的成像元件、便携式装置或传感器。
可在任何位置和任何环境中使用便携式装置930以生成表示用户的身体的2D身体图像。在一些实现方式中,便携式装置可定位成使得所述便携式装置是静止的并且大致垂直(在垂直线的约十度以内),并且用户可将他们的身体以不同的定向定位在便携式装置的成像元件920的视野内,使得便携式装置的成像元件920可生成包括来自不同定向的用户的身体的表示的2D身体图像。
便携式装置930还可包括存储在存储器中的一个或多个应用923,便携式装置的处理器926可执行所述一个或多个应用以致使便携式装置的处理器执行各种功能或动作。例如,在被执行时,应用923可向用户提供关于以下各项的指令:便携式装置的放置、用户的身体在便携式装置的成像元件920的视野内的定位、用户的身体的定向等。同样地,在一些实现方式中,所述应用可向用户呈现根据所描述的实现方式从2D身体图像生成的个性化3D身体模型,并且允许所述用户与个性化3D身体模型交互。例如,用户可旋转个性化3D身体模型以查看个性化3D身体模型的不同角度,从个性化3D身体模型的尺寸获得用户的身体的大致准确的测量结果,查看体脂、体质量、体积等。同样地,在一些实现方式中,可通过用户的请求来修改所述个性化3D身体模型,以模拟用户的身体在特定条件(诸如减轻重量、增加肌肉等)下可显现的模样。
外部媒体存储设施970可以是具有接收和存储从身体组成系统910和/或从便携式装置930接收的信息或数据的能力或容量的任何设施、站或场所,所述信息或数据诸如身体的体形、模拟或渲染的个性化3D身体模型、纹理、身体尺寸等。如图9中示出,外部媒体存储设施970包括J个物理计算机服务器972-1、972-2……972-J以及K个计算机处理器976-1、976-2……976-K,所述物理计算机服务器具有与其相关联的一个或多个数据库974。服务器972-1、972-2……972-J可连接到数据库974和处理器976-1、976-2……976-K,或以其他方式与所述数据库和所述处理器通信。数据库974可存储任何类型的信息或数据,包括数字图像、体形、个性化3D身体模型等。服务器972-1、972-2……972-J和/或计算机处理器976-1、976-2……976-K还可连接到网络980,如通过线978所指示,或以其他方式通过发送和接收数字数据而与所述网络通信。
网络980可以是任何有线网络、无线网络或它们的组合,并且可整体或部分地包括互联网。另外,网络980可以是个人区域网、局域网、广域网、有线电视网络、卫星网络、蜂窝电话网络或它们的组合。网络980还可以是可能通过各个不同方运营的链接网络的公共可访问网络,诸如互联网。在一些实现方式中,网络980可以是专用网络或半专用网络,诸如公司或大学内联网。网络980可包括一个或多个无线网络,诸如全球移动通信系统(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或某一其他类型的无线网络。用于经由互联网或其他前述类型的通信网络中的任一者进行通信的协议和部件对于计算机通信领域的技术人员来说是众所周知的,并且因此不需要在本文更详细地描述。
本文描述的计算机、服务器、装置等具有必需的电子器件、软件、存储器、存储装置、数据库、固件、逻辑/状态机、微处理器、通信链路、显示器或其他视觉或音频用户接口、打印装置以及任何其他输入/输出接口以提供本文描述的功能或服务中的任一者和/或实现本文描述的结果。而且,相关领域中的普通技术人员将认识到,此类计算机、服务器、装置等的用户可操作键盘、小键盘、鼠标、尖笔、触摸屏或其他装置(未示出)或方法来与计算机、服务器、装置等交互,或者“选择”本公开的项目、链路、节点、集线器或任何其他方面。
身体组成系统910、便携式装置930或外部媒体存储设施970可使用任何具有网络功能的应用或特征或互联网应用或特征,或包括电子邮件或其他消息接发技术的任何其他客户端-服务器应用或特征,以连接到网络980,或诸如通过短消息或多媒体消息接发服务(SMS或MMS)文本消息彼此通信。例如,服务器912-1、912-2……912-M可适于经由网络980实时地或准实时地或在一个或多个线下过程中将呈同步或异步消息的形式的信息或数据从身体组成系统910传输到便携式装置930的处理器926或其他部件或任何其他计算机装置。相关领域中的普通技术人员将认识到,身体组成系统910、便携式装置930或外部媒体存储设施970可操作能够在网络上进行通信的若干计算装置中的任一者,所述计算装置包括(但不限于)机顶盒、个人数字助理、数字媒体播放器、上网机、膝上型计算机、桌上型计算机、电子书阅读器、蜂窝式电话等。用于提供此类装置之间的通信的协议和部件对于计算机通信领域的技术人员而言是众所周知的,并且不需要在本文更详细地描述。
本文描述的数据和/或计算机可执行指令、程序、固件、软件等(在本文还称为“计算机可执行”部件)可存储在计算机可读介质上,所述计算机可读介质位于计算机内或者能够由计算机或计算机部件访问,所述计算机或计算机部件诸如服务器912-1、912-2……912-M、处理器926、服务器972-1、972-2……972-J,或由身体组成系统910、便携式装置930、应用923或外部媒体存储设施970利用并且具有在被处理器(例如,中央处理单元或“CPU”)执行时致使所述处理器执行本文描述的功能、服务和/或方法中的全部或一部分的指令序列的任何其他计算机或控制系统。可使用与计算机可读介质相关联的驱动器机构或经由外部连接将此类计算机可执行指令、程序、软件等加载到一个或多个计算机的存储器中,所述驱动器机构诸如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、网络接口等。
还可提供本公开的系统和方法的一些实现方式作为计算机可执行程序产品,所述计算机可执行程序产品包括在上面存储有指令(以压缩或未压缩形式)的非暂时性机器可读存储介质,可使用所述指令来编程计算机(或其他电子装置)以执行本文描述的过程或方法。本公开的机器可读存储介质可包括(但不限于)硬盘驱动器、软盘、光盘、CD-ROM、DVD、ROM、RAM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存存储器、磁卡或光学卡、固态存储器装置或可适合于存储电子指令的其他类型的介质/机器可读介质。此外,还可提供实现方式作为包括暂时性机器可读信号(以压缩或未压缩形式)的计算机可执行程序产品。机器可读信号的示例(无论是否使用载波调制)可包括(但不限于)操控或运行计算机程序的计算机系统或机器可被配置为访问的信号,或者包括可通过互联网或其他网络下载的信号。
图10是根据本公开的实现方式的确定在二维身体图像中表示的身体的身体参数1007的训练过的身体组成模型1000的框图。如上文所论述,模型1000可以是被训练以接收一个或多个输入的神经网络,诸如CNN,所述一个或多个输入经过处理以生成一个或多个输出,诸如身体参数1007。在所说明的示例中,训练过的身体组成模型1006可包括接收不同输入并且提供不同输出的若干分量CNN。同样地,可提供分量CNN中的一者的输出作为训练过的身体组成模型的一个或多个其他分量CNN的输入。例如,训练过的身体组成模型可包括分量CNN的两个部分。在一个实现方式中,第一分量部分可包括一个或多个特征确定CNN1006A,并且第二分量部分可包括连结CNN1006B。在所说明的示例中,不同的身体定向(例如,前视图、右侧视图、后视图、左侧视图、四分之三视图)、对应于那些不同的身体定向的不同体形1004和/或对应于那些不同的身体定向的不同的2D身体图像中的每一者可存在不同的特征确定CNN 1006A,针对具有特定定向的输入来训练每个CNN。同样地,在一些实现方式中,所述特征确定CNN 1006A可接收多种不同类型的输入。例如,除了接收体形1004和/或2D身体图像之外,每个特征确定CNN 1006A可接收与由体形1004和/或2D身体图像表示的身体相对应的一个或多个身体属性1005。身体属性1005可包括(但不限于)高度、重量、性别等。如所论述,训练过的特征确定CNN 1006A处理所述输入并且生成表示在曾用于产生体形1004的2D身体图像中表示的身体的特征。例如,如果存在四个体形:前视图一个体形,右侧视图一个体形,后视图一个体形,并且左侧视图一个体形,则针对那些视图训练的四个特征确定CNN 1006A各自产生表示在用于生成所述体形的2D身体图像中表示的身体的一组特征。
利用身体的二元体形1004提高了特征确定CNN 1006A的准确度,因为其可仅仅集中在身体的大小、形状、尺寸等上,而没有任何其他方面(例如,色彩、衣服、头发等)。在其他实现方式中,与体形联合地使用2D身体图像或独立于体形而使用2D身体图像提供了特征确定CNN 1006A可用来确定和产生表示在2D身体图像中表示的身体的一组特征的额外数据,诸如着色、皮肤色调等。
在所公开的实现方式中,接收从特征确定CNN 1006A输出的特征作为连结CNN1006B的输入。同样地,在一些实现方式中,可训练连结CNN 1006B以接收其他输入,诸如身体属性1005。
如所论述,可训练连结CNN 1006B以接收特征的输入以及任选地其他输入,产生连结的特征,并且产生与在2D身体图像中表示的身体相对应的一组身体参数1007作为输出。在一些实现方式中,所述身体参数可包括数百个参数,包括(但不限于)所表示的身体的形状、姿势、体积、关节位置等。
图11是根据本公开的实现方式的个性化3D身体模型生成过程1100的示例性流程图。
如在1102中,示例性过程1100开始于接收身体的一个或多个2D身体图像。如上文所述,所公开的实现方式能够操作任何数目个2D身体图像以用于生成那个身体的个性化3D身体模型。例如,在一些实现方式中,可使用单个2D身体图像。在其他实现方式中,可使用两个、三个、四个或更多2D身体图像。
如上文所论述,可使用诸如便携式装置上的相机、网络摄像头等任何2D成像元件生成2D身体图像。如在1104中,然后分割所接收的2D身体图像以产生在一个或多个2D身体图像中表示的身体的二元体形。如上文所论述,一种或多种分割技术,诸如背景减除、语义分割、Canny边缘检测器或算法、Sobel算子、算法或过滤器、Kayyali算子、Roberts边缘检测算法、Prewitt算子、Frei-Chen方法,或对于相关领域中的普通技术人员而言可已知的任何其他算法或技术。
另外,在一些实现方式中,如在1106中,在进一步处理之前,所述体形的高度可被规格化并且在图像中居中。例如,可基于在图像中表示的用户的身体的已知的或所提供的高度和平均高度(例如,女性身体的平均高度、男性身体的平均高度)的函数将体形规格化为标准高度。在一些实现方式中,所述平均高度可比仅有性别更具体。例如,所述平均高度可以是性别和与用户的身体或性别和地方(例如,美国)相对应的种族等的平均高度。
如在1108中,然后可通过一个或多个神经网络,诸如如上文所论述的一个或多个CNN,来处理规格化和居中的体形,以生成表示在2D身体图像中表示的身体的身体参数。如上文所论述,在身体参数预测中可涉及多个步骤。例如,可使用针对体形的相应定向训练的CNN来处理每个体形以生成从所述体形确定的身体的特征的集合。然后可使用诸如CNN的神经网络来处理从不同体形生成的特征集合以连结所述特征并且生成表示在2D身体图像中表示的身体的身体参数。
然后可将所述身体参数提供给一个或多个身体模型,诸如SMPL身体模型或SCAPE身体模型,并且如在1110中,所述身体模型可生成在2D身体图像中表示的身体的个性化3D身体模型。另外,在一些实现方式中,如在1200中,可在需要时对个性化3D身体模型进行修正,以更紧密地对应于用户的身体的实际图像。在上文论述了个性化3D身体模型细化,并且在下文关于图12A和图12B进一步对其进行论述。
如在下文论述,如在1114中,个性化3D身体模型细化过程1200(图12A)返回调整过的体形。在接收到调整过的体形之后,如在1108中,示例性过程1100再次生成身体参数,并且继续。这可一直进行到不对体形作出进一步细化为止。相比之下,个性化3D身体模型细化过程1250(图12B)生成和返回调整过的个性化3D身体模型,并且示例性过程1100在框1116处继续。
在根据调整过的身体参数调整了体形并且生成了个性化3D身体模型之后,或者在接收到来自图12B的调整过的个性化3D身体模型之后,如在1116中,可将来自2D身体图像的一个或多个纹理(例如,皮肤色调、头发、衣服等)应用于个性化3D身体模型。最后,如在1118中,可将表示用户的身体的个性化3D身体模型提供给用户,和/或可根据所述模型确定其他个性化3D身体模型信息(例如,体质量、关节位置、手臂长度、体脂百分比等)。
图12A是根据本公开的实现方式的个性化3D身体模型调整过程1200的示例性流程图。如在1202中,示例性过程1200开始于确定在2D身体图像中的一者中表示的身体的姿势。可使用多种技术来确定在2D身体图像中表示的身体的近似姿势。例如,可获得在2D身体图像的元数据中包括的相机参数(例如,相机类型、焦距、快门速度、光圈等),和/或可确定额外的相机参数并且将其用于估计在2D身体图像中表示的身体的近似姿势。例如,可使用个性化3D身体模型来近似2D身体图像中的身体的姿势,并且然后可确定相对于将产生2D身体图像的模型的虚拟相机的位置。基于所述虚拟相机的所确定的位置,可推断出用于生成2D身体图像的相机的高度和角度。在一些实现方式中,相机倾斜度可包括在元数据中和/或由包括相机的便携式装置提供。例如,许多便携式装置包括加速度计,并且可提供在生成2D身体图像时的来自加速度计的信息作为相机的倾斜度。如在1202中,基于所接收的和/或所确定的相机参数,可确定在2D身体图像中表示的身体的相对于相机的姿势。
如在1204中,然后可调整用户的身体的个性化3D身体模型以对应于2D身体图像中的身体的所确定的姿势。在将个性化3D身体模型调整为与在图像中表示的用户大致相同的姿势的情况下,如在1206中,可将个性化3D身体模型的形状与2D身体图像中的身体的形状和/或体形进行比较以确定个性化3D身体模型与2D身体图像中的身体的表示和/或体形之间的任何差异。
在一些实现方式中,可确定任何所确定的差异是否高于最小阈值(例如,2%)。如果确定在个性化3D身体模型与在2D身体图像中的一者或多者中表示的身体之间存在差异,则可调整体形。然后可使用所述体形来生成在2D身体图像中表示的身体的修正后的身体参数,如上文关于图11所论述。如果体形经过修正,则将修正后的体形返回到示例性过程1100,如上文所论述并且如在框1114中所说明(图11)。如果未确定差异并且如果确定所述差异未超过最小阈值,则可将在个性化3D身体模型与2D身体图像/体形之间不存在差异的指示返回到示例性过程1100。
图12B是根据本公开的实现方式的另一个性化3D身体模型调整过程1250的示例性流程图。如在1252中,示例性过程1250开始于确定在2D身体图像中的一者中表示的身体的姿势。可使用多种技术来确定在2D身体图像中表示的身体的近似姿势。例如,可获得在2D身体图像的元数据中包括的相机参数(例如,相机类型、焦距、快门速度、光圈等),和/或可确定额外的相机参数并且将其用于估计在2D身体图像中表示的身体的近似姿势。例如,可使用个性化3D身体模型来近似2D身体图像中的身体的姿势,并且然后可确定相对于将产生2D身体图像的模型的虚拟相机的位置。基于所述虚拟相机的所确定的位置,可推断出用于生成2D身体图像的相机的高度和角度。在一些实现方式中,相机倾斜度可包括在元数据中和/或由包括相机的便携式装置提供。例如,许多便携式装置包括加速度计,并且可提供在生成2D身体图像时的来自加速度计的信息作为相机的倾斜度。如在1252中,基于所接收的和/或所确定的相机参数,可确定在2D身体图像中表示的身体的相对于相机的姿势。
如在1254中,然后可调整用户的身体的个性化3D身体模型以对应于2D身体图像中的身体的所确定的姿势。如在1256中,在个性化3D身体模型被调整为与在图像中表示的用户大致相同的姿势的情况下,生成来自个性化3D身体模型的2D模型图像。可例如通过以下操作来生成2D模型图像:将个性化3D身体模型转换或成像为具有所确定的姿势的2D图像,好像已经生成个性化3D身体模型的数字2D图像一样。同样地,2D模型图像可以是二值图像,所述二值图像具有与所述模型相对应的具有第一组值(例如,255,255,255的白色RGB值)的像素和不表示所述模型的具有第二组值(例如,0,0,0的黑色RGB值)的像素。
如在1258中,然后将2D模型图像与2D身体图像和/或体形进行比较,以确定2D模型图像与2D身体图像和/或体形中的身体的表示之间的任何差异。例如,可将2D模型图像与2D身体图像和/或体形对准,并且比较图像之间的像素以确定像素值之间的差异。在像素是二值(例如,白色或黑色)的实现方式中,可确定误差(例如,%差异)作为2D模型图像与2D身体图像之间的像素值的差异。那个误差是可区分的,并且可用来调整身体参数和因此个性化3D身体模型的形状。
在一些实现方式中,可确定任何所确定的差异是否高于最小阈值(例如,2%)。如果确定2D模型图像与在2D身体图像中的一者或多者中表示的身体/体形之间存在差异,则如在1260中,可调整个性化3D身体模型和/或身体参数以对应于在2D身体图像中表示的身体的形状和/或大小和/或所述体形。此示例性过程1250可一直持续到在2D模型图像与2D身体图像/体形之间不存在差异或所述差异低于最小阈值为止。如上文所论述,从示例性过程1250产生修正后的个性化3D身体模型,或者如果不需要调整,则在框1112处将个性化3D身体模型返回到示例性过程1100并且过程1100继续。
图13是根据本公开的实现方式的能够操作以根据2D身体图像确定体脂测量1314的示例性系统1300的框图。如上文所论述,输入的2D身体图像可包括整个身体的表示或身体的一部分(例如,头部、躯干、腿、手臂、头部到膝盖、颈部到膝盖、颈部到躯干等)的表示。同样地,虽然本文的讨论主要集中在接收和处理2D身体图像,但所公开的实现方式可同样地用于2D视频。在此类实现方式中,可提取来自视频的帧并且使用所公开的实现方式来处理所述帧以确定在所提取的帧中表示的身体的体脂测量。
可将系统1300的每个部件作为在诸如计算资源103/203(图1A、图1B、图2)和/或便携式装置130/230(图1A、图1B、图2)的计算装置上执行的计算机可执行指令来执行。在一些实现方式中,所述系统的所有方面可在诸如计算资源103/203或便携式装置130/230的一组计算资源上执行。在其他实现方式中,系统1300的第一部分可在诸如便携式装置130/230的一组计算资源上执行,而系统1300的第二部分在诸如计算资源103/203的第二组计算资源上执行。
不管来源如何,均由输入处置部件1302接收2D身体图像。如在下文关于图15和图16更详细地论述,所述输入处置部件处理所接收的2D身体图像并且产生规格化的身体图像1305。规格化的身体图像具有定义大小,诸如640x256像素乘3个通道(红色、绿色、蓝色)。同样地,可通过将不表示身体的像素的色彩值设置为定义色彩(诸如黑色(0,0,0))来抑制所述像素。所述规格化的身体图像将输入变化的数目减小到系统1300的剩余部分中。
然后将规格化的身体图像传递到可包括一个或多个神经网络1307的建模部件1304。例如,神经网络1307可以是诸如ResNet-50的残差网络的经修改的版本。残差学习或诸如ResNet-50的残差网络利用被堆栈和训练为将要执行的任务(诸如图像分类)的若干层或瓶颈。网络在其层的末尾处学习若干低级别/中间级别/高级别特征。在残差学习中,训练神经网络1307以学习每个瓶颈的残差。可简单地将残差理解为减去从那个层的输入学习的特征。一些残差网络,诸如ResNet-50,通过将一个瓶颈的输出连接到另一瓶颈的输入来完成此操作。
如在下文进一步论述,所公开的实现方式通过以下操作来修改所述残差网络:提取在每个层中学习的特征并且将那些特征与所述网络的输出进行连结以确定在所接收的2D身体图像中表示的身体的体脂测量值1314。在下文关于图17和图18更详细地论述神经网络1307。
除了确定在2D图像中表示的身体的体脂测量值1314之外,在一些实现方式中,可使用更新部件1306根据所确定的体脂测量结果以及由系统1300维持的锚体脂测量结果1315来确定一个或多个损失函数1311。如在下文进一步论述,锚体脂测量结果可以是不同图像、不同身体部位的基线或已知的体脂测量结果、与不同的身体形状、肌肉定界相对应的体脂测量结果等。可将所确定的损失函数1311反馈到建模部件1304中和/或作为反馈1313直接反馈到神经网络1307。可使用所述反馈来提高系统1300的准确度。在下文关于图19更详细地论述损失函数。
在一些实现方式中,可由系统1300接收额外信息并且将所述额外信息用作系统1300的额外输入。例如,还可接收关于身体的额外信息,诸如年龄、性别、种族、高度、重量等,并且由神经网络1307用来确定体脂测量表示和/或体脂测量值,如本文论述。
图14是根据本公开的实现方式的能够操作以根据多个2D身体图像来确定体脂测量的另一示例性系统1400的框图。
在图14中说明的示例中,由输入处置部件1402接收多个输入图像,并且如下文论述处理每个图像以生成相应的规格化的身体图像。例如,如果第一图像是正面侧视图图像,则可由输入处置部件1402处理所述正面侧视图图像以产生规格化的正面身体图像1405-1。同样地,如果第二图像是背面侧视图图像,则可由输入处置部件1402处理所述背面侧视图图像以产生规格化的背面身体图像1405-2。
将每个规格化的身体图像1405传递到建模部件1404,并且由诸如神经网络1407-1或神经网络1407-2的一个或多个神经网络处理所述规格化的身体图像以确定相应的体脂测量值。可组合那些过程的输出以产生表示在输入图像中表示的身体的单个体脂测量值1414。
另外,可由更新部件1406处理所确定的体脂测量以及锚身体测量结果1415以确定一个或多个损失函数1411,将所述一个或多个损失函数作为反馈1413提供给建模部件和/或神经网络1407以提高系统1400的准确度。在一些实现方式中,可由更新部件1406处理最终的体脂测量值1414以确定损失函数。在其他实现方式中,可由更新部件1406单独地处理针对规格化的身体图像中的每一者确定的所确定的体脂测量表示,并且将相应的损失函数作为反馈1413提供给曾处理规格化的身体图像的建模部件和/或神经网络的相应部分。例如,所述更新部件可基于由神经网络1407-1生成的所确定的体脂测量结果而确定第一损失函数,并且将第一损失函数作为第一反馈提供给神经网络1407-1。同样地,更新部件1406还可基于由神经网络1407-2生成的所确定的体脂测量结果而确定第二损失函数,并且将所述第二损失函数作为第二反馈提供给神经网络1407-2。
在其他示例中,不利用单个神经网络来处理每个所接收的规格化的输入图像,可训练神经网络以处理规格化的输入图像的组合来确定体脂测量值。例如,如果常常接收正面侧视图身体图像与背面侧视图身体图像的组合,则可训练单个神经网络以同时处理两个规格化的身体图像来根据所述两个图像确定体脂测量值。在其他实现方式中,可同样使用图像的其他组合、图像中的身体方向或图像的数目来训练神经网络以用于处理那些图像,并且确定在那些图像中表示的身体的体脂测量结果。
在一些实现方式中,可由系统1400接收额外信息并且将所述额外信息用作系统1400的额外输入。例如,还可接收关于身体的额外信息,诸如年龄、性别、种族、高度、重量等,并且由神经网络1407用来确定所测得的视觉体脂表示和/或体脂测量值,如本文论述。
在一些实现方式中,除了体脂测量表示和/或体脂测量值之外,系统1300/1400还可产生其他输出。例如,在一些实现方式中,所公开的实现方式还可产生指示年龄、性别、种族、体质量指数、高度、重量、身体尺寸(例如,手臂长度、腰围、腿围等)的信息。
图15是根据本公开的实现方式的示例性2D身体图像处置过程1500。示例性过程1500可由上文在图13和图14中论述的输入处置部件1302/1402执行。
如在1502中,示例性过程1500开始于接收2D身体图像。所述2D身体图像可从2D相机直接接收,或者可以是从上文论述的身体方向确定和身体方向图像选择过程600(图6)选择的2D身体图像中的一者。
不管来源如何,如在1504和1506中,均对所接收的2D身体图像进行分割,并且抑制对应于背景的像素以隔离在图像中表示的身体并且产生背景被抑制的图像。例如,现在参看图16,可处理在此示例中是2D身体图像1601的输入图像1610,以分割1612表示身体1600的图像的像素与不表示身体的图像的像素(在本文称为背景1602-1/1602-2像素),从而产生仅包括在所分割的图像1603中表示的身体1600的表示的图像。可通过(例如)背景减除、语义分割等来完成分割。在一个示例中,背景的基线图像可以是已知的,并且用于减除与基线图像的像素相对应的图像的像素,进而仅留下表示身体的前景像素。可向背景像素指派黑色的RGB色彩值(即,0,0,0)。
在另一示例中,可使用诸如人体的身体或模拟人体的图像来训练利用语义分割算法的神经网络,以训练所述神经网络在表示人体的像素与不表示人体的像素之间进行区分。在此示例中,所述神经网络可处理所接收的图像1601,并且指示或标记表示身体的部分(诸如头发、身体、手、脚、上身衣服、下身衣服)的像素和不表示身体的像素(背景)。可向背景像素1602-1/1602-2指派黑色的RGB色彩值(即,0,0,0)。
在其他实现方式中,可使用其他形式或算法,诸如边缘检测、形状检测等,来确定表示身体的图像的像素和不表示身体的图像的像素以及不表示被抑制的身体的像素。
返回到图15,如在1508中,然后将背景被抑制的图像规格化以产生规格化的身体图像。再次参看图16,将背景被抑制的图像1603规格化1614以产生具有定义大小(诸如640x256像素)与三个通道(红色、绿色、蓝色)的规格化的身体图像1605。产生规格化的身体图像可包括重新缩放身体1600以填充定义大小的限位框,并且然后将规格化的身体图像设置到那个限位框,使得身体的大小经过调整并且在图像中居中。
图17是根据本公开的实现方式的示例性体脂测量确定过程1700。示例性体脂测量确定过程可由上文论述的建模部件1304/1404(图13和图14)执行。例如,体脂测量确定过程1700可由上文论述的经修改的神经网络1307/1407执行。
如在1702中,示例性过程1700开始于接收规格化的身体图像。所述规格化的身体图像可以是(例如)从示例性过程1600(图16)产生的规格化的身体图像。
将规格化的身体图像处理为神经网络的第一瓶颈的输入,并且如在1704中,所述第一瓶颈输出降采样的特征表示。例如,参考图18,说明的是根据本公开的实现方式的包括被配置为根据规格化的2D图像确定体脂测量结果的神经网络1807的示例性系统1800。
图18说明如本文论述而修改的示例性神经网络,诸如ResNet-50。在所说明的示例中,神经网络1807包括五个瓶颈1807-1、1807-2、1807-3、1807-4和1807-5,所述瓶颈中的每一者处理输入并且生成降采样的特征表示作为输出。每个瓶颈是深度学习单元的堆栈,所述深度学习单元诸如卷积层、非线性激活函数(修正线性单元(“ReLU”))、合并操作(MaxPooling、平均合并)和批量规格化。
在所说明的示例中,每个瓶颈1807-1到1807-5将输入的空间分辨率减小两倍。在其他实现方式中,可不同地对空间分辨率降采样。
第一瓶颈1807-1接收规格化的身体图像1814作为输入,并且将规格化的身体图像的空间分辨率从640x256向下减小两倍到320x128。同样地,在此示例中,通道增加到64个通道。在其他实现方式中,通道增加可基于(例如)计算容量、计算时间等而不同。因此,在此示例中,第一瓶颈1807-1的输出是高度为320、宽度为128并且具有64个通道的特征表示1808-1。
再参看图17,如在1706中,示例性过程1700然后从降采样的特征表示生成提取的特征。例如,可通过对跨空间尺寸的瓶颈的输出求平均来提取来自任何一个或多个瓶颈的特征。例如,再次参看图18,如果从第一瓶颈1807-1的输出1808-1提取特征,则跨320x128空间尺寸对64个特征通道求平均以得到F1∈64x1。在一些实现方式中,可不从神经网络的所有瓶颈提取特征。例如,如图18中说明,可不从第一瓶颈的第一输出提取特征来用于确定体脂测量结果。在其他示例中,可不从神经网络的其他瓶颈提取特征。相比之下,在一些实现方式中,可从所有瓶颈输出提取特征并且用于所公开的实现方式。
在提取特征时,如在1710中,确定是否还要处理额外的瓶颈。如果确定还有额外的瓶颈,则如在1712中,来自上游瓶颈的降采样的特征表示用作下一个瓶颈的输入,并且过程1700继续。
例如,再次参看图18,提供从第一瓶颈1807-1输出的第一降采样的特征表示1808-1作为第二瓶颈1807-2的输入。第二瓶颈1807-2接收具有320x128的空间尺寸以及64个通道的第一降采样的特征表示1808-1,并且处理那个输入以产生具有160x64的空间尺寸和256个通道的第二降采样的特征表示1808-2。随着示例性过程1700(图17)继续,第三瓶颈1807-3接收第二降采样的特征表示1808-2,并且处理那个输入以产生具有80x32的空间尺寸和512个通道的第三降采样的特征表示1808-3。第四瓶颈1807-4接收第三降采样的特征表示1808-3并且处理那个输入以产生具有40x16的空间尺寸和1024个通道的第四降采样的特征表示1808-4。第五瓶颈1807-5接收第四降采样的特征表示1808-4并且处理那个输入以产生具有20x8的空间尺寸和2048个通道的第五降采样的特征表示1808-5。
如在示例性过程1700和系统1800中所说明,如在1706中,从输出的降采样的特征表示生成提取的特征1810。例如,继续讨论图18,可跨160x64空间尺寸对第二降采样的特征表示1808-2的256个通道求平均1809-2以得到第二提取的特征1810-2F2∈256×1。可跨80x32空间尺寸对第三降采样的特征表示1808-3的512个通道求平均1809-3以得到第三提取的特征1810-3F3∈512×1。可跨40x16空间尺寸对第四降采样的特征表示1808-4的1024个通道求平均1809-4以得到第四提取的特征1810-4F4∈1024×1。可跨20x8空间尺寸对第五降采样的特征表示1808-5的2048个通道求平均1809-5以得到第五提取的特征1810-5F5∈2048×1。
除了从每个降采样的输出提取的所提取的特征1810-2到1810-5(即,F1到F5)之外,还可基于神经网络1200的输出而生成神经网络输出特征。例如,与框1209-5相对应的框1209-6可输出第五降采样的特征表示1208-5的平均值。可将线性函数1211应用于所述输出以产生1000通道特征1808-6 F6。
返回到图17,如果没有额外的瓶颈要处理,则示例性过程1700利用组合了来自降采样的输入中的每一者的所提取的特征的多尺度表示,并且如在1712中,将它们与从神经网络输出的1000通道特征连结以产生连结特征。
再次参看图18,在提取特征1810-2到1810-5时或者在全部已经提取完之后,连结所述特征。例如,F21810-2与F31810-3连结,F31810-3与F41810-4连结,F41810-4然后与F51810-5连结,如通过连结指示符1814-2、1814-3、1814-4所说明。特征F1到F5的连结还与从神经网络1807输出的特征F6连结,如由连结指示符1814-5和1814-6所指示,以产生连结特征1810-7 F7=[F2,F3,F4,F5,F6]∈4840×1。
如在1714(图17)中,然后可将线性函数应用于所述连结特征以确定体脂测量表示。例如,如在图18中所说明,可将线性函数1813应用于F71810-7以产生所确定的体脂测量表示1815,所述所确定的体脂测量表示在此示例中是65x1维度向量。例如,可如下确定所述所确定的体脂测量表示(“V”)1815:
V=W×F7+B∈65×1
其中W∈65×4840和B∈65是可实施为矩阵乘积W×F7并且与偏差矩阵B求和的线性函数的权重和偏差。每个特征F1到F5的权重可不同,并且可应用为提取与求平均1209的部分,或应用为体脂测量表示的向量表示的部分。在其他实现方式中,可不应用权重。
如所说明,以上内容确定了65维度所测得的体脂表示V∈65×1,其中每个元素Vj,j∈{0,...64}表示体脂测量结果是j的概率。如在1716中,然后可进一步处理此体脂测量表示1815以确定体脂测量值。例如,可确定V的概率加权平均,即并且将其用作体脂测量值例如,如果神经网络1807确定体脂测量为22的概率是0.5,则体脂测量为23的概率是0.5,并且所有其他概率都是0:
图19是根据本公开的实现方式的示例性模型优化过程1900。如上文所论述,在一些实现方式中,可将所确定的体脂测量表示或体脂测量值与已知的或锚体脂测量结果表示或锚体脂测量值进行比较以确定损失函数,并且可将那些损失函数提供回到神经网络以提高所述神经网络和所得的体脂测量结果的准确度。
如在1902中,示例性过程1900开始于确定锚体脂测量结果(“A”)。所述锚体脂测量结果可以是基于向量的体脂测量表示和/或体脂测量值。所述锚体脂测量结果可从人类注解者获得,所述人类注解者经过训练以确定从测量身体的体脂的其他系统(例如,DEXA、ADP)获得和/或从其他来源获得的图像中表示的身体的体脂测量结果。在一些实现方式中,所述锚体脂测量结果可以是从不同来源获得的身体的多个体脂测量的平均值。例如,如果存在已经确定特定身体的体脂是a1、a2、a3……aN的N个人类注解者,则可确定身体的锚体脂测量结果是那些确定的平均值
同样地,为了确定锚概率分布,可基于由注解者自身提供的体脂测量结果来确定概率分布。例如,如果四个注解者确定身体的体脂测量结果是20、21、21、22,则可确定所述概率分布是A20=0.25,A21=0.5,A22=0.25以及An=0,作为另一示例,快速体脂测量结果与高斯概率分布拟合,所述高斯概率分布围绕平均体脂测量结果居中并且随着其移动远离平均值而衰减。可通过改变均值和Σ参数μ、σ来控制峰值位置和衰减速率。
返回到图19,在此示例中,可计算两个损失函数、KL散度和平滑L1损失。如所说明,可并行地或串行地完成计算。同样地,在其他实现方式中,可计算更少的、额外的和/或不同的损失函数,并且将其用于更新神经网络的参数以改进其操作并且继续增加所得的视觉体脂测量结果的准确度。
对于KL散度,如在1904中,确定锚体脂测量结果的概率分布。可如上文所论述来确定锚体脂测量结果的概率分布。
如在1906中,然后确定锚体脂测量结果的概率分布与所确定的体脂测量表示之间的散度。如上文所论述,所确定的体脂测量表示可以是表示根据以上所公开的实现方式而确定的体脂测量结果的概率分布的65维度向量。
如在1908中,还可确定锚体脂测量的锚体脂测量值如上文所论述,体脂测量值可以是从不同来源接收的身体的体脂测量结果的平均值。如在1910中,平滑L1损失,还称为Huber损失,是锚体脂测量值与所确定的体脂测量值之间的无符号的差异或
最后,如在1912中,可基于所计算的损失函数,在此示例中是散度和绝对差,来调整神经网络。
除了生成身体的个性化3D身体模型和/或确定身体的体脂之外,如上文所论述,在一些实现方式中,可确定和呈现表示具有不同的身体测量值的身体的预测外观的所预测的个性化3D身体模型。例如,如果用户想要在用户将他们的身体从当前体脂测量值降低到目标体脂测量值的情况下查看他们的身体将看起来的模样,则所公开的实现方式可确定具有不同体脂百分比的用户的身体的所预测的个性化3D身体参数,并且基于那些所预测的个性化3D身体参数而生成表示具有目标体脂测量值的用户的身体的预测外观的所预测的个性化3D身体模型。同样地,在一些实现方式中,可生成身体的多个所预测的个性化3D身体模型,并且用户可与个性化3D身体模型交互以查看具有不同身体测量结果的不同所预测的个性化3D身体模型。
图20是根据本公开的实现方式的所预测的个性化3D身体模型的生成的示例性转移图。如所说明,可基于关于身体的个性化3D身体参数2000和/或其他身体信息2003而生成不同的所预测的个性化3D身体模型2008,使得所生成的所预测的个性化3D身体模型表示所考虑的实际身体。例如,可向神经网络2004提供如上文所论述而确定的个性化3D身体参数2000以及关于身体的其他身体信息2003,或不提供所述其他身体信息。其他身体信息可包括(但不限于)高度、重量、年龄、性别、种族、身体类型等。
除了个性化3D身体参数2000和任选地其他身体信息2003之外,可向神经网络2004提供目标身体测量结果和/或目标活动2002,并且神经网络使用所述目标身体测量结果和/或所述目标活动来产生一个或多个所预测的个性化3D身体模型。目标身体测量结果可以是身体的任何可调整的身体测量结果中的一者或多者,诸如体脂、肌肉质量、体重等。活动可以是用户想要执行以调整一个或多个身体测量结果的任何活动。例如,活动可包括(但不限于)每周Y天地锻炼了X分钟、将卡路里摄入限制为每天Z卡路里,每天睡ZZ小时等。
所公开的实现方式可考虑活动目标和关于身体的其他信息,以随时间确定一个或多个身体测量值的潜在变化,并且利用那个信息来生成所预测的个性化3D身体模型。例如,如果用户提供每周六天地每天锻炼30分钟的目标,假设所有其他因素(例如,食物摄入、休息等)保持不变,则所公开的实现方式可确定用户的身体的体脂测量结果和/或肌肉质量的所预测的变化,并且利用那个信息来生成所预测的个性化3D身体模型2008。
在一些实现方式中,神经网络还可考虑关于身体的历史信息,以确定与目标身体测量值相对应的不同的所预测的个性化3D身体参数。例如,如果已经维持了身体的历史信息,诸如在一段时期内的一系列目标身体测量结果和/或个性化3D身体参数,则所公开的实现方式可比较那些不同测量结果的不同的个性化3D身体参数,以确定身体的不同部分出现的变化速率或量。例如,如果用户的身体首先是他们的面部和躯干区域的重量减轻,则可根据身体的历史3D身体参数来确定那个信息,并且可使用身体的那些不同部分的变化率基于目标身体测量结果来生成所预测的个性化3D身体参数。
同样地,可基于目标变化或目标活动(诸如行走与举重相比)而应用不同的身体模型参数,以表示具有不同外观的不同的所预测的个性化3D身体模型。例如,如果用户指定比他们的当前体脂百分比低10%的目标体脂百分比和每周Y天地每天行走X英里的活动变化,则所公开的实现方式可利用第一神经网络以生成具有与目标体脂相对应的可能基于指定行走活动的脂肪和肌肉变化的所预测的个性化3D身体模型。相比之下,如果用户指定比他们的当前体脂百分比低10%的目标体脂百分比和每周Y天地每天举重X分钟的活动变化,则所公开的实现方式可利用第二神经网络以生成具有与目标体脂相对应的可能基于指定举重活动的脂肪和肌肉变化的所预测的个性化3D身体模型。
再参看图20,并且如在下文进一步论述,可使用后处理2006进一步处理由神经网络2004基于个性化3D身体参数和目标身体测量结果和/或活动而生成的所预测的个性化3D身体参数,以使所生成的所预测的个性化3D身体模型适于个性化3D身体模型2001。例如,可调整个性化3D身体模型2001的着色、轮廓、衣服图案、肤色等,并且将其应用于所预测的个性化3D身体模型作为后处理2006的部分,以将所预测的个性化3D身体模型进一步调整为在个性化3D身体模型2001中表示的身体的外观。
将了解,在一些实现方式中,可使用所公开的实现方式确定多个所预测的个性化3D身体模型,并且可向用户呈现3D身体模型调整器2010,以允许用户与不同的所预测的个性化3D身体模型交互并且查看不同的所预测的个性化3D身体模型。在图20中说明的示例中,生成与个性化3D身体模型2001相对应的四个所预测的个性化3D身体模型2008-1、2008-2、2008-3和2008-4。不同的所预测的个性化3D身体模型2008说明由具有不同的身体测量值的个性化3D身体模型2001表示的身体。例如,如果个性化3D身体模型2001具有由f(x)表示的身体测量结果,则第一所预测的个性化3D身体模型2008-1可表示具有第一较低体脂测量的身体,其表示为f(x-y),并且第二所预测的个性化3D身体模型2008-2可表示具有比第一体脂测量低的第二较低体脂测量的身体,其表示为f(x-y-z)。类似地,所公开的实现方式还可生成表示较高身体测量结果下的身体的所预测的个性化3D身体模型。例如,所预测的个性化3D身体模型2008-3可表示具有第一较高体脂测量的身体,其表示为f(x+y),并且第二所预测的个性化3D身体模型2008-4可表示具有比第一体脂测量高的第二较高体脂测量的身体,其表示为f(x+y+z)。作为特定示例,如果个性化3D身体模型具有27%的体脂测量值,则第一所预测的个性化3D身体模型2008-1可对应于22%的体脂测量值,第二所预测的个性化3D身体模型2008-2可对应于17%的体脂测量值,第三所预测的个性化3D身体模型可对应于32%的体脂测量值,并且第四所预测的个性化3D身体模型可对应于37%的体脂测量值。
将了解,可选择任何范围的身体测量值,并且其用于生成所预测的身体模型,并且可使用所公开的实现方式生成任何数目个所预测的身体模型。同样地,虽然所公开的实现方式主要论述体脂值测量结果的变化,但可同样地预测其他可调整的身体测量结果,诸如肌肉质量,并且在所公开的实现方式中进行说明。
在其他实现方式中,可整合一个或多个所预测的个性化3D身体模型和个性化3D身体模型以在每个生成的所预测的个性化3D身体模型之间产生多个所预测的个性化3D身体模型,使得用户可将不同身体测量值之间的身体的外观的连续变化可视化。例如,可将个性化3D身体模型2001与四个所预测的个性化3D身体模型2008-1、2008-2、2008-3和2008-4中的每一者整合以产生任何数目个居间的所预测的个性化3D身体模型,所述居间的所预测的个性化3D身体模型可在用户与3D身体模型调整器2010交互时渲染和呈现,以在不同的所预测的个性化3D身体模型中的任一者之间说明身体的预测外观。
图21是根据本公开的实现方式的示例性3D身体模型调整器过程2100。如在2102中,示例性过程2100开始于获得身体的个性化3D身体模型、那个身体的个性化3D身体参数,以及当前身体测量结果。例如,可从上述实现方式中的任一者获得个性化3D身体模型、个性化3D身体参数和/或当前身体测量结果。可替代地,或作为其补充,可从其他来源,诸如从用户、第三方等,获得个性化3D身体参数和/或当前身体测量结果中的一者或多者。
如在2104中,示例性过程2100还接收一个或多个目标身体测量结果,诸如体脂测量值的目标变化或肌肉质量测量值的目标变化和任选地一个或多个目标活动。如上文所论述的目标活动可以是任何活动(例如,行走、跑步、举重、游泳、滑雪橇等),或由用户指定的将导致一个或多个身体测量值的变化的行为变化(卡路里摄入的变化、睡眠变化等)。
基于当前身体测量结果、身体信息以及目标身体测量结果和/或活动目标,如在2200中,通过所预测的非个性化3D身体参数确定过程来确定非个性化3D身体参数以及一个或多个所预测的非个性化3D身体参数。在下文关于图22更详细地论述所预测的非个性化3D身体参数确定过程2200。如在下文论述,来自所预测的非个性化3D身体参数确定过程2200的输出是由训练过的神经网络基于由示例性过程2100在框2102和2104处接收的目标身体测量结果、身体信息和任何活动目标而生成的一组或多组所预测的非个性化3D身体参数。
通过利用所预测的非个性化3D身体参数,如在2300中,通过生成所预测的个性化3D身体模型过程而生成一个或多个所预测的个性化3D身体模型。在下文关于图23更详细地论述生成所预测的个性化3D身体模型过程2300。如在下文论述,来自生成所预测的个性化3D身体模型过程2300的输出是与在框2102中接收的个性化3D身体模型相对应的一个或多个所预测的个性化3D身体模型。
如在2110中,示例性过程2100然后可整合所返回的所预测的个性化3D身体模型和个性化3D身体模型以产生3D身体模型调整器,用户可观看所述3D身体模型调整器并且与其交互以查看不同身体测量结果下的身体的预测外观。例如,个性化3D身体模型和第一所预测的个性化3D身体模型可通过以下操作进行整合:对所述两个模型求平均,以确定个性化3D身体模型与所预测的个性化3D身体模型之间的中间个性化3D身体模型的身体参数。
最后,如在2112中,向用户呈现3D身体模型调整器,使得用户可与3D身体模型调整器交互,并且基于不同的活动和/或基于不同的身体测量结果而查看对身体的预测外观改变。
图22是根据本公开的实现方式的示例性所预测的非个性化3D身体参数确定过程2200。如在2202中,示例性过程2200开始于接收当前身体测量结果(例如,重量、体脂测量值、肌肉质量测量值等)和身体信息(例如,年龄、性别、种族、高度、身体类型等)。另外,如在2204中,接收一个或多个目标身体测量结果和/或活动目标。例如,用户可提供体脂、肌肉质量、体重等的目标变化。可替代地,或作为其补充,用户可指定将影响一个或多个身体测量结果的活动和/或行为的一个或多个变化。另外,示例性过程还可确定在存储器中是否维持着任何历史3D身体参数。例如,如果已经通过所公开的实现方式在一段时期内周期性地扫描身体并且确定身体在那些时间点中的每一者处的个性化3D身体参数,则可利用身体测量结果的变化和个性化3D身体参数的对应变化来确定身体将可能如何响应于额外的身体测量结果变化。例如,可从历史个性化3D身体参数确定,当身体降低或增加体脂时,平均上那个增加/降低的30%发生在身体的腿中,那个增加/降低的55%发生在身体的躯干中,那个增加/降低的10%发生在身体的手臂中,并且那个增加/降低的5%发生在身体的头部和颈部中。
如在2206中,示例性过程2200然后可基于身体信息、身体测量结果和/或身体的所存储的历史3D身体参数中的一者或多者而选择一个或多个神经网络。
如所论述,可训练多个不同神经网络以基于不同的身体类型、年龄、性别、种族等而产生所预测的非个性化3D身体参数,因为不同的身体可不同地响应于身体测量结果的差异变化。例如,与可能首先降低他们的腿和手臂中的体脂的较年轻的女性相比,较老的男性可首先降低他们的面部和颈部中的体脂。另外,身体不同地响应于不同的活动类型。例如,如果目标是减小体脂测量值并且活动类型是举重,则身体可通过增加肌肉质量并且减轻第一数量的体重而作出响应,进而导致具有更多肌肉质量和较低体脂测量值的第一身体。相比而言,如果同一身体具有体脂测量值的相同目标变化但具有更改卡路里摄入和行走的活动目标,则与先前示例相比,所述身体将通过降低更多体脂但得不到那么多肌肉质量而作出响应。因此,所预测的个性化3D身体模型将显得不同,因为将具有肌肉质量的更大增加,即使体脂百分比测量结果将相同也如此。
在一些实现方式中,还可基于身体测量结果、身体信息、活动目标和/或对于身体已知的历史个性化3D身体参数来调整选定的神经网络。
在选择和/或调整了神经网络之后,如在2208中,通过神经网络确定非个性化3D身体参数和一组或多组所预测的非个性化3D身体参数。在一些实现方式中,可针对目标身体测量结果和/或目标活动而确定单组所预测的3D身体参数。在其他实现方式中,可确定身体的多组所预测的非个性化3D身体参数。通过神经网络基于关于身体的身体信息并且基于与身体的大小、形状、种族、性别、历史信息等相对应的神经网络的训练数据而生成所预测的非个性化3D身体参数。如在下文进一步论述,虽然非个性化3D身体参数和所预测的非个性化3D身体参数对应于身体,但它们可不直接表示身体。因此,如在下文进一步论述,可进一步处理非个性化3D身体参数和所预测的非个性化3D身体参数以生成与将要由所预测的个性化3D身体模型表示的身体直接相关的所预测的个性化3D身体参数。
图23A到图23B是根据本公开的实现方式的示例性生成所预测的个性化3D身体模型过程2300。如在2302中,示例性过程2300开始于接收个性化3D身体参数(图10)、非个性化3D身体参数(图22)以及所预测的非个性化3D身体参数(图22)。
如在2304中,然后确定非个性化3D身体参数与所预测的非个性化3D身体参数之间的增量或差异。如在2306中,然后将那些增量应用于个性化3D身体参数,以基于个性化3D身体参数而产生说明从身体的当前状态到身体的目标或预测状态的预测变化的所预测的个性化3D参数。
通过利用所预测的个性化3D身体参数,如在2308中,生成表示身体的目标或预测状态下的身体的预测外观的所预测的个性化3D身体模型。可使用所预测的个性化3D身体参数来生成所预测的个性化3D身体模型,就好像所预测的个性化3D身体参数是个性化3D身体参数一样。
如在2310中,然后确定增量或变化是否超过阈值。所述阈值可以是任何定义量或值,并且可针对不同身体、身体测量值的不同范围、不同身体类型等而变。
如果确定所述增量不超过阈值,则如在2312中,来自个性化3D身体模型的纹理(例如,衣服、肤色、头发色彩)和着色(例如,身体轮廓、着色)根据个性化3D身体参数的变化而经过修改,并且应用于所预测的个性化3D身体模型。除了将来自个性化3D身体模型的纹理和着色应用于所预测的个性化3D身体模型之外,或者在确定所述增量超过阈值的情况下,如在2314中,可将一个或多个通用纹理和/或着色应用于所预测的个性化3D身体模型。通用纹理可包括当增量超过阈值时可应用的通用衣服。通用着色可以是应用于不同身体类型以辅助说明不同体脂或肌肉质量测量值下的肌肉定界的着色。
在生成第一所预测的个性化3D身体模型之后,如在2316中,确定对于将要生成所预测的个性化3D身体模型是否保留额外的所预测的非个性化3D身体参数。如在2318中,如果不保留所预测的非个性化3D身体参数,则示例性过程2300完成。然而,如果对于将要生成所预测的个性化3D身体模型存在额外的所预测的非个性化3D身体参数,则如在2320中,示例性过程2300确定下一个所预测的非个性化3D身体参数与相邻的所预测的非个性化3D身体参数之间的下一个增量。相邻的所预测的非个性化3D身体参数可以是任一组的所预测的非个性化3D身体参数。例如,如果第一所预测的非个性化3D身体参数对应于具有20%体脂的身体,则相邻的一组所预测的非个性化身体参数可以是对应于15%体脂下的身体的下一组。
现在参看图23B,如在2324中,然后将下一个增量应用于所预测的个性化3D身体参数以生成下一个所预测的个性化3D身体参数。如上所述,如在2326中,然后可使用下一个所预测的个性化3D身体参数以生成下一个所预测的个性化3D身体模型。
如在2328中,还可确定下一个所预测的个性化3D身体参数与个性化3D身体参数之间的差异,并且如在2330中,确定那个差异是否超过阈值。在2330中和2310中讨论的阈值可相同或是不同阈值。例如,假如个性化3D身体模型与所预测的个性化3D身体模型之间的差异不超过10%,则可将来自个性化3D身体模型的纹理和着色应用于所预测的个性化3D身体模型。通过针对每个所生成的所预测的个性化3D身体模型确定所预测的个性化3D身体模型与个性化3D身体模型之间的差异,可使用相同阈值来确定是否变换和应用来自个性化3D身体模型的纹理和/或着色,或者仅应用通用纹理和/或着色。如果确定所述差异超过阈值,则示例性过程2300返回到框2314并继续。相比之下,如果确定所述差异不超过阈值,则示例性过程2300返回到框2312并继续。
图24是根据本公开的实现方式的通过模型显现过程2400预测的示例。可使用示例性过程2400来模拟身体或所预测的身体在不同的衣服或服装下可看起来的模样。
如在2402中,示例性过程2400开始于接收身体的个性化3D身体模型或所预测的个性化3D身体模型。如在2404中,所述示例性过程然后可确定要应用于个性化3D身体模型或所预测的个性化3D身体模型的纹理和/或衣服。例如,当身体具有不同的身体测量结果(例如,较高/较低的体脂)时,用户可指定他们想要查看身体在穿上结婚礼服、泳衣、成套服装、短裤等时将看起来的模样。
如在2406中,然后调整所确定的衣服/纹理以对应于与个性化3D身体模型或所预测的个性化3D身体模型相对应的个性化3D身体参数和/或所预测的个性化3D身体参数,使得衣服/纹理符合相应的个性化3D身体模型的形状。
最后,如在2408中,所述纹理/衣服应用于个性化3D身体模型和/或所预测的个性化3D身体模型,并且向用户呈现,使得所述用户可查看在不同的身体测量结果下的身体上的衣服/纹理。在一些实现方式中,如上文所论述,可整合具有所应用的衣服/纹理的个性化3D身体模型和具有所应用的衣服/纹理的一个或多个所预测的个性化3D身体模型,并且生成3D身体模型调整器,所述3D身体模型调整器允许用户查看在每个不同的身体测量结果下的具有所应用的衣服/纹理的身体。
图25是根据本公开的实现方式的便携式装置2530和远程计算资源2503的示例性部件的框图。在一些实现方式中,便携式装置2530可对应于图9的便携式装置930,和/或3D身体模型系统2501的计算资源2503可对应于图9的身体组成系统910。
如所说明,所述便携式装置可以是任何便携式装置2530,诸如平板计算机、蜂窝式电话、膝上型计算机、可穿戴装置等。便携式装置2530的成像元件2520可包括可用于对用户的身体进行拍照或以其他方式记录关于用户的身体的信息或数据或用于任何其他目的的任何形式的光学记录传感器2522或装置。如图25中示出,便携式装置2530连接到网络2502并且包括一个或多个存储器2524或存储部件(例如,数据库或另一数据存储装置)、一个或多个处理器2526、加速度计2528或其他位置/定向/角度确定部件、诸如显示器2530、扬声器、触觉输出等输出,以及可为了捕获、分析和/或存储和/或传输图像数据(诸如本文论述的2D身体图像)和/或接收个性化3D身体参数和/或身体测量结果并且渲染和呈现个性化3D身体模型所需的任何其他部件。例如,成像元件2520可捕获一个或多个静态或移动图像。便携式装置2530还可连接到网络2502或以其他方式通过发送和接收数字数据而与所述网络通信。
可在任何位置和任何环境中使用便携式装置2530以生成表示用户的身体的2D身体图像。在一些实现方式中,便携式装置可定位成使得所述便携式装置是静止的并且大致垂直(在垂直线的约十度以内),并且用户可将他们的身体以不同的方向定位在便携式装置的成像元件2520的视野内,使得便携式装置的成像元件2520可从不同方向生成包括用户的身体的表示的2D身体图像,在本文还称为2D身体方向图像。
便携式装置2530还可包括存储在存储器中的诸如呈现应用2525-1的一个或多个应用2525,可由便携式装置的一个或多个处理器2526执行所述一个或多个应用以致使便携式装置的处理器执行各种功能或动作。例如,在被执行时,应用2525可向用户提供关于以下各项的指令:便携式装置的放置、用户的身体在便携式装置的成像元件2520的视野内的定位、身体的姿势、身体的方向等。同样地,在一些实现方式中,呈现应用2525-1可向用户呈现根据所描述的实现方式从2D身体图像生成的个性化3D身体模型,并且允许用户与所述个性化3D身体模型交互。例如,用户可旋转个性化3D身体模型以查看个性化3D身体模型的不同角度,从个性化3D身体模型的尺寸获得用户的身体的大致准确的测量结果,查看诸如体脂、体质量、体积等身体测量结果。
所述应用还可包括维持在便携式装置2530的存储器2524中并且由便携式装置2530的一个或多个处理器2526执行的一个或多个神经网络或与所述一个或多个神经网络通信,所述神经网络诸如身体点位置神经网络2550-1、姿势确定神经网络2550-2、2D身体方向图像选择神经网络2550-3、体脂测量确定神经网络2550-4和/或所预测的个性化3D身体模型神经网络2550-5。如上文所论述,身体点位置神经网络可从成像元件2520接收一个或多个2D身体图像,处理那些图像并且针对每个所接收的图像生成指示所预测的身体点位置的热图。姿势确定神经网络2550-2可接收由身体点位置神经网络2550-1产生的热图作为输入,并且进一步处理那个热图以确定在2D身体图像中表示的身体是否处于定义姿势,诸如A姿势。2D身体方向图像选择神经网络2550-3也可接收热图和/或2D身体图像,并且进一步处理那个信息以确定多个2D身体图像的身体方向置信度得分,并且选择2D身体图像作为所确定的身体方向的2D身体方向图像。体脂测量确定神经网络1550-4可接收一个或多个2D身体图像和/或一个或多个规格化的身体图像,并且处理那些图像以确定说明在所述图像中表示的身体的体脂的体脂测量值表示。所预测的个性化3D身体模型神经网络2550-5可接收对身体测量结果和/或活动水平(一般是目标)的一个或多个调整,并且生成与那些目标相对应的所预测的个性化3D身体参数和/或生成与那些目标相对应的表示基于那些目标的所预测的身体外观的所预测的个性化3D身体模型。
已经利用了机器学习工具,诸如人工神经网络,来识别明显不相关的数据集合的相应元素之间的关系。人工神经网络,诸如CNN,是包括单独的单元的并行分布式计算处理器,所述单独的单元可共同地学习并且存储实验知识,并且使此类知识可用于一个或多个应用中。此类网络可通过以下操作来模拟在多个层中人脑的许多神经元的非线性精神表现:通过一个或多个灵活学习过程从环境获取知识;确定此类神经元之间的相应连接的强度;以及在存储所获取的知识时利用此类强度。与人脑一样,人工神经网络可使用任何数目个层中的任何数目个神经元,所述层包括输入层、输出层以及一个或多个居间隐藏层。鉴于机器学习工具的通用性和它们对人脑的固有的模仿,机器学习工具不仅包括人工神经网络,而且包括最近邻方法或分析、因子分解方法或技术、K-means聚类分析或技术、诸如对数似然相似性或余弦相似性的相似性量度、潜在狄里克莱分配或其他主题模型,或已经在图像处理应用中利用的潜在语义分析。
可训练人工神经网络以通过调整一个或多个神经元之间的连接的强度(其有时被称为突触权重)而将输入数据映射到期望的输出。人工神经网络可具有任何数目个层,包括输入层、输出层以及任何数目个居间隐藏层。神经网络内的层中的神经元中的每一者可接收一个或多个输入,并且根据激活或能量函数以及与各种强度或突触权重相对应的参数而生成一个或多个输出。同样地,可将网络内的神经元中的每一者理解为具有不同的激活或能量函数;在此方面,此类网络可被称为异构神经网络。在一些神经网络中,激活或能量函数中的至少一者可采取s型函数的形式,其中其输出可具有零到一或0到1的范围。在其他神经网络中,激活或能量函数中的至少一者可采取双曲正切函数的形式,其中其输出可具有负一到正一或-1到+1的范围。因此,根据恒等函数来训练神经网络导致对神经网络的各种层中的神经元之间的此类连接的强度或权重的再定义或调整,以便提供最接近地近似输入或使输入与最大可实践范围关联的输出。
人工神经网络通常可被表征为前馈神经网络或递归神经网络,并且可完全或部分地连接。在例如CNN的前馈神经网络中,信息具体地在一个方向上从输入层流动到输出层,而在递归神经网络中,至少一个反馈回路返回关于实际输出与目标输出之间的差异的信息以用于训练目的。另外,在全连神经网络架构中,层中的一者中的神经元中的每一者连接到后续层中的所有神经元。相比而言,在稀疏连接的神经网络架构中,神经元中的每一者的激活数诸如受到稀疏度参数限制。
另外,对神经网络的训练通常被表征为有监督的或无监督的。在监督学习中,训练集合包括至少一个输入和针对所述输入的至少一个目标输出。因此,训练神经网络以在可接受的误差水平内识别目标输出。在诸如通常由稀疏自编码器执行的恒等函数的无监督学习中,训练集合的目标输出是输入,并且训练神经网络以照此辨识所述输入。稀疏自编码器采用反向传播以便训练所述自编码器来辨识针对输入的恒等函数的近似,或以其他方式近似所述输入。根据本公开的系统和方法,此类反向传播算法可根据最速下降方法、共轭梯度方法或其他类似的方法或技术来运算。相关领域中的普通技术人员将认识到,可使用任何算法或方法来训练神经网络的一个或多个层。同样地,可使用任何算法或方法来确定和最小化此类网络的输出中的误差。另外,相关领域中的普通技术人员将进一步认识到,可诸如在稀疏自编码器中共同地训练神经网络的各种层,或单独地训练所述各种层,使得来自神经网络的一个隐藏层的每个输出充当后续隐藏层的输入。
一旦神经网络已被训练成辨识训练集合的输入的支配性特性,例如在可接受的公差内使图像与标记、类别、群集或其伪标记相关联,便可向训练过的网络提供呈图像、与所述图像相对应的特征、已知特点等形式的输入和/或多个输入,并且从其生成输出。例如,上文论述的神经网络中的一者可接收2D身体方向图像作为输入。训练过的神经网络然后可产生身体是特定身体方向的概率作为输出。作为另一示例,上文论述的神经网络中的一者可接收2D身体方向图像作为输入并且生成热图作为输出,所述热图针对所述热图的每个x坐标、y坐标指示所述坐标对应于在2D身体方向图像中表示的身体的身体点的概率。
返回到图25,在2D身体方向图像选择神经网络2550-3选择了2D身体方向图像之后,应用2525可经由网络2502将选定的2D身体方向图像发送到计算资源2503以供3D身体模型系统2501处理。
一般来讲,3D身体模型系统2501包括计算资源2503。计算资源2503与便携式装置2530分开。同样地,计算资源2503可被配置为在网络2502上与便携式装置2530和/或其他外部计算资源、数据存储装置等通信。
如所说明,计算资源2503可远离便携式装置2530,并且实施为一个或多个服务器2503(1)、2503(2)、……2503(P),并且在一些情况下可形成网络可访问计算平台的一部分,所述网络可访问计算平台实施为由3D身体模型系统2501的部件/装置和/或便携式装置2530维持并且能够由其经由诸如内联网(例如,局域网)、互联网等的网络2502访问的处理器、存储、软件、数据访问等的计算基础设施。可包括一个或多个神经网络的计算资源2503可处理表示用户的身体的一个或多个2D身体方向图像,从其生成个性化3D身体参数和/或身体测量结果,并且将那些个性化3D身体参数和/或身体测量结果发送到便携式装置2530。在其他实现方式中,可在便携式装置上包括或并入3D身体模型系统2501的一些或全部,如所说明。
计算资源2503不需要递送服务的系统的物理位置和配置的终端用户知识。对于这些远程计算资源2503相关联的共同表达包括“按需计算”、“软件即服务(SaaS)”、“平台计算”、“网络可访问平台”、“云服务”、“数据中心”等。服务器2503(1)-(P)中的每一者包括处理器2517和存储器2519,所述存储器可存储或另外有权访问3D身体模型系统2501。
网络2502可以是任何有线网络、无线网络或它们的组合,并且可整体或部分地包括互联网。另外,网络2502可以是个人区域网、局域网、广域网、有线电视网络、卫星网络、蜂窝电话网络或它们的组合。网络2502还可以是可能通过各个不同方运营的链接网络的公共可访问网络,诸如互联网。在一些实现方式中,网络2502可以是专用网络或半专用网络,诸如公司或大学内联网。网络2502可包括一个或多个无线网络,诸如全球移动通信系统(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或某一其他类型的无线网络。用于经由互联网或其他前述类型的通信网络中的任一者进行通信的协议和部件对于计算机通信领域的技术人员来说是众所周知的,并且因此不需要在本文更详细地描述。
本文描述的计算机、服务器、装置等具有必需的电子器件、软件、存储器、存储装置、数据库、固件、逻辑/状态机、微处理器、通信链路、显示器或其他视觉或音频用户接口、打印装置以及任何其他输入/输出接口以提供本文描述的功能或服务中的任一者和/或实现本文描述的结果。而且,相关领域中的普通技术人员将认识到,此类计算机、服务器、装置等的用户可操作键盘、小键盘、鼠标、尖笔、触摸屏或其他装置(未示出)或方法来与计算机、服务器、装置等交互,或者“选择”本公开的项目、个性化3D身体模型、身体测量结果和/或任何其他方面。
3D身体模型系统2501、应用2525和/或便携式装置2530可使用任何具有网络功能的应用或特征或互联网应用或特征,或包括电子邮件或其他消息接发技术的任何其他客户端-服务器应用或特征,以连接到网络2502或诸如通过短消息或多媒体消息接发服务(SMS或MMS)文本消息彼此通信。例如,服务器2503-1、2503-2……2503-P可适于经由网络2502实时地或准实时地或在一个或多个线下过程中将呈同步或异步消息的形式的信息或数据从3D身体模型系统2501传输到便携式装置2530的处理器2526或其他部件或任何其他计算机装置。相关领域中的普通技术人员将认识到,3D身体模型系统2501可操作能够在网络上进行通信的若干计算装置中的任一者,所述计算装置包括(但不限于)机顶盒、个人数字助理、数字媒体播放器、上网机、膝上型计算机、桌上型计算机、电子书阅读器、蜂窝式电话等。用于提供此类装置之间的通信的协议和部件对于计算机通信领域的技术人员而言是众所周知的,并且不需要在本文更详细地描述。
本文描述的数据和/或计算机可执行指令、程序、固件、软件等(在本文还称为“计算机可执行”部件)可存储在计算机可读介质上,所述计算机可读介质位于计算机内或者能够由计算机或计算机部件访问,所述计算机或计算机部件诸如服务器2503-1、2503-2……2503-P、处理器2526或由应用2525、3D身体模型系统2501和/或便携式装置2530利用并且具有在被处理器(例如,中央处理单元或“CPU”)执行时致使所述处理器执行本文描述的功能、服务和/或方法中的全部或一部分的指令序列的任何其他计算机或控制系统。可使用与计算机可读介质相关联的驱动器机构或经由外部连接将此类计算机可执行指令、程序、软件等加载到一个或多个计算机的存储器中,所述驱动器机构诸如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、网络接口等。
还可提供本公开的系统和方法的一些实现方式作为计算机可执行程序产品,所述计算机可执行程序产品包括在上面存储有指令(以压缩或未压缩形式)的非暂时性机器可读存储介质,可使用所述指令来编程计算机(或其他电子装置)以执行本文描述的过程或方法。本公开的机器可读存储介质可包括(但不限于)硬盘驱动器、软盘、光盘、CD-ROM、DVD、ROM、RAM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存存储器、磁卡或光学卡、固态存储器装置或可适合于存储电子指令的其他类型的介质/机器可读介质。此外,还可提供实现方式作为包括暂时性机器可读信号(以压缩或未压缩形式)的计算机可执行程序产品。机器可读信号的示例(无论是否使用载波调制)可包括(但不限于)操控或运行计算机程序的计算机系统或机器可被配置为访问的信号,或者包括可通过互联网或其他网络下载的信号。
本文公开的实现方式可包括计算机实施的方法,所述计算机实施的方法包括以下操作中的一者或多者:确定身体的体脂测量值;确定与身体相对应的个性化三维(“3D”)身体参数;接收表示身体的目标体脂测量值的目标体脂测量值;至少部分地基于个性化3D身体参数和目标体脂测量值而确定表示在目标体脂测量值下的身体的预测外观的所预测的个性化3D身体参数;至少部分地基于所预测的个性化3D身体参数而生成身体的所预测的个性化3D身体模型,所述所预测的个性化3D身体模型表示在目标体脂测量值下的身体的预测外观;以及在显示器上呈现所预测的个性化3D身体模型。
任选地,所述计算机实施的方法还可包括至少整合所述个性化3D身体模型和所述所预测的个性化3D身体模型以产生3D身体模型调整器,所述3D身体模型调整器包括表示个性化3D身体模型与所预测的个性化3D身体模型之间的身体的预测外观的多个个性化3D身体模型。任选地,所述计算机实施的方法还可包括以下操作中的一者或多者:确定与身体相对应的非个性化3D身体参数;至少部分地基于目标体脂测量值而确定所预测的非个性化3D身体参数;确定所预测的非个性化3D身体参数与非个性化3D身体参数之间的增量;以及将增量应用于个性化3D身体参数以产生所预测的个性化3D身体参数。任选地,生成所预测的个性化3D身体模型还可包括以下操作中的一者或多者:确定所述增量不超过阈值,并且响应于确定所述增量不超过阈值,至少部分地基于所预测的个性化3D身体参数而变换个性化3D身体模型的纹理或着色中的至少一者,以产生变换后的纹理或变换后的着色;以及将变换后的纹理或变换后的着色中的至少一者应用于所预测的个性化3D身体模型。
本文公开的实现方式可包括计算系统,所述计算系统包括一个或多个处理器和存储程序指令的存储器。所述程序指令在由一个或多个处理器执行时可致使一个或多个处理器至少进行以下操作:确定身体的身体测量的至少一个目标身体测量值;至少部分地基于所述目标身体测量值而确定与具有更改后的身体测量值的身体的预测外观相对应的所预测的个性化3D身体参数;至少部分地基于所预测的个性化3D身体参数而生成表示具有目标身体测量值的身体的预测外观的所预测的个性化3D身体模型;以及呈现所预测的个性化3D身体模型的至少一部分。
任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:确定与身体的外观相对应的个性化3D身体参数;确定与身体的身体测量结果相对应的非个性化3D身体参数;确定至少与至少一个更改后的身体测量值相对应的所预测的非个性化3D身体参数;确定所预测的非个性化3D身体参数与非个性化3D身体参数之间的增量;以及将所述增量应用于个性化3D身体参数以产生所预测的个性化3D身体参数。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:确定所述增量超过阈值,并且响应于确定所述增量超过阈值,将通用着色或通用纹理应用于所预测的个性化3D身体模型。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:确定所述增量不超过阈值,并且响应于确定所述增量不超过阈值,变换表示身体的外观的个性化3D身体模型的着色或纹理中的至少一者,以产生与所预测的个性化3D身体模型相对应的变换后的纹理或变换后的着色;以及将变换后的纹理或变换后的着色中的至少一者应用于所预测的个性化3D身体模型。任选地,目标身体测量值可以是身体的重量、身体的体脂测量值或身体的肌肉质量中的至少一者。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:至少部分地基于个性化3D身体参数而生成身体的个性化3D身体模型,其中所述个性化3D身体模型不同于所预测的个性化3D身体模型。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:生成第二所预测的个性化3D身体模型,其中所述第二所预测的个性化3D身体模型表示具有在目标身体测量值与当前身体测量值之间的第二身体测量值的身体;整合表示身体的个性化3D身体模型、所预测的个性化3D身体模型或所述第二所预测的个性化3D身体模型中的至少两者以产生3D身体模型调整器,所述3D身体模型调整器包括具有在当前身体测量值与更改后的身体测量值之间的不同身体测量值的身体的3D表示;以及呈现个性化3D身体模型调整器,使得用户可与3D身体模型调整器交互并且查看具有不同身体测量值的身体的不同3D表示。任选地,在由一个或多个处理器执行时致使所述一个或多个处理器整合个性化3D身体模型、所预测的个性化3D身体模型或第二所预测的个性化3D身体模型中的至少两者的所述程序指令还可包括在由一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作的指令:对个性化3D身体模型、所预测的个性化3D身体模型或第二所预测的个性化3D身体模型中的至少两者的个性化3D身体模型求平均。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:确定身体的多个历史个性化3D身体参数是已知的;针对所述身体并且至少部分地基于所述多个历史个性化3D身体参数而确定由身体测量结果的变化引起的个性化3D身体参数的变化;以及至少部分地基于所述变化而选择神经网络,其中所述神经网络用于生成所预测的个性化3D身体参数。任选地,所述程序指令在由一个或多个处理器执行时可进一步致使所述一个或多个处理器至少进行以下操作:接收指示身体的至少一种活动类型的变化的活动目标;以及至少部分地基于所述活动类型而选择神经网络,其中所述神经网络确定所预测的个性化3D身体参数。任选地,所述活动类型可以是有氧运动活动或举重活动中的至少一者,并且可基于对应于有氧运动活动或举重活动并且表示由有氧运动活动或举重活动引起的身体模型变化的训练数据来选择所述神经网络。
本文公开的实现方式可包括一种方法,所述方法包括以下操作中的一者或多者:确定身体的个性化3D身体参数;至少部分地基于个性化3D身体参数而生成表示身体的外观的个性化3D身体模型;接收目标身体测量值,其中目标身体测量值是与当前身体测量值的值不同的值;使用一个或多个神经网络来确定具有目标身体测量值的身体的所预测的个性化3D身体参数;至少部分地基于所预测的个性化3D身体参数而生成表示具有目标身体测量值的身体的预测外观的所预测的个性化3D身体模型;以及呈现所预测的个性化3D身体模型。
任选地,所述方法还可包括以下操作中的一者或多者:使用一个或多个神经网络来确定所预测的非个性化3D身体参数;确定所预测的非个性化3D身体参数与非个性化3D身体参数之间的增量;以及将增量应用于个性化3D身体参数以产生所预测的个性化3D身体参数。
任选地,所述方法还可包括以下操作中的一者或多者:确定身体的历史个性化3D身体参数,所述历史个性化3D身体参数指示在先前时间点的身体的实际个性化3D身体参数;至少部分地基于所述历史个性化3D身体参数而确定指示身体的实际身体参数变化的个性化3D身体参数变化;以及至少部分地基于所述历史个性化3D身体参数而更改神经网络。任选地,所述方法还可包括将纹理或着色中的至少一者应用于所预测的个性化3D身体模型,其中所述纹理或所述着色中的所述至少一者至少部分地基于身体的个性化3D身体模型的纹理或着色。任选地,所述方法还可包括:确定在个性化3D身体模型与所预测的个性化3D身体模型之间的增量不超过阈值,并且其中应用所述纹理或所述着色中的所述至少一者是响应于确定所述增量不超过阈值。
尽管本文已经使用用于实施本公开的系统和方法的示例性技术、部件和/或过程描述了本公开,但本领域技术人员应理解,可使用或执行实现本文描述的相同功能和/或结果并且包括在本公开的范围内的其他技术、部件和/或过程或本文描述的技术、部件和/或过程的其他组合和序列。
另外,根据本公开,如本文描述,训练机器学习工具(例如,人工神经网络或其他分类器)以及使用训练过的机器学习工具来检测身体姿势、确定身体点位置、所确定的身体方向和/或基于那个身体的一个或多个2D身体图像而生成身体的个性化3D身体模型可发生在多个分布式计算装置上或单个计算装置上。
同样地,虽然以上讨论主要集中在身体的个性化3D身体模型是由多个2D身体方向图像生成,但在一些实现方式中,可基于身体的单个2D身体方向图像而生成个性化3D身体模型。在其他实现方式中,所公开的实现方式可使用两个或更多个2D方向身体图像。同样地,可使用单个2D身体方向图像,诸如前视图图像,来确定身体测量结果。一般来说,2D身体方向图像越多,个性化3D身体模型的最终表示和尺寸可越准确。
此外,虽然以上实现方式是关于生成在2D身体图像中表示的人体的个性化3D身体模型来描述,但在其他实现方式中,可基于那些身体的2D图像以3D对诸如狗、猫或其他动物的非人体进行建模。因此,在所公开的实现方式中使用人体不应视为具有限制性。
应理解,除非本文另外明确或含蓄地指示,否则本文描述的任何其他实现方式还可应用、使用或并入关于本文的特定实现方式而描述的特征、特性、替代方案或修改中的任一者,并且本公开的图式和详细描述意在涵盖由所附权利要求限定的对各种实现方式的所有修改、等同物和替代方案。另外,关于本文描述的本公开的一种或多种方法或过程,包括(但不限于)在图4到图7、图11、图12A、图12B、图15、图17以及图19到图24中示出的流程图,不期望将呈现此类方法或过程的顺序解释为对要求保护的发明的任何限制,并且本文描述的任何数目的方法或过程步骤或框可按照任何顺序组合和/或并行地组合以实施本文描述的方法或过程。而且,本文的图式未按比例绘制。
除非另有具体规定或在使用时在上下文内以其他方式理解,否则诸如尤其是“可(can)”、“可以(could)”、“可能(might)”或“可能会(may)”等条件语言一般意在通过允许而非强制的方式传达某些实现方式可包括或有可能包括但不是强制或要求某些特征、元件和/或步骤。类似地,诸如“包括(include)”、“包括(including)”和“包括(includes)”的术语一般意在是指“包括(但不限于)”。因此,此类条件语言一般无意暗示一个或多个实现方式无论如何需要特征、元件和/或步骤,或者一个或多个实现方式一定包括用于在具有或不具有用户输入或提示的情况下决定是否在任何特定实现方式中包括或将执行这些特征、元件和/或步骤的逻辑。
结合本文公开的实现方式而描述的方法、过程或算法的元件可直接以硬件体现、以存储在一个或多个存储器装置中并且由一个或多个处理器执行的软件模块或以上述两者的组合体现。软件模块可驻留在RAM、闪存存储器、ROM、EPROM、EEPROM、寄存器、硬盘、可移除盘、CD ROM、DVD-ROM或任何其他形式的非暂时性计算机可读存储介质、介质或在本领域中已知的物理计算机存储装置中。示例性存储介质可耦合到处理器,使得所述处理器可从所述存储介质读取信息以及将信息写入到所述存储介质。在替代方案中,存储介质可与处理器成一体。存储介质可以是易失性或非易失性的。处理器和存储介质可驻留在ASIC中。ASIC可驻留于用户终端中。在替代方案中,处理器及存储介质可作为分立部件驻留于用户终端中。
除非另有具体规定,否则诸如措辞“X、Y或Z中的至少一者”或“X、Y和Z中的至少一者”等析取语言在一般用于呈现项目、项等的上下文中另外被理解为可以是X、Y或Z或它们的任何组合(例如,X、Y和/或Z)。因此,此类析取语言一般无意并且将不暗示某些实现方式需要存在X中的至少一者、Y中的至少一者或Z中的至少一者。
除非另外明确规定,否则诸如“一”或“一种”等冠词一般应理解为包括一个或多个所描述的物品。因此,诸如“被配置为……的装置”等措辞意在包括一个或多个所述装置。此类一个或多个所述装置还可共同地被配置为执行所陈述的叙述。例如,“被配置为执行叙述A、B和C的处理器”可包括与被配置为执行叙述B和C的第二处理器联合工作的被配置为执行叙述A的第一处理器。
本文使用的程度语言,诸如如本文使用的术语“约”、“大致”、“一般”、“几乎”或“基本上”,表示接近所陈述的值、量或特性的仍然执行期望的功能或实现期望的结果的值、量或特性。例如,术语“约”、“大致”、“一般”、“几乎”或“基本上”可指在小于所陈述的量的10%、5%、1%、0.1%和0.01%以内的量。
尽管已经关于本发明的说明性实现方式描述和说明了本发明,但可在不脱离本公开的精神和范围的情况下在本发明中以及对本发明作出前述和各种其他添加和省略。
Claims (15)
1.一种计算机实施的方法,所述计算机实施的方法包括:
确定身体的体脂测量值;
确定与所述身体相对应的个性化三维(“3D”)身体参数;
接收表示所述身体的目标体脂测量值的目标体脂测量值;
至少部分地基于所述个性化3D身体参数和所述目标体脂测量值而确定表示在所述目标体脂测量值下的所述身体的预测外观的所预测的个性化3D身体参数;
至少部分地基于所述所预测的个性化3D身体参数而生成所述身体的所预测的个性化3D身体模型,所述所预测的个性化3D身体模型表示在所述目标体脂测量值下的所述身体的所述预测外观;以及
在显示器上呈现所述所预测的个性化3D身体模型。
2.如权利要求1所述的计算机实施的方法,所述计算机实施的方法还包括:
至少整合所述个性化3D身体模型和所述所预测的个性化3D身体模型以产生3D身体模型调整器,所述3D身体模型调整器包括表示所述个性化3D身体模型与所述所预测的个性化3D身体模型之间的所述身体的预测外观的多个个性化3D身体模型。
3.如权利要求1或2中任一项所述的计算机实施的方法,所述计算机实施的方法还包括:
确定与所述身体相对应的非个性化3D身体参数;
至少部分地基于所述目标体脂测量值而确定所预测的非个性化3D身体参数;
确定所述所预测的非个性化3D身体参数与所述非个性化3D身体参数之间的增量;以及
将所述增量应用于所述个性化3D身体参数以产生所述所预测的个性化3D身体参数。
4.一种计算系统,所述计算系统包括:
一个或多个处理器;以及
存储器,所述存储器存储在由所述一个或多个处理器执行时致使所述一个或多个处理器至少进行以下操作的程序指令:
确定身体的身体测量的至少一个目标身体测量值;
至少部分地基于所述目标身体测量值而确定与具有更改后的身体测量值的所述身体的预测外观相对应的所预测的个性化3D身体参数;
至少部分地基于所述所预测的个性化3D身体参数而生成表示具有所述目标身体测量值的所述身体的所述预测外观的所预测的个性化3D身体模型;以及
呈现所述所预测的个性化3D身体模型的至少一部分。
5.如权利要求4所述的计算系统,其中所述程序指令在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作:
确定与所述身体的外观相对应的个性化3D身体参数;
确定与所述身体的身体测量结果相对应的非个性化3D身体参数;
确定至少与至少一个更改后的身体测量值相对应的所预测的非个性化3D身体参数;
确定所述所预测的非个性化3D身体参数与所述非个性化3D身体参数之间的增量;以及
将所述增量应用于所述个性化3D身体参数以产生所述所预测的个性化3D身体参数。
6.如权利要求4或5中任一项所述的计算系统,其中所述目标身体测量值是所述身体的重量、所述身体的体脂测量值或所述身体的肌肉质量中的至少一者。
7.如权利要求4、5或6中任一项所述的计算系统,其中所述程序指令在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作:
至少部分地基于个性化3D身体参数而生成所述身体的个性化3D身体模型,其中所述个性化3D身体模型不同于所述所预测的个性化3D身体模型。
8.如权利要求4、5、6或7中任一项所述的计算系统,其中所述程序指令在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作:
生成第二所预测的个性化3D身体模型,其中所述第二所预测的个性化3D身体模型表示具有在所述目标身体测量值与当前身体测量值之间的第二身体测量值的所述身体;
整合表示所述身体的个性化3D身体模型、所述所预测的个性化3D身体模型或所述第二所预测的个性化3D身体模型中的至少两者以产生3D身体模型调整器,所述3D身体模型调整器包括具有在所述当前身体测量值与所述更改后的身体测量值之间的不同身体测量值的所述身体的3D表示;以及
呈现所述个性化3D身体模型调整器,使得用户可与所述3D身体模型调整器交互并且查看具有所述不同身体测量值的所述身体的不同3D表示。
9.如权利要求8所述的计算系统,其中在由所述一个或多个处理器执行时致使所述一个或多个处理器整合所述个性化3D身体模型、所述所预测的个性化3D身体模型或所述第二所预测的个性化3D身体模型中的所述至少两者的所述程序指令还包括在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作的指令:
对所述个性化3D身体模型、所述所预测的个性化3D身体模型或所述第二所预测的个性化3D身体模型中的至少两者的个性化3D身体模型求平均。
10.如权利要求4、5、6、7、8或9中任一项所述的计算系统,其中所述程序指令在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作:
确定所述身体的多个历史个性化3D身体参数是已知的;
针对所述身体并且至少部分地基于所述多个历史个性化3D身体参数而确定由所述身体测量结果的变化引起的个性化3D身体参数的变化;以及
至少部分地基于所述变化而选择神经网络,其中所述神经网络用于生成所述所预测的个性化3D身体参数。
11.如权利要求4、5、6、7、8、9或10中任一项所述的计算系统,其中所述程序指令在由所述一个或多个处理器执行时进一步致使所述一个或多个处理器至少进行以下操作:
接收指示所述身体的至少一种活动类型的变化的活动目标;以及
至少部分地基于所述活动类型而选择神经网络,其中所述神经网络确定所述所预测的个性化3D身体参数。
12.一种方法,所述方法包括:
确定身体的个性化3D身体参数;
至少部分地基于所述个性化3D身体参数而生成表示所述身体的外观的个性化3D身体模型;
接收目标身体测量值,其中所述目标身体测量值是与当前身体测量值的值不同的值;
使用一个或多个神经网络来确定具有所述目标身体测量值的所述身体的所预测的个性化3D身体参数;
至少部分地基于所述所预测的个性化3D身体参数而生成表示具有所述目标身体测量值的所述身体的预测外观的所预测的个性化3D身体模型;以及
呈现所述所预测的个性化3D身体模型。
13.如权利要求12所述的方法,所述方法还包括:
使用所述一个或多个神经网络来确定所预测的非个性化3D身体参数;
确定所述所预测的非个性化3D身体参数与非个性化3D身体参数之间的增量;以及
将所述增量应用于所述个性化3D身体参数以产生所述所预测的个性化3D身体参数。
14.如权利要求12或13中任一项所述的方法,所述方法还包括:
确定所述身体的历史个性化3D身体参数,所述历史个性化3D身体参数指示在先前时间点的所述身体的实际个性化3D身体参数;
至少部分地基于所述历史个性化3D身体参数而确定指示所述身体的实际身体参数变化的个性化3D身体参数变化;以及
至少部分地基于所述历史个性化3D身体参数而更改所述神经网络。
15.如权利要求12、13或14中任一项所述的方法,所述方法还包括:
将纹理或着色中的至少一者应用于所述所预测的个性化3D身体模型,其中所述纹理或所述着色中的所述至少一者至少部分地基于所述身体的个性化3D身体模型的纹理或着色。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/584,360 | 2019-09-26 | ||
US16/584,360 US11069131B2 (en) | 2019-09-26 | 2019-09-26 | Predictive personalized three-dimensional body models |
PCT/US2020/052569 WO2021062047A1 (en) | 2019-09-26 | 2020-09-24 | Predictive personalized three-dimensional body models |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114514562A true CN114514562A (zh) | 2022-05-17 |
CN114514562B CN114514562B (zh) | 2023-06-13 |
Family
ID=72811989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080067773.5A Active CN114514562B (zh) | 2019-09-26 | 2020-09-24 | 预测性个性化三维身体模型 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11069131B2 (zh) |
EP (1) | EP4035168B1 (zh) |
KR (1) | KR20220066366A (zh) |
CN (1) | CN114514562B (zh) |
WO (1) | WO2021062047A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114822143A (zh) * | 2022-06-29 | 2022-07-29 | 深圳前海壹路科技有限公司 | 军事训练智能考核管理系统和方法 |
CN117542123A (zh) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3671660A1 (en) * | 2018-12-20 | 2020-06-24 | Dassault Systèmes | Designing a 3d modeled object via user-interaction |
EP3731185A1 (en) * | 2019-04-26 | 2020-10-28 | Tata Consultancy Services Limited | Weakly supervised learning of 3d human poses from 2d poses |
US11903730B1 (en) * | 2019-09-25 | 2024-02-20 | Amazon Technologies, Inc. | Body fat measurements from a two-dimensional image |
EP4172938A4 (en) * | 2020-06-26 | 2024-04-03 | INTEL Corporation | DEVICE AND METHOD FOR THREE-DIMENSIONAL POSE ESTIMATION |
US12004871B1 (en) * | 2020-08-05 | 2024-06-11 | Amazon Technologies, Inc. | Personalized three-dimensional body models and body change journey |
KR20220083166A (ko) * | 2020-12-11 | 2022-06-20 | 삼성전자주식회사 | 인체 추정 방법 및 장치 |
CN113065506B (zh) * | 2021-04-16 | 2023-12-26 | 南京大学 | 一种人体姿态识别方法及系统 |
US11854146B1 (en) | 2021-06-25 | 2023-12-26 | Amazon Technologies, Inc. | Three-dimensional body composition from two-dimensional images of a portion of a body |
US11887252B1 (en) | 2021-08-25 | 2024-01-30 | Amazon Technologies, Inc. | Body model composition update from two-dimensional face images |
US20230065288A1 (en) * | 2021-08-30 | 2023-03-02 | Apple Inc. | Electronic Devices with Body Composition Analysis Circuitry |
US12121007B2 (en) | 2021-09-07 | 2024-10-22 | Hill's Pet Nutrition, Inc. | Method for determining biometric data relating to an animal based on image data |
US11861860B2 (en) | 2021-09-29 | 2024-01-02 | Amazon Technologies, Inc. | Body dimensions from two-dimensional body images |
CN113643789B (zh) * | 2021-10-15 | 2022-04-01 | 北京京东方技术开发有限公司 | 健身方案信息的生成方法、装置和系统 |
KR102698220B1 (ko) * | 2021-11-30 | 2024-08-26 | 이채빈 | 음영도 기반 체지방 측정 장치 및 방법 |
CN114327168B (zh) * | 2021-12-30 | 2024-08-20 | 京东方科技集团股份有限公司 | 人体模型处理方法和装置、电子设备和存储介质 |
JPWO2023223476A1 (zh) * | 2022-05-18 | 2023-11-23 | ||
US20240054722A1 (en) * | 2022-08-10 | 2024-02-15 | MY3DMeta Private Limited | Method and system for generating three-dimensional (3d) model(s) from a two-dimensional (2d) image of an object |
US20240062445A1 (en) * | 2022-08-18 | 2024-02-22 | Sony Interactive Entertainment Inc. | Image based avatar customization |
KR102705610B1 (ko) * | 2022-11-28 | 2024-09-11 | 주식회사 인공지능연구원 | 다시점 카메라 기반 다관절 객체의 입체영상캡쳐 장치 및 방법 |
CN116761075B (zh) * | 2023-05-09 | 2024-05-24 | 深圳显融医疗科技有限公司 | 基于内窥镜的图像处理方法、装置、电子设备及存储介质 |
KR102671280B1 (ko) * | 2023-10-10 | 2024-05-31 | 엠앤앤에이치 주식회사 | 3d 볼류메트릭 동영상에서 다수 프레임 아바타 객체의 신체 비율 자동 보정 장치 및 그의 방법 |
KR102718307B1 (ko) * | 2024-02-02 | 2024-10-15 | 하대수 | 인공지능 기반의 운동 데이터 연계 가상 캐릭터를 생성 및 이용하는 방법 및 시스템 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2831674A1 (en) * | 2003-10-10 | 2005-04-10 | Inter-Images Partners, L.P. | System and method for assessment of health risks and visualization of weight loss and muscle gain |
US20130325493A1 (en) * | 2012-05-29 | 2013-12-05 | Medical Avatar Llc | System and method for managing past, present, and future states of health using personalized 3-d anatomical models |
US20140340479A1 (en) * | 2013-05-03 | 2014-11-20 | Fit3D, Inc. | System and method to capture and process body measurements |
US20160247017A1 (en) * | 2010-06-08 | 2016-08-25 | Raj Sareen | Method and system for body scanning and display of biometric data |
CA2884668A1 (en) * | 2015-03-13 | 2016-09-13 | Unknown | Anatomically isolated virtual 3d model |
CN109409348A (zh) * | 2018-12-29 | 2019-03-01 | 北京卡路里信息技术有限公司 | 一种用户体征的确定方法、装置、设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224830B2 (en) | 2003-02-04 | 2007-05-29 | Intel Corporation | Gesture detection from digital video images |
WO2006058292A2 (en) | 2004-11-29 | 2006-06-01 | Purdue Research Foundation | Methods for retrieving shapes and drawings |
WO2008130907A1 (en) | 2007-04-17 | 2008-10-30 | Mikos, Ltd. | System and method for using three dimensional infrared imaging to identify individuals |
US9959453B2 (en) * | 2010-03-28 | 2018-05-01 | AR (ES) Technologies Ltd. | Methods and systems for three-dimensional rendering of a virtual augmented replica of a product image merged with a model image of a human-body feature |
US9852543B2 (en) | 2015-03-27 | 2017-12-26 | Snap Inc. | Automated three dimensional model generation |
RU2718483C2 (ru) | 2016-09-23 | 2020-04-08 | Общество с ограниченной ответственностью "Гардиан Стекло Сервиз" | Система и/или способ распознавания покрытия для стекла |
US10657709B2 (en) | 2017-10-23 | 2020-05-19 | Fit3D, Inc. | Generation of body models and measurements |
US11064173B2 (en) | 2017-12-14 | 2021-07-13 | International Business Machines Corporation | Photographic directional light reference for articulating devices |
US20200193710A1 (en) | 2018-12-12 | 2020-06-18 | Koninklijke Philips N.V. | Rendering visual representations in an augmented and/or virtual reality environment |
US10489683B1 (en) | 2018-12-17 | 2019-11-26 | Bodygram, Inc. | Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks |
-
2019
- 2019-09-26 US US16/584,360 patent/US11069131B2/en active Active
-
2020
- 2020-09-24 WO PCT/US2020/052569 patent/WO2021062047A1/en unknown
- 2020-09-24 CN CN202080067773.5A patent/CN114514562B/zh active Active
- 2020-09-24 KR KR1020227013365A patent/KR20220066366A/ko unknown
- 2020-09-24 EP EP20789364.5A patent/EP4035168B1/en active Active
-
2021
- 2021-07-15 US US17/377,214 patent/US11836853B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2831674A1 (en) * | 2003-10-10 | 2005-04-10 | Inter-Images Partners, L.P. | System and method for assessment of health risks and visualization of weight loss and muscle gain |
US20160247017A1 (en) * | 2010-06-08 | 2016-08-25 | Raj Sareen | Method and system for body scanning and display of biometric data |
US20130325493A1 (en) * | 2012-05-29 | 2013-12-05 | Medical Avatar Llc | System and method for managing past, present, and future states of health using personalized 3-d anatomical models |
US20140340479A1 (en) * | 2013-05-03 | 2014-11-20 | Fit3D, Inc. | System and method to capture and process body measurements |
CA2884668A1 (en) * | 2015-03-13 | 2016-09-13 | Unknown | Anatomically isolated virtual 3d model |
CN109409348A (zh) * | 2018-12-29 | 2019-03-01 | 北京卡路里信息技术有限公司 | 一种用户体征的确定方法、装置、设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
MAKEHUMAN: "anonymous:"Documentation:What is MakeHuman?"", 《URL:HTTP://WWW.MAKEHUMANCOMMUNITY.ORG/WIKI/DOCUMENTATION:WHAT IS MAKEHUMAN%3F》 * |
NAKEDLABS.COM: "无", 《URL:HTTPS://WEB.ARCHIVE.ORG/WEB/20180802014000/HTTPS://NAKEDLABS.COM/》 * |
WWW .BMI3D .DE: "anonymous:"BMI 3D"", 《URL:HTTPS://WEB.ARCHIVE.ORG/WEB/20181125231845/HTTPS://WWW.BMI3D.DE/RECHNER.HTML》 * |
WWW .CHANGEINSECONDS.COM: "anonymous:"Virtual Weight Loss Simulator"", 《URL:HTTPS://WEB.ARCHIVE.ORG/WEB/20161206202928/HTTP://WWW.CHANGEINSECONDS.COM/SIMULATOR/》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114822143A (zh) * | 2022-06-29 | 2022-07-29 | 深圳前海壹路科技有限公司 | 军事训练智能考核管理系统和方法 |
CN114822143B (zh) * | 2022-06-29 | 2022-09-02 | 深圳前海壹路科技有限公司 | 军事训练智能考核管理系统和方法 |
CN117542123A (zh) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
CN117542123B (zh) * | 2024-01-09 | 2024-04-26 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4035168A1 (en) | 2022-08-03 |
WO2021062047A1 (en) | 2021-04-01 |
KR20220066366A (ko) | 2022-05-24 |
US11836853B2 (en) | 2023-12-05 |
US20210097759A1 (en) | 2021-04-01 |
EP4035168B1 (en) | 2024-06-19 |
US11069131B2 (en) | 2021-07-20 |
US20210343074A1 (en) | 2021-11-04 |
CN114514562B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114514562B (zh) | 预测性个性化三维身体模型 | |
US11010896B2 (en) | Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation | |
JP7200139B2 (ja) | 仮想顔化粧の除去、高速顔検出およびランドマーク追跡 | |
KR102290040B1 (ko) | 신체 이미징 | |
US11861860B2 (en) | Body dimensions from two-dimensional body images | |
JP2020522285A (ja) | 全身測定値抽出のためのシステムおよび方法 | |
CA2734143C (en) | Method and apparatus for estimating body shape | |
WO2020078119A1 (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
JP2022521844A (ja) | 深層学習ネットワークを使用してユーザ写真から体重を測定するシステム及び方法 | |
CN109271930B (zh) | 微表情识别方法、装置与存储介质 | |
JP2009020761A (ja) | 画像処理装置及びその方法 | |
US11580693B1 (en) | Two-dimensional image collection for three-dimensional body composition modeling | |
US11423630B1 (en) | Three-dimensional body composition from two-dimensional images | |
US11798299B2 (en) | Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation | |
CN115346272A (zh) | 基于深度图像序列的实时摔倒检测方法 | |
US11887252B1 (en) | Body model composition update from two-dimensional face images | |
US20240020901A1 (en) | Method and application for animating computer generated images | |
US11854146B1 (en) | Three-dimensional body composition from two-dimensional images of a portion of a body | |
US12004871B1 (en) | Personalized three-dimensional body models and body change journey | |
CN114511877A (zh) | 一种行为识别方法、装置、存储介质及终端 | |
US11903730B1 (en) | Body fat measurements from a two-dimensional image | |
KR20220134362A (ko) | 딥러닝 기반의 복수의 의류 가상착용 방법 및 그 시스템 | |
US12141924B1 (en) | Cohort based body change journeys | |
US20240087266A1 (en) | Deforming real-world object using image warping | |
EP4435744A1 (en) | Activity recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |