CN116848556A - 使用多视图细化来增强三维模型 - Google Patents

使用多视图细化来增强三维模型 Download PDF

Info

Publication number
CN116848556A
CN116848556A CN202280009971.5A CN202280009971A CN116848556A CN 116848556 A CN116848556 A CN 116848556A CN 202280009971 A CN202280009971 A CN 202280009971A CN 116848556 A CN116848556 A CN 116848556A
Authority
CN
China
Prior art keywords
mesh
image
parameter
mesh parameter
parameters
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
CN202280009971.5A
Other languages
English (en)
Inventor
A·阿里
G·戴恩
G·赖特迈尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116848556A publication Critical patent/CN116848556A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • 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/028Multiple view windows (top-side-front-sagittal-orthogonal)
    • 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/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

提供了用于使用多视图图像数据来对三维(3D)网格进行建模的系统和技术。一种示例方法可以包括:基于目标的第一图像来确定对应于第一坐标系的用于目标的第一3D网格参数;基于目标的第二图像来确定对应于第二坐标系的用于目标的第二3D网格参数;在第三坐标系中确定用于目标的第三3D网格参数,第三3D网格参数是基于第一和第二3D网格参数以及捕获第一和第二图像的图像传感器的相对旋转和平移参数的;确定与第三3D网格参数相关联的损失,损失是基于第一和第二3D网格参数以及相对旋转和平移参数的;基于损失和第三3D网格参数来确定3D网格参数。

Description

