首页> 中国专利> 用于人体姿势和形状估计的系统和方法

用于人体姿势和形状估计的系统和方法

摘要

人体的姿势和形状可以基于与人体相关联的关节位置信息恢复。该关节位置信息可以基于人体的图像或从人类运动捕捉系统的输出来导出。人体姿势和形状的恢复可以由计算机实施的人工神经网络(ANN)来执行,该ANN被训练为使用训练数据集来执行恢复任务,该训练数据集包括成对的关节位置信息和人体模型参数。ANN的训练可以根据被设计为提高恢复的准确度的多个约束并且通过以下方式来进行:人工地操纵训练数据,使得ANN即使在部分观察到的关节位置的情况下也可以学习恢复人体的姿势和形状。

著录项

说明书

本申请要求2019年11月27日提交的临时美国专利申请号62/941,203和2020年8月17日提交的临时美国专利申请号16/995,446的权益,此处以引证的方式将该申请的公开内容全文并入。

技术领域

本申请涉及人体模型估计领域。

背景技术

真实地表示患者的姿势和形状的计算机生成的人体模型可以用于广泛的医学应用中,包括例如患者定位、手术导航、统一的医学记录分析等。比如,在放射治疗和医学成像中,成功常常取决于将患者放置和维持在期望位置使得可以以精确且准确的方式执行治疗或扫描的能力。具有与患者在这些情况下的身体特征(诸如患者的体形和姿势)有关的实时知识可带来许多益处,诸如根据扫描或治疗方案更快且更准确地定位患者,在多次扫描或多个治疗环节中获得更一致的结果等。在其他示例情况下,诸如在手术过程期间,关于患者体形的信息可以为手术计划和执行两者提供洞察和指导。比如,该信息可以用于在患者的手术区域周围定位和导航。并且当实时地视觉呈现时,该信息还可以提供用于在手术过程期间监测患者状态的装置。

用于恢复患者的人体模型的常规技术依赖于具有关于患者关节位置的全面知识,并且可能仅能够基于关节位置来恢复患者的姿势。然而,在许多医疗设置中,患者的身体经常至少部分地被医疗设备和/或衣物挡住,并且在这些设置中获得关于患者体形的信息也可能是有益的。因此,非常期望具有恢复患者的姿势和形状两者的能力,即使仅具有关于患者的身体特征的有限信息。

发明内容

本文描述了用于基于人的一个或多个关节位置来恢复人的姿势和形状的系统、方法和装置。关节位置可以基于人的图像,诸如包括表示人的身体特征的颜色和/或深度信息的图像,来确定。关节位置可以是人的所有关节位置的子集(例如,不包括被遮挡或以其他方式未知的关节)。系统、方法和装置可以包括一个或多个处理器和存储指令的一个或多个存储装置,指令在被一个或多个处理器实行时,使得一个或多个处理器用人工神经网络进行估计并向人工神经网络提供人的一个或多个关节位置有关的信息。人工神经网络可以基于与人的一个或多个关节位置有关的信息,来确定与人的姿势相关联的第一多个参数和与人的形状相关联的第二多个参数。基于第一多个参数和第二多个参数,可以生成表示人的姿势和形状的一个或多个人体模型。

人工神经网络可以使用训练数据来训练,以执行上述任务中的一个或多个,该训练数据包括人体的关节位置。在训练期间,人工神经网络可以基于在训练数据中包括的关节位置来预测与人体相关联的姿势和形状参数。人工神经网络然后可以从预测的姿势和形状参数推断人体的关节位置,并且基于推断的关节位置与在训练数据中包括的关节位置之间的差异来调节(例如,优化)人工神经网络的执行参数(例如,权重)。在示例中,训练数据还可以包括与人体的关节位置相关联的姿势和形状参数,并且人工神经网络还可以基于预测的姿势和形状参数与在训练数据中包括的姿势和形状参数之间的差异来调节(例如,优化)其执行参数。

为了获取基于关于人的关节位置的部分知识(例如,人的某些关节位置可能被遮挡、观察不到或者以其他方式不为神经网络所知)来预测姿势和形状参数的能力,对人工神经网络的训练可以涉及向人工神经网络提供关节位置的子集并且迫使人工神经网络使用关节位置的子集来预测姿势和形状参数。比如,训练可以利用与人体相关联的现有参数人体模型来确定人体的多个关节位置,然后从人工神经网络的输入中随机地排除多个关节位置的子集(例如,通过人工地将关节位置的子集当做未观察到的和不可用的)。

