CN115359508A - 通过专家的神经元优化以提高的效率执行复杂优化任务 - Google Patents
通过专家的神经元优化以提高的效率执行复杂优化任务 Download PDFInfo
- Publication number
- CN115359508A CN115359508A CN202210869771.9A CN202210869771A CN115359508A CN 115359508 A CN115359508 A CN 115359508A CN 202210869771 A CN202210869771 A CN 202210869771A CN 115359508 A CN115359508 A CN 115359508A
- Authority
- CN
- China
- Prior art keywords
- expert
- output
- computing system
- generate
- optimized
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/809—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
示例***通过专家的神经元优化以提高的效率执行复杂优化任务。特别是,提供了一种机器学习框架,其中元优化神经网络可以学习融合专家集合以提供预测的解决方案。具体地,元优化神经网络可以学习预测复杂优化处理的输出,其优化专家集合的输出以产生优化输出。以这种方式,元优化神经网络可以在训练后被用于代替复杂优化处理,以从专家那里产生综合解决方案,从而实现更快的数量级和计算上更有效的预测或问题解决方案。
Description
优先权要求
本申请基于申请日为2021年7月21日的美国临时申请63/224,079并要求其优先权,该申请的全部内容通过引用并入本文。
技术领域
本公开通常涉及机器学习。更具体地,本公开涉及通过专家的神经元优化以提高的效率执行复杂优化任务。
背景技术
从计算机科学和工程到运筹学等许多学科都出现了优化问题。在最简单的情况下,优化问题包括通过从允许的集合中***地选择输入值并计算函数的值来最大化或最小化实际函数。将优化理论和技术推广到其他公式构成了应用数学的一个大领域。更一般地,优化包括在给定定义域(或输入)的情况下找到某些目标函数的“最佳可用”值,包括各种不同类型的目标函数和不同类型的域。
在一些示例中,研究人员可以使用迭代优化技术来收敛到解决方案(在某些特定类别的问题上)或启发式优化技术,可以为某些问题提供近似解决方案(尽管它们的迭代不需要收敛)。在一些示例中,可以使用可以被称为“求解器”的某些程序或方法来执行或“求解”优化技术。
通常,任何非无关紧要问题的优化技术在计算上都非常复杂,需要在相当长的一段时间内使用大量的计算能力。这种计算复杂性将优化技术的应用限制在某些问题或计算资源有限和/或延迟是关键的某些设置中。这种性质的一个示例设置是在典型的移动或嵌入式设备上,这些设备具有有限的计算资源,诸如处理器能力和/或存储器,并且延迟通常是用户采用的驱动因素。
发明内容
本发明实施例的方面和优点将在下面的描述中部分阐述,或者可以从描述中获知,或者可以通过实施实施例的实践来获知。
本公开的一个示例方面涉及一种用于以提高的效率或准确性执行复杂优化任务的计算机实现的方法。所述方法包括:通过包括一个或多个计算设备的计算***获得一组输入数据。所述方法包括通过计算***利用一个或多个现有专家模型处理输入数据以生成一个或多个专家输出。所述方法包括通过计算***利用元优化神经网络处理一个或多个专家输出以生成预测输出。所述方法包括通过计算***对一个或多个专家输出执行优化技术以生成优化输出。所述方法包括通过计算***至少部分地基于将预测输出与优化输出进行比较的损失函数来修改元优化神经网络的一个或多个可学习参数。
本公开的另一个示例方面涉及一种计算***。所述计算***包括一个或多个处理器;以及一个或多个非暂时性计算机可读介质,共同存储指令,当指令由一个或多个处理器执行时,使计算***执行操作。所述操作包括获取一组输入数据。所述操作包括利用一个或多个现有专家模型处理输入数据以生成一个或多个专家输出。所述操作包括利用元优化神经网络处理一个或多个专家输出以生成预测输出。元优化神经网络已经被训练为通过相对于优化输出执行监督学习方法来生成预测输出,优化输出是对由一个或多个现有专家模型生成的初始输入执行优化技术而生成的。
本公开的另一个示例方面涉及一个或多个非暂时性计算机可读介质,共同存储指令,当指令由一个或多个处理器执行时,使计算***执行操作。所述操作包括通过计算***获得描绘场景的多个图像。所述操作包括通过计算***利用一个或多个现有专家模型处理多个图像,以生成在多个图像中检测到的多个特征。所述操作包括通过计算***利用元优化神经网络处理多个图像以生成预测输出。预测输出包括多个图像相对于场景的预测几何形状。所述操作包括通过计算***对多个特征执行捆绑调整技术以生成优化输出,其中优化输出包括多个图像相对于场景的优化几何形状。所述操作包括通过计算***至少部分地基于将多个图像相对于场景的预测几何形状与多个图像相对于场景的优化几何形状进行比较的损失函数来修改元优化神经网络的一个或多个可学习参数。
本公开的其他方面针对各种***、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。被并入并构成本说明书一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1描绘根据本公开的示例实施例的用于训练神经元优化器的示例训练处理的框图。
图2描绘根据本公开的示例实施例的利用训练的神经元优化器的示例推断处理的框图。
图3示出根据本公开的示例实施例如何训练可以聚合多个单视图方法的输出的神经网络。
图4示出根据本公开的示例实施例的具有在给定多视图观察的情况下回归等边三角形的3D顶点的简单2D示例的示例方法。
图5示出根据本公开的示例实施例的用于初始化的示例方法。
图6示出根据本公开的示例实施例的用于细化的示例方法。
图7示出根据本公开的示例实施例的示例模型架构。
图8A描绘根据本公开的示例实施例的示例计算***的框图。
图8B描绘根据本公开的示例实施例的示例计算设备的框图。
图8C描绘根据本公开的示例实施例的示例计算设备的框图。
跨多个附图重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
概述
通常,本公开涉及通过专家的神经元优化以提高的效率执行复杂优化任务。特别地,本公开的示例方面提供了一种机器学习框架,其中元优化神经网络可以学习融合专家集合以提供预测的解决方案。具体地,元优化神经网络可以学习预测复杂优化处理的输出,其对专家集合的输出进行优化以产生优化输出。以这种方式,元优化神经网络可以在训练后用于代替复杂优化处理以从专家那里产生综合解决方案,从而得到数量级更快和计算更有效的预测或问题解决方案和/或更准确的解决方案。
具体地,在一些实现方式中,神经优化器可以学习数据先验以规范非基于学习的优化器可能无法利用的解决方案。此外,元优化器可以有效地结合专家输出中的不确定性,并使用数据中的先验纠正专家输出中的错误,这是优化器可能无法做到的。
为了提供一个示例用例(其中有很多),所提出的***和方法可以被应用于执行人体姿态作为神经网络中的捆绑调整(也可以称为“神经捆绑调整”)。更具体地,给定描绘来自不同视点的多个3D点的图像的集合,捆绑调整可以被定义为同时细化描述场景和/或相机的3D坐标的问题。当如本文所述应用于人体姿态时,描述场景的3D坐标可以被参数化为在图像中描绘的人体上的关键点(例如,关节位置)。捆绑调整技术通常包括执行计算要求相对较高的优化处理,其中迭代地调整图像的3D坐标和/或视点以最大化一致性。
为了继续将所提出的元优化方法应用于此示例用例,可以首先将图像提供给现有专家模型的集合。例如,专家模型可以是现有的/预训练的机器学习模型,诸如对象检测模型、关键点检测模型(例如,以每个关节的概率热图的形式)、姿态估计模型等。专家模型还可以包括产生初始但非最佳输出的各种启发式和/或算法。
可以执行优化技术以从专家集合生成的专家输出中生成优化输出。作为给定用例的一个示例,人体姿态(例如3D姿态)和相机视点位置可以迭代优化以最大化重新投影点的可能性。例如,可以迭代地应用梯度下降来生成优化的输出(例如,最佳人体姿态)。
为了训练元优化神经网络,元优化神经网络可以处理专家集合产生的专家输出以产生预测输出(例如,预测的人体姿态)。损失函数(例如,“教师损失”)可以将优化输出与预测输出进行比较以生成损失信号。损失函数可以通过元优化神经网络进行反向传播,以修改(例如,迭代优化)元优化神经网络的参数。
当可用时,神经网络可以另外地或可选地使用真值(ground truth)输出(例如,真值人体姿态,诸如真值2D和/或3D姿态数据)进行训练。例如,损失(例如,“真值损失”或“重投影损失”)可以将预测输出(例如,预测输出的投影)与真值输出进行比较。损失函数可以通过元优化神经网络进行反向传播,以修改(例如,迭代优化)元优化神经网络的参数。
以这种方式,元优化神经网络可以被训练来预测复杂优化处理的输出,从而在训练时能够替换复杂优化处理。特别是,当被应用于神经人体姿态捆绑调整的示例用例时,所提出的框架可以训练神经模型以执行准确的3D(人体)姿态和相机估计,同时考虑到来自多个视图的遮挡导致的关节位置不确定性,以及只需要2D关键点数据进行训练。
除了上述损失项之外,所提出框架的另一个模块化方面使得能够包含任意数量的附加损失项,对关于输出的任意数量的先验进行编码(例如,关于输出的结构、输出的大小等)。为了为上述示例用例提供一个示例,可以使用附加损失项,编码有关骨长的先验知识(例如,人的骨长总体或图像中描绘的人的骨长)。因此,例如,损失项可能会对偏离可接受骨长度范围的后预测产生不利影响
所提出的对专家集合的神经元优化提供了许多技术效果和好处。作为一个示例技术效果,一旦经过训练,就可以使用元优化神经网络,而不是计算复杂的优化处理(例如,作为其替代品)。这导致诸如处理器使用、存储器使用和/或网络带宽的计算资源的节约。
作为另一示例技术效果和好处,所提出的元优化方法在设计上是高度模块化的。特别是,如果且当新专家可用时(例如,由于基础技术的进步和/或新可用的数据集),新的专家模型变得可用,则可以简单地将新专家添加到专家集合中,并且可以重新训练(例如,微调)元优化神经网络,以考虑新专家提供的专家输出。
同样,所提出的框架还可以实现更快的训练,因为只需要在良好的专家模型之上学习元优化器神经网络。因此,整个流水线不需要一次性进行端到端的训练。相反,可以利用高性能专家模型的存在,只训练元优化模型,这可以导致更快的训练,并相应地节省计算资源,诸如减少处理器使用、存储器使用、网络带宽消耗等。
作为另一个示例技术效果和好处,所提出的框架有助于包含任意数量的损失项,这些损失项对预测输出的任意数量的先验进行编码。通过包含这些先验,可以更快地收敛到最佳解决方案,这可以导致更快的训练,并相应地节省计算资源,诸如减少处理器使用、存储器使用、网络带宽消耗等。
现在参考附图,将更详细地讨论本公开的示例实施例。
示例模型配置
图1描绘了根据本公开的示例实施例的用于训练神经元优化器的示例训练处理的框图。具体地,如图1所示,计算***可以获得一组输入数据12。该组输入数据12可以是任何形式的输入数据,包括图像数据、文本数据、音频数据等。
计算***可以利用一个或多个现有专家模型14、16、18处理输入数据12以生成一个或多个专家输出20。专家模型14、16、18可以是任何形式的专家方法,诸如先前训练的机器-学习模型、已知启发式、已知算法和/或其他特征提取方法。
计算***可以利用元优化神经网络22处理一个或多个专家输出20以生成预测输出26。
计算***还可以对一个或多个专家输出20执行优化技术24以生成优化输出28。作为一个示例,优化技术24可以是迭代最小化或最大化技术。作为进一步的示例,优化技术24可以是或包括以下中的一项或多项:线搜索方法;信任区域方法;截断牛顿法;差分近似;准牛顿法;非线性共轭梯度法;非线性单纯形法;非线性最小二乘法;有界约束优化;线性规划;二次规划;非线性规划、半无限规划等。
计算***可以至少部分地基于将预测输出26与优化输出24进行比较的损失函数30来修改元优化神经网络22的一个或多个可学习参数。例如,计算***可以反向传播32损失函数30来训练网络22。在一些实现中,损失函数30还可以包括对优化输出28的一个或多个先验进行编码的一个或多个损失项。
在一些实现方式中,输入数据12可以包括随时间的输入序列。在这样的实现方式中,一个或多个专家输出20可以包括一个或多个现有专家从随时间的输入序列分别随时间生成的专家输出序列。在另一示例中,一个或多个专家输出20可以包括一个或多个超先验。
作为图1所示框架的一个示例应用,在一些实现方式中,输入数据12可以包括描绘场景的多个图像(例如,单目图像);一个或多个专家输出20可以包括在多个图像中检测的多个特征;并且执行优化技术可以包括对多个特征执行捆绑调整技术以生成优化输出28。例如,优化输出28可以包括多个图像相对于场景的几何形状。
在另一个示例中,图像可以描绘对象;一个或多个专家输出可以是对象的初始预测姿态;预测输出可以是对象的最终预测姿态;优化输出可以是对象的细化姿态。
在又一示例中,对象可以是人体,并且人体的初始预测姿态、最终预测姿态和细化姿态是使用关节位置参数化的。
在另一个示例中,场景可以包括任意数量的对象,并且输入数据可以是LiDAR数据、RADAR数据和/或其他形式的图像或3D数据。在一些这样的实现方式中,预测输出26和优化输出28可以是场景的捆绑调整点云。
在一些实现方式中,一个或多个专家输出20可以具有与优化输出28和预测输出26相同的数据结构。因此,在这样的实现方式中,优化技术24可以细化专家输出20而不是生成新数据结构。
尽管在本公开中给出了捆绑调整作为一个示例,但是所提出的框架可以应用于许多不同的问题。作为一个示例,优化技术可以是对象跟踪技术。作为另一示例,优化技术可以是分割技术。作为又一示例,优化技术可以是阴影造型技术。
图2描绘了根据本公开的示例实施例的利用训练的神经元优化器22的示例推断处理的框图(例如,在如图1所示的训练之后)。
特别地,如图2所示,计算***可以获得一组输入数据212。该组输入数据212可以是任何形式的输入数据,包括图像数据、文本数据、音频数据等。
计算***可以利用一个或多个现有专家模型14、16、18处理输入数据212以生成一个或多个专家输出220。专家模型14、16、18可以是任何形式的专家方法,诸如先前训练的机器-学习模型、已知启发式、已知算法和/或其他特征提取方法。
计算***可以利用训练的元优化神经网络22处理一个或多个专家输出220以生成预测输出226。
三维姿态的示例应用
本文提供的一般***和方法的一个示例应用是在没有三维(3D)监督的情况下从多个视图进行3D发布。为了说明的目的,现在将详细讨论已经修改以适合该示例应用的本公开的示例实现。本公开的***和方法不限于该示例应用。
更具体地,在深度学习时代,来自多个未知校准的相机的人体姿态估计迄今为止很少受到关注。本节展示如何训练神经模型以高精度和最小延迟开销执行此任务。所提出的模型考虑了由于来自多个视图的遮挡导致的关节位置不确定性,并且只需要2D关键点数据进行训练。所提出的方法在完善的Human3.6M数据集以及更具挑战性的野外滑雪姿态PTZ数据集上优于经典的捆绑调整和弱监督单目3D基线。
三维姿态实现概述
示例实现方式解决了从使用具有未知位置、方向和内在参数的同步(可能移动)相机捕获的RGB图像中估计人体关节的3D坐标的问题。示例实现方式还假设可以访问训练集,仅在捕获的图像上标记了关节的2D位置。
从历史上看,人体3D姿态的实时捕获只有能够负担得起昂贵的专业动作捕获设备的大型企业才能进行。原则上,如果相机校准可用,则可以直接从相机空间观察中对人体关节进行三角测量。无法轻松估计相机校准的一种情况是运动捕获,其中在低纹理背景前捕获球员的特写镜头,使用宽基线、移动相机。纯背景排除了校准,因为无法跨视图检测到足够多的特征对应。
本公开的各个方面提出了一种神经网络以同时从多个视图预测3D人类和相对相机姿态;参见图3。所提出的方法使用人体关节作为相机校准的信息源。由于关节经常被遮挡,因此必须仔细考虑不确定性,以避免错误的校准和随之而来的错误3D姿态预测。由于在测试时可能存在同步的多相机设置,因此所提出的算法还应该能够有效地聚合来自不同视角的信息。最后,所提出的方法仅由2D注释监督,因为3D数据的真值注释难以处理。如下所述,现有的方法都不能完全满足这些基本要求。
完全监督的3D姿态估计方法产生最低的估计误差,但在训练或训练和推断期间使用已知的3D相机规范。然而,3D关节注释和野外全相机校准的高成本使得难以获得代表特定环境的足够大的标记数据集,因此导致监督方法不适用于此设置。
单目3D方法以及2D到3D提升网络放宽了数据约束,以便仅使用多视图2D数据进行3D姿态推断,而无需在训练时进行校准。不幸的是,在推断时,这些方法一次只能应用于单个视图,因此无法利用跨视图信息和不确定性。
用于3D姿态估计的经典SfM(来自运动的结构)方法从嘈杂的2D观察中迭代地细化相机和3D姿态。然而,这些方法通常比它们的神经对应物慢得多,因为它们必须在推断过程中执行几个优化步骤。此外,他们中的大多数都没有考虑不确定性估计,导致性能低于标准。
为了克服这些限制,本公开提出了一种用于3D姿态估计的方法,跨多个视图聚合姿态预测和不确定性估计,在训练和推断时间都不需要3D关节注释或相机参数,并且向所得流水线添加非常少的延迟。
具体地,图3显示了如何训练神经网络,该神经网络可以聚合多个单视图方法的输出,考虑预测不确定性,具有最小延迟开销,并且只需要2D监督进行训练。所提出的方法模仿了捆绑调整求解器的结构,但使用人体的关节来驱动相机校准,并通过简单的前馈神经网络实现类捆绑求解器。
总体而言,提供了一种前馈神经架构,可以从多个视图准确估计3D人体姿态和相关相机配置,同时考虑到关节遮挡和预测不确定性,并且仅使用2D关节注释进行训练。一些示例实现方式采用现成的弱监督3D网络来形成关于姿态和相机设置的初始猜测,以及使用现成2D姿态估计网络生成的2D关节位置概率热图迭代细化该猜测的神经元优化器。这种模块化方法不仅产生低估计误差,从而在Human3.6M和Ski-Pose PTZ上产生最先进的结果,而且还具有低延迟,因为我们框架内的推断作为前馈神经网络执行。
三维姿态实现的详细讨论
图4示出一个示例方法,其中包含一个简单的2D示例,该示例在给定多视图观察的情况下回归等边三角形的3D顶点。一些示例技术(左)执行经典捆绑调整,以识别最大限度地减少对输入图像上2D地标的重投影误差的相机位置和3D顶点,所提出的技术通过元优化器以“神经”方式模拟经典捆绑调整:首先(中间),EpipolarPose(Muhammed Kocabas、SalihKaragoz和Emre Akbas,Self-supervised learning of 3d human pose using multi-view geometry,在2019年6月举行的IEEE计算机视觉和模式识别会议(CVPR)上)神经网络获得关节的每帧3D估计,我们通过procrustes共同对齐以估计3D相机和3D关节的初始化;然后(右),神经网络元优化器使用每个视图关键点定位热图作为输入,执行捆绑调整并细化关节和相机二者。额外的先验信息,诸如三角形等边的事实,可以优雅地被集成到元优化器训练中。
还观察到:
并且假设,在训练时,我们被提供:[leftmargin=*]
K={kj,c}:相机cc中关节jj投影的真值2D位置。
贝叶斯模型。形式上,假设热图仅通过2D关键点位置(即p(H|K,J,C)=p(H|K))依赖于相机参数和关节位置J,则联合分布可以被分解为:
p(J,C,K,H)=p(H|K)p(K|J,C)p(J)p(C) (1)
假设关节和关键点通过以下方式相关:
其中,δ是狄拉克分布,π(j,c)将关节j投影到相机c中的二维坐标。示例实现使用弱投影相机模型,因此,每个相机由旋转矩阵R、像素移位向量t和单个尺度参数s(即c=[R,t,s])的元组定义,并且投影算子被定义为π(j,(R,t,s))=s·I[0:1]·R·j+t,其中I[0:1]是截断的单位矩阵,它丢弃了相乘向量的第三维。相机模型的这种选择简化了从单视图估计(第3.2节)中初始化相机参数,并消除了焦距与相机距离的模糊性。在第5节中,我们通过实验展示了最终误差的哪一部分来自该相机模型。
推断任务。然后推断任务是从观察到的热图H中估计J和C。我们首先引入概率捆绑调整公式来处理关节位置的不确定性,然后提出回归模型,对关节位置和观察到的热图之间的复杂交互进行建模。整个推断任务可以被定义为在给定观察到的热图的情况下找到姿态和相机参数的后验概率的最大值,并在可能的关键点位置上边缘化:
其中,假设没有给出关于相机参数、关键点位置和姿态的先验信息(即常数p(C)、p(k)和p(J))并使用(2)我们得到:
此外,假设每个关键点kc,j仅受对应的热图hc,j影响,更具体地,条件概率密度与热图的对应值成正比:
p(kj,c|H)=p(kj,c|hj,c)∝hj,c[kj,c] (5)
我们得到概率捆绑调整问题:
如果假设每个关键点可以通过以下函数关系受到任何热图的影响,则可以实现更好的估计精度和更快的推断时间,直至正态分布的残差:
然后,测试时间推断简化为在给定热图中对回归模型的评估:
直观地说,参数化目标可以实现所有观察到的热图和所有预测的关节位置之间的复杂交互。由此产生的模型在速度和准确性二者方面都优于概率捆绑调整。
求解器。为了解决(9)中的高度非凸问题,并有效地解决问题,我们采用模块化两阶段方法;例如,请参见图3和图4。
一些示例实现首先使用相机配置的单视图3D姿态估计获取初始猜测(Jinut,Cinut),并通过将刚性对齐应用于使用预训练的弱监督单视图3D网络获得的每视图3D姿态估计来获取3D姿态。
然后一些示例实现训练神经网络fθ来预测相机和姿态的一系列细化步骤,从初始猜测开始,以便优化(9)。
优点。这种方法有几个关键优势:
1.在给定多视图热图的情况下,从高度非凸姿态似然目标的正确区域开始,用“足够好”的猜测来启动细化阶段;
2.提供了一个模块化框架,使我们能够每当有更好的方法可用时将交换单视图2D和3D预先训练的模块,而无需重新训练整个流水线;
3.神经优化器的推断速度比经典迭代优化快几个数量级,并允许在相同的相干计算框架内编写整个框架(即神经网络与神经网络加经典优化)。
示例预处理方法
假设我们可以访问2D姿态估计模型(例如PoseNet),其为来自RGB图像的每个关节j生成2D定位热图hj,c。我们用球形高斯gj,c的M分量混合来近似每个热图hj,c。这种压缩格式降低了对神经优化器的输入的维度。为了将球形高斯混合的参数gj,c拟合到定位2D直方图hj,c,我们将热图视为由对应概率加权的常规样本网格,并应用加权EM算法(DanielFrisch and Uwe D.Hanebeck,Gaussian mixture estimation from weighted samples,2021)直接到加权样本,如补充第8.2节所述。
单视图姿态估计:为了通过刚性对齐(第3.2节)初始化相机参数,我们需要在没有3D监督的情况下训练的单图像3D姿态估计模型(例如EpipolarPose),给定来自该相机的图像它产生每个相机的粗略3D姿态估计Q={qc,j}。假设这些单图像估计qc,j在相机帧中,这意味着qc,j的前两个空间坐标对应于图像上关节j的像素坐标,并且第三个坐标对应于其单图像相对零平均深度估计。
示例初始化方法
图5显示了初始化示例方法——我们通过使用外部单视图弱监督3D姿态估计网络从每个RGB图像估计的刚性对齐3D姿态的平均值来形成3D姿态和相机的初始猜测。
更具体地,这个阶段的目标是通过在没有3D监督的情况下训练的模型使用单视图粗略相机帧3D姿态估计Q获得3D姿态和相机(Jinit,Cinit)的初始猜测。我们假设第一相机的初始参数是固定的,
并将其余相机的旋转、缩放和平移的初始估计定义为以下正交刚性对齐问题的解决方案:
可以使用以均值为中心的3D姿态的外积的SVD来解决。然后,3D姿态Jinit的初始猜测是单视图3D姿态预测Q的平均值,单视图3D姿态预测Q通过对应的估计最佳旋转、缩放和移位被刚性对齐回第一相机帧:
示例细化方法
图6显示了细化的示例方法-一些示例实现训练神经优化器fθ以预测迭代细化,使用当前猜测和关节热图作为输入,通过真值重投影最小化重投影误差。在推断过程中,我们不需要真值2D投影。
一些示例实现训练神经网络fθ以预测对3D姿态和相机估计的一系列更新,从而导致来自第3.2节的从初始化开始的细化估计:
J(i+1)=J(i)+dJ(i),J(0)=Jinit (14)
C(i+1)=C(i)+dC(i),C(0)=Cinit. (15)
为了确保推断的相机参数C在网络预测的任何更新C下保持有效,相机比例(始终为正)以对数比例表示,相机旋转使用连续6D表示[50]。
·(J(i),C(i))–当前待细化的估计;
·G={gj,c}–紧凑地表示热图密度分布的高斯混合集合;
这些学习更新旨在最小化每帧中关键点的预测和真值2D坐标之间的L2距离,反映之前定义的最大似然目标(9):
示例模型架构
图7显示了一个示例模型架构。为了使预测更新尊重手头问题的对称性,一些示例实现将视图不变输入(当前姿态估计、平均热图可能性-虚线)复制并级联到每行的视图特定输入(当前摄像机和关节投影、热图),并将其通过上面所示的置换等变MLP块传递。为了获得置换不变的最终姿态更新,我们另外将MLP应用于平均输出姿态嵌入。
更具体地,可以非常仔细地设计的架构以尊重手头问题的对称性。对J(i+1)的推断更新应该对相机的顺序是不变的,而对C(i+1)的更新应该是关于C(i)的当前估计值、K(i)行和高斯混合G置换等变的。形式上,对于相机σ的任何输入和置换:
一些示例实现可以保证J=J′且C=C′σ。为了归档这个,我们将视图不变的输入J(i)和级联到每行的视图相关的输入C(i),G,K(i),通过置换等变MLP传递它们,其中,聚合层将特征向量的第一和第二时刻级联回这些特征向量,并且,应用平均聚合和非置换等变MLP来获得最终的姿态更新,如图7所示。
姿态先验(即“骨长”实验)
所提出的解决方案的模块化可以通过在所提出的元优化器中毫不费力地注入特定于主题的骨长来说明。给定人体骨骼ε中通过边e=(n,m)连接的两个关节jn和jm,我们定义骨长be(J)=||jn-jm||2。然而,由于我们的捆绑调整是按比例执行的,所以我们还可以通过表示每个骨骼的长度相对于其他骨骼的平均长度来定义比例不变的骨长 如果我们假设在训练和推断过程中我们观察到嘈杂的归一化骨长向量B=bN(J)+ε,其中然后,联合概率(1)变为:
p(J,C,K,H,B)=p(B|J)p(H|K)p(K|J,C)p(J)p(C)
并且,我们的参数似然(7)变成:
并且其参数θ可以通过p(K,H,B|θ)上的最大值使用训练期间可用的p(K,H,B)的观察值等价地被估计为(9),有效地导致额外的损失项,惩罚从提供的骨长导出的预测姿态的骨长:
示例设备和***
图8A描绘根据本公开的示例实施例的示例计算***100的框图。***100包括通过网络180通信耦合的用户计算设备102、服务器计算***130和训练计算***150。
用户计算设备102可以是任何类型的计算设备,例如个人计算设备(例如膝上型电脑或台式机)、移动计算设备(例如智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器、等)并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储由处理器112执行以使用户计算设备102执行操作的数据116和指令118。
在一些实现方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以是或者可以包括各种机器学习模型,例如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。一些示例机器学习模型可以利用注意力机制,诸如自注意力。例如,一些示例机器学习模型可以包括多头自注意力模型(例如,transformer模型)。参考图1-2讨论示例机器学习模型120。
在一些实现方式中,一个或多个机器学习模型120可以通过网络180从服务器计算***130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实现方式中,用户计算设备102可以实现单个机器学习模型120的多个并行实例(例如,跨多个专家集合执行并行元优化)。
附加地或可选地,一个或多个机器学习模型140可以被包括在服务器计算***130中或以其他方式存储和实现,服务器计算***130根据客户端-服务器关系与用户计算设备102通信。例如,机器学习模型140可以由服务器计算***140实现为web服务(例如,元优化服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实现,和/或一个或多个模型140可以在服务器计算***130处存储和实现。
用户计算设备102还可以包括一个或多个接收用户输入的用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以提供用户输入的其他方式。
服务器计算***130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132执行以使服务器计算***130执行操作的数据136和指令138。
在一些实现方式中,服务器计算***130包括一个或多个服务器计算设备,或者由一个或多个服务器计算设备实现。在服务器计算***130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或它们的某种组合来操作。
如上所述,服务器计算***130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或可以包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。一些示例机器学习模型可以利用注意力机制,例如自注意力。例如,一些示例机器学习模型可以包括多头自注意力模型(例如,transformer模型)。参考图1-2讨论示例模型140。
用户计算设备102和/或服务器计算***130可以通过与通过网络180通信耦合的训练计算***150的交互来训练模型120和/或140。训练计算***150可以与服务器计算***130分离或可以是服务器计算***130的一部分。
训练计算***150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器154可以存储由处理器152执行以使训练计算***150执行操作的数据156和指令158。在一些实现方式中,训练计算***150包括或以其他方式由一个或多个服务器计算设备实现。
训练计算***150可以包括模型训练器160,使用各种训练或学习技术(例如,误差的反向传播)训练存储在用户计算设备102和/或服务器计算***130处的机器学习模型120和/或140。例如,可以通过模型反向传播损失函数以更新模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术可用于在多次训练迭代中迭代更新参数。
在一些实现方式中,执行错误的反向传播可以包括随时间执行截断的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢失等)以提高被训练模型的泛化能力。
特别地,模型训练器160可以基于一组训练数据162训练机器学习模型120和/或140。在一些实现方式中,如果用户已经提供同意,则训练示例可以由用户计算设备102提供。因此,在这种实现方式中,提供给用户计算设备102的模型120可以由训练计算***150根据从用户计算设备102接收的用户特定数据进行训练。在某些情况下,此过程可以称为个性化模型。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以在硬件、固件和/或控制通用处理器的软件中实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括一组或多组计算机可执行指令,这些指令存储在诸如RAM、硬盘或光学或磁性介质的有形计算机可读存储介质中。
网络180可以是任何类型的通信网络,例如局域网(例如,内联网)、广域网(例如,互联网),或者它们的某种组合,并且可以包括任何数量的有线或无线链路。通常,网络180上的通信可以通过任何类型的有线和/或无线连接,使用多种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如VPN、安全HTTP、SSL)。
本规范中描述的机器学习模型可用于各种任务、应用程序和/或用例。这些模型可能包括专家模型和元优化神经网络。在一些示例中,专家模型可能都对共同的输入进行操作。然而,专家模型可以提供不同类型的输出(例如,一个可以充当图像分类器,而另一个可以充当生成放大的图像数据),而元优化神经网络可以生成第三种类型的预测输出(例如如上所述的3D姿态估计)。
在一些实现方式中,本公开的机器学习模型的输入可以是图像数据。机器学习模型可以处理图像数据以生成输出。例如,机器学习模型可以处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的哈希值等)。作为另一个示例,机器学习模型可以处理图像数据以生成图像分割输出。作为另一个示例,机器学习模型可以处理图像数据以生成图像分类输出。作为另一个示例,机器学习模型可以处理图像数据以生成图像数据修改输出(例如,图像数据的变更等)。作为另一个示例,机器学习模型可以处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一个示例,机器学习模型可以处理图像数据以生成放大的图像数据输出。作为另一个示例,机器学习模型可以处理图像数据以生成预测输出。
在一些实现方式中,对本公开的机器学习模型的输入可以是文本或自然语言数据。机器学习模型可以处理文本或自然语言数据以生成输出。例如,机器学习模型可以处理自然语言数据以生成语言编码输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成翻译输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成分类输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成文本分割输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成语义意图输出。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成放大的文本或自然语言输出(例如,比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一个示例,机器学习模型可以处理文本或自然语言数据以生成预测输出。
在一些实现方式中,对本公开的机器学习模型的输入可以是语音数据。机器学习模型可以处理语音数据以生成输出。例如,机器学习模型可以处理语音数据以生成语音识别输出。作为另一个示例,机器学习模型可以处理语音数据以生成语音翻译输出。作为另一个示例,机器学习模型可以处理语音数据以生成潜在嵌入输出。作为另一个示例,机器学习模型可以处理语音数据以生成编码语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一个示例,机器学习模型可以处理语音数据以生成放大的语音输出(例如,比输入语音数据质量更高的语音数据等)。作为另一个示例,机器学习模型可以处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一个示例,机器学习模型可以处理语音数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入可以是潜在编码数据(例如,输入的潜在空间表示等)。机器学习模型可以处理潜在编码数据以生成输出。例如,机器学习模型可以处理潜在编码数据以生成识别输出。作为另一个示例,机器学习模型可以处理潜在编码数据以生成重建输出。作为另一个示例,机器学习模型可以处理潜在编码数据以生成搜索输出。作为另一个示例,机器学习模型可以处理潜在编码数据以生成重新聚类输出。作为另一个示例,机器学习模型可以处理潜在编码数据以生成预测输出。
在一些实现方式中,对本公开的机器学习模型的输入可以是统计数据。统计数据可以是、表示或以其他方式包括从一些其他数据源计算和/或计算的数据。机器学习模型可以处理统计数据以生成输出。例如,机器学习模型可以处理统计数据以生成识别输出。作为另一个示例,机器学习模型可以处理统计数据以生成预测输出。作为另一个示例,机器学习模型可以处理统计数据以生成分类输出。作为另一个示例,机器学习模型可以处理统计数据以生成分割输出。作为另一个示例,机器学习模型可以处理统计数据以生成可视化输出。作为另一个示例,机器学习模型可以处理统计数据以生成诊断输出。
在一些实现方式中,本公开的机器学习模型的输入可以是传感器数据。机器学习模型可以处理传感器数据以生成输出。例如,机器学习模型可以处理传感器数据以生成识别输出。作为另一个示例,机器学习模型可以处理传感器数据以生成预测输出。作为另一个示例,机器学习模型可以处理传感器数据以生成分类输出。作为另一个示例,机器学习模型可以处理传感器数据以生成分割输出。作为另一个示例,机器学习模型可以处理传感器数据以生成可视化输出。作为另一个示例,机器学习模型可以处理传感器数据以生成诊断输出。作为另一个示例,机器学习模型可以处理传感器数据以生成检测输出。
在一些情况下,机器学习模型可以被配置为执行包括编码输入数据以用于可靠和/或高效传输或存储(和/或相应解码)的任务。例如,任务可以是音频压缩任务。输入可以包括音频数据并且输出可以包括压缩音频数据。在另一个示例中,输入包括视觉数据(例如,一个或多个图像或视频),输出包括压缩的视觉数据,并且任务是视觉数据压缩任务。在另一个示例中,任务可以包括为输入数据(例如,输入音频或视频数据)生成嵌入。
在某些情况下,输入包括视觉数据并且任务是计算机视觉任务。在某些情况下,输入包括一个或多个图像的像素数据,并且任务是图像处理任务。例如,图像处理任务可以是图像分类,其中输出是一组分数,每个分数对应于不同的对象类别并表示一个或多个图像描绘属于该对象类别的对象的可能性。图像处理任务可以是对象检测,其中图像处理输出识别一个或多个图像中的一个或多个区域,并且对于每个区域,该区域描绘感兴趣对象的可能性。作为另一示例,图像处理任务可以是图像分割,其中图像处理输出为一个或多个图像中的每个像素定义一组预定类别中的每个类别的相应可能性。例如,类别集可以是前景和背景。作为另一个示例,该组类别可以是对象类别。作为另一示例,图像处理任务可以是深度估计,其中图像处理输出为一个或多个图像中的每个像素定义相应的深度值。作为另一个示例,图像处理任务可以是运动估计,其中网络输入包括多个图像,并且图像处理输出为输入图像之一的每个像素定义了在网络输入中的图像之间的像素处描绘的场景的运动。
在某些情况下,输入包括表示口头话语的音频数据,并且任务是语音识别任务。输出可以包括映射到口语话语的文本输出。在某些情况下,任务包括加密或解密输入数据。在某些情况下,该任务包括微处理器性能任务,例如分支预测或存储器地址转换。
通常,上面提到的输入可以提供给专家模型,尽管它们也可以可选地提供给元优化神经网络。上面提到的任务可以通过专家模型和元优化神经网络的组合来执行,这样预测的输出就可以作为该任务的结果。中间输出,诸如来自专家模型本身的输出,可以用于执行相同的任务或与上述其他任务一起执行。
图8A示出可以用于实现本公开的一个示例计算***。也可以使用其他计算***。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,模型120可以在用户计算设备102本地被训练和使用。在一些这样的实现方式中,用户计算设备102可以实现模型训练器160以基于用户特定数据个性化模型120。
图8B描绘根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用程序(例如,应用程序1到N)。每个应用程序都包含自己的机器学习库和机器学习模型。例如,每个应用程序都可以包含机器学习模型。示例应用程序包括文本消息应用程序、电子邮件应用程序、听写应用程序、虚拟键盘应用程序、浏览器应用程序等。
如图8B所示,每个应用程序可以与计算设备的多个其他组件通信,诸如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,每个应用程序可以使用API(例如,公共API)与每个设备组件通信。在一些实现方式中,每个应用程序使用的API特定于该应用程序。
图8C描绘根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1到N)。每个应用都与一个中央智能层进行通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用API(例如,跨所有应用的通用API)与中央智能层(和存储在其中的模型)通信。
中央智能层包括许多机器学习模型。例如,如图8C所示,可以为每个应用提供相应的机器学习模型,并由中央智能层管理。在其他实现方式中,两个或更多应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型。在一些实现方式中,中央智能层被包括在计算设备50的操作***内或以其他方式由计算设备50的操作***实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的数据集中存储库。如图8C所示,中央设备数据层可以与计算设备的许多其他组件通信,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
附加公开
本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的***,以及所采取的行动和发送到这些***和从这些***发送的信息。基于计算机的***固有的灵活性允许在两个组件之间和多个组件之间对任务和功能进行多种可能的配置、组合和划分。例如,本文讨论的处理可以使用单个设备或组件或多个组合工作的设备或组件来实现。数据库和应用程序可以在单个***上实现,也可以分布在多个***上。分布式组件可以按顺序或并行运行。
尽管已经针对本主题的各种具体示例实施例详细描述了本主题,但是每个示例是通过解释而不是对本公开的限制来提供的。本领域技术人员在获得对前述内容的理解后,可以容易地产生对这些实施例的改变、变化和等同物。因此,本主题公开不排除包括对本领域普通技术人员显而易见的对本主题的修改、变化和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开旨在涵盖这样的改变、变化和等同物。
Claims (20)
1.一种用于以提高的效率或准确性执行复杂优化任务的计算机实现的方法,所述方法包括:
通过包括一个或多个计算设备的计算***获得一组输入数据;
通过计算***利用一个或多个现有专家模型处理输入数据以生成一个或多个专家输出;
通过计算***利用元优化神经网络处理一个或多个专家输出以生成预测输出;
通过计算***对一个或多个专家输出执行优化技术以生成优化输出;以及
通过计算***至少部分地基于将预测输出与优化输出进行比较的损失函数来修改元优化神经网络的一个或多个可学习参数。
2.根据任何前述权利要求所述的计算机实现的方法,其中,优化技术包括迭代最小化技术。
3.根据任何前述权利要求所述的计算机实现的方法,其中,一个或多个现有专家模型包括一个或多个机器学习专家模型,所述一个或多个机器学习专家模型先前已被训练为生成一个或多个专家输出。
4.根据任何前述权利要求所述的计算机实现的方法,其中,损失函数包括对优化输出的一个或多个先验进行编码的一个或多个损失项。
5.根据任何前述权利要求所述的计算机实现的方法,其中:
输入数据包括随时间的输入序列;并且
一个或多个专家输出包括由一个或多个现有专家从随时间的输入序列分别随时间生成的专家输出序列。
6.根据任何前述权利要求所述的计算机实现的方法,其中,一个或多个专家输出具有与优化输出和预测输出相同的数据结构。
7.根据权利要求1-5中的任一项所述的计算机实现的方法,其中,一个或多个专家输出包括一个或多个超先验。
8.根据任何前述权利要求所述的计算机实现的方法,其中:
输入数据包括描绘场景的多个图像;
一个或多个专家输出包括在多个图像中检测到的多个特征;以及
通过计算***对一个或多个专家输出执行优化技术以生成优化输出包括通过计算***对多个特征执行捆绑调整技术以生成优化输出,其中优化输出包括多个图像相对于场景的几何形状。
9.根据权利要求8所述的计算机实现的方法,其中:
多个图像描绘对象;
一个或多个专家输出包括对象的初始预测姿态;
预测输出包括对象的最终预测姿态;以及
优化输出还包括对象的细化姿态。
10.根据权利要求9所述的计算机实现的方法,其中:
对象包括人体;以及
使用关节位置参数化人体的初始预测姿态、最终预测姿态和细化姿态。
11.根据权利要求8-10中的任一项所述的计算机实现的方法,其中,多个图像包括多个单目图像。
12.根据任何前述权利要求所述的计算机实现的方法,其中,优化技术包括对象跟踪技术。
13.根据任何前述权利要求所述的计算机实现的方法,其中,优化技术包括分割技术。
14.根据任何前述权利要求所述的计算机实现的方法,其中,优化技术包括阴影造型技术。
15.一种计算***,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,共同存储指令,当指令由一个或多个处理器执行时,使计算***执行操作,所述操作包括:
获得一组输入数据;
利用一个或多个现有专家模型处理输入数据以生成一个或多个专家输出;和
利用元优化神经网络处理一个或多个专家输出以生成预测输出;
其中,元优化神经网络已经被训练为通过相对于优化输出执行监督学习方法来生成预测输出,优化输出是通过对由一个或多个现有专家模型生成的初始输入执行优化技术而生成的。
16.根据权利要求15所述的计算***,其中,优化技术包括迭代最小化技术。
17.根据权利要求15或16所述的计算***,其中,一个或多个现有专家模型包括一个或多个机器学习专家模型,所述一个或多个机器学习专家模型先前已被训练为生成一个或多个专家输出。
18.根据权利要求15、16或17所述的计算***,其中:
输入数据包括随时间的输入序列;并且
一个或多个专家输出包括由一个或多个现有专家从随时间的输入序列分别随时间生成的专家输出序列。
19.一个或多个非暂时性计算机可读介质,共同存储指令,当指令由一个或多个处理器执行时,使计算***执行操作,所述操作包括:
通过计算***获得描绘场景的多个图像;
通过计算***利用一个或多个现有专家模型处理多个图像,以生成在多个图像中检测到的多个特征;
通过计算***利用元优化神经网络处理多个图像以生成预测输出,其中预测输出包括多个图像相对于场景的预测几何形状;
通过计算***对多个特征执行捆绑调整技术以生成优化输出,其中优化输出包括多个图像相对于场景的优化几何形状;以及
通过计算***至少部分地基于将多个图像相对于场景的预测几何形状与多个图像相对于场景的优化几何形状进行比较的损失函数来修改元优化神经网络的一个或多个可学习参数。
20.根据权利要求19所述的一个或多个非暂时性计算机可读介质,其中:
多个图像描绘对象;
一个或多个专家输出包括对象的初始预测姿态;
预测输出包括对象的最终预测姿态;并且
优化输出还包括对象的细化姿态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163224079P | 2021-07-21 | 2021-07-21 | |
US63/224,079 | 2021-07-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115359508A true CN115359508A (zh) | 2022-11-18 |
Family
ID=84031015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210869771.9A Pending CN115359508A (zh) | 2021-07-21 | 2022-07-21 | 通过专家的神经元优化以提高的效率执行复杂优化任务 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230040793A1 (zh) |
CN (1) | CN115359508A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042729B2 (en) * | 2017-05-01 | 2021-06-22 | Google Llc | Classifying facial expressions using eye-tracking cameras |
-
2022
- 2022-07-21 CN CN202210869771.9A patent/CN115359508A/zh active Pending
- 2022-07-21 US US17/870,462 patent/US20230040793A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230040793A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643383B (zh) | 域分离神经网络 | |
CN113039563A (zh) | 学习生成用于训练神经网络的合成数据集 | |
EP3853764A1 (en) | Training neural networks for vehicle re-identification | |
US20220044352A1 (en) | Cross-domain image translation | |
WO2019213459A1 (en) | System and method for generating image landmarks | |
CN111902826A (zh) | 定位、建图和网络训练 | |
CN111524216B (zh) | 生成三维人脸数据的方法和装置 | |
Nie et al. | 3D pose estimation based on reinforce learning for 2D image-based 3D model retrieval | |
CN114925748B (zh) | 模型训练及模态信息的预测方法、相关装置、设备、介质 | |
US20240070972A1 (en) | Rendering new images of scenes using geometry-aware neural networks conditioned on latent variables | |
US20230100427A1 (en) | Face image processing method, face image processing model training method, apparatus, device, storage medium, and program product | |
Ramon et al. | Multi-view 3D face reconstruction in the wild using siamese networks | |
Wang et al. | Joint head pose and facial landmark regression from depth images | |
CN116385660A (zh) | 室内单视图场景语义重建方法及*** | |
Jiang et al. | Mask removal: Face inpainting via attributes | |
CN115359508A (zh) | 通过专家的神经元优化以提高的效率执行复杂优化任务 | |
Li et al. | Sparse-to-local-dense matching for geometry-guided correspondence estimation | |
Shih et al. | Video interpolation and prediction with unsupervised landmarks | |
Zhang et al. | End-to-end learning of self-rectification and self-supervised disparity prediction for stereo vision | |
Mariotti et al. | Semi-supervised viewpoint estimation with geometry-aware conditional generation | |
KR20230167086A (ko) | 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습 | |
Kunert et al. | Neural network adaption for depth sensor replication | |
Kim et al. | MHCanonNet: Multi-Hypothesis Canonical lifting Network for self-supervised 3D human pose estimation in the wild video | |
Chang et al. | Fast Online Upper Body Pose Estimation from Video. | |
CN115769259A (zh) | 从影像学习铰接形状重建 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |