CN117523049A - 人体虚拟化方法、装置、设备和存储介质 - Google Patents

人体虚拟化方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN117523049A
CN117523049A CN202311634488.9A CN202311634488A CN117523049A CN 117523049 A CN117523049 A CN 117523049A CN 202311634488 A CN202311634488 A CN 202311634488A CN 117523049 A CN117523049 A CN 117523049A
Authority
CN
China
Prior art keywords
human body
dimensional
video frame
frame image
target
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.)
Pending
Application number
CN202311634488.9A
Other languages
English (en)
Inventor
陈豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202311634488.9A priority Critical patent/CN117523049A/zh
Publication of CN117523049A publication Critical patent/CN117523049A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition

Abstract

本申请一个或多个实施例提供一种人体虚拟化方法、装置、设备和存储介质,该方法包括:构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;估算目标三维人体模型相对于与目标视频帧图像在视频中的前一视频帧图像对应的三维人体模型的位移量;其中,位移量包含目标三维人体模型在三维空间中,与目标视频帧图像对应的深度方向上的第一位移分量;检测目标视频帧图像包含的人体是否处于接地状态;如果目标视频帧图像包含的人体处于接地状态,清除位移量包含的第一位移分量,根据清除了第一位移分量的位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在位置上输出目标三维人体模型。

Description

