一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用神经网络在3D资产渲染中传输几何和纹理样式的制作方法

2023-04-05 06:57:17 来源:中国专利 TAG:

使用神经网络在3d资产渲染中传输几何和纹理样式


背景技术:

1.三维(3d)对象模型可用于在各种应用中向用户提供内容,诸如视频、动画媒体、视频游戏或其他类型的内容。开发这些对象模型可能很困难,因为创造者通常具有相当高的技能水平,并使用大量时间来生成逼真的研究模型。对于希望生成对象模型的用户来说,时间和技能水平通常是进入的障碍。此外,时间限制可能会导致在应用程序中进行更多复制和粘贴,诸如视频游戏,其中场景中存在大量背景角色,但可能不是活动的焦点。因此,用户驱动的内容创建可能仅限于有用于生成内容的足够时间和资源的某些个人或实体。
附图说明
2.将参考附图描述根据本公开的各种实施例,其中:
3.图1示出了根据至少一个实施例的用于内容生成的环境的示意图;
4.图2a和2b示出了根据至少一个实施例的样式传输网络的示意图;
5.图3示出了根据至少一个实施例的几何样式传输网络的示意图;
6.图4示出了根据至少一个实施例的示例分割过程;
7.图5示出了根据至少一个实施例的示例样式转移过程;
8.图6a示出了根据至少一个实施例的用于生成样式化对象模型的示例过程;
9.图6b示出了根据至少一个实施例的用于生成样式化对象模型的示例过程;
10.图7示出了根据至少一个实施例的示例数据中心系统;
11.图8示出了根据至少一个实施例的计算机系统;
12.图9示出了根据至少一个实施例的计算机系统;
13.图10示出了根据一个或更多个实施例的图形处理器的至少部分;以及
14.图11示出了根据一个或更多个实施例的图形处理器的至少部分。
具体实施方式
15.根据各种实施例的方法提供了用于三维(3d)对象生成的系统和方法,以将形状样式和纹理样式从一个3d资产(例如,3d对象模型)联合转移到另一个3d资产。各种实施例可以启用允许用户生成自定义三维内容的内容生成工具。用户可以选择源三维模型作为输入,选择代表期望输出样式的目标三维模型。此外,在一个或更多个实施例中,可以提供纹理映射以将纹理(其可以包括图案或视觉外观)应用于输出三维图像,使得期望输出将共享目标的几何外观和目标的纹理(例如视觉)外观。全局几何样式可以表示为对象的近似语义部分形状,其中对象的不同组件被分割,然后有选择地并且单独地被调整。在各种实施例中,样式化留下源的局部几何细节不变,这可能导致不倾斜或以其他方式夸大特征的更高质量模型。各种实现可以包括至少两个网络组件,几何样式传输网络和纹理样式传输网络。然而,应当理解,各种实施例可以包括更多或更少的网络组件,并且某些特征可以被重用或以其他方式重新调整用途以执行一个或更多个功能。几何样式传输网络可以是使用一组非纹理形状训练的经训练的神经网络。相反,纹理样式传输网络可以在一个或更多个图像数
据集上被训练。这些网络输出可以被组合,然后被细化,以优化几何体和纹理。
16.本公开的一个或更多个实施例可以针对应用于对象的特定分段组件的一个或更多个变换(例如,仿射变换)。此外,可以利用部分感知的几何损失来训练几何样式传输网络。如前所述,对部分感知几何损失的评估可以使3d对象的不同组成部分实现更精细的扭曲或调整,从而提供改进的输出。在至少一个实施例中,分割是预先确定的,例如至少部分地基于正在评估的对象类型。在其他示例中,分割是用户定义的,其中用户选择对象的不同特征。此外,在一个或更多个实施例中,一个或更多个机器学习系统至少部分地基于训练数据来学习部分分割,以在调整对象的部分时最小化损失。
17.本公开的各种实施例可以进一步利用三维对象的多视图渲染来进行三维对象的几何和样式转换。例如,可以应用一个或更多个掩模,以确定哪些特征或对特征的调整可能归因于背景信息,而不是对象。因此,可移除归因于背景的调整(例如,加权为零),以进一步细化对对象的调整和更改。因此,系统和方法可用于生成高质量的三维对象模型,其可用于内容生成。此外,用户可以利用此类系统和方法扩展三维模型的训练数据集,这可能不足以用于各种应用。
18.如图1所示,环境100包括用户设备102,用于接收和消费一个或更多个对象(例如,资产(asset)),这些对象可以是三维(3d)对象模型。例如,用户设备102可以通过网络104向内容提供商环境106提交请求。应当理解,各种特征和组件被显示为仅为了方便而托管在同一环境中,并且这些系统可以单独托管或提供,例如使用不同的分布式计算系统。此外,还可以包括其他特征或组件,诸如支持系统、机器学习系统、数据库等。内容提供商环境106可以包括促进内容传输和内容生成的一个或更多个系统。在至少一个实施例中,用户设备102可以利用内容提供商环境106提交请求,以使用由内容提供商环境提供的一个或更多个模块或软件分组来生成三维对象。因此,在至少一个实施例中,内容提供商环境106可以实现各种类型内容的消费和生成。
19.接口108被包括以接收并引导信息到适当位置。接口108可以包括用户可以访问的api,例如经由授权帐户,以在内容提供商环境106内执行一个或更多个功能。不同的帐户可以具有不同的权限级别,并可以访问内容提供商环境106或其他关联系统的不同部分。仅作为示例,用户设备102的用户可以具有访问由内容提供商环境106托管和分发的特定软件分组的有限权限,而其他用户可以具有更大的访问权限。因此,本发明的实施例可以指向其中用户具有利用由内容提供商环境106提供的软件系统的适当权限的配置。
20.在一个示例中,内容提供商环境106包括内容库110,其可以存储一个或更多个内容片段,诸如三维对象模型、视频内容、图像内容、音频内容、文本内容或其组合。除其他选项外,内容库110可由用户和/或其他系统访问,并可用于生成额外内容或作为脱机内容与其他选项一起供消费。在至少一个实施例中,内容管理器112接收并引导来自用户设备102的请求,诸如检索特定内容或提供对一个或更多个软件分组的访问。如上所述,内容管理器112可以例如通过评估一个或更多个凭证(credential)来进一步验证用户是否被授权访问内容提供商环境106的一个或更多个部分。
21.图1进一步示出了内容生成模块114,用户可以访问该模块来创建内容。内容生成模块114可以包括或访问一个或更多个存储器或处理器,以执行存储在一个或更多个存储器上的软件命令。在至少一个实施例中,内容生成模块114以一个或更多个算法的形式执行
命令,该算法包括一组指令以执行一个或更多个任务。在此示例中,内容生成模块114可用于生成一个或更多个3d对象模型,然后可与内容提供商环境106的其他部分(诸如发布模块116、集成模块118或测试模块120)一起使用。应了解,发布模块116可用于发布或使内容可供消费,集成模块118可用于将生成的内容合并到其他内容类型中,诸如将模型加载到游戏中,测试模块120可用于测试或调试生成的内容。
22.从用户和系统资源的角度来看,内容生成可能是一项困难的任务。例如,用户可以确定对象模型的比例,可以确定不同特征的不同形状,可以确定应用于对象模型的纹理,然后可以渲染模型以供使用。在视频游戏、增强现实/虚拟现实内容、动画电影或其他用户消费的内容的示例中,手动内容生成可能具有足够的投资回报,供个人用户生成个人角色,例如用户将与角色进行频繁和长期交互的视频游戏中的主要角色。然而,次要角色、背景中的角色等可以优选地由计算机渲染或以其他方式自动地生成以更好地指导资源。例如,对于体育游戏,最好经由自动过程在人群中生成观众,因为用户不太可能关注人群中的观众。在另一个示例中,机器学习系统通常利用库进行训练,可能难以获得足够数量的高质量三维对象模型来有效训练网络。因此,本公开的系统和方法可以引导三维资产样式转移,其中,给定源三维资产和目标三维资产,形状样式和纹理样式可以从一个三维资产联合转移到另一个三维资产,以生成新的三维资产。因此,对于内容生成和潜在训练对象模型的生成,可以简化三维内容生成。
23.本公开的系统和方法克服了与利用了3d资产之间的变形传输的样式转移方法相关的问题。这些方法可能包括一个或更多个引导形状对应或通过最小化畸变能量来传输纹理映射,但由于其依赖于形状对应,可能无法准确生成新资产。此外,这些方法可能包括网格生成,这可能是资源密集型的。深度学习方法无法传输纹理贴图,而使用其他方法将图像样式传输到贴图无法在新的3d资产上对纹理贴图进行样式化。因此,可以使用系统和方法将几何体和纹理共同转移到新的3d资产。
24.本公开的各种实施例可以利用表示内容的输入源三维模型和表示期望样式或期望输出的目标三维模型。目标3d模型的表面几何形状和纹理贴图均用于生成广泛的3d模型变化。在至少一个实施例中,对象的样式至少部分地表示为由对象的语义部分形状近似的全局几何样式。因此,源的局部几何细节可能保持不变或基本不变,这可能导致更高质量的模型。在一个或更多个实施例中,系统和方法可以通过一个或更多个部分感知转换来样式化输入资产。可以至少部分地通过一种或更多种图像样式传输技术来定义三维对象的纹理样式。在至少一个实施例中,样式传输网络可以利用几何样式传输网络和纹理样式传输网络来生成输出三维对象模型。例如,可以在非纹理形状上训练几何样式传输网络,而在图像数据集上训练纹理样式传输网络。这些网络的联合操作可以通过一个或更多个优化步骤(例如,联合优化)实现。优化可能包括多视图渲染设置,以实现3d资产的几何和纹理传输。
25.图2a示出了可与本公开的一个或更多个实施例一起使用的环境200。在该示例中,环境200包括样式网络202,其包括几何样式传输网络204和纹理样式传输网络206。应了解,网络204、206可包括一个或更多个经训练的机器学习系统,其可进一步包括一个或更多个神经网络、包括训练数据的数据库、输入api等。例如,几何样式传输网络204可以在一组非纹理形状上训练,纹理样式传输网络206可以在图像数据集上训练。
26.进一步示出的是部分感知几何损失模块208,其可接收来自源210和目标212的输
入信息,其可对应于源和目标3d资产,例如对象模型。此外,网络204、206的输出214也可以提供给部分感知几何损失模块208。在各种实施例中,部分感知几何损失用于网络202的训练(例如,一个或更多个网络204、206的训练),例如,具有语义部分标签的人工标记训练形状集可以利用半监督bae-net预测形状的部分标签。如下文所述,bae-net的训练可以进一步细化,以降低对分割噪声的敏感性。
27.在操作中,内容环境216可以包括内容数据库218和/或纹理贴图数据库220。应该理解的是,内容数据库218和纹理地图数据库220可以被集成,使得内容可以与相关联的对象模型一起被存储。在各种实施例中,源资产(例如,对象模型)与目标资产(例如,对象模型)一起被选择。然后,可以训练网络202以将源210和目标212作为输入,然后操纵或扭曲源210,使其看起来更像目标212,例如在形状(例如几何形状)和外观(例如纹理)上。例如,如果源210是小狗,目标212是卡通狗,则源210的一个或更多个特征可能会被扭曲或调整,以对应于目标212更接近的角色或特征方面。继续该示例,卡通狗可能比真实狗的头体比更大,相对于脸的大小可能有更大的眼睛,等等。因此,可以调整或扭曲这些特征中的一个或更多个,以产生具有类似于目标212的特征的输出214,同时保持源210的各个方面。
28.在各种实施例中,应当理解,输出214可以进一步处理,例如使用可微分渲染器,如下所述。此外,为了清晰和简单起见,在以下公开中移除了本公开的各个方面,例如各种训练数据库、转换模块等。
29.图2b示出了可与本公开的一个或更多个方面一起使用的环境250。在本示例中,图2a的环境200被扩展为包括调谐网络252,该调谐网络252可用于提供从源210到样式化输出214的更高质量的转换。应了解,在其他实施例中,调谐网络252可并入样式网络202中,并且为了说明目的表示为不同的网络,而并非旨在限制本公开的范围。
30.在该示例中,将样式化输出214提供给调谐网络252以进行细化和调整。例如,可微分渲染器254可以使用基于光栅化的可微分渲染器在多个视图中渲染纹理样式化对象。例如,可以生成六个不同的视图,以便从多个角度评估样式化输出214。此外,优化模块256可以评估可微分渲染器254的多视图渲染上的掩蔽内容和样式损失,以联合优化几何体和纹理。在各种实施例中,这两个网络都对尊重目标身份和源细节的纹理产生幻觉,并调整几何变换以使纹理传输更容易。多视图渲染可以包括在调谐网络252的每次迭代中随机旋转的六个正交视图。因此,可以在每次过程中评估多个视图,而不仅仅是集中在一组视图上。然而,应当理解,可以通过为优化指定多个过程或特定角度来节省处理资源,例如,可能对应于所使用对象的可能视角的角度。
31.在各种实施例中,微分渲染器254输出背景掩模,以掩蔽从无关背景像素计算的特征。可以为每个不同的视图生成该背景掩模,然后在各种视图的单独视图之间进行比较,以确定哪些特征与对象无关,而是由于背景而生成的。因此,可以至少部分地基于掩模评估来细化几何损失,以生成改进的样式化对象。在各种实施例中,经生成的掩模可用于评估掩蔽样式损失和掩蔽内容损失。也就是说,可以通过掩模优化纹理和几何特征传输。
32.图3示出了可与本公开的实施例一起使用的样式传输网络300。在一个或更多个实施例中,来自网络200、250的特征可以合并到样式传输网络300中。在该示例中,输入302包括源对象210和目标对象212。如本文所述,源和目标对象210、212可以对应于包括几何特征和/或纹理特征(例如纹理贴图)的三维对象模型。在一个或更多个实施例中,几何特征可以
表示为代表三维空间中的点的点云。在至少一个实施例中,点云可由一个或更多个三维几何样式传输网络使用,纹理贴图可由一个或更多个纹理样式传输网络使用。
33.输入300提供给检测网络304,检测网络304可以包括一个或更多个机器学习系统,以评估点云和/或纹理贴图。在该示例中,特征检测模块306可以包括一个或更多个神经网络,例如用于深度学习的点体素(voxel)cnn(pvcnn)。仅作为示例,特征检测模块306可以包括pvcnn编码器内的4个pvconv层。pv-conv的起始体素化分辨率可能为32,并在聚集特征时降至16、8和1。应当理解,pvcnn仅作为示例提供,并且在替代实施例中,可以使用具有不同结构的不同网络来代替或补充pvcnn。
34.然后通过分类器308评估聚集的特征,分类器308可以包括多层感知器(mlp)、cnn或任何其他合理的分类器。在包括mlp的示例中,可以使用4个全连接层,并且最新的特征向量可以连接到网络中的所有4个fc层。这种配置提供了n x m的输出,其中n是语义部分的数量,m是表示每个部分的相应椭球和/或变换(例如仿射变换)所需的参数数量。举例来说,一个椭球可能需要9个参数。作为另一个示例,仿射变换可能需要额外的9个参数。因此,具有11个语义部分的这种配置将需要198个参数作为mlp的输出。应当理解,可以通过减少代表一个或更多个对象类别的语义部分的数量来减少输出。
35.分类的语义部分可以输出并传输到传输模块310,传输模块310转换源资产以匹配目标资产的样式。在该示例中,变换标识符312可对应于椭球以近似对象的一个或更多个语义部分。也就是说,可以使用预测的椭球表示来表示对象的哪个部分或组件被变换。椭球可以表示为ei,其中i是源形状的每个语义部分。
36.此外,在至少一个实施例中,变换评估314可以对应于变换函数,其可以是三维仿射变换,表示为ai。也就是说,可以利用三维仿射变换来表示如何使对象的已识别部分变形。应当理解,仿射变换可以包括沿3个轴的旋转、平移和缩放分量。在至少一个实施例中,三维仿射变换可用于语义部分的扭曲,以便更好地匹配目标。虽然该示例包括仿射变换,但应当理解,可以在一个或更多个其他实施例中使用各种其他变换来代替仿射变换或作为仿射变换的补充。仅作为示例,还可以利用欧几里得变换的投影相似性等。然后可以利用输出来计算平滑仿射变换场,以使源几何体变形,同时保留精细的几何细节。
37.如上所述,本公开的各种实施例支持部分感知变换。变换标识符312的参数用于计算源形状上任何点的平滑皮肤权重。结合变换评估314,可以确定任何源点的形成。对齐模块316可以通过定义三维高斯来沿预测(例如,沿椭球)对齐点,如等式(1)所示
38.gi(p)=g(p|ti,λs
iri
(s
iri
)
t
)
ꢀꢀꢀꢀ
(1)
39.其中,p是源形状p上的点,ti是高斯的平均值,λs
iri
(s
iri
)
t
是协方差矩阵,λ是用于控制扩散的固定标量。这一系列函数可用于定义n通道混合场。归一化混合场可用于插值所有语义部分的仿射变换ai,以通过变换模块318获得单个三维仿射变换场φ。因此,可以通过使用仿射变换场扭曲源形状p来生成样式化输出214,仿射变换场可以表示为φ(p)。应当理解,为了减少处理或以其他方式节省资源,可以在间隔或特定区域(例如在源网格的每个顶点)生成高斯和混合场。
40.各种实施例还包括部分感知几何损失模块208,其可用于训练网络200、250、300的一个或更多个部分。训练可包括至少部分手动确定或标记的输入数据集语义部分。应该理解的是,这些手动标记的部分可能代表一个基本事实。然而,在其他实施例中,训练可以实
现各种部分的自动标记,例如以超过阈值的置信度值标记的部分。一个或更多个实施例可以包括用于预测部分(part)标签的半监督bae-net。如下文所述,输入对象可以被分割成语义部分,这些语义部分与一个或更多个转换过程一起使用,以便生成样式化的输出。
41.例如,可以将输入对象分割成任意数量的部分,其中可以至少部分地基于输入对象的类型或标识来预定数量。例如,某些对象可能包括更多或更少的分割部分。在一个或更多个实施例中,对于较大的区域,预测质量可能更高,因此,为用于分割的各种分量设置阈值大小以减少噪声可能是有益的。然而,根据等式(2),也可以通过定义部分感知的几何距离来减少分割噪声
[0042][0043]
其中p、q分别是源形状和目标形状上的采样点集,pi和qi表示第i部分的点子集,ch
l1
(p,q)是l1倒角距离。应了解,与bae-net的部分标签相关联的噪声可能仅导致部分依赖于部分切角距离。在至少一个实施例中,可以根据等式(3)定义损失函数
[0044]
loss(p,q,φ)=d
part-aware
(φ(p),q) d
part-aware
(ξ(p),p)
ꢀꢀꢀꢀ
(3)
[0045]
其中ξ(p)是为源形状p预测的所有椭球{ei}的表面点,而φ(p)是源形状的扭曲,如上所述。
[0046]
如上所述,各种实施例还可以包括一个或更多个纹理样式传输网络。可以将这些网络与上述调谐模块结合使用,以实现对所传输纹理的几何特性的感知,这些纹理可能仅在未标记的纹理图像中不存在。在至少一个实施例中,纹理样式传输网络可以包括与在数据集(例如imagenet)上预训练的vgg-19相关联的编码器,解码器可以在另一个图像集(例如ms-coco)上训练。此外,在某些实施例中,可以在ms-coco上训练线性变换模块作为内容图像集,在wikiart数据集上训练作为样式图像集。
[0047]
尽管未在图3中示出,如上所述,一个或更多个调谐网络252可与本公开的实施例一起使用,以微调特定源和目标对的几何和纹理样式传输网络。微分渲染器254可以使用基于光栅化的可微分渲染器(例如nvdiffrast)在多个视图中渲染纹理样式化对象。此外,在实施例中,多视图渲染上的掩蔽内容和样式损失可用于几何体和纹理的联合优化。例如,分类器308(例如mlp)的参数和纹理样式传输网络的一个或更多个线性变换模块的参数的联合优化可用于最小化在样式化对象的几何和多视图渲染上定义的损失,如等式(4)所示
[0048][0049]
其中m和m’是源p和目标q的纹理图像,是样式化的纹理图像。在一个或更多个实施例中,源uv图可以保持固定。fv(p,m)是相机视图v下具有纹理m的形状p的渲染像素的多级vgg特征的集合。如上所述,渲染器输出的背景掩模可用于掩蔽从无关背景像素计算出的特征。此外,可纳入等式(3)中的损失。应当理解,在操作中,不同层可用于样式损失和/或内容损失。此外,可能需要生成相机视图以覆盖样式化对象的表面,因此,可以在每次优化迭代中使用公共欧拉角随机旋转视图之间的旋转。
[0050]
图4示出了分割和预测400序列的示例。在该示例中,可以将源图像402提供给一个
或更多个网络,例如上述bae-net,以根据与训练图像404相关联的分割将其分割成各种语义部分。在某些实施例中,可以手动标记训练图像,并且可以至少部分地基于源图像402的类型或分类来确定多个语义部分。在本示例中,源图像402对应于动物,对于该分类,训练图像404包括11个语义部分。应该理解的是,其他分类可能包括更多或更少的语义部分,此外,动物也可能被定义为具有更多或更少的语义部分。进一步说明的是椭球图像406,其包括至少部分基于语义部分的预测椭球。
[0051]
在该示例中,训练图像404包括不同的语义部分408,例如右前腿408a、左前腿408b等。如图所示,网络学习在源图像402内区分和识别这些特征,以便识别类似的语义部分408,例如右前腿408a等。如上所述,然后可以生成这些语义部分的椭球近似410,例如右前腿椭球近似410a等。此后,图像的变换或扭曲可以使源图像402的调整能够匹配目标图像的样式。
[0052]
图5示出了可与本公开实施例一起使用的示例样式传输过程500。在该示例中,源对象502参考目标对象504扭曲和调整,以产生样式化输出506,其可以保持源对象502的一个或更多个特征,但也向与目标对象504相关联的样式扭曲或以其他方式调整各种特征,其中样式指的是一个或更多个几何特性、纹理外观或其组合。在该示例中,目标对象504与目标纹理508、目标分割510和目标椭球估计512相关联。应了解,这些组件中的每一个都可以不被生成,而是作为示例提供,以示出源对象502的扭曲或变换。
[0053]
源对象502可以提供给一个或更多个网络200、250、300,并且可以被处理以识别一个或更多个特征,这些特征可以对应于一个或更多个语义部分514,用于分割源对象502以实现部分感知转换。在该示例中,源分割516包括具有不同语义部分514的源对象502的轮廓,其可能对应于目标分割510的语义部分。如上所述,在一个或更多个实施例中,可以确定目标对象504和/或源对象502的类型或分类,以便为语义分割选择预设数量的部分。在其他实施例中,可以分割目标对象504,然后可以为源对象502使用类似的数字。如上所述,可以至少部分地基于来自源分割516的信息生成源椭球估计518。此外,在本示例中,还示出了源纹理图520。源纹理贴图520与目标纹理508不同,例如包括条纹而不是斑点。
[0054]
在一个或更多个实施例中,对应于源椭球估计518的椭球可以扭曲或以其他方式变换,以便将源对象502的一个或更多个语义部分调整为在几何外观上更接近目标对象504。例如,在该示例中,源对象502的头部被放大。此外,源对象502的尾部被移除和/或缩短以对应于目标对象504。通过这种方式,可以生成样式化输出506以包括源对象502的某些特征,但以目标对象504的样式进行转换。此外,在各种实施例中,如上所述,目标纹理508也被传输并应用于样式化输出506。
[0055]
图6a示出了用于生成样式化三维对象模型的示例过程600。应当理解,对于本文提出的这个和其他过程,除非另有明确说明,否则可以在各种实施例的范围内以类似或替代顺序或至少部分并行地执行额外的、更少的或替代步骤。在此示例中,接收源三维对象模型602。例如,源三维对象模型可以由与请求相关联的用户提供,或者可以从存储位置(例如数据库)检索。在至少一个实施例中,可以接收目标三维对象模型604。如上所述,目标三维对象模型也可以由用户提供,可以从数据库中选择,或者可以从一个或更多个存储位置检索。在各种实施例中,目标三维对象模型可以与特定内容相关联,因此,可以至少部分地基于预期结果限制或以其他方式限制为某些内容类型。
[0056]
在各种实施例中,从源三维对象模型确定一个或更多个源几何段606。例如,一个或更多个机器学习系统可以识别源三维对象模型内的特征,然后标记或以其他方式分类和分割特征。在至少一个实施例中,从目标三维对象模型确定一个或更多个目标几何段608。目标三维对象模型可以用作样式化三维对象模型的预期结果,或至少作为指南。因此,可以至少部分地基于相关联的一个或更多个目标几何段来调整一个或更多个源几何段610。例如,可以调整相关的几何段,诸如动物的头部或车辆的挡风玻璃。相关性可能基于对象的分割方式,以便在部分基础上进行调整。可以生成样式化的三维对象模型612。例如,调整可以应用于椭球估计,并且一个或更多个变换可以调整或扭曲椭球。此外,各种部分感知几何损失模块可用于进一步的训练或细化。通过这种方式,可以评估和调整对象模型的几何特征。
[0057]
图6b示出了用于生成样式化三维对象模型的示例过程620。在该示例中,接收源三维对象模型622。例如,源三维对象模型可以由与请求相关联的用户提供,或者可以从存储位置(例如数据库)检索。在至少一个实施例中,可以接收目标三维对象模型624。如上所述,目标三维对象模型也可以由用户提供,可以从数据库中选择,或者可以从一个或更多个存储位置检索。在各种实施例中,目标三维对象模型可以与特定内容相关联,因此,可以至少部分地基于预期结果限制或以其他方式限制为某些内容类型。此外,在一个或更多个实施例中,接收目标纹理贴图626。目标纹理贴图可与目标3d对象模型的视觉外观相关联。
[0058]
在至少一个实施例中,为源三维对象模型的一个或更多个几何段确定一个或更多个变换628。例如,可以分割源三维对象模型,并且可以生成椭球估计,并与目标三维对象模型的相关段进行比较。变换可用于生成样式化的三维对象模型。以这种方式,可以扭曲或以其他方式调整源三维对象模型,以生成包含目标三维对象模型的特征的样式化三维对象模型630,诸如改变组件的形状或将来自目标纹理贴的特征应用于样式化三维对象模型。
[0059]
在各种实施例中,可以应用额外的调谐或细化。生成样式化三维对象模型的多视图渲染632。多视图渲染可以包括来自多个不同角度的预设数量的视图。在至少一个实施例中,为每个视图生成一个或更多个背景掩模634,并用于确定与背景像素相关联的一个或更多个特征。然后,这些背景像素可以从样式化的三维对象模型中移除636。
[0060]
数据中心
[0061]
图7示出了可以使用至少一个实施例的示例数据中心700。在至少一个实施例中,数据中心700包括数据中心基础设施层710、框架层720、软件层730和应用层740。
[0062]
在至少一个实施例中,如图7所示,数据中心基础设施层710可以包括资源协调器712、分组的计算资源714和节点计算资源(“节点c.r.”)716(1)-716(n),其中“n”代表任何正整数。在至少一个实施例中,节点c.r.716(1)-716(n)可以包括但不限于任何数量的中央处理单元(“cpu”)或其他处理器(包括加速器、现场可编程门阵列(fpga)、图形处理器等)、存储器设备(例如动态只读存储器)、存储设备(例如固态硬盘或磁盘驱动器)、网络输入/输出(“nwi/o”)设备、网络交换机、虚拟机(“vm”)、电源模块和冷却模块等。在至少一个实施例中,节点c.r.716(1)-716(n)中的一个或更多个节点c.r.可以是具有一个或更多个上述计算资源的服务器。
[0063]
在至少一个实施例中,分组的计算资源714可以包括容纳在一个或更多个机架内的节点c.r.的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组的计算资源714内的节点c.r.的单独分组可以包括可以被配置或分配为支持
一个或更多个工作负载的分组的计算、网络、存储器或存储资源。在至少一个实施例中,可以将包括cpu或处理器的几个节点c.r.分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。在至少一个实施例中,一个或更多个机架还可以包括任何数量的电源模块、冷却模块和网络交换机,以任意组合。
[0064]
在至少一个实施例中,资源协调器712可以配置或以其他方式控制一个或更多个节点c.r.716(1)-716(n)和/或分组的计算资源714。在至少一个实施例中,资源协调器712可以包括用于数据中心700的软件设计基础结构(“sdi”)管理实体。在至少一个实施例中,资源协调器可以包括硬件、软件或其某种组合。
[0065]
在至少一个实施例中,如图7所示,框架层720包括作业调度器722、配置管理器724、资源管理器726和分布式文件系统728。在至少一个实施例中,框架层720可以包括支持软件层730的软件732和/或应用程序层740的一个或更多个应用程序742的框架。在至少一个实施例中,软件732或应用程序742可以分别包括基于web的服务软件或应用程序,例如由amazon web services,google cloud和microsoft azure提供的服务或应用程序。在至少一个实施例中,框架层720可以是但不限于一种免费和开放源软件网络应用程序框架,例如可以利用分布式文件系统728来进行大范围数据处理(例如“大数据”)的apache sparktm(以下称为“spark”)。在至少一个实施例中,作业调度器732可以包括spark驱动器,以促进对数据中心700的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器724可以能够配置不同的层,例如软件层730和包括spark和用于支持大规模数据处理的分布式文件系统728的框架层720。在至少一个实施例中,资源管理器726能够管理映射到或分配用于支持分布式文件系统728和作业调度器722的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层710上的分组计算资源714。在至少一个实施例中,资源管理器726可以与资源协调器712协调以管理这些映射的或分配的计算资源。
[0066]
在至少一个实施例中,包括在软件层730中的软件732可以包括由节点c.r.716(1)-716(n)的至少一部分,分组的计算资源714和/或框架层720的分布式文件系统728使用的软件。一种或更多种类型的软件可以包括但不限于internet网页搜索软件、电子邮件病毒扫描软件、数据库软件和流视频内容软件。
[0067]
在至少一个实施例中,应用层740中包括的一个或更多个应用程序742可以包括由节点c.r.716(1)-716(n)的至少一部分、分组计算资源714和/或框架层720的分布式文件系统728使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序、认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如pytorch、tensorflow、caffe等)或其他与一个或更多个实施例结合使用的机器学习应用程序。
[0068]
在至少一个实施例中,配置管理器724、资源管理器726和资源协调器712中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。在至少一个实施例中,自我修改动作可以减轻数据中心700的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或执行差的部分。
[0069]
在至少一个实施例中,数据中心700可以包括工具、服务、软件或其他资源,以根据
本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,在至少一个实施例中,可以通过使用上文关于数据中心700描述的软件和计算资源,根据神经网络架构通过计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过本文所述的一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心700所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息。
[0070]
在至少一个实施例中,数据中心可以使用cpu、专用集成电路(asic)、gpu、fpga或其他硬件来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
[0071]
此类组件可用于样式转换。
[0072]
计算机系统
[0073]
图8是示出了根据至少一个实施例的示例性计算机系统的框图,该示例性计算机系统可以是具有互连的设备和组件的系统,片上系统(soc)或它们的某种形成有处理器的组合,该处理器可以包括执行单元以执行指令。在至少一个实施例中,根据本公开,例如本文所述的实施例,计算机系统800可以包括但不限于组件,例如处理器802,其执行单元包括逻辑以执行用于过程数据的算法。在至少一个实施例中,计算机系统800可以包括处理器,例如可从加利福尼亚圣塔克拉拉的英特尔公司(intel corporation of santa clara,california)获得的pentium处理器家族、xeontm、itanium、xscaletm和/或strongarmtm,intelcore
tm
或intelnervana
tm
微处理器,尽管也可以使用其他系统(包括具有其他微处理器的pc、工程工作站、机顶盒等)。在至少一个实施例中,计算机系统800可以执行可从华盛顿州雷蒙德市的微软公司(microsoft corporation of redmond,wash.)获得的windows操作系统版本,尽管其他操作系统(例如unix和linux)、嵌入式软件和/或图形用户界面也可以使用。
[0074]
实施例可以用在其他设备中,例如手持设备和嵌入式应用程序。手持设备的一些示例包括蜂窝电话、互联网协议(internet protocol)设备、数码相机、个人数字助理(“pda”)和手持pc。在至少一个实施例中,嵌入式应用程序可以包括微控制器、数字信号处理器(“dsp”)、片上系统、网络计算机(“netpc”)、边缘计算设备、机顶盒、网络集线器、广域网(“wan”)交换机,或根据至少一个实施例可以执行一个或更多个指令的任何其他系统。
[0075]
在至少一个实施例中,计算机系统800可包括但不限于处理器802,该处理器802可包括但不限于一个或更多个执行单元808,以根据本文描述的技术执行机器学习模型训练和/或推理。在至少一个实施例中,计算机系统800是单处理器台式机或服务器系统,但是在另一个实施例中,计算机系统800可以是多处理器系统。在至少一个实施例中,处理器802可以包括但不限于复杂指令集计算机(“cisc”)微处理器、精简指令集计算(“risc”)微处理器、超长指令字(“vliw”)微处理器、实现指令集组合的处理器,或任何其他处理器设备,例如数字信号处理器。在至少一个实施例中,处理器802可以耦合到处理器总线810,该处理器总线810可以在处理器802与计算机系统800中的其他组件之间传输数据信号。
[0076]
在至少一个实施例中,处理器802可以包括但不限于1级(“l1”)内部高速缓存存储器(“cache”)804。在至少一个实施例中,处理器802可以具有单个内部高速缓存或多级内部
缓存。在至少一个实施例中,高速缓存存储器可以驻留在处理器802的外部。根据特定的实现和需求,其他实施例也可以包括内部和外部高速缓存的组合。在至少一个实施例中,寄存器文件806可以在各种寄存器中存储不同类型的数据,包括但不限于整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器。
[0077]
在至少一个实施例中,包括但不限于执行整数和浮点运算的逻辑执行单元808,其也位于处理器802中。在至少一个实施例中,处理器802还可以包括微码(“ucode”)只读存储器(“rom”),用于存储某些宏指令的微代码。在至少一个实施例中,执行单元808可以包括用于处理封装指令集809的逻辑。在至少一个实施例中,通过将封装指令集809包括在通用处理器的指令集中,以及要执行指令的相关电路,可以使用处理器802中的封装数据来执行许多多媒体应用程序使用的操作。在一个或更多个实施例中,可以通过使用处理器的数据总线的全宽度来在封装的数据上执行操作来加速和更有效地执行许多多媒体应用程序,这可能不需要在处理器的数据总线上传输较小的数据单元来一次执行一个数据元素的一个或更多个操作。
[0078]
在至少一个实施例中,执行单元808也可以用在微控制器、嵌入式处理器、图形设备、dsp和其他类型的逻辑电路中。在至少一个实施例中,计算机系统800可以包括但不限于存储器820。在至少一个实施例中,存储器820可以实现为动态随机存取存储器(“dram”)设备、静态随机存取存储器(“sram”)设备、闪存设备或其他存储设备。在至少一个实施例中,存储器820可以存储由处理器802可以执行的由数据信号表示的指令819和/或数据821。
[0079]
在至少一个实施例中,系统逻辑芯片可以耦合到处理器总线810和存储器820。在至少一个实施例中,系统逻辑芯片可以包括但不限于存储器控制器集线器(“mch”)816,并且处理器802可以经由处理器总线810与mch 816通信。在至少一个实施例中,mch 816可以提供到存储器820的高带宽存储器路径818以用于指令和数据存储以及用于图形命令、数据和纹理的存储。在至少一个实施例中,mch 816可以在处理器802、存储器820和计算机系统800中的其他组件之间启动数据信号,并且在处理器总线810、存储器820和系统i/o 822之间桥接数据信号。在至少一个实施例中,系统逻辑芯片可以提供用于耦合到图形控制器的图形端口。在至少一个实施例中,mch 816可以通过高带宽存储器路径818耦合到存储器820,并且图形/视频卡812可以通过加速图形端口(accelerated graphics port)(“agp”)互连814耦合到mch 816。
[0080]
在至少一个实施例中,计算机系统800可以使用系统i/o 822,所述系统i/o 822是专有集线器接口总线来将mch 816耦合到i/o控制器集线器(“ich”)830。在至少一个实施例中,ich 830可以通过本地i/o总线提供与某些i/o设备的直接连接。在至少一个实施例中,本地i/o总线可以包括但不限于用于将外围设备连接到存储器820、芯片组和处理器802的高速i/o总线。示例可以包括但不限于音频控制器828、固件集线器(“flash bios”)828、无线收发器826、数据存储824、包含用户输入和键盘接口825的传统i/o控制器823、串行扩展端口827(例如通用串行总线(usb)端口)和网络控制器834。数据存储824可以包括硬盘驱动器、软盘驱动器、cd-rom设备、闪存设备或其他大容量存储设备。
[0081]
在至少一个实施例中,图8示出了包括互连的硬件设备或“芯片”的系统,而在其他实施例中,图8可以示出示例性片上系统(soc)。在至少一个实施例中,设备可以与专有互连、标准化互连(例如,pcie)或其某种组合互连。在至少一个实施例中,计算机系统800的一
个或更多个组件使用计算快速链路(cxl)互连来互连。
[0082]
此类组件可用于样式转换。
[0083]
图9是示出了根据至少一个实施例的用于利用处理器910的电子设备900的框图。在至少一个实施例中,电子设备900可以是,例如但不限于,笔记本电脑、塔式服务器、机架服务器、刀片服务器、膝上型计算机、台式机、平板电脑、移动设备、电话、嵌入式计算机或任何其他合适的电子设备。
[0084]
在至少一个实施例中,系统900可以包括但不限于通信地耦合到任何合适数量或种类的组件、外围设备、模块或设备的处理器910。在至少一个实施例中,处理器910使用总线或接口耦合,诸如1℃总线、系统管理总线(“smbus”)、低引脚数(lpc)总线、串行外围接口(“spi”)、高清音频(“hda”)总线、串行高级技术附件(“sata”)总线、通用串行总线(“usb”)(1、2、3版)或通用异步接收器/发送器(“uart”)总线。在至少一个实施例中,图9示出了系统,该系统包括互连的硬件设备或“芯片”,而在其他实施例中,图9可以示出示例性片上系统(soc)。在至少一个实施例中,图9中所示的设备可以与专有互连线、标准化互连(例如,pcie)或其某种组合互连。在至少一个实施例中,图9的一个或更多个组件使用计算快速链路(cxl)互连线来互连。
[0085]
在至少一个实施例中,图9可以包括显示器924、触摸屏925、触摸板930、近场通信单元(“nfc”)945、传感器集线器940、热传感器946、快速芯片组(“ec”)935、可信平台模块(“tpm”)938、bios/固件/闪存(“bios,fwflash”)922、dsp 960、驱动器920(例如固态磁盘(“ssd”)或硬盘驱动器(“hdd”))、无线局域网单元(“wlan”)950、蓝牙单元952、无线广域网单元(“wwan”)956、全球定位系统(gps)955、相机(“usb3.0相机”)954(例如usb3.0相机)和/或以例如lpddr3标准实现的低功耗双倍数据速率(“lpddr”)存储器单元(“lpddr3”)915。这些组件可以各自以任何合适的方式实现。
[0086]
在至少一个实施例中,其他组件可以通过上文所述的组件通信地耦合到处理器910。在至少一个实施例中,加速度计941、环境光传感器(“als”)942、罗盘943和陀螺仪944可以可通信地耦合到传感器集线器940。在至少一个实施例中,热传感器939、风扇937、键盘936和触摸板930可以通信地耦合到ec 935。在至少一个实施例中,扬声器963、耳机964和麦克风(“mic”)965可以通信地耦合到音频单元(“音频编解码器和d类放大器”)962,其又可以通信地耦合到dsp 960。在至少一个实施例中,音频单元962可以包括例如但不限于音频编码器/解码器(“编解码器”)和d类放大器。在至少一个实施例中,sim卡(“sim”)957可以通信地耦合到wwan单元956。在至少一个实施例中,组件(诸如wlan单元950和蓝牙单元952以及wwan单元956)可以被实现为下一代形式因素(ngff)。
[0087]
此类组件可用于样式转换。
[0088]
图10是根据至少一个实施例的处理系统的框图。在至少一个实施例中,系统1000包括一个或更多个处理器1002和一个或更多个图形处理器1008,并且可以是单处理器台式机系统、多处理器工作站系统或具有大量共同或可分离管理的处理器1002或处理器核心1007的服务器系统或数据中心。在至少一个实施例中,系统1000是结合在片上系统(soc)集成电路内的处理平台,以在移动、手持或嵌入式设备使用。
[0089]
在至少一个实施例中,系统1000可以包括或并入基于服务器的游戏平台、云计算主机平台、虚拟化计算平台、包括游戏和媒体控制台的游戏控制台、移动游戏控制台、手持
游戏控制台或在线游戏控制台内。在至少一个实施例中,系统1000是移动电话、智能电话、平板计算设备或移动互联网设备。在至少一个实施例中,处理系统1000还可包括与可穿戴设备耦合或集成在可穿戴设备中,例如智能手表可穿戴设备、智能眼镜设备、增强现实设备、边缘设备、物联网(“iot”)设备或虚拟现实设备。在至少一个实施例中,处理系统1000是电视或机顶盒设备,其具有一个或更多个处理器1002以及由一个或更多个图形处理器1008生成的图形界面。
[0090]
在至少一个实施例中,一个或更多个处理器1002每个包括一个或更多个处理器核心1007,以处理指令,该指令在被执行时执行针对系统和用户软件的操作。在至少一个实施例中,一个或更多个处理器核心1007中的每一个被配置为处理特定指令集1009。在至少一个实施例中,指令集1009可以促进复杂指令集计算(cisc)、精简指令集计算(risc),或通过超长指令字(vliw)进行计算。在至少一个实施例中,处理器核心1007可以各自处理不同的指令集1009,该指令集可以包括有助于仿真其他指令集的指令。在至少一个实施例中,处理器核心1007还可以包括其他处理设备,例如数字信号处理器(dsp)。
[0091]
在至少一个实施例中,处理器1002包括高速缓存存储器1004。在至少一个实施例中,处理器1002可以具有单个内部高速缓存或多个级别的内部高速缓存。在至少一个实施例中,高速缓存存储器在处理器1002的各个组件之间共享。在至少一个实施例中,处理器1002还使用外部高速缓存(例如,三级(l3)高速缓存或最后一级高速缓存(llc))(未示出),可以使用已知的高速缓存一致性技术在处理器核心1007之间共享该外部高速缓存。在至少一个实施例中,处理器1002中另外包括寄存器文件1006,处理器可以包括用于存储不同类型的数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。在至少一个实施例中,寄存器文件1006可以包括通用寄存器或其他寄存器。
[0092]
在至少一个实施例中,一个或更多个处理器1002与一个或更多个接口总线1010耦合,以在处理器1002与系统1000中的其他组件之间传输通信信号,例如地址、数据或控制信号。在至少一个实施例中,接口总线1010在一个实施例中可以是处理器总线,例如直接媒体接口(dmi)总线的版本。在至少一个实施例中,接口总线1010不限于dmi总线,并且可以包括一个或更多个外围组件互连总线(例如,pci,pciexpress)、存储器总线或其他类型的接口总线。在至少一个实施例中,处理器1002包括集成存储器控制器1016和平台控制器集线器1030。在至少一个实施例中,存储器控制器1016促进存储器设备与处理系统1000的其他组件之间的通信,而平台控制器集线器(pch)1030通过本地i/o总线提供到i/o设备的连接。
[0093]
在至少一个实施例中,存储器设备1020可以是动态随机存取存储器(dram)设备、静态随机存取存储器(sram)设备、闪存设备、相变存储设备或具有适当的性能以用作处理器存储器。在至少一个实施例中,存储设备1020可以用作处理系统1000的系统存储器,以存储数据1022和指令1021,以在一个或更多个处理器1002执行应用程序或过程时使用。在至少一个实施例中,存储器控制器1016还与可选的外部图形处理器1012耦合,其可以与处理器1002中的一个或更多个图形处理器1008通信以执行图形和媒体操作。在至少一个实施例中,显示设备1011可以连接至处理器1002。在至少一个实施例中,显示设备1011可以包括内部显示设备中的一个或更多个,例如在移动电子设备或膝上型设备或通过显示器接口(例如显示端口(displayport)等)连接的外部显示设备中。在至少一个实施例中,显示设备1011可以包括头戴式显示器(hmd),诸如用于虚拟现实(vr)应用或增强现实(ar)应用中的
立体显示设备。
[0094]
在至少一个实施例中,平台控制器集线器1030使外围设备能够通过高速i/o总线连接到存储设备1020和处理器1002。在至少一个实施例中,i/o外围设备包括但不限于音频控制器1046、网络控制器1034、固件接口1028、无线收发器1026、触摸传感器1025、数据存储设备1024(例如,硬盘驱动器、闪存等)。在至少一个实施例中,数据存储设备1024可以经由存储接口(例如,sata)或经由外围总线来连接,诸如外围组件互连总线(例如,pci、pcie)。在至少一个实施例中,触摸传感器1025可以包括触摸屏传感器、压力传感器或指纹传感器。在至少一个实施例中,无线收发器1026可以是wi-fi收发器、蓝牙收发器或移动网络收发器,诸如3g、4g或长期演进(lte)收发器。在至少一个实施例中,固件接口1028使能与系统固件的通信,并且可以是例如统一可扩展固件接口(uefi)。在至少一个实施例中,网络控制器1034可以启用到有线网络的网络连接。在至少一个实施例中,高性能网络控制器(未示出)与接口总线1010耦合。在至少一个实施例中,音频控制器1046是多通道高清晰度音频控制器。在至少一个实施例中,处理系统1000包括可选的传统(legacy)i/o控制器1040,用于将传统(例如,个人系统2(ps/2))设备耦合到系统1000。在至少一个实施例中,平台控制器集线器1030还可以连接到一个或更多个通用串行总线(usb)控制器1042,该控制器连接输入设备,诸如键盘和鼠标1043组合、相机1044或其他usb输入设备。
[0095]
在至少一个实施例中,存储器控制器1016和平台控制器集线器1030的实例可以集成到离散的外部图形处理器中,例如外部图形处理器1012。在至少一个实施例中,平台控制器集线器1030和/或存储器控制器1016可以在一个或更多个处理器1002的外部。例如,在至少一个实施例中,系统1000可以包括外部存储器控制器1016和平台控制器集线器1030,其可以配置成在与处理器1002通信的系统芯片组中的存储器控制器集线器和外围控制器集线器。
[0096]
此类组件可用于样式转换。
[0097]
图11是根据至少一个实施例的具有一个或更多个处理器核心1102a-1102n、集成存储器控制器1114和集成图形处理器1108的处理器1100的框图。在至少一个实施例中,处理器1100可以包含附加核心,多达并包括以虚线框表示的附加核心1102n。在至少一个实施例中,每个处理器核心1102a-1102n包括一个或更多个内部高速缓存单元1104a-1104n。在至少一个实施例中,每个处理器核心还可以访问一个或更多个共享高速缓存单元1106。
[0098]
在至少一个实施例中,内部高速缓存单元1104a-1104n和共享高速缓存单元1106表示处理器1100内的高速缓存存储器层次结构。在至少一个实施例中,高速缓存存储器单元1104a-1104n可以包括每个处理器核心内的至少一级指令和数据高速缓存以及共享中级高速缓存中的一级或更多级缓存,例如2级(l2)、3级(l3)、4级(l4)或其他级别的高速缓存,其中将外部存储器之前的最高级别的高速缓存归类为llc。在至少一个实施例中,高速缓存一致性逻辑维持各种高速缓存单元1106和1104a-1104n之间的一致性。
[0099]
在至少一个实施例中,处理器1100还可包括一组一个或更多个总线控制器单元1116和系统代理核心1110。在至少一个实施例中,一个或更多个总线控制器单元1116管理一组外围总线,例如一个或更多个pci或pcie总线。在至少一个实施例中,系统代理核心1110为各种处理器组件提供管理功能。在至少一个实施例中,系统代理核心1110包括一个或更多个集成存储器控制器1114,以管理对各种外部存储器设备(未示出)的访问。
[0100]
在至少一个实施例中,一个或更多个处理器核心1102a-1102n包括对多线程同时进行的支持。在至少一个实施例中,系统代理核心1110包括用于在多线程处理期间协调和操作核心1102a-1102n的组件。在至少一个实施例中,系统代理核心1110可以另外包括电源控制单元(pcu),该电源控制单元包括用于调节处理器核心1102a-1102n和图形处理器1108的一个或更多个电源状态的逻辑和组件。
[0101]
在至少一个实施例中,处理器1100还包括用于执行图处理操作的图形处理器1108。在至少一个实施例中,图形处理器1108与共享高速缓存单元1106和包括一个或更多个集成存储器控制器1114的系统代理核心1110耦合。在至少一个实施例中,系统代理核心1110还包括用于驱动图形处理器输出到一个或更多个耦合的显示器的显示器控制器1111。在至少一个实施例中,显示器控制器1111也可以是经由至少一个互连与图形处理器1108耦合的独立模块,或者可以集成在图形处理器1108内。
[0102]
在至少一个实施例中,基于环的互连单元1112用于耦合处理器1100的内部组件。在至少一个实施例中,可以使用替代性互连单元,例如点对点互连、交换互连或其他技术。在至少一个实施例中,图形处理器1108经由i/o链路1113与环形互连1112耦合。
[0103]
在至少一个实施例中,i/o链路1113代表多种i/o互连中的至少一种,包括促进各种处理器组件与高性能嵌入式存储器模块1118(例如edram模块)之间的通信的封装i/o互连。在至少一个实施例中,处理器核心1102a-1102n和图形处理器1108中的每一个使用嵌入式存储器模块1118作为共享的最后一级高速缓存。
[0104]
在至少一个实施例中,处理器核心1102a-1102n是执行公共指令集架构的同质核心。在至少一个实施例中,处理器核心1102a-1102n在指令集架构(isa)方面是异构的,其中一个或更多个处理器核心1102a-1102n执行公共指令集,而一个或更多个其他处理器核心1102a-1102n执行公共指令集的子集或不同指令集。在至少一个实施例中,就微架构而言,处理器核心1102a-1102n是异构的,其中具有相对较高功耗的一个或更多个核心与具有较低功耗的一个或更多个功率核心耦合。在至少一个实施例中,处理器1100可以在一个或更多个芯片上实现或被实现为soc集成电路。
[0105]
此类组件可用于样式转换。
[0106]
其他变型在本公开的精神内。因此,尽管公开的技术易于进行各种修改和替代构造,但是某些示出的其实施例在附图中示出并且已经在上面进行了详细描述。然而,应理解,无意将公开内容限制为所公开的一种或更多种特定形式,而是相反,其意图是涵盖落入如所附权利要求书所定义的本公开内容的精神和范围内的所有修改、替代构造和等同物。
[0107]
除非另有说明或显然与上下文矛盾,否则在描述所公开的实施例的上下文中(特别是在所附权利要求的上下文中),术语“一”和“一个”和“该”以及类似指代的使用应被解释为涵盖单数和复数,而不是作为术语的定义。除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”应被解释为开放式术语(意味着“包括但不限于”)。术语“连接”(在未经修改时指的是物理连接)应解释为部分或全部包含在内、附接到或连接在一起,即使有某些介入。除非本文另外指出,否则本文中对数值范围的引用仅旨在用作分别指代落入该范围内的每个单独值的简写方法,并且每个单独值都被并入说明书中,就如同其在本文中被单独叙述一样。除非另外指出或与上下文矛盾,否则术语“集”(例如“项目集”)或“子集”的使用应解释为包括一个或更多个成员的非空集合。此外,除非另外指出或与上下文矛盾,否则术
语相对应集的“子集”不一定表示对应集的适当子集,而是子集和对应集可以相等。
[0108]
除非以其他方式明确指出或与上下文明显矛盾,否则诸如“a,b和c中的至少一个”或“a,b与c中的至少一个”形式的短语之类的连接语在上下文中理解为通常用于表示项目、条款等,其可以是a或b或c,也可以是a和b和c集的任何非空子集。例如,在具有三个成员的集的说明性示例中,连接短语“a,b和c中的至少一个”和“a,b与c中的至少一个”是指以下任意集:{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}。因此,这种连接语言通常不旨在暗示某些实施例要求存在a中的至少一个,b中的至少一个和c中的至少一个。另外,除非另有说明或与上下文矛盾,否则术语“多个”表示复数的状态(例如,“多个项目”表示多个项目)。多个项目中项目的数量至少为两个,但如果明确指示或通过上下文指示,则可以更多。此外,除非另有说明或从上下文中可以清楚得知,否则短语“基于”是指“至少部分基于”而不是“仅基于”。
[0109]
除非本文另外指出或与上下文明显矛盾,否则本文描述的过程的操作可以任何合适的顺序执行。在至少一个实施例中,诸如本文所述的那些过程(或其变形和/或其组合)之类的过程在配置有可执行指令的一个或更多个计算机系统的控制下执行,并且被实现为代码(例如,可执行指令,一个或更多个计算机程序或一个或更多个应用程序),该代码通过硬件或其组合在一个或更多个处理器上共同执行。在至少一个实施例中,代码以例如计算机程序的形式存储在计算机可读存储介质上,该计算机程序包括可由一个或更多个处理器执行的多个指令。在至少一个实施例中,计算机可读存储介质是非暂时性计算机可读存储介质,其排除了暂时性信号(例如,传播的瞬态电或电磁传输),但包括非暂时性数据存储电路(例如,缓冲区、高速缓存和队列)。在至少一个实施例中,代码(例如,可执行代码或源代码)被存储在其上存储有可执行指令的一组一个或更多个非暂时性计算机可读存储介质(或用于存储可执行指令的其他存储器)上,该可执行指令在由计算机系统的一个或更多个处理器执行时(即,作为被执行的结果),使得计算机系统执行本文所述的操作。在至少一个实施例中,一组非暂时性计算机可读存储介质包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的个体非暂时性存储介质中的一个或更多个缺少全部代码,而是多个非暂时性计算机可读存储介质共同存储全部代码。在至少一个实施例中,可执行指令被执行,以使得不同的指令由不同的处理器执行,例如,非暂时性计算机可读存储介质存储指令,并且主中央处理单元(“cpu”)执行一些指令,而图形处理单元(“gpu”)和/或数据处理单元(“dpu”)执行其他指令。在至少一个实施例中,计算机系统的不同组件具有单独的处理器,并且不同的处理器执行指令的不同子集。
[0110]
因此,在至少一个实施例中,计算机系统被配置为实现单独地或共同地执行本文所述的过程的操作的一个或更多个服务,并且这样的计算机系统被配置有使能实施操作的适用的硬件和/或软件。此外,实现本公开的至少一个实施例的计算机系统是单个设备,并且在另一实施例中是分布式计算机系统,其包括以不同方式操作的多个设备,使得分布式计算机系统执行本文所述的操作,并且使得单个设备不执行所有操作。
[0111]
本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本公开的实施例,并且不对公开的范围构成限制,除非另有要求。说明书中的任何语言都不应被解释为表示任何未要求保护的要素对于实践公开内容是必不可少的。
[0112]
本文引用的所有参考文献,包括出版物、专利申请和专利,均通过引用并入本文,
其程度就如同每个参考文献被单独且具体地指示为以引用的方式并入本文并且其全部内容在本文中阐述一样。
[0113]
在说明书和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应当理解,这些术语可能不旨在作为彼此的同义词。相反,在特定示例中,“连接”或“耦合”可用于指示两个或更多个元件彼此直接或间接物理或电接触。“耦合”也可能意味着两个或更多个元素彼此不直接接触,但仍彼此协作或交互。
[0114]
除非另有明确说明,否则可以理解,在整个说明书中,诸如“处理”、“计算”、“核算”、“确定”等之类的术语,是指计算机或计算系统或类似的电子计算设备的动作和/或过程,其将计算系统的寄存器和/或存储器中表示为物理量(例如电子)的数据处理和/或转换为类似表示为计算系统的存储器、寄存器或其他此类信息存储、传输或显示设备中的物理量的其他数据。
[0115]
以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据并将该电子数据转换成可以存储在寄存器和/或存储器中的其他电子数据的任何设备或存储器的一部分。作为非限制性示例,“处理器”可以是能够进行通用处理的任何处理器,诸如cpu、gpu或dpu。作为非限制性示例,“处理器”可以是任何微控制器或专用处理单元,诸如dsp、图像信号处理器(“isp”)、算术逻辑单元(“alu”)、视觉处理单元(“vpu”)、树遍历单元(“ttu”)、光线追踪核心、张量追踪核心、张量处理单元(“tpu”)、嵌入式控制单元(“ecu”)等。作为非限制性示例,“处理器”可以是硬件加速器,诸如pva(可编程视觉加速器)、dla(深度学习加速器)等。作为非限制性示例,“处理器”还可以包括cpu、gpu等的一个或更多个虚拟实例,托管在执行一个或更多个虚拟机的底层硬件组件上。“计算平台”可以包括一个或更多个处理器。如本文所使用的,“软件”进程可以包括例如随时间执行工作的软件和/或硬件实体,诸如任务、线程和智能代理。同样,每个过程可以指代多个过程,以连续地或间歇地顺序地或并行地执行指令。术语“系统”和“方法”在本文中可以互换使用,只要系统可以体现一种或更多种方法,并且方法可以被认为是系统。
[0116]
在本文件中,可以参考获得、获取、接收或将模拟或数字数据输入子系统、计算机系统或计算机实现的机器中。可以通过多种方式来获得、获取、接收或输入模拟和数字数据,例如通过接收作为函数调用或对应用程序编程接口的调用的参数的数据。在一些实现方式中,可以通过经由串行或并行接口传输数据来完成获得、获取、接收或输入模拟或数字数据的过程。在另一实现方式中,可以通过经由计算机网络将数据从提供实体传输到获取实体来完成获得、获取、接收或输入模拟或数字数据的过程。也可以参考提供、输出、传送、发送或呈现模拟或数字数据。在各种示例中,提供、输出、传送、发送或呈现模拟或数字数据的过程可以通过将数据作为函数调用的输入或输出参数、应用程序编程接口或进程间通信机制的参数进行传输来实现。
[0117]
尽管上面的讨论阐述了所描述的技术的示例实现,但是其他架构可以用于实现所描述的功能,并且旨在落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了具体的职责分配,但是根据情况,可以以不同的方式分配和划分各种功能和职责。
[0118]
此外,尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书所要求保护的主题不必限于所描述的特定特征或动作。而是,公开了特定的特征和动作作为实现权利要求的示例性形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献