使用多视图细化来增强三维模型
技术领域
概括而言,本公开内容涉及图像处理,并且更具体地说,涉及用于使用多视图细化来增强参数网格的三维模型的技术和系统。
背景技术
许多设备和系统能够生成捕获场景、对象、人和形状等的图像(或帧)和/或者视频数据(包括多个帧)。例如,相机或包括相机的计算设备(例如,诸如移动电话的移动设备、或者包括一个或多个相机的智能设备)可以捕获场景、人和/或对象的图像。图像可以由这样的设备和系统捕获并处理,并且被输出供使用(例如,显示在设备上)。被捕获的图像还可以被进一步处理以用于某些应用,诸如,例如,计算机图形学、扩展现实(例如,增强现实、虚拟现实等)、图像识别(例如,形状识别、对象识别、场景识别等)、以及特征估计等。例如,图像可被处理以检测该图像中存在的任何对象或面部(例如,使用面部或对象识别等),这可能有助于各种应用。
在一些情况下,由设备捕获的图像数据可以用于构建图像数据中的目标(例如,对象、人、形状等)的三维(3D)模型。3D模型可以用在多种应用中,诸如,例如,多媒体(例如,电影、视频游戏、扩展现实等)、计算机视觉(例如,运动跟踪、形状建模、对象映射、图像识别、姿态估计、图像配准和扭转、场景重建、图像分割、动画等)、机器人学和自动化、工业设计以及医疗保健等。3D建模可能是有挑战性且复杂的,尤其是在对铰接式对象进行建模时。此外,3D建模技术常常是不准确且不一致的,并且对于处理噪声、模糊和配置改变等具有难度。在许多情况下,3D建模技术需要人工调谐用于特征匹配的阈值,并且在捕获设备被重新定位时可能失败或者需要重新训练。
发明内容
在一些示例中,描述了用于增强参数网格的三维(3D)建模的技术和系统。根据至少一个说明性示例,提供了一种使用多视图细化来对3D参数网格进行建模的方法。在一些示例中,该方法可以包括:基于目标的第一图像来确定用于目标的第一三维(3D)网格参数,其中,第一3D网格参数对应于与第一图像相关联的第一坐标参考系;基于目标的第二图像来确定用于目标的第二3D网格参数,其中,第二3D网格参数对应于与第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于目标的第三3D网格参数,第三3D网格参数是基于第一3D网格参数、第二3D网格参数、以及捕获第一图像的第一图像传感器和捕获第二图像的第二图像传感器的相对旋转和平移参数的;以及基于第三3D网格参数以及与第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,经调整的3D网格参数包括对第三3D网格参数的一个或多个调整。
根据至少一个说明性示例,提供了一种用于使用多视图细化来对3D参数网格进行建模的非临时性计算机可读介质。在一些方面中,该非临时性计算机可读介质可以包括指令,该指令在由一个或多个处理器执行时,使一个或多个处理器进行以下操作:基于目标的第一图像来确定用于目标的第一三维(3D)网格参数,其中,第一3D网格参数对应于与第一图像相关联的第一坐标参考系;基于目标的第二图像来确定用于目标的第二3D网格参数,其中,第二3D网格参数对应于与第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于目标的第三3D网格参数,第三3D网格参数是基于第一3D网格参数、第二3D网格参数、以及捕获第一图像的第一图像传感器和捕获第二图像的第二图像传感器的相对旋转和平移参数的;以及基于第三3D网格参数以及与第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,经调整的3D网格参数包括对第三3D网格参数的一个或多个调整。
根据至少一个说明性示例,提供了一种用于使用多视图细化来对3D参数网格进行建模的装置。在一些方面中,该装置可以包括:存储器,其具有存储在其上的计算机可读指令;以及一个或多个处理器,其被配置为进行以下操作:基于目标的第一图像来确定用于目标的第一三维(3D)网格参数,其中,第一3D网格参数对应于与第一图像相关联的第一坐标参考系;基于目标的第二图像来确定用于目标的第二3D网格参数,其中,第二3D网格参数对应于与第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于目标的第三3D网格参数,第三3D网格参数是基于第一3D网格参数、第二3D网格参数、以及捕获第一图像的第一图像传感器和捕获第二图像的第二图像传感器的相对旋转和平移参数的;以及基于第三3D网格参数以及与第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,经调整的3D网格参数包括对第三3D网格参数的一个或多个调整。
根据另一说明性示例,一种用于使用多视图细化来对3D参数网格进行建模的装置可以包括用于进行以下操作的单元:基于目标的第一图像来确定用于目标的第一三维(3D)网格参数,其中,第一3D网格参数对应于与第一图像相关联的第一坐标参考系;基于目标的第二图像来确定用于目标的第二3D网格参数,其中,第二3D网格参数对应于与第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于目标的第三3D网格参数,第三3D网格参数是基于第一3D网格参数、第二3D网格参数、以及捕获第一图像的第一图像传感器和捕获第二图像的第二图像传感器的相对旋转和平移参数的;以及基于第三3D网格参数以及与第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,经调整的3D网格参数包括对第三3D网格参数的一个或多个调整。
在一些方面中,上文描述的方法、装置和计算机可读介质可以包括:将第三3D网格参数变换成第一坐标参考系和第二坐标参考系;以及使第三3D网格参数与同第一3D网格参数和第二3D网格参数相关联的根相对坐标对齐。在一些示例中,第三3D网格参数通过减去与根相对估计相关联的根的深度来与根相对坐标对齐,该根相对估计是与第一3D网格参数和第二3D网格参数相关联的。
在一些方面中,上文描述的方法、装置和计算机可读介质可以包括:基于第二3D网格和第三3D网格来确定一个或多个损失。一个或多个损失可以包括第二3D网格和第三3D网格之间的损失。
在一些示例中,第一坐标参考系可以包括第一根相对系,并且第二坐标参考系可以包括第二根相对系。在一些示例中,第三坐标参考系可以包括与第一图像和第二图像相关联的场景中的真实世界坐标系。
在一些示例中,确定第三3D网格参数可以包括:将第一根相对系和第二根相对系中的3D坐标转换成真实世界坐标系中的3D坐标;以及基于真实世界坐标系中的3D坐标来确定第三3D网格参数,第三3D网格参数在真实世界坐标系中对目标进行建模。在一些情况下,第一根相对系和第二根相对系中的3D坐标基于相对旋转和平移参数以及与第一3D网格参数和第二3D网格参数相关联的深度信息来被转换成真实世界坐标系中的3D坐标。
在一些示例中,确定第一3D网格参数和第二3D网格参数可以包括:确定目标的在第一图像中的第一根相对姿态和目标的在第二图像中的第二根相对姿态。在一些示例中,第一3D网格参数可以包括第一根相对姿态,并且第二3D网格参数包括第二根相对姿态。
在一些示例中,一个或多个损失可以是基于第一3D网格参数、第二3D网格参数以及相对旋转和平移参数来计算的。在一些方面中,上文描述的方法、装置和计算机可读介质可以包括:基于第一3D网格参数、第二3D网格参数以及相对旋转和平移参数来确定与第三3D网格参数相关联的一个或多个损失。
在一些示例中,一个或多个损失是基于最小平方误差函数来计算的。在一些情况下,确定经调整的3D网格参数可以包括:基于最小平方误差函数来最小化第三3D网格参数中的误差。
在一些示例中,确定一个或多个损失可以包括:基于第三3D网格参数以及相对旋转和平移参数来生成第一坐标参考系中的第一3D网格以及第二坐标参考系中的第二3D网格。
在一些方面中,上文描述的方法、装置和计算机可读介质可以包括:基于经调整的3D网格参数来生成3D网格模型。在一些示例中,目标可以包括铰接式对象,并且3D网格模型可以包括蒙皮模型。在一些示例中,第一图像和第二图像可以包括单目图像。
在一些方面中,装置可以是相机(例如,IP相机)、移动设备(例如,移动电话或所谓的“智能电话”、或其它移动设备)、智能可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型电脑、服务器计算机、3D扫描仪、多相机系统或其它设备,或者可以是它们的部分。在一些方面中,装置包括用于捕获一个或多个图像的一个或多个相机。在一些方面中,装置还包括用于显示一个或多个图像、通知和/或其它可显示的数据的显示器。在一些方面中,上文描述的装置可以包括一个或多个传感器。
该发明内容不旨在标识所要求保护的主题的关键或必要特征,其也不旨在孤立地用于确定所要求保护的主题的范围。主题应当参照本专利的整个说明书的适当的部分、任何或者全部的附图、以及每条权利要求来理解。
在参照以下说明书、权利要求以及附图之后,前述内容以及其它特征和实施例将变得更加显而易见。
附图说明
下文参照以下附图来详细地描述本申请的说明性实施例:
图1是示出了根据本公开内容的一些示例的示例图像处理系统的简化的框图;
图2是示出了根据本公开内容的一些示例的用于估计用于真实世界系的深度信息的示例系统过程的示意图;
图3是示出了根据本公开内容的一些示例的用于从多个坐标参考系捕获对象的图像的示例多视图图像传感器设置的示意图;
图4是示出了根据本公开内容的一些示例的用于优化被确定用于来自多视图图像数据的对象的真实世界系网格参数的示例优化框架的示意图;
图5是示出了根据本公开内容的一些示例的示例3D建模使用例的示意图;
图6是示出了根据本公开内容的一些示例用于生成用于真实世界坐标系的经细化的网格参数的示例优化过程的示意图;
图7是示出了根据本公开内容的一些示例的使用多视图图像数据来对3D参数网格进行建模的示例过程的流程图;以及
图8是示出了用于实现本文中描述的某些方面的示例系统架构的示意图。
具体实施方式
下文提供了本公开内容的某些方面和实施例。如对于本领域技术人员将是显而易见的,这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以组合应用。在以下描述中,出于解释的目的,阐述了具体细节,以便提供对本申请的实施例的透彻理解。然而,将显而易见的是,可以在没有这些特定细节的情况下实践各个实施例。附图和描述不旨在是限制性的。
随后的描述仅提供了示例性实施例,并且不旨在限制本公开内容的范围、适用性或配置。相反,示例性实施例的随后的描述将为本领域技术人员提供用于实现示例性实施例的启迪性描述。应当理解的是,在不脱离如所附权利要求所阐述的本申请的精神和范围的情况下,可以对元素的功能和安排做出各种改变。
如前所述,可以针对被捕获在图像中的对象来构建三维(3D)模型。3D模型可以用在多种应用中,诸如,例如,多媒体(例如,电影、视频游戏、扩展现实等)、计算机视觉(例如,运动跟踪、形状建模、对象映射、图像识别、姿态估计、图像配准和扭转、场景重建、图像分割、动画等)、机器人学和自动化、工业设计以及医疗保健等。然而,3D建模可能是有挑战性且复杂的,尤其是在对铰接式对象进行建模时。此外,3D建模技术常常是不准确且不一致的,并且对于处理噪声、模糊和配置改变等具有难度。在许多情况下,3D建模技术需要人工调谐用于特征匹配的阈值,并且在捕获设备被重新定位时可能失败或者需要重新训练。
例如,立体算法可以用于计算用于由图像捕获的对象的深度信息。深度信息可以以用于对图像中的对象进行建模。然而,立体算法一般取决于有效的二维(2D)特征匹配。此外,立体算法经常需要人工调谐用于特征匹配的阈值。另外,利用立体算法,在镜头具有内在的径向畸变时,难以保持极线约束。
在一些情况下,深度学习算法可以用于计算深度信息以及对图像中的对象进行建模。然而,深度学习算法是不灵活的,并且经常需要显著的训练和再训练。例如,深度学习算法受它们所训练的立体几何结构约束,并且在图像捕获设备组装有用于其它使用例的不同几何结构时失效。在这样的情景下,深度学习算法可能需要针对正在被实现的特定立体几何结构进行再训练。
本文中描述的技术和系统可以用于增强和改进图像中的对象的3D建模。根据一些示例,本文中描述的技术和系统可以使用多视图细化来增强和改进参数网格的3D建模。在一些示例中,本文中描述的技术和系统可以使用立体或多视图图像捕获设备设置来细化对象的3D参数网格估计。本文中描述的3D建模方法可以限制或消除对于人工调谐用于立体特征匹配的阈值的需要,并且可以独立于由于畸变所导致的极线约束的任何不一致来进行立体特征匹配。
本文中描述的3D建模方法还可以允许来自多视图图像(例如,具有不同参考系的图像)的灵活的深度估计。本文中描述的3D建模方法可以被缩放至任何数量的图像视图(或图像捕获设备视图),而功率、时延、资源使用等具有有限或最小的增加。本文中描述的3D建模方法可以但不需要学习图像捕获设备校准。因此,本文中描述的3D建模方法对于多视图几何结构的任何改变(例如,图像捕获设备和/或输入图像的参考系的改变)是灵活的,并且在多视图几何结构的改变之后不需要额外的训练或再训练。
本文中描述的用于3D建模的系统和技术的示例在图1至图8中示出并且在下文中进行描述。图1是示出了示例图像处理系统100的示意图。如本文中进一步描述的,图像处理系统100可以执行3D建模。此外,图像处理系统100可以执行各种图像处理任务、效应、计算等,诸如,例如,色度键控效应、扩展现实效应、图像配准和扭转、运动跟踪、姿态估计、对象映射、特征提取、图像识别(例如,面部识别、表情识别、性别识别、眼睛注视识别、年龄识别、种族识别、对象识别等)、深度估计、3D网格参数细化和拟合、参数优化、自动化、机器视觉、对象建模和配准、以及/或者任何其它图像处理任务、效应和/或计算。
在一些说明性示例中,图像处理系统100可以使用多视图图像输入来执行参数网格的3D建模。在一些示例中,图像处理系统100可以使用立体或多视图图像捕获设备设置来细化对象的3D参数网格估计。在一些情况下,图像处理系统100可以使用线性方程来确定有关被捕获在图像中的对象的真实世界深度信息(例如,在真实世界/物理场景或环境内的对象的深度信息),以及/或者估计真实世界坐标系(例如,真实世界/物理场景或环境的坐标系)。图像处理系统100可以使用深度信息和/或真实世界坐标系来估计用于被捕获在图像中的对象的在真实世界坐标系中的网格参数。在一些示例中,如本文中进一步描述的,图像处理系统100可以执行推理时间参数优化。
在一些示例中,图像处理系统100可以使用对象的多个图像视图来执行3D建模并生成3D蒙皮网格模型。例如,图像处理系统100可以使用来自多个图像传感器、图像捕获设备和/或单目相机设备(诸如,图像传感器102和104)的输入图像来执行参数3D建模并生成蒙皮网格模型。在一些示例中,所建模的对象可以包括铰接式对象。铰接式对象可以包括至少两个组件,该至少两个组件在它们中的任何组件之间具有高达六个自由度。例如,铰接式对象可以包括一些受固定的运动树约束的刚性3D结构,在固定的运动树中,父子关系引导该对象的运动。为了说明,铰接式对象可以包括具有一个或多个关节件或铰接件(或铰接面)的结构,该一个或多个关节件或铰接件(或铰接面)允许结构的一个或多个组件(例如,部件、部分、子结构、骨等)相对于结构的不同组件移动,以及/或者在结构的任何组件之间提供某一运动(例如,旋转、平移等)自由度。铰接式对象的非限制性示例可以包括身体(例如,人体、某些动物身体等)、身体部分(例如,手部、头部、腿部、脚部等)、操纵机器人、某些工具等。
蒙皮模型可以包括铰接式对象的模型,其中表面网格的顶点连接到若干个骨骼(例如,结构、框架等)位置,并且提供表面网格(例如,包括刚性和非刚性部分)的柔软、非刚性和/或灵活的变形。在一些示例中,参数网格可以包括受控制所建模的对象的表面顶点的姿态、位置和形状的参数的固定集合约束的3D结构。受控制表面顶点的姿态、位置和形状的参数的固定集合约束的3D结构的非限制性示例可以包括均匀形状(诸如圆柱形、球形、立方体形以及复杂形状)的对象和/或诸如身体(例如,人体、动物身体等)、身体部分(例如,手部等)、操纵机器人等的结构。
在一些示例中,图像处理系统100可以估计有关被捕获在具有不同视图(例如,参考系或坐标系)的多个图像和/或由具有不同视图的多个图像捕获设备捕获的图像中的对象的真实世界深度信息。图像处理系统100可以使用具有不同视图的图像来估计有关对象的真实世界深度信息。例如,多个图像捕获设备(例如,图像传感器102和104)的参考系中的3D点可以具有线性关系。在一些情况下,图像处理系统100可以实现可以使用图像捕获设备的线性关系来引导或执行坐标变换的线性方程。图像处理系统100可以使用线性关系(和线性方程)来估计和/或细化来自由多个图像捕获设备捕获的图像的深度信息。
在一些示例中,图像处理系统100可以生成来自由多个图像捕获设备(例如,图像传感器102和104)捕获的多个输入图像的对象的3D网格。图像处理系统100可以使用3D网格来生成对象的与真实世界系对应的3D网格。图像处理系统100可以通过拟合来细化3D网格的网格参数。例如,在3D网格参数的初始估计之后,图像处理系统100还可以调谐3D网格参数,以更好地拟合中间网格预测(例如,为由图像捕获设备捕获的多个输入图像生成的3D网格)。图像处理系统100可以执行细化,其中对参数空间进行优化以将最终的网格估计拟合到从多个系推断的中间数据(例如,与不同的图像帧对应的中间网格参数)。在一些示例中,可以针对中间网格上的3D拟合来优化少量或有限数量的网格参数,从而减小搜索空间。
在一些示例中,图像处理系统100可以关于根相对坐标参考系来生成对象的3D网格。根相对系是归一化的参考系,其中对象的3D坐标被给出为x维坐标、y维坐标和相对深度坐标zrel,其中,zrel使得3D对象的质心被放置在z=0处(例如,其中,质心的z坐标等于0)。根相对系可以用于从单个2D图像准确地估计3D对象的姿态和形状。在一些示例中,图像处理系统100可以使用来自多个参考系(诸如,多个图像(和/或图像捕获设备)帧)的3D网格的根相对估计。
在一些示例中,图像处理系统100可以预测被捕获在具有多个视图(例如,来自多个参考系)的图像中的对象的根相对姿态。图像处理系统100可以针对每个图像来预测对象的根相对姿态,以获得来自多个视图/系的根相对姿态。如本文中进一步描述的,图像处理系统100可以将来自多个视图/系的根相对姿态作为中间输出。图像处理系统100可以将最终的网格估计拟合到中间输出。在一些示例中,图像处理系统100可以从中间输出推导出真实世界系中的网格参数。网格参数可以充当用于拟合框架的初始化。在一些情况下,图像处理系统100可以将校准信息用于用于捕获多视图图像数据的多个图像捕获设备(例如,图像传感器102和104),以将真实世界3D网格变换成图像捕获设备的坐标系,以及通过减去根的深度来使3D网格与中间根相对估计对齐。在一些示例中,图像处理系统100可以计算中间网格输出之间的损失,并且使用该损失来优化真实世界系参数,以便用于最终的3D网格的更好的拟合。
在图1中所示的示例中,图像处理系统100包括图像传感器102和104、存储108、计算组件110、图像处理引擎120、建模引擎122和渲染引擎124。图像处理系统100还可以可选地包括一个或多个额外的图像传感器106,诸如,额外的图像传感器、雷达传感器、光检测和测距(LIDAR)传感器、红外(IR)传感器、陀螺仪、加速度计、惯性测量单元(IMU)、音频传感器等。
图像处理系统100可以是计算设备或多个计算设备的部分。在一些示例中,图像处理系统100可以是电子设备(或多个设备)的部分,电子设备诸如相机系统(例如,数字相机、IP相机、视频相机、监控相机等)、电话系统(例如,智能电话、蜂窝电话、会议系统等)、台式计算机、XR设备(例如,头戴式显示器等)、智能可穿戴设备(例如,智能手表、智能眼镜等)、膝上型或笔记本电脑、平板电脑、机顶盒、电视、显示设备、数字媒体播放器、游戏控制台、视频流式传输设备、无人机、车载计算机、物联网(IoT)设备或任何其它合适的电子设备。
在一些实现方式中,图像传感器102和104、其它传感器106、存储108、计算组件110、图像处理引擎120、建模引擎122和渲染引擎124可以是同一计算设备的部分。例如,在一些情况下,图像传感器102和104、其它传感器106、存储108、计算组件110、图像处理引擎120、建模引擎122和渲染引擎124可以被集成到智能电话、膝上型电脑、平板电脑、智能可穿戴设备、游戏系统、服务器和/或任何其它计算设备中。在其它实现方式中,图像传感器102、图像传感器104、其它传感器106、存储108、计算组件110、图像处理引擎120、建模引擎122和/或渲染引擎124中的任何一项可以是两个或更多个分开的计算设备的部分。
图像传感器102和104可以包括能够捕获图像的图像传感器和/或图像捕获设备。例如,图像传感器102和104可以包括能够捕获红-绿-蓝(RGB)图像的一个或多个传感器。在一些示例中,图像(或帧)可以包括:每像素具有红色、绿色和蓝色分量的红-绿-蓝(RGB)图像或帧;每像素具有亮度分量和两个色度(颜色)分量(色度-红和色度-蓝)的亮度、色度-红、色度-蓝(YCbCr)图像或帧;或者任何其它合适类型的彩色或单色图片。
在一些情况下,图像传感器102和104可以包括或者可以是单目相机设备的部分。在一些示例中,图像传感器102和104可以捕获单目图像。如本文中进一步描述的,图像处理系统100可以将由图像传感器102和104捕获的单目图像作为用于3D建模的输入。
在一些情况下,图像传感器102和104可以是任何类型的图像传感器(或图像捕获设备)和/或者视频传感器(或视频捕获设备)。比如,图像传感器102和104可以包括数字相机传感器、视频相机传感器、智能电话相机传感器、被包括作为电子装置(例如,电视、计算机、相机等)的部分的图像/视频捕获设备。在一些情况下,图像传感器102和104可以是相机或计算设备的部分,该相机或计算设备诸如数字相机、视频相机、IP相机、智能电话、智能电视、游戏系统、扫描仪、多相机系统或其它计算设备。例如,图像传感器102和104可以是双相机系统或设备(诸如,智能电话、相机等)的部分。图像传感器102和104可以捕获图像数据和/或视频内容(例如,原始图像和/或视频数据)。图像数据和/或视频内容可以由本文中所描述的计算组件110、图像处理引擎120、建模引擎122和/或渲染引擎124来处理。
其它传感器106可以是用于检测和测量诸如距离、运动、位置、深度、速度等的信息的任何传感器。其它传感器的非限制性示例包括LIDAR、陀螺仪、加速度计、磁力计、IR传感器、惯性测量单元(IMU)、雷达传感器、机器视觉传感器等。在一些情况下,图像处理系统100可以包括其它传感器,诸如,智能场景传感器、语音识别传感器、冲击传感器、位置传感器、倾斜传感器、光传感器等。
存储108可以是用于存储数据(诸如,例如图像或视频数据)的任何存储设备。此外,存储108可以存储来自图像处理系统100的组件中的任何组件的数据。例如,存储108可以存储来自图像传感器102、图像传感器104、其它传感器106、计算组件110的数据或测量(例如,参数、输出、所生成的图像、计算结果、模型等)、以及/或者来自图像处理引擎120、建模引擎122和/或渲染引擎124中的任何一项的数据(例如,输出图像、处理结果、模型等)。在一些示例中,存储108可以包括用于存储数据(例如,图像数据)以供由计算组件110进行处理的缓冲器。
在一些实现方式中,计算组件110可以包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116和/或图像信号处理器(ISP)118。计算组件110可以执行各种操作,诸如,3D建模、图像增强、对象或图像分割、计算机视觉、图形渲染、扩展现实(例如,虚拟现实、增强现实等)、图像/视频处理、传感器处理、识别(例如,文本识别、对象识别、特征识别、面部识别、面部表情识别、眼睛注视识别、年龄识别、性别识别、种族识别、跟踪或模式识别、场景改变识别等)、差异检测、机器学习、深度估计、过滤、网格参数细化和拟合、以及本文中描述的各种操作中的任何操作。在一些示例中,计算组件110可以实现图像处理引擎120、建模引擎122和渲染引擎124。在其它示例中,计算组件110还可以实现一个或多个其它处理引擎。
用于图像处理引擎120、建模引擎122和渲染引擎124的操作可以由计算组件110中的一个或多个计算组件来实现。在一个说明性示例中,图像处理引擎120和建模引擎122(以及相关联的操作)可以由CPU 112、DSP 116和/或ISP 118来实现,并且渲染引擎124(以及相关联的操作)可以由GPU 114来实现。在一些情况下,计算组件110可以包括其它电子电路或硬件、计算机软件、固件或其任何组合,以执行本文中描述的各种操作中的任何操作。
在一些情况下,计算组件110可以接收由图像传感器102和104捕获的数据(例如,图像数据等),并且对被捕获在来自图像传感器102和104的数据中的对象进行建模。在一些示例中,图像处理系统100可以接收来自图像传感器102的捕获对象的图像以及来自图像传感器104的捕获对象的另一图像。不同的图像可以具有不同的参考系。图像处理系统100可以预测来自每个图像的对象的根相对姿态。图像处理系统100可以使用来自不同图像的根相对姿态来估计真实世界系中的深度,并且在真实世界系中生成用于对象的3D网格参数。图像处理系统100可以从来自不同图像的根相对姿态信息以及图像传感器102和104的校准信息确定损失,并且使用该损失来优化与真实世界系对应的3D网格参数。
计算组件110可以实现图像处理引擎120和建模引擎122,以执行各种图像处理操作,诸如,3D建模、模型优化和拟合、对象跟踪、姿态估计、深度估计、XR渲染、计算机视觉等。例如,如本文中进一步描述的,计算组件110可以实现图像处理引擎120和/或建模引擎122,以执行3D建模。计算组件110可以处理由图像传感器102和104(以及任何其它图像传感器)捕获的图像数据、存储在存储108中的图像数据、从远程源(例如,远程相机、服务器、内容提供商、其任何组合和/或其它远程源)接收的图像数据、从源的组合获得的图像数据、其任何组合、和/或其它图像数据。
在一些示例中,建模引擎122可以是图像处理引擎120的部分,或者可以是由图像处理引擎120实现的。在其它示例中,建模引擎122可以与图像处理引擎120分开的(例如,不是图像处理引擎120的部分或不是由图像处理引擎120实现的)。在一些情况下,建模引擎122可以包括(例如,可以实现,可以包含,可以生成等)一个或多个模型。例如,在一些情况下,建模引擎122可以包括和/或实现一个或多个蒙皮模型。如在《ACM Transactions onGraphics》第36卷第6期第245篇(2017年11月)Javier Romero等人的“Embodied Hands:Modeling and Capturing Hands and Bodies Together”(其整体通过引用并入本文并且用于所有目的)中所述的,蒙皮模型的说明性示例包括具有铰接式和非刚性变形的手部模型或者MANO模型。在一些示例中,如本文中进一步描述的,建模引擎122可以生成蒙皮模型和参数网格。在一些示例中,建模引擎122可以实现任何其它模型,诸如任何类型的统计模型、神经网络模型等。
在一些情况下,如本文中所描述的,建模引擎122可以包括和/或实现变换系统、优化器和/或一个或多个模型。在一些示例中,渲染引擎124可以从计算组件110接收输出图像数据,并且对输出图像数据进行渲染,以供呈现在显示设备上,显示设备诸如,例如,屏幕/显示器、电视、投影仪等。在一些示例中,渲染引擎124可以从图像处理引擎120和/或建模引擎122接收所生成的图像和/或网格模型,并且对图像和/或网格模型进行渲染。
虽然图像处理系统100被示出为包括某些组件,但是普通技术人员将认识到的是,图像处理系统100可以包括比图1中所示的那些组件多或少的组件。例如,在一些实例中,图像处理系统100还可以包括一个或多个存储器设备(例如,RAM、ROM、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、以及/或者图1中未示出的其它硬件或处理设备。下文关于图8描述了可以利用图像处理系统100来实现的计算设备和硬件组件的说明性示例。
如前所述,图像处理系统100可以估计有关被捕获在具有不同视图(例如,不同的参考系或坐标系)的多个图像和/或由具有不同视图的多个图像捕获设备捕获的图像中的对象的真实世界深度信息。图像处理系统100可以使用具有不同视图的图像来估计有关对象的真实世界深度信息。例如,多个图像捕获设备(例如,图像传感器102和104)的参考系中的3D点可以具有线性关系。在一些情况下,图像处理系统100可以实现可以使用图像捕获设备的线性关系来引导或执行坐标变换的线性方程。图像处理系统100可以使用线性关系(和线性方程)来估计和/或细化来自由多个图像捕获设备捕获的图像的深度信息。
图2是示出了用于估计用于真实世界系(例如,场景中的真实世界坐标系)的深度信息的示例系统过程200的示意图。在该示例中,变换系统210可以获得第一根相对系(例如,第一根相对坐标系)中的3D姿态参数202以及第二根相对系(例如,第二根相对坐标系)中的3D姿态参数204。3D姿态参数202可以对应于由图像传感器(例如,图像传感器102)在第一视图/系中捕获的对象,并且3D姿态参数202可以对应于由另一图像传感器(例如,图像传感器104)在第二视图/系中捕获的对象。在一些示例中,对象可以包括铰接式对象。
如前所述,根相对系可以包括归一化的参考系,其中,对象的3D坐标被给出为(x,y,zrel),其中,zrel是相对深度,使得对象的质心被放置在z=0处(例如,对象的质心的深度等于0)。在一些示例中,与3D姿态参数202相关联的第一根相对系可以是具有被表示为x1、y1和zrel1的x、y、z维的3D系,其中,zrel1描述了系1中的相对于对象的根(或相对于对象的根的深度)的深度。与3D姿态参数202相关联的第二根相对系可以是具有被表示为x2、y2和zrel2的x、y、z维的3D系,其中,zrel2描述了系2中的相对于对象的根(或相对于对象的根的深度)的深度。
变换系统210还可以获得相对图像传感器数据206。相对图像传感器数据206可以包括有关捕获与3D姿态参数202和204相关联的图像数据的图像捕获设备(例如,图像传感器102和104)的信息。例如,相对图像传感器数据206可以包括用于捕获与3D姿态参数202和204相关联的图像数据的图像捕获设备的相对旋转和平移参数。在一些示例中,相对旋转和平移参数可以是基于图像捕获设备的相应的旋转和平移参数的。
为了说明,3D姿态参数202可以对应于来自第一坐标系的由图像传感器102捕获的图像中的对象,并且3D参数204可以对应于来自第二坐标系的由图像传感器104捕获的另一图像中的对象。3D姿态参数202和204可以捕获来自不同坐标系的对象的姿态。相对图像传感器数据206可以包括用于图像传感器102和图像传感器104的相对旋转和平移参数。相对旋转和平移参数可以是基于图像传感器102的旋转和平移参数以及图像传感器104的旋转和平移参数的。在一些示例中,相对旋转和平移参数可以描述图像传感器102和104的相对位置或姿态。
变换系统210可以使用3D姿态参数202和204以及相对图像传感器数据206来估计真实世界系参数220。真实世界系参数220可以包括从与3D姿态参数202相关联的第一坐标系以及与3D姿态参数204相关联的第二坐标系中的根相对深度信息估计的真实世界坐标系中的深度信息。
在一些示例中,变换系统210可以基于相对图像传感器数据206、与3D姿态参数202(以及第一坐标系)相关联的x1、y1和zrel1坐标、以及与3D姿态参数204(以及第二坐标系)相关联的x2、y2和zrel2坐标来确定真实世界3D坐标系x、y、zworld。变换系统210可以使用捕获与3D姿态参数202和204相关联的图像数据的图像捕获设备(例如,图像传感器102和104)的位置/几何结构的线性关系来执行坐标变换,并且确定真实世界3D坐标x、y、zworld
在一些情况下,变换系统210可以实现线性方程,来确定真实世界3D坐标x、y、zworld。在一些示例中,如以下等式中所描述的,变换系统210可以确定真实世界坐标系中的zrel1和zrel2的深度(例如,zworld):
其中,R和T表示捕获与3D姿态参数202和204相关联的图像数据的图像捕获设备(例如,图像传感器102和104)的相对旋转和平移,z1对应于zrel1,并且z2对应于zrel2。在一些示例中,变换系统210还可以按如下求解z1和z2
图3是示出了用于从多个坐标参考系捕获对象302的图像的示例多视图图像传感器设置300的示意图。在该示例中,图像传感器102和104可以从它们的相应的位置捕获对象302的图像。图像可以基于图像传感器102和104的位置具有不同的参考系。图像可以用于从图像传感器102的角度确定与对象302(和/或对象302的图像)相关联的根相对系310,以及从图像传感器104的角度确定与对象302(和/或对象302的图像)相关联的根相对系312。
相对图像传感器数据206可以包括图像传感器102和104的相对旋转和平移(考虑到它们相应的位置和姿态)。相对图像传感器数据206以及根相对系310和312可以允许变换系统210关于真实世界坐标系来估计用于对象302的深度信息。在一些示例中,变换系统210可以使用上述等式1至4中的任何等式来确定真实世界深度信息。
图4是示出了用于优化被确定用于来自多视图图像数据(例如,具有多个坐标参考系的图像)的对象的真实世界系网格参数(例如,真实世界坐标参考系中的网格参数)的示例优化框架400的示意图。在该示例中,变换系统210可以确定用于第一根相对系中的3D网格402以及第二根相对系中的3D网格404的真实世界系参数406。变换系统210可以基于3D网格402、3D网格404来确定真实世界系参数406。
在一些示例中,3D网格402和3D网格404可以包括用于对象的3D网格参数。3D网格402中的3D网格参数可以对应于第一根相对系,并且3D网格404中的3D网格参数可以对应于第二根相对系。例如,3D网格参数可以包括:相应的根相对系(例如,x1、y1和zrel1以及x2、y2和zrel2)中的关键点的旋转参数和纹理参数、以及与捕获用于计算3D网格参数的图像的捕获设备(例如,图像传感器102和104)相关联的相应的旋转和平移参数。在一些情况下,纹理参数可以描述对象的纹理,诸如,对象的皮肤或表面的纹理。
在一些示例中,3D网格402中的旋转参数可以包括3D网格中的点的相对于3D网格中的父关节的旋转。例如,3D网格中的子点可以连接到父关节。旋转参数可以包括每个子点的相对于其父关节的旋转。3D网格402中的旋转参数还可以包括与捕获用于计算3D网格402的图像的捕获设备(例如,图像传感器102)相对应的旋转参数。旋转参数可以是基于捕获设备的参考系和/或相对于捕获用于计算3D网格404的图像的捕获设备的。
类似地,在一些示例中,3D网格404中的旋转参数可以包括3D网格中的点的相对于3D网格中的父关节的旋转。旋转参数可以包括每个子点的相对于其父关节的旋转。3D网格404中的旋转参数还可以包括与捕获用于计算3D网格404的图像的捕获设备(例如,图像传感器104)相对应的旋转参数。旋转参数可以是基于捕获设备的参考系和/或相对于捕获用于计算3D网格402的图像的捕获设备的。
真实世界系参数406可以包括真实世界系中的网格参数。网格参数可以是基于3D网格402和404来生成的。如前所述,真实世界系可以是基于与3D网格402和404相关联的第一和第二根相对系来估计的。在一些示例中,真实世界系参数406中的网格参数可以包括真实世界系中的旋转和纹理参数。旋转和纹理参数可以包括真实世界系中的网格中的关键点的相对旋转和纹理。在一些情况下,真实世界系参数406还可以包括用于与网格参数相关联的3D网格的旋转和平移信息。旋转和平移信息可以是在真实世界系中。
优化器410可以使用3D网格402和404、真实世界系参数406以及相对图像传感器数据206来确定针对真实世界系参数406的一个或多个损失408。一个或多个损失408可以用于优化真实世界系参数406,以更好地拟合3D网格402和404。例如,优化器410可以使用一个或多个损失408作为反馈,来更新412真实世界系参数406。
在一些示例中,优化器410可以基于3D网格402和404中的参数之间的距离来确定一个或多个损失408。在一些情况下,优化器410(或与优化器410相关联的模型)可以将真实世界系参数406投影到3D网格402和404以及/或者与3D网格402和404相关联的坐标系上,并且基于所投影的真实世界系参数406和/或3D网格402和404之间的距离来确定一个或多个损失408。例如,在一些情况下,模型可以将真实世界系参数406变换成与3D网格402和404相关联的坐标系中的3D网格。优化器410可以基于坐标系中的所变换的3D网格之间的距离来确定一个或多个损失408。在一些情况下,在确定一个或多个损失408之前,所变换的3D网格可以与3D网格402和404对齐。
在一些示例中,所更新的真实世界系参数可以用于为被捕获在与3D网格402和404相关联的图像中的对象生成经细化的3D网格模型。3D网格模型可以是在真实世界系中生成的。在一些示例中,3D网格模型可以与同3D网格402和404相关联的图像数据拟合,以及/或者与3D网格402和404拟合。
图5是示出了示例3D建模使用例500的示意图。图5中的示例3D建模使用例500涉及来自具有不同视图(例如,不同参考系)的多个图像502和504的手部的参数网格的3D建模。图像502和504可以是由图像传感器102和104从不同位置捕获的。
如所示,网络510可以处理图像502和504,从而为被捕获在图像502和504中的手部的参数网格生成网格参数512和514。网格参数512和514可以是针对/来自不同的坐标系的。例如,网格参数512可以是针对与图像502相关联的坐标系的,并且网格参数514可以是针对/来自与图像504相关联的坐标系的。
网络510可以包括一个或多个网络。在一些示例中,网络510可以包括一个或多个神经网络。例如,网络510可以包括编码器网络。在一些情况下,网络510可以包括卷积神经网络(CNN)编码器模型。在其它情况下,网络510可以包括任何其它神经网络架构。网络510可以被配置为接收具有不同视图(例如,不同坐标系)的输入图像(例如,输入图像502和504),并且为与输入图像相关联的不同坐标系生成网格参数。网格参数可以对应于被捕获在输入图像中的对象。
网格参数512可以包括与图像502相关联的根相对系中的旋转和纹理参数。网格参数512还可以包括与图像传感器102相关联的旋转和平移参数。在一些示例中,网格参数512可以包括:与图像502中的手部的参数网格相对应的关键点的相对旋转和纹理/>图像传感器102的旋转(R1)、以及图像传感器102的平移(T1)。在一些示例中,相对旋转/>可以包括子关键点的相对于子关键点连接到或从其延伸的父关节的旋转。
类似地,网格参数514可以包括与图像504相关联的根相对系中的旋转和纹理参数。网格参数514还可以包括与图像传感器104相关联的旋转和平移参数。在一些示例中,网格参数514可以包括:与图像504中的手部的参数网格相对应的关键点的相对旋转和纹理/>图像传感器104的旋转(R2)、以及图像传感器104的平移(T2)。
变换系统210可以使用网格参数512和网格参数514来确定真实世界坐标系,并且为真实世界坐标系生成网格参数522。在一些示例中,网格参数522可以包括真实世界坐标系中的关键点的旋转和纹理/>图像传感器102和104的相对旋转(R)、以及图像传感器102和104的相对平移(T)。
优化器520可以从变换系统210接收网格参数512,并且执行网格参数512的优化524,以生成经细化的网格参数526。优化器520可以是一阶或二阶优化器。在一些示例中,优化器520可以实现用于解决不受约束的非线性优化问题的迭代方法。例如,优化器520可以实现Broyden–Fletcher–Goldfarb–Shanno(BFGS)算法或内存限制的BFGS(L-BFGS)算法。
在优化524中,优化器520可以基于用于真实世界坐标系的网格参数512、用于与图像502相关联的根相对坐标系的网格参数512、用于与图像504相关联的根相对坐标系的网格参数514、以及与图像传感器102和104相关联的相对图像传感器数据506来确定一个或多个损失。相对图像传感器数据506可以标识图像传感器102和104相对于彼此的位置。例如,相对图像传感器数据506可以包括图像传感器102和104的相对旋转和平移。
在一些示例中,优化器520可以基于对应于网格参数512的3D网格和对应于网格参数512的3D网格之间的距离和/或差、以及对应于网格参数512的3D网格和对应于网格参数514的3D网格之间的距离和/或差来确定损失。在一些情况下,模型530(例如,诸如上述MANO模型的蒙皮模型)可以生成基于网格参数512的3D网格532、基于网格参数514的3D网格534以及基于网格参数522的3D网格。在一些示例中,模型530可以将对应于网格参数514的3D网格变换成与图像502(和/或图像传感器102)相关联的坐标系中的第一3D网格以及与图像504(和/或图像传感器102)相关联的坐标系中的第二3D网格。优化器520可以计算第一和第二3D网格之间的损失,并且使用损失来细化网格参数522。
如前所述,在一些情况下,模型530可以生成3D网格532、3D网格534以及与网格参数522相关联的3D网格。3D网格532可以对应于与图像502相关联的第一坐标系,3D网格534可以对应于与图像504相关联的第二坐标系,并且与网格参数522相关联的3D网格可以对应于真实世界坐标系。优化器520可以基于与网格参数512相关联的3D网格532、与网格参数514相关联的3D网格534、和/或与网格参数522相关联的3D网格来确定损失,并且使用该损失来确定经细化的网格参数526。
在一些示例中,优化器520可以按如下生成经细化的网格参数526:
其中,fi是指使用与图像传感器102和104相关联的相对图像传感器数据506来将图像传感器相对3D坐标转换成用于第i个图像传感器起源的根相对坐标的函数,φ是网格参数522(例如,用于真实世界坐标系的网格参数),φ1是网格参数512(例如,用于第一坐标参考系的网格参数),φ2是网格参数514(例如,用于第二坐标参考系的网格参数),Mesh(φ)提供来自网格参数φ的3D网格,Mesh(φ1)提供来自网格参数φ1的3D网格,Mesh(φ2)提供来自网格参数φ2的3D网格,并且λ是用于跨多个坐标系的损失项的权重。
优化器520可以将经细化的网格参数526输出给模型530。模型530可以基于经细化的网格参数526来生成图像502和504中的手部的3D网格540。3D网格540可以包括用于真实世界坐标系的手部的参数模型。
图6是示出了用于生成用于真实世界坐标系的经细化的网格参数的示例优化过程600的示意图。如所示,变换系统210可以基于从第一图像视图(例如,第一参考坐标系)生成的网格参数(φ1)602、从第二图像视图(例如,第二参考坐标系)生成的网格参数(φ2)604以及用于捕获用于生成网格参数602和604的图像的图像传感器(例如,图像传感器102和104)的相对图像传感器数据606来生成用于真实世界坐标系的网格参数(φ)610。
网格参数602可以包括:用于第一图像视图(例如,第一参考坐标系)的网格的姿态的旋转和用于表面的纹理/>捕获用于生成网格参数602的图像的图像传感器的旋转(R1)、以及图像传感器的平移(T1)。网格参数604可以包括:用于第二图像视图(例如,第二参考坐标系)的网格的姿态的旋转/>和用于表面的纹理/>捕获用于生成网格参数604的图像的图像传感器的旋转(R2)、以及图像传感器的平移(T2)。相对图像传感器数据606可以包括用于捕获用于生成网格参数602和604的图像的图像传感器的相对旋转和平移。
网格参数610可以包括:用于真实世界坐标系的网格的姿态的旋转和用于表面的纹理/>捕获用于生成网格参数602和604的图像的图像传感器的相对旋转(R)、以及图像传感器的相对平移(T)。优化620可以使用网格参数610和相对图像传感器数据606来执行,以生成经细化的网格参数612。
在该示例中,优化620可以基于上述等式5来生成损失。优化620可以使用损失作为反馈来生成经细化的网格参数612。在一些示例中,经细化的网格参数612可以更新/优化网格参数610中的旋转纹理/>相对旋转(R)和/或相对平移(T),以提供网格参数602和604上的更好或更准确的3D拟合。
图7是示出了使用多视图图像数据来对3D参数网格进行建模的示例过程700的流程图。在方框702处,过程700可以包括:基于目标的第一图像(例如,图像502)来确定用于目标的第一3D网格参数(例如,3D网格402或者网格参数512或602)。第一3D网格参数可以对应于与第一图像相关联的第一坐标参考系。在一些示例中,第一坐标参考系可以取决于第一图像的视图。
在方框704处,过程700可以包括:基于目标的第二图像(例如,图像504)来确定用于目标的第二3D网格参数(例如,3D网格404或者网格参数514或604)。第二3D网格参数可以对应于与第二图像相关联的第二坐标参考系。在一些示例中,第二坐标参考系可以取决于第二图像的视图。
在一些示例中,确定第一3D网格参数和第二3D网格参数可以包括:确定目标的在第一图像中的第一根相对姿态和目标的在第二图像中的第二根相对姿态。在一些情况下,第一3D网格参数可以包括第一根相对姿态,并且第二3D网格参数可以包括第二根相对姿态。
在一些情况下,第一图像和第二图像可以包括单目图像。在一些示例中,第一图像和第二图像可以是由对于目标具有不同视图的图像传感器捕获的。例如,第一图像和第二图像可以是由相对于目标具有不同位置的图像传感器捕获的。
在方框706处,过程700可以包括:在第三坐标参考系中确定用于目标的第三3D网格参数(例如,网格参数406、522或610)。第三3D网格参数可以是基于第一3D网格参数、第二3D网格参数、以及捕获第一图像的第一图像传感器(例如,图像传感器102)和捕获第二图像的第二图像传感器(例如,图像传感器104)的相对旋转和平移参数(例如,相对图像传感器数据206、506或606)的。第一图像传感器和第二图像传感器可以相对于目标具有不同的姿态/位置。第一和第二图像传感器的不同姿态/位置可以导致目标的具有不同视图(例如,不同坐标系中的视图)的第一图像和第二图像。
在一些示例中,第一坐标参考系可以包括第一根相对系,第二坐标参考系可以包括第二根相对系,并且第三坐标参考系可以包括与第一图像和第二图像相关联的场景中的真实世界坐标系。
在一些情况下,确定第三3D网格参数可以包括:将第一根相对系和第二根相对系中的3D坐标(例如,x1、y1和zrel1以及x2、y2和zrel2)转换成真实世界坐标系中的3D坐标(例如,x、y和zworld),以及基于真实世界坐标系中的3D坐标来确定第三3D网格参数。在一些示例中,第三3D网格参数可以在真实世界坐标系中对目标进行建模。
在一些情况下,第一根相对系和第二根相对系中的3D坐标基于相对旋转和平移参数以及与第一3D网格参数和第二3D网格参数相关联的深度信息来被转换成真实世界坐标系中的3D坐标。
在一些示例中,将第一根相对系和第二根相对系中的3D坐标转换成真实世界坐标系中的3D坐标可以包括:将深度坐标从第一根相对系和第二根相对系中的3D坐标转换成真实世界坐标系中的不同的深度坐标。在一些情况下,深度坐标可以是基于相对旋转和平移参数以及3D坐标中的坐标之间的关系来转换成不同的深度坐标的。
在一些情况下,第三3D网格参数可以是使用上述等式1至4来确定的。
在方框708处,过程700可以包括:基于第三3D网格参数以及与第三3D网格参数相关联的一个或多个损失(例如,损失408)来确定经调整的3D网格参数(例如,经细化的网格参数526或612)。经调整的3D网格参数可以包括对第三3D网格参数的一个或多个调整(例如,更新412)。在一些方面中,过程700可以包括:基于经调整的3D网格参数来生成3D网格模型。
在一些情况下,过程700可以包括:确定与第三3D网格参数相关联的一个或多个损失(例如,损失408)。一个或多个损失可以是基于第一3D网格参数、第二3D网格参数以及相对旋转和平移参数的。在一些情况下,一个或多个损失可以是基于上述等式5来确定的。在一些示例中,一个或多个损失可以是基于来自一个或多个神经网络的观察和/或输出来确定的。
在一些情况下,确定一个或多个损失可以包括:将第三3D网格参数变换成第一坐标参考系和第二坐标参考系;以及使第三3D网格参数与同第一3D网格参数和第二3D网格参数相关联的根相对坐标对齐。在一些示例中,第三3D网格参数可以通过减去与根相对坐标相关联的根的深度来与根相对坐标对齐。在一些示例中,一个或多个损失可以是基于对齐来确定的。
在一些情况下,一个或多个损失可以是基于第二3D网格和第三3D网格来确定的。在一些示例中,一个或多个损失是基于最小平方误差函数来计算的。在一些情况下,确定经调整的3D网格参数可以包括:基于最小平方误差函数来最小化第三3D网格参数中的误差。
在一些情况下,确定一个或多个损失可以包括:基于第三3D网格参数以及第一图像传感器和第二图像传感器的相对旋转和平移参数来生成第一坐标参考系中的第一3D网格以及第二坐标参考系中的第二3D网格。
在一些示例中,目标可以包括铰接式对象。例如,目标可以包括人体、动物身体、身体部分(例如,手部、头部等)、操纵机器人等。在一些情况下,3D网格模型可以包括蒙皮模型。
在一些示例中,本文中描述的过程(例如,过程200、600、700和/或本文中描述的任何其它过程)可以由计算设备或装置来执行。在一个示例中,过程700可以由图1的图像处理系统100来执行。在另一示例中,过程700可以由具有图8中所示的计算设备架构800的计算系统来执行。比如,具有图8中所示的计算设备架构800的计算设备可以实现图7的操作以及/或者本文中关于图1至7中的任何图所描述的组件和/或操作。
计算设备可以包括任何合适的设备,诸如,移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴装置、AR头戴装置、AR眼镜、网络连接手表或智能手表、或者其它可穿戴设备)、服务器计算机、自动驾驶车辆或自动驾驶车辆的计算设备、机器人设备、膝上型电脑、智能电视、相机、和/或具有用于执行本文中描述的过程(包括过程200、700和/或本文中描述的其它过程)的资源能力的任何其它计算设备。在一些情况下,计算设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个相机、一个或多个传感器、和/或被配置为实施本文中所描述的过程的步骤的其它组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合、和/或其它组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其它类型的数据。
计算设备的组件可以被实现在电路系统中。例如,组件可以包括电子电路或其它电子硬件,和/或者可以使用电子电路或其它电子硬件来实现,所述电子电路或其它电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、和/或其它合适的电子电路),和/或者组件可以包括用于执行本文中描述的各种操作的计算机软件、固件或其组合和/或者可以使用用于执行本文中描述的各种操作的计算机软件、固件或其组合来实现。
过程200、600和700被示为逻辑流程图,其操作表示可以被实现在硬件、计算机指令或其组合中的操作的序列。在计算机指令的上下文中,操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,计算机可执行指令在由一个或多个处理器执行时,执行所记载的操作。一般,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作以其描述的顺序不旨在被解释为限制,并且任何数量个所描述的操作可以以任何顺序和/或并行地组合以实现过程。
另外,过程200、600和700和/或本文中描述的其它过程可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为集体地在一个或多个处理器上、由硬件、或者它们的组合来执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)。如上所述,代码可以被存储在计算机可读或机器可读存储介质上,例如,以包括由一个或多个处理器可执行的多个指令的计算机程序的形式。计算机可读或机器可读存储介质可以是非临时性的。
图8示出了可以是实现本文中描述的各种技术的示例计算设备的示例计算设备架构800。例如,计算设备架构800可以实现图1中所示的图像处理系统100的至少一些部分。计算设备架构800的组件被示为使用连接805(诸如,总线)来与彼此进行电通信。示例计算设备架构800包括处理单元(CPU或处理器)810以及将包括计算设备存储器815(诸如,只读存储器(ROM)820和随机存取存储器(RAM)825)的各种计算设备组件耦合到处理器810的计算设备连接805。
计算设备架构800可以包括直接与处理器810连接、非常接近于处理器810或被集成作为处理器810的部分的高速存储器的高速缓存。计算设备架构800可以将数据从存储器815和/或存储设备830复制到高速缓存812,以供处理器810进行快速存取。这样,高速缓存可以提供避免处理器810在等待数据时延迟的性能提升。这些和其它模块可以控制或者被配置为控制处理器810来执行各种动作。其它计算设备存储器815也可以可供使用。存储器815可以包括具有不同性能特性的多种不同类型的存储器。处理器810可以包括被存储在存储设备830中并且被配置为控制处理器810的任何通用处理器和硬件或软件服务(例如,服务1 832、服务2 834和服务3 836)、以及其中软件指令被并入到处理器设计中的专用处理器。处理器810可以是自包含的系统,包含多个核心或处理器、总线、存储器控制器、高速缓存等。多核心处理器可以是对称的或非对称的。
为了实现与计算设备架构800的用户交互,输入设备845可以表示任何数量个输入机构,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备835还可以是本领域技术人员已知的多个输出机构中的一个或多个,诸如显示器、投影仪、电视、扬声器设备。在一些实例中,多模态计算设备可以使用户能够提供多种类型的输入,以与计算设备架构800进行通信。通信接口840一般可以控制和管理用户输入和计算设备输出。对任何特定硬件布置的操作没有限制,并且因此,此处的基本特征可以容易地被替换为改进的硬件或固件布置,如它们被开发的那样。
存储设备830是非易失性存储器,并且可以是能够存储由计算机可存取的数据的硬盘或其它类型的计算机可读介质,诸如磁带盒、闪速存储卡、固态存储器设备、数字多功能盘、盒式磁带、随机存取存储器(RAM)825、只读存储器(ROM)820及其混合物。存储设备830可以包括用于控制处理器810的服务832、服务834和服务836。可以考虑其它硬件或软件模块。存储设备830可以连接到计算设备连接805。在一个方面中,执行特定功能的硬件模块可以包括被存储在计算机可读介质中的软件组件,其与诸如处理器810、连接805、输出设备835等的必要硬件组件结合以实施该功能。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括非临时性介质,其中可以存储数据并且该非临时性介质不包括无线地或在有线连接上传播的载波和/或瞬态电子信号。非临时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩盘(CD)或数字多功能盘(DVD)的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可以在其上存储有代码和/或机器可执行指令,其可以表示过程、函数、子程序、例程、子例程、模块、软件包、类,或者指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的方式来传递、转发或发送。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当被提及时,非临时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身的介质。
在以上描述中提供了具体的细节,以提供对本文中提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解的是,可以在没有这些特定细节的情况下实践实施例。为了解释的清楚,在一些实例中,本技术可以被呈现为包括单独的功能块,所述单独的功能块包括以软件或硬件和软件的组合体现的方法中的设备、设备组件、步骤或例程。可以使用除了附图中所示和/或本文中所描述的那些之外的额外组件。例如,电路、系统、网络、过程和其它组件可以被示为框图形式的组件,以免以不必要的细节使实施例难以理解。在其它实例中,可以没有不必要的细节地示出公知的电路、过程、算法、结构和技术,以避免使实施例难以理解。
单独的实施例可以在上文被描述为被示为流程图、流图、数据流图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但是操作中的许多操作可以被并行或同时执行。此外,可以重新安排操作的顺序。当完成其操作时,过程终止,但可具有图中未包括的额外步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,其终止可对应于该函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用被存储在计算机可读介质中或以其它方式可从计算机可读介质获得的计算机可执行指令来实现。这样的指令可以包括例如使得或以其它方式配置通用计算机、专用计算机或处理设备以执行某个功能或功能组的指令和数据。所使用的计算机资源的部分可通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令,诸如汇编语言、固件、源代码等。可用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、具有非易失性存储器的USB设备、联网存储设备等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采取多种形状因子中的任何形状因子。当实现在软件、固件、中间件或微代码中时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形状因子的典型示例包括膝上型电脑、智能电话、移动电话、平板设备或其它小形状因子个人计算机、个人数字助理、机架安装设备、独立设备等。本文中描述的功能也可以被体现在在外围设备或内插式卡中。通过进一步的示例,这样的功能也可以被实现在电路板上在不同芯片或在单个设备中执行的不同过程之间。
指令、用于传送这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其它结构是用于提供在本公开内容中描述的功能的示例单元。
在前述描述中,参照本申请的具体实施例描述了本申请的方面,但是本领域技术人员将认识到,本申请不限于此。因此,虽然本文中已经详细描述了本申请的说明性实施例,但是应当理解,本发明概念可以以其它方式不同地实施和采用,并且所附权利要求旨在被解释为包括这样的变化,除了受现有技术限制的之外。上述申请的各种特征和方面可以单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以用于超出本文中描述的环境和应用的任何数量个环境和应用中。因此,说明书和附图应当被认为是说明性的而非限制性的。为了说明的目的,以特定顺序描述了方法。应当理解,在替代实施例中,这些方法可以以与所描述的顺序不同的顺序来执行。
本领域普通技术人员将理解,在不脱离本说明书的范围的情况下,本文所使用的小于(“<”)和大于(“>”)符号或术语可以分别由小于或等于(“≤”)和大于或等于(“≥”)符号代替。
在部件被描述为“被配置为”执行某些操作的情况下,这样的配置可以例如通过以下各项来实现:设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它合适的电子电路)以执行操作、或其任何组合。
短语“耦合到”是指任何组件直接或间接物理连接到另一组件,和/或任何组件直接或间接与另一组件进行通信(例如,通过有线或无线连接和/或其它合适的通信接口连接到另一组件)。
记载集合“中的至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言指示集合中的一个成员或集合中的多个成员(以任何组合)满足权利要求。例如,记载“A和B中的至少一个”或者“A或B中的至少一个”的权利要求语言表示A、B或A和B。在另一示例中,记载“A、B和C中的至少一个”或者“A、B或C中的至少一个”的权利要求语言表示A、B、C、或A和B、或A和C、或B和C、A和B和C。语言集合“中的至少一个”和/或集合中的“一个或多个”不将集合限制为集合中所列的项目。例如,记载“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言可以表示A、B、或A和B,并且可以另外包括在A和B的集合中未列出的项目。
结合本文中所公开的示例进行描述的各个说明性逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件或其组合。为了清楚地例示硬件和软件的这种可互换性,已经在其功能性方面大致描述了各种例示性组件、方框、模块、电路和步骤。将这种功能性实现为硬件还是软件取决于具体的应用和对整个系统提出的设计约束条件。技术人员可以针对每种具体应用通过不同方式实现所述的功能,但这种实现决定不应被视为造成脱离本申请的范围。
本文中描述的技术还可以被实现在电子硬件、计算机软件、固件或其任何组合中。这样的技术可以被实现在多种设备中的任何设备中,多种设备诸如通用计算机、无线通信设备手持设备、或具有多种用途的集成电路设备,多种用途包括在无线通信设备手持设备和其它设备中的应用。被描述为模块或部件的任何特征可以一起被实现在集成逻辑设备中或分开地实现为分立但可互操作的逻辑设备。如果被实现在软件中,则技术可至少部分地由包括程序代码的计算机可读数据存储介质来实现,所述程序代码包括在被执行时执行上文所描述的方法、算法和/或操作中的一项或多项的指令。计算机可读数据存储介质可以形成计算机程序产品的部分,该计算机程序产品可以包括封装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。另外地或可替代地,技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质携带或传送指令或数据结构形式的且可由计算机存取、读取和/或执行的程序代码,诸如传播的信号或波。
程序代码可以由处理器执行,所述处理器可以包括含一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或分立逻辑电路系统。这样的处理器可被配置为执行本公开内容中所描述的技术中的任何技术。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心,或任何其它这样配置。因此,如本文中所使用的术语“处理器”可以指前述结构中的任何结构、前述结构的任何组合或适合于实现本文中所描述的技术的任何其它结构或装置。
本公开内容的说明性方面包括:
方面1:一种装置,包括:存储器以及耦合到所述存储器的一个或多个处理器。所述一个或多个处理器被配置为进行以下操作:基于目标的第一图像来确定用于所述目标的第一三维(3D)网格参数,其中,所述第一3D网格参数对应于与所述第一图像相关联的第一坐标参考系;基于所述目标的第二图像来确定用于所述目标的第二3D网格参数,其中,所述第二3D网格参数对应于与所述第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于所述目标的第三3D网格参数,所述第三3D网格参数是基于所述第一3D网格参数、所述第二3D网格参数、以及捕获所述第一图像的第一图像传感器和捕获所述第二图像的第二图像传感器的相对旋转和平移参数的;以及基于所述第三3D网格参数以及与所述第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,所述经调整的3D网格参数包括对所述第三3D网格参数的一个或多个调整。
方面2:根据方面1所述的装置,其中,所述第一坐标参考系包括第一根相对系,并且所述第二坐标参考系包括第二根相对系,并且其中,所述第三坐标参考系包括与所述第一图像和所述第二图像相关联的场景中的真实世界坐标系。
方面3:根据方面2所述的装置,其中,为了确定所述第三3D网格参数,所述一个或多个处理器被配置为进行以下操作:将所述第一根相对系和所述第二根相对系中的3D坐标转换成所述真实世界坐标系中的3D坐标;以及基于所述真实世界坐标系中的所述3D坐标来确定所述第三3D网格参数,所述第三3D网格参数在所述真实世界坐标系中对所述目标进行建模。
方面4:根据方面3所述的装置,其中,所述第一根相对系和所述第二根相对系中的所述3D坐标基于所述相对旋转和平移参数以及与所述第一3D网格参数和所述第二3D网格参数相关联的深度信息来被转换成所述真实世界坐标系中的所述3D坐标。
方面5:根据方面1至4中的任一项所述的装置,其中,为了确定所述第一3D网格参数和所述第二3D网格参数,所述一个或多个处理器被配置为进行以下操作:确定所述目标的在所述第一图像中的第一根相对姿态以及所述目标的在所述第二图像中的第二根相对姿态,其中,所述第一3D网格参数包括所述第一根相对姿态,并且所述第二3D网格参数包括所述第二根相对姿态。
方面6:根据方面1至5中的任一项所述的装置,其中,所述一个或多个处理器被配置为进行以下操作:将所述第三3D网格参数变换成所述第一坐标参考系和所述第二坐标参考系;以及使所述第三3D网格参数与同所述第一3D网格参数和所述第二3D网格参数相关联的根相对坐标对齐。
方面7:根据方面6所述的装置,其中,所述第三3D网格参数通过减去与根相对估计相关联的根的深度来与所述根相对坐标对齐,所述根相对估计是与所述第一3D网格参数和所述第二3D网格参数相关联的。
方面8:根据方面6或7中的任一项所述的装置,其中,所述一个或多个处理器被配置为进行以下操作:基于所述第二3D网格和所述第三3D网格来确定所述一个或多个损失,所述一个或多个损失包括所述第二3D网格与所述第三3D网格之间的损失。
方面9:根据方面1至8中的任一项所述的装置,其中,所述一个或多个损失是基于最小平方误差函数来计算的,并且其中,为了确定经调整的3D网格参数,所述一个或多个处理器被配置为基于所述最小平方误差函数来最小化所述第三3D网格参数中的误差。
方面10:根据方面1至9中的任一项所述的装置,其中,为了确定一个或多个损失,所述一个或多个处理器被配置为进行以下操作:基于所述第三3D网格参数和所述相对旋转和平移参数来生成所述第一坐标参考系中的第一3D网格和所述第二坐标参考系中的第二3D网格。
方面11:根据方面1至10中的任一项所述的装置,其中,所述一个或多个处理器被配置为基于所述经调整的3D网格参数来生成3D网格模型。
方面12:根据方面1至11中的任一项所述的装置,其中,所述目标包括铰接式对象,并且所述3D网格模型包括蒙皮模型,并且其中,所述第一图像和所述第二图像包括单目图像。
方面13:根据方面1至12中的任一项所述的装置,其中,所述装置包括相机设备。
方面14:根据方面1至13中的任一项所述的装置,其中,所述装置包括移动设备。
方面15:根据方面1至14中的任一项所述的装置,其中,与所述第三3D网格参数相关联的所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数和所述相对旋转和平移参数来确定的。
方面16:一种方法,包括:基于目标的第一图像来确定用于所述目标的第一三维(3D)网格参数,其中,所述第一3D网格参数对应于与所述第一图像相关联的第一坐标参考系;基于所述目标的第二图像来确定用于所述目标的第二3D网格参数,其中,所述第二3D网格参数对应于与所述第二图像相关联的第二坐标参考系;在第三坐标参考系中确定用于所述目标的第三3D网格参数,所述第三3D网格参数是基于所述第一3D网格参数、所述第二3D网格参数、以及捕获所述第一图像的第一图像传感器和捕获所述第二图像的第二图像传感器的相对旋转和平移参数的;以及确定与所述第三3D网格参数相关联的一个或多个损失,所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数以及所述相对旋转和平移参数的;以及基于所述第三3D网格参数以及与所述第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,所述经调整的3D网格参数包括对所述第三3D网格参数的一个或多个调整。
方面17:根据方面16所述的方法,其中,所述第一坐标参考系包括第一根相对系,并且所述第二坐标参考系包括第二根相对系,并且其中,所述第三坐标参考系包括与所述第一图像和所述第二图像相关联的场景中的真实世界坐标系。
方面18:根据方面17所述的方法,其中,为了确定所述第三3D网格参数,所述一个或多个处理器被配置为进行以下操作:将所述第一根相对系和所述第二根相对系中的3D坐标转换成所述真实世界坐标系中的3D坐标;以及基于所述真实世界坐标系中的所述3D坐标来确定所述第三3D网格参数,所述第三3D网格参数在所述真实世界坐标系中对所述目标进行建模。
方面19:根据方面18所述的方法,其中,所述第一根相对系和所述第二根相对系中的所述3D坐标基于所述相对旋转和平移参数以及与所述第一3D网格参数和所述第二3D网格参数相关联的深度信息来被转换成所述真实世界坐标系中的所述3D坐标。
方面20:根据方面16至19中的任一项所述的方法,其中,为了确定所述第一3D网格参数和所述第二3D网格参数,所述一个或多个处理器被配置为进行以下操作:确定所述目标的在所述第一图像中的第一根相对姿态以及所述目标的在所述第二图像中的第二根相对姿态,其中,所述第一3D网格参数包括所述第一根相对姿态,并且所述第二3D网格参数包括所述第二根相对姿态。
方面21:根据方面16至20中的任一项所述的方法,其中,所述一个或多个处理器被配置为进行以下操作:将所述第三3D网格参数变换成所述第一坐标参考系和所述第二坐标参考系;以及使所述第三3D网格参数与同所述第一3D网格参数和所述第二3D网格参数相关联的根相对坐标对齐。
方面22:根据方面21所述的方法,其中,所述第三3D网格参数通过减去与根相对估计相关联的根的深度来与所述根相对坐标对齐,所述根相对估计是与所述第一3D网格参数和所述第二3D网格参数相关联的。
方面23:根据方面21或22中的任一项所述的方法,其中,所述一个或多个处理器被配置为进行以下操作:基于所述第二3D网格和所述第三3D网格来确定所述一个或多个损失,所述一个或多个损失包括所述第二3D网格与所述第三3D网格之间的损失。
方面24:根据方面16至23中的任一项所述的方法,其中,所述一个或多个损失是基于最小平方误差函数来计算的,并且其中,为了确定经调整的3D网格参数,所述一个或多个处理器被配置为基于所述最小平方误差函数来最小化所述第三3D网格参数中的误差。
方面25:根据方面16至24中的任一项所述的方法,其中,为了确定一个或多个损失,所述一个或多个处理器被配置为进行以下操作:基于所述第三3D网格参数和所述相对旋转和平移参数来生成所述第一坐标参考系中的第一3D网格和所述第二坐标参考系中的第二3D网格。
方面26:根据方面16至25中的任一项所述的方法,其中,所述一个或多个处理器被配置为基于所述经调整的3D网格参数来生成3D网格模型。
方面27:根据方面16至26中的任一项所述的方法,其中,所述目标包括铰接式对象,并且所述3D网格模型包括蒙皮模型,并且其中,所述第一图像和所述第二图像包括单目图像。
方面28:根据方面16至27中的任一项所述的方法,其中,与所述第三3D网格参数相关联的所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数和所述相对旋转和平移参数来确定的。
方面29:一种非临时性计算机可读介质,具有存储在其上的指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行根据方面1至28中的任一项所述的操作。
方面30:一种装置,包括用于执行根据方面1至28中的任一项所述的操作的单元。