人体虚拟化方法、装置、设备和存储介质
技术领域
本申请一个或多个实施例涉及计算机应用技术领域,尤其涉及一种人体虚拟化方法、装置、设备和存储介质。
背景技术
人像虚拟化是指将真实人物的形象数字化,并在计算机环境中生成虚拟的人物形象。这项技术可以应用于游戏、影视制作、虚拟现实等领域,使得虚拟角色更加逼真和生动。
通常,在针对单目相机拍摄到的视频进行人像虚拟化处理时,除了需要构建与视频包含的人体对应的三维人体模型之外,还需要根据视频包含的人体在真实三维空间中的移动情况,确定该三维人体模型在与真实三维空间对应的虚拟三维空间中的位移量,使得该三维人体模型可以在该虚拟三维空间中按照该位移量进行移动,从而更好地模拟人体的动作。然而,由于单目相机拍摄到的图像具有尺度不确定性,在这种情况下,如何较为准确地确定该位移量,就成为了难以解决的问题。
发明内容
本申请一个或多个实施例提供技术方案如下:
本申请提供一种人体虚拟化方法,所述方法包括:
构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;
估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量;
检测所述目标视频帧图像包含的人体是否处于接地状态;
如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
本申请还提供一种人体虚拟化装置,所述装置包括:
构建模块,构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;
估算模块,估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量;
检测模块,检测所述目标视频帧图像包含的人体是否处于接地状态;
调整模块,如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
本申请还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,可以先构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型,再估算目标三维人体模型相对于与目标视频帧图像在该视频中的前一视频帧图像对应的三维人体模型的位移量;并且,可以检测目标视频帧图像包含的人体是否处于接地状态,如果是,则可以清除估算的该位移量包含的目标三维人体模型在三维空间中的与视频帧图像对应的深度方向上的位移分量,根据清除了该位移分量的该位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
采用上述方式,在针对视频进行人体虚拟化处理时,可以根据该视频中的各视频帧图像包含的人体是否处于接地状态,对构建的与各视频帧图像对应的三维人体模型在三维空间中的位移量进行调整,以避免由于由人体执行的一些特殊动作而引起的人体姿态的变化,而导致的确定出错误的该位移量,从而保证三维人体模型在三维空间中的位置变化是正常的,提高针对视频的人体虚拟化处理的鲁棒性。
附图说明
下面将对示例性实施例的描述中所需要使用的附图进行说明,其中:
图1是本申请一示例性实施例示出的一种视频帧图像的示意图;
图2是本申请一示例性实施例示出的一种人体虚拟化方法的流程图;
图3是本申请一示例性实施例示出的一种参数化模型的架构示意图;
图4是本申请一示例性实施例示出的一种设备的结构示意图;
图5是本申请一示例性实施例示出的一种人体虚拟化装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或者相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请一个或多个实施例相一致的所有实施方式。相反,它们仅是与本申请一个或多个实施例的一些方面相一致的例子。
需要说明的是,在其他实施例中并不一定按照本申请示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本申请所描述的更多或者更少。此外,本申请中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本申请中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
通常,在针对单目相机拍摄到的视频进行人像虚拟化处理时,除了需要构建与视频包含的人体对应的三维人体模型之外,还需要根据视频包含的人体在真实三维空间中的移动情况,确定该三维人体模型在与真实三维空间对应的虚拟三维空间中的位移量,使得该三维人体模型可以在该虚拟三维空间中按照该位移量进行移动,从而更好地模拟人体的动作。
需要说明的是,在使用单目相机对人体进行拍摄时,单目相机的拍摄参数通常是固定不变的。在实际应用中,单目相机的拍摄参数可以包括镜头位置、镜头角度、焦距、焦点位置、光圈等参数。
对于单目相机拍摄到的视频中的任一视频帧图像而言,可以构建与这个视频帧图像包含的人体对应的三维人体模型(下称第一三维人体模型以示区分),并根据单目相机的拍摄参数(例如:焦距)、将第一三维人体模型缩放至人体在这个视频帧图像中的大小的缩放比例、人体在这个视频帧图像中的位置相对于人体在前一视频帧图像(具体是这个视频帧图像在该视频中的前一视频帧图像)中的位置的位移量,基于近大远小原理,计算第一三维人体模型相对于与前一视频帧图像包含的人体对应的三维人体模型(下称第二三维人体模型以示区分)的位移量;后续,可以在虚拟三维空间中,根据第一三维人体模型相对于第二三维人体模型的位移量,确定第一三维人体模型相对于第二三维人体模型的位置,并在该位置上输出第一三维人体模型。由此,不仅可以通过构建的与该视频包含的人体对应的三维人体模型的形状变化模拟由人体的动作引起的人体姿态的变化,还可以通过该三维人体模型在虚拟三维空间中的位置变化模拟由人体的动作引起的人体位置的变化。
请参考图1,图1是本申请一示例性实施例示出的一种视频帧图像的示意图。
在三维空间中,通常使用笛卡尔坐标系来表示位置和方向。这个坐标系包括三个相互垂直的轴,它们定义了三个方向。这三个轴通常被称为X轴、Y轴和Z轴。其中,X轴是水平的,水平向右延伸,在数学中,X轴的正方向通常被定义为从左向右;Y轴是垂直的,垂直向上延伸,在数学中,Y轴的正方向通常被定义为从下向上;Z轴是垂直于X轴和Y轴的,沿着深度方向延伸,在数学中,Z轴的正方向通常被定义为从前向后。通过这三个轴,即可在三维空间中描述物体的位置和方向。
在实际应用中,可以将视频帧图像视为将真实三维空间中的人或物投影到单目相机的成像平面而得到的图像。如图1所示,对于真实三维空间中的三条轴而言,其中X轴的方向可以是与视频帧图像对应的水平方向(通常是水平面方向在视频帧图像中的投影,水平面方向即为与重力方向垂直的方向),Y轴的方向可以是与视频帧图像对应的垂直方向(通常是重力方向在视频帧图像中的投影),而Z轴(图1中未示出)的方向则可以是与X轴的方向和Y轴的方向均垂直的方向,即与视频帧图像对应的深度方向(即穿透视频帧图像的方向)。
由于虚拟三维空间与真实三维空间是对应的,虚拟三维空间中的三条轴的方向可以与真实三维空间中的三条轴的方向相同。
对于如图1所示的视频帧图像以及这个视频帧图像的前一视频帧图像而言,人体在这个视频帧图像中的位置相对于人体在前一视频帧图像中的位置的位移量(下称为第一位移量以示区分),可以被分解为真实三维空间中,X轴上的位移分量和Y轴上的位移分量;相应地,假设构建的与这个视频帧图像包含的人体对应的三维人体模型为上述第一三维人体模型,构建的与前一视频帧图像包含的人体对应的三维人体模型为上述第二三维人体模型,则第一三维人体模型相对于第二三维人体模型的位移量(下称为第二位移量以示区分),可以包含在虚拟三维空间中,X轴上的位移分量和Y轴上的位移分量。此外,第二位移量还可以包含在虚拟三维空间中的Z轴上的位移分量,该位移分量与人体在这个视频帧图像中的深度相对于人体在前一视频帧图像中的深度的变化量相对应。
上述第二位移量包含的X轴上的位移分量、Y轴上的位移分量、Z轴上的位移分量,均可以根据用于拍摄如图1所示的视频帧图像的单目相机的拍摄参数、将上述第一三维人体模型缩放至人体在这个视频帧图像中的大小的缩放比例、上述第一位移量,基于近大远小原理,计算得到。
需要说明的是,构建的与视频帧图像包含的人体对应的三维人体模型的大小,通常与人体的真实大小相同。对于将三维人体模型缩放至人体在视频帧图像中的大小的缩放比例而言,如果该缩放比例小于100%则表示缩小,例如:人体在视频帧图像中的大小为三维人体模型缩小至50%;如果该缩放比例大于100%则表示放大,例如:人体在视频帧图像中的大小为三维人体模型放大至150%。
近大远小原理可以被解释为以下内容:如果将三维人体模型缩放至人体在视频帧图像中的大小的缩放比例越大,即人体在视频帧图像中的大小越大,则说明人体在视频帧图像中的深度越小,从而说明在使用单目相机拍摄视频帧图像时,人体距离单目相机的成像平面越近;如果将三维人体模型缩放至人体在视频帧图像中的大小的缩放比例越小,即人体在视频帧图像中的大小越小,则说明人体在视频帧图像中的深度越大,从而说明在使用单目相机拍摄视频帧图像时,人体距离单目相机的成像平面越远。
由此可见,基于近大远小原理,使用一定的几何知识,针对用于拍摄如图1所示的视频帧图像的单目相机的拍摄参数、将上述第一三维人体模型缩放至人体在这个视频帧图像中的大小的缩放比例、上述第一位移量进行计算,就可以得到上述第二位移量包含的X轴上的位移分量、Y轴上的位移分量、Z轴上的位移分量。
相关技术中,由于是基于近大远小原理来确定上述第一三维人体模型相对于上述第二三维人体模型的上述第二位移量包含的Z轴上的位移分量,由人体执行的一些特殊动作而引起的人体姿态的变化就可能导致确定出错误的该位移分量,从而导致三维人体模型在虚拟三维空间中的位置变化出现异常。
例如,在人体执行原地下蹲动作,使得人体姿态由站立姿态变化为下蹲姿态,但人体位置未发生变化时,在对该人体进行拍摄而得到的视频中,对于包含的人体处于下蹲姿态的视频帧图像而言,其前一视频帧图像包含的人体可能处于站立状态。进一步地,对于构建的与这个视频帧图像包含的处于下蹲姿态的人体对应的第一三维人体模型,以及构建的与前一视频帧图像包含的处于站立姿态的人体对应的第二三维人体模型而言,由于第一三维人体模型的大小小于第二三维人体模型的大小(处于下蹲姿态的人体在视觉上小于处于站立姿态的人体),就可能导致确定出的第一三维人体模型相对于第二三维人体模型的位移量包含的Z轴上的位移分量不为0,但实际上由于人体执行的是原地下蹲动作,该位移分量应当为0,从而导致第一三维人体模型相对于第二三维人体模型不仅形状发生变化,而且在虚拟三维空间中的位置也发生变化,但此时的位置变化是异常的。
本申请一个或多个实施例提供一种用于人体虚拟化的技术方案,以在人体虚拟化的过程中,避免三维人体模型在虚拟三维空间中的位置变化出现异常。
在上述技术方案中,可以先构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型,再估算目标三维人体模型相对于与目标视频帧图像在该视频中的前一视频帧图像对应的三维人体模型的位移量;并且,可以检测目标视频帧图像包含的人体是否处于接地状态,如果是,则可以清除估算的该位移量包含的目标三维人体模型在三维空间中的与视频帧图像对应的深度方向上的位移分量,根据清除了该位移分量的该位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
在具体实现时,对于视频中的任一视频帧图像(可称为目标视频帧图像以便于描述)而言,首先可以构建与目标视频帧图像包含的人体对应的三维人体模型。
在构建出了与上述目标视频帧图像包含的人体对应的上述目标三维人体模型的情况下,可以先估算目标三维人体模型相对于与上述目标视频帧图像在上述视频中的前一视频帧图像对应的三维人体模型(即构建的与前一视频帧图像包含的人体对应的三维人体模型)的位移量。其中,该位移量可以包含目标三维人体模型在三维空间中,与视频帧图像对应的深度方向上的位移分量(可称为第一位移分量以示区分)。
除了可以构建上述目标三维人体模型之外,还可以检测上述目标视频帧图像包含的人体是否处于接地状态,根据人体是否处于接地状态,对目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量进行不同方式的调整。在实际应用中,人体处于接地状态通常指的是人体的双脚均接触地面。
如果检测到上述目标视频帧图像包含的人体处于接地状态,则可以认为在拍摄目标视频帧图像的时刻前后的短时间范围内,人体不可能在与目标视频帧图像对应的深度方向上进行移动,因此可以清除估算的目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量包含的上述第一位移分量。后续,可以根据清除了第一位移分量的该位移量,确定上述目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置;也即,可以根据该位移量包含的上述第二位移分量和上述第三位移分量,确定上述目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置。最后,就可以在三维空间中的该位置上输出目标三维人体模型。
采用上述方式,在针对视频进行人体虚拟化处理时,可以根据该视频中的各视频帧图像包含的人体是否处于接地状态,对构建的与各视频帧图像对应的三维人体模型在三维空间中的位移量进行调整,以避免由于由人体执行的一些特殊动作而引起的人体姿态的变化,而导致的确定出错误的该位移量,从而保证三维人体模型在三维空间中的位置变化是正常的,提高针对视频的人体虚拟化处理的鲁棒性。
下面对本申请一个或多个实施例提供的用于人体虚拟化的技术方案进行详细描述。
请结合图1,参考图2,图2是本申请一示例性实施例示出的一种人体虚拟化方法的流程图。
在本实施例中,上述人体虚拟化方法可以应用于服务器。其中,该服务器可以是包含一台独立的物理主机的服务器,也可以是由多台互相独立的物理主机构成的服务器集群;或者,该服务器可以是由主机集群承载的虚拟服务器、云服务器等。或者,上述人体虚拟化方法可以应用于台式计算机、笔记本电脑、平板电脑、掌上电脑(PDAs,Personal DigitalAssistants)等具有一定的计算能力的电子设备上。
上述人体虚拟化方法可以包括以下步骤:
步骤202:构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型。
在本实施例中,对于视频中的任一视频帧图像(可称为目标视频帧图像以便于描述)而言,首先可以构建与目标视频帧图像包含的人体对应的三维人体模型。
在一些实施例中,上述视频帧图像可以是基于RGB色彩模式的图像,也就是通常被称为彩色图像的图像。彩色图像通常比黑白图像包含更多的信息。彩色图像通过红、绿、蓝三种颜色的不同组合来呈现丰富的色彩和细节,能够更准确地表现拍摄对象的真实外表和环境,而黑白图像则只能通过灰度来表现明暗变化。因此,针对基于RGB色彩模式的视频的人像虚拟化处理通常具有更高的准确度。
在一些实施例中,可以使用三维重建模型来构建与视频帧图像包含的人体对应的三维人体模型。其中,三维重建模型可以用于基于平面的二维图像重建出立体的三维图形(也被称为三维模型)。例如,三维重建模型首先可以获取用于构建三维图形的数据,这些数据可以通过摄影机、激光扫描仪、深度相机等多种传感器采集得到,具体可以是直接采集到的二维图像,也可以是由采集到的点云、深度信息等形成的二维图像;然后可以从这些数据中提取有用的特征信息,针对二维图像,通常会使用特征检测算法(如SIFT、SURF、ORB等)来提取特征信息;再然后可以将采集的数据进行匹配和对齐,以获得一致的坐标系统,这可以通过对特征进行匹配、计算相机的位姿和视角,并将数据注册到相同的坐标系中来实现;在匹配和对齐后,可以使用三维重建算法将数据转换为三维点云或网格模型,以生成三维图形,常见的三维重建算法包括立体视觉、结构光、体素填充等;再然后可以对生成的三维图形进行优化,去除噪声、平滑表面、填补空洞等,这可以通过滤波、网格编辑、曲面拟合等技术实现;最后可以将二维图像中的纹理信息映射到生成的三维图形上,使其具有更真实的外观和细节。
也即,在构建与上述视频中的上述目标视频帧图像包含的人体对应的上述目标三维人体模型时,具体可以将目标视频帧图像输入上述三维重建模型,由三维重建模型基于目标视频帧图像重建出与目标视频帧图像包含的人体对应的目标三维人体模型。
在一些实施例中,上述三维重建模型可以包括参数化模型。在这种情况下,在将上述目标视频帧图像输入三维重建模型,根据三维重建模型基于目标视频帧图像重建出与目标视频帧图像包含的人体对应的目标三维人体模型时,具体可以将目标视频帧图像输入该参数化模型,根据该参数化模型将目标视频帧图像转化为三维人体参数,并基于三维人体参数生成三维人体模型。
参数化模型是一种使用参数来描述人体形状、姿态和动作的数学模型,例如:SMPL(Skinned Multi-Person Linear Model)模型、Blendshape模型、骨骼动画模型、统计形状模型等。这些模型可以根据参数的不同取值生成具有多样性的人体模型,并且可以灵活地调整和定制模型的属性。
在一些实施例中,上述参数化模型可以包括SMPL模型。
SMPL模型使用了线性代数和统计学原理,通过对已知人体形状和姿态进行建模和分析,从而得到一个参数化的模型。具体地,可以对大量的身体扫描数据进行分析和统计学建模,通过对这些数据进行降维处理、主成分分析等技术,可以得到一组参数,这些参数能够较好地表示人体姿态和形状的变化。因此,SMPL模型可以视为对人体形状和姿态的统计建模,通过学习数据中的模式和结构,将其映射到一个参数化的表示形式。
对于SMPL模型而言,上述三维人体参数可以包括形状参数(Shape Parameters)和姿态参数(Pose Parameters)。其中,形状参数用于描述人体的整体形状和身体部位的尺寸,一般使用一系列数字或向量表示,这些参数可以控制人体的身高、体重、躯干长度等,从而实现对人体形状的变化;姿态参数用于表示人体各个关节的旋转角度或旋转矩阵,通常使用旋转矩阵或四元数表示,这些参数用于确定人体在三维空间中的姿态或动作。
SMPL模型使用一个全局刚性姿态来表示人体的整体姿态,并使用一个线性融合模型来表示不同身体部位的变形。模型包括一个表示全局刚性姿态的旋转矩阵和平移向量,以及一组表示每个关节角度的旋转矩阵。此外,模型还包括一个线性权重矩阵,用于描述各个身体部位对皮肤形变的影响。
通过SMPL模型,基于上述三维人体参数生成三维人体模型的步骤可以包括:首先生成一个全局的刚性姿态,表示整个人体模型的整体姿态,这个姿态通常由旋转矩阵和平移向量表示;使用一个线性融合模型,结合每个关节的旋转角度或旋转矩阵,以及全局刚性姿态,来计算每个顶点的新位置,这个过程涉及到对每个关节的影响进行加权融合,以得到最终的形状变换;使用形状参数来调整人体的尺寸和比例,通过对模型的顶点坐标进行缩放和形变来实现;在姿态和形状变形之后,将生成的顶点坐标应用于一个预定义的模型网格上,然后通过将模型网格上的三角形网格单元(也称为三角形面片)与骨骼结构进行蒙皮关联,并进行皮肤变形,使得人体模型在运动时能够更加自然地变形。因此,通过调整这些三维人体参数,可以生成不同姿态、形状和尺寸的三维人体模型。
在实际应用中,SMPL模型通常难以直接将包含人体的二维图像转化为与自身对应的三维人体参数,因此可以在SMPL模型之前增加一个可用于生成三维人体参数的模型(例如:神经网络模型),先由该神经网络模型将包含人体的二维图像转化为与SMPL模型对应的三维人体参数,再由SMPL模型基于这些三维人体参数生成三维人体模型。
请参考图3,图3是本申请一示例性实施例示出的一种参数化模型的架构示意图。
在上述参数化模型中,可以包含一个神经网络子模型和一个SMPL子模型。其中,神经网络子模型可以协助SMPL子模型,将图像转化为与SMPL子模型对应的三维人体参数;SMPL子模型可以基于神经网络子模型生成的三维人体参数,进一步生成三维人体模型。也即,可以将上述目标视频帧图像输入该神经网络,由该神经网络将目标视频帧图像包含的人体(即人体在目标视频帧图像中所占据的图像区域)转化为与SMPL模型对应的三维人体参数;而SMPL模型则可以基于这些三维人体参数,生成上述目标三维人体模型。
步骤204:估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量。
在本实施例中,对于上述视频中的每一视频帧图像而言,都可以构建与这个视频帧图像包含的人体对应的三维人体模型;当然,如果这个视频帧图像不包含人体,就可以不对这个视频帧图像进行后续的一系列处理,以减少计算量,提高针对视频的人像虚拟化处理的效率。
在构建出了与上述目标视频帧图像包含的人体对应的上述目标三维人体模型的情况下,可以先估算目标三维人体模型相对于与上述目标视频帧图像在上述视频中的前一视频帧图像对应的三维人体模型(即构建的与前一视频帧图像包含的人体对应的三维人体模型)的位移量。
参考图1,上述位移量可以包含上述目标三维人体模型在三维空间(即上述虚拟三维空间)中的Z轴上的位移分量(可称为第一位移分量以示区分),其中Z轴的方向可以是该三维空间中与视频帧图像对应的深度方向。
在一些实施例中,继续参考图1,上述位移量还可以包含上述目标三维人体模型在上述三维空间中,X轴上的位移分量(可称为第二位移分量以示区分)和Y轴上的位移分量(可称为第三位移分量以示区分),其中X轴的方向可以是该三维空间中与视频帧图像对应的水平方向,Y轴的方向可以是该三维空间中与视频帧图像对应的垂直方向。
在一些实施例中,继续参考图1,在估算上述目标三维人体模型相对于与上述目标视频帧图像在上述视频中的前一视频帧图像对应的三维人体模型的位移量时,具体可以先确定将目标三维人体模型缩放至人体在目标视频帧图像中的大小的缩放比例,再根据该缩放比例以及用于拍摄该视频的相机的拍摄参数,基于近大远小原理,估算目标三维人体模型相对于与前一视频帧图像对应的三维人体模型的位移量。
步骤206:检测所述目标视频帧图像包含的人体是否处于接地状态。
在本实施例中,除了可以构建上述目标三维人体模型之外,还可以检测上述目标视频帧图像包含的人体是否处于接地状态,根据人体是否处于接地状态,对目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量进行不同方式的调整。在实际应用中,人体处于接地状态通常指的是人体的双脚均接触地面。
在一些实施例中,可以采用机器学习的方式,检测上述视频中的各视频帧图像包含的人体是否处于接地状态。由此,可以较为简便、快捷地实现针对图像包含的人体进行接地状态的检测,并且可以保证检测的准确度。
具体地,可以预先构建一个分类模型,并构建若干被标注了标签的训练样本。其中,一个训练样本可以包括一个包含人体的图像样本以及这个图像样本包含的人体对应的三维人体参数样本(例如:由前述参数化模型将这个图像样本转化得到的三维人体参数样本);而这个训练样本的标签则可以指示这个图像样本包含的人体是否处于接地状态。后续,可以基于这些被标注了标签的训练样本对预先构建的分类模型进行有监督训练,训练完成后即可得到可用于针对视频帧图像包含的人体进行接地状态检测的分类模型。
在得到了可用于针对视频帧图像包含的人体进行接地状态检测的分类模型的情况下,就可以将上述目标视频帧图像以及目标视频帧图像包含的人体对应的三维人体参数,输入该分类模型,并根据该分类模型输出的分类结果,确定目标视频帧图像包含的人体是否处于接地状态。
在一些实施例中,为了提高针对视频帧图像包含的人体的接地状态检测的准确度,还可以参考视频中在这个视频帧图像之前的若干视频帧图像包含的人体对应的三维人体参数;例如,假设这个视频帧图像为视频中的第10帧图像,则可以参考视频中的第7帧、第8帧、第9帧图像包含的人体分别对应的三维人体参数。
具体地,可以预先构建一个分类模型,并构建若干被标注了标签的训练样本。其中,一个训练样本可以包括一个包含人体的视频帧图像样本、这个视频帧图像样本包含的人体对应的三维人体参数样本(例如:由前述参数化模型将这个图像样本转化得到的三维人体参数样本)、以及视频中在这个视频帧图像样本之前的预设数量的视频帧图像样本包含的人体对应的三维人体参数样本;而这个训练样本的标签则可以指示这个视频帧图像样本包含的人体是否处于接地状态。后续,可以基于这些被标注了标签的训练样本对预先构建的分类模型进行有监督训练,训练完成后即可得到可用于针对视频帧图像包含的人体进行接地状态检测的分类模型。
在得到了可用于针对视频帧图像包含的人体进行接地状态检测的分类模型的情况下,就可以将上述目标视频帧图像、目标视频帧图像包含的人体对应的三维人体参数、以及上述视频中在目标视频帧图像之前的预设数量的视频帧图像包含的人体对应的三维人体参数,输入该分类模型,并根据该分类模型输出的分类结果,确定目标视频帧图像包含的人体是否处于接地状态。
在一些实施例中,如前所述,上述参数化模型可以包括SMPL模型,对于SMPL模型而言,三维人体参数可以包括形状参数和姿态参数。人体是否处于接地状态通常受人体姿态的影响较大,受人体形状的影响较小,因此输入上述分类模型,供分类模型针对视频帧图像包含的人体进行接地状态检测的三维人体参数,可以包括三维人体姿态参数。
在一些实施例中,更进一步地,由于人体是否处于接地状态通常受人体的下半部分的姿态的影响较大,输入上述分类模型,供分类模型针对视频帧图像包含的人体进行接地状态检测的三维人体姿态参数,可以包括人体的下半部分对应的三维人体姿态参数。
在一些实施例中,上述分类模型可以包括基于卷积神经网络构建的二分类模型。
其中,上述基于卷积神经网络构建的二分类模型可以包括:至少一个卷积层,用于从输入的视频帧图像中提取图像特征;全连接网络层,用于从输入的三维人体参数中提取参数特征;分类器,用于基于至少一个卷积层提取到的图像特征以及全连接网络层提取到的参数特征进行二分类计算,得到二分类结果。
具体地,可以将上述目标视频帧图像输入上述至少一个卷积层,由至少一个卷积层从目标视频帧图像中提取图像特征;并且,可以将目标视频帧图像包含的人体对应的三维人体参数(或者目标视频帧图像包含的人体对应的三维人体参数、以及上述视频中在目标视频帧图像之前的预设数量的视频帧图像包含的人体对应的三维人体参数)输入上述全连接网络层,由全连接网络层从这些三维人体参数中提取参数特征;后续,可以对至少一个卷积层提取到的图像特征以及全连接网络层提取到的参数特征进行特征融合,并将融合后的特征数据输入上述分类器,由分类器基于融合后的特征数据进行二分类计算,得到二分类结果。
在实际应用中,对至少一个卷积层提取到的图像特征以及全连接网络层提取到的参数特征进行特征融合,具体可以是将至少一个卷积层提取到的图像特征以及全连接网络层提取到的参数特征拼接在一起后,输入另外的全连接网络层进行特征融合。
步骤208:如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
在本实施例中,如果检测到上述目标视频帧图像包含的人体处于接地状态,则可以认为在拍摄目标视频帧图像的时刻,人体的双脚是接触地面的,由于视频中相邻的两个视频帧图像的拍摄时间间隔非常短(例如:帧率为30fps的视频中相邻的两个视频帧图像的拍摄时间间隔为1/30秒,约等于0.033秒),在这样短的一段时间内,人体通常是无法完成大幅度移动并恢复到双脚接地状态的,因此人体在与目标视频帧图像对应的深度方向上进行大幅度移动的可能性极小,此时估算的目标三维人体模型相对于与前一视频帧图像对应的三维人体模型的位移量包含的第一位移分量,极有可能就是由人体执行的一些特殊动作而引起的人体姿态的变化所导致的错误,在这种情况下,可以清除估算的该位移量包含的第一位移分量。后续,可以根据清除了第一位移分量的该位移量,确定上述目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置;也即,可以根据该位移量包含的上述第二位移分量和上述第三位移分量,确定上述目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置。最后,就可以在三维空间中的该位置上输出目标三维人体模型。
在一些实施例中,不仅可以对上述第一位移分量进行调整,还可以对上述第三位移分量进行调整。具体地,在根据清除了第一位移分量的上述位移量,确定上述目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置时,具体可以对第三位移分量进行调整,使得根据调整后的第三位移分量确定的目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,与拟合出的三维地面模型接触。其中,三维地面模型是基于从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合得到的。
在实际应用中,在针对单目相机拍摄到的视频进行实时的人像虚拟化处理的场景下,用于拟合出上述三维地面模型多个视频帧图像,可以是该单目相机预先拍摄到的其他视频中的视频帧图像。而在针对单目相机拍摄到的视频进行非实时的人像虚拟化处理的场景下,则可以预先从该视频中提取出包含的人体处于接地状态的多个视频帧图像,再利用这些视频帧图像拟合出上述三维地面模型。
需要说明的是,拟合出的三维地面模型可以作为上述三维空间中的地面,与真实三维空间中的地面相对应。然而,由于三维地面模型是通过一定的算法拟合得到的,并不能保证三维地面模型与真实三维空间中的地面是完全对应的,因此可能出现上述目标视频帧图像包含的人体处于接地状态,但是根据估算的目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量,确定的目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,未与拟合出的三维地面模型接触的情况。
由于此时上述目标视频帧图像包含的人体处于接地状态,上述目标三维人体模型在三维空间中也应当处于接地状态。因此,如果根据估算的目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量,确定的目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,未与拟合出的三维地面模型接触,就需要对该位移量中的上述第三位移分量进行调整,使得根据调整后的第三位移分量确定的位置,与该三维地面模型接触。
在这种情况下,就可以根据清除了上述第一位移分量以及调整了上述第三位移分量的上述位移量,确定目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
在一些实施例中,为了拟合出上述三维地面模型,具体可以基于RANSAC算法,以及预设的优化目标和约束条件,对从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合,得到该三维地面模型。其中,该优化目标可以包括拟合出的三维地面模型为上述三维空间中的一个平面;该约束条件可以包括拟合出的三维地面模型与三维空间中的与目标视频帧图像对应的垂直方向垂直,即与三维空间中的与目标视频帧图像对应的水平方向平行。
如前所述,与目标视频帧图像对应的垂直方向通常是重力方向。也即,拟合出的三维地面模型应当与上述三维空间中的重力方向垂直,即与三维空间中的水平面方向平行。
RANSAC(RANdom SAmple Consensus)算法是一种鲁棒性较强的参数估计算法,常用于解决含有噪声和异常值的数据拟合问题。它的基本思想是通过随机采样部分数据点来估计模型参数,并通过迭代过程筛选出符合模型的内点集合。
RANSAC算法的基本步骤包括:随机选择一小部分数据点作为内点集合,并根据这些数据点估计模型参数;对于剩余的数据点,计算它们到模型的距离,并判断是否为内点(可以定义一个阈值,只有距离小于该阈值的数据点才被认为是内点);如果当前的内点数目大于之前记录的最大内点数目,更新最大内点数目并保存当前的模型参数;重复执行前三个步骤,直到达到预定的迭代次数或满足终止条件;使用最终得到的模型参数重新估计内点,并得到最终的内点集合。
通过RANSAC算法筛选出的人体与地面的多个接触点,所形成的平面,即可作为拟合出的三维地面模型。
在一些实施例中,如果检测到上述目标视频帧图像包含的人体未处于接地状态,则可以认为人体在与目标视频帧图像对应的深度方向上进行移动的可能性较大,因此可以不清除估算的目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量包含的上述第一位移分量。但是,可以将上述三维地面模型作为约束项,检测该位移量中的上述第三位移分量是否需要调整。具体地,可以检测根据第三位移分量确定的目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置,是否位于三维地面模型的上方(即检测在三维空间中的该位置上输出的目标三维人体模型是否穿透了三维地面模型或者整体位于三维地面模型的下方);如果该位置不位于所述三维地面模型的上方,则可以清除该位移量包含的第三位移分量,根据清除了第三位移分量的该位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
如果检测到上述目标视频帧图像包含的人体未处于接地状态,并且检测到根据第三位移分量确定的目标三维人体模型在上述三维空间中,相对于与上述前一视频帧图像对应的三维人体模型的位置,位于上述三维地面模型的上方,则可以不对估算的目标三维人体模型相对于与上述前一视频帧图像对应的三维人体模型的位移量进行调整,即可以不清除该位移量包含的上述第一位移分量,也不清除该位移量包含的上述第三位移分量,而是直接根据估算的该位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
在一些实施例中,为了保证对上述第一位移分量的调整的正确性,在检测到上述目标视频帧图像包含的人体处于接地状态的情况下,可以进一步确定上述视频中在目标视频帧图像之前的预设数量的视频帧图像包含的人体是否均处于接地状态;如果所述预设数量的视频帧图像包含的人体均处于接地状态,则可以认为在拍摄目标视频帧图像的时刻之前的一段时间内,人体的双脚始终接触地面,因此人体在这段时间内应当未执行行走、跑步、跳跃等动作,人体在与目标视频帧图像对应的深度方向上进行移动的可能性极小,此时估算的目标三维人体模型相对于与前一视频帧图像对应的三维人体模型的位移量包含的第一位移分量,极有可能就是由人体执行的一些特殊动作而引起的人体姿态的变化所导致的错误,在这种情况下,可以清除估算的该位移量包含的第一位移分量。
例如,假设上述目标视频帧图像为上述视频中的第10帧图像,则在检测到上述目标视频帧图像包含的人体处于接地状态的情况下,可以进一步确定该视频中在目标视频帧图像之前的3个视频帧图像包含的人体是否均处于接地状态,即进一步确定该视频中的第7帧、第8帧、第9帧图像包含的人体是否均处于接地状态,如果这3个视频帧图像包含的人体均处于接地状态,则可以清除上述位移量包含的上述第一位移分量。
在上述技术方案中,可以先构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型,再估算目标三维人体模型相对于与目标视频帧图像在该视频中的前一视频帧图像对应的三维人体模型的位移量;并且,可以检测目标视频帧图像包含的人体是否处于接地状态,如果是,则可以清除估算的该位移量包含的目标三维人体模型在三维空间中的与视频帧图像对应的深度方向上的位移分量,根据清除了该位移分量的该位移量,确定目标三维人体模型在三维空间中,相对于与前一视频帧图像对应的三维人体模型的位置,并在三维空间中的该位置上输出目标三维人体模型。
采用上述方式,在针对视频进行人体虚拟化处理时,可以根据该视频中的各视频帧图像包含的人体是否处于接地状态,对构建的与各视频帧图像对应的三维人体模型在三维空间中的位移量进行调整,以避免由于由人体执行的一些特殊动作而引起的人体姿态的变化,而导致的确定出错误的该位移量,从而保证三维人体模型在三维空间中的位置变化是正常的,提高针对视频的人体虚拟化处理的鲁棒性。
与前述人体虚拟化方法的实施例相对应,本申请还提供了人体虚拟化装置的实施例。
请参考图4,图4是本申请一示例性实施例示出的一种设备的结构示意图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括所需要的其他硬件。本申请一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本申请一个或多个实施例并不排除其他实现方式,比如逻辑器件或者软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑模块,也可以是硬件或者逻辑器件。
请参考图5,图5是本申请一示例性实施例示出的一种人体虚拟化装置的框图。
上述人体虚拟化装置可以应用于图4所示的设备,以实现本申请的技术方案。其中,该人体虚拟化装置可以包括:
构建模块502,构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;
估算模块504,估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量;
检测模块506,检测所述目标视频帧图像包含的人体是否处于接地状态;
调整模块508,如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
在一些实施例中,所述视频帧图像为基于RGB色彩模式的图像。
在一些实施例中,所述构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型,包括:
将所述目标视频帧图像输入三维重建模型,根据所述三维重建模型基于所述目标视频帧图像重建出与所述目标视频帧图像包含的人体对应的目标三维人体模型。
在一些实施例中,所述三维重建模型包括参数化模型;
所述将所述目标视频帧图像输入三维重建模型,根据所述三维重建模型基于所述目标视频帧图像重建出与所述目标视频帧图像包含的人体对应的目标三维人体模型,包括:
将所述目标视频帧图像输入所述参数化模型,根据所述参数化模型将所述目标视频帧图像转化为三维人体参数,并基于所述三维人体参数生成三维人体模型。
在一些实施例中,所述参数化模型包括神经网络子模型和SMPL子模型。
在一些实施例中,所述位移量还包含所述目标三维人体模型在所述三维空间中,与所述目标视频帧图像对应的水平方向上的第二位移分量;以及,所述目标三维人体模型在所述三维空间中,与所述目标视频帧图像对应的垂直方向上的第三位移分量。
在一些实施例中,所述估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量,包括:
确定将所述目标三维人体模型缩放至所述人体在所述目标视频帧图像中的大小的缩放比例;
根据所述缩放比例以及用于拍摄所述视频的相机的拍摄参数,基于近大远小原理,估算所述目标三维人体模型相对于与所述前一视频帧图像对应的三维人体模型的位移量。
在一些实施例中,所述根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,包括:
对所述第三位移分量进行调整,根据调整后的所述第三位移分量确定的所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,与拟合出的三维地面模型接触;其中,所述三维地面模型基于从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合得到;
根据清除了所述第一位移分量以及调整了所述第三位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置。
在一些实施例中,所述装置还包括:
拟合模块,基于RANSAC算法,以及预设的优化目标和约束条件,对从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合,得到三维地面模型;
其中,所述优化目标包括所述三维地面模型为所述三维空间中的一个平面;所述约束条件包括所述三维地面模型与所述三维空间中的与所述目标视频帧图像对应的垂直方向垂直。
在一些实施例中,所述调整模块还用于:
如果所述目标视频帧图像包含的人体不处于接地状态,检测根据所述第三位移分量确定的所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,是否位于所述三维地面模型的上方;
如果所述位置不位于所述三维地面模型的上方,清除所述位移量包含的所述第三位移分量,根据清除了所述第三位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
在一些实施例中,所述检测所述目标视频帧图像包含的人体是否处于接地状态,包括:
将所述目标视频帧图像以及所述目标视频帧图像包含的人体对应的三维人体参数,输入预先训练完成的分类模型,并根据所述分类模型输出的分类结果,确定所述目标视频帧图像包含的人体是否处于接地状态;
其中,所述分类模型基于被标注了标签的训练样本进行有监督训练得到;所述训练样本包括包含人体的图像样本以及所述图像样本包含的人体对应的三维人体参数样本;所述标签指示所述图像样本包含的人体是否处于接地状态。
在一些实施例中,所述检测所述目标视频帧图像包含的人体是否处于接地状态,包括:
将所述目标视频帧图像、所述目标视频帧图像包含的人体对应的三维人体参数、以及所述视频中在所述目标视频帧图像之前的预设数量的视频帧图像包含的人体对应的三维人体参数,输入预先训练完成的分类模型,并根据所述分类模型输出的分类结果,确定所述目标视频帧图像包含的人体是否处于接地状态;
其中,所述分类模型基于被标注了标签的训练样本进行有监督训练得到;所述训练样本包括包含人体的视频帧图像样本、所述视频帧图像样本包含的人体对应的三维人体参数样本、以及视频中在所述视频帧图像样本之前的预设数量的视频帧图像样本包含的人体对应的三维人体参数样本;所述标签指示所述视频帧图像样本包含的人体是否处于接地状态。
在一些实施例中,所述三维人体参数包括三维人体姿态参数。
在一些实施例中,所述三维人体姿态参数包括人体的下半部分对应的三维人体姿态参数。
在一些实施例中,所述分类模型包括基于卷积神经网络构建的二分类模型;
其中,所述基于卷积神经网络构建的二分类模型包括:
至少一个卷积层,用于从输入的视频帧图像中提取图像特征;
全连接网络层,用于从输入的三维人体参数中提取参数特征;
分类器,用于基于所述至少一个卷积层提取到的图像特征以及所述全连接网络层提取到的参数特征进行二分类计算,得到二分类结果。
在一些实施例中,所述如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,包括:
如果所述目标视频帧图像包含的人体处于接地状态,确定所述视频中在所述目标视频帧图像之前的预设数量的视频帧图像包含的人体是否均处于接地状态;
如果所述预设数量的视频帧图像包含的人体均处于接地状态,清除所述位移量包含的所述第一位移分量。
对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请的技术方案的目的。
上述实施例阐明的系统、装置、模块或者单元,具体可以由计算机芯片或者实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或者闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或者技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或者其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或者其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或者其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或者其他磁性存储设备或者任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本申请特定实施例进行了描述。其他实施例在本申请的范围内。在一些情况下,在本申请中记载的动作或者步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本申请一个或多个实施例中所使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。术语“和/或”是指并包含一个或多个相关联的列出项目的任何或者所有可能组合。
在本申请一个或多个实施例中所使用的术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或者“一种实施方式”等的描述意指结合该实施例所描述的具体特征或者特点包含于本申请的至少一个实施例中。对这些术语的示意性描述不必须针对相同的实施例。而且,所描述的具体特征或者特点可以在本申请一个或多个实施例中以合适的方式结合。此外,在不相互矛盾的情况下,可以将不同的实施例以及不同实施例中的具体特征或者特点进行结合。
应当理解,尽管在本申请一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或者“当……时”或者“响应于确定”。
以上所述仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

