CN115205411A - 一种遮挡体生成方法、装置、电子设备和介质 - Google Patents
一种遮挡体生成方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN115205411A CN115205411A CN202210769071.2A CN202210769071A CN115205411A CN 115205411 A CN115205411 A CN 115205411A CN 202210769071 A CN202210769071 A CN 202210769071A CN 115205411 A CN115205411 A CN 115205411A
- Authority
- CN
- China
- Prior art keywords
- starting
- occlusion
- occlusion body
- loss function
- processed
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/003—Reconstruction from projections, e.g. tomography
Abstract
本发明实施例提供了一种遮挡体生成方法、装置、电子设备和介质,所述方法包括:获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。根据本发明实施例,采用起始网格的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种遮挡体生成方法、一种遮挡体生成装置、一种电子设备和一种计算机可读存储介质。
背景技术
复杂场景的实时渲染需要依靠遮挡剔除技术,减少对不可见物体的渲染开销。而遮挡剔除的其中一种做法就是用一个和原物体投影近似但面数很小的模型作为遮挡体,遮挡体只用于快速计算遮挡剔除关系不用于显示,在实际渲染前先用遮挡体计算哪些物体是被遮挡了从而在渲染中剔除这个物体减少渲染开销同时不影响实际渲染效果。
因此,一个遮挡体需要不超出原物体的投影,否则会将一些本来可见的物体当作被遮挡物去除导致错误的渲染结果。在此基础上遮挡体覆盖原物体的投影越多越好,投影覆盖范围越大能剔除更多不可见物体。最后,遮挡体的面数最少越好,面数越少采用遮挡体进行遮挡剔除的运算速度越快,同时需要的存储空间也越少。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种遮挡体生成方法和相应的一种遮挡体生成装置、一种电子设备,以及一种计算机可读存储介质。
本发明实施例公开了一种遮挡体生成方法,所述方法包括:
获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;所述起始网格由在三维空间中均匀分布的预设数量的面片组成;所述起始遮挡体由顶点偏移后的面片组成;
根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
可选地,所述起始网格中的面片为三角面片;所述起始网格中的各个所述三角面片的顶点相互独立,且同一个所述三角面片中各个顶点的位置相同;所述偏移信息为针对所述起始网格的所述三角面片的顶点的偏移值,所述根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体,包括:
根据所述神经网络模型输出的所述偏移值对所述起始网格中的所述三角面片中的顶点进行偏移,得到针对所述待处理对象的所述起始遮挡体。
可选地,所述将所述网格模型的投影轮廓图输入预先训练的神经网络模型中,包括:
采用多个均匀分布的视角对所述网格模型进行正交投影,得到多个视角分别对应的第一正交投影轮廓图;
将所述第一正交投影轮廓图输入预先训练的所述神经网络模型中。
可选地,所述根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体,包括:
采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值;
将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体。
可选地,所述采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值,包括:
采用可微渲染器按照相同的所述多个视角对所述起始遮挡体进行正交投影,得到所述多个视角分别对应的第二正交投影轮廓图;
基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值。
可选地,所述基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值,包括:
基于所述第一正交投影轮廓图和所述第二正交投影轮廓图,采用预设计算方式计算得到第一损失函数值、第二损失函数值和第三损失函数值;其中,所述第一损失函数值表示在所述第一正交投影轮廓图中属于背景像素,但在第二正交投影轮廓图中属于前景像素的像素点的数量均值;所述第二损失函数值表示在所述第一正交投影轮廓图中属于前景像素,且在第二正交投影轮廓图中同样属于前景像素的像素点的数量均值;所述第三损失函数值表示所述起始遮挡体所包含的三角面片的面积均值;
基于所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,计算所述网格模型和所述起始遮挡体间的总的所述损失函数值。
可选地,所述将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体,包括:
将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到优化后的中间遮挡体;
对所述中间遮挡体所包含的三角面片中满足预设剔除条件的三角面片进行剔除,得到针对所述待处理对象的所述目标遮挡体。
本发明实施例还公开了一种遮挡体生成装置,所述装置包括:
获取及输入模块,用于获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
顶点偏移模块,用于根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;所述起始网格由在三维空间中均匀分布的预设数量的面片组成;所述起始遮挡体由顶点偏移后的面片组成;
确定模块,用于根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
可选地,所述起始网格中的面片为三角面片;所述起始网格中的各个所述三角面片的顶点相互独立,且同一个所述三角面片中各个顶点的位置相同;所述偏移信息为针对所述起始网格的所述三角面片的顶点的偏移值,所述顶点偏移模块,包括:
偏移子模块,用于根据所述神经网络模型输出的所述偏移值对所述起始网格中的所述三角面片中的顶点进行偏移,得到针对所述待处理对象的所述起始遮挡体。
可选地,所述获取及输入模块,包括:
投影子模块,用于采用多个均匀分布的视角对所述网格模型进行正交投影,得到多个视角分别对应的第一正交投影轮廓图;
输入子模块,用于将所述第一正交投影轮廓图输入预先训练的所述神经网络模型中。
可选地,所述确定模块,包括:
投影及计算子模块,用于采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值;
优化子模块,用于将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体。
可选地,所述投影及计算子模块,包括:
投影单元,用于采用可微渲染器按照相同的所述多个视角对所述起始遮挡体进行正交投影,得到所述多个视角分别对应的第二正交投影轮廓图;
计算单元,用于基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值。
可选地,所述计算单元,包括:
第一计算子单元,用于基于所述第一正交投影轮廓图和所述第二正交投影轮廓图,采用预设计算方式计算得到第一损失函数值、第二损失函数值和第三损失函数值;其中,所述第一损失函数值表示在所述第一正交投影轮廓图中属于背景像素,但在第二正交投影轮廓图中属于前景像素的像素点的数量均值;所述第二损失函数值表示在所述第一正交投影轮廓图中属于前景像素,且在第二正交投影轮廓图中同样属于前景像素的像素点的数量均值;所述第三损失函数值表示所述起始遮挡体所包含的三角面片的面积均值;
第二计算子单元,用于基于所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,计算所述网格模型和所述起始遮挡体间的总的所述损失函数值。
可选地,所述优化子模块,包括:
优化单元,用于将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到优化后的中间遮挡体;
剔除单元,用于对所述中间遮挡体所包含的三角面片中满足预设剔除条件的三角面片进行剔除,得到针对所述待处理对象的所述目标遮挡体。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种遮挡体生成方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种遮挡体生成方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,将待处理对象网格模型的投影轮廓图作为神经网络模型的输入,神经网络模型输出相应的偏移信息,可以根据该输出的偏移信息对起始网格中的面片进行顶点偏移,得到由顶点偏移后的面片组成的起始遮挡体。通过采用上述方法,采用起始网格的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入,采用神经网络模型得到起始遮挡体可以大幅减少生成遮挡体所需时间,增加算法实用性,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
附图说明
图1是一种遮挡体的生成效果示意图;
图2是本发明实施例提供的一种遮挡体生成方法的步骤流程图;
图3是本发明实施例提供的另一种遮挡体生成方法的步骤流程图;
图4是本发明实施例的一种网格模型的投影轮廓示意图;
图5是本发明实施例的一种起始网格示意图;
图6是本发明实施例的一种遮挡体生成方法的流程图;
图7是本发明实施例提供的一种遮挡体生成装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
目前使用的生成遮挡体的算法中,Ari Silvennoinen提出的OccluderSimplification using Planar Section算法效果较好,该算法中,先将输入的网格模型体素化,然后用多个方向和位置的平面截取体素,每个平面在模型体素上会切出一个多边形,选取其中最能增加投影面积的平面多边形来组成需要的遮挡体。选取好多边形后,将多边形三角化,然后使用贪心算法将不必要的三角面片去掉即得到遮挡体。参照图1所示,为一种遮挡体的生成效果示意图。其中,左边为输入的网格模型,右边为输出的遮挡体。
Occluder Simplification using Planar Section是用体素上的切面来组成遮挡体,但因为并不是切面的每个部分都对最后的投影有贡献,因此会存在一定冗余。另外,此技术在删减面片时,是先从每个多边形切面中选出面积最小的三角面片,然后去除其中对投影贡献最小的。但是多边形切面中面积最小的三角面片并不一定是对投影贡献最小的面片,因此此减面流程会造成次优解。综合上述两点后,生成的遮挡体的面数还有可压缩空间,或者在同样的面数下投影面积可以更高。
本发明实施例的核心构思之一在于,将待处理对象网格模型的投影轮廓图作为神经网络模型的输入,神经网络模型输出相应的偏移信息,可以根据该输出的偏移信息对起始网格中的面片进行顶点偏移,得到由顶点偏移后的面片组成的起始遮挡体。通过采用上述方法,采用起始网格的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入,采用神经网络模型得到起始遮挡体可以大幅减少生成遮挡体所需时间,增加算法实用性,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
参照图2,示出了本发明实施例提供的一种遮挡体生成方法的步骤流程图,具体可以包括如下步骤:
步骤201,获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中。
在游戏开发中,剔除是非常重要的技术。剔除可以帮助我们将不需要的渲染开销降到最低,大幅提升游戏的帧率。其中遮挡剔除是最难以实现的,也是变化最丰富的。遮挡剔除是指当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。遮挡剔除中可以采用一个和原物体投影近似但面数很小的模型作为遮挡体,遮挡体可用于快速计算遮挡剔除关系。
在本发明实施例中,可以先获取待处理对象的网格模型。网格模型是指采用一系列大小和形状接近的多边形(通常是三角形)近似表示三维物体的模型。例如,对于三维游戏中的房屋,可以将其转换为对应的多边形网格模型。
将待处理对象的网格模型进行投影,得到该网格模型的投影轮廓图。可以将投影轮廓图作为预先训练好的神经网络模型的输入信息,输入到卷积神经网络中进行计算。预先训练好的神经网络模型具有生成起始遮挡体的能力。
步骤202,根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体。
其中,起始网格由在三维空间中均匀分布的预设数量的面片组成;起始遮挡体由顶点偏移后的面片组成。
在本发明实施例中,将网格模型的投影轮廓图输入预先训练的神经网络模型后,神经网络模型输出用于对预设起始网格中的面片进行顶点偏移的偏移信息。卷积神经网络的输出值用于将起始网格的顶点进行偏移得到一个起始遮挡体。
在一种示例中,本发明起始网格中的面片可以为散布的互不相连的三角面片,常见的网格结构是由相连的三角面片形成的拓扑结构,相连意味着三角面片之间会共享部分顶点,而本发明起始网格中的三角面片之间不共享顶点。
步骤203,根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
由卷积神经网络得到的起始遮挡体只有一个初步的遮挡体性能,还达不到满足遮挡召回率与精准度的要求,因此,可以继续将该起始遮挡体进行优化和处理,以得到满足遮挡召回率与精准度要求的目标遮挡体。得到目标遮挡体之后,就可以利用该目标遮挡体进行遮挡剔除关系计算等操作。在一种示例中,可以采用可微渲染优化起始遮挡体并经过预先设定的后处理步骤处理后得到目标遮挡体。
综上,在本发明实施例中,将待处理对象网格模型的投影轮廓图作为神经网络模型的输入,神经网络模型输出相应的偏移信息,可以根据该输出的偏移信息对起始网格中的面片进行顶点偏移,得到由顶点偏移后的面片组成的起始遮挡体。通过采用上述方法,采用起始网格的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入,采用神经网络模型得到起始遮挡体可以大幅减少生成遮挡体所需时间,增加算法实用性,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
参照图3,示出了本发明实施例提供的另一种遮挡体生成方法的步骤流程图,具体可以包括如下步骤:
步骤301,获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
在本发明实施例中,可以获取待处理对象的网格模型,将网格模型进行投影得到的投影轮廓图输入到预先训练好的神经网络模型中进行计算。其中,投影轮廓图中每个像素点的像素值为0或1,其中,1代表前景;0代表背景。
在一种可选的实施例中,针对步骤301,可以执行以下步骤:
子步骤S11,采用多个均匀分布的视角对所述网格模型进行正交投影,得到多个视角分别对应的第一正交投影轮廓图。
子步骤S12,将所述第一正交投影轮廓图输入预先训练的所述神经网络模型中。
在本发明实施例中,可以用多个均匀分布的视角对网格模型进行正交投影,可以在三维空间中从多个角度向网络模型的原点注视对网格模型作正交投影得到正交投影轮廓图,为了便于区别,此处称作第一正交投影轮廓图。一个视角对应一幅第一正交投影轮廓图,所有的第一正交投影轮廓图均需要输入神经网络模型的卷积神经网络中进行计算。
参照图4所示,为本发明实施例的一种网格模型的投影轮廓示意图。图中左边为待处理对象的网格模型,图中右边为将该网格模型按照不同视角进行正交投影后得到的投影轮廓。
在具体实施中,可以将投影轮廓图的尺寸设置为224x224,但尺寸在一个大致范围内对效果无明显影响。此外,还可以将视角数设置为45,理论上观察的视角越多,效果越好,但是计算量会上升。
起始网格由在三维空间中均匀分布的预设数量的面片组成,将网格模型的投影轮廓图输入神经网络模型后,输出用于对预设起始网格中的面片进行顶点偏移的偏移信息,可以根据偏移信息进行起始网格的顶点偏移,从而得到由顶点偏移后的面片组成的起始遮挡体。
在本发明实施例中,起始网格中的面片为三角面片;起始网格中的各个三角面片的顶点相互独立,且同一个三角面片中各个顶点的位置相同,顶点相互独立意味着各个三角面片之间不相连相互分离;神经网络模型输出的偏移信息可以为针对起始网格的三角面片的顶点的偏移值,此时可以执行步骤302。
步骤302,根据所述神经网络模型输出的所述偏移值对所述起始网格中的所述三角面片中的顶点进行偏移,得到针对所述待处理对象的所述起始遮挡体。
下面说明如何训练用于生成起始遮挡体的神经网络模型。
对卷积神经网络训练需要收集一定数量的网格模型,例如,可以采用ShapeNetSem数据集,此数据集的网格模型数量足够,覆盖种类范围广,其它数据集数量和种类范围足够也可用于神经网络训练。
确定数据集后,可以将数据集中的网格模型用多个均匀分布视角作正交投影得到投影轮廓图。投影轮廓图中的像素点可以分为前景像素或背景像素。
将轮廓投影图作为神经网络模型卷积神经网络的输入,训练卷积神经网络的输出值可以用于将一个起始网格的顶点进行偏移来得到起始遮挡体。
因此,对于训练好的神经网络模型,可以直接根据输出的针对起始网格的三角面片的顶点的偏移值进行起始网格的顶点偏移,生成起始遮挡体。
具体实施中,起始网格由一堆在三维空间中均匀分布的互不连接的1000个面片组成。每个面片由三个顶点组成。互不连接意味着不同面片的顶点都是独立的不与其他面片共享,总顶点数等于面片数乘三,而面片数量只要密度足够均可达到类似效果。同一个面片内的三个顶点的起始位置是相等的,这样设计可以使得每个面片的起始面积均为0。参照图5所示,为本发明实施例的一种起始网格示意图。图中一个点是一个面片,也是面片中的顶点。
将起始网格中每个面片的顶点起始位置设置相等的好处是当卷积神经网络输出的某个面片的顶点偏移为0的时候,得到的遮挡体中该面片的面积即为0,因此可以很方便地控制输出遮挡体要使用起始网格的哪些面片来构建,达到根据输入情况来动态调整面片数量的目的。
步骤303,根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
针对步骤303,可以执行以下步骤:
子步骤S21,采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值。
子步骤S22,将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体。
得到起始遮挡体后,可以将起始遮挡体用可微渲染投影出轮廓,并根据投影结果,结合预先设计好的损失函数计算方式计算网格模型和起始遮挡体间的损失,然后反传梯度优化起始遮挡体的形状。
针对子步骤S21,可以执行以下步骤:
采用可微渲染器按照相同的所述多个视角对所述起始遮挡体进行正交投影,得到所述多个视角分别对应的第二正交投影轮廓图;基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值。
在本发明实施例中,可以采用可微渲染器将起始遮挡体按照与网格模型投影相同的视角作正交投影得到正交投影轮廓图,为了便于区别,此处称作第二正交投影轮廓图。根据第一正交投影轮廓图和第二正交投影轮廓图的差异,确定网格模型和起始遮挡体间的损失函数值。
其中,针对所述基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值的步骤,具体可以执行以下步骤:
基于所述第一正交投影轮廓图和所述第二正交投影轮廓图,采用预设计算方式计算得到第一损失函数值、第二损失函数值和第三损失函数值;基于所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,计算所述网格模型和所述起始遮挡体间的总的所述损失函数值。
其中,第一损失函数值表示在第一正交投影轮廓图中属于背景像素,但在第二正交投影轮廓图中属于前景像素的像素点的数量均值;第二损失函数值表示在第一正交投影轮廓图中属于前景像素,且在第二正交投影轮廓图中同样属于前景像素的像素点的数量均值;第三损失函数值表示起始遮挡体所包含的三角面片的面积均值。
假设第一正交投影轮廓图为Si∈RW×H×C,第二正交投影轮廓图为Sn∈RW×H×C,其中,R代表实数。RW×H×C代表W*H*C的实数矩阵,也就是C个W*H大的投影轮廓图,WH代表投影轮廓图的长宽,C代表视角数。
损失函数值由三部分组成,第一部分是轮廓超出损失:loss_o=mean((1-Si)·Sn),mean代表在图像像素上求平均,·代表图像逐像素相乘。所以loss_o实际上在计算在第一正交投影轮廓图的背景像素上平均有多少在第二正交投影轮廓图为前景像素,loss_o越少说明输出的起始遮挡体超出原来网格模型的轮廓越少。第二部分是轮廓召回损失:loss_i=mean(Si·Sn),loss_i计算的是第一正交投影轮廓图的前景像素平均有多少在第二正交投影轮廓图为前景像素,loss_i越大说明输出的起始遮挡体遮挡了越多原来网格模型的轮廓。第三部分为面片惩罚loss_f,为三角面片的面积均值,loss_f越小说明一定程度上使用了越少的三角面片来组成遮挡体。总损失loss=-loss_i+α*loss_o+β*loss_f。其中,β用于调节面片数,β越大使用越少面片来形成遮挡体。α用于调节召回和精准,α越大说明精准度越重要,遮挡体召回会降低精准度会增加,因此α和β可根据实际需要的效果来设置。
针对子步骤S22,可以执行以下步骤:
将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到优化后的中间遮挡体;对所述中间遮挡体所包含的三角面片中满足预设剔除条件的三角面片进行剔除,得到针对所述待处理对象的所述目标遮挡体。
在一种可选的实施例中,还可以训练卷积神经网络生成中间遮挡体,在训练过程中计算损失函数值后,可以计算模型权重相对于损失的梯度,从而用梯度下降算法优化模型权重让模型学习。这个学习过程会重复多轮直至收敛。卷积神经网络学习好后就可以用于中间遮挡体的生成,也就是说学习过程只需进行一次,以后每次中间遮挡体的生成无需重复训练。需要说明的是此处用于生成中间遮挡体的卷积神经网络与上述用于生成起始遮挡体的卷积神经网络不同。
得到优化后的中间遮挡体后,可以经过处理去掉中间遮挡体中的冗余面片即可得到需要的目标遮挡体。在一种示例中,可以剔除中间遮挡体所包含的三角面片中面积少于预设面积阈值的三角面片。面片剔除的阈值可以根据对面片冗余度需求的不同自定义设置。
为了使本领域技术人员能够更好地理解本发明实施例步骤301至步骤303,下面通过一个例子加以说明:
参照图6所示为本发明实施例的一种遮挡体生成方法的流程图,具体流程如下:
1、对待处理对象的网格模型正交投影成投影轮廓图;
2、将投影轮廓图输入卷积神经网络,卷积神经网络的输出值用于将起始网格的顶点进行偏移得到一个初始遮挡体;
3、由卷积神经网络得到的起始遮挡体只有一个初步的遮挡体性能,还达不到需要的遮挡召回率与精准度,因此再将此起始遮挡体用可微渲染进行正交投影,投影的视角与网格模型保持一致,然后比对网格模型和起始遮挡体的投影轮廓图,按照设定的损失函数计算方法计算损失函数值;
4、然后采用训练的另一个卷积神经网络确定起始遮挡体的顶点位置相对于损失函数的梯度,通过数百轮的迭代优化顶点位置至损失收敛,得到优化后的中间遮挡体。
5、优化完成后,先去除面积小于0.01的三角面片,对于剩下的三角面片,逐一计算剔除后组成的遮挡体的轮廓投影面积,若删除某面片后轮廓投影面积没减少,则可以将该面片剔除;若删除某面片后轮廓投影面积减少值大于0,则将该面片保留,此步骤可以将冗余的三角面片删去,完成后即得到要输出的遮挡体网格。
综上,在本发明实施例中,将待处理对象网格模型的投影轮廓图作为神经网络模型的输入,神经网络模型输出相应的偏移信息,可以根据该输出的偏移信息对起始网格中的面片进行顶点偏移,得到由顶点偏移后的面片组成的起始遮挡体。通过采用上述方法,采用均匀散布互不连接的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入;通过可微渲染用设计好的损失函数优化可以使输出的遮挡体优化至最优的遮挡性能并去掉冗余面片,能根据不同模型自适应调整遮挡体面数;采用卷积神经网络得到起始遮挡体可以大幅减少可微渲染优化所需迭代次数,大幅减少生成遮挡体所需时间,增加算法实用性,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明实施例提供的一种遮挡体生成装置的结构框图,具体可以包括如下模块:
获取及输入模块701,用于获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
顶点偏移模块702,用于根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;所述起始网格由在三维空间中均匀分布的预设数量的面片组成;所述起始遮挡体由顶点偏移后的面片组成;
确定模块703,用于根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
在本发明实施例中,所述起始网格中的面片为三角面片;所述起始网格中的各个所述三角面片的顶点相互独立,且同一个所述三角面片中各个顶点的位置相同;所述偏移信息为针对所述起始网格的所述三角面片的顶点的偏移值,所述顶点偏移模块,包括:
偏移子模块,用于根据所述神经网络模型输出的所述偏移值对所述起始网格中的所述三角面片中的顶点进行偏移,得到针对所述待处理对象的所述起始遮挡体。
在本发明实施例中,所述获取及输入模块,包括:
投影子模块,用于采用多个均匀分布的视角对所述网格模型进行正交投影,得到多个视角分别对应的第一正交投影轮廓图;
输入子模块,用于将所述第一正交投影轮廓图输入预先训练的所述神经网络模型中。
在本发明实施例中,所述确定模块,包括:
投影及计算子模块,用于采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值;
优化子模块,用于将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体。
在本发明实施例中,所述投影及计算子模块,包括:
投影单元,用于采用可微渲染器按照相同的所述多个视角对所述起始遮挡体进行正交投影,得到所述多个视角分别对应的第二正交投影轮廓图;
计算单元,用于基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值。
在本发明实施例中,所述计算单元,包括:
第一计算子单元,用于基于所述第一正交投影轮廓图和所述第二正交投影轮廓图,采用预设计算方式计算得到第一损失函数值、第二损失函数值和第三损失函数值;其中,所述第一损失函数值表示在所述第一正交投影轮廓图中属于背景像素,但在第二正交投影轮廓图中属于前景像素的像素点的数量均值;所述第二损失函数值表示在所述第一正交投影轮廓图中属于前景像素,且在第二正交投影轮廓图中同样属于前景像素的像素点的数量均值;所述第三损失函数值表示所述起始遮挡体所包含的三角面片的面积均值;
第二计算子单元,用于基于所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,计算所述网格模型和所述起始遮挡体间的总的所述损失函数值。
在本发明实施例中,所述优化子模块,包括:
优化单元,用于将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到优化后的中间遮挡体;
剔除单元,用于对所述中间遮挡体所包含的三角面片中满足预设剔除条件的三角面片进行剔除,得到针对所述待处理对象的所述目标遮挡体。
综上,在本发明实施例中,将待处理对象网格模型的投影轮廓图作为神经网络模型的输入,神经网络模型输出相应的偏移信息,可以根据该输出的偏移信息对起始网格中的面片进行顶点偏移,得到由顶点偏移后的面片组成的起始遮挡体。通过采用上述方法,采用起始网格的面片作为遮挡体起始结构让生成的遮挡体有自由形成各种形状的能力,不受拓扑关系约束,因此具有了以非常少的面片数形成非常好的遮挡体的潜力,能应对各种拓扑形状的输入,采用神经网络模型得到起始遮挡体可以大幅减少生成遮挡体所需时间,增加算法实用性,本发明生成的遮挡体与现有技术相比可以用少得多的面数达到更高的遮挡性能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种遮挡体生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种遮挡体生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种遮挡体生成方法和一种遮挡体生成装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种遮挡体生成方法,其特征在于,所述方法包括:
获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;所述起始网格由在三维空间中均匀分布的预设数量的面片组成;所述起始遮挡体由顶点偏移后的面片组成;
根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
2.根据权利要求1所述的方法,其特征在于,所述起始网格中的面片为三角面片;所述起始网格中的各个所述三角面片的顶点相互独立,且同一个所述三角面片中各个顶点的位置相同;所述偏移信息为针对所述起始网格的所述三角面片的顶点的偏移值,所述根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体,包括:
根据所述神经网络模型输出的所述偏移值对所述起始网格中的所述三角面片中的顶点进行偏移,得到针对所述待处理对象的所述起始遮挡体。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述网格模型的投影轮廓图输入预先训练的神经网络模型中,包括:
采用多个均匀分布的视角对所述网格模型进行正交投影,得到多个视角分别对应的第一正交投影轮廓图;
将所述第一正交投影轮廓图输入预先训练的所述神经网络模型中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体,包括:
采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值;
将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体。
5.根据权利要求4所述的方法,其特征在于,所述采用可微渲染器对所述起始遮挡体进行投影,并根据投影结果计算所述网格模型和所述起始遮挡体间的损失函数值,包括:
采用可微渲染器按照相同的所述多个视角对所述起始遮挡体进行正交投影,得到所述多个视角分别对应的第二正交投影轮廓图;
基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一正交投影轮廓图和所述第二正交投影轮廓图计算所述网格模型和所述起始遮挡体间的所述损失函数值,包括:
基于所述第一正交投影轮廓图和所述第二正交投影轮廓图,采用预设计算方式计算得到第一损失函数值、第二损失函数值和第三损失函数值;其中,所述第一损失函数值表示在所述第一正交投影轮廓图中属于背景像素,但在第二正交投影轮廓图中属于前景像素的像素点的数量均值;所述第二损失函数值表示在所述第一正交投影轮廓图中属于前景像素,且在第二正交投影轮廓图中同样属于前景像素的像素点的数量均值;所述第三损失函数值表示所述起始遮挡体所包含的三角面片的面积均值;
基于所述第一损失函数值、所述第二损失函数值和所述第三损失函数值,计算所述网格模型和所述起始遮挡体间的总的所述损失函数值。
7.根据权利要求6所述的方法,其特征在于,所述将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到针对所述待处理对象的所述目标遮挡体,包括:
将所述损失函数值反向传播到所述起始遮挡体进行梯度优化,得到优化后的中间遮挡体;
对所述中间遮挡体所包含的三角面片中满足预设剔除条件的三角面片进行剔除,得到针对所述待处理对象的所述目标遮挡体。
8.一种遮挡体生成装置,其特征在于,所述装置包括:
获取及输入模块,用于获取待处理对象的网格模型,并将所述网格模型的投影轮廓图输入预先训练的神经网络模型中;
顶点偏移模块,用于根据所述神经网络模型输出的偏移信息对预设的起始网格中的面片进行顶点偏移,得到针对所述待处理对象的起始遮挡体;所述起始网格由在三维空间中均匀分布的预设数量的面片组成;所述起始遮挡体由顶点偏移后的面片组成;
确定模块,用于根据所述起始遮挡体,确定针对所述待处理对象的目标遮挡体。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的一种遮挡体生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的一种遮挡体生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769071.2A CN115205411A (zh) | 2022-07-01 | 2022-07-01 | 一种遮挡体生成方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769071.2A CN115205411A (zh) | 2022-07-01 | 2022-07-01 | 一种遮挡体生成方法、装置、电子设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115205411A true CN115205411A (zh) | 2022-10-18 |
Family
ID=83577834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210769071.2A Pending CN115205411A (zh) | 2022-07-01 | 2022-07-01 | 一种遮挡体生成方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115205411A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310060A (zh) * | 2023-04-11 | 2023-06-23 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
-
2022
- 2022-07-01 CN CN202210769071.2A patent/CN115205411A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310060A (zh) * | 2023-04-11 | 2023-06-23 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
CN116310060B (zh) * | 2023-04-11 | 2024-02-09 | 深圳优立全息科技有限公司 | 一种渲染数据的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1303839B1 (en) | System and method for median fusion of depth maps | |
US7212205B2 (en) | Curved surface image processing apparatus and curved surface image processing method | |
CN104157010A (zh) | 一种3d人脸重建的方法及其装置 | |
CN104966316A (zh) | 一种3d人脸重建方法、装置及服务器 | |
CN111598986B (zh) | 虚拟流体表面的渲染方法、装置、设备及存储介质 | |
CN111445418A (zh) | 图像去雾处理方法、装置及计算机设备 | |
CN106960470B (zh) | 三维点云曲面重建方法及装置 | |
US20240062469A1 (en) | Data processing method, apparatus, device, and medium | |
JP3650355B2 (ja) | 幾何学モデルのレンダリングを加速するコンピュータ・システム、方法およびコンピュータ・プログラム | |
JP2002522834A (ja) | 選択的メッシュ細分化方法 | |
CN115205411A (zh) | 一种遮挡体生成方法、装置、电子设备和介质 | |
CN116402979A (zh) | 一种三维模型面片轻量化处理方法、装置及电子设备 | |
CN113920275B (zh) | 三角网格构建方法、装置、电子设备及可读存储介质 | |
CN103679814A (zh) | 一种三角形网格模型的处理方法及装置 | |
CN109697748B (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN111768353B (zh) | 一种三维模型的孔洞填补方法及装置 | |
WO2024002064A1 (zh) | 三维模型构建方法、装置、电子设备及存储介质 | |
CN108986210A (zh) | 三维场景重建的方法和设备 | |
CN116993955A (zh) | 三维模型的重拓扑方法、装置、设备及存储介质 | |
US8847954B1 (en) | Methods and systems to compute 3D surfaces | |
CN113240720B (zh) | 一种三维表面重建方法、装置、服务器以及可读存储介质 | |
CN112819937A (zh) | 一种自适应多对象光场三维重建方法、装置及设备 | |
US20240144419A1 (en) | Systems, methods, and media for determining a stopping condition for model decimation | |
CN111667581B (zh) | 3d模型的处理方法、装置、设备及存储介质 | |
CN110517342B (zh) | 目标对象显示方法、装置、电子设备及存储介质 |
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 |