本文所述的关节位置可以包括人的二维(2D)和/或三维(3D)关节位置。当使用至少2D关节位置来进行训练时,人工神经网络可以在训练期间基于2D关节位置来预测姿势和形状参数,使用所预测的姿势和形状参数来推断人体的3D关节位置,并且将3D关节位置投影到图像空间中,以获得对应的2D关节位置。然后,人工神经网络可以基于所投影的2D关节位置与在训练数据中包括的2D关节位置之间的差异来调节其执行参数。

本文所述的姿势和形状参数可以单独地(例如,彼此独立地)恢复。例如,所恢复的姿势参数可以独立于体形(例如,独立于人的身高和体重)。因此,除了医学应用之外,本文所述的技术可以与各种人类运动捕捉系统(例如,系统可以输出3D关节位置)一起用于例如游戏开发、动画开发、电影的特效等中。

附图说明

从以下结合附图以示例方式给出的描述中,可以更详细地理解本文公开的示例。

图1是例示了用于基于与人相关联的关节位置信息来恢复人的姿势和形状的示例系统的框图。

图2是例示了训练人工神经网络以学习用于预测人的姿势和形状的模型的示例的框图。

图3是例示了示例神经网络训练过程的流程图。

图4是例示了本文所述的示例神经网络系统的框图。

具体实施方式

在附图的各图中,通过示例而非限制性的方式例示了本公开。

图1是例示了示例系统100的图,该系统被配置为恢复人的姿势和形状,并且基于与人相关联的关节位置信息来生成表示这种恢复的人的姿势和形状的人体模型。如图所示,系统100可以被配置为接收关于人的关节位置102的信息。关节位置102可以包括2D关节位置(例如,表示2D关节位置的2D坐标、2D关键点、2D特征(二进制热图)等)。关节位置102可以包括3D关节位置(例如,表示3D关节位置的3D坐标、3D关键点、3D特征图等)。关节位置102还可以包括2D关节位置和3D关节位置的组合。关节位置102可以从人的图像导出,该图像诸如为人的彩色图像(例如,红-绿-蓝或RGB图像)、人的深度图像、或包括彩色信息和深度信息两者的人的图像(例如,彩色加深度或RGB-D图像)。这种图像可以由传感器(例如,RGB传感器、深度传感器、红外传感器等)、照相机或能够产生具有特定姿势和体形的人的视觉表示的另一合适装置(例如,医学成像装置)来捕捉。2D关节位置和/或3D关节位置例如可以使用一个或多个卷积编码器基于从图像提取的2D特征和/或3D特征来导出。卷积编码器的示例可以在共同转让的美国专利申请号16/863382中找到,该申请于2020年4月30日提交,标题为“Systems and Methods for Human Mesh Recovery,”,据此以引证的方式将该申请的公开内容全文并入。

关节位置102也可以从被配置为输出人的关节位置信息的系统或应用程序导出。这种系统或应用程序可以是例如在游戏开发、动画开发、特效生成(例如,用于电影)等中使用的人类运动捕捉系统。

关节位置102可以不包括如在图像中描绘或由人类运动捕捉系统输出的人的所有关节位置。例如,人的一个或多个关节位置可能在图像中被遮挡或观察不到,被上游装置或程序错误预测,或者以其他方式不为系统100所知。因此,系统100用来预测人的姿势和形状的关节位置102可以仅包括人的关节位置的子集。

系统100可以包括姿势和形状回归器104,其被配置为接收关节位置102(例如,作为输入),并且基于关节位置102确定与人的姿势相关联的多个参数θ和与人的形状相关联的多个参数β。姿势和形状回归器104可以使用人工神经网络(ANN)来实现,该ANN包括多个层,诸如一个或多个输入层、一个或多个隐层和/或一个或多个输出层。ANN的输入层可以被配置为接收关节位置102,并且将它们传递到后续层以便处理。各个输入层可以包括一个或多个通道,并且各个通道可以被配置为从相应数据源接收数据。ANN的隐层可以包括一个或多个卷积层、一个或多个池化层和/或一个或多个全连接(FC)层(例如,回归层)。例如,隐层可以包括具有修正线性单元(ReLU)激活函数的多个(例如,十个的堆叠)FC层,并且各个FC层可以包括具有相应权重的多个单元(例如,神经元),这些权重当被应用于与关节位置102相关联的特征时,基于与关节位置102相关联的特征来回归姿势参数θ和形状参数β。