Claims (19)

1.一种人体虚拟化方法,所述方法包括:
构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;
估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量;
检测所述目标视频帧图像包含的人体是否处于接地状态;
如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
2.根据权利要求1所述的方法,所述视频帧图像为基于RGB色彩模式的图像。
3.根据权利要求1所述的方法,所述构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型,包括:
将所述目标视频帧图像输入三维重建模型,根据所述三维重建模型基于所述目标视频帧图像重建出与所述目标视频帧图像包含的人体对应的目标三维人体模型。
4.根据权利要求3所述的方法,所述三维重建模型包括参数化模型;
所述将所述目标视频帧图像输入三维重建模型,根据所述三维重建模型基于所述目标视频帧图像重建出与所述目标视频帧图像包含的人体对应的目标三维人体模型,包括:
将所述目标视频帧图像输入所述参数化模型,根据所述参数化模型将所述目标视频帧图像转化为三维人体参数,并基于所述三维人体参数生成三维人体模型。
5.根据权利要求4所述的方法,所述参数化模型包括神经网络子模型和SMPL子模型。
6.根据权利要求1所述的方法,所述位移量还包含所述目标三维人体模型在所述三维空间中,与所述目标视频帧图像对应的水平方向上的第二位移分量;以及,所述目标三维人体模型在所述三维空间中,与所述目标视频帧图像对应的垂直方向上的第三位移分量。
7.根据权利要求6所述的方法,所述估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量,包括:
确定将所述目标三维人体模型缩放至所述人体在所述目标视频帧图像中的大小的缩放比例;
根据所述缩放比例以及用于拍摄所述视频的相机的拍摄参数,基于近大远小原理,估算所述目标三维人体模型相对于与所述前一视频帧图像对应的三维人体模型的位移量。
8.根据权利要求6所述的方法,所述根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,包括:
对所述第三位移分量进行调整,根据调整后的所述第三位移分量确定的所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,与拟合出的三维地面模型接触;其中,所述三维地面模型基于从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合得到;
根据清除了所述第一位移分量以及调整了所述第三位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置。
9.根据权利要求8所述的方法,所述方法还包括:
基于RANSAC算法,以及预设的优化目标和约束条件,对从包含的人体处于接地状态的多个视频帧图像中确定出的人体与地面的多个接触点进行拟合,得到三维地面模型;
其中,所述优化目标包括所述三维地面模型为所述三维空间中的一个平面;所述约束条件包括所述三维地面模型与所述三维空间中的与所述目标视频帧图像对应的垂直方向垂直。
10.根据权利要求8所述的方法,所述方法还包括:
如果所述目标视频帧图像包含的人体不处于接地状态,检测根据所述第三位移分量确定的所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,是否位于所述三维地面模型的上方;
如果所述位置不位于所述三维地面模型的上方,清除所述位移量包含的所述第三位移分量,根据清除了所述第三位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
11.根据权利要求4所述的方法,所述检测所述目标视频帧图像包含的人体是否处于接地状态,包括:
将所述目标视频帧图像以及所述目标视频帧图像包含的人体对应的三维人体参数,输入预先训练完成的分类模型,并根据所述分类模型输出的分类结果,确定所述目标视频帧图像包含的人体是否处于接地状态;
其中,所述分类模型基于被标注了标签的训练样本进行有监督训练得到;所述训练样本包括包含人体的图像样本以及所述图像样本包含的人体对应的三维人体参数样本;所述标签指示所述图像样本包含的人体是否处于接地状态。
12.根据权利要求4所述的方法,所述检测所述目标视频帧图像包含的人体是否处于接地状态,包括:
将所述目标视频帧图像、所述目标视频帧图像包含的人体对应的三维人体参数、以及所述视频中在所述目标视频帧图像之前的预设数量的视频帧图像包含的人体对应的三维人体参数,输入预先训练完成的分类模型,并根据所述分类模型输出的分类结果,确定所述目标视频帧图像包含的人体是否处于接地状态;
其中,所述分类模型基于被标注了标签的训练样本进行有监督训练得到;所述训练样本包括包含人体的视频帧图像样本、所述视频帧图像样本包含的人体对应的三维人体参数样本、以及视频中在所述视频帧图像样本之前的预设数量的视频帧图像样本包含的人体对应的三维人体参数样本;所述标签指示所述视频帧图像样本包含的人体是否处于接地状态。
13.根据权利要求11或12所述的方法,所述三维人体参数包括三维人体姿态参数。
14.根据权利要求13所述的方法,所述三维人体姿态参数包括人体的下半部分对应的三维人体姿态参数。
15.根据权利要求11或12所述的方法,所述分类模型包括基于卷积神经网络构建的二分类模型;
其中,所述基于卷积神经网络构建的二分类模型包括:
至少一个卷积层,用于从输入的视频帧图像中提取图像特征;
全连接网络层,用于从输入的三维人体参数中提取参数特征;
分类器,用于基于所述至少一个卷积层提取到的图像特征以及所述全连接网络层提取到的参数特征进行二分类计算,得到二分类结果。
16.根据权利要求1所述的方法,所述如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,包括:
如果所述目标视频帧图像包含的人体处于接地状态,确定所述视频中在所述目标视频帧图像之前的预设数量的视频帧图像包含的人体是否均处于接地状态;
如果所述预设数量的视频帧图像包含的人体均处于接地状态,清除所述位移量包含的所述第一位移分量。
17.一种人体虚拟化装置,所述装置包括:
构建模块,构建与视频中的目标视频帧图像包含的人体对应的目标三维人体模型;
估算模块,估算所述目标三维人体模型相对于与所述目标视频帧图像在所述视频中的前一视频帧图像对应的三维人体模型的位移量;其中,所述位移量包含所述目标三维人体模型在三维空间中,与所述目标视频帧图像对应的深度方向上的第一位移分量;
检测模块,检测所述目标视频帧图像包含的人体是否处于接地状态;
调整模块,如果所述目标视频帧图像包含的人体处于接地状态,清除所述位移量包含的所述第一位移分量,根据清除了所述第一位移分量的所述位移量,确定所述目标三维人体模型在所述三维空间中,相对于与所述前一视频帧图像对应的三维人体模型的位置,并在所述位置上输出所述目标三维人体模型。
18.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至16中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至16中任一项所述的方法。
CN202311634488.9A 2023-11-30 2023-11-30 人体虚拟化方法、装置、设备和存储介质 Pending CN117523049A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311634488.9A CN117523049A (zh) 2023-11-30 2023-11-30 人体虚拟化方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311634488.9A CN117523049A (zh) 2023-11-30 2023-11-30 人体虚拟化方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN117523049A true CN117523049A (zh) 2024-02-06

