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

使用人工智能在3D物体上进行UV映射的制作方法

2022-02-25 22:04:50 来源:中国专利 TAG:

使用人工智能在3d物体上进行uv映射
1.背景
2.各种实施方案的领域
3.本发明涉及垃圾处理领域,具体而言涉及垃圾焚烧发电应急排放监管系统,分析系统、用户终端设备。
4.相关技术描述
5.三维(3d)图形应用使用户能够为各种应用设计并生成3d模型,包括基于3d模型的视频游戏、特殊效果、设计可视化以及打印物理物品。通常经由uv映射过程使用一个或多个2d图像对3d模型进行纹理化。uv映射过程通常涉及限定一组接缝,在该一组接缝处,3d模型应被分割或划分成一个或多个部分。将一个或多个部分展开或展平为单个2d图像(二维uv空间),以便可在2d图像上绘制纹理。以这种方式,将2d图像上的纹理应用或“映射”到3d模型。
6.在uv映射中,接缝在3d模型上的不当放置可能会导致几个问题。特别地,如果针对给定的3d模型限定太多的接缝、太少的接缝或错误放置的接缝,那么产生的2d纹理图像可能包含几个问题。如下面详细地描述,这些问题包括布局效率低、失真、视觉伪影以及未位于语义边界处的接缝。
7.关于布局效率低,当3d模型被展平时,展平的片段被排列在单个2d图像中。每个展平片段的大小和形状会影响展平的片段如何在2d图像上布局。根据排列,排列在2d图像上的展平片段周围将保留一定量的空白空间。然而,大量的空白空间以及因此对2d图像上的空间的非最佳使用是不合期望的。特别地,2d图像越大,用于存储2d图像的计算机存储空间就越多,用于传输2d图像的网络带宽就越多,并且在计算装置用纹理渲染3d模型时利用的存储器就越多。因此,将2d图像中的空白空间最小化的有效布局将是更合期望的。
8.关于失真,当将2d图像上的纹理应用于3d模型时,可能会拉伸或压缩2d图像。例如,如果将世界地图的图像放置在球体上,单个矩形片段将导致图像沿着赤道拉伸并沿着两极压缩。添加的接缝越多,产生的片段越多,从而减少在应用2d图像时的失真量。然而,使用很多的附加片段会影响2d图像的布局效率,并且因此通常不是减少失真的最佳解决方案。参考球体示例,与将3d模型划分成若干非矩形片段相比,将3d模型划分成单个矩形片段将在2d图像中导致更少的空白空间。
9.关于视觉伪影,当将2d图像上的纹理应用于3d模型时,接缝所在的位置周围可能会存在视觉伪影或视觉不连续。因此,在视觉上明显的区域放置接缝是不合期望的。例如,当将世界地图的图像放置在球体上时,在2d图像的边缘连结在一起的位置可能会存在线条、失真或其他视觉伪影。添加附加的接缝以减少失真将增加此类视觉伪影很明显的地方的数量。
10.另外,接缝将3d模型划分成一个或多个展平片段。放置接缝使得将3d模型划分成逻辑部分(即,沿着语义边界)使艺术家能够识别并编辑模型的不同部分的纹理。例如,对于人体模型,将模型划分成与手臂、腿部、头部和躯干相对应的片段将允许艺术家识别并编辑身体的每个部分的纹理。然而,不正确或不合期望的接缝放置可能导致3d模型被划分成太
多片段、具有一个以上逻辑语义对应关系的片段或者与3d模型没有逻辑语义对应关系的片段。参考人体模型示例,虽然将模型划分成附加的片段可能会导致更少的失真,但附加的片段可能在语义上不对应于人体的基础3d模型。因此,艺术家将难以确定身体的哪些部分应放在哪些片段上,或者放在每个片段上的哪个位置并且应在哪个取向上绘制身体部分。
11.如前所述,本领域需要用于为3d模型生成uv映射接缝的更有效和稳健的技术。


技术实现要素:

