CN115769234A - 基于模板从2d图像生成3d对象网格 - Google Patents

基于模板从2d图像生成3d对象网格 Download PDF

Info

Publication number
CN115769234A
CN115769234A CN202180044271.5A CN202180044271A CN115769234A CN 115769234 A CN115769234 A CN 115769234A CN 202180044271 A CN202180044271 A CN 202180044271A CN 115769234 A CN115769234 A CN 115769234A
Authority
CN
China
Prior art keywords
mesh
template
trellis
image
space vector
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
CN202180044271.5A
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.)
Robles Corp
Original Assignee
Robles Corp
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 Robles Corp filed Critical Robles Corp
Publication of CN115769234A publication Critical patent/CN115769234A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种与生成游戏文本标签的方法、系统和计算机可读介质。在一些实现方式,计算机实现方法来生成对象的三维网格使用已训练机器学习模型包括提供对象的二维图像作为输入给已训练机器学习模型,获得模板三维网格,并且生成,使用已训练机器学习模型,基于二维图像和模板三维网格,对象的3D网格,其中对象的3D网格通过网格重划分模板三维网格获得并且可用于映射纹理或生成对象的3D动画。

Description

基于模板从2D图像生成3D对象网格
相关专利申请的交叉参考
本申请主张优先受益于美国临时申请编号63/015,391,标题为“网格重建和纹理的统一框架”,于2020年4月24日提交,其全部内容在此引用。
技术领域
本申请涉及基于计算机的评估和基于计算机的游戏,具体涉及从虚拟环境中对应的二维(two-dimensional,2D)图像生成三维(three-dimensional,3D)对象网格的方法、系统和计算机可读介质。
背景技术
传统的标准化认知评估主要评估内容掌握或领域知识、处理速度和记忆。美国大学入学考试委员会,现在的大学委员会,成立于1923年,通过传播学术能力测试(Scholastic Aptitude Test,SAT)确定了一套大学录取标准。1959年,美国大学考试(American College Test,ACT)作为SAT的替代考试被推出。ACT和SAT都关注数学、写作、科学和其他特定学科领域的标准化内容,以创建客观的衡量标准。虽然在美国被广泛采用,但这些评估对个人的特定认知能力或预期的大学表现揭示甚少。
为了应对传统大学标准化招生考试在方法和内容上的缺陷,用人单位采用了其他传统的认知能力或智力测试,以努力收集更多对申请人认知状况的预测性洞见。这些评估的重点是内容掌握或领域知识、处理速度、记忆力以及21世纪劳动力所需的能力。评估可以包括对车辆、飞机以及生物资产等现实生活对象的可视化表示,为被评估者设置基线场景。
一些在线平台(如游戏平台、媒体交流平台等)允许用户通过互联网相互联系、相互互动(如在游戏中)、创建游戏和彼此分享信息。在线游戏平台的用户可以参与多人游戏环境或虚拟环境(如三维环境),设计自定义游戏环境,设计角色,设计机制,与其他用户交换虚拟物品/对象,使用音频或文本消息与其他用户交流,等等。用户可以与虚拟环境中的对象进行交互,并且可以在虚拟环境中对对象进行模拟。虚拟环境中的对象模拟可以利用各种对象的表示,然后可以在一个或多个用户设备上显示这些对象。在此基础上提出了一些实现方案。
发明内容
一种系统包括一个或者多个计算机,可被配置为执行特定操作或者动作,利用运行在该系统上的软件、固件、硬件或者这些的组合,并且在运行时导致或者使得该系统执行动作。一个或者多个计算机程序可以被配置为执行特定操作或者动作,利用包括指令,该指令当被数据处理设备执行时,使得该设备执行动作。本申请的一种可能的实施方式包括一种计算机实现方法用于利用已训练机器学习模型来生成对象的3D网格。该计算机实现方法包括提供所述对象的二维2D图像作为所述已训练机器学习模型的输入;获得模板三维3D网格;和生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。该实施方式的其它实施例包括对应的计算机系统、设备以及记录在一个或者多个计算机存储设备上的计算机程序,每一个均被配置为执行该方法的动作。
实现方式包括一个或者多个以下特征。该计算机实现方法包括显示包括了用于所述对象的所述3D网格的用户接口。用于所述对象的所述3D网格是通过利用所述已训练机器学习模型来网格重划分所述模板3D网格获得。该计算机实现方法还包括,在获得所述模板3D网格之前,基于所述2D图像利用图像匹配确定所述对象的类别。该计算机实现方法还包括映射所述纹理到所述3D网格。所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,还包括:获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,还包括:接收多个目标网格;和训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:编码,利用所述网格编码器,目标网格成形状空间向量;解码,利用所述网格解码器和基于所述给定模板网络,所述形状空间向量成网格重划分后网格;基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和基于所述第一值,更新所述网格解码器的一个或者多个参数。所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,还包括训练所述图像编码器,其中所述训练包括:接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和基于所述第二值,更新所述图像编码器的一个或者多个参数。所述映射被用于应用所述纹理到所述对象的所述3D网格。所述UV回归器被训练利用包括了基于倒角距离的描述符损失的损失函数。所述模板3D网格是同胚模板网格。实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
本申请的一种可能的实施方式包括一种系统。该系统还包括其上存储有指令的存储器;和与所述存储器耦合的处理设备,所述处理设备被配置为访问所述存储器,其中所述指令当被所述处理设备执行时导致所述处理设备执行的操作包括:提供所述对象的二维2D图像作为已训练机器学习模型的输入;获得模板三维3D网格;和生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。该实施方式的其它实施例包括对应的计算机系统、设备以及记录在一个或者多个计算机存储设备上的计算机程序,每一个均被配置为执行该方法的动作。
实现方式包括一个或者多个以下特征。所述系统其中用于所述对象的所述3D网格是通过利用所述已训练机器学习模型来网格重划分所述模板3D网格获得。所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,所述操作还包括:获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。所述模板3D网格是同胚模板网格。所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,所述操作还包括:接收多个目标网格;和训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:编码,利用所述网格编码器,目标网格成形状空间向量;解码,利用所述网格解码器和基于所述给定模板网络,所述形状空间向量成网格重划分后网格;基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和基于所述第一值,更新所述网格解码器的一个或者多个参数;和训练所述图像编码器,包括:接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和基于所述第二值,更新所述图像编码器的一个或者多个参数。实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
本申请的一种可能的实施方式包括一种非暂时性计算机可读存储介质。所述计算机可读存储介质存储有计算机指令,当所述计算机指令在处理设备上运行时使得所述处理设备执行的操作包括:提供所述对象的二维2D图像作为已训练机器学习模型的输入;获得模板三维3D网格;和生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。该实施方式的其它实施例包括对应的计算机系统、设备以及记录在一个或者多个计算机存储设备上的计算机程序,每一个均被配置为执行该方法的动作。
实现方式包括一个或者多个以下特征。所述非暂时性计算机可读存储介质其中所述模板3D网格是同胚模板网格。所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,所述操作还包括:获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。所述操作还包括:处理,利用UV回归器,所述对象的所述2D图像和所述3D网格从而生成从所述对象的所述3D网格的顶点到所述2D图像的映射,其中所述映射被用于应用所述纹理到所述对象的所述3D网格。实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
本申请的一种可能的实施方式包括一种方法用于训练包括了网格编码器、图像编码器和多个网格解码器的机器学习模型以便从对象的2D图像生成3D网格。所述方法包括:接收多个目标网格;和训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:编码,利用所述网格编码器,目标网格成形状空间向量;解码,利用所述网格解码器和基于与所述网格解码器对应的所述给定模板网络,所述形状空间向量成网格重划分后网格;基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和基于所述第一值,更新所述网格解码器的一个或者多个参数。该实施方式的其它实施例包括对应的计算机系统、设备以及记录在一个或者多个计算机存储设备上的计算机程序,每一个均被配置为执行该方法的动作。
实现方式包括一个或者多个以下特征。所述方法其中所述多个网格解码器中的每一个是预先训练以便近似所述对应模板网格上的恒等函数。所述第一误差函数是适应度函数用于指示从所述网格重划分后网格到所述目标网格之间的距离。实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
本申请的一种可能的实施方式包括一种方法用于训练包括了网格编码器、图像编码器和多个网格解码器的机器学习模型以便从对象的2D图像生成3D网格。所述方法包括:接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和基于所述第二值,更新所述图像编码器的一个或者多个参数。该实施方式的其它实施例包括对应的计算机系统、设备以及记录在一个或者多个计算机存储设备上的计算机程序,每一个均被配置为执行该方法的动作。
实现方式包括一个或者多个以下特征。所述方法其中所述第二误差函数是适应度函数用于指示从所生成的形状空间向量到所述对应形状空间向量之间的距离。实施方式可包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
附图说明
图1示出了本申请实施例提供的用于基于计算机的评估的示例网络环境的示意图。
图2示出了本申请实施例提供的用于从2D图像生成对象的3D网格的示例系统架构的示意图。
图3示出了本申请实施例提供的利用已训练机器学习(machine learning,ML)模型来从2D图像生成对象的3D网格的示例方法。
图4示出了本申请实施例提供的训练图像编码器的示例方法的流程示意图。
图5A示出了本申请实施例提供的训练网格解码器来生成网格重划分后网格的示例过程的示意图。
图5B示出了本申请实施例提供的训练图像编码器来生成形状空间向量的示例过程的示意图。
图6示出了本申请实施例提供的从对应2D图像生成的3D网格的示例。
图7示出了本申请实施例提供的分割2D图像用于分类的示例。
图8示出了本申请实施例提供的对象的被骨骼绑定的3D网格的示例。
图9示出了本申请实施例提供的示例评估框架。
图10示出了本申请实施例提供的示例计算设备的示意图。
图11示出了本申请实施例提供的示例计算设备的示意图。
具体实施方式
在以下详细说明中,参考作为本申请一部分的附图。在附图中,相似的符号通常标识相似的组件,除非上下文另有规定。详细描述、附图和权利要求书中描述的说明性实现方式并不意味着限制。可以使用其他实现方式,也可以进行其他更改,但不偏离本申请所述主题的精神或范围。本申请的各个方面,如本申请中一般描述的,并在附图中说明的,可以按照各种各样的不同配置进行排列、替换、组合、分离和设计,所有这些都应理解为本申请的公开范围。
说明书中提到的“一些实施例”、“一种实施方式”、“一个示例”等的引用表明,所描述的实现方式可能包括给定特性、结构或特性,但每个实现方式不一定包括给定特性、结构或特性。此外,这些短语不一定指同一个实现方式。此外,当给定特性、结构或特性与实现方式联系在一起描述时,该特性、结构或特性可能与其他实现方式联系在一起,无论是否明确描述。
在某些方面,为基于模拟的评估提供了系统和方法,这种评估的重点是评估一个人是如何思考的,而不是他或她知道什么。场景或任务可以嵌入到基于模拟的评估中,抽象给定环境(例如工作环境)的上下文,同时为用户保留描述工作所需的解决问题能力的机会。通过在基于模拟的评估中发生的场景,可以观察到用户认知过程的细节,而不仅仅是他或她的最终选择。基于模拟的评估可能相应地低估了传统认知评估,如AT和ACT,对记忆和处理速度的高度重视。
在一些实施例中,因为像“批判性思维”这样的技能可以发生在许多需要不同模式和强度的环境中,基于模拟的评估可以为生活环境带来反映现实场景的动态、实时适应性和/或高度现实的环境。这些场景为考生提供了丰富的叙述,可能会引发复杂的推理链和强健的心理模型。创建现实的场景可能需要抽象日常工作活动和包含现实世界条件的上下文元素,评估努力预测未来的结果。为了将日常活动分解为构建任务的组件,可以使用称为“骨骼”的粒状描述符作为任务设计背后的原子单位。骨骼可以包括动词、宾语和形容词或形容词短语。
在一些实施例中,设计一个场景可能需要将一系列骨骼组合在一起,这些骨骼组合在理论上是合理的,这意味着它们的序列提供了对兴趣结构的洞察,并且在场景发生的抽象环境,称为“皮肤”,下是合理的。场景的外表可能决定了可能的场景结构,以及可能混淆考生真实技能水平的潜在设置诱导偏差。在选择皮肤时,可以选择足够灵巧和复杂的皮肤来代表广泛的环境,在这些环境中,解决问题的技能所需要的模拟现实场景。为了确保骨架和底层结构的顶点代表整个解决问题的空间,因为它们存在于工作中,真实场景的小片段可以映射到初步任务设计中。情境特征——情境约束、目标、时间范围、信息可用性的细节——可以被诊断出来,以确保考生在执行解决问题技能的条件下,在结构上与现实世界的情况一致。
在一些实施例中,基于模拟的评估包括嵌入在抽象自然世界环境中的一个或多个场景。自然环境可以限制偏见,并为全球人口提供一个可访问的环境,无论背景和先验知识如何。无论地理位置、学习领域、性别或种族,所有的考生都对植物、动物、天气有一些基本的了解,这些概念是设计复杂场景的有用组成部分。评估可能需要用户与自然环境中涉及地形、植物和野生动物的一系列挑战进行交互。例如,在一个场景中,用户可能需要在给定某些证据的情况下识别生态系统中即将发生的环境威胁。
在一些实施例中,在一个场景中呈现的叙事元素都不可能违背现实,因为这样做会惩罚考生对世界如何运行的合理思维模式,反过来,会把对自然世界叙事的困惑误认为无法执行感兴趣的技能。一个或多个关于如何实现模拟工作的人为规则和逻辑,以避免任何严重违反共同期望的情况。例如,长颈鹿生活在热带草原而不是山区,企鹅吃小鱼而不是鹿。在一些实施例中,除了在模拟环境中有一个有意义的叙述和细节之外,还可以实现评估场景和现实场景的构建块之间的概念平价。例如,“利润”的概念可以翻译成本质上类似的抽象概念,但作为自然世界场景的组成部分是合乎逻辑的。“利润”是一个复合抽象,因此在自然世界的模拟场景中,例如,涉及传播疾病的模拟场景可能是“传播”的概念,这也是一个复合概念,具有定义该概念的潜在数学表达式。
在一些实施例中,不同版本场景的不同视图和场景的变化可能是数据驱动的。使用与潜在的动物、植物和地形特征相关联的逻辑,以符合人类期望的方式,可以为不同版本的场景生成不同的视图和场景。例如,在生成的场景中,动物应该蜂群,蜂群,动物应该飞行,而动物应该混合和蜿蜒,在地形中导航,就像他们在现实生活中一样。我们对自然、植物、岩石或地形坡度的日常感知中不太明显的东西,也可能遵循现实世界的规则,从而使场景中的场景背景停留在评估的背景中。
在线游戏平台(也被称为“用户生成内容平台”或“用户生成内容系统”)为用户之间的互动提供了多种方式。例如,在线游戏平台的用户可能为了一个共同的目标而一起工作,共享各种虚拟游戏道具,彼此发送电子消息等等。在线游戏平台的用户可以作为虚拟角色加入游戏,扮演游戏特定的角色。例如,虚拟角色可能是团队或多人游戏环境的一部分,其中每个角色都被分配到特定的角色,并拥有与角色相对应的相关参数,如服装,盔甲,武器,技能等。在另一个例子中,虚拟角色可能与计算机生成的角色相结合,例如,当单个玩家是游戏的一部分时。
在线游戏平台还可以支持虚拟环境中模拟物理对象(刚体对象)的虚拟对象的使用。例如,在线游戏平台可使用户设计和介绍各种类型的虚拟对象,例如车辆、武器和武器配件、玩具、结构等。在由在线游戏平台支持的虚拟环境中,一个或多个用户可以查看这些对象。例如,虚拟环境中这类对象的运动可能会显示在用户设备上。
在线游戏平台还可以允许平台的用户(开发者)创建新的对象和/或机制。例如,在线游戏平台的用户可以创建、设计和/或自定义新对象,如车辆、工具、玩具,并使其他用户可以使用它们。
在线游戏平台(也称为游戏平台)可以提供工具,以支持虚拟环境中的对象和机制的模拟。在一些实现方式中,可以使用渲染引擎、物理引擎和/或物理求解器来模拟对象。
虚拟环境中的一些对象和/或参数可能会使模拟所述对象和环境的复杂性在计算上昂贵,以使模拟满足实时模拟和呈现所述对象的时间要求。例如,小说对象的表示可能必须在满足显示设备给定帧刷新率要求的时间段内执行。未能满足时间要求可能导致更新不稳定,导致用户的视觉体验较差。
游戏平台所有者或管理员的目标是为用户提供更好的用户体验。在线游戏平台运营商面临的一个技术问题是在虚拟环境中准确、及时和计算高效地生成对象表示。
以下说明了在机器学习(machine learning,ML)模型框架内利用同胚模板网格作为单一参数化来生成3D网格基于模板3D网格的网格重划分。模板的几何形状作为一个先验,可以缓解学习问题并使得训练机器学习模型,即使只有有限的训练数据可用。根据本申请所描述的技术方案,通过训练,ML模型隐式地学习对象各部分的几何相关性。在被骨骼绑定的模板的情况下,被骨骼绑定的模板可以继承该骨骼绑定,从而实现基于所述骨骼绑定的动画到各种对象的高效传输。
为不同版本的场景提供不同的视图和场景的变化并提供真实的资产且从零开始创建是非常耗时的,而且/或者购买起来非常昂贵。在一些实施例中,为了提供一种可扩展的方法,为不同版本的场景生成不同的视图和场景,系统使用2D到3D重构生成资产,或者以单幅图像作为输入,在三维空间中表示感兴趣的所述对象作为输出。
例如,可以使用AtlasNet等3D曲面生成方法,它由可学习的参数化组合而成。这些可学习的参数化可以将一组二维正方形转换为曲面。转换的参数可以来自神经网络的习得权值和形状的习得表示。例如,学习到的参数变换可以局部地映射到一个表面的任何地方,自然地适应其底层复杂性,以任何所需的分辨率采样,并允许纹理映射到生成的表面。
三维重建涉及对象的网格,例如鱼,哺乳动物等,提出了一个挑战。为了解决这些缺点,可以将模板网格作为参数化域,例如同胚模板网格。这个同胚函数是集合之间的一对一映射,这样函数和它的逆函数都是连续的,并且在拓扑中存在几何图形,这些几何图形可以通过一个弹性网格重划分转换成另一个。模板网格的几何形状可以作为显著简化学习过程的先决条件,特别在可用的训练数据有限的情况下。例如,网络可以隐式地学习几何相关性,例如,模板网格中的鱼的鳍与输入图像中的鱼的鳍对齐。如果模板网格是由骨骼绑定制作的动画,那么模板网格即使在网格重划分之后也可以继承该动画。骨骼绑定是一种在动画中使用一系列相互连接的数字骨骼来表示3D模型的技术。具体来说,骨骼绑定指的是创建3D模型骨骼结构的过程。例如,一个将鹿网格重划分为马的3D模型可能会继承鹿的动画。
通过为基于模拟的评估生成对象(资产),例如生物资产,与传统美术和动画团队相关的成本可能会降低。此外,因为生成资产可能需要一些时间,所以如果预先计算资产,就不会有延迟。在一些实施例中,生成的资产可以由艺术家离线增强,以确保它们看起来真实。在一些实施例中,可以使用资产生成管道从库存图像中生成资产,因为同一图像既没有多个透视图,也没有图像之间的透视图一致性。在一些实施例中,可以使用多个输入图像来利用具有全视角覆盖的信息。
在某些方面,所述的系统和方法提供了一个或多个模型,用于从对象的二维图像生成三维重建。
图1示出了本申请实施例提供的用于基于计算机的评估的示例网络环境的示意图。图1示出了根据本申请的一些实现方式的示例网络环境100。网络环境100(这里也称为“系统”)包括在线评估平台102、客户端设备110和网络122。在线评估平台102可以包括评估引擎104、一个或多个评估105、可访问性引擎107和数据存储器108。客户端设备110可以包括虚拟评估112、可访问性应用程序113和显示屏幕114,以便与在线评估平台102交互。
下面提供网络环境100的说明。在一些实现方式中,网络环境100可能包括相同的、较少的、更多的或不同的元素,配置方式相同或不同,如图1所示。
在一些实现方式中,网络122可能包括公共网络(如互联网)、专用网络(如局域网LAN或广域网WAN)、有线网络(如以太网)、无线网络(如802.11网络、Wi-Fi网络或无线局域网WLAN)、蜂窝网络(如长期演进LTE网络)、路由器、集线器、交换机、服务器计算机或它们的组合。
在一些实现方式中,数据存储器108可能是一个非临时计算机可读存储器(例如,随机存取存储器)、一个缓存、一个驱动器(例如,硬盘驱动器)、一个闪存驱动器、一个数据库系统或其他类型的能够存储数据的组件或设备。数据存储器108还可能包括多个存储组件(例如,多个驱动器或多个数据库),它们也可能跨越多个计算设备(例如,多个服务器计算机)。
在一些实现方式中,在线评估平台102可以包括具有一个或多个计算设备的服务器(例如,云计算系统、机架服务器、服务器计算机、物理服务器集群、虚拟服务器等)。在一些实现方式中,一个服务器可以包含于在线评估平台102中,也可以是一个独立的系统,或者是另一个系统或平台的一部分。
在一些实现方式中,在线评估平台102可能包括一个或多个计算设备(如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、笔记本计算机、平板计算机、台式计算机等)、数据存储(如硬盘、内存、数据库)、网络、软件组件、和/或可用于在在线评估平台102上执行操作并向用户提供对在线评估平台102的访问的硬件组件。在线评估平台102还可以包括一个网站(例如,一个或多个网页)或应用程序后端软件,可用于向用户提供访问在线评估平台102提供的内容的权限。例如,用户(或监考员)可以分别地使用客户端设备110上的可访问性应用程序113访问在线评估平台102。
在一些实现方式中,在线评估平台102可以在一个或多个评估提供者和/或雇主之间提供连接,允许监理员(例如,评估管理人员)通过在线评估平台102与其他监理员进行通信,其中通信可能包括语音聊天(例如,同步和/或异步语音通信)、视频聊天(例如,同步和/或异步视频通信)或文本聊天(例如,同步和/或异步基于文本的通信)。在本披露的一些实现方式中,“用户”可以表示为单个个人。然而,披露的其他实现包括“用户”(例如,测试或评估用户),即由一组用户或被评估工作技能和沟通技能的组控制的实体。例如,在某些情况下,作为被评估的组联合的一组个人用户可能被认为是“用户”。
在一些实现方式中,在线评估平台102可能包括数字资产和数字评估生成条款。例如,平台可能提供管理员界面,允许设计、修改、针对个人的独特定制和其他修改功能。在一些实现方式中,评估可能包括二维(two-dimensional,2D)游戏、三维(three-dimensional,3D)游戏、虚拟现实(virtual reality,VR)游戏或增强现实(augmented reality,AR)游戏等。在一些实现方式中,评估创建者和/或监考人员可以搜索评估,组合评估的部分内容,为给定活动定制评估(例如,小组评估),以及通过评估平台102提供的其他功能。
在一些实现方式中,在线评估平台102或客户端设备110可能包含评估引擎104或虚拟评估112。在一些实现方式中,评估引擎104可以用于评估105的开发或执行。例如,评估引擎104可能包括用于2D、3D、VR或AR图形的渲染引擎(“渲染器”)、物理引擎、碰撞检测引擎(和碰撞响应)、声音引擎、脚本功能、触觉引擎、人工智能引擎、网络功能、流媒体功能、内存管理功能、线程功能、场景图功能或对电影技术的视频支持等功能。评估引擎104的组件可以生成帮助计算和呈现评估的命令(例如,呈现命令、碰撞命令、物理命令等)。
使用评估引擎104的在线评估平台102可以执行部分或全部评估引擎功能(例如,生成物理命令、渲染命令等),也可以将部分或全部评估引擎功能卸载给客户端设备110的评估引擎104(未说明)。在一些实现方式中,每个评估105在在线评估平台102上执行的评估引擎功能和在客户端设备110上执行的评估引擎功能之间可能有不同的比率。
在一些实现方式中,评估指令可能是指允许客户端设备110渲染游戏玩法、图像和评估的其他特征的指令,例如在其中表示逻辑问题的自然世界渲染。指令可能包括一个或多个用户输入(例如,物理对象定位),角色位置和速度信息,或命令(例如,物理命令,渲染命令,碰撞命令等)。这些指令可以由评估监理员以声音提示,由语音合成器以声音呈现,物理上由触觉反馈表示(例如,边界处的振动、不对中等),或相同的组合。
]在一些实现方式中,客户端设备110可以每个包括计算设备,如个人计算机(pc)、移动设备(例如,笔记本电脑、移动电话、智能手机、平板电脑或上网本计算机)、网络连接电视、游戏机等。在一些实现方式中,客户端设备110也可以被称为“用户设备”。在一些实现方式中,一个或多个客户端设备110可以在任何给定时刻连接到在线评估平台102。需要注意的是,客户端设备的数量110只是作为说明,而不是限制。在一些实现方式中,可以使用任意数量的客户端设备110。
在一些实现方式中,每个客户端设备110可能包括虚拟评估112的一个实例。虚拟评估112可以代表教育评估考试,职业评估考试,或任何合适的评估,无论是标准化的或专门为给定个人或个人群体量身定制的。
图2示出了本申请实施例提供的于在线游戏环境中用于从2D图像生成对象的3D网格的示例系统架构的示意图。图2和其它附图使用相似的标记来识别相似元素。引用数字后面的字母,例如“210”,表示该微博v恶霸专门指向具有给定引用数字的元素。文本中没有后面字母的参考数字,如“210”,是指包含该参考数字的任何或所有数字(例如文本中的“210”指的是附图中的参考数字“210a”、“210b”和/或“210n”)。
系统架构200(在此也称为“系统”)包括在线游戏服务器202、数据存储器220、客户端设备210a、210b和210n(统称为“客户端设备210”)以及开发人员设备230a和230n(统称为“开发人员设备230”)。游戏服务器202、数据存储器220、客户端设备220和开发人员设备230通过网络122进行耦合。在一些实现方式中,客户端设备210和开发人员设备230可能是指相同或相同类型的设备。
在线游戏服务器202可以包括一个游戏引擎204、一个或多个游戏206和图形引擎208。在一些实现方式中,图形引擎208可能是一个系统、应用程序或模块,允许在线游戏服务器202提供图形和动画功能。在一些实现方式中,图形引擎208可以执行下面所述的一种或多种操作,并与图3或图4所示的流程图或图5A或图5B的流程相关联。客户端设备210可以包括游戏应用程序212和输入/输出(input/output,I/O)接口214(例如,输入/输出设备)。输入/输出设备可以包括一个或多个麦克风、扬声器、耳机、显示设备、鼠标、键盘、游戏控制器、触摸屏、虚拟现实控制台等。
开发人员设备230可以包括游戏应用程序232和输入/输出(I/O)接口234(例如,输入/输出设备)。输入/输出设备可以包括一个或多个麦克风、扬声器、耳机、显示设备、鼠标、键盘、游戏控制器、触摸屏、虚拟现实控制台等。
下面提供系统架构200的说明。在不同的实施方式中,系统体系结构200可能包括相同的、较少的、更多的或不同的元素,以相同或不同的方式配置,如图2所示。
在一些实现方式中,网络222可能包括公共网络(如互联网)、专用网络(如局域网LAN或广域网WAN)、有线网络(如以太网)、无线网络(如802.11网络、Wi-Fi网络或无线局域网WLAN)、蜂窝网络(如5G网络、长期演进LTE网络等)、路由器、集线器、交换机、服务器计算机或它们的组合。
在一些实现方式中,数据存储器220可能是一个非临时计算机可读存储器(例如,随机存取存储器)、一个缓存、一个驱动器(例如,硬盘驱动器)、一个闪存驱动器、一个数据库系统或其他类型的能够存储数据的组件或设备。数据存储器220还可能包括多个存储组件(例如,多个驱动器或多个数据库),它们也可能跨越多个计算设备(例如,多个服务器计算机)。在一些实现方式中,数据存储器220可能包含基于云的存储。
在一些实现方式中,在线游戏服务器202可以包括一个拥有一个或多个计算设备的服务器(例如,云计算系统、机架服务器、服务器计算机、物理服务器集群等)。在一些实现方式中,在线游戏服务器202可能是一个独立的系统,可能包括多个服务器,或者是另一个系统或服务器的一部分。
在一些实现方式中,在线游戏服务器202可能包括一个或多个计算设备(如机架服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、笔记本计算机、平板计算机、台式计算机等)、数据存储(如硬盘、内存、数据库)、网络、软件组件,和/或可用于在在线游戏服务器202上执行操作并向用户提供对在线游戏服务器202的访问的硬件组件。在线游戏服务器202还可以包括网站(例如网页)或应用程序后端软件,可用于向用户提供对在线游戏服务器202提供的内容的访问。例如,用户可能使用客户端设备210上的游戏应用程序212访问在线游戏服务器202。
在一些实现方式中,游玩会话数据是通过在线游戏服务器202、游戏应用程序212和/或游戏应用程序232生成的,并存储在数据存储器220中。在获得玩家许可的情况下,游玩会话数据可能包含相关的元数据,例如游戏标识符;与玩家相关的设备数据;玩家的人口统计信息;玩法会话标识符;聊天记录;每个玩家的会话开始时间、会话结束时间和会话持续时间;参与者角色在虚拟游戏环境中的相对位置;由一名或多名玩家进行的游戏内购买;游戏玩家使用的配件;以及其他。
在一些实现方式中,聊天记录通过游戏应用程序212和/或游戏应用程序232或生成,并存储在数据存储器220中。该聊天记录可以包括聊天内容和相关的元数据,例如,聊天的文本内容,其中每个消息具有对应发件人和收件人;消息格式(例如,粗体、斜体、加粗等);消息的时间戳;参与者角色在虚拟游戏环境中的相对位置、参与者使用的附件等。在一些实现方式中,聊天记录可能包含多语言内容,来自游戏不同玩法回合的不同语言信息可能存储在数据存储器220中。
在一些实现方式中,聊天记录可以根据时间戳以参与者之间对话的形式存储。在一些实现方式中,可以根据消息的骨骼绑定地址存储聊天记录。在一些实现方式中,“用户”可以表示为单个个人。然而,其他的实施方式披露包括“用户”(例如,创建用户)是由一组用户或自动化源控制的实体。例如,在用户生成的内容系统中,作为社区或组联合的一组个人用户可以被视为“用户”。
在一些实现方式中,在线游戏服务器202可能是一个虚拟游戏服务器。例如,游戏服务器可以向通过网络222使用客户端设备210访问或与游戏交互的用户社区提供单人或多人游戏。在一些实现方式中,游戏(也被称为“视频游戏”、“在线游戏”或“虚拟游戏”)可能是二维(2D)游戏、三维(3D)游戏(如3D用户生成游戏)、虚拟现实(VR)游戏或增强现实(AR)游戏。在一些实现方式中,用户可以与其他用户一起参与游戏。在一些实现方式中,一个游戏可以与游戏的其他用户实时玩。
在一些实现方式中,玩法可能是指在游戏中使用客户端设备(例如210)的一个或多个玩家之间的交互(例如206),或者是在客户端设备210的显示器或其他输出设备(例如214)上的交互表现。
在一些实现方式中,游戏206可以包含一个电子文件,可以使用软件、固件或硬件执行或加载该文件,以将游戏内容(如数字媒体项目)呈现给实体。在一些实现方式中,可以执行游戏应用程序212,并通过连接游戏引擎204呈现游戏206。在一些实现方式中,游戏206可能有一组共同的规则或共同的目标,游戏206的环境也共享一组共同的规则或共同的目标。在一些实现方式中,不同的游戏可能拥有不同的规则或目标。
在一些实现方式中,游戏可能有一个或多个环境(在这里也称为“游戏环境”或“虚拟环境”),其中多个环境可能被链接。环境的一个例子可能是三维环境。游戏206中的一个或多个环境可以统称为“世界”或“游戏世界”或“虚拟世界”或“宇宙”。世界的一个例子可能是游戏206的3D世界。例如,一个用户可能构建一个虚拟环境,该虚拟环境链接到另一个用户创建的另一个虚拟环境。虚拟游戏的一个角色可以越过虚拟边界进入相邻的虚拟环境。
我们可以注意到,3D环境或3D世界使用的图像使用了代表游戏内容的几何数据的三维表示(或至少将游戏内容呈现为3D内容,无论是否使用几何数据的3D表示)。2D环境或2D世界使用二维图形表示游戏内容的几何数据。
在一些实现方式中,在线游戏服务器202可以托管一个或多个游戏206,并允许用户使用游戏应用程序212的客户端设备210与游戏206进行交互。在线游戏服务器202的用户可以玩、创建、互动或构建游戏206,与其他用户交流,和/或创建和构建游戏206的对象(例如,在这里也称为“项目”或“游戏对象”或“虚拟游戏项目”)。
例如,在生成用户生成的虚拟物品时,用户可以为角色创建角色装饰,为互动游戏创建一个或多个虚拟环境,或在游戏206中构建结构,等等。在一些实现方式中,用户可以与在线游戏服务器202的其他用户购买、出售或交易游戏虚拟游戏对象,如平台内货币(如虚拟货币)。在一些实现方式中,在线游戏服务器202可能会将游戏内容传输到游戏应用程序(如212)。在一些实现方式中,游戏内容(在此也称为“内容”)可能是指与在线游戏服务器202或游戏应用程序相关的任何数据或软件指令(如游戏对象、游戏、用户信息、视频、图像、命令、媒体项目等)。在一些实现方式中,游戏对象(例如,在此也被称为“项目”或“对象”或“虚拟对象”或“虚拟游戏项目”)可能指对象,在在线游戏服务器202的游戏应用程序206或客户端设备210的游戏应用程序212中使用、创建、共享或以其他方式描述。例如,游戏对象可能包含一个部件、模型、角色、配件、工具、武器、服装、建筑、车辆、货币、植物群、动物群、上述组件(如建筑的窗户)等等。
在一些实现方式中,游戏206可能与给定用户或给定用户组相关联(例如,一个私有游戏),或向访问在线游戏服务器202的用户广泛提供(例如,一个公共游戏)。在一些实现方式中,在线游戏服务器202将一个或多个游戏206与特定用户或用户组关联起来,在线游戏服务器202可能使用用户帐户信息(例如用户名和密码等用户帐户标识符)将特定用户与游戏206关联起来。
在一些实现方式中,在线游戏服务器202或客户端设备210可能包含一个游戏引擎204或游戏应用程序212。在一些实现方式中,游戏引擎204可以用于游戏206的开发或执行。例如,游戏引擎204可能包括用于2D、3D、VR或AR图形的渲染引擎(“渲染器”)、物理引擎、碰撞检测引擎(和碰撞响应)、声音引擎、脚本功能、动画引擎、人工智能引擎、网络功能、流媒体功能、内存管理功能、线程功能、场景图形功能或对电影的视频支持等功能。游戏引擎204的组件可以生成帮助计算和渲染游戏的命令(例如,渲染命令,碰撞命令,物理命令等)。在一些实现方式中,客户端设备210/216的游戏应用程序212,分别地,可以独立工作,与在线游戏服务器202的游戏引擎204合作,或者两者的组合。
在一些实现方式中,在线游戏服务器202和客户端设备210都可以执行一个游戏引擎(204和212,分别地)。使用游戏引擎204的在线游戏服务器202可以执行部分或全部游戏引擎功能(如生成物理命令、渲染命令等),也可以将部分或全部游戏引擎功能卸载给客户端设备210的游戏引擎204。在一些实现方式中,每个游戏206在在线游戏服务器202上执行的游戏引擎功能和在客户端设备210上执行的游戏引擎功能之间的比例可能不同。例如,在线游戏服务器202的游戏引擎204可能用于在至少两个游戏对象之间发生冲突的情况下生成物理命令,而附加的游戏引擎功能(例如,生成渲染命令)可能被卸载到客户端设备210。在一些实现方式中,在线游戏服务器202和客户端设备210上执行的游戏引擎功能的比例可能会根据游戏玩法条件而改变(例如,动态地)。例如,如果参与给定游戏206玩法的用户数量超过了一个阈值,在线游戏服务器202可能执行一个或多个游戏引擎功能,这些功能以前由客户端设备210执行。
例如,用户可能在客户端设备210上玩游戏206,并可能向在线游戏服务器202发送控制指令(例如,用户输入,如右、左、上、下、用户选择或角色位置和速度信息等)。在收到来自客户端设备210的控制指令之后,在线游戏服务器202可以根据控制指令向客户端设备210发送玩法指令(例如,参与群组玩法的角色的位置和速度信息或命令,如渲染命令、碰撞命令等)。例如,在线游戏服务器202可以对控制指令执行一个或多个逻辑操作(例如,使用游戏引擎204),以为客户端设备210生成玩法指令。在其他情况下,在线游戏服务器202可能将一个或多个控制指令从一个客户端设备210传递到参与游戏206的其他客户端设备(例如,从客户端设备210a传递到客户端设备210b)。客户端设备210可以使用所述玩法指令并呈现所述玩法以便在客户端设备210的显示器上显示。
在一些实现方式中,控制指令可能指的是用户角色在游戏中的动作指示。例如,控制指令可能包括控制游戏内动作的用户输入,如右、左、上、下、用户选择、陀螺仪位置和方向数据、力传感器数据等。控制指令可以包括角色位置和速度信息。在一些实现方式中,控制指令直接发送到在线游戏服务器202。在另一个实施方式中,控制指令可能从客户端设备210发送到另一个客户端设备(例如,从客户端设备210b发送到客户端设备210n),其中另一个客户端设备使用本地游戏引擎204生成玩法指令。控制指令可以包括在音频设备(例如扬声器、耳机等)上播放来自另一个用户的语音通信信息或其他声音的指令,例如语音通信或使用本申请所述的音频空间化技术生成的其他声音。
在一些实现方式中,玩法指令可能是指使客户端设备210呈现游戏玩法的指令,如多人游戏。玩法指令可能包括一个或多个用户输入(如控制指令)、角色位置和速度信息或命令(如物理命令、渲染命令、碰撞命令等)。
在一些实现方式中,角色(或游戏对象)是由组件组成的,用户可以选择一个或多个组件,这些组件自动连接在一起,以帮助用户编辑。在一些实现方式中,角色被实现为3D模型,包括用于绘制角色的表面表示(也称为皮肤或网格)和一组相互连接的分层骨骼(也称为骨架或骨骼绑定)。所述骨骼绑定可用于动画人物和模拟人物的运动和动作。3D模型可以表示为一个数据结构,数据结构的一个或多个参数可以修改以改变角色的各种属性,例如尺寸(高度、宽度、周长等);体型;运动风格;身体部位数量/类型;比例(例如肩臀比例);头的大小;等。一个或多个角色(在此也称为“化身”或“模型”)可能与用户相关联,用户可以控制角色以促进用户与游戏的交互206。
在一些实现方式中,一个角色可能包括身体部件(如头发、胳膊、腿等)和附件(如t恤、眼镜、装饰图像、工具等)。在一些实现方式中,可定制的角色身体部位包括头部类型、身体部位类型(手臂、腿、躯干和手)、面部类型、头发类型和皮肤类型等等。在一些实现方式中,可定制的配件包括衣服(例如,衬衫、裤子、帽子、鞋子、眼镜等)、武器或其他工具。
在一些实现方式中,一个部件,如一个身体部件,可能是一个原始几何形状,如块、圆柱体、球体等,或其他一些原始形状,如楔形、环面、管状、槽状等。在一些实现方式中,组件可能是生物资产,如哺乳动物、鱼类或鸟类。在一些实现方式中,创建者模块可以发布用户的角色,以供在线游戏服务器202的其他用户查看或使用。在一些实现方式中,创建、修改或自定义角色、其他游戏对象、游戏206或游戏环境可能由用户使用I/O接口(如开发人员接口)执行,使用或不使用脚本,或使用或不使用应用程序编程接口(applicationprogramming interface,API)。可以注意到,为了说明的目的,人物被描述为具有人形。还可以进一步指出,角色可以有任何形式,如交通工具、动物、无生命的物体或其他创造性的形式。
在一些实现方式中,在线游戏服务器202可能会存储数据存储器220中用户创建的角色。在一些实现方式中,在线游戏服务器202维护可能呈现给用户的角色目录和游戏目录。在一些实现方式中,游戏目录包括存储在在线游戏服务器202上的游戏图像。此外,用户可以从角色目录中选择一个角色(例如,由用户或其他用户创建的角色)来参与所选的游戏。角色目录包括存储在在线游戏服务器202上的角色图像。在一些实现方式中,角色目录中的一个或多个角色可能已经由用户创建或自定义。在一些实现方式中,所选角色可能具有定义该角色的一个或多个组件的角色设置。
在一些实现方式中,客户端设备210可以包括计算设备,如个人计算机(personalcomputers,PC)、移动设备(如笔记本电脑、移动电话、智能手机、平板电脑或上网本计算机)、网络连接电视、游戏机等。在一些实现方式中,客户端设备210也可以被称为“用户设备”。在一些实现方式中,一个或多个客户端设备210可以在任何给定时刻连接到在线游戏服务器202。可以注意到,客户端设备的数量210作为说明。在一些实现方式中,可以使用任意数量的客户端设备210。
在一些实现方式中,每个客户端设备210可能分别地包括游戏应用程序212的一个实例。在一个实现中,游戏应用程序212可能允许用户使用在线游戏服务器202并与之交互,例如控制在线游戏服务器202所托管的虚拟游戏中的虚拟角色,或者查看或上传内容,例如游戏206、图像、视频项目、网页、文档等。在一个例子中,游戏应用程序可能是一个网页应用程序(例如,与网页浏览器一起运行的应用程序),它可以访问、检索、呈现或导航由网页服务器提供的内容(例如,虚拟环境中的虚拟角色等)。在另一个例子中,游戏应用程序可能是一个本地应用程序(例如,移动应用程序、应用程序或游戏程序),它被安装并执行本地到客户端设备210,并允许用户与在线游戏服务器202交互。游戏应用程序可以向用户呈现、显示或呈现内容(例如网页、媒体查看器)。在实现中,游戏应用程序还可以包括嵌入在网页中的嵌入式媒体播放器(例如Flash播放器)。
根据本申请的一些方面,该游戏应用程序可能是一个在线游戏服务器应用程序,供用户构建、创建、编辑、上传内容到在线游戏服务器202,以及与在线游戏服务器202交互(例如,玩由在线游戏服务器202托管的游戏206)。同样,游戏应用程序可以由在线游戏服务器202提供给客户端设备210。在另一个例子中,游戏应用程序可能是从服务器下载的应用程序。
在一些实现方式中,每个开发者设备230可能分别地包括游戏应用程序232的一个实例。在一个实现中,游戏应用程序232可以允许开发者用户使用并与在线游戏服务器202交互,例如控制在线游戏服务器202所托管的虚拟游戏中的虚拟角色,或者查看或上传内容,例如游戏206、图像、视频项目、网页、文档等。在一个例子中,游戏应用程序可能是一个网页应用程序(例如,与网页浏览器一起运行的应用程序),它可以访问、检索、呈现或导航由网页服务器提供的内容(例如,虚拟环境中的虚拟角色等)。在另一个例子中,游戏应用程序可能是一个本地应用程序(例如,移动应用程序、应用程序或游戏程序),它被安装并执行本地到客户端设备230,并允许用户与在线游戏服务器202交互。游戏应用程序可以向用户呈现、显示或呈现内容(例如网页、媒体查看器)。在实现中,游戏应用程序还可以包括嵌入在网页中的嵌入式媒体播放器(例如Flash播放器)。
根据本申请的一些方面,该游戏应用程序232可能是一个在线游戏服务器应用程序,供用户构建、创建、编辑、上传内容到在线游戏服务器202,以及与在线游戏服务器202交互(例如,提供和/或玩在线游戏服务器202托管的游戏206)。同样,游戏应用程序可以由在线游戏服务器202提供给客户端设备230。在另一个例子中,游戏应用程序232可能是从服务器下载的应用程序。游戏应用程序232可以配置为与在线游戏服务器202交互,并获得对游戏开发者开发、托管或提供的一个或多个游戏206的用户凭证、用户货币等的访问权。
一般来说,在一个实现中描述的由在线游戏服务器202执行的功能也可以由客户端设备210或服务器执行,如果合适的话,在另一个实施方式中。此外,归属于给定组件的功能可以由不同或多个组件一起操作来执行。在线游戏服务器202也可以通过适当的应用程序编程接口(API)作为提供给其他系统或设备的服务访问,因此不限于在网站中使用。
图3示出了本申请实施例提供的利用已训练机器学习(ML)模型来从2D图像生成对象的3D网格的示例方法300。在一些实现方式中,方法300可以实现,例如,在参考图1和图2所述的在线评估平台102或游戏服务器202分别地上实现。在一些实现方式中,一些或所有的方法300可以在一个或多个客户端设备110和/或210上实现,如图1和图2所示,在一个或多个开发者设备230上,或在一个或多个服务器设备202上,和/或在开发者设备、服务器设备和客户端设备的组合上。在描述的示例中,实现系统包括一个或多个数字处理器或处理电路(“处理器”),以及一个或多个存储设备(例如,数据存储器220、数据存储器108或其他存储器)。在一些实现方式中,一个或多个服务器和/或客户机的不同组件可以执行方法300的不同块或其他部分。在一些例子中,第一设备被描述为执行方法300的块。一些实现方式可以有一个或多个方法300的块,由一个或多个其他设备(例如,其他客户端设备或服务器设备)执行,这些设备可以向第一设备发送结果或数据。
方法300可以从块310开始。在块310,提供对象的二维(2D)图像作为已训练机器学习模型的输入。所述2D图像可以从数据存储器中检索,也可以由用户作为用户输入提供。所述对象可能是作为虚拟环境一部分的对象的表示,例如生物对象,如动物、鱼、哺乳动物、鸟等,或一个人工对象,如汽车、飞机等,被包含在评估或游戏环境中。2D图像可以包括对象的图像,该图像之前没有作为ML模型的输入提供,也可以是对象的图像并且之前作为ML模型的输入提供。在一些实现方式中,所述2D图像可能是一个真实物体的照片。块310后面可跟着块320。
在块320处,获得与对象的类别相关联的模板三维(3D)网格。在一些实现方式中,可以根据所提供的2D图像的图像分析确定所述对象的类别。如前所述,虚拟环境中的对象和/或角色可以实现为3D模型,可能包括用于绘制所述对象/角色(也称为皮肤或网格)的表面表示和一组相互连接的分层骨骼(也称为骨架或骨骼绑定)。所述骨骼绑定可以被所述对象用来制作人物动画和模拟动作。3D模型可以表示为一个数据结构,可以修改数据结构的一个或多个参数,以更改所述对象和/或角色的各种属性(属性),例如尺寸(高度、宽度、周长等);体型;运动风格;身体部位数量/类型;比例(如肩臀比);头的大小;以及其它。
在一些实现方式中,所述模板3D网格是一个同胚模板网格。所述模板3D网格可以从一组以前生成和存储的模板网格中选择,并可能包括用户生成和自动生成的网格。在一些实现方式中,可以向用户显示多个模板网格,并根据从用户接收到的输入选择一个模板网格。在一些实现方式中,可以为方法300的性能选择多个模板网格。块320后面可跟着块330。
在块330,所述对象的3D网格被生成使用所述已训练机器学习模型基于所述二维图像和所述模板3D网格。在一些实现方式中,所述已训练机器学习模型可能包括一个人工神经网络(artificial neural network,ANN),例如一个前馈神经网络,如多层感知器(multilayer perceptron,MLP)。在一些实现方式,所述已训练机器学习模型可能包括网格编码器,一个图像编码器,和多个网格解码器,训练它们生成3D网格的对象基于所述对象的2D图像。
机器学习模型使用各种对象及其对应几何图形、网格和图像进行训练。对机器学习模型训练的其他细节参考图4和图5A至图5B提供更详细的说明。
在一些实现方式中,利用图像编码器将提供的2D图像编码为形状空间向量。形状空间向量可以是一个n维向量,它是所提供的2D图像的降维表示。一个网格解码器与类别相关的所述对象用于解码形状空间向量为所述3D网格的所述对象的网格重划分所述模板3D网格,即顶点模板的网格调整(移动)基于形状空间向量通过利用一个同胚变换保留的拓扑性质所述模板3D网格。在一些实现方式中,通过网格重划分所述模板3D网格生成的所述对象的所述3D网格可以通过用户界面显示。
在一些实现方式中,在获得所述模板3D网格之前,可以根据所述2D图像利用图像匹配来确定所述对象的类别。在一些实现方式中,可以执行图像分割来确定所述对象的类别。在一些实现方式中,可以根据用户输入指定所述对象的类别。
在一些实现方式中,一个或多个来自所述2D图像的纹理可以映射到所述对象的所述3D网格,这取决于所述2D图像中的纹理信息。在一些实现方式中,可以执行语义分割,并且可以将来自所述2D图像的不同部分的纹理信息映射到所述对象的所述3D网格的对应部分。
在一些实现方式中,所述模板3D网格与骨骼绑定相关联,其中包括在空间中排列的网格多个顶点(关节)。所述骨骼绑定可能包含一组相互关联的分层部件(称为骨骼,它们共同构成骨架或骨骼绑定)。在这样的实施方式中,所述多个顶点中的每一个顶点连接到多个关节中的至少一个其他顶点。
一个或多个与所述模板3D网格相关的动画可以预先定义,这样每个模板动画包括多个顶点中的两个或多个的运动,以模拟底层对象的运动。使用同胚模板3D网格可以重用所述对象中生成的3D网格中的模板动画,这是由网格重划分所述模板3D网格获得的。
在一些实现方式中,可以生成至少一个对象动画for所述对象,它基于所述3D网格for所述对象和一个或多个与所述模板3D网格相关的模板动画,其中包括一个或多个(预定义的)模板动画的对应模板动画中相同的两个或多个顶点的移动。
在一些实现方式中,可以使用UV回归器将纹理应用到网格重划分后网格对应到所述对象。在一些实现方式中,可以利用UV回归器生成从所述对象的所述3D网格顶点到所述2D图像顶点的映射,其中映射用于将纹理应用到所述对象的所述3D网格顶点。
UV映射是将2D图像投影到3D模型表面进行纹理映射的3D建模过程。字母“U”和“V”可以表示2D纹理的轴,而“X”、“Y”和“Z”表示3D模型空间对象的轴。顶点可以通过跟踪深度图像中的像素投影到3D模型中的顶点来分配UV坐标。这些坐标可以指示纹理图像中顶点对应的像素位置。例如,如果纹理图像的大小是(256,512),并且一个顶点投射到在(112,234)的像素上,该顶点的UV坐标为(112/256,234/512)=(0.4375,0.457)。
在一些实现方式中,机器学习模型可以利用所述对象和对应网格重划分后网格的二维图像,生成从网格重划分后网格的顶点到所述对象的第二二维图像的UV映射。ML模型可以是经过训练的统计模型,经过微调,可以对预定义的描述符集(例如,包含动物、哺乳动物或鱼的数据集)执行细粒度语义分割。这些描述符可以用来引导通过UV空间的回归。例如,训练过的统计模型可能是训练过的Deeplab模型或其他合适的模型。在一些实施例中,UV回归器可能试图在UV空间中的给定图像上“撒网”。ML模型可以学习如何将网格投影到图像上,而不是扭曲图像以适应网格。输入图像可能与用于3D重建的图像相同,因此这个回归器可以作为自动3D重建管道的一部分运行。在一些实施例中,任何有足够大的动物可见部分的图像都可能是可用的,所以多个纹理可以应用到同一个网格。输入可以是一个新的2D图像a和一个源网格B。B可以用训练Deeplab模型生成图像时使用的相同描述符分割。输出可能是从B的顶点到a的UV映射。B可能不需要有预定义的UV映射,但如果有,UV回归器产生的UV可以继承到旧的UV映射中。
在一些实施例中,UV回归器的训练可以包括训练网络,例如AtlasNet,以使用描述符损失学习从网格表面到图像域的映射。输入图像可由描述网处理以获得每个像素的描述符。每次迭代,每个描述符类的点可以从网格表面和目标图像中采样。该网络可用于将采样的网格点映射到图像的UV空间中。回归可以使用AdamOptimizer(例如,学习率0.0001)来最小化描述符损失。该网络可以使用均方损失与从网格的侧视视角投影生成的UV坐标进行预训练。UV回归器可以使用损失函数进行训练,该损失函数包括基于倒角距离的描述符损失。
网络的训练可以继续使用描述符损失,定义如下:
描述符损失:设Qj是来自用于描述符类别j的图像的N个采样点集合,并且设Rj是来自用于描述符类别j的网格的M个采样点的集合。损失是在J中的j的倒角距离(Qj,Rj)对j的和,其中J是所有描述符类别的集合,并且倒角距离是在网格中每一个点到最近的邻近点的距离的和。
就像可以生成从模板网格表面到目标网格表面的映射一样,可以生成从模板网格表面到2D图像的映射,以实现纹理化的目的。在一些实现方式/实施例中,用于纹理的解码器可以包括五个全连接层,其输出大小为1024、512、256、128和2,分别地。每一层都可以使用整流线性单元(rectified linear unit,ReLU)激活函数,但最后一层可以没有激活。
在一些实施例中,纹理信息最丰富的是目标图像,其中尽可能包含所述对象的大部分问题(例如,动物的正面视图比侧视图有更少的信息来纹理网格)。当图像中动物以近似侧视的视角出现时,可能会产生比其他视角更好的结果。例如,可以通过使用均方损失和从网格的侧视图投影生成的UV坐标进行预训练来启动模型。
然而,可能不太可能收到一个完美的侧视图目标图像,因为在每次迭代中,从网格的整个表面学习到目标图像的映射,其中一边将比另一边更好地匹配图像。因此,当尝试纹理网格时,对称平面两侧的纹理可能是不一致的和不现实的。为了解决这个问题,在回归结束时,分别计算网格每边的描述符损失,并利用值最小的边作为整个网格反射UV图的基础。在一些实施例中,AdamOptimizer可以在以下学习参数的训练中使用:学习率=0.0001;Beta1=0.9;Beta2=0.999;总次数=1000。
图4示出了本申请实施例提供的训练图像编码器的示例方法的流程示意图。
在一些实现方式中,方法400可以在参考图2所述的服务器202上实现。在一些实现方式中,部分或全部方法400可以在一个或多个客户端设备210上实现,如图2所示,在一个或多个开发者设备230上,或在一个或多个服务器设备202上,和/或在开发人员设备、服务器设备和客户端设备的组合上实现。在所述示例中,实现系统包括一个或多个数字处理器或处理电路(“处理器”),以及一个或多个存储设备(例如数据存储器220或其他存储设备)。在一些实现方式中,一个或多个服务器和/或客户机的不同组件可以执行方法400的不同块或其他部分。在一些例子中,第一设备被描述为执行方法400的块。一些实现方式可以有一个或多个方法400的块,由一个或多个其他设备(例如,其他客户端设备或服务器设备)执行,这些设备可以向第一设备发送结果或数据。
在一些实现方式中,方法400或方法的部分可以由系统自动启动。在一些实现方式中,实现系统是第一设备。例如,方法(或其部分)可以定期执行,或者执行基于一个或多个给定事件或条件,例如,对象的3D网格生成的准确性低于阈值,新的类别的对象(或者多个对象)添加到评估平台或游戏平台,自从方法400的上次表现以来经过了预定的时间,和/或一个或多个其他情况发生,可以在设置中指定阅读的方法。
在这个说明性示例中,ML模型是一个人工神经网络,它包括网格编码器、图像编码器和多个网格解码器,用于从对象的二维图像生成三维网格。
方法400可以从块410块开始。在块410,接收多个目标网格。块410后面可跟着块420。
在块420,训练网格编码器和多个网格解码器。在一些实现方式中,可以执行两个阶段的培训。多个目标网格中的每个网格解码器对应一个给定模板网格。在一些实现方式中,可以执行两个阶段的训练,并在可用的训练目标网格上重复。在一些实现方式中,更新网格编码器包括基于第一错误函数的第一值重新训练网格编码器,更新图像编码器包括基于第二错误函数重新训练图像编码器。
在第一阶段中,网格编码器被用来将给定目标网格编码为第一形状空间向量。与给定目标网格的类型和/或类别对应的对应网格解码器被用来将第一形状空间向量解码为网格重划分后网格。
第一错误函数的第一值是根据目标网格和网格重划分后网格的比较确定的,并且根据第一值更新网格解码器的一个或多个参数。机器学习模型基于第一值进行训练,该值是被骨骼绑定的模板网格到目标网格的距离的度量。这个过程可以重复进行,直到在完整的目标网格集合上训练机器学习模型的网格解码器为止。
在第二阶段,训练一个图像编码器。接收到对象的多个二维(2D)图像,其中每个图像对应于相应类别的对象,其中该类别与对应模板网格相关联。在一些实现方式中,所述2D图像可能包括之前用于在前面描述的训练的第一阶段中训练网格解码器的对象图像和/或之前没有用于第一阶段训练的对象图像。
图像编码器被用来为包含在对象的2D图像训练集中的多个2D图像中的每一个生成形状空间向量。使用第一阶段中经过训练的网格编码器为每个目标网格作为训练集生成形状空间向量。
使用图像编码器生成的形状空间向量与对应对象中与目标网格相关联的对应形状空间向量比较,其中与目标网格相关联的形状空间向量是使用网格编码器编码的。图像编码器的一个或多个参数将根据比较进行更新。
第二错误函数的第二值是根据目标网格和网格重划分后网格的比较确定的,并且根据第二值更新图像编码器的一个或多个参数。在一些实现方式中,第二误差函数是一个适应度函数,它表示由网格编码器生成的形状空间向量与使用图像编码器生成的形状空间向量之间的距离。
这个过程可以重复,直到机器学习模型的图像编码器在目标网格的一个完整集合上被训练。在一些实现方式中,可以预先训练多个网格解码器中的一个或多个来近似对应模板网格上的恒等函数。
图5A示出了本申请实施例提供的训练网格解码器来生成网格重划分后网格的示例过程的示意图。图5B示出了本申请实施例提供的训练图像编码器来生成形状空间向量的示例过程的示意图。
在一些实施例中,所描述的系统和方法提供了一个3D重建模型,包括编码器-解码器体系结构,例如,基于AtlasNet或其他合适的方法。训练可以在两个连续的阶段中进行,第一阶段(500)训练网格编码器(504)将目标网格(502)中的点云映射到由形状空间向量(506)表示的潜在空间,第二阶段(550)训练图像编码器(554)将训练图像(552)映射到相同的潜在空间(556)。
在一些实现方式中,可以优化解码器,将已编码的潜在向量和模板表面上的随机点映射到目标表面上。在一些实现方式中,解码器可能包括五个全连接层,输出大小分别为1024、512、256、128和3,分别地。每一层可包括一个整流线性单元(ReLU)激活函数,但最后一层可能没有激活。倒角距离可以作为两个阶段的损失,可以使用AdamOptimizer或其他合适的方法进行优化。在第一阶段的预训练中,在模板顶点上可能会有一个额外的均方误差损失项。
在训练的第一阶段,目标可能是学习表示训练数据的不同可能几何形状的“形状空间”。例如,这可能包括学习几何图形编码为n维形状空间向量s。生物资产可以通过对应收到模板网格。生物资产可以是一种动物,如鱼、哺乳动物等。例如,可能接收到与鱼对应的模板网格。
使用第一统计模型,模板网格可以编码到第一形状空间向量。例如,第一统计模型可能是将目标网格作为输入并生成n维形状空间向量作为输出的网格编码器。
使用第二统计模型,第一形状空间向量可以被解码为生物资产的网格重划分后网格对应。例如,第二统计模型可能是网格解码器,它被预先训练成近似于模板网格上的恒等函数。网格解码器可以将形状空间向量作为输入,并生成与形状空间向量表示的几何图形相匹配的网格重划分后网格作为输出。可能有多个网格解码器,每个模板网格都有一个,作为网格编码器的输入。
可以确定基于模板网格和网格重划分后网格的比较(506)的第一误差函数的第一值。例如,第一错误函数可能是一个适应度函数,它度量网格重划分后网格与作为网格编码器输入提供的目标网格之间的距离(距离)。
使用反馈514可根据第一误差函数的第一值高于第一阈值更新第一统计模型。例如,第一阈值可能指示网格重划分后网格与目标网格的接近程度的可接受的错误级别。网格编码器可以根据第一错误函数的值进行重新训练。
在一些实施例中,PointNet或其他合适的方法可以在训练的第一阶段用于编码器。在一些实施例中,编码器可以将点云编码到潜在空间中。首先,可以在数据集上对模型进行预训练,使解码器近似于模板上的恒等函数。这样做的效果是将参数空间引导到网格重划分s,这些参数空间适用于各种目的,例如映射纹理、动画等。然后对模型进行2000个迭代次数的训练,重构目标点云。在一些实现方式中,可以使用以下学习参数:点网学习速率=0.001;Beta1=0.9;Beta2=0.999;总迭代次数=2000;批大小=8。
在第二阶段的训练中,目标可能是学习如何将图像映射到形状空间向量对应到所述对象,例如,一个动物。训练可以使用一组图像对应到提供给网格编码器作为输入的模板网格。
在更新第一统计模型之后,可能会收到所述对象的二维图像。例如,在对网格编码器进行训练之后,可以接收到提供给网格编码器作为输入的二维图像对应到目标网格。
更新后的第一统计模型可用于将目标网格对应到所述对象编码为更新后的第一形状空间向量。例如,在网格编码器被训练后,使用训练过的网格编码器,目标网格可能被系统编码为一个n维的形状空间向量对应到目标网格。
使用第三个统计模型,二维图像可以被编码到第二形状空间向量中。例如,第三个统计模型可能是图像编码器,它接受对象的图像作为输入,并生成n维形状空间向量作为输出。
第二错误函数的第二值可以基于更新后的第一形状空间向量和第二形状空间向量的比较(564)来确定。例如,第二错误函数可能是一个适应度函数,它度量图像编码器生成的形状空间向量与网格编码器生成的形状空间向量的接近程度。
使用反馈566,第三个统计模型可以基于第二误差函数的第二值高于第二阈值进行更新。例如,第二阈值可以指示图像编码器生成的形状空间向量与网格编码器生成的形状空间向量之间的接近程度的一个可接受的错误级别。图像编码器可以根据第二错误函数的值进行重新训练。
在一些实施例中,在第二阶段的训练中,编码器可以使用对象识别模型,如VGG或其他合适的方法。
在一些实施例中,编码器可以将图像编码到潜在空间中。在训练过程中,优化时只能更新编码器的最后两层全连接层,第一级产生的3D解码器可能会被冻结。在一些实现方式中,可以使用以下学习参数:解码器学习率=0.001;Vgg学习率=1e-5;Beta1=0.9;Beta2=0.999;总迭代次数=10,000;批大小=16。
训练完成后,训练过的模型可用于为接收到的二维图像对象生成三维重建。在更新第三个统计模型(例如图像编码器)之后,可能会收到所述对象的一个新的二维图像。
使用更新的第三个统计模型,第二二维图像可以编码到第三个形状空间向量。例如,可以利用该系统将经过训练的二维图像图像编码器编码为n维的形状空间向量对应,以显示鱼的新图像。
该系统可用于解码,使用第二统计模型,第三个形状空间向量转换为第二网格重划分后网格对应到生物资产。例如,该系统可以被用来解码,使用网格解码器,n维形状空间向量对应的鱼的新,看不见的图像到对应网格重划分后网格,从而生成鱼的三维重建。
在一些实施例中,系统可以被用来生成一个同时使用K个模板网格(和K个对应参数化)的多模板模型。这可能有助于学习,因为它允许网络潜在地将模板映射到不匹配的目标,而且,允许用户访问几个可能的三维重构,以便他们可以选择一个适合他们的目的。
图6示出了本申请实施例提供的从对应2D图像生成的3D网格的示例。
这个说明性的例子描述了狼和熊的2D图像,以及使用上述方法生成的对应3D网格。如图6所示,所述3D网格是根据类别的模板网格进行网格重划分后的网格重划分后网格。如图6所示,纹理属性也被转移,以提供更精确的所述对象表示。
图7示出了本申请实施例提供的分割2D图像用于分类的示例。
细粒度语义分割可以在一组预定义的描述符上执行,以确定对象的给定部分,并对所述对象进行分类,确定类别类型等。在一些实现方式中,可以使用标准的Deeplab模型来执行语义分割。可以对输出类别进行适当修改,以匹配对象和/或生物资产的类别。例如,标准Deeplab模型的输出类的数量可以更改为匹配描述符的数量(例如,哺乳动物为8,鱼类为3),并以1E-4的学习率进行训练。在这个说明性的例子中,图7的左边描述了输入图像,所述的右边显示了经过训练的ML模型的结果。
在一些实现方式中,为对象类哺乳动物示例集定义的描述符集可能包括眼睛、头、腿、口吻、耳朵、尾巴、角和身体,为对象类鱼类定义的描述符集可能包括眼睛、身体和鳍。
图8示出了本申请实施例提供的对象的被骨骼绑定的3D网格的示例。
在这个说明性例子中,所述对象是一个生物资产(熊)。图8描述了叠加在2D图像上的网格。如图9所示,网格重划分后网格包括多个连接的关节,可用于在虚拟环境中使3D对象动画化,例如,描绘移动的汽车、游泳的鱼、奔跑的动物等。
图9示出了本申请实施例提供的示例评估框架。
在一些方面,所述系统和方法的一个示例实现如图9所示。特别地,图9显示了根据本申请的一些实施例计算评估分数的系统的示例实现。特别地,系统900可能包括一个或多个处理器910,它们可操作为用户生成评估分数(例如,元素940)。这些信息可以存储在内存中或持久存储到存储介质中。在一些实施例中,处理器910可以接收用户的遥测数据920,包括鼠标移动、单击、选择、时间戳和其他合适的遥测数据。在一些实施例中,处理器910可以根据至少一些所述的系统和方法,使用评估框架930(例如,相关程序或软件),为每个用户的遥测数据接收和/或生成一个或多个评估分数。处理器910可以配置为至少执行一些所述的系统和方法,以基于遥测数据920和/或评估框架930生成评估分数940。
图10示出了本申请实施例提供的示例计算设备的示意图。
在一些方面,图10中显示了一种计算设备1000的说明性实施例,该计算设备1000可用于与本申请中提供的任何实施例相连接的情况。特别地,图10显示了根据本申请的一些实施例执行基于模拟的评估的示例计算机系统。计算设备1000可包括一个或多个处理器1010和一个或多个包含非临时计算机可读存储介质(例如,内存1020和一个或多个非易失性存储介质1030)的制造产品。处理器1010可以以任何适当的方式控制向存储器1020和非易失性存储设备1030写入数据和从存储器1020读取数据。为了执行这里所描述的任何功能,处理器1010可以执行存储在一个或多个非临时计算机可读存储介质(例如,内存1030)中的一个或多个处理器可执行指令,该非临时计算机可读存储介质可存储处理器可执行指令供处理器1010执行。
在一些实施例中,至少有一些所描述的系统和方法是在基于云的体系结构中实现的。基于云的体系结构可以提供对可配置计算资源共享池的按需访问(例如处理器、图形处理器、内存、磁盘存储、网络带宽和其他合适的资源)。基于云的架构中的处理器可能能够操作接收或获取用户的遥测数据,包括鼠标移动、单击、选择、时间戳和其他合适的遥测数据,并为用户计算评估分数。基于云的架构中的内存可以存储用户的遥测数据以及评估框架(例如,相关程序或软件),这些框架可以由处理器操作来计算评估分数。在一些实施例中,基于云的体系结构可能提供一个图形处理器,用于计算评估分数,与传统处理器相比,计算速度更快、效率更高。
图11示出了本申请实施例提供的示例计算设备1100且可用于实现以下描述的一个或者多个特征的示意图。在一个例子中,设备1100可用于实现计算机设备(例如图2中的202和/或210),并执行本申请所述的适当方法实施方式。计算设备1100可以是任何合适的计算机系统、服务器或其他电子或硬件设备。例如,计算设备1100可以是大型计算机、台式计算机、工作站、便携式计算机或电子设备(便携式设备、移动设备、手机、智能手机、平板电脑、电视、电视机顶盒、个人数字助理(PDA)、媒体播放器、游戏设备、可穿戴设备等)。在一些实现方式中,设备1100包括处理器1102、内存1104、输入输出(I/O)接口1106和音频/视频输入输出设备1114。
处理器1102可以是一个或多个处理器和/或处理电路,用于执行程序代码和控制设备1100的基本操作。“处理器”包括处理数据、信号或其他信息的任何合适的硬件和/或软件系统、机制或组件。处理器可以包括具有通用中央处理单元(CPU)、多个处理单元、用于实现功能的专用电路或其他系统的系统。处理不需要局限于给定地理位置,或有时间限制。例如,处理器可以以“实时”、“脱机”、“批处理模式”等方式执行其功能。不同的(或相同的)处理系统可以在不同的时间和不同的地点执行处理的部分。计算机可以是与存储器通信的任何处理器。
内存1104通常在设备1100中提供,供处理器1102访问,并且可以是任何合适的处理器可读存储介质,例如随机访问存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、电可擦只读存储器(Electrical Erasable Read-only Memory,EEPROM)、闪存等,适合存储由处理器执行的指令,并与处理器1102分离或集成。内存1104可以存储由处理器1102在服务器设备1100上运行的软件,包括操作系统1108、一个或多个应用程序1110,例如音频空间化应用程序和应用程序数据1112。在一些实现方式中,应用程序1110可以包含使处理器1102能够执行这里所描述的功能(或控制的功能)的指令,例如参考图3至图4以及图5A和图5B所描述的方法部分或者全部。
例如,应用程序1110可以包括音频空间化模块1112,如本申请所述,该模块可以在在线游戏服务器(例如102)中提供音频空间化。内存1104中的软件元素也可以存储在任何其他合适的存储位置或计算机可读介质上。此外,内存1104(和/或其他连接的存储设备)可以存储在本申请描述的功能中使用的指令和数据。存储器1104和任何其他类型的存储(磁盘、光盘、磁带或其他有形媒体)都可以被认为是“存储器”或“存储设备”。
I/O接口1106可以提供服务器设备1100与其他系统和设备的接口功能。例如,网络通信设备、存储设备(例如内存和/或数据存储120)和输入/输出设备可以通过接口1106进行通信。在一些实现方式中,I/O接口可以连接到接口设备,包括输入设备(键盘、指向设备、触摸屏、麦克风、相机、扫描仪等)和/或输出设备(显示设备、扬声器设备、打印机、电机等)。
音频/视频输入/输出设备1114可包括可用于接收用户输入的用户输入设备(如鼠标等)、显示设备(如屏幕、显示器等)和/或可用于提供图形和/或可视输出的组合输入和显示设备。
为了便于说明,图11分别用各一个块来显示了处理器1102、内存1104、I/O接口1106和操作系统1108和游戏应用程序1110。这些块可以代表一个或多个处理器或处理电路、操作系统、内存、I/O接口、应用程序和/或软件引擎。在其他的实施方式中,设备1100可能没有所示的所有组件,和/或可能有其他元素,包括其他类型的元素,代替或补充在此所示的元素。虽然在线游戏服务器202被描述为执行本协议一些实现方式中所述的操作,但在线游戏服务器202或类似系统的任何合适的组件或组件的组合,或与该系统关联的任何合适的处理器,都可以执行所述的操作。
用户设备还可以实现和/或与本申请描述的特性一起使用。示例用户设备可以是计算机设备,包括一些类似于设备1100的组件,例如处理器1102、内存1104和I/O接口1106。可在内存中提供适合于客户端设备的操作系统、软件和应用程序,并由处理器使用。客户端设备的I/O接口可以连接到网络通信设备,也可以连接到输入和输出设备,例如捕捉声音的麦克风,捕捉图像或视频的相机,捕捉用户输入的鼠标,识别用户手势的手势设备,检测用户输入的触摸屏,输出声音的音频扬声器设备,输出图像或视频的显示设备,或其他输出设备。例如,在音频/视频输入/输出设备1114中的显示设备,可以连接到(或包含在)设备1100,以显示本申请所述的图像预处理和后处理,其中该显示设备可以包括任何合适的显示设备,例如LCD、LED或等离子显示屏、CRT、电视、显示器、触摸屏、3d显示屏、投影仪或其他可视显示设备。一些实现方式可以提供一个音频输出设备,例如语音输出或说文本的合成。
本申请描述的一种或多种方法(例如方法300和400)可以通过计算机程序指令或代码实现,这些程序指令或代码可以在计算机上执行。例如,代码可由一个或多个数字处理器(如微处理器或其他处理电路)实现,并可存储在计算机程序产品上,包括非暂态计算机可读介质(如存储介质),如磁性、光学、电磁或半导体存储介质,包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、骨骼绑定id磁盘、光盘、固态存储驱动器等。程序指令也可以包含在电子信号中,并作为电子信号提供,例如从服务器(例如分布式系统和/或云计算系统)交付的软件即服务(software as aservice,SaaS)形式。或者,一个或多个方法可以在硬件中实现(逻辑门等),或者在硬件和软件的组合中实现。示例硬件可以是可编程处理器(如现场可编程门阵列(Field-Programmable Gate Array,FPGA),复杂可编程逻辑设备),通用处理器,图形处理器,特定应用集成电路(Application Specific Integrated Circuits,ASIC),等等。一个或多个方法可以作为运行在系统上的应用程序的一部分或组件执行,也可以作为与其他应用程序和操作系统一起运行的应用程序或软件执行。
本申请所描述的一种或多种方法可以在一个独立的程序中运行,该程序可以在任何类型的计算设备上运行,在web浏览器上运行的程序,在移动计算设备(例如,手机、智能手机、平板电脑、可穿戴设备(手表、袖标、珠宝、头饰、护目镜、眼镜等)上运行的移动应用程序(“app”),笔记本电脑等。在一个例子中,可以使用客户机/服务器架构,例如,移动计算设备(作为客户机设备)将用户输入数据发送到服务器设备,并从服务器接收最终输出数据以进行输出(例如,用于显示)。在另一个例子中,所有的计算都可以在移动计算设备上的移动应用程序(和/或其他应用程序)中执行。在另一个示例中,计算可以在移动计算设备和一个或多个服务器设备之间进行分割。
虽然已经对给定实施方式进行了描述,但这些给定实施方式仅仅是说明性的,而不是限制性的。示例中说明的概念可以应用于其他示例和实施方式。
在本申请中描述的功能块、操作、特性、方法、设备和系统可以集成或划分为技术人员所熟知的系统、设备和功能块的不同组合。可以使用任何合适的编程语言和编程技术来实现给定实施方式的例程。可以采用不同的编程技术,例如,过程的或面向对象的。例程可以在单个处理设备或多个处理器上执行。虽然步骤、操作或计算可能以特定的顺序显示,但顺序可能在不同的给定实施方式中更改。在一些实现方式中,本规范中按顺序显示的多个步骤或操作可以同时执行。

Claims (25)

1.一种计算机实现方法用于利用已训练机器学习模型来生成对象的3D网格,其特征在于,所述方法包括:提供所述对象的二维2D图像作为所述已训练机器学习模型的输入;
获得模板三维3D网格;和
生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。
2.根据权利要求1所述的计算机实现方法,其特征在于,还包括显示包括了用于所述对象的所述3D网格的用户接口。
3.根据权利要求1所述的计算机实现方法,其特征在于,用于所述对象的所述3D网格是通过利用所述已训练机器学习模型来网格重划分所述模板3D网格获得。
4.根据权利要求1所述的计算机实现方法,其特征在于,还包括,在获得所述模板3D网格之前,基于所述2D图像利用图像匹配确定所述对象的类别。
5.根据权利要求1所述的计算机实现方法,其特征在于,还包括映射所述纹理到所述3D网格。
6.根据权利要求1所述的计算机实现方法,其特征在于,所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,还包括:
获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和
基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。
7.根据权利要求1所述的计算机实现方法,其特征在于,所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,还包括:
接收多个目标网格;和
训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:
编码,利用所述网格编码器,目标网格成形状空间向量;
解码,利用所述网格解码器和基于所述给定模板网络,所述形状空间向量成网格重划分后网格;
基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和
基于所述第一值,更新所述网格解码器的一个或者多个参数。
8.根据权利要求1所述的计算机实现方法,其特征在于,所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,还包括训练所述图像编码器,其中所述训练包括:
接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;
生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;
比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;
确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和
基于所述第二值,更新所述图像编码器的一个或者多个参数。
9.根据权利要求1所述的计算机实现方法,其特征在于,还包括:
处理,利用UV回归器,所述对象的所述2D图像和所述3D网格从而生成从所述对象的所述3D网格的顶点到所述2D图像的映射,其中所述映射被用于应用所述纹理到所述对象的所述3D网格。
10.根据权利要求9所述的计算机实现方法,其特征在于,所述UV回归器被训练利用包括了基于倒角距离的描述符损失的损失函数。
11.根据权利要求1所述的计算机实现方法,其特征在于,所述模板3D网格是同胚模板网格。
12.一种系统,其特征在于,包括:
其上存储有指令的存储器;和
与所述存储器耦合的处理设备,所述处理设备被配置为访问所述存储器,其中所述指令当被所述处理设备执行时导致所述处理设备执行的操作包括:
提供所述对象的二维2D图像作为已训练机器学习模型的输入;
获得模板三维3D网格;和
生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。
13.根据权利要求12所述的系统,其特征在于,用于所述对象的所述3D网格是通过利用所述已训练机器学习模型来网格重划分所述模板3D网格获得。
14.根据权利要求12所述的系统,其特征在于,所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,所述操作还包括:
获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和
基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。
15.根据权利要求12所述的系统,其特征在于,所述模板3D网格是同胚模板网格。
16.根据权利要求12所述的系统,其特征在于,所述机器学习模型包括网格编码器、图像编码器和多个网格解码器,所述操作还包括:
接收多个目标网格;和
训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:
编码,利用所述网格编码器,目标网格成形状空间向量;
解码,利用所述网格解码器和基于所述给定模板网络,所述形状空间向量成网格重划分后网格;
基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和
基于所述第一值,更新所述网格解码器的一个或者多个参数;和
训练所述图像编码器,包括:
接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;
生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;
比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;
确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和
基于所述第二值,更新所述图像编码器的一个或者多个参数。
17.一种非暂时性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在处理设备上运行时使得所述处理设备执行的操作包括:
提供所述对象的二维2D图像作为已训练机器学习模型的输入;
获得模板三维3D网格;和
生成,利用所述已训练机器学习模型并且基于所述2D图像和所述模板3D网格,用于所述对象的3D网格,其中用于所述对象的所述3D网格可用于映射纹理或者生成所述对象的3D动画。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其特征在于,所述模板3D网格是同胚模板网格。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其特征在于,所述模板3D网格是包括了所述3D网格的多个顶点的骨骼绑定,并且所述多个顶点中的每一个顶点连接所述多个顶点中的至少一个另一顶点,所述操作还包括:
获得,与所述模板3D网格相关联的一个或者多个模板动画,其中每一个模板动画定义所述多个顶点中的两个或者多个顶点的运动;和
基于所述3D网格和与所述模板3D网格相关联的所述一个或者多个模板动画中的给定模板动画,生成用于所述对象的至少一个对象动画,其中所述至少一个对象动画包括与所述一个或者多个模板动画中的所述给定模板动画相同的两个或者多个顶点的运动。
20.根据权利要求17所述的非暂时性计算机可读存储介质,其特征在于,所述操作还包括:
处理,利用UV回归器,所述对象的所述2D图像和所述3D网格从而生成从所述对象的所述3D网格的顶点到所述2D图像的映射,其中所述映射被用于应用所述纹理到所述对象的所述3D网格。
21.一种方法用于训练包括了网格编码器、图像编码器和多个网格解码器的机器学习模型以便从对象的2D图像生成3D网格,其特征在于,所述方法包括:
接收多个目标网格;和
训练所述多个网格解码器,其中每一个网格解码器对应给定模板网格,其中所述训练包括:
编码,利用所述网格编码器,目标网格成形状空间向量;
解码,利用所述网格解码器和基于与所述网格解码器对应的所述给定模板网络,所述形状空间向量成网格重划分后网格;
基于所述目标网格和所述网格重划分后网格之间的比较,确定第一误差函数的第一值;和
基于所述第一值,更新所述网格解码器的一个或者多个参数。
22.根据权利要求21所述的方法,其特征在于,所述多个网格解码器中的每一个是预先训练以便近似所述对应模板网格上的恒等函数。
23.根据权利要求21所述的方法,其特征在于,所述第一误差函数是适应度函数用于指示从所述网格重划分后网格到所述目标网格之间的距离。
24.一种方法用于训练包括了网格编码器、图像编码器和多个网格解码器的机器学习模型以便从对象的2D图像生成3D网格,其特征在于,所述方法包括:
接收多个2D训练图像和对应目标网格,其中每一个图像描绘相应类别的给定对象并且所述类别与对应模板网格相关联;
生成,利用所述图像编码器,相应形状空间向量用于所述多个2D训练图像的每一个;
比较每一个生成的形状空间向量和用于所述对应目标网格的对应形状空间向量,其中与所述目标网格相关联的所述对应形状空间向量被编码利用所述网格编码器;
确定第二误差函数的第二值基于所生成的形状空间向量和所述对应形状空间向量之间的比较;和
基于所述第二值,更新所述图像编码器的一个或者多个参数。
25.根据权利要求24所述的方法,其特征在于,所述第二误差函数是适应度函数用于指示从所生成的形状空间向量到所述对应形状空间向量之间的距离。
CN202180044271.5A 2020-04-24 2021-04-23 基于模板从2d图像生成3d对象网格 Pending CN115769234A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063015391P 2020-04-24 2020-04-24
US63/015,391 2020-04-24
PCT/US2021/028973 WO2021217088A1 (en) 2020-04-24 2021-04-23 Template based generation of 3d object meshes from 2d images

Publications (1)

Publication Number Publication Date
CN115769234A true CN115769234A (zh) 2023-03-07

Family

ID=78222601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180044271.5A Pending CN115769234A (zh) 2020-04-24 2021-04-23 基于模板从2d图像生成3d对象网格

Country Status (5)

Country Link
US (1) US11741668B2 (zh)
EP (1) EP4139855A4 (zh)
KR (1) KR20230003059A (zh)
CN (1) CN115769234A (zh)
WO (1) WO2021217088A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117437365A (zh) * 2023-12-20 2024-01-23 中国科学院深圳先进技术研究院 医学三维模型的生成方法、装置、电子设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200084395A (ko) * 2018-12-20 2020-07-13 삼성전자주식회사 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
US10902618B2 (en) 2019-06-14 2021-01-26 Electronic Arts Inc. Universal body movement translation and character rendering system
CN112237739A (zh) * 2019-07-17 2021-01-19 厦门雅基软件有限公司 游戏角色渲染方法、装置、电子设备及计算机可读介质
US11504625B2 (en) 2020-02-14 2022-11-22 Electronic Arts Inc. Color blindness diagnostic system
US11232621B2 (en) 2020-04-06 2022-01-25 Electronic Arts Inc. Enhanced animation generation based on conditional modeling
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US20210375023A1 (en) * 2020-06-01 2021-12-02 Nvidia Corporation Content animation using one or more neural networks
DE102020207887A1 (de) * 2020-06-25 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Konvertierung von Messdaten zwischen Messmodalitäten
US20230050535A1 (en) * 2021-01-11 2023-02-16 Tetavi Ltd. Volumetric video from an image source
US11631214B2 (en) * 2021-05-04 2023-04-18 Sony Interactive Entertainment Inc. Voice driven modification of sub-parts of assets in computer simulations
US11887232B2 (en) * 2021-06-10 2024-01-30 Electronic Arts Inc. Enhanced system for generation of facial models and animation
KR20240013454A (ko) * 2022-07-22 2024-01-30 포항공과대학교 산학협력단 영상처리 장치 및 영상처리 장치를 위한 3차원 형상 잠재공간의 기계 학습 방법
CN116137629A (zh) * 2023-02-17 2023-05-19 软通动力信息技术(集团)股份有限公司 物联网感知数据与空间模型匹配方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406197B2 (en) * 2003-11-05 2008-07-29 Joseph M Francos Parametric estimation of multi-dimensional homeomorphic transformations
US8111923B2 (en) * 2008-08-14 2012-02-07 Xerox Corporation System and method for object class localization and semantic class based image segmentation
BRPI0917864A2 (pt) * 2008-08-15 2015-11-24 Univ Brown aparelho e método para estimativa da forma corporal
US8873812B2 (en) * 2012-08-06 2014-10-28 Xerox Corporation Image segmentation using hierarchical unsupervised segmentation and hierarchical classifiers
US20150325044A1 (en) * 2014-05-09 2015-11-12 Adornably, Inc. Systems and methods for three-dimensional model texturing
US9911220B2 (en) * 2014-07-28 2018-03-06 Adobe Systes Incorporated Automatically determining correspondences between three-dimensional models
US10796480B2 (en) * 2015-08-14 2020-10-06 Metail Limited Methods of generating personalized 3D head models or 3D body models
US10559111B2 (en) * 2016-06-23 2020-02-11 LoomAi, Inc. Systems and methods for generating computer ready animation models of a human head from captured data images
US10769411B2 (en) * 2017-11-15 2020-09-08 Qualcomm Technologies, Inc. Pose estimation and model retrieval for objects in images
US10909746B1 (en) * 2018-06-22 2021-02-02 Imbellus, Inc. Systems and methods for asset generation in immersive cognitive assessments
EP3863743A4 (en) 2018-10-09 2021-12-08 Resonai Inc. SYSTEMS AND PROCEDURES FOR 3D SCENES ENLARGEMENT AND RECONSTRUCTION

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117437365A (zh) * 2023-12-20 2024-01-23 中国科学院深圳先进技术研究院 医学三维模型的生成方法、装置、电子设备及存储介质
CN117437365B (zh) * 2023-12-20 2024-04-12 中国科学院深圳先进技术研究院 医学三维模型的生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR20230003059A (ko) 2023-01-05
EP4139855A4 (en) 2024-05-15
EP4139855A1 (en) 2023-03-01
US11741668B2 (en) 2023-08-29
WO2021217088A1 (en) 2021-10-28
US20210335039A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US11741668B2 (en) Template based generation of 3D object meshes from 2D images
US11514638B2 (en) 3D asset generation from 2D images
JP7410334B2 (ja) ゲームタグの自動生成
Lomas Cellular forms: an artistic exploration of morphogenesis.
US20220207831A1 (en) Simulated control for 3- dimensional human poses in virtual reality environments
US20230177755A1 (en) Predicting facial expressions using character motion states
Chamola et al. Beyond Reality: The Pivotal Role of Generative AI in the Metaverse
TW202232284A (zh) 用於在虛擬實境環境中三維人類姿勢之模擬控制
Ford A further analysis of the ethics of representation in virtual reality: Multi-user environments
JP7364702B2 (ja) テクスチャ操作を使用するアニメーション化された顔
CN114373034A (zh) 图像处理方法、装置、设备、存储介质及计算机程序
Friedman et al. Image Co-Creation by Non-Programmers and Generative Adversarial Networks.
Limano Realistic or iconic 3D animation (adaptation study with theory uncanny valley)
Surendranath et al. Curriculum learning for depth estimation with deep convolutional neural networks
Escobar et al. An Attention Economy Theme Park
US11769297B2 (en) Simulation of rigid bodies
US11957976B2 (en) Predicting the appearance of deformable objects in video games
US20230394734A1 (en) Generating Machine-Learned Inverse Rig Models
Jaszcz et al. Human-AI collaboration to increase the perception of VR
Petryshyn Dance energy style transfer using optical flow pattern and image-to-image translation networks
Meloni Learning from Video Streams: Virtual Environments and Parallel Computation
CN117808934A (zh) 一种数据处理方法及相关设备
Sood Novel Workflow for Driving a 3D Face Rig from a Reference Video using Deepfakes
Singh et al. Development of Virtual Reality Training module for Maithari of Martial Art Kalari
Peppinck Merging virtual reality with statistical modelling to improve environmental conservation

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