Claims (30)

1.一种装置,包括:
存储器;以及
一个或多个处理器,其耦合到所述存储器,所述一个或多个处理器被配置为进行以下操作:
基于目标的第一图像来确定用于所述目标的第一三维(3D)网格参数,其中,所述第一3D网格参数对应于与所述第一图像相关联的第一坐标参考系;
基于所述目标的第二图像来确定用于所述目标的第二3D网格参数,其中,所述第二3D网格参数对应于与所述第二图像相关联的第二坐标参考系;
在第三坐标参考系中确定用于所述目标的第三3D网格参数,所述第三3D网格参数是基于所述第一3D网格参数、所述第二3D网格参数以及捕获所述第一图像的第一图像传感器和捕获所述第二图像的第二图像传感器的相对旋转和平移参数的;以及
基于所述第三3D网格参数以及与所述第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,所述经调整的3D网格参数包括对所述第三3D网格参数的一个或多个调整。
2.根据权利要求1所述的装置,其中,所述第一坐标参考系包括第一根相对系,并且所述第二坐标参考系包括第二根相对系,并且其中,所述第三坐标参考系包括与所述第一图像和所述第二图像相关联的场景中的真实世界坐标系。
3.根据权利要求2所述的装置,其中,为了确定所述第三3D网格参数,所述一个或多个处理器被配置为进行以下操作:
将所述第一根相对系和所述第二根相对系中的3D坐标转换成所述真实世界坐标系中的3D坐标;以及
基于所述真实世界坐标系中的所述3D坐标来确定所述第三3D网格参数,所述第三3D网格参数在所述真实世界坐标系中对所述目标进行建模。
4.根据权利要求3所述的装置,其中,所述第一根相对系和所述第二根相对系中的所述3D坐标基于所述相对旋转和平移参数以及与所述第一3D网格参数和所述第二3D网格参数相关联的深度信息来被转换成所述真实世界坐标系中的所述3D坐标。
5.根据权利要求1所述的装置,其中,为了确定所述第一3D网格参数和所述第二3D网格参数,所述一个或多个处理器被配置为进行以下操作:
确定所述目标的在所述第一图像中的第一根相对姿态和所述目标的在所述第二图像中的第二根相对姿态,其中,所述第一3D网格参数包括所述第一根相对姿态,并且所述第二3D网格参数包括所述第二根相对姿态。
6.根据权利要求1所述的装置,其中,所述一个或多个处理器被配置为进行以下操作:
将所述第三3D网格参数变换成所述第一坐标参考系和所述第二坐标参考系;以及
使所述第三3D网格参数与同所述第一3D网格参数和所述第二3D网格参数相关联的根相对坐标对齐。
7.根据权利要求6所述的装置,其中,所述第三3D网格参数通过减去与根相对估计相关联的根的深度来与所述根相对坐标对齐,所述根相对估计是与所述第一3D网格参数和所述第二3D网格参数相关联的。
8.根据权利要求6所述的装置,其中,所述一个或多个处理器被配置为进行以下操作:
基于所述第二3D网格和所述第三3D网格来确定所述一个或多个损失,所述一个或多个损失包括所述第二3D网格与所述第三3D网格之间的损失。
9.根据权利要求1所述的装置,其中,所述一个或多个损失是基于最小平方误差函数来计算的,并且其中,为了确定经调整的3D网格参数,所述一个或多个处理器被配置为基于所述最小平方误差函数来最小化所述第三3D网格参数中的误差。
10.根据权利要求1所述的装置,其中,为了确定一个或多个损失,所述一个或多个处理器被配置为进行以下操作:
基于所述第三3D网格参数以及所述相对旋转和平移参数来生成所述第一坐标参考系中的第一3D网格以及所述第二坐标参考系中的第二3D网格。
11.根据权利要求1所述的装置,其中,所述一个或多个处理器被配置为基于所述经调整的3D网格参数来生成3D网格模型。
12.根据权利要求11所述的装置,其中,所述目标包括铰接式对象,并且所述3D网格模型包括蒙皮模型,并且其中,所述第一图像和所述第二图像包括单目图像。
13.根据权利要求1所述的装置,其中,所述装置包括相机设备。
14.根据权利要求1所述的装置,其中,所述装置包括移动设备。
15.根据权利要求1所述的装置,其中,与所述第三3D网格参数相关联的所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数以及所述相对旋转和平移参数来确定的。
16.一种方法,包括:
基于目标的第一图像来确定用于所述目标的第一三维(3D)网格参数,其中,所述第一3D网格参数对应于与所述第一图像相关联的第一坐标参考系;
基于所述目标的第二图像来确定用于所述目标的第二3D网格参数,其中,所述第二3D网格参数对应于与所述第二图像相关联的第二坐标参考系;
在第三坐标参考系中确定用于所述目标的第三3D网格参数,所述第三3D网格参数是基于所述第一3D网格参数、所述第二3D网格参数以及捕获所述第一图像的第一图像传感器和捕获所述第二图像的第二图像传感器的相对旋转和平移参数的;以及
确定与所述第三3D网格参数相关联的一个或多个损失,所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数以及所述相对旋转和平移参数的;以及
基于所述第三3D网格参数以及与所述第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,所述经调整的3D网格参数包括对所述第三3D网格参数的一个或多个调整。
17.根据权利要求16所述的方法,其中,所述第一坐标参考系包括第一根相对系,并且所述第二坐标参考系包括第二根相对系,并且其中,所述第三坐标参考系包括与所述第一图像和所述第二图像相关联的场景中的真实世界坐标系。
18.根据权利要求17所述的方法,其中,为了确定所述第三3D网格参数,所述一个或多个处理器被配置为进行以下操作:
将所述第一根相对系和所述第二根相对系中的3D坐标转换成所述真实世界坐标系中的3D坐标;以及
基于所述真实世界坐标系中的所述3D坐标来确定所述第三3D网格参数,所述第三3D网格参数在所述真实世界坐标系中对所述目标进行建模。
19.根据权利要求18所述的方法,其中,所述第一根相对系和所述第二根相对系中的所述3D坐标基于所述相对旋转和平移参数以及与所述第一3D网格参数和所述第二3D网格参数相关联的深度信息来被转换成所述真实世界坐标系中的所述3D坐标。
20.根据权利要求16所述的方法,其中,为了确定所述第一3D网格参数和所述第二3D网格参数,所述一个或多个处理器被配置为进行以下操作:
确定所述目标的在所述第一图像中的第一根相对姿态和所述目标的在所述第二图像中的第二根相对姿态,其中,所述第一3D网格参数包括所述第一根相对姿态,并且所述第二3D网格参数包括所述第二根相对姿态。
21.根据权利要求16所述的方法,其中,所述一个或多个处理器被配置为进行以下操作:
将所述第三3D网格参数变换成所述第一坐标参考系和所述第二坐标参考系;以及
使所述第三3D网格参数与同所述第一3D网格参数和所述第二3D网格参数相关联的根相对坐标对齐。
22.根据权利要求21所述的方法,其中,所述第三3D网格参数通过减去与根相对估计相关联的根的深度来与所述根相对坐标对齐,所述根相对估计是与所述第一3D网格参数和所述第二3D网格参数相关联的。
23.根据权利要求21所述的方法,其中,所述一个或多个处理器被配置为进行以下操作:
基于所述第二3D网格和所述第三3D网格来确定所述一个或多个损失,所述一个或多个损失包括所述第二3D网格与所述第三3D网格之间的损失。
24.根据权利要求16所述的方法,其中,所述一个或多个损失是基于最小平方误差函数来计算的,并且其中,为了确定经调整的3D网格参数,所述一个或多个处理器被配置为基于所述最小平方误差函数来最小化所述第三3D网格参数中的误差。
25.根据权利要求16所述的方法,其中,为了确定一个或多个损失,所述一个或多个处理器被配置为进行以下操作:
基于所述第三3D网格参数以及所述相对旋转和平移参数来生成所述第一坐标参考系中的第一3D网格以及所述第二坐标参考系中的第二3D网格。
26.根据权利要求16所述的方法,其中,所述一个或多个处理器被配置为基于所述经调整的3D网格参数来生成3D网格模型。
27.根据权利要求26所述的方法,其中,所述目标包括铰接式对象,并且所述3D网格模型包括蒙皮模型,并且其中,所述第一图像和所述第二图像包括单目图像。
28.根据权利要求16所述的方法,其中,与所述第三3D网格参数相关联的所述一个或多个损失是基于所述第一3D网格参数、所述第二3D网格参数和所述相对旋转和平移参数来确定的。
29.一种具有存储在其上的指令的非临时性计算机可读介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器进行以下操作:
基于目标的第一图像来确定用于所述目标的第一三维(3D)网格参数,其中,所述第一3D网格参数对应于与所述第一图像相关联的第一坐标参考系;
基于所述目标的第二图像来确定用于所述目标的第二3D网格参数,其中,所述第二3D网格参数对应于与所述第二图像相关联的第二坐标参考系;
在第三坐标参考系中确定用于所述目标的第三3D网格参数,所述第三3D网格参数是基于所述第一3D网格参数、所述第二3D网格参数以及捕获所述第一图像的第一图像传感器和捕获所述第二图像的第二图像传感器的相对旋转和平移参数的;以及
基于所述第三3D网格参数以及与所述第三3D网格参数相关联的一个或多个损失来生成经调整的3D网格参数,所述经调整的3D网格参数包括对所述第三3D网格参数的一个或多个调整。
30.根据权利要求27所述的非临时性计算机可读介质,其中,所述第一坐标参考系包括第一根相对系,并且所述第二坐标参考系包括第二根相对系,并且其中,所述第三坐标参考系包括与所述第一图像和所述第二图像相关联的场景中的真实世界坐标系。
CN202280009971.5A 2021-01-20 2022-01-18 使用多视图细化来增强三维模型 Pending CN116848556A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/153,773 2021-01-20
US17/153,773 US11514658B2 (en) 2021-01-20 2021-01-20 Enhancing three-dimensional models using multi-view refinement
PCT/US2022/070237 WO2022159942A1 (en) 2021-01-20 2022-01-18 Enhancing three-dimensional models using multi-view refinement