12.本技术的一个实施方案阐述了一种用于生成用于三维(3d)模型的一组接缝预测的计算机实现的方法。所述方法包括:基于所述3d模型来生成所述3d模型的一个或多个表示以作为一个或多个经训练的机器学习模型的输入;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述一个或多个表示来生成与所述3d模型相关联的一组接缝预测,其中所述一组接缝预测中包括的每个接缝预测识别能够沿其切割所述3d模型的不同接缝;以及基于所述一组接缝预测来将一个或多个接缝放置在所述3d模型上。
13.与先前方法相比,所公开的技术的至少一个优点在于不同于先前方法,计算机系统自动地生成用于3d模型的接缝,所述接缝在最小化失真和减少保护语义边界所需的片段数量的同时考虑到语义边界和接缝位置。另外,使用经训练的机器学习模型允许计算机系统基于学习到的最佳实践(即,基于在机器学习模型训练过程期间提取的难以察觉的标准)来生成接缝。
附图说明
14.为了能够详细地理解各种实施方案的上述特征,可参考各种实施方案来更具体地描述以上简要地概述的发明构思,这些实施方案中的一些在附图中示出。然而,应注意,附图仅示出了本发明构思的典型实施方案,并且因此决不应被认为是对范围的限制,并且存在其他同等有效的实施方案。
15.图1是示出被配置为实现本公开的一个或多个方面的计算系统的示意图。
16.图2是根据本公开的各种实施方案的图1的3d建模应用和机器学习模型的更详细图示。
17.图3是根据本公开的各种实施方案的由图1的3d建模应用执行的预测接缝生成的方法步骤的流程图。
18.图4是根据本公开的各种实施方案的由图1的3d建模应用执行的使用2d图像的预测接缝生成的方法步骤的流程图。
19.图5是根据本公开的各种实施方案的由图1的3d建模应用执行的使用图表示的预测接缝生成的方法步骤的流程图。
20.图6是根据本公开的各种实施方案的使用2d图像的预测接缝生成过程的图示。
21.图7是根据本公开的各种实施方案的使用图表示的预测接缝生成过程的图示。
具体实施方式
22.在以下描述中,阐述许多具体细节以提供对各种实施方案的更透彻的理解。然而,对本领域的技术人员将明显的是,可在没有这些具体细节中的一者或多者的情况下实践本
发明构思。
23.图1示出了被配置为实现本公开的一个或多个方面的计算装置100。如图所示,计算装置100包括互连(总线)112,该互连(总线)连接一个或多个处理单元102、耦合到一个或多个输入/输出(i/o)装置108的输入/输出(i/o)装置接口104、存储器116、存储设备114以及连接到网络110的网络接口106。
24.计算装置100包括服务器计算机、台式计算机、膝上型计算机、智能电话、个人数字助理(pda)、平板计算机或者被配置为接收输入、处理数据和任选地显示图像的任何其他类型的计算装置,并且适于实践一个或多个实施方案。本文所描述的计算装置100是说明性的,并且任何其他技术上可行的配置都落在本公开的范围内。
25.处理单元102包括被实现为以下项的任何合适的处理器:中央处理单元(cpu)、图形处理单元(gpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、诸如张量处理单元(tpu)的人工智能(ai)加速器、任何其他类型的处理单元、或者不同处理单元的组合,诸如被配置为与gpu结合操作的cpu。一般来说,处理单元102可为能够处理数据和/或执行软件应用的任何技术上可行的硬件单元。此外,在本公开的上下文中,计算装置100中示出的计算元件可对应于物理计算系统(例如,数据中心中的系统),或者可为在计算云内执行的虚拟计算实施方案。
26.在一个实施方案中,i/o装置108包括能够提供输入的装置,诸如键盘、鼠标、触敏屏等,以及能够提供输出的装置,诸如显示装置。另外,i/o装置108可包括能够接收输入和提供输出两者的装置,诸如触摸屏、通用串行总线(usb)端口等。i/o装置108可被配置为从计算装置100的终端用户(例如,设计者)接收各种类型的输入,并且还将各种类型的输出提供给计算装置100的终端用户,诸如所显示的数字图像或数字视频或文本。在一些实施方案中,i/o装置108中的一个或多个被配置为将计算装置100耦合到网络110。
27.网络110包括允许在计算装置100与外部实体或装置(诸如web服务器或另一个联网计算装置)之间交换数据的任何技术上可行的通信网络类型。例如,网络110可包括广域网(wan)、局域网(lan)、无线(wifi)网络和/或互联网等。
28.存储设备114包括用于应用和数据的非易失性存储设备,并且可包括固定或可移动磁盘驱动器、快闪存储器装置以及cd-rom、dvd-rom、蓝光光盘、hd-dvd、或者其他磁性、光学或固态存储装置。3d建模应用118和机器学习模型120可存储在存储设备114中并且在执行时加载到存储器116中。
29.存储器116包括随机存取存储器(ram)模块、快闪存储器单元、或者任何其他类型的存储器单元或其组合。处理单元102、i/o装置接口104和网络接口106被配置为从存储器116读取数据和将数据写入该存储器。存储器116包括可由处理单元102执行的各种软件程序和与所述软件程序相关联的应用数据,包括3d建模应用118和机器学习模型120。下面关于图2进一步详细地描述3d建模应用118和机器学习模型120。
30.图2是根据本公开的各种实施方案的图1的3d建模应用118和机器学习模型120的更详细图示。如图所示,3d建模应用118包括但不限于3d模型220、预处理引擎222、接缝可视化引擎224、后处理引擎226以及图形用户界面228。
31.3d建模应用118使用机器学习模型120的一个或多个模型自动地生成用于3d模型220的一组一个或多个预测接缝。每个预测的接缝指示可沿着其切割和展平3d模型220的可
能接缝。在一些实施方案中,3d建模应用118还包括用于生成或修改3d模型(诸如3d模型220)的工具和特征件。在其他实施方案中,3d建模应用118可为与用于生成或修改3d模型220的应用分开的应用或工具,并且可接收3d模型220用于生成预测接缝。
32.在操作中,预处理引擎222基于3d模型220来生成3d模型数据230,并且将3d模型数据230作为输入数据提供到机器学习模型120。在一些实施方案中,3d模型数据230包括3d模型220的一个或多个表示。
33.在一个或多个实施方案中,预处理引擎222通过基于3d模型220渲染一组2d图像来生成3d模型数据230。该一组2d图像中的每个2d图像描绘3d模型220的不同视角。3d模型的不同视角可为3d模型的不同缩放比例、观察角度、观察位置、3d模型姿态和/或空间变形的任何组合。另外,对于3d模型220的在所描绘的视角中可见的那部分,每个2d图像可对应于与3d模型220相关的不同类型的信息。不同类型的3d模型信息可为例如法向量、3d位置、线框、高斯曲率、形状指数、弯曲度、球度比或者模型几何形状的任何其他类型的本征量度。
34.对应于法向量信息的2d图像以红绿蓝(rgb)值表示从2d图像的视角可见的3d模型220的每个顶点的法向量。在2d图像中插值3d模型上的在顶点之间的位置。对应于3d位置信息的2d图像以rgb值表示从2d图像的视角的3d模型的所渲染的每个像素的3d位置。对应于线框信息的2d图像以灰度值表示对应于从2d图像的视角可见的3d模型220的边缘的线。对应于主曲率的2d图像以色调饱和度值(hsv)值表示3d模型的表面在每个点处的极值(即,局部最小值和最大值)弯曲。另外,可从主曲率值导出高斯曲率、形状指数、弯曲度和球度比。对应于高斯曲率信息的2d图像以色调饱和度值(hsv)值表示在最小化失真的同时映射到平面的可能性。对应于形状指数信息的2d图像以hsv值表示五个独特的局部曲率族。对应于弯曲度信息的2d图像以hsv值表示基于加权邻域的纯局部曲率。对应于球度比信息的2d图像以hsv值表示局部曲率与球体的接近程度。
35.在一个或多个实施方案中,预处理引擎222通过生成3d模型220的图表示来生成3d模型数据230。图表示包括对应于3d模型220的顶点的一组顶点和对应于3d模型220的边的一组边。在一些实施方案中,图表示的每个顶点包括与3d模型220的对应顶点相关的附加信息,诸如对应顶点的法向量、对应顶点的3d位置信息以及在最小化失真的同时对应顶点被映射到平面的可能性。
36.在一些实施方案中,预处理引擎222将3d模型220划分成多个组。每个组不遮挡该多个组中的其他组或与其交叉。例如,汽车的3d模型可分成包括汽车车轮的第一组和包括汽车车身的第二组。预处理引擎222使用以上讨论的任何技术来生成用于多个组中的每个组的相应3d模型数据230。
37.在实施方案中,预处理引擎222通过将3d模型220分成连接分量的集合(c)来将3d模型220划分成多个组。连接分量可包括3d模型220的彼此连接的一组顶点和边。例如,对于汽车的3d模型,形成汽车的右前轮的边和顶点将相互连接,但不会连接到形成汽车的左前轮的边和顶点或形成汽车的车身的边和顶点。预处理引擎222可将汽车的3d模型划分成五个连接分量:汽车的右前轮、左前轮、右后轮、左后轮以及车身。
38.对于集合c中的每个连接分量c[i],预处理引擎222将该分量添加到新的组g。对于集合c中的每个剩余分量c[j],预处理引擎222确定c[i]和c[j]是否交叉并且c[i]和c[j]是否彼此遮挡。如果c[i]和c[j]不交叉并且不彼此遮挡,则预处理引擎222将分量c[j]添加到
组g并从集合c移除分量c[j]。对集合c中的每个剩余分量重复该过程,直到该集合为空为止。
[0039]
机器学习模型120从3d建模应用118接收3d模型数据230,并且基于3d模型数据230来生成指示用于3d模型220的一个或多个预测接缝的预测接缝数据240。如果3d模型数据230对应于3d模型220的特定部分和/或3d模型220的特定视角,那么由机器学习模型120生成的预测接缝对应于3d模型220的特定部分和/或3d模型220的特定视角。
[0040]
机器学习模型120包括一个或多个经训练的机器学习模型,诸如模型210(1)和模型210(2)。尽管图2中示出了两个机器学习模型,但机器学习模型120可包括任意数量的机器学习模型。机器学习模型120中的每个机器学习模型可为任何技术上可行的机器学习模型。在一些实施方案中,机器学习模型120包括递归神经网络(rnn)、卷积神经网络(cnn)、深度神经网络(dnn)、深度卷积网络(dcn)、深度信念网络(dbn)、受限玻尔兹曼机(rbm)、长短期记忆(lstm)单元、门控循环单元(gru)、生成对抗网络(gan)、自组织映射(som)和/或其他类型的人工神经网络或人工神经网络的部件。在其他实施方案中,机器学习模型120包括执行聚类、主成分分析(pca)、潜在语义分析(lsa)、word2vec和/或另一种无监督、半监督、强化或自监督学习技术的功能。在一些实施方案中,机器学习模型120包括神经网络(浅层或深度)、回归模型、支持向量机、决策树、随机森林、梯度提升树、朴素贝叶斯分类器、贝叶斯网络、分层模型和/或组合模型。
[0041]
在一些实施方案中,机器学习模型120包括被训练来接收3d模型的2d图像并生成指示2d图像上的预测接缝的数据的经训练机器学习模型。例如,数据可指示2d图像的哪些像素对应于预测接缝。
[0042]
在一些实施方案中,机器学习模型120包括被训练来接收对应于3d模型的图表示并生成指示图表示的哪些顶点和/或边对应于预测接缝的数据的经训练机器学习模型。
[0043]
在一些实施方案中,机器学习模型120包括被训练来接收对应于3d模型的体积表示并生成指示体积表示的哪些体素对应于预测接缝的数据的经训练机器学习模型。
[0044]
在一些实施方案中,机器学习模型120包括被训练来接收3d模型的点云数据并生成指示点云表示中的哪些点对应于预测接缝的数据的经训练机器学习模型。
[0045]
在一些实施方案中,机器学习模型120包括被训练来接收对应于3d模型的参数表示并生成指示参数表示中的哪些参数值对应于预测接缝的数据的经训练机器学习模型。
[0046]
另外,在一些实施方案中,机器学习模型120包括一个或多个经训练机器学习模型,一个或多个经训练机器学习模型接收模型数据,该模型数据包括初始的一组预测接缝,并且例如通过以下方式来生成改善或调整的一组预测接缝:移除不满足阈值概率值的预测接缝、将预测接缝减小到指定的厚度、连接两个或更多个预测接缝以填充间隙、使预测接缝平滑、移除孤立的顶点、或者基于模型对称性来调整预测接缝。
[0047]
在一些实施方案中,由机器学习模型120生成的输出数据包括与预测接缝相关联的概率值。概率值可指示像素、顶点、边、体素或点对应于3d模型220的接缝的可能性。例如,概率值0可与像素、顶点或边相关联,以指示像素、顶点、边、体素或点不太可能对应于接缝,而概率值1可与像素、顶点、边、体素或点相关联,以指示像素、顶点、边、体素或点可能对应于接缝。在一些实施方案中,概率值可为两个二进制值之一,例如指示接缝或不是接缝。在一些实施方案中,概率值可为值的范围,例如以指示百分比可能性。
[0048]
机器学习模型120的模型可被训练来接收不同类型的输入数据、生成不同类型的输出数据,和/或可用不同的模型和训练超参数和权重进行训练。作为示例,模型210(1)可被训练来接收描绘3d模型的视图的2d图像并且生成指示用于2d图像中描绘的3d模型的视图的预测接缝的输出。模型210(2)可被训练来接收对应于3d模型的图数据并且生成指示图的哪些边被预测为对应于接缝的输出。作为另一个示例,模型210(1)可被训练来接收对应于3d模型的模型数据并且生成指示预测接缝的输出,而模型210(2)可被训练来接收对应于用于3d模型的一个或多个预测接缝的预测接缝数据并且生成指示用于3d模型的一个或多个改善的预测接缝的输出。在一些实施方案中,基于从3d建模应用118接收到的输入类型来选择机器学习模型120的一个或多个模型。
[0049]
在一些实施方案中,使用不同的训练数据集来训练机器学习模型120的模型。每个训练数据集可对应于不同风格的3d模型,诸如有机、人造、人类、汽车、动物或者其他类别或模型类型。可基于3d模型220的风格来选择机器学习模型120的一个或多个模型。
[0050]
在一些实施方案中,使用由用户提供的训练数据来训练机器学习模型120的一个或多个模型。例如,用户可提供用户先前创建并为其限定接缝的3d模型的训练集。因此,一个或多个模型被训练来基于从用户的先前工作中学到的偏好和其他标准来生成预测接缝。可基于用户使用3d建模应用118来选择机器学习模型120的一个或多个模型。
[0051]
在一些实施方案中,机器学习模型120的多个模型接收由3d建模应用118提供的相同输入。因此,机器学习模型120可基于单个输入来生成多组预测接缝。
[0052]
接缝可视化引擎224接收由机器学习模型120生成的预测接缝数据240并且处理预测接缝数据240。在一些实施方案中,处理预测接缝数据240包括聚合或组合多组预测接缝数据。在一些实施方案中,多组预测接缝数据对应于3d模型220的相同部分或3d模型220的相同视角。例如,提供到机器学习模型120的多个输入可对应于3d模型220的相同视角,但包括与3d模型220相关的不同信息。可基于每个输入来生成相应的一组预测接缝数据。作为另一个示例,机器学习模型120可针对由3d建模应用118提供的每个输入生成多组预测接缝数据。接缝可视化引擎224聚合多组预测接缝数据,以针对3d模型220的部分或在该视角处的3d模型220生成单组预测接缝。在一个或多个实施方案中,接缝可视化引擎224通过识别在多组预测接缝数据之间相同或在彼此的阈值距离内的预测接缝或者移除不属于阈值数量的组的预测接缝数据的预测接缝来聚合多组预测接缝数据。
[0053]
在一些实施方案中,多组预测接缝数据对应于3d模型220的不同部分或3d模型220的不同视角。接缝可视化引擎224组合多组预测接缝数据。在一个或多个实施方案中,组合多组预测接缝数据包括识别并合并在多组预测接缝数据之间重叠或连接的预测接缝,以生成用于3d模型220的单组预测接缝。在生成单组预测接缝之后,将预测接缝放置在3d模型220上。在一个或多个实施方案中,组合多组预测接缝数据包括针对每组预测接缝数据,基于该组预测接缝数据而将一个或多个预测接缝放置在3d模型220上。接缝可视化引擎224可以类似于以下讨论的方式将预测接缝放置在3d模型220上。在来自多组预测接缝数据的预测接缝放置在3d模型220上之后,3d模型220包括单组预测接缝。
[0054]
在一些实施方案中,处理预测接缝数据240包括基于预测接缝数据240而将一个或多个预测接缝放置在3d模型220上。在一些实施方案中,预测接缝数据240指示3d模型220上的可放置接缝的位置。接缝可视化引擎224基于由预测接缝数据240指示的位置来将一个或
多个预测接缝放置到3d模型220上。在一些实施方案中,预测接缝数据240指示3d模型220的被预测为对应于接缝的一个或多个边和/或一个或多个顶点。接缝可视化引擎224基于一个或多个边和/或一个或多个顶点来将一个或多个预测接缝放置到3d模型220上。
[0055]
在一些实施方案中,3d模型220的每个边和/或顶点与指示边或顶点对应于接缝的可能性的概率值相关联。将一个或多个预测接缝放置到3d模型220上包括基于预测接缝数据240来更新3d模型220的一个或多个边和/或一个或多个顶点的概率值。
[0056]
在一些实施方案中,预测接缝数据240包括与3d模型220的图表示的每个顶点相关联的相应概率值。将一个或多个预测接缝放置到3d模型220上包括针对图表示的每个顶点,确定3d模型220的对应顶点并且基于与图表示的顶点相关联的概率值来更新3d模型220的对应顶点的概率值。
[0057]
在一些实施方案中,预测接缝数据240包括与3d模型220的图表示的每个边相关联的相应概率值。将一个或多个预测接缝放置到3d模型220上包括针对图表示的每个边,确定3d模型220的对应边并且基于与图表示的边相关联的概率值来更新3d模型220的对应边的概率值。
[0058]
在一些实施方案中,预测接缝数据240包括描绘3d模型220的多个2d图像,并且对于多个2d图像中的每个2d图像,指示2d图像上的预测接缝。接缝可视化引擎224基于在多个2d图像中指示的预测接缝来将预测接缝投射到3d模型220上。
[0059]
在一些实施方案中,为了将预测接缝投射到3d模型220上,接缝可视化引擎224将概率值q[w]=0分派到3d模型220的每个顶点w。在一些实施方案中,每个2d图像对应于由相机位置k[v]捕获到的3d模型220的视角v,并且图像的每个像素[i,j]表示该像素对应于3d模型220上的接缝的概率(例如,概率p[i,j]==0不对应于接缝,而概率p[i,j]==1对应于接缝)。
[0060]
对于每个像素[i,j],接缝可视化引擎224计算源自相机位置k[v]并穿过该像素的向量。接缝可视化引擎224然后计算向量与3d模型220之间的交点t,n(如果有的话),其中t表示交点的位置并且n表示交点的法线。
[0061]
如果在向量与3d模型220之间存在交点,那么接缝可视化引擎224确定3d模型220的最接近该交点的顶点w,并且将该顶点的概率值q[w]更新为概率p[i,j]和q[w]的平均值。在一些实施方案中,接缝可视化引擎224用交点法线n和交点距离|t

k[v]|对概率值q[w]进行加权。在已经基于多个2d图像更新了3d模型220的顶点的概率值之后,接缝可视化引擎224基于与边的顶点相关联的概率值(例如,p[wi]和p[wj])来向3d模型的每个边[wi,wj]分配概率值。在一个实施方案中,分配给边的概率值是分配给边的顶点的概率值中的较大者。
[0062]
一旦预测接缝已经放置到3d模型上,后处理引擎226就诸如通过以下方式来改善或调整预测接缝:移除不满足阈值概率值的预测接缝、将预测接缝减小到指定的厚度、连接两个或更多个预测接缝以填充间隙、使预测接缝平滑、移除孤立的顶点以及基于模型对称性来调整预测接缝。
[0063]
在一些实施方案中,为了移除不满足阈值概率值的预测接缝,后处理引擎226确定3d模型220的顶点或边缘是否与低于阈值概率值的概率值相关联。如果顶点或边与低于阈值概率值的概率值相关联,则后处理引擎226将该概率值更新为指示边或顶点不对应于接缝的值,例如概率值零。
[0064]
在一些实施方案中,为了基于模型对称性来调整预测接缝,后处理引擎226分析3d模型220以识别左右对称地匹配的顶点,例如左手侧和右手侧是对称的。对于任何一对对称的顶点,后处理引擎226用两个概率值的平均值来替换与每个顶点相关联的概率值。
[0065]
在一些实施方案中,为了填充或减少预测接缝中的间隙,后处理引擎226识别预测接缝的一部分,其中与预测接缝的该部分中的顶点相关联的概率值低于阈值概率值。后处理引擎226将预测接缝的该部分中的顶点的概率值调整为阈值概率值。
[0066]
在一些实施方案中,预测接缝有多个边厚,例如包括3d模型220的多个平行边。后处理引擎226调整预测接缝,使得它只有单个边厚。例如,如果预测接缝包括三个平行边,则后处理引擎226将与边中的两个相关联的概率值调整为零,以从预测接缝移除所述边。另外,后处理引擎226还可从预测接缝中移除将剩余边连接到被移除的边的任何边。在一些实施方案中,后处理引擎226选择在一组平行边的中间的边作为剩余边。在其他实施方案中,后处理引擎226选择与最高概率值相关联的边作为剩余边。
[0067]
在一些实施方案中,后处理引擎226从该一组预测接缝移除杂散或孤立的顶点。后处理引擎226识别概率值大于阈值概率值但如果被移除也不会影响连接的接缝的拓扑的顶点。后处理引擎226将与孤立顶点相关联的概率值调整为零,以将它们从该一组预测接缝移除。
[0068]
在一些实施方案中,为了使预测接缝平滑,后处理引擎226将预测接缝中的一个或多个顶点移动到邻近的顶点。在一些实施方案中,如果移动会减小预测接缝中的连续边之间的角度,则后处理引擎226将顶点移动到邻近的顶点。减小预测接缝中的边之间的角度会将接缝更改为仍紧密接近预测接缝的原始路径的更平滑型式。
[0069]
在一些实施方案中,后处理引擎226使用机器学习模型120来调整或改善预测接缝。后处理引擎226基于预测接缝来生成3d模型数据230,并且将3d模型数据230提供到机器学习模型120。在一个实施方案中,后处理引擎226生成3d模型220的包括一组预测接缝的图表示。后处理引擎226将图表示提供到机器学习模型120。机器学习模型120调整并改善图表示中的该一组预测接缝。例如,图表示的每个边可与指示边是接缝的可能性的概率值相关联。机器学习模型120通过调整与图表示的边相关联的概率值来调整或改善该一组预测接缝。
[0070]
图形用户界面228显示3d模型220。在一些实施方案中,图形用户界面228包括用于旋转、放大和缩小以及以其他方式从不同视角查看3d模型220的控件。在一个或多个预测接缝被放置在3d模型220上之后,图形用户界面228进行更新以显示具有其预测接缝的3d模型220。
[0071]
在一些实施方案中,每个预测接缝与概率值相关联。图形用户界面228显示与每个预测接缝相关联的概率值的视觉指示。例如,图形用户界面228可使用一系列颜色来对应于一定范围的概率值,并且使用对应于与预测接缝相关联的概率值的颜色来显示每个预测接缝。作为另一个示例,当用户将光标放在预测接缝上或选择预测接缝时,图形用户界面228可显示与该预测接缝相关联的概率值。
[0072]
在一些实施方案中,图形用户界面228包括使用户能够调整一个或多个预测接缝的图形控件。在一些实施方案中,图形用户界面228包括允许用户向3d模型220添加接缝、修改预测接缝、移除预测接缝或者合并两个或更多个预测接缝的工具和控件。在一些实施方
案中,在用户已经调整一个或多个预测接缝之后,具有经调整接缝的3d模型220被存储或以其他方式提供到机器学习模型120,以用于训练额外的机器学习模型或改善经训练的机器学习模型。
[0073]
在一些实施方案中,图形用户界面228包括允许用户改变与预处理引擎222、机器学习模型120、接缝可视化引擎224和/或后处理引擎226相关联的配置设置的工具和控件。作为示例,图形用户界面228可包括用于调整由预处理引擎222生成的输入的图形控件,诸如输入的数量、输入的类型、与在生成输入时使用的3d模型220相关的信息、或者是否将3d模型220划分成多个组。作为另一个示例,图形用户界面228可包括用于从多个3d模型样式中选择3d模型样式的图形控件。每个3d模型样式可对应于不同的机器学习模型,诸如有机、人造、人类、汽车、动物或者用于训练不同机器学习模型的其他样式的3d模型。
[0074]
在一些实施方案中,图形用户界面228基于改变的配置设置如何影响预测接缝来更新在3d模型220上显示的预测接缝。例如,图形用户界面228可包括用于指定或调整阈值概率值的控件。后处理引擎226可隐藏、丢弃或移除与高于阈值概率值的概率值不相关联的预测接缝。在使用图形用户界面228调整阈值概率值之后,后处理引擎226基于调整的阈值概率值来更新用于3d模型220的预测接缝。图形用户界面228用更新的一组预测接缝来更新3d模型220的显示。
[0075]
图3是根据本公开的各种实施方案的由图1的3d建模应用118执行的预测接缝生成的方法步骤的流程图。尽管结合图1和图2的系统描述方法步骤,但本领域技术人员将理解,被配置为以任何次序执行方法步骤的任何系统都落入本公开的范围内。
[0076]
在步骤302中,预处理引擎222处理3d模型220以生成用于机器学习模型120的一个或多个输入。以与上文关于预处理引擎222所公开的方式类似并且如下文关于图4和图5进一步描述的方式来执行生成一个或多个输入。
[0077]
在一些实施方案中,预处理引擎222通过基于3d模型220渲染一组2d图像来生成一个或多个输入。该一组2d图像中的每个2d图像描绘3d模型220的不同视角。3d模型的不同视角可为不同缩放比例、观察角度、观察位置和/或3d模型姿态的任何组合。另外,对于3d模型220的在所描绘的视角中可见的那部分,每个2d图像可对应于与3d模型220相关的不同类型的信息。
[0078]
在一些实施方案中,预处理引擎222通过生成3d模型220的图表示来生成一个或多个输入。图表示包括对应于3d模型220的顶点的一组节点和对应于3d模型220的边的一组边。在一些实施方案中,图表示的每个节点包括与3d模型220的对应顶点相关的附加信息,诸如对应顶点的法向量、对应顶点的3d位置信息以及在最小化失真的同时对应顶点被映射到平面的可能性。
[0079]
在一些实施方案中,预处理引擎222将3d模型220划分成多个组。每个组不遮挡该多个组中的其他组或与其交叉。例如,汽车的3d模型可分成包括汽车车轮的第一组和包括汽车车身的第二组。作为另一个示例,人类的3d模型可分成包括头的组、包括四肢的组以及包括躯干的组。预处理引擎222使用以上讨论的任何技术来生成用于多个组中的每个组的相应3d模型数据230。
[0080]
在步骤304中,3d建模应用118将机器学习模型120应用于一个或多个输入。在一些实施方案中,应用机器学习模型120包括将一个或多个输入提供到机器学习模型120的一个
或多个模型。机器学习模型120接收一个或多个输入,并且基于该一个或多个输入而生成指示用于3d模型220的一个或多个预测接缝的输出数据。如果3d模型数据230对应于3d模型220的特定部分和/或3d模型220的特定视角,那么预测接缝对应于3d模型220的特定部分和/或3d模型220的特定视角。
[0081]
在步骤306中,3d建模应用118从机器学习模型120接收输出数据。输出数据基于在步骤304中提供到机器学习模型120的一个或多个输入来指示用于3d模型220的一个或多个预测接缝。在一些实施方案中,一个或多个输入包括3d模型220的2d图像,并且从机器学习模型120接收到的输出数据指示2d图像上的预测接缝。在一些实施方案中,一个或多个输入包括对应于3d模型220的图表示,并且从机器学习模型120接收到的输出数据指示图表示的哪些边对应于预测接缝。
[0082]
在步骤308中,接缝可视化引擎224处理输出数据以生成用于3d模型220的一组预测接缝。以与上文关于接缝可视化引擎224所公开的方式类似并且如下文关于图4和图5进一步描述的方式来执行处理输出数据。在一些实施方案中,处理输出数据包括聚合或组合多组输出数据以生成用于3d模型220的一组组合的预测接缝。在一些实施方案中,处理输出数据包括基于输出数据来将一个或多个接缝放置到3d模型220上。
[0083]
在一些实施方案中,输出数据指示3d模型220上的被预测为对应于接缝的位置。接缝可视化引擎224基于由输出数据指示的位置来将一个或多个预测接缝放置到3d模型220上。例如,输出数据可指示在描绘3d模型220的2d图像上的预测接缝,并且接缝可视化引擎224基于2d图像将预测接缝投射到3d模型220上。作为另一个示例,输出数据可指示3d模型220的被预测为接缝的部分的一个或多个边和/或一个或多个顶点,并且接缝可视化引擎224基于一个或多个边和/或一个或多个顶点来将一个或多个预测接缝放置到3d模型220上。
[0084]
在步骤310中,后处理引擎226改善该一组预测接缝。以与上文关于后处理引擎226所公开的方式类似并且如下文关于图4和图5进一步描述的方式来执行改善该一组预测接缝。在一些实施方案中,后处理引擎226通过以下方式来改善该一组预测接缝:移除不满足阈值概率值的预测接缝、将预测接缝减小到指定的厚度、连接两个或更多个预测接缝以填充间隙、使预测接缝平滑、移除孤立的顶点、或者基于模型对称性来调整预测接缝。
[0085]
在一些实施方案中,后处理引擎226通过使用机器学习模型120来改善该一组预测接缝。后处理引擎226基于预测接缝来生成输入数据,并且将输入数据提供到机器学习模型120。作为示例,后处理引擎226可生成3d模型220的包括一组预测接缝的图表示。后处理引擎226将图表示提供到机器学习模型120。机器学习模型120调整并改善图表示中的该一组预测接缝。
[0086]
在步骤312中,3d建模应用118将预测接缝应用于3d模型220。在一些实施方案中,响应于经由图形用户界面228接收到接受预测接缝的用户输入,3d建模应用118应用预测接缝。
[0087]
在一些实施方案中,将预测接缝应用于3d模型220包括沿着预测接缝分割3d模型,并且将3d模型220的所得片段展平为2d纹理图像。在其他实施方案中,将预测接缝应用于3d模型220包括存储具有预测接缝的3d模型220和/或将具有预测接缝的3d模型220提供到执行2d纹理图像生成的不同应用或工具。
[0088]
图4是根据本公开的各种实施方案的由图1的3d建模应用执行的使用2d图像的预测接缝生成的方法步骤的流程图。尽管结合图1和图2的系统描述方法步骤,但本领域技术人员将理解,被配置为以任何次序执行方法步骤的任何系统都落入本公开的范围内。
[0089]
在步骤402中,预处理引擎222将3d模型220渲染为一组2d图像。以与上文关于预处理引擎222所公开的方式类似的方式执行将3d模型220渲染为一组2d图像。在一些实施方案中,该一组2d图像中的每个2d图像描绘3d模型220的不同视角。3d模型的不同视角可为不同缩放比例、观察角度、观察位置和/或3d模型姿态的任何组合。另外,对于3d模型220的在所描绘的视角中可见的那部分,每个2d图像可对应于与3d模型220相关的不同类型的信息。在一些实施方案中,预处理引擎222将3d模型220划分成不遮挡且不交叉的多个组。预处理引擎222针对该多个组中的每个组生成相应的一组2d图像。
[0090]
在步骤404中,3d建模应用118将机器学习模型120应用于该一组2d图像中的2d图像。在一些实施方案中,将机器学习模型120应用于2d图像包括将2d图像提供到机器学习模型120的一个或多个模型。机器学习模型120从3d建模应用118接收2d图像并且基于2d图像来生成指示2d图像上的用于3d模型220的预测接缝的输出数据。
[0091]
在步骤406中,3d建模应用118从机器学习模型120接收指示2d图像上的预测接缝的输出数据。例如,对于2d图像中的每个像素,输出数据可指示该像素是否被预测为对应于3d模型220上的接缝。
[0092]
在步骤408中,接缝可视化引擎224基于2d图像来将预测接缝放置在3d模型220上。以与上文关于接缝可视化引擎224所公开的方式类似的方式执行基于2d图像来将预测接缝放置在3d模型220上。在实施方案中,接缝可视化引擎224通过将在2d图像中指示的预测接缝投射到3d模型220上来将预测接缝放置在3d模型上。例如,3d模型220的每个顶点可与指示该顶点是接缝的部分的概率的概率值相关联。对于2d图像的每个像素,接缝可视化引擎224确定3d模型220的对应于该像素的顶点并且基于与该像素相关联的概率值来更新与该顶点相关联的概率值。
[0093]
针对该一组2d图像中的每个2d图像,重复以上步骤404-408。在针对该一组2d图像执行步骤404-408之后,3d模型220包括对应于该一组2d图像的预测接缝。
[0094]
在步骤410中,后处理引擎226改善放置在3d模型220上的预测接缝。以与上文关于后处理引擎226所公开的方式类似的方式来执行改善预测接缝。在一些实施方案中,后处理引擎226例如通过以下方式来改善3d模型220上的预测接缝:移除不满足阈值概率值的预测接缝、将预测接缝减小到指定的厚度、连接两个或更多个预测接缝以填充间隙、使预测接缝平滑、移除孤立的顶点、以及基于模型对称性来调整预测接缝。
[0095]
在一些实施方案中,后处理引擎226使用机器学习模型120来调整或改善预测接缝。后处理引擎226基于预测接缝来生成3d模型数据230,并且将3d模型数据230提供到机器学习模型120。在一个实施方案中,后处理引擎226生成3d模型220的包括一组预测接缝的图表示。后处理引擎226将图表示提供到机器学习模型120。机器学习模型120调整并改善图表示中的该一组预测接缝。例如,图表示的每个边可与指示边是接缝的可能性的概率值相关联。机器学习模型120通过调整与图表示的边相关联的概率值来调整或改善该一组预测接缝。
[0096]
图5是根据本公开的各种实施方案的由图1的3d建模应用执行的使用图表示的预
测接缝生成的方法步骤的流程图。尽管结合图1和图2的系统描述方法步骤,但本领域技术人员将理解,被配置为以任何次序执行方法步骤的任何系统都落入本公开的范围内。
[0097]
在步骤502中,预处理引擎222处理3d模型220以生成3d模型220的图表示。以与上文关于预处理引擎222所公开的方式类似的方式执行生成3d模型220的图表示。在一些实施方案中,图表示包括对应于3d模型220的顶点的一组顶点和对应于3d模型220的边的一组边。另外,在一些实施方案中,图表示的每个顶点包括与3d模型220的对应顶点相关的附加信息,诸如对应顶点的法向量、对应顶点的3d位置信息以及在最小化失真的同时对应顶点被映射到平面的可能性。
[0098]
在一些实施方案中,预处理引擎222将3d模型220划分成不遮挡且不交叉的多个组。预处理引擎222针对该多个组中的每个组生成相应的图表示。
[0099]
在步骤504中,3d建模应用118将机器学习模型120应用于图表示。在一些实施方案中,将机器学习模型120应用于图表示包括将图表示提供到机器学习模型120的一个或多个模型。机器学习模型120从3d建模应用118接收图表示并且基于图表示来生成指示对应于图表示的预测接缝的输出数据。例如,输出数据可指示图表示的一个或多个顶点和/或一个或多个边是否被预测为3d模型220上的接缝的部分。
[0100]
在步骤506中,3d建模应用118从机器学习模型120接收指示图表示的哪些边和/或顶点对应于3d模型220上的接缝或接缝的部分的输出数据。例如,对于图表示的每个边或顶点,输出数据可指示该边或顶点是否被预测为对应于3d模型220上的接缝。
[0101]
在步骤508中,接缝可视化引擎224基于输出数据来将一个或多个预测接缝放置在3d模型220上。以与上文关于接缝可视化引擎224所公开的方式类似的方式执行基于输出数据来将预测接缝放置在3d模型220上。在实施方案中,接缝可视化引擎224基于由输出数据指示为对应于接缝的图表示的边和/或顶点来放置一个或多个预测接缝。在一些实施方案中,3d模型220的每个顶点或边可与指示该边或顶点是接缝的部分的概率的概率值相关联。接缝可视化引擎224基于与图表示中的对应边或顶点相关联的概率值来更新每个边或顶点的概率值。
[0102]
在步骤510中,后处理引擎226改善放置在3d模型220上的预测接缝。以与上文关于后处理引擎226所公开的方式类似的方式来执行改善预测接缝。在一些实施方案中,后处理引擎226例如通过以下方式来改善3d模型220上的预测接缝:移除不满足阈值概率值的预测接缝、将预测接缝减小到指定的厚度、连接两个或更多个预测接缝以填充间隙、使预测接缝平滑、移除孤立的顶点、以及基于模型对称性来调整预测接缝。
[0103]
在一些实施方案中,后处理引擎226使用机器学习模型120来调整或改善预测接缝。后处理引擎226基于预测接缝来生成3d模型数据230,并且将3d模型数据230提供到机器学习模型120。在一个实施方案中,后处理引擎226生成3d模型220的包括一组预测接缝的图表示。后处理引擎226将图表示提供到机器学习模型120。机器学习模型120调整并改善图表示中的该一组预测接缝。例如,图表示的每个边可与指示边是接缝的可能性的概率值相关联。机器学习模型120通过调整与图表示的边相关联的概率值来调整或改善该一组预测接缝。
[0104]
图6是根据本公开的各种实施方案的预测接缝生成过程的图示。在图6中,3d模型示出了使用3d建模应用118生成或提供到3d建模应用118的示例3d模型220。
[0105]
在步骤610中,预处理引擎222基于3d模型来生成一组2d图像。2d图像(1)、2d图像(2)和2d图像(3)示出了由预处理引擎222从3d模型渲染的示例2d图像。如图6所示,每个2d图像描绘3d模型的不同视角。尽管图中未示出,但每个2d图像也可基于与3d模型相关的不同信息。尽管图6中示出了三个2d图像,但可从3d模型渲染任意数量的2d图像。在一些实施方案中,预处理引擎222渲染多个2d图像,使得在至少一个2d图像中描绘3d模型的每个部分。
[0106]
在步骤620中,3d建模应用118将该一组2d图像提供到机器学习模型120。机器学习模型120接收该一组2d图像,并且针对该一组2d图像中的每个2d图像生成用于3d模型的一个或多个预测接缝。预测接缝(1)、预测接缝(2)和预测接缝(3)分别示出了由机器学习模型120基于2d图像(1)、2d图像(2)和2d图像(3)生成的预测接缝的示例。例如,机器学习模型120接收2d图像(1)并且基于2d图像(1)来生成指示用于在2d图像(1)中描绘的3d模型的视图的一个或多个预测接缝的预测接缝(1)。尽管图6示出了对应于每个2d图像的单个预测接缝,但机器学习模型120可针对由3d建模应用118提供的每个2d图像生成多个预测接缝。
[0107]
在步骤630中,机器学习模型120将该一组预测接缝(预测接缝(1)、预测接缝(2)和预测接缝(3))提供到3d建模应用118。
[0108]
在步骤640中,接缝可视化引擎224将该一组预测接缝放置到3d模型上。更新的3d模型示出了由接缝可视化引擎224放置在3d模型上的预测接缝的示例。
[0109]
图7是根据本公开的各种实施方案的预测接缝生成过程的图示。在图7中,3d模型示出了使用3d建模应用118生成或提供到3d建模应用118的示例3d模型220。
[0110]
在步骤710中,预处理引擎222基于3d模型来生成图表示。
[0111]
在步骤720中,3d建模应用118将图表示提供到机器学习模型120。机器学习模型120接收图表示并且生成指示用于3d模型的一个或多个预测接缝的带注释的图表示。带注释的图表示包括指示对于图表示中的每个顶点和/或边,该顶点和/或边是否被预测为用于3d模型的接缝的部分的数据。
[0112]
在步骤730中,机器学习模型120将带注释的图表示提供到3d建模应用118。
[0113]
在步骤740中,接缝可视化引擎224基于带注释的图表示来将一个或多个预测接缝放置在3d模型上。更新的3d模型示出了由接缝可视化引擎224放置在3d模型上的预测接缝的示例。
[0114]
如上文关于图形用户界面228所讨论,图形用户界面显示3d模型和更新的3d模型。在一些实施方案中,图形用户界面228包括使用户能够旋转、缩放和平移更新的3d模型以查看放置在3d模型上的预测接缝的图形控件。在一些实施方案中,图形用户界面228包括使用户能够向更新的3d模型添加接缝、修改放置在更新的3d模型上的预测接缝、移除预测接缝或者合并两个或更多个预测接缝的工具和控件。
[0115]
在一些实施方案中,3d建模应用118评估用于3d模型的预测接缝和/或由将预测接缝应用于3d模型所产生的uv映射。
[0116]
在一些实施方案中,验证或评估预测接缝包括例如确定将uv映射应用于3d模型是否导致最小可见失真;uv映射是否被包含在uv空间中的最少数量的壳层内;预测接缝是否放置在3d模型上的隐藏位置或不太可见的位置;或者uv映射是否被限定在优化的uv空间内。
[0117]
将失真量最小化会最小化在将纹理从2d图像映射到3d模型上时发生的压缩量或拉伸量。在一些实施方案中,确定将uv映射应用于3d模型是否导致最小可见失真可包括确定在将纹理映射到3d模型上时发生了多少压缩或拉伸。确定将uv映射应用于3d模型是否导致最小可见失真还可包括确定压缩量或拉伸量是否在阈值量内。
[0118]
最小化壳层的数量可保护3d模型的语义边界。在一些实施方案中,确定uv映射是否被包含在uv空间中的最小数量的壳层内包括确定在应用接缝时uv映射中产生多少壳层。确定uv映射是否被包含在uv空间中的最小数量的壳层内还可包括例如基于3d模型中的物体类型、由机器学习模型基于3d模型指示的量或者由用户指示的最大数量的壳层来确定壳层的数量是否在阈值量内。
[0119]
在一些实施方案中,确定预测接缝是否放置在3d模型上的隐藏位置或不太可见位置包括确定从一个或多个相机位置是否可见预测接缝。一个或多个相机位置可基于3d模型将如何被可视化。例如,如果将从高空视角查看3d模型,那么一个或多个相机位置包括一个或多个高空相机位置。
[0120]
将uv映射限定在优化的uv空间内减少了存储和处理uv映射所需要的资源量,例如,计算机存储空间、计算机存储器使用和网络带宽。在一些实施方案中,确定uv映射是否被限定在优化的uv空间内包括确定uv映射的大小。确定uv映射是否被限定在优化的uv空间内还可包括确定该大小是否在阈值尺寸内。在一些实施方案中,确定uv映射是否被限定在优化的uv空间内包括与对应于3d模型的空间量相比,确定uv映射中的空的空间量。
[0121]
在一些实施方案中,评估预测接缝可包括生成与预测接缝相关联的一个或多个验证值。验证值可指示例如该一组预测接缝是正确的置信水平、该一组预测接缝是否满足以上讨论的标准中的一个或多个、预测接缝是用于3d模型的似真接缝的可能性、该一组预测接缝与用于3d模型的一组提供的接缝(例如,先前由用户创建)有多紧密匹配。可在图形用户界面228中向用户显示一个或多个验证值。例如,3d建模应用118可生成并显示指示一个或多个验证值的分析报告。
[0122]
在一些实施方案中,生成一个或多个验证值包括生成与预测接缝相关联的置信区间。基于一组验证样本来评估机器学习模型120的准确性。可基于用于生成预测接缝的机器学习模型120的特定机器学习模型的准确性来生成置信区间。置信区间指示机器学习模型对预测接缝的子集的置信度。
[0123]
在一些实施方案中,生成一个或多个验证值包括将预测接缝与为3d模型提供的一组接缝进行比较。该一组提供的接缝可为例如先前由用户或由其他机器学习模型针对3d模型的创建的接缝。基于比较(诸如失真差异、壳层数量差异、真位置率、假位置率或假阴性率)来生成一个或多个验证值。
[0124]
在一些实施方案中,生成一个或多个验证值包括将预测接缝提供到一个或多个经训练的机器学习模型,所述经训练的机器学习模型被训练来接收指示一组预测接缝的输入并且生成指示该一组预测接缝的准确性的输出。一个或多个经训练的机器学习模型可为用于评估由生成预测接缝的对应机器学习模型产生的结果的判别模型。
[0125]
在一些实施方案中,基于评估预测接缝,具有预测接缝的3d模型被存储或以其他方式提供到机器学习模型120,以用于训练额外的机器学习模型或改善经训练的机器学习模型。例如,如果评估指示预测接缝不满足以上讨论的标准,则可改善预测接缝或者可将3d
模型提供给一个或多个用户以手动限定一组接缝。具有改善或手动限定的接缝的3d模型作为训练输入提供到机器学习模型120。使用评估结果来重新训练机器学习模型的一个优点在于,机器学习模型可从与先前用于训练机器学习模型的3d模型不一致的3d模型(诸如具有不常见形状或描绘新的物体类型的3d模型)中学习。
[0126]
总之,计算机系统为3d模型生成一组接缝,该一组接缝指示3d模型可如何展开和展平为2d图像以应用纹理。计算机系统处理3d模型以生成提供到经训练的神经网络的一个或多个输入。
[0127]
经训练的神经网络被配置为接收一个或多个输入并且生成指示用于3d模型的一个或多个预测接缝的输出。计算机系统进一步改善一个或多个预测接缝以例如提高对称性、拉直接缝线并减少失真。另外,计算机系统使用户能够经由gui来查看3d模型上的一个或多个预测接缝、修改参数以改善预测接缝、以及选择指示接受哪些预测接缝的概率阈值。
[0128]
在一种方法中,为了生成用于经训练的神经网络的一个或多个输入,计算机系统将3d模型渲染成一组2d图像,其中每个2d图像从不同的视角描绘3d模型。经训练的神经网络接收每个2d图像,并且基于该2d图像生成每个2d图像上的预测接缝的指示。基于2d图像上的预测接缝的位置和2d图像所描绘的视角,计算机系统将预测接缝放置到3d模型上的对应位置。
[0129]
在另一种方法中,为了生成用于经训练的神经网络的一个或多个输入,计算机系统生成3d模型的图表示。图表示作为输入提供到经训练的神经网络,并且经训练的神经网络生成指示图表示的每个边或顶点是否被预测为接缝或接缝的部分的输出。基于3d模型的被预测为接缝或接缝的部分的边,计算机系统将预测接缝放置到3d模型上的对应边处。
[0130]
在另一种方法中,使用第一经训练的神经网络来生成第一组预测接缝。计算机系统处理第一组预测接缝以生成用于第二经训练的神经网络的输入。第二经训练的神经网络被配置为接收第一组预测接缝,并且例如通过提高对称性、拉直接缝线以及减少失真来改善第一组预测接缝以生成第二组预测接缝。可使用以上讨论的任何方法来生成提供到第一经训练神经网络和第二经训练神经网络的输入。例如,可通过将3d模型的一组2d图像提供到第一经训练的神经网络来生成第一组预测接缝。在计算机系统将第一组预测接缝放置到3d模型上之后,计算机系统生成包括第一组预测接缝的3d模型的图表示。图表示作为输入提供到第二经训练的神经网络。
[0131]
与先前方法相比,所公开的技术的至少一个优点在于不同于先前方法,计算机系统自动地生成用于3d模型的接缝,所述接缝在最小化失真和布局效率低的同时考虑到语义边界和接缝位置。这些技术优点提供优于现有技术方法的一个或多个技术进步。
[0132]
1.在一些实施方案中,一种用于自动地生成用于三维(3d)模型的接缝的方法包括:基于所述3d模型来生成所述3d模型的一个或多个表示以作为一个或多个经训练的机器学习模型的输入;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述一个或多个表示来生成与所述3d模型相关联的一组接缝预测,其中所述一组接缝预测中包括的每个接缝预测识别能够沿其切割所述3d模型的不同接缝;以及基于所述一组接缝预测来将一个或多个接缝放置在所述3d模型上。
[0133]
2.如条款1所述的方法,所述方法还包括:将所述3d模型划分成多个组;以及针对所述多个组中的每个组,生成所述3d模型的相应的一个或多个表示以作为所述一个或多个
经训练的机器学习模型的输入。
[0134]
3.如条款1和2中任一项所述的方法,其中所述3d模型的所述一个或多个表示包括一个或多个2d图像,其中所述一组接缝预测指示对于所述一个或多个2d图像中的每个2d图像,所述2d图像中的相应的一个或多个接缝预测。
[0135]
4.如条款1-3中任一项所述的方法,其中将所述一个或多个接缝放置在所述3d模型上包括对于所述一个或多个2d图像中的每个2d图像,将所述2d图像中的所述相应的一个或多个接缝预测投射到所述3d模型上。
[0136]
5.如条款1-4中任一项所述的方法,其中所述3d模型的所述一个或多个表示包括所述3d模型的图表示,其中所述一组接缝预测指示所述图表示的被预测为接缝的部分的一个或多个边。
[0137]
6.如条款1-5中任一项所述的方法,其中将所述一个或多个接缝放置在所述3d模型上包括:针对所述图表示的被预测为接缝的部分的所述一个或多个边中的每个边,确定所述3d模型的对应边;以及将接缝的边放置在所述3d模型的所述对应边处。
[0138]
7.如条款1-6中任一项所述的方法,其中所述3d模型的所述一个或多个表示包括所述3d模型的图表示,其中所述一组接缝预测指示所述图表示的被预测为接缝的部分的一个或多个顶点。
[0139]
8.如条款1-7中任一项所述的方法,其中将所述一个或多个接缝放置在所述3d模型上包括:针对所述图表示的被预测为接缝的部分的所述一个或多个顶点中的每个顶点,确定所述3d模型的对应顶点;以及将接缝的顶点放置在所述3d模型的所述对应顶点处。
[0140]
9.如条款1-8中任一项所述的方法,其中所述3d模型包括多个边,其中每个边与指示所述边对应于接缝的可能性的相应接缝概率值相关联,其中将所述一个或多个接缝放置在所述3d模型上包括:确定所述多个边中的与所述一个或多个接缝相关联的一个或多个边;以及针对所述一个或多个边中的每个边,更新与所述边相关联的所述相应接缝概率值。
[0141]
10.如条款1-9中任一项所述的方法,其中所述3d模型包括多个顶点,其中每个顶点与指示所述顶点对应于接缝的可能性的相应接缝概率值相关联,其中将所述一个或多个接缝放置在所述3d模型上包括:确定所述多个顶点中的与所述一个或多个接缝相关联的一个或多个顶点;以及针对所述一个或多个顶点中的每个顶点,更新与所述顶点相关联的所述相应接缝概率值。
[0142]
11.如条款1-10中任一项所述的方法,所述方法还包括通过至少评估所述一组接缝预测的接缝预测的子集来生成与所述一组接缝预测相关联的验证值。
[0143]
12.如条款1-11中任一项所述的方法,所述方法还包括改善所述一个或多个接缝,其中改善所述一个或多个接缝包括以下一者或多者:移除所述一个或多个接缝中的一个或多个特定接缝;减小所述一个或多个接缝中的一个或多个特定接缝的厚度;连接所述一个或多个接缝中的两个或更多个特定接缝;使所述一个或多个接缝中的一个或多个特定接缝平滑;移除一个或多个接缝顶点;基于所述3d模型的对称性来调整所述一个或多个接缝中的一个或多个特定接缝。
[0144]
13.如条款1-12中任一项所述的方法,所述方法还包括改善所述一个或多个接缝,其中改善所述一个或多个接缝包括:基于所述一个或多个接缝来生成所述3d模型的图表示;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述图表示来生成
与所述3d模型相关联的一组改善的接缝预测;以及基于所述一组改善的接缝预测来更新所述一个或多个接缝。
[0145]
14.在一些实施方案中,一种非暂时性计算机可读介质存储程序指令,所述程序指令在由一个或多个处理器执行时使所述一个或多个处理器执行以下步骤:基于三维(3d)模型来生成所述3d模型的一个或多个表示以作为一个或多个经训练的机器学习模型的输入;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述一个或多个表示来生成与所述3d模型相关联的一组接缝预测,其中所述一组接缝预测中包括的每个接缝预测识别能够沿其切割所述3d模型的不同接缝;以及基于所述一组接缝预测来将一个或多个接缝放置在所述3d模型上。
[0146]
15.如条款14所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行以下步骤:将所述3d模型划分成多个组;以及针对所述多个组中的每个组,生成所述3d模型的相应的一个或多个表示以作为所述一个或多个经训练的机器学习模型的输入。
[0147]
16.如条款14和15中任一项所述的非暂时性计算机可读介质,其中所述3d模型的所述一个或多个表示包括一个或多个2d图像,其中所述一组接缝预测指示对于所述一个或多个2d图像中的每个2d图像,所述2d图像中的相应的一个或多个接缝预测,其中将所述一个或多个接缝放置在所述3d模型上包括对于所述一个或多个2d图像中的每个2d图像,将所述2d图像中的所述相应的一个或多个接缝预测投射到所述3d模型上。
[0148]
17.如条款14-16中任一项所述的非暂时性计算机可读介质,其中所述3d模型的所述一个或多个表示包括所述3d模型的图表示,其中所述一组接缝预测指示所述图表示的被预测为接缝的部分的一个或多个边,其中将所述一个或多个接缝放置在所述3d模型上包括:针对所述图表示的被预测为接缝的部分的所述一个或多个边中的每个边,确定所述3d模型的对应边;以及将接缝的边放置在所述3d模型的所述对应边处。
[0149]
18.如条款14-17中任一项所述的非暂时性计算机可读介质,其中所述3d模型的所述一个或多个表示包括所述3d模型的图表示,其中所述一组接缝预测指示所述图表示的被预测为接缝的部分的一个或多个顶点,并且其中将所述一个或多个接缝放置在所述3d模型上包括:针对所述图表示的被预测为接缝的部分的所述一个或多个顶点中的每个顶点,确定所述3d模型的对应顶点;以及将接缝的顶点放置在所述3d模型的所述对应顶点处。
[0150]
19.如条款14-18中任一项所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行以下步骤:基于所述一个或多个接缝来生成所述3d模型的图表示;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述图表示来生成与所述3d模型相关联的一组改善的接缝预测;以及基于所述一组改善的接缝预测来更新所述一个或多个接缝。
[0151]
20.在一些实施方案中,一种系统包括:存储器,所述存储器存储一个或多个软件应用;以及处理器,所述处理器在执行所述一个或多个软件应用时被配置为执行以下步骤:基于三维(3d)模型来生成所述3d模型的一个或多个表示以作为一个或多个经训练的机器学习模型的输入;通过将所述一个或多个经训练的机器学习模型应用于所述3d模型的所述一个或多个表示来生成与所述3d模型相关联的一组接缝预测,其中所述一组接缝预测中包
括的每个接缝预测识别能够沿其切割所述3d模型的不同接缝;以及基于所述一组接缝预测来将一个或多个接缝放置在所述3d模型上。
[0152]
任何权利要求中阐述的任何权利要求要素和/或本技术中描述的任何要素以任何方式进行的任何和所有组合都落在本发明和保护的设想范围内。
[0153]
已经出于说明的目的呈现了对各种实施方案的描述,但这些描述并非意图是详尽的或限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对本领域的普通技术人员将是明显的。
[0154]
本发明实施方案的各方面可体现为系统、方法或计算机程序产品。因此,本公开的各方面可采用全硬件实施方案、全软件实施方案(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施方案的形式,所述软件和硬件方面在本文中可全部概括地称为“模块”、“系统”或“计算机”。另外,本公开中描述的任何硬件和/或软件技术、过程、功能、部件、引擎、模块或系统都可被实现为电路或一组电路。此外,本公开的各方面可采用体现在一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质具有在其上体现的计算机可读程序代码。
[0155]
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可为例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置、或者前述的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下项:具有一条或多条接线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便携式光盘只读存储器(cd-rom)、光学存储装置、磁性存储装置、或者前述的任何合适的组合。在本文档的背景下,计算机可读存储介质可为可包含或存储由或结合指令执行系统、设备或装置使用的程序的任何有形介质。
[0156]
以上参考根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应理解,可通过计算机程序指令来实现流程图和/或框图中的每个框以及流程图和/或框图中的框组合。这些计算机程序指令可提供到通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器。指令在经由计算机或其他可编程数据处理设备的处理器执行时使得实现流程图和/或框图的一个或多个框中指定的功能/动作。这样的处理器可为但不限于通用处理器、专用处理器、应用特定的处理器或现场可编程门阵列。
[0157]
附图中的流程图和框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框都可表示代码的模块、片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应注意,在一些替代实现方式中,框中指出的功能可按附图中指出的次序以外的次序发生。例如,连续示出的两个框实际上可基本上同时执行,或者所述框有时可按相反的次序执行,这取决于所涉及的功能。还应注意,框图和/或流程图中的每个框以及框图和/或流程图中的框组合可由执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实现。
[0158]
虽然前述内容针对本公开的实施方案,但是在不脱离本公开的基本范围的情况下可设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献