在示例中,N个关节可以用以下向量来表示:[x1,y1,x2,y2,x3,y3...],其中,x和y表示各个关节的位置。这可以产生与N个关节中的每一个的x和y相对应的2N维向量。响应于接收到这种向量输入,ANN(例如,ANN的FC层)可以将输入向量渐进地变换为一个不同的维度。各个FC单元的后面可以是非线性激活单元(例如,ReLU)和/或下一个FC单元。基于该操作可以导出具有K维的输出向量,其中,K可以表示所估计的参数的数量。例如,如果姿势参数θ具有75维且形状参数β具有10维,那么K可以等于85(例如,K=75+10)。

在示例中,关节位置可以由诸如二进制热图的特征图来表示,由此可见,关节可以具有矩阵表示。可以组合多个这种矩阵(例如,对应于N个关节),以产生ANN的N通道(例如,每个关节一个通道)输入。在ANN的FC单元达到顶点之前,可以通过ANN的一个或多个卷积层处理输入,以产生表示姿势参数θ和形状参数β的K维输出向量。

在示例中,回归后的姿势参数θ可以包括72个参数(例如,用于23个关节中的每一个的3个参数和用于根关节的3个参数),并且回归后的形状参数β可以包括主成分分析(PCA)空间的多个系数(例如,前10个系数)。一旦确定了姿势和形状参数,就可以获得多个顶点(例如,基于72个姿势参数和10个形状参数的6890个顶点),用于构造表示人的姿势和形状的人体模型。比如,人体模型可以是统计参数微分模型,诸如定义以下函数的蒙皮多人线性(skinned multi-person linear,SMPL)模型:M(β;θ;Φ):

姿势和形状回归器104可以被配置为将姿势参数θ与形状参数β分开或独立地恢复。这种分开或独立例如可以通过在恢复操作期间应用姿势归一化来实现,使得可以在没有受试者的特定体形的知识的情况下估计姿势参数,反之亦然。由此恢复的姿势参数θ可以独立于体形(例如,独立于人的身高和/或体重),并且同样地,恢复的形状参数β也可以独立于姿势(例如,独立于人的关节角度)。这样,恢复的姿势参数或形状参数二者之一可以在没有恢复的姿势参数或形状参数中的另一者的情况下用于系统或应用程序(例如,人类运动捕捉系统)中。

姿势和形状回归器104可以被训练为使用训练数据来预测姿势参数θ和形状参数β,该训练数据包括人体的关节位置信息。关节位置信息可以与人体模型参数(例如,SMPL参数)配对,以将周期一致性目标引入训练。图2是例示了训练ANN 204(例如,姿势和形状回归器104)以学习模型的示例的图,该模型用于基于关节位置信息预测与人体模型相关联的姿势和形状参数。训练可以使用数据来进行,该数据包括关节位置信息202(例如,表示关节位置的2D或3D关键点或特征)和/或可以从其导出关节位置202的人体模型的对应参数206。这种成对的训练数据可以例如从公众可获得的人类运动捕捉(MoCap)数据库中获得,并用作用于优化ANN 204的参数的真实数据。

在训练期间,ANN 204可以接收关节位置信息202,并且使用ANN 204的初始执行参数(例如,与ANN 204的一个或多个全连接层相关联的初始权重)基于关节位置信息来预测姿势和形状参数208。初始执行参数例如可以通过从一个或多个概率分布或基于具有类似架构的另一神经网络的参数值采样它们来导出。在进行预测时,ANN 204可以将预测的姿势和形状参数208与真实数据参数206进行比较,并且根据损失函数计算参数损失210。损失函数可以例如基于预测的姿势和形状参数208与真实数据参数206之间的欧几里德(Euclidean)距离,例如,