Publications (1)

Publication Number Publication Date
CN116848556A true CN116848556A (zh) 2023-10-03

Family

ID=80787471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280009971.5A Pending CN116848556A (zh) 2021-01-20 2022-01-18 使用多视图细化来增强三维模型

Country Status (6)

Country Link
US (1) US11514658B2 (zh)
EP (1) EP4281937A1 (zh)
KR (1) KR20230133293A (zh)
CN (1) CN116848556A (zh)
BR (1) BR112023013736A2 (zh)
WO (1) WO2022159942A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483192A (zh) * 2022-01-14 2023-07-25 台达电子工业股份有限公司 具有拆装检核功能的虚拟现实系统及其拆装检核方法
CN115100691B (zh) * 2022-08-24 2023-08-08 腾讯科技(深圳)有限公司 关键点检测模型的获取、关键点检测方法、装置和设备
CN117831075A (zh) * 2024-01-03 2024-04-05 深圳力强数智科技有限公司 视频流分析训练的人体骨骼关键点推理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014145279A1 (en) * 2013-03-15 2014-09-18 Leap Motion, Inc. Determining the relative locations of multiple motion-tracking devices
US9646201B1 (en) * 2014-06-05 2017-05-09 Leap Motion, Inc. Three dimensional (3D) modeling of a complex control object
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10664705B2 (en) * 2014-09-26 2020-05-26 Nec Corporation Object tracking apparatus, object tracking system, object tracking method, display control device, object detection device, and computer-readable medium
US10371512B2 (en) * 2016-04-08 2019-08-06 Otis Elevator Company Method and system for multiple 3D sensor calibration
US10430642B2 (en) * 2017-12-07 2019-10-01 Apple Inc. Generating animated three-dimensional models from captured images
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
US10796482B2 (en) 2018-12-05 2020-10-06 Snap Inc. 3D hand shape and pose estimation
US11562598B2 (en) * 2019-03-25 2023-01-24 Microsoft Technology Licensing, Llc Spatially consistent representation of hand motion