Family

ID=89756646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311634488.9A Pending CN117523049A (zh) 2023-11-30 2023-11-30 人体虚拟化方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117523049A (zh)

Similar Documents

Publication Publication Date Title
CN109859296B (zh) Smpl参数预测模型的训练方法、服务器及存储介质
CN111598998B (zh) 三维虚拟模型重建方法、装置、计算机设备和存储介质
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
US11232286B2 (en) Method and apparatus for generating face rotation image
CN111161349B (zh) 物体姿态估计方法、装置与设备
US10334168B2 (en) Threshold determination in a RANSAC algorithm
CN109684969B (zh) 凝视位置估计方法、计算机设备及存储介质
US20170278302A1 (en) Method and device for registering an image to a model
CN113689578B (zh) 一种人体数据集生成方法及装置
CN113643366B (zh) 一种多视角三维对象姿态估计方法及装置
Chen et al. A particle filtering framework for joint video tracking and pose estimation
CN116958492B (zh) 一种基于NeRf重建三维底座场景渲染的VR编辑方法
CN117036612A (zh) 一种基于神经辐射场的三维重建方法
CN111862278A (zh) 一种动画获得方法、装置、电子设备及存储介质
CN114170290A (zh) 图像的处理方法及相关设备
CN117078809A (zh) 基于图像的动效生成方法、装置、设备和存储介质
CN116912148A (zh) 图像增强方法、装置、计算机设备及计算机可读存储介质
JP2019016164A (ja) 学習データ生成装置、推定装置、推定方法及びコンピュータプログラム
CN116959109A (zh) 人体姿态图像的生成方法、装置、设备和存储介质
CN111105489A (zh) 数据合成方法和装置、存储介质和电子装置
CN117523049A (zh) 人体虚拟化方法、装置、设备和存储介质
CN114913287A (zh) 一种三维人体模型重建方法及系统
CN116883770A (zh) 深度估计模型的训练方法、装置、电子设备及存储介质
Jian et al. Realistic face animation generation from videos
Engels et al. Global uncertainty in epipolar geometry via fully and partially data-driven sampling

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