ANN 204在调节其执行参数时可以另外考虑关节位置损失。例如,对ANN 204的训练还可以利用关节位置回归器212来基于预测的姿势和形状参数208推断关节位置214(例如,3D关节位置),并且通过最小化推断的关节位置214与输入关节位置202之间的差异来调节ANN 204的执行参数。关节位置回归器212(例如,它可以包括关节回归层)可以被配置为基于在输入处接收到的姿势和形状参数来输出关节位置。关节位置214例如可以通过将线性回归应用于一个或多个网格顶点来推断,这些顶点根据预测的姿势和形状参数208和/或SMPL模型确定。可以计算关节位置损失216,以表示推断的关节位置214与输入关节位置202之间的差异。例如,将输入关节位置202表示为J,并且将由ANN 204预测的姿势和形状参数208表示为G(J),则推断的关节位置214可以由X(G(J))表示,其中,X可以表示关节位置回归器212。因此,可以根据

因此,ANN 204可以以使总损失函数L最小化为目标来调节其执行参数(例如,权重)。例如,在获得初始姿势和形状估计

在示例实施方式中,ANN 204的训练可以使用带注释的2D关节位置(例如,仅使用带注释的2D关节位置或使用2D和3D关节位置)作为输入来进行。在训练期间,ANN 204可以基于输入的2D关节位置来预测姿势和形状参数208,并且基于预测的姿势和形状参数经由关节位置回归器212来推断3D关节位置。为了验证所预测参数208的准确度,ANN 204可以将推断出的3D关节位置投影到2D图像平面上,以获得对应的2D关节位置(例如,指示2D关节位置的2D坐标、关键点和/或特征)。ANN 204然后可以将所投影的2D关节位置与在输入处接收到的带注释的2D关节位置进行比较,并且基于损失函数来调节ANN 204的执行参数,该损失函数与带注释的2D关节位置和所投影的2D关节位置相关联。例如,投影可以基于弱透视照相机模型来执行,并且2D关节位置可以导出为x=sΠ(RX(β,θ))+t,其中,

ANN 204还可以被训练为基于人的关节位置的不完整(例如,部分)知识来预测人的姿势和形状。如上所述,ANN 204可能由于人的一些关节位置可能被遮挡、观察不到或以其他方式不为ANN 204所知,而仅拥有人的关节位置的这种不完全或部分知识。ANN 204的训练可以考虑到这种情况。例如,在ANN 204的训练期间,可以从ANN 204的输入中排除(例如,标记为不可用或观察不到)包括在训练数据中的关节位置的一个或多个随机选择的子集,并且可以强制ANN 204调节其执行参数,以适应不完整的输入(例如,可以强制ANN进行近似给定真实数据的预测,尽管仅具有关于关节位置的部分信息)。

图3是用于训练本文所述的神经网络系统(例如,图1中的姿势和形状回归器104或图2中的ANN 204)的示例过程300的流程图。过程300可以在302处开始,并且在304处,神经网络系统可以初始化其执行参数,诸如与神经网络系统的一个或多个隐层(例如,全连接层)相关联的权重。参数例如可以通过采样一个或多个概率分布或基于具有类似架构的另一神经网络的参数值来初始化。在306处,神经网络系统可以在输入处接收与人体相关联的关节位置信息,并且使用初始执行参数来处理关节位置信息。神经网络系统可以基于输入的关节位置信息来预测人体的姿势和形状。在308处,神经网络系统可以基于损失函数和与损失函数相关联(例如,用于使损失函数最小化)的梯度下降(例如,随机梯度下降)来确定需要对其执行参数进行的调节。损失函数可以基于预测的姿势和形状参数与真实数据参数之间的均方误差(MSE)或欧几里德距离(例如,其可以与训练数据集中的关节位置信息配对)和/或输入的关节位置和/或从预测的姿势和形状参数推断的关节位置之间的MSE或欧几里德距离(例如,如本文所述)来实施。损失函数还可以考虑L1范数、L2范数或L2范数与L1范数。