Also Published As

Publication number Publication date
EP4281937A1 (en) 2023-11-29
BR112023013736A2 (pt) 2023-12-05
US11514658B2 (en) 2022-11-29
US20220230406A1 (en) 2022-07-21
KR20230133293A (ko) 2023-09-19
WO2022159942A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US11533489B2 (en) Reprojecting holographic video to enhance streaming bandwidth/quality
US11514658B2 (en) Enhancing three-dimensional models using multi-view refinement
CN115699114B (zh) 用于分析的图像增广的方法和装置
TW202201178A (zh) 低功率視覺追蹤系統
US11748913B2 (en) Modeling objects from monocular camera outputs
JP2020507850A (ja) 画像内の物体の姿の確定方法、装置、設備及び記憶媒体
CN111291885A (zh) 近红外图像的生成方法、生成网络的训练方法和装置
KR20230075440A (ko) 확장 현실 시스템을 위한 사용자 인터페이스 레이아웃 및 입력의 동적 구성
US11619993B2 (en) Systems and methods for gaze-tracking
US12039749B2 (en) Low power visual tracking systems
CN115661336A (zh) 一种三维重建方法及相关装置
US11769263B2 (en) Three-dimensional scan registration with deformable models
US20240212287A1 (en) Augmented reality ergonomics evaluation system
US20230267691A1 (en) Scene change detection with novel view synthesis
WO2023277043A1 (ja) 情報処理装置
CN115937284A (zh) 一种图像生成方法、设备以及存储介质和程序产品
EP4341786A1 (en) Augmented reality guided depth estimation
Bhowmik et al. Advances in 3D‐Sensing Technologies and Applications

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