CN117315201A - 用于在虚拟世界中动画化化身的系统 - Google Patents
用于在虚拟世界中动画化化身的系统 Download PDFInfo
- Publication number
- CN117315201A CN117315201A CN202211009301.1A CN202211009301A CN117315201A CN 117315201 A CN117315201 A CN 117315201A CN 202211009301 A CN202211009301 A CN 202211009301A CN 117315201 A CN117315201 A CN 117315201A
- Authority
- CN
- China
- Prior art keywords
- avatar
- user
- tracking
- animating
- virtual world
- 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
Links
- 230000008921 facial expression Effects 0.000 claims abstract description 56
- 230000000694 effects Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000033001 locomotion Effects 0.000 claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 10
- 230000008407 joint function Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 26
- 238000000034 method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
- G06V40/176—Dynamic expression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Software Systems (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种用于在虚拟世界中动画化化身的系统,该系统包括:图像处理器,用于处理捕捉活动用户的图像流,以获得用于跟踪所述用户的活动的活动数据集;化身空间处理器,用于处理所述活动数据集,以确定多个用于在三维空间中跟踪所述用户的活动的运动跟踪点;面部表情检测引擎,用于处理所述活动数据集,以检测所述用户的一个或多个面部表情;以及化身动画化引擎,用于采用所述多个运动跟踪点和所述检测的一个或多个面部表情,在所述虚拟世界中动画化所述化身,以反映所述活动用户的活动和面部表情。
Description
技术领域
本发明涉及一种用于在虚拟世界中动画化化身的系统和方法,具体地但不排他地,涉及一种用于使用视频流来动画化化身的系统和方法。
背景技术
由于通信和计算机技术的进步和可访问性,更多的用户能够访问用于娱乐、教育、社会化和工作的虚拟环境。近来,使用户能够在基于计算机的平台内进行在线交互的虚拟环境已经变得更加沉浸和功能化。
这些虚拟环境可以包括允许虚拟世界的图形表示的多个平台,由此用户可以进入虚拟环境,并在虚拟环境中随意漫游。用户还可以操纵对象或与该开放世界中的其他用户交互。然而,为了在虚拟世界中与其他用户交互或操纵对象,用户可能需要使用特定的虚拟现实或虚拟环境设备。虚拟现实或虚拟环境设备可以包括耳机或手持控制器。然而,这种设备可能笨重并且昂贵,当长时间使用时,这些设备甚至对使用者产生不利影响,如,产生不适或造成紧张。
发明内容
根据本发明的第一方面,提供了一种用于在虚拟世界中动画化化身的系统,包括:
图像处理器,用于处理捕捉活动用户的图像流,以获得用于跟踪所述用户的活动的活动数据集;
化身空间处理器,用于处理所述活动数据集,以确定多个用于在三维空间中跟踪所述用户的活动的运动跟踪点;
面部表情检测引擎,用于处理所述活动数据集,以检测所述用户的一个或多个面部表情;以及
化身动画化引擎,用于采用所述多个运动跟踪点和所述检测的一个或多个面部表情,在所述虚拟世界中动画化所述化身,以反映所述活动用户的活动和面部表情。
在第一方面的实施例中,所述化身空间处理器用于:
识别所述用户的一个或多个部分,包括:图像流中的头部、臂部、躯干、腿部或其任何一个或组合;
在所识别的用户的一个或多个部分上设置跟踪点;以及
跟踪所述跟踪点在所述图像流上的移动。
在第一方面的实施例中,所述追踪点为:
映射到用于表示所述化身的身体结构的化身骨架;以及
与所述化身骨架的所述一个或多个关节对齐。
在第一方面的实施例中,所述化身空间处理器进一步用于估计所述化身骨架的所识别的一个或多个部分之间的缺失骨架部分。
在第一方面的实施例中,所述图像处理器包括:姿态跟踪模型,用于从所述图像流中跟踪所述用户的姿态。
在第一方面的实施例中,所述图像处理器还包括:手跟踪模型,用于从所述图像流中跟踪所述用户的手或手指姿势。
在第一方面的实施例中,所述图像处理器还包括:面部表情检测模型,用于从所述图像流中检测所述用户的一个或多个面部表情。
在第一方面的实施例中,所述化身动画化引擎包括:物理引擎,用于将逆运动学函数应用到所述多个运动跟踪点上。
在第一方面的实施例中,所述化身动画化引擎还包括:防裁剪引擎,用于在所述化身周围施加碰撞体,以避免在所述虚拟世界中动画化时裁剪所述化身。
在第一方面的实施例中,所述防裁剪引擎进一步用于包括:弹簧接头功能件,用于在所述多个运动跟踪点上施加碰撞和相反的力。
根据本发明的第二方面,提供了一种用于在虚拟世界中动画化化身的方法,包括以下步骤:
处理捕获活动用户的图像流,以获得用于跟踪用户的活动的活动数据集;
处理所述活动数据集,以确定多个用于通过三维空间跟踪用户的活动的运动跟踪点;
处理所述活动数据集,以检测所述用户的一个或多个面部表情;以及
采用所述多个运动跟踪点和所述检测的一个或多个面部表情,在所述虚拟世界中动画化所述化身,以反映所述活动用户的活动和面部表情。
在第二方面的实施例中,处理所述活动数据集的步骤包括:
识别所述用户的一个或多个部分,包括:图像流中的头部、臂部、躯干、腿部或其任何一个或组合;
在所识别的用户的一个或多个部分上设置跟踪点;以及
跟踪所述跟踪点在所述图像流上的移动。
在第二方面的实施例中,所述追踪点为:
映射到用于表示所述化身的身体结构的化身骨架;以及
与所述化身骨架的所述一个或多个关节对齐。
在第二方面的实施例中,处理所述活动数据集的步骤进一步用于估计化身骨架的所识别的一个或多个部分之间的缺失骨架部分。
在第二方面的实施例中,处理所述活动数据集的步骤包括:使用姿态跟踪模型,用于从图像流中跟踪用户的姿态。
在第二方面的实施例中,处理所述活动数据集的步骤包括:使用手跟踪模型,用于从图像流中跟踪用户的手或手指姿势。
在第二方面的实施例中,处理所述活动数据集的步骤包括:使用面部表情检测模型,用于从图像流中检测用户的一个或多个面部表情。
在第二方面的实施例中,动画化所述化身的步骤包括:使用物理引擎,用于将逆运动学函数应用到多个运动跟踪点上。
在第二方面的实施例中,动画化所述化身的步骤还包括:使用防裁剪引擎,用于在化身周围施加碰撞体,以避免在虚拟世界中动画化时裁剪所述化身。
在第二方面的实施例中,所述防裁剪引擎进一步用于包括:弹簧接头功能件,用于在所述多个运动跟踪点上施加碰撞和相反的力。
附图说明
下文将参照附图以举例的方式描述本发明的实施例。其中:
图1是计算机系统的示意性框图,该计算机系统可以被实现为作为用于在虚拟世界中动画化化身的系统的一个实施例来操作;
图2是用于在虚拟世界中动画化化身的系统的实施例的框图;
图3是图2的用于使虚拟世界中的化身动画化的系统的化身生成引擎的实施例的框图;
图4是图3的化身生成引擎的实施例的姿势跟踪模型的操作的动画截图;
图5是示出图3的化身生成引擎的实施例的手跟踪模型和面部表情识别模型的操作的动画屏幕截图;以及
图6是示出由图2的用于动画化虚拟世界中的化身的系统动画化的化身的示例屏幕截图。
具体实施方式
参考图1,呈现了可以用软件、硬件或两者的组合来实现以提供用于在虚拟世界中动画化化身的系统和方法的示例的计算机系统的实施例。
在该示例性实施例中,用于在虚拟世界中动画化化身的系统的接口,处理器和引擎由具有适当用户界面的计算机来实现。计算机可以由任何计算架构来实现,包括:便携式计算机、平板计算机、独立个人计算机(PC)、智能设备、物联网(Internet of Things,IoT)设备、边缘计算设备、客户端/服务器架构、“哑”终端/主机架构、基于云计算的架构或任何其他适当的架构。计算设备可以被适当地编程以实现本发明。
在本实施例中,用于在虚拟世界中动画化化身的系统可以实现为包括:
图像处理器,用于处理捕捉活动用户的图像流,以获得用于跟踪用户的活动的活动数据集;
化身空间处理器,用于处理活动数据集,以确定多个用于在三维空间中跟踪用户的活动的运动跟踪点;
面部表情检测引擎,用于处理活动数据集,以检测用户的一个或多个面部表情;以及
化身渲染引擎,用于采用多个运动跟踪点和所述检测的一个或多个面部表情,在所述虚拟世界中渲染化身,以反映活动用户的活动和面部表情。
在该示例性实施例中,用于在虚拟世界中动画化化身的系统用于从诸如照相机之类的图像源接收视频流或图像流,该图像源用于或已被用于捕获可能正在进行针对虚拟世界中的其相应化身的各种活动的用户的视频。这些活动可以包括任何类型的活动,由此用户可以移动其身体的任何肢体或部分,包括作为社交互动、展示、表演或对象操纵的一部分的谈话、展示、唱歌、跳舞或运动,或存在用户的肢体或各种身体部分以及用于表达其面部表情或情绪的其面部特征的任何其他活动。
一旦捕获了进行这种活动的用户的视频流,就可以通过诸如因特网的通信网络将视频流发送到用于在虚拟世界中动画化化身的系统。当视频流被用于在虚拟世界中动画化化身的系统接收时,系统可以通过分析视频帧内的特定对象或肢体来处理视频流,以便识别任何特定的用户的活动、表情或运动。其可以包括,例如,用户的姿势、用户的手的位置或手势、用户的面部表情、或在虚拟世界内的化身上复制所期望或必要的用户的其他类型的身体语言。
一旦在一段时间内(例如,在视频的多个帧内)识别和跟踪了这些用户的活动、表情或运动,则可以设计与用户的肢体或身体部分相关联的一组活动点,以反应用户的姿势、手部位置或面部表情。然后,这些活动点可用于将用户为特定虚拟世界预先选择的化身的运动动画化。为了动画化虚拟世界内的化身,系统可以将活动点发送到化身生成、动画化或渲染引擎。该引擎将移动对应于活动点的化身的肢体或部分,从而允许化身反映用户的姿势、用户的手势以及用户的面部表情。
优选地,用于在虚拟世界中动画化化身的系统还包括:物理引擎,用于进一步处理多个运动跟踪点,以改善用户的活动的物理特性的反映。另外,用于在虚拟世界中动画化化身的系统还可以任选地进一步包括:防裁剪引擎,用于避免在所述虚拟世界中渲染化身时裁剪所述化身。
用于在虚拟世界中动画化化身的系统的实施例可以是有利的,因为化身可以通过仅处理视频流而在虚拟世界中动画化。通过使用视频流并处理该视频流以获得与用户的肢体、面部表情和身体部分的运动相关的一组活动点,用户不需要购买和使用用于在虚拟世界内交互的特定设备。这又降低了使用者的成本以及佩戴这种装置时受伤或不适的风险。
如本领域技术人员所理解的,术语“虚拟世界”包括用户可以访问其他用户、消息、多媒体内容或虚拟对象并与之交互的任何类型的基于计算机的平台环境、在线环境或开放世界。该术语可以包括三维的开放世界,其有时被称为“Metarverse”,并且可以由诸如“Sandbox”或“Decentraland”的开放世界平台提供,或者由诸如游戏平台“Fortnite”提供的游戏开放世界,或者任何虚拟现实、虚拟环境或虚拟世界提供。还应当注意,术语“虚拟世界”不必是三维世界,而是可以包括二维世界或地图,或者实际上包括公告牌、通信平台、电话会议系统、消息交换或任何类型的计算机或在线环境。
如图1所示,示出了计算机系统或计算机服务器100的示意图。该计算机系统或计算机服务器100用于实现为用于在虚拟世界中动画化化身的系统的示例实施例。在该实施例中,计算机系统为服务器,其包括接收、存储和执行适当计算机指令所必需的适当组件。这些组件可包括:处理单元102,其包括中央处理单元(Central Processing Unit,CPU)、数学共处理单元(Math Co-processing Unit,Math Processor)、图形处理单元(GraphicsProcessing Unit,GPU)或用于张量或多维阵列计算或操纵操作的张量处理单元(TensorProcessing Unit,TPU);只读存储器(Read-Only Memory,ROM)104;随机存取存储器(Random-Access Memory,RAM)106;输入/输出(Input/Output,I/O)装置(例如,磁盘驱动器108);输入装置110(例如,以太网端口,USB端口等);显示器112,例如,液晶显示器、发光显示器或任何其它合适的显示器;和通信链路114。计算装置100可包括可存储在ROM 104,RAM106或磁盘驱动器108中并可由处理单元102执行的指令。可以提供多个通信链路114,其可以不同地连接到一个或多个计算设备,诸如服务器、个人计算机、终端、无线或手持计算设备、物联网(Internet of Things)设备、智能设备和边缘计算设备。多个通信链路中的至少一个可以通过电话线或其它类型的通信链路连接到外部计算网络。
服务器100可包括诸如磁盘驱动器108等存储设备,磁盘驱动器108可包括固态驱动器、硬盘驱动器、光驱动器、磁带驱动器或远程或基于云的存储设备。服务器100可使用单个磁盘驱动器或多个磁盘驱动器,或远程存储服务。服务器100还可以具有驻留在盘驱动器上或服务器100的ROM中的适当操作系统116。
计算机或者计算设备还可以提供必要的计算能力,来操作或与诸如神经网络的机器学习网络进行接口,以提供各种功能和输出。神经网络可以在本地实现,或者它也可以经由服务器或基于云的服务被访问或被部分地访问。机器学习网络也可以是未经训练的,部分训练的或完全训练的,和/或也可以随时间重新训练、修改或更新。
参考图2,示出了用于在虚拟世界中动画化化身的系统200的框图。在该实施例中,该系统包括:化身生成引擎204,物理引擎206和抗裁剪引擎208。这些引擎一起用于在动作或执行特定活动中处理用户的图像流202,并进而在诸如虚拟世界210、虚拟现实环境、虚拟环境、开放世界或也可被称为“元视图”的在线平台的虚拟环境中为用户创建化身和动画化化身。
在该实施例中,用户可以首先通过在诸如网络摄像头(webcam)的相机前呈现其自己并进行到记录进行任何特定类型活动的用户的视频或图像流202来开始化身动画化过程。这样的活动可以包括但不限于,用户移动头部或肢体,包括手指,因为这是用户在与另一个人交互或与另一个人通过反映整体身体语言的语音、面部表情和手势进行通话时可以预期的。然后,视频流202可以通过诸如因特网或任何类型的通信网络的电信链路发送到用于在虚拟世界中的动画化化身的系统200,并且当用于在虚拟世界中的动画化化身的系统200接收到图像流202时,可以对该图像流进行处理以生成化身并在虚拟世界中的动画化化身。
在该实施例中,用于在虚拟世界中的动画化化身的系统200可以首先使用化身生成引擎204处理从用户接收的图像流202。在该示例中,化身生成引擎204使用图像处理器来跟踪用户的姿势、用户的手势和用户的面部表情。上述跟踪通过单独的人工智能(AI)模型212来执行。人工智能(AI)模型212单独用于处理图像以识别用户的特定姿势(姿势估计模型)、手或手指姿势或面部表情。在该过程中,每个AI模型212用于识别与其要跟踪的对象相关的特定点。这样的识别过程可以由训练的神经网络来执行,例如卷积神经网络(CNN),用于从图像中识别特定的肢体或身体部分,并且当这些肢体或身体部分在图像流202中呈现时,利用这些识别和跟踪来跟踪这些肢体或身体部分中的每一个。跟踪这些肢体和身体部分的特定点,以在图像中构建运动者的骨架,从而依次确定运动者的姿势、姿势或面部表情。
优选地,为了提高输出化身的动画化的质量,图像处理器的输出由化身空间处理器进一步处理。该化身空间处理器用于推断与用户的骨骼的关节相关的点,并进一步将这些关节重新格式化到骨骼上。此外,在一些示例性实施例中,化身空间处理器还可以生成并插入丢失的数据。该丢失的数据可能没有被图像处理器使用的AI模型212充分识别。进而,从该过程可以发现,可以提供附加的点以便在三维透视图中动画化化身。下面参考图3进一步详细描述图像处理器及其各自的AI模型和化身空间处理器的功能。
优选地,图像处理器还可以使用面部表情检测模型通过查看嘴、眼睛和鼻子的位置来跟踪用户的面部特征,从而从图像流中识别用户的面部表情。进而,一旦识别出用户的表情,则该表情可用于在虚拟世界中的化身动画化,以便反映化身的面部表情和用户的面部表情。
一旦化身生成引擎204能够应用各种AI模型212在三维空间中跟踪移动其各身体部分或面部表情的用户的特定点,则化身将被生成并且可以随着在图像流202中捕捉的用户的移动而在虚拟世界210内被呈现,从而连续地更新化身,从而允许化身在虚拟世界210中被动画化。
如在该示例性实施例中所示,为了进一步改善虚拟世界210中的化身的动画化,该系统还包括:可选的物理引擎206,用于改善所生成的化身的运动的动画。由于可以允许虚拟世界中出现的化身以更平滑和更自然的方式移动,因此这是有利的。为了提供该功能,物理引擎206可以使用逆运动学(IK)功能来靶向七个身体部分,包括身体、左臂、右臂、左腿、右腿、左手手指和右手手指。通过确保在IK函数的使用中考虑这七个点,物理引擎206能够以更逼真和物理上适当的移动来动画化这七个身体部分的移动。
如在该示例性实施例中所示,该系统还可以包括:可选的防裁剪引擎208,用于改善虚拟世界中的化身的动画。在虚拟世界中,化身可以彼此交互,包括在交互或交换期间化身可以与其它化身接触或接近的可能性。这可以产生物理接触手势的形式,例如握手或拳击以及绕另一化身的肩部紧抱和缠绕化身的手臂。因此,系统可以包括防裁剪引擎208,其在每个化身周围设置碰撞体,使得当两个或多个化身彼此接近或接触时,化身可以不彼此“裁剪”。可以通过在化身的动画内设置排序器来实现这点,以避免裁剪。优选地,可以通过设置化身无法穿过的实体范围来实现碰撞体。还可以实现弹簧接头,使得当物体或其他化身接收到力时,还可以通过化身与接触的项目或物体之间的相反力的可能的动画来避免剪切。作为一个示例,当化身击掌和拥抱时,由于化身主体设置有它们各自的碰撞体,碰撞体将防止化身之间的裁剪。还可以对化身的肢体动画化,以通过在化身的肢体上实现弹簧接头效果,以相反力效果响应接触力。因此,整个过程将改善虚拟世界内的化身的动画化,因为这将使化身更加逼真并且遵守物理定律。
一旦化身在虚拟世界210内被动画化,用户就可以通过单独使用相机来进入虚拟世界,而无需使用其他设备,只要相机能够捕捉用户或至少用户的部分。通过处理图像流202,用于在虚拟世界中的动画化化身的系统200可以将化身放置在虚拟世界中以反映用户的运动或活动以及面部表情。这在教育场景中是特别有利的。在教育场景中,用户肢体的运动(包括他们的手或手指姿势)特别有助于与其他用户进行交流。因此,通过实现本系统的实施例,无需使用放置在用户肢体上的特定设备或传感器,也可以就不同化身之间的活动(例如教育、咨询、讨论或交互会话)动画化化身。
参考图3,示出了化身生成引擎204的示例实施例的框图。在该实施例中,化身生成引擎204设置为处理图像流202,并在虚拟世界中产生或生成化身。化身生成引擎024包括:图像处理器302,用于利用各种AI模型212P、212H、212F来处理图像流202。AI模型212P、212H、212F中的每一个都用于单独处理图像流202中的每一个图像,以识别图像中的特定身体部分或对象。依次地,一旦在一系列图像帧上识别出这些部分或对象,就将特定的跟踪器点放置在这些对象或身体部分上,以便于跟踪。这样的AI模型的示例可以包括:姿态跟踪212P或姿态估计模型,用于使用经训练的神经网络来跟踪在图像流202中捕获的用户的姿态。经训练的神经网络用于处理图像以识别特定的感兴趣对象(例如,用户的肢体或身体部分)并且在各个帧上跟踪这些感兴趣对象,以便基于检测到的肢体或身体部分来构建用户的骨架。可替换地,手或手指手势跟踪模型212H可以用于跟踪用户的手或手指位置,以便识别手或手指所呈现的特定手势。
优选地,可以使用的另一模型包括:面部表情检测模型212F,用于识别由用户表达的面部表情。尽管优选地模型212P、212H、212F由诸如卷积神经网络(CNN)之类的训练过的神经网络来实现,但这些模型212P、212H、212F也可以由各种图像处理系统来实现。所述训练过的神经网络已经被训练以识别特定对象或身体部分并在图像流上跟踪这些对象或身体部分。因此,通过使用这些单独模型212P、212H、212F中的每一个或任何其它期望的模型,图像处理器302将能够跟踪待跟踪的对象或身体部分的多个点,包括用户的姿势、用户的手或手指姿势以及用户的面部表情。这些模型中的每一个将产生多个点,这些点随之可以被跟随以识别用户在图像流202上的移动,而且这些点还可以用于动画化化身,从而将虚拟世界中的化身的移动反映到现实生活中的用户的移动。
在该实施例中,一旦图像处理器302识别了某些跟踪点,为了提高动画的质量,可以使用化身空间处理器304处理每个跟踪点,以便通过三维空间更好地跟踪用户的活动或手势。根据发明人进行的试验和研究,为了创建三维动态化身,在三维化身被动画化之前,需要存在与用户相关的附加输入数据。该数据可以包括匹配化身骨架上的关节的数量或位置以及产生控制化身移动的参数的偏好。以及通过直接跟踪清楚地识别面部表情后面的特定情绪的能力。
因此,在该实施例中,化身生成引擎204用于通过集成多个AI模型212P、212H、212F,以在化身上反映真实用户来实现执行化身的实时、全面和完整生成的能力。引擎204执行以下过程:
(A)引擎可以重新计算图像处理器及其AI模型的提取的输出,以与化身关节304A对齐。例如,姿态跟踪AI模型212P可以基于网络摄像头视频流输出18个跟踪点,但是化身可能需要22个关节来建立该AI模型。接着,引擎可以推断缺少的接头,以满足要求。
(b)引擎可以重新格式化AI模型的跟踪点,以匹配化身304B的骨架。例如,引擎可以将在一些AI模型中产生的位置坐标从4维转换为3维矩阵,其可以作为化身的关节。
(c)引擎可以对丢失的数据做出合理的估计,以满足化身304C的动画要求。例如,颈部位置的实时坐标可用于动画化化身。然而,在姿势跟踪模型的例子中,可能不直接产生颈部位置的坐标。然后,引擎可以通过两个肩部位置的坐标来计算颈部位置的坐标。
(d)引擎还可以识别和分类真实用户的面部表情,以使得化身的面部表情看起来更自然。因此,一旦检测到面部表情306A,则可以将化身动画化,以匹配检测到的面部表情306B。因此,可以将化身的面部表情动画化,以具有比用户的面部表情更大的效果,从而使得面部表情在虚拟世界中更明显。
一旦化身空间处理器304和面部表情检测引擎306提供了该附加活动跟踪信息,则可以使用该跟踪信息,并在虚拟世界中动画化化身。如上在图2中所示,在必要或需要时,如在教育场景中,各个化身之间可能存在紧密交互,通过任选地使用物理引擎206和抗裁剪引擎208,可以在其动画中进一步改进化身。
参考图4,示出了图像处理器302和化身空间处理器304如何操作以跟踪用户姿势的示例屏幕截图输出。如用户图像内所示,示出了正在显示手以及头部和躯干的用户400。使用姿势估计模型212P,图像处理器302能够识别手、手臂、身体和头部,以及面部特征。在该过程中,沿着用户身体部分绘制所示的各个点404,然后形成用户的骨架402。然后,这些点404和骨架402可以通过用化身空间处理器进一步处理而被进一步改进。该化身空间处理器用于推断骨架上的另外的点,并将这些点重新格式化到骨架上。然后,通过识别肩部的位置,也可以将可能不容易被图像处理器识别的诸如颈部的附加缺失数据插入到跟踪过程中。
类似地,参考图5,示出了示出用户的手和脸的用户图像500。图像处理器内提供的AI模型212设置于执行手和手指手势跟踪。因此该模型能够将跟踪点502绘制和跟踪到用户500的手上。面部表情504也由面部表情检测模型跟踪。当用户500移动手、手指或面部表情时位置将改变的这些点502、504可被跟踪并用于动画化化身。
参考图6,示出了在虚拟世界中生成的三维化身600的示例,以及用户图像602和将由化身生成引擎204生成的用户的系统生成骨架604的图示。如在该示例中所示,可以动画化化身600,以反映图像流602中的用户的确切姿势和姿态以及它们的骨架604。生成骨架604,以反映用户的姿势和姿态。图6示出了用于在虚拟世界中生成和动画化化身的系统的实施例的示例性优点。这是因为用户的手势可以在三维化身中再现,而无需使用任何复杂设备或传感器,只需简单地处理由相机捕获的用户的图像流。
在一些示例性实施例中,AI模型转换器可用于以最小的处理能力使边缘计算设备或计算机同时适应多个AI模型的启动。由于每个AI模型可能需要特定的开发框架(例如,Python、Pytorch或Tensorflow)。如果同时启动多个AI模型,则该组合可以单独地创建新的运行时环境。即使这些环境处于空闲状态,它们也会占用系统资源。因此,可能使边缘计算设备或具有最小处理能力的计算机上的CPU、GPU和RAM过载。因此,通过使用AI模型转换器来转移在不同框架上开发的AI模型以在共享平台,这些框架在,例如,开放神经网络交换(Open Neural Network Exchange,ONNX)或开放源AI生态系统平台中可执行。因此,ONNX平台可与不同AI开发框架兼容,使得能够在其上启动各种模型。ONNX充当这些AI模型的“协调器”,并根据它们的特定需要动态地分配硬件资源(CPU,GPU和RAM),从而允许具有最小处理能力的计算设备使用AI模型来处理图像流,以在虚拟世界中的生成并动画化化身。
虽然不是必需的,但是参考附图描述的实施例可以被实现为应用编程接口(API)或由开发者使用的一系列库,或者可以被包括在另一软件应用中,诸如终端或个人计算机操作系统或便携式计算设备操作系统。通常,由于程序模块包括帮助执行特定功能的例程、程序、对象、组件和数据文件,本领域技术人员将理解,软件应用程序的功能可分布于多个例程、对象或组件之间以实现本文所需的相同功能。
还应当理解,在本发明的方法和系统全部由计算系统实现或部分由计算系统实现的情况下,可以使用任何适当的计算系统体系结构。这将包括独立计算机,网络计算机和专用硬件设备。在使用术语“计算系统”和“计算设备”的情况下,这些术语旨在覆盖能够实现所描述的功能的计算机硬件的任何适当布置。
本领域的技术人员将理解,在不脱离如广泛描述的本发明的精神或范围的情况下,可以对如具体实施例中所示的本发明进行许多变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而不是限制性的。
除非另外指明,否则本文所包含的对现有技术的任何引用不应被视为承认该信息是公知常识。
Claims (10)
1.一种用于在虚拟世界中动画化化身的系统,其特征在于,包括:
图像处理器,用于处理捕捉活动用户的图像流,以获得用于跟踪所述用户的活动的活动数据集;
化身空间处理器,用于处理所述活动数据集,以确定多个用于在三维空间中跟踪所述用户的活动的运动跟踪点;
面部表情检测引擎,用于处理所述活动数据集,以检测所述用户的一个或多个面部表情;以及
化身动画化引擎,用于采用所述多个运动跟踪点和所述检测的一个或多个面部表情,在所述虚拟世界中动画化所述化身,以反映所述活动用户的活动和面部表情。
2.根据权利要求1所述的用于动画化化身的系统,其特征在于,其中,所述化身空间处理器用于:
识别所述用户的一个或多个部分,包括:图像流中的头部、臂部、躯干、腿部或其任何一个或组合;
在所识别的用户的一个或多个部分上设置跟踪点;以及
跟踪所述跟踪点在所述图像流上的移动。
3.根据权利要求2所述的动画化化身的系统,其特征在于,其中,所述跟踪点:
映射到用于表示所述化身的身体结构的化身骨架;以及
与所述化身骨架的所述一个或多个关节对齐。
4.根据权利要求3所述的用于动画化化身的系统,其特征在于,其中,所述化身空间处理器进一步用于估计所述化身骨架的所识别的一个或多个部分之间的缺失骨架部分。
5.根据权利要求4所述的用于动画化化身的系统,其特征在于,其中,所述图像处理器包括:姿态跟踪模型,用于从所述图像流中跟踪所述用户的姿态。
6.根据权利要求5所述的用于动画化化身的系统,其特征在于,其中,所述图像处理器还包括:手跟踪模型,用于从所述图像流中跟踪所述用户的手或手指姿势。
7.根据权利要求6所述的用于动画化化身的系统,其特征在于,其中,所述图像处理器还包括:面部表情检测模型,用于从所述图像流中检测所述用户的一个或多个面部表情。
8.根据权利要求7所述的用于动画化化身的系统,其特征在于,其中,所述化身动画化引擎包括:物理引擎,用于将逆运动学函数应用到所述多个运动跟踪点上。
9.根据权利要求8所述的用于动画化化身的系统,其特征在于,其中,所述化身动画化引擎还包括:防裁剪引擎,用于在所述化身周围施加碰撞体,以避免在所述虚拟世界中动画化时裁剪所述化身。
10.根据权利要求9所述的用于动画化化身的系统,其特征在于,其中,所述防裁剪引擎进一步用于包括:弹簧接头功能件,用于在所述多个运动跟踪点上施加碰撞和相反的力。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
HK32022055477 | 2022-06-20 | ||
HK32022055477.0 | 2022-06-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117315201A true CN117315201A (zh) | 2023-12-29 |
Family
ID=89170780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211009301.1A Pending CN117315201A (zh) | 2022-06-20 | 2022-08-22 | 用于在虚拟世界中动画化化身的系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230410398A1 (zh) |
CN (1) | CN117315201A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240096033A1 (en) * | 2021-10-11 | 2024-03-21 | Meta Platforms Technologies, Llc | Technology for creating, replicating and/or controlling avatars in extended reality |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191798B1 (en) * | 1997-03-31 | 2001-02-20 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters |
US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
US7403202B1 (en) * | 2005-07-12 | 2008-07-22 | Electronic Arts, Inc. | Computer animation of simulated characters using combinations of motion-capture data and external force modelling or other physics models |
US8682028B2 (en) * | 2009-01-30 | 2014-03-25 | Microsoft Corporation | Visual target tracking |
US9177409B2 (en) * | 2010-04-29 | 2015-11-03 | Naturalmotion Ltd | Animating a virtual object within a virtual world |
US20110317871A1 (en) * | 2010-06-29 | 2011-12-29 | Microsoft Corporation | Skeletal joint recognition and tracking system |
US8437506B2 (en) * | 2010-09-07 | 2013-05-07 | Microsoft Corporation | System for fast, probabilistic skeletal tracking |
US9142034B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Center of mass state vector for analyzing user motion in 3D images |
JP6433149B2 (ja) * | 2013-07-30 | 2018-12-05 | キヤノン株式会社 | 姿勢推定装置、姿勢推定方法およびプログラム |
CN106104633A (zh) * | 2014-03-19 | 2016-11-09 | 英特尔公司 | 面部表情和/或交互驱动的化身装置和方法 |
US10706577B2 (en) * | 2018-03-06 | 2020-07-07 | Fotonation Limited | Facial features tracker with advanced training for natural rendering of human faces in real-time |
CN111460870A (zh) * | 2019-01-18 | 2020-07-28 | 北京市商汤科技开发有限公司 | 目标的朝向确定方法及装置、电子设备及存储介质 |
-
2022
- 2022-08-22 CN CN202211009301.1A patent/CN117315201A/zh active Pending
- 2022-08-23 US US17/893,505 patent/US20230410398A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230410398A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11935205B2 (en) | Mission driven virtual character for user interaction | |
US11669726B2 (en) | Methods and systems for interpolation of disparate inputs | |
WO2021143261A1 (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
US11210835B2 (en) | Computer generated hair groom transfer tool | |
Shapiro | Building a character animation system | |
US11328467B2 (en) | Pose space dimensionality reduction for pose space deformation of a virtual character | |
KR20230003059A (ko) | 2d 이미지로부터 3d 객체 메시의 템플릿 기반 생성 | |
CN111028317B (zh) | 虚拟对象的动画生成方法、装置、设备及存储介质 | |
KR102491140B1 (ko) | 가상 아바타 생성 방법 및 장치 | |
US11836840B2 (en) | Systems and methods for cross-application authoring, transfer, and evaluation of rigging control systems for virtual characters | |
US20220327755A1 (en) | Artificial intelligence for capturing facial expressions and generating mesh data | |
US20230410398A1 (en) | System and method for animating an avatar in a virtual world | |
US20230260156A1 (en) | Methods and systems for interpolation of disparate inputs | |
US11120599B2 (en) | Deriving avatar expressions in virtual reality environments | |
Li et al. | Trends in virtual and augmented reality research: a review of latest eye tracking research papers and beyond | |
TWI814318B (zh) | 用於使用模擬角色訓練模型以用於將遊戲角色之臉部表情製成動畫之方法以及用於使用三維(3d)影像擷取來產生遊戲角色之臉部表情之標籤值之方法 | |
EP4385592A1 (en) | Computer-implemented method for controlling a virtual avatar | |
WO2022229639A2 (en) | Computer-implemented method for controlling a virtual avatar | |
CN117853622A (zh) | 一种用于创建头像的系统和方法 | |
Karunarathne et al. | Towards Communication with Virtual Humans |
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 |