CN115769259A - 从影像学习铰接形状重建 - Google Patents
从影像学习铰接形状重建 Download PDFInfo
- Publication number
- CN115769259A CN115769259A CN202080102368.2A CN202080102368A CN115769259A CN 115769259 A CN115769259 A CN 115769259A CN 202080102368 A CN202080102368 A CN 202080102368A CN 115769259 A CN115769259 A CN 115769259A
- Authority
- CN
- China
- Prior art keywords
- camera
- model
- input image
- computing system
- image
- 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
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000009877 rendering Methods 0.000 claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 abstract description 38
- 230000033001 locomotion Effects 0.000 abstract description 22
- 210000000988 bone and bone Anatomy 0.000 abstract description 18
- 239000000203 mixture Substances 0.000 abstract description 8
- 238000004458 analytical method Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 33
- 241000282472 Canis lupus familiaris Species 0.000 description 22
- 241001465754 Metazoa Species 0.000 description 18
- 238000012549 training Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 12
- 238000005457 optimization Methods 0.000 description 12
- 241000283690 Bos taurus Species 0.000 description 11
- 241000283073 Equus caballus Species 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 241000283086 Equidae Species 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000000284 resting effect Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 241000282412 Homo Species 0.000 description 5
- 238000002679 ablation Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 241000282832 Camelidae Species 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 241000282461 Canis lupus Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 239000000344 soap Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000282836 Camelus dromedarius Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 241000282458 Ursus sp. Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 241000272525 Anas platyrhynchos Species 0.000 description 1
- 241000271566 Aves Species 0.000 description 1
- 241000283070 Equus zebra Species 0.000 description 1
- 241000121219 Tricholoma Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229940029329 intrinsic factor Drugs 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/529—Depth or shape recovery from texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/564—Depth or shape recovery from multiple images from contours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种计算系统和方法可以用于从一个或多个图像渲染3D形状。具体地,本公开提供了用于从图像(LASR)学习铰接形状重建的通用流水线。该流水线可以重建刚性或非刚性3D形状。具体地,该流水线可以将非刚性地变形的形状自动分解成刚性骨骼附近的刚性运动。该流水线合并合成分析策略,并正向渲染轮廓、光流和彩色图像,该轮廓、光流和彩色图像可以与视频观察进行比较以调整模型的内部参数。通过反转渲染流水线并合并光流,流水线可以从由用户输入的一个或多个图像恢复3D模型的网格。
Description
技术领域
本公开总体上涉及三维(“3D”)重建。更具体地,本公开涉及从影像(例如,RGB输入图像)重建对象(例如,非刚性对象)的模型的系统和方法。
背景技术
对3D实体进行建模是开发三维的对象(例如,对象的表面)的数学表示的过程。对3D实体的动态进行建模可以涉及使用描述对象的数据来构建可以被变形为各种姿态的对象的3D网格形状。
一些标准的3D建模方法依赖于3D监督,诸如合成渲染和深度扫描。然而,由于当前的传感器设计,深度数据通常难以获取,并且甚至更难以放大。其他标准3D建模方法依赖于从多个静态图像的点轨迹推断3D形状。这些标准模型能够在具有丰富训练标签的基准上实现高精度,然而,它们不能在低数据制度内推广。此外,当图像观察贫乏时,这种方法经常产生不准确的3D结构的幻觉。
虽然通过利用多视图数据记录在不依赖于强形状先验知识的情况下在该领域中已经取得了进展,但是这种结果受限于静态场景。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
本公开的一个示例方面涉及一种用于从影像确定3D对象形状的计算机实现的方法。该方法包括计算系统获得一个或多个计算设备、描绘对象的输入图像和对象的当前网格模型。该方法包括计算系统利用相机模型处理输入图像,以获得输入图像的相机参数和对象变形数据。相机参数描述输入图像的相机姿态。对象变形数据描述当前网格模型相对于输入图像中示出的对象的形状的一个或多个变形。该方法包括计算系统基于相机参数、对象变形数据和当前网格模型来可微分地渲染对象的渲染图像。该方法包括计算系统评估损失函数,该损失函数将对象的输入图像的一个或多个特性与对象的渲染图像的一个或多个特性进行比较。该方法包括计算系统基于损失函数的梯度来修改相机模型和当前网格模型中的一个或两者的一个或多个值。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书中并构成其一部分的附图示出了本公开的示例实施例,并与描述一起用于解释相关原理。
附图说明
面向本领域普通技术人员的实施例的详细论述在参考附图的说明书中阐述,在附图中:
图1A描绘了根据本公开的示例实施例的执行学习铰接形状重建(LASR)的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的执行铰接形状重建的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的执行铰接形状重建的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的示例3D重建技术的框图。
图3描绘了学习铰接形状重建方法的方法概述的流程图。
图4示出了从粗到细的重建的示例。
图5示出了使用各种网格重建方法的网格重建的人类和动物的视觉比较的示例。
图6示出了使用各种网格重建方法的网格重建的人类和动物的视觉比较的另一个示例。
图7示出了使用各种关键点转移方法的关键点转移的示例。
图8示出了使用各种形状和铰接重建方法在不同时间戳处的形状和铰接重建结果的示例。
图9示出了COLMAP和LASR方法之间的近刚性视频序列的重建的视觉比较。
图10示出了使用各种方法的相机和刚性形状优化以及使用各种方法的铰接形状优化的消融研究结果的示例。
图11描绘了根据本公开的示例实施例的执行LASR的示例方法的流程图。
跨多个附图重复的附图标记旨在在各种实施方式中识别相同的特征。
具体实施方式
概述
总的来说,本公开涉及一种计算系统和方法,其可以用于从对象的图像,诸如例如对象的单目视频,重建对象的3D形状。具体地,本公开提供了用于从一个或多个图像学习铰接形状重建(其可以被称为LASR)的通用流水线。该流水线可以重建刚性或非刚性3D形状的模型。具体地,本文描述的示例流水线可以将非刚性地变形的形状自动分解成刚性骨骼附近的刚性运动。该流水线合并合成分析策略,并正向渲染轮廓、光流和彩色图像,该轮廓、光流和彩色图像可以与视频观察进行比较以调整模型的内部参数。通过反转渲染流水线并合并诸如光流的图像分析技术,流水线可以从由用户输入的一个或多个图像恢复3D模型的网格。
更具体地,示例3D建模流水线可以执行合成分析任务,其中可以通过最小化损失函数来与机器学习的相机模型一起联合学习对象的机器学习的网格模型,该损失函数评估对象的一个或多个输入图像和对象的一个或多个渲染图像之间的差异。此外,可以从对象的一个或多个图像的单个集合构建形状模型库。流水线可以解决恢复3D对象形状(例如,时空变形)和相机轨迹(例如,本征)的逆图形问题,以便拟合视频或图像帧观察,诸如轮廓、原始像素和光流。作为另一个示例,可以通过对描绘多个对象的多个图像执行流水线来构建形状模型库。
用于从一个或多个图像进行3D形状学习的无模型方法的示例方法可以包括获得描绘对象的输入图像和对象的当前网格模型。具体地,真实值(ground truth)可以被包括在一个或多个图像的集合中。例如,真实值可以是一个或多个单目序列,诸如由单目相机捕获的视频。作为另一个示例,单目序列可以具有前景对象的分割。
可以用机器学习的相机模型来处理输入图像。机器学习的相机模型可以预测关于真实值数据的信息。具体地,该信息可以包括相机参数和/或对象变形数据。相机参数可以描述输入图像(例如,相对于参考位置和/或姿态)的相机姿态。对象变形数据可以描述当前网格模型的一个或多个变形。例如,当前网格模型的变形可以是当前网格模型和图像中示出的对象的形状之间的相对变化。
对象的渲染图像可以被可微分地渲染(例如,使用可微分渲染技术)。渲染的图像可以是基于相机参数、对象变形数据和当前网格模型。渲染的图像可以描绘根据对象变形数据和从由相机参数描述的相机姿态而变形的当前网格模型。
可以评估损失函数,该损失函数将对象的输入图像的一个或多个特性与对象的渲染图像的一个或多个特性进行比较。可以基于损失函数来修改机器学习的相机模型和当前网格模型中的一个或两者的一个或多个值。例如,修改机器学习的相机模型和当前网格模型中的一个或两者可以是至少部分基于梯度信号,其中,梯度信号描述损失函数相对于模型的参数的梯度。
在一些实施方式中,评估损失函数可以包括评估对象的一个或多个输入图像和对象的一个或多个渲染图像之间的差异。具体地,在特定帧处的相机姿态可以被包括在损失函数评估中。甚至更具体地,特定骨骼围绕其父关节的旋转可以被包括在损失函数评估中。甚至更具体地,静止形状的顶点3D坐标可以被包括在损失函数评估中。例如,在评估损失函数中使用的运动正则项可以包括时间平滑度项、最小运动项和尽可能刚性项。作为又一个示例,在评估损失函数中使用的形状正则项可以包括拉普拉斯平滑度项和规范化项,以消除多个解的歧义直到刚性变换。一个或多个渲染的图像可以包括基于机器学习的网格模型结合由机器学习的相机模型生成的相机参数渲染的图像。由机器学习的相机模型生成的数据可以源自一个或多个输入图像。流水线可以进一步指示系统接收附加的相机参数集合。流水线可以再次进一步指示系统至少部分地基于机器学习的网格模型和附加的相机参数集合来渲染对象的附加渲染图像。
在一些实施方式中,评估损失函数可以包括确定第一流(例如,使用一个或多个光流技术等)和第二流(例如,基于跨图像渲染的已知变化)。第一流可以用于输入图像,而第二流可以用于渲染图像。损失函数可以至少部分地基于第一流和第二流的比较来评估。
在一些实施方式中,评估损失函数可以包括确定第一轮廓(例如,使用一种或多种分割技术等)和第二轮廓(例如,基于渲染图像内的对象的已知位置)。第一轮廓可以用于输入图像,而第二轮廓可以用于渲染图像。可以至少部分基于第一轮廓和第二轮廓的比较来评估损失函数。
在一些实施方式中,评估损失函数可以包括确定第一纹理数据(例如,使用原始像素数据和/或各种特征提取技术)和第二纹理数据(例如,使用来自渲染图像的已知纹理数据)。第一纹理数据可以用于输入图像,而第二纹理数据可以用于渲染图像。可以至少部分基于第一纹理数据和第二纹理数据的比较来评估损失函数。
作为一个示例,评估损失函数可以包括生成梯度信号。通过将对象的输入图像的一个或多个特性与对象的渲染图像的一个或多个特性进行比较,可以为损失函数生成梯度信号。作为一个示例,通过将输入图像的第一流和渲染图像的第二流进行比较,可以为损失函数生成梯度信号。作为另一个示例,通过将输入图像的第一轮廓和渲染图像的第二轮廓进行比较,可以为损失函数生成梯度信号。作为又一个示例,通过将与输入图像相关联的第一纹理数据和与渲染图像相关联的第二纹理数据进行比较,可以为损失函数生成梯度信号。
在一些实施方式中,获得描绘该对象的输入图像可以包括选择规范图像。具体地,规范图像可以是来自视频的图像帧。可以自动或手动选择规范图像。作为用于选择规范输入图像的一个示例,可以选择一个或多个候选帧。可以评估候选帧中的每个候选帧的损失。具有最低最终损失的候选帧可以被选择为规范帧。
在一些实施方式中,网格模型可以包括构建网格模型的各种形状。例如,网格模型可以是多边形网格。多边形网格可以包括顶点集合、多个关节、多个关节相对于多个顶点的多个混合蒙皮权重、和/或定义多面体对象的形状的边和面。具体地,多边形网格的面可以由凹多边形、带孔多边形、简单凸多边形以及其他更特定的结构(例如,三角形、四边形等)组成。作为另一个示例,网格模型可以被初始化为投影到球体的细分的二十面体。在一些实施方式中,线性混合蒙皮算法可以用于使网格模型变形。在一些实施方式中,多个关节和多个混合蒙皮权重是可学习的。
在一些实施方式中,相机参数可以描述输入图像的对象到相机变换。作为一个示例,可以通过将刚性3D变换矩阵应用于以对象为中心的坐标的矩阵来创建3D对象的不同视图。通过应用对象到相机变换,以对象为中心的坐标的矩阵可以被变换到以相机为中心的坐标。甚至更具体地,对其计算变换的对象可以具有已知的几何模型。相机的校准可以通过捕捉现实世界对象的图像并在图像中定位一组标志点来开始。可以使用任何合适的技术找到图像中的标志点的位置(即姿态)。
在一些实施方式中,机器学习的相机模型可以包括卷积神经网络。例如,卷积神经网络可以估计相机姿态。具体地,卷积神经网络可以使用其位置向量和取向四元数来表示相机姿态。卷积神经网络可以通过被训练为最小化真实值数据和估计的姿态之间的损失而被训练为确定相机姿态。作为另一个示例,卷积神经网络可以预测相机外部因素(例如,相机在世界中的位置,相机指向什么方向,等等)。具体地,相机外部因素可以是至少部分基于相机校准。
在一些实施方式中,相机参数可以描述内在相机参数(例如,焦距、图像中心、纵横比等)。可以为输入图像描述内在相机参数。特别地,内在相机参数可以是至少部分基于相机校准。
在一些实施方式中,骨架的动态可以被共享。例如,如果一个骨架达到与存在更多数据或者存在更好的3D模型(例如,在库中)的另一个骨架的相似性的确定的阈值,则系统可以将来自一个3D模型的信息应用于另一个3D模型以改进第二3D模型(例如,如果没有足够的数据来以相同的精度创建第二3D模型)。
在一些实施方式中,可以合并关键点约束。此外,形状模板先验知识可以加快推断速度并提高准确性。
因此,本公开提供了用于从一个或多个图像(例如,单个视频)进行3D形状学习的无模板方法。示例实施方式采用合成分析策略,并正向渲染轮廓、光流和/或彩色图像,该轮廓、光流和/或彩色图像与视频观察进行比较以调整模型的相机、形状和/或运动参数。所提出的技术能够准确地重建刚性和非刚性3D形状(例如,人类、动物和野外的类别),而不依赖于类别或3D形状先验知识。
本公开的系统和方法提供了许多技术效果和益处。作为一个示例技术效果,所提出的技术能够从有限的图像数据(例如,单目视频)执行铰接形状重建,而不依赖于先前的模板或类别信息。具体地,示例实施方式利用两帧光流来克服非刚性结构的固有不完整性和运动估计问题。通过使得能够从有限的数据进行模型重建,并且不依赖于对象或类别特定的先验知识,本文描述的技术能够扩展能够生成准确3D模型的对象的范围。具体地,许多现有的非刚性形状重建方法依赖于先验形状模板,诸如用于人类的SMPL、用于四足动物的SMAL以及其他类别特定的3D扫描。相反,所提出的系统和方法可以在不使用形状模板或类别信息的情况下从对象的单目视频联合恢复相机、形状和铰接。通过减少对先验知识的依赖,所提出的系统和方法可以被应用于更宽范围的非刚性形状,并且更好地拟合数据。
作为另一示例技术效果,一些示例实施方式在线性混合蒙皮下在刚性骨骼的约束下自动恢复非刚性形状。示例实施方式可以将从粗到细的重新网格化与软对称约束相结合,以恢复高质量网格。
本文进一步描述的并且在所提出的技术的示例实施方式上进行的示例实验证明了在BADJA动物视频数据集中的最先进的重建性能、对人类的基于模型的方法的强大性能、以及对两个动画动物的比使用形状模板的A-CSM和SMALify更高的准确性。
示例设备和系统
图1A描绘了根据本公开的示例实施例执行铰接形状重建的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及其组合。存储器114可以存储数据116和由处理器112执行以使用户计算设备102执行操作的指令118。
在一些实施方式中,用户计算设备102可以存储或包括一个或多个3D重建模型120。例如,3D重建模型120可以是或者可以另外包括各种机器学习的模型,诸如神经网络(例如,深度神经网络)或者其他类型的机器学习的模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图2讨论示例3D重建模型120。
在一些实施方式中,一个或多个机器学习的模型120可以通过网络180从服务器计算系统130被接收,被存储在用户计算设备存储器114中,并且然后由一个或多个处理器112使用或以其他方式实现。在一些实施方式中,用户计算设备102可以实现单个3D重建模型120的多个并行实例(例如,跨输入图像的多个实例执行并行3D重建)。
更具体地,3D重建模型可以在不使用形状模板或类别信息的情况下从对象的一系列图像联合恢复相机、形状和铰接。
附加地或替代地,一个或多个机器学习的模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中,或者由服务器计算系统130存储和实现。例如,机器学习的模型140可以由服务器计算系统140实现为网络服务(例如,流传输服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实现,和/或一个或多个模型140可以在服务器计算系统130处存储和实现。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及其组合。存储器134可以存储数据136和由处理器132执行以使服务器计算系统130执行操作的指令138。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备来实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个3D重建模型140。例如,模型140可以是或者可以包括各种机器学习的模型。示例机器学习的模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图2讨论示例模型140。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及其组合。存储器154可以存储数据156和由处理器152执行以使训练计算系统150执行操作的指令158。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备实现。
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术,诸如例如误差的反向传播,来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习的模型120和/或140。例如,损失函数可以通过模型反向传播,以更新模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术可以用于在多次训练迭代中迭代地更新参数。
在一些实施方式中,执行误差的反向传播可以包括随时间执行截短的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、退出等)来提高被训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据162的集合来训练3D重建模型120和/或140。训练数据162可以包括例如一个或多个图像的集合。在一些实施方式中,一个或多个图像可以指向感兴趣对象。在一些实施方式中,一个或多个图像可以串在一起成为视频。在一些实施方式中,视频可以是单目视频。
在一些实施方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收到的用户特定数据上训练。在某些情况下,这个过程可以被称为使模型个性化。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括一个或多个计算机可执行指令集合,这些指令被存储在诸如RAM、硬盘或光学或磁性介质的有形计算机可读存储介质中。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般而言,通过网络180的通信可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载。
图1A示出了可以用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102处本地训练和使用。在一些这样的实施方式中,用户计算设备102可以实现模型训练器160以基于用户特定的数据来使模型120个性化。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用都包含它自己的机器学习库和机器学习的模型。例如,每个应用可以包括机器学习的模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的多个其他组件通信,这些组件诸如例如为一个或多个传感器、场境管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,由每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用API(例如,跨所有应用的公共API)与中央智能层(以及存储在其中的模型)通信。
中央智能层包括许多机器学习的模型。例如,如图1C所示,可以为每个应用提供相应的机器学习的模型,并且相应的机器学习的模型由中央智能层管理。在其他实施方式中,两个或更多个应用可以共享单个机器学习的模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型。在一些实施方式中,中央智能层被包括在计算设备50的操作系统中,或者由计算设备50的操作系统来实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据储存库。如图1C所示,中央设备数据层可以与计算设备的多个其他组件通信,这些组件诸如例如为一个或多个传感器、场境管理器、设备状态组件和/或附加组件。在一些实施方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
示例模型设置
图2描绘了根据本公开的示例实施例的示例3D重建流水线200的框图。在一些实施方式中,可以执行3D重建流水线200来接收描绘感兴趣对象的一个或多个图像204的集合(例如,指向感兴趣对象的单目视频),并且作为接收到图像204的结果,提供感兴趣对象的重建的3D模型206。在一些实施方式中,3D重建流水线200可以包括执行逆图形优化202,该逆图形优化包括求解逆图形优化问题,该逆图形优化问题可以通过基于视频的优化来联合恢复对象的静止形状、蒙皮权重、铰接和/或相机参数。
示例方法
如图3所示,在给定一个或多个图像(诸如单目视频{It})的输入的情况下,本公开的一些示例实施方式利用求解非刚性3D形状和运动估计问题作为合成分析任务的某些方法。下面描述的方法可以通过给出适当的视频测量来在一定尺度上求解“低级”形状和运动,尽管该问题具有约束不足的性质。图3示出了计算系统600的基本步骤的示例实施例,其中首先可以将感兴趣对象(例如,用户希望创建其3D模型的对象)602的一个或多个图像,更具体地是单目视频{It},输入到计算系统中。感兴趣对象可以由分割掩模{St}622指示。
计算系统可以求解逆图形问题,以通过优化方法(例如,基于视频的优化)联合恢复对象的静止形状S 604、蒙皮权重W 606、时变铰接以及对象-相机变换Dt 608和/或相机参数,另外称为相机内在因素Kt 610。该方法可以迭代地重复,并且在每次迭代中,可以对多个连续的图像帧进行采样。例如,可以随机地采样C=8对连续帧。将理解,可以替代地使用其他数量的连续帧。在一些实施方式中,采样帧可以不是连续的。视频中的一些帧可以被跳过,例如可以采用每隔一帧或者每隔两帧。
随机采样的帧可以被馈送到卷积神经网络。卷积神经网络可以预测时变相机和运动参数。静止形状S 604,也称为平均形状,可以经历线性混合蒙皮过程614。线性混合结皮过程614可以根据下面讨论的进一步细节而进行。给定某些参数(例如,预测的铰接参数Dt608、蒙皮权重W 606等),线性混合蒙皮过程614可以输出铰接静止形状612。
接下来,计算系统可以利用可微分渲染器616正向渲染纹理、光流和轮廓图像。根据下面讨论的进一步细节,可以利用可微分渲染器进行正向渲染。正向渲染可以输出渲染618,渲染618可以被输入620到损失函数628中。真实值像素、真实值光流624、真实值分割{St}622也被输入626到损失函数628中。
损失函数628可以被评估以生成一个或多个梯度630。一个或多个梯度630可以用于更新相机Kt 610、形状S 604和铰接参数Dt 608。一个或多个梯度630可以用于使用梯度下降来更新Kt 610、形状S 604和铰接参数Dt 608,以最小化渲染的输出Y=f(X)和在测试时的真实值视频测量Y*之间的差异。为了处理对象形状S 604、变形和相机运动中的基本模糊性,以下公开可以利用变形的“低级”但富有表现力的参数化、由光流和原始像素提供的丰富约束以及对象形状变形和相机运动的适当正则化。
示例正向合成模型
继续以上计算系统的示例步骤,在一些实施方式中,计算系统可以利用可微分渲染器616正向渲染纹理、光流和轮廓图像。给定帧索引t和模型参数X,可以合成对应帧对{t,t+1}的测量,包括彩色图像渲染对象轮廓渲染和正向-后向光流渲染
在一些实施方式中,对象形状可以被表示为具有N个彩色顶点和M个面的固定拓扑的网格。该网格可以是三角形网格。时变铰接Dt可以通过来建模,其中△Vt可以是应用于静止顶点的每顶点运动场,并且G0,t=(R0|T0)t可以是对象-相机变换矩阵(索引0可以用于区分在由计算系统利用的变形建模中从1索引的骨骼变换)。最后,可以在光栅化之前应用透视投影Kt,其中,可以假设主点(px,py)是恒定的,并且焦距ft随时间变化以处理缩放。
在一些实施方式中,可以利用可微分渲染器来渲染对象轮廓和彩色图像。给定每顶点外观C和恒定的环境光,可以渲染彩色图像。可以通过获取对应于帧t中的每个像素的表面位置Vt、计算它们在下一帧中的位置Vt+1、然后获取它们的投影的差来完成合成正向流例如:
其中,P(i)可以表示投影矩阵P的第i行。
示例变形建模
如上所述,在一些实施方式中,计算系统可以构建感兴趣对象的变形建模。变形建模可以利用多个计算过程。利用于变形建模的计算过程可以包括线性混合蒙皮(继续上述计算系统的示例步骤)和参数化蒙皮。可以分析求解逆问题的未知数和约束的数量。给定视频的T个帧,
其可以随着顶点的数量而线性增长。因此,可以生成形状和运动的富有表现力但低级的表示。
继续以上计算系统的示例步骤,在一些实施方式中,计算系统可以利用线性混合蒙皮。建模变形的一些实施方式可以将建模变形用作每顶点运动△Vt。在其他实施方式中,线性混合蒙皮模型可以通过混合B个刚性“骨骼”变换{G1,…,GB}来约束顶点运动,这可以减少参数的数量并使优化更容易。除了骨骼变换,LBS模型还可以定义蒙皮权重矩阵该矩阵将静止形状顶点的顶点附加到骨骼集合。可以通过在对象坐标系中线性组合加权骨骼变换来变换每个顶点,然后将顶点变换到相机坐标系,例如:
Vi,t=G0,t(∑jWj,iGj,t)Vi
其中i可以是顶点索引,并且j可以是骨骼索引。在一些实施方式中,蒙皮权重和时变骨骼变换可以被联合学习。
在一些实施方式中,计算系统可以利用参数化蒙皮。蒙皮权重可以被建模为高斯混合,例如:
其中可以是第j个骨骼的位置,Qj可以是确定高斯的取向和半径的对应精度矩阵,并且C可以是可以确保将顶点分配给不同骨骼的概率总和为一的归一化因子。特别地,W→{Q,J}可以被优化。值得注意的是,在一些实施方式中,高斯模型的混合将蒙皮权重的参数的数量从NB减少到9B。在进一步的实施方式中,高斯模型的混合也可以保证平滑度。形状和运动参数的数量现在可以表示为:
其可以相对于帧和骨骼的数量而线性增长。
从视频的示例自我监督学习
在一些实施方式中,可以利用来自密集光流和原始像素的丰富监督信号。此外,在一些实施方式中,可以利用形状和运动正则化器来进一步约束该问题。
在一些实施方式中,可以利用逆图形损失。例如,对合成分析流水线的监督可以包括轮廓损失、纹理损失和光流损失。轮廓损失将渲染的纹理与测量的轮廓进行比较,例如使用L2损失。纹理损失将渲染的纹理与测量的纹理进行比较,例如使用L1损失和/或感知距离。光流损失将渲染的光流与测量的光流进行比较,例如使用L2损失。例如,给定一对渲染的输出和测量(St,It,ut),逆图形损失可以被计算为,
其中,{β1,…,β4}可以是根据经验选择的权重,σt可以是用于流测量的归一化置信图,并且pdist(·,·)可以是感知距离。在一些实施方式中,将L1损失应用于光流可能比L2损失更好。例如,由于L1流损失对离群值(例如,非刚性运动)更宽容。
在一些实施方式中,可以利用形状和运动正则化。例如,可以利用一般的形状和时间正则化来进一步约束该问题。拉普拉斯平滑度操作可以用于增强表面平滑度,例如:
运动正则化可以包括最小运动项、ARAP(尽可能刚性)变形项和时间平滑项中的一个或多个。最小运动项可以促进铰接形状保持接近静止形状,并且可以是基于对象的网格顶点和对象的静止顶点之间的差异,例如:
这可以有效地解决形状变形模糊性,即,修改形状可以被表达为将骨骼变换应用于原始形状。ARAP项可以用于促进自然变形,其可以是基于连续帧中的顶点间距离之间的差异,例如:
在一些实施方式中,一阶时间平滑可以被应用于相机旋转(j=0)和骨骼旋转(j=1,…,B),诸如:
其中可以使用测地线距离来比较旋转。
在一些实施方式中,可以利用软对称约束。例如,可以利用在普通对象类别中展示的反射对称结构。例如,对于静止形状和蒙皮权重两者,可以在对象帧中沿y-z平面(即(n0,d0)=(1,0,0,0,0))设定软对称约束。
在某些情况下,静止形状和反射的静止形状可以相似。
最后,可以应用规范化项,
其中t*可以是规范帧,并且n*可以是该帧中的对称平面。例如,规范相机姿态可以被偏置以与对称平面对齐。对称平面可以用近似值初始化并优化。总损失可以是所有损失的加权和,权重根据经验选择,并在所有实验中保持不变。
示例实现细节
在一些实施方式中,可以利用相机和姿态获得实现细节。在一些实施方式中,可以直接优化时变参数{Dt,Kt}。在一些实施方式中,在给定输入图像It的情况下,可以将时变参数{Dt,Kt}参数化为来自卷积网络的预测,
ψw(It)=(K,G0,G1,G2,…,GB)t,
在可以为焦距预测一个参数的情况下,可以为由四元数(quaterion)参数化的每个骨骼旋转预测多个参数(例如,四个),并且可以为每个平移预测多个参数(例如,三个)。这些数量可以被加到每一帧的总共1+7(B+1)个数量中。预测的相机和姿态预测可以用于合成视频,这些视频与生成梯度以更新权重w的原始测量Y*进行比较。该网络可以学习相机和姿态的联合基础,该联合基础比原始参数更容易优化。
在一些实施方式中,可以利用轮廓和流测量获得实现细节。可以假设提供了前景对象的可靠分割。可以使用实例分割和跟踪方法来手动注释或估计分割。可以利用合理的光流估计,其可以由在数据集的混合上训练的最先进的流估计器来提供。值得注意的是,学习铰接形状重建可以从一些不良流初始化恢复,并且获得更好的长期对应。
在一些实施方式中,可以利用从粗到细的重建获得实现细节,如图4所示。可以利用从粗到细的策略来重建高质量的网格。对于S0,702,可以假设刚性对象,并且可以针对L个时期优化静止形状和相机{S,G0,t,Kt}。对于S1-S3,704、706和708,可以联合优化所有参数{S,Dt,Kt},并且可以在每L个时期之后执行重新网格化,这可以重复多次。(例如,它可以被重复三次,第一重新网格化704、第二重新网格化706和第三重新网格化708)。在每次重新网格化之后,顶点的数量和骨骼的数量两者都会增加,如图4所示。
在一些实施方式中,可以利用初始化获得实现细节。静止形状可被初始化为在S0702处投影到球体上的细分的二十面体。可以通过在S1-S3 704、706和708处在顶点的坐标上运行K均值(K-means)来初始化静止骨骼。视频的第一帧可以被选择为规范帧,并且规范对称平面n*可以(通过提供y-z平面或x-y平面中的一个)手动给出,或者从八个假设中选择,这八个假设的方位角和仰角可以在半球上均匀间隔开,这是通过对每个假设并行运行S0 702并选取具有最低最终损失的假设来实现的。
动物视频上的示例2D关键点转移
例如,用户可以对动物视频数据集使用该计算系统,该数据集可以提供具有2D关键点和掩模注释的多个真实动物视频(例如,九个真实动物视频)。这些数据可以从视频分割数据集或在线库存影片中获得。它可以包括许多动物的许多视频,这些动物诸如狗(例如,狗的三个视频)、跳马(例如,跳马的两个视频)和骆驼、牛、熊以及黑斑羚(例如,骆驼、牛、熊和黑斑羚各一个)。
为了近似3D形状和铰接恢复的精度,可以使用正确关键点转移百分比(PCK-T)。给定具有2D关键点注释的参考和目标图像对,参考关键点可以被转移到目标图像,并且如果转移的关键点在距目标关键点的某个阈值距离内,则被标记为“正确的”,其中|S|可以是真实值轮廓的面积。给定铰接形状和相机姿态估计,可以通过从参考帧到目标帧的重新投影对转移点进行转移。如果反投影的关键点位于重建的网格之外,则其与网格相交的最近相邻点可以被重新投影。可以在所有T(T-1)对帧上对精度求平均。
可以用作用于比较目的的基线的替代动物重建方法的分类如下表1所示。(1)指基于模型的形状优化。(2)指基于模型的回归。(3)指类别特定的重建。(4)指无模板方法。S指单个视图。V指视频或多视图数据。I指图像。J2指2D关节。J3指3D关节。M指2D掩模。V3指3D网格。C指相机矩阵。O指光流。Quad指四足动物。仅指列出的代表性类别。*指不可用的实施方式。SMALST是为斑马训练的基于模型的回归器。它将图像作为输入,并为SMAL模型预测形状、姿态和纹理。UMR是针对几个类别训练的类别特定的形状估计器,这几个类别包括鸟类、马和其他具有大量带注释图像的集合的类别。由于其他动物类别的模型不可用,因此报告了马模型的性能。A-CSM从图像集合中学习类别特定的规范表面映射和铰接。在测试时,它将一幅图像作为输入,并预测装配模板网格的铰接参数。它提供了27个动物类别的3D模板和马的铰接模型,该模型在整个实验中使用。SMALify是一种基于模型的优化方法,其将SMAL模型的五个类别(包括猫、狗、马、牛和河马)中的一个匹配到视频或单个图像。所有视频帧都被提供有真实值关键点和掩模注释。最后,包括基于检测的方法,OJA,其训练沙漏网络来检测动物关键点(由检测器指示),并用提出的最优分配算法对联合成本图进行后处理。
表1:非刚性形状重建的相关工作。
在图5中示出了3D形状重建的示例定性结果。图5示出了使用参考图像802基于来自LASR以及竞争者的骆驼和人类数据的示例3D形状重建结果。在804处,参考一系列图像(例如,视频)的不同时间示出了来自LASR的形状重建结果。在806处,示出了在0°旋转和60°旋转处来自LASR的进一步形状重建结果。在808处,示出了在0°旋转和60°旋转处来自UMR-马的进一步形状重建结果。在810处,示出了在0°旋转和60°旋转处来自A-CSM(骆驼模板)的进一步形状重建结果。在812处,示出了在0°旋转和60°旋转处来自SMALify马的进一步形状重建结果。在814处,示出了在0°旋转和60°旋转处来自LASR的进一步形状重建结果,具体示出了类人形。在816处,示出了在0°旋转和60°旋转处来自PIFuHD的进一步形状重建结果。在818处,示出了在0°旋转和60°旋转处来自SMPLify-X的进一步形状重建结果。在820处,示出了在0°旋转和60°旋转处来自VIBE的进一步形状重建结果。LASR可以在不使用形状模板或类别信息的情况下从对象的一个或多个图像(例如,单目视频)联合恢复相机、形状和铰接。通过依靠较少的先验知识,LASR可以应用于更广泛的非刚性形状,并且更好地拟合数据。来自LASR 806的结果恢复了从其他方法808、810和812的结果丢失的两个驼峰。此外,可以通过来自LASR 814和PIFuHD 816的结果来重建舞者的布料丝带822,但是将SMPLify-X 818和VIBE 820混淆成舞者的右臂。
在图6中示出3D形状重建的定性结果的另一个示例,其中我们在熊和狗数据902(例如,熊和狗视频)上与UMR、A-CSM和SMALify进行比较。视频的第一帧的重建从两个视角示出。与同样不使用形状模板的UMR相比,LASR重建了更细粒度的几何形状。与使用形状模板的A-CSM和SMALify相比,LASR恢复了实例特定的细节,诸如狗毛茸茸的尾巴和更自然的姿态。在0°旋转904和60°旋转914处示出了来自LASR的示例形状重建结果。在0°旋转906和60°旋转914处示出了来自UMR马的示例形状重建结果。在0°旋转908和60°旋转916处示出了来自A-CSM(狼模板)的示例形状重建结果。在0°旋转910和60°旋转918处示出了来自SMALify狗的示例形状重建结果。
关键点转移的定量结果如下面的表2所示。假定所有3D重建基线都是类别特定的,并且可能不会为一些类别(诸如骆驼)提供精确的模型,因此为每个动物视频选择了最佳模型或模板。与3D重建基线相比,LASR对于所有类别都更好,甚至在为其训练基线的类别上也是如此(例如,在跳马高上,LASR:49.3vs UMR:32.4)。利用对象分割器PointRend替换真实值分割掩模,LASR的性能下降,但仍优于所有重建基线。与基于检测的方法相比,我们在跳马视频上的准确性更高,在其他视频上接近基线。与初始光流相比,LASR也显示出很大的改进(对于骆驼,为81.9%vs 47.9%)。(2)指基于模型的回归。(3)指类别特定的重建。(4)指自由形式的重建。指不重建3D形状的方法。*指未被指定用于这种类别的方法。如果重建3D形状,则最佳结果会以下划线和粗体显示。
表2:2D关键点转移准确度
与初始光流相比,LASR示出很大的改进,特别是在如图7所示的长程帧之间。图7示出了样本骆驼视频的帧2和帧70之间的示例关键点转移。转移的关键点和目标注释之间的距离由圆的半径表示。正确的转移用实心圆1014标记,并且错误的转移用虚线1016标记。示出了LASR流覆盖在顶部1002上的参考图像。使用LASR 1004示出了具有帧2和帧70之间的关键点转移的示例图像。使用VCN流1006示出了具有帧2和帧70之间的关键点转移的示例图像。使用A-CSM(骆驼模板)1008示出了具有帧2和帧70之间的关键点转移的示例图像。使用SMALST-斑马1010示出了具有帧2和帧70之间的关键点转移的示例图像。使用UMR-马1012示出了具有帧2和帧70之间的关键点转移的示例图像。
铰接对象上的示例网格重建
对于铰接对象上的一个示例网格重建,为了评估网格重建的准确度,使用了具有真实值网格和铰接的五个铰接对象的视频数据集,包括一个舞者视频、一个德国牧羊犬视频、一个马视频、一个鹰视频和一个石巨人视频。还包括刚性对象,Keenan的点,以评估S0阶段的对刚性对象重建和消融的性能。
大多数先前的网格重建工作假设给定的相机参数。然而,在LASR可以建模的某些情况下,相机和几何形状两者都是未知的,这导致评估中的模糊性,包括尺度模糊性(对于所有单目重建存在)以及深度模糊性(对于如在UMR、A-CSM、VIBE等中使用的弱透视相机存在)。为了分解出未知的相机矩阵,两个网格通过迭代最近点求解的3D相似性变换来对齐。然后,采用双向倒角距离作为评估度量。从预测的网格和真实值网格的表面均匀地随机采样10k个点,并计算对应点云中的每个点的最近邻之间的平均距离。
除了用于动物重建的A-CSM、SMALify和UMR之外,SMPLify-X、VIBE和PiFUHD还与用于人类重建的LASR进行比较。SMPLify-X是一种用于人体表情捕捉的基于模型的优化方法。使用了舞者序列的女性SMPL模型,并且提供了从OpenPose估计的关键点输入。VIBE[19]是用于人体姿态和形状推断的最先进的基于模型的视频回归器。PIFuHD是为穿着衣服的人类设计的最先进的自由形式3D形状估计器。它以单个图像作为输入,并且预测隐式形状表示,其通过移动立方体(marching cube)算法被转换为网格。为了与关于狗和马的SMALify进行比较,每帧手动注释18个关键点,并利用对应的形状模板进行初始化。
在图5以及图8中示出了关于人类和动物的视觉比较。图8示出了在我们的合成狗和马序列上在不同时间戳处的形状和铰接重建结果。使用GT 1102示出了在t=0、t=5和t=10处狗的示例形状和铰接重建。使用LASR 1104示出了在t=0、t=5和t=10处狗的示例形状和铰接重建。使用A-CSM(狼模板)1106示出了在t=0、t=5和t=10处狗的示例形状和铰接重建。使用SMALify-狗1108示出了在t=0、t=5和t=10处狗的示例形状和铰接重建。使用GT 1110示出了马在t=0、t=5和t=10处的示例形状和铰接重建。使用LASR 1112示出了在t=0、t=5和t=10处马的示例形状和铰接重建。使用UMR 1114示出了在t=0、t=5和t=10处马的示例形状和铰接重建。使用A-CSM-马1116示出了在t=0、t=5和t=10处马的示例形状和铰接重建。使用SMALify-马1118示出了在t=0、t=5和t=10时马的示例形状和铰接重建。该参考图在每个重建1122的左上角处示出。使用的模板网格在右下方1120中示出。与基于模板的方法(UMR 1114)相比,LASR 1112成功地重建了马的四条腿。与基于模板的方法(A-CSM 1106和SMALify 1108)相比,LASR 1104成功地重建了实例特定的细节(狗的耳朵和尾巴),并恢复了更自然的铰接。
定量结果如下表3所示。在狗的视频上,LASR比所有基线都好(0.28vs A-CSM:0.38)。LASR可能更好,因为A-CSM和UMR不是专门针对狗训练的(尽管A-CSM使用狼模板),并且SMALify不能从有限的关键点和轮廓注释重建自然的3D形状。对于马的视频,LASR比使用马形状模板的A-CSM稍好,并且优于其余基线。对于舞者序列,LASR不如基线方法准确(0.35vs VIBE:0.22),这是预期的,因为所有基线要么使用良好设计的人类模型,要么已经利用3D人类网格数据训练过,而LASR无法访问3D人类数据。对于石巨人视频,LASR是唯一一种重建了有意义的形状的方法。虽然石巨人与人类的形状相似,但OpenPose不能正确地检测关节,从而导致SMALify-X、VIBE和PiFUHD的失败。最佳结果以粗体显示。“-”是指不适用于特定序列的方法。
表3:动画对象数据集上的根据倒角距离的网格重建误差。
为了检查在任意真实世界对象上的性能,五个视频,包括舞蹈旋转、滑板车、肥皂盒、汽车转弯、野鸭飞行和猫视频。视频被分段。与无模板SfM-MVS流水线COLMAP的比较如图9所示。左侧1202示出了代表性输入帧。图9示出了使用滑板车视频的COLMAP的结果1204。图9示出了使用滑板车视频的LASR的结果1206。图9示出了使用肥皂盒视频的COLMAP的结果1208。图9示出了使用肥皂盒视频的LASR的结果1210。图9示出了使用汽车转弯视频的COLMAP的结果1212。图9示出了使用汽车转弯视频的LASR的结果1214。这些比较是在接近刚性的序列之间进行的。COLMAP仅重建了可见的刚性部分,而LASR重建了刚性对象和接近刚性的人两者。
研究了不同设计选择对刚性牛和动画狗序列的影响。在T=15个帧中,使用环境光和围绕对象水平旋转的相机(对于牛是一整圈,并且对于狗是圈)渲染视频。除了彩色图像外,还渲染了作为监督的轮廓和光流。结果如图10所示。图10示出了在t=0和t=5处对于牛使用GT的作为监督的轮廓和光流的渲染1302。图10示出了在t=0和t=5处对于牛使用参考的作为监督的轮廓和光流的渲染1304。图10示出了在t=0和t=5处对于牛使用GT的作为监督的轮廓和光流的渲染1304。图10示出了具有作为监督信号的光流的在t=0和t=5处对于牛的无流的作为监督的轮廓和光流的渲染1306。图10示出了具有对称平面的规范化的在t=0和t=5处对于牛的无L_can的作为监督的轮廓和光流的渲染1308。图10示出了具有作为相机参数的隐式表示的卷积神经网络(CNN)的在t=0和t=5处对于牛的无CNN的作为监督的轮廓和光流的渲染1310。图10示出了在t=8并且α=0°和α=60°处对于狗使用GT的作为监督的轮廓和光流的渲染1312。图10示出了在t=8并且α=0°和α=60°处对于狗使用参考的作为监督的轮廓和光流的渲染1314。图10示出了具有线性混合蒙皮的在t=8并且α=0°和α=60°处对于狗的无LBS的作为监督的轮廓和光流的渲染1316。图10示出了具有从粗到细的重新网格化的在t=8并且α=0°和α=60°处对于狗的无C2F的作为监督的轮廓和光流的渲染1318。图10示出了具有参数化蒙皮模型的在t=8并且α=0°和α=60°处对于狗的无高斯混合模型(GMM)的作为监督的轮廓和光流的渲染1312。1302、1304、1306、1308和1310示出了对相机和刚性形状优化的消融研究。去除光流损失会在相机姿态估计中引入大的误差,并且因此不能恢复整体几何形状。去除规范化损失导致更差的相机姿态估计,并且因此对称形状约束没有被正确地强制实施。最后,如果不使用卷积网络而直接优化相机姿态,则它收敛得慢得多,并且在相同的迭代内不会产生理想的形状。1312、1314、1316、1318、1320示出了关于铰接形状优化的消融研究。具体地,示出了从两个视点在中间帧(t=8)处重建的铰接形状。在没有LBS模型的情况下,尽管从可见视图来看重建看起来似乎合理,但是由于冗余的变形参数和缺乏约束,重建不能恢复完整的几何形状。如果不进行从粗到细的重新网格化,细粒度的细节将无法恢复。用NxB矩阵替换GMM蒙皮权重(9xB个参数)会导致重建时出现额外的肢体和尾巴。
定量结果被报告在下表4中。在相机参数优化和刚性形状重建(S0)方面,(1)指作为监督信号的光流,(2)指对称平面的规范化,并且(3)指作为相机参数的隐式表示的CNN。对于铰接形状重建(S1-S3),(1)指线性混合蒙皮,(2)指从粗到细的重新网格化,并且(3)指参数化蒙皮模型。
表4:具有网格重建误差的消融研究。
示例方法
图11描绘了根据本公开的示例实施例执行的示例方法的流程图。尽管为了说明和讨论的目的,图11描绘了以特定顺序执行的步骤,但是本公开的方法不限于特别说明的顺序或布置。在不脱离本公开的范围的情况下,方法1400的各个步骤可以以各种方式被省略、重新排列、组合和/或调适。
在1402处,计算系统可以获得描绘对象的输入图像和该对象的当前网格模型。输入图像可以是一个或多个图像。此外,输入图像可以是以视频形式附接在一起的多个图像。该视频可以是单目视频。输入图像中描绘的对象可以是感兴趣对象。此外,对象可以是任何感兴趣实体,诸如动物、人类或无生命的对象。
在1404处,计算系统可以利用机器学习的相机模型处理输入图像,以获得输入图像的相机参数和对象变形数据。相机参数可以描述输入图像的相机姿态。对象变形数据描述了当前网格模型相对于图像中示出的对象的形状的一个或多个变形。可以进一步处理输入图像以获得静止形状、蒙皮权重和铰接。
在1406处,计算系统至少部分基于相机参数来可微分地渲染对象的渲染图像。该计算系统还可以至少部分地基于对象变形数据来可微分地渲染对象的渲染图像。该计算系统还可以至少部分地基于当前网格模型来可微分地渲染对象的渲染图像。可微分地渲染对象的渲染图像可以包括在线性混合蒙皮下铰接静止形状。给定预测的铰接参数和蒙皮权重,计算系统可以在线性混合蒙皮下铰接静止形状。
在1408处,计算系统可以评估损失函数,该损失函数将对象的输入图像的一个或多个特性与对象的渲染图像的一个或多个特性进行比较。可以与对象的输入图像的一个或多个特性相比较的对象的渲染图像的一个或多个特性可以包括像素、光流和分割。
在1410,计算系统可以基于损失函数的梯度来修改机器学习的相机模型和当前网格模型中的一个或两者的一个或多个值。机器学习的相机模型和当前网格模型中的一个或两者的一个或多个值可以包括相机、形状或铰接参数。
附加公开
本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的动作和发送到这些系统和从这些系统发送的信息。基于计算机的系统的固有灵活性允许在组件之间和之中对任务和功能进行多种可能的配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,或者跨多个系统分布。分布式组件可以顺序地或并行地操作。
虽然本主题已经关于其各种具体示例实施例进行了详细描述,但是每个示例都是以解释的方式提供的,而不是对本公开的限制。本领域的技术人员在获得了对前述内容的理解后,可以容易地对这样的实施例产生变更、变型和等效。因此,如对于本领域普通技术人员将是显而易见的,本公开不排除对本主题的这种修改、变型和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,本公开旨在涵盖这些变更、变型和等效。
Claims (20)
1.一种用于从影像确定3D对象形状的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统获得描绘对象的输入图像和所述对象的当前网格模型;
由所述计算系统利用相机模型处理所述输入图像,以获得所述输入图像的相机参数和对象变形数据,其中,所述相机参数描述所述输入图像的相机姿态,并且其中,所述对象变形数据描述所述当前网格模型相对于所述输入图像中示出的所述对象的形状的一个或多个变形;
由所述计算系统基于所述相机参数、所述对象变形数据和所述当前网格模型来可微分地渲染所述对象的渲染图像;
由所述计算系统评估损失函数,所述损失函数将所述对象的所述输入图像的一个或多个特性与所述对象的所述渲染图像的一个或多个特性进行比较;以及
由所述计算系统基于所述损失函数的梯度来修改所述相机模型和所述当前网格模型中的一者或两者的一个或多个值。
2.根据任一前述权利要求所述的计算机实现的方法,其中,评估所述损失函数包括:
确定所述输入图像的第一流;
确定所述渲染图像的第二流;
至少部分基于所述第一流和所述第二流的比较来评估所述损失函数。
3.根据任一前述权利要求所述的计算机实现的方法,其中,评估所述损失函数包括:
确定所述输入图像的第一轮廓;
确定所述渲染图像的第二轮廓;
至少部分基于所述第一轮廓和所述第二轮廓的比较来评估所述损失函数。
4.根据任一前述权利要求所述的计算机实现的方法,其中,评估所述损失函数包括:至少部分基于与所述输入图像相关联的第一纹理数据和与所述渲染图像相关联的第二纹理数据的比较来评估所述损失函数。
5.根据任一前述权利要求所述的计算机实现的方法,其中,所述网格模型包括三角形网格模型。
6.根据任一前述权利要求所述的计算机实现的方法,其中,所述相机参数描述所述输入图像的对象到相机变换。
7.根据任一前述权利要求所述的计算机实现的方法,其中,所述相机模型包括卷积神经网络。
8.根据任一前述权利要求所述的计算机实现的方法,其中,所述相机参数进一步描述所述输入图像的焦距。
9.根据任一前述权利要求所述的计算机实现的方法,其中,所述网格模型被初始化为投影到球体的细分的二十面体。
10.根据任一前述权利要求所述的计算机实现的方法,其中,所述相机模型和所述当前网格模型中的一者或两者包括所述相机模型和所述当前网格模型两者。
11.根据任一前述权利要求所述的计算机实现的方法,其中,所述当前网格模型包括多个顶点、多个关节、以及所述多个关节相对于所述多个顶点的多个混合蒙皮权重,并且其中,所述多个关节和所述多个混合蒙皮权重是能够学习的。
12.根据任一前述权利要求所述的计算机实现的方法,其中,基于所述相机参数、所述对象变形数据和所述当前网格模型来可微分地渲染所述对象的所述渲染图像包括:渲染根据所述对象变形数据变形和根据所述相机参数从所述相机姿态变形的所述当前网格模型。
13.根据任一前述权利要求所述的计算机实现的方法,进一步包括:对描绘多个对象的多个图像执行根据权利要求1所述的方法,以从所述多个图像构建形状模型库。
14.根据前述权利要求中任一项所述的计算机实现的方法,其中,获得描述所述对象的所述输入图像包括:从视频中手动选择规范图像帧。
15.根据权利要求1至13中任一项所述的计算机实现的方法,其中,获得描绘所述对象的所述输入图像包括:
选择多个候选帧;
评估所述候选帧中的每个候选帧的损失;以及
选择具有最低最终损失的候选帧作为规范帧。
16.一种计算机系统,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质共同地存储:
用于对象的机器学习的网格模型,其中,用于所述对象的所述机器学习的网格模型已经通过将评估在所述对象的一个或多个输入图像和所述对象的一个或多个渲染图像之间差异的损失函数最小化来与机器学习的相机模型进行联合学习,所述一个或多个渲染图像包括基于所述机器学习的网格模型和由所述机器学习的相机模型从所述一个或多个输入图像生成的相机参数所渲染的图像;以及
当由所述一个或多个处理器执行时使所述计算系统执行操作的指令,所述操作包括:
接收附加的相机参数集合;以及
基于所述机器学习的网格模型和所述附加的相机参数集合来渲染所述对象的附加渲染图像。
17.根据权利要求16所述的计算系统,其中,所述损失函数将每个输入图像的第一流与每个渲染图像的第二流进行比较。
18.根据权利要求16或17所述的计算系统,其中,所述损失函数将每个输入图像的第一轮廓与每个渲染图像的第二轮廓进行比较。
19.根据权利要求16、17或18所述的计算系统,其中,所述损失函数将每个输入图像的第一纹理与每个渲染图像的第二纹理进行比较。
20.共同地存储指令的一种或多种非暂时性计算机可读介质,所述指令当由包括一个或多个计算设备的计算系统执行时使所述计算执行操作,所述操作包括:
由所述计算系统获得描绘对象的输入图像和所述对象的当前网格模型;
由所述计算系统利用相机模型处理所述输入图像,以获得所述输入图像的相机参数和对象变形数据,其中,所述相机参数描述所述输入图像的相机姿态,并且其中,所述对象变形数据描述所述当前网格模型相对于所述图像中示出的所述对象的形状的一个或多个变形;
由所述计算系统基于所述相机参数、所述对象变形数据和所述当前网格模型来可微分地渲染所述对象的渲染图像;
由所述计算系统评估损失函数,所述损失函数将所述对象的所述输入图像的一个或多个特性与所述对象的所述渲染图像的一个或多个特性进行比较;以及
由所述计算系统基于所述损失函数的梯度来修改所述相机模型和所述当前网格模型中的一者或两者的一个或多个值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/066305 WO2022139784A1 (en) | 2020-12-21 | 2020-12-21 | Learning articulated shape reconstruction from imagery |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115769259A true CN115769259A (zh) | 2023-03-07 |
Family
ID=74206164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080102368.2A Pending CN115769259A (zh) | 2020-12-21 | 2020-12-21 | 从影像学习铰接形状重建 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240013497A1 (zh) |
EP (1) | EP4150577A1 (zh) |
CN (1) | CN115769259A (zh) |
WO (1) | WO2022139784A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023009953A (ja) * | 2021-07-08 | 2023-01-20 | 日本電気株式会社 | 分析装置、コミュニケーションシステム、分析方法、及びプログラム |
-
2020
- 2020-12-21 CN CN202080102368.2A patent/CN115769259A/zh active Pending
- 2020-12-21 WO PCT/US2020/066305 patent/WO2022139784A1/en active Application Filing
- 2020-12-21 EP EP20845472.8A patent/EP4150577A1/en active Pending
- 2020-12-21 US US18/252,118 patent/US20240013497A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022139784A1 (en) | 2022-06-30 |
US20240013497A1 (en) | 2024-01-11 |
EP4150577A1 (en) | 2023-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tiwari et al. | Pose-ndf: Modeling human pose manifolds with neural distance fields | |
Yang et al. | Lasr: Learning articulated shape reconstruction from a monocular video | |
Xie et al. | Neural fields in visual computing and beyond | |
Goel et al. | Shape and viewpoint without keypoints | |
Li et al. | Cliff: Carrying location information in full frames into human pose and shape estimation | |
Siarohin et al. | Motion representations for articulated animation | |
Moon et al. | Deephandmesh: A weakly-supervised deep encoder-decoder framework for high-fidelity hand mesh modeling | |
Gall et al. | Optimization and filtering for human motion capture: A multi-layer framework | |
Brunton et al. | Review of statistical shape spaces for 3D data with comparative analysis for human faces | |
JP2018520425A (ja) | 三次元空間のモデリング | |
Zhou et al. | Toch: Spatio-temporal object-to-hand correspondence for motion refinement | |
Tretschk et al. | State of the Art in Dense Monocular Non‐Rigid 3D Reconstruction | |
US20220327730A1 (en) | Method for training neural network, system for training neural network, and neural network | |
US20220237879A1 (en) | Direct clothing modeling for a drivable full-body avatar | |
Huang et al. | A bayesian approach to multi-view 4d modeling | |
CN116310066A (zh) | 一种单图像三维人体形态估计方法及应用 | |
Yu et al. | NF-atlas: Multi-volume neural feature fields for large scale lidar mapping | |
Tretschk et al. | Scenerflow: Time-consistent reconstruction of general dynamic scenes | |
US20240013497A1 (en) | Learning Articulated Shape Reconstruction from Imagery | |
Kulikajevas et al. | Adversarial 3D human pointcloud completion from limited angle depth data | |
US11900558B2 (en) | Reconstructing three-dimensional models of objects from real images based on depth information | |
Wang et al. | Monocular human pose and shape reconstruction using part differentiable rendering | |
CN115965765A (zh) | 一种基于神经变形的可变形场景中人体运动捕捉方法 | |
CN115359508A (zh) | 通过专家的神经元优化以提高的效率执行复杂优化任务 | |
Ghanem et al. | Modeling dynamic swarms |
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 |