在310处,神经网络系统可以例如经由反向传播过程来对其当前执行参数执行调节。在312处,神经网络系统可以确定是否满足一个或多个训练终止准则。例如,如果系统已经完成预定次数的训练迭代,如果预测参数与真实数据参数之间的差低于预定阈值,或者如果损失函数的值在两次训练迭代之间的变化低于预定阈值,则系统可以确定训练终止准则被满足。如果在312处确定不满足训练终止准则,则系统可以返回到306。如果在312处确定满足训练终止准则,则系统可以在314处结束训练过程300。

本文所述的神经网络系统(例如,图1中的姿势和形状回归器104或图2中的ANN204)可以使用一个或多个处理器、一个或多个存储装置和/或其他合适的辅助装置(诸如显示装置、通信装置、输入/输出装置等)来实施。图4是例示了本文所述的示例神经网络系统400的框图。如图所示,神经网络系统400可以包括处理器402,该处理器可以是中央处理单元(CPU)、图形处理单元(GPU)、微控制器、精简指令集计算机(RISC)处理器、专用集成电路(ASIC)、专用指令集处理器(ASIP)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或能够执行本文所述的功能的任何其它电路或处理器。神经网络系统400还可以包括通信电路404、存储器406、大容量储存装置408、输入装置410和/或通信链路412(例如,通信总线),图4所示的一个或多个部件可以通过该通信链路交换信息。通信电路404可以被配置为利用一个或多个通信协议(例如,TCP/IP)和一个或多个通信网络来发送和接收信息,这些通信网络包括局域网(LAN)、广域网(WAN)、因特网、无线数据网络(例如,Wi-Fi、3G、4G/LTE或5G网络)。存储器406可以包括被配置为存储机器可读指令的存储介质,当机器可读指令被实行时,使得处理器402执行本文所述的一个或多个功能。机器可读介质的示例可以包括易失性或非易失性存储器,包括但不限于半导体存储器(例如,电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))、闪存等)。大容量储存装置408可以包括一个或多个磁盘,诸如一个或多个内置硬盘、一个或多个可移动盘、一个或多个磁光盘、一个或多个CD-ROM或DVD-ROM盘等,在磁盘上可以存储指令和/或数据,以便于处理器402的操作。输入装置410可以包括键盘、鼠标、语音控制输入装置、触敏输入装置(例如,触摸屏)等,用于接收对神经网络系统400的用户输入。

应当注意,神经网络系统400可以作为独立装置操作或者可以与其他计算装置连接(例如,联网或成群),以执行本文所述的功能。并且即使在图4中仅示出了各个部件的一个实例,本领域技术人员也将理解,神经网络系统400可以包括图中示出的一个或多个部件的多个实例。此外,尽管本文参考各种类型的神经网络、各种类型的层、和/或由某些类型的神经网络或层执行的各种任务来描述示例,但是这些参考仅出于例示性目的而作出,并且不旨在限制本公开的范围。另外,本文以特定顺序描绘和描述了示例神经网络系统的操作。然而,应当理解,这些操作可以以各种顺序、同时和/或与本文未呈现或描述的其它操作一起发生。并且不是神经网络系统能够执行的所有操作都在本文中描绘和描述,并且不是所有例示的操作都需要由系统执行。

为了说明的简单起见,可能已经以特定的顺序描绘并描述了神经网络系统的操作。然而,应当理解,这些操作可以以各种顺序、同时和/或与本文未呈现或描述的其它操作一起发生。此外,应当注意,本文未描绘和描述神经网络系统能够执行的所有操作。还应当注意,并非所有例示的操作都需要由神经网络系统执行。

尽管已经根据某些实施例和一般关联的方法描述了本公开,但是实施例和方法的变更和变换将对本领域技术人员显而易见。因此,示例性实施例的以上描述不限制本公开。在不脱离本公开的精神和范围的情况下,其它改变、替换和变更也是可能的。另外,除非另外具体陈述,否则利用诸如“分析”、“确定”、“启用”、“识别”、“修改”等术语的讨论是指计算机系统或类似电子计算装置的动作和过程,这些动作和过程将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵和变换成表示为计算机系统存储器或其它这种信息存储、传输或显示装置内的物理量的其它数据。

应当理解,上述描述旨在为说明性的,而不是限制性的。在阅读和理解以上描述之后,许多其它实施方式对于本领域技术人员将显而易见。因此,本公开的范围应当参考所附权利要求以及这种权利要求被赋予的等同物的全部范围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号