CN117541708A - 图像处理方法、装置及电子设备 - Google Patents
图像处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117541708A CN117541708A CN202311523743.2A CN202311523743A CN117541708A CN 117541708 A CN117541708 A CN 117541708A CN 202311523743 A CN202311523743 A CN 202311523743A CN 117541708 A CN117541708 A CN 117541708A
- Authority
- CN
- China
- Prior art keywords
- target
- scene object
- pixel block
- pixel
- target scene
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 239000012634 fragment Substances 0.000 claims abstract description 145
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000001133 acceleration Effects 0.000 claims abstract description 47
- 238000009826 distribution Methods 0.000 claims abstract description 46
- 230000000007 visual effect Effects 0.000 claims abstract description 44
- 238000009877 rendering Methods 0.000 claims abstract description 38
- 238000005070 sampling Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000000875 corresponding effect Effects 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 36
- 238000003860 storage Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 8
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本公开涉及一种图像处理方法、装置及电子设备,涉及计算机图像渲染技术领域,其中方法包括:利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块;对目标场景物体片元构建k维树加速结构;基于每个目标像素块内的片元分布复杂度调整采样光线数量;利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。通过应用本公开的申请,可以提高精度的空间,避免空间浪费,同时降低计算量。
Description
技术领域
本申请涉及计算机图像渲染技术领域,尤其涉及一种图像处理方法、装置及电子设备。
背景技术
计算机图像渲染技术在3D视觉领域具有重要应用,如虚拟现实、计算机辅助设计等。3D模型需转换成2D图像呈现在屏幕上,离线渲染是其中的关键技术。离线渲染虽然渲染周期长、实时性差,但能高度模拟真实视觉效果。光线追踪算法作为离线渲染的主流算法,其核心在于利用光的可逆性计算物体片元的可见性,并为结果图的每个像素点着色。
然而,光线追踪算法在计算片元可见性时需要进行碰撞检测,即求交计算,以确定光线与物体是否相交,并确定相交片元。由于需要对每一个像素点多次遍历场景中所有物体片元,计算量极大。为加速计算,通常使用k维树加速结构来减少求交次数。目前主流的k维树加速结构大致分为基于物体划分的网格、BVH k维树加速结构,以及基于空间划分的k-d树、八叉树、BSP树等k维树加速结构。
以BVH k维树加速结构为例,通过构建能够包裹物体片元的外接立方包围盒,从而减少遍历求交次数,简化计算过程,但包围盒之间可能重叠,导致空间浪费和重复计算。
发明内容
有鉴于此,本申请提供了一种图像处理方法、装置及电子设备,主要目的在于解决目前现有技术通过构建能够包裹物体片元的外接立方包围盒,但包围盒之间可能重叠,导致空间浪费和重复计算的技术问题。
根据本公开的第一个方面,提供了一种图像处理方法,该方法包括:
利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取所述每个目标场景物体片元对应的目标像素块;
对所述目标场景物体片元构建k维树加速结构;
基于每个目标像素块内的片元分布复杂度调整采样光线数量;
利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块对应采样光线数量下的光线进行遍历求交,得到所述目标场景物体片元和所述光线的交点。
根据本公开的第二个方面,提供了一种图像处理装置,该装置包括:
获取模块,用于利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取所述每个目标场景物体片元对应的目标像素块;
构建模块,用于对所述目标场景物体片元构建k维树加速结构;
调整模块,用于基于每个目标像素块内的片元分布复杂度调整采样光线数量;
查找模块,用于利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块对应采样光线数量下的光线进行遍历求交,得到所述目标场景物体片元和所述光线的交点。
根据本公开的第三个方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面的方法。
根据本公开的第四个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行前述第一方面的方法。
本公开提供的图像处理方法、装置及电子设备,与现有技术相比,本公开通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块;对目标场景物体片元构建k维树加速结构;基于每个目标像素块内的片元分布复杂度调整采样光线数量;利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。通过应用本公开的申请,通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,可以将复杂的场景分解为多个简单的片元,从而降低渲染计算的复杂度。由于不同像素可视域内的物体片元数量和分布情况可能存在很大差异,因此针对不同复杂度的空间,需要在遍历求交之前调整穿过该像素块的采样光线数量,减少不必要的计算,将计算资源用于需要提高精度的空间,避免空间浪费。针对遍历求交过程,对每个像素求交点时,直接查找像素块对应的视椎体内部的目标场景物体片元对应的目标k维树,再进行遍历求交点,避免了与其他不在该像素可视域内的目标场景物体片元的遍历计算,降低了计算量。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术申请,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所提供的一种图像处理方法的流程示意图;
图2为本公开实施例所提供的一种基于视椎体结构的光线追踪算法流程图;
图3为本公开实施例所提供的一种图像处理方法的流程示意图;
图4为本公开实施例所提供的一种透视投影原理图;
图5为本公开实施例所提供的一种k维树加速结构的数据存储结构示意图;
图6为本公开实施例所提供的一种调整采样光线数量流程图;
图7为本公开实施例所提供的一种片元分布情况图;
图8为本公开实施例所提供的一种遍历k维树加速结构求交流程图;
图9为本公开实施例所提供的一种图像处理装置的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
为了至少解决相关技术中包围盒之间可能重叠,导致空间浪费和重复计算的技术问题。本实施例提供了一种图像处理方法、装置及电子设备,如图1所示,该方法包括以下步骤:
步骤101、利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块。
对于本公开实施例,可利用视椎体结构(也称为视锥体)来优化光线追踪过程,提高渲染效率。
视椎体结构是一个在计算机图形学中广泛使用的数据结构,用于描述三维场景的视觉范围。视椎体用于确定哪些物体位于摄像机的视野范围内,从而决定哪些物体需要被渲染。视椎体通常由四个平面方程组成,分别表示视椎体的前后左右四个边界。
光线追踪算法是一种计算光线与物体相互作用的方法,用于模拟光在场景中的传播和反射过程。在计算机图形学中,光线追踪是渲染过程中的关键步骤,可以通过计算光线与物体的交点来确定物体的颜色、纹理和其他属性。然而,光线追踪过程往往非常计算密集,需要大量时间才能完成。
通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,可以将复杂的场景分解为多个简单的片元,从而降低渲染计算的复杂度。其中,待渲染场景物体可为在计算机图形渲染过程中,需要被渲染的3D场景中的各种物体,例如建筑、角色、植被等。这些物体通常由几何模型、材质和纹理等组成。在渲染过程中,待渲染场景物体需要被处理和计算,以生成最终的二维图像。
目标场景物体片元可为在渲染过程中,观察点预设可视范围内的部分待渲染场景物体的片元。这些片元位于视椎体内,是渲染过程中的基本处理单元。目标场景物体片元通常可为三维空间中的一个小区域,例如一个矩形或三角形。在渲染过程中,对这些片元进行处理和计算,可以得到观察点预设可视范围内的场景渲染结果。
像素块可为多个像素点组成,像素块通常用于图像的存储、处理和显示。目标像素块可为在二维平面上,与三维场景中的目标物体片元相对应的像素区域。
对于本公开实施例,执行主体可为图像处理装置或者设备,光线追踪算法的基本步骤是:碰撞检测(求交计算)、判断可见性、计算像素值、着色渲染,对每个像素重复以上步骤,直到最终生成图像显示在屏幕上。光线追踪算法的计算量大部分都耗费在需要多层次遍历的碰撞检测上,本申请提出的加速算法能够降低求交次数,提高整体渲染效率。
本申请提出的光线追踪算法的优化整体流程如图2所示,主要针对碰撞检测这一模块进行了优化改进。该模块算法主要包括构建k维树加速结构、调整像素点采样光线数量、遍历求交几个模块,具体可参见实施例步骤102、103和104的描述。
步骤102、对目标场景物体片元构建k维树加速结构。
其中,k维树加速结构(k-dimensional tree,k-d树)是一种用于高效处理多维数据的数据结构,可以将空间中的数据点划分为k个维度,从而实现对数据的快速查找、插入和删除等操作。在计算机图形渲染中,k维树加速结构可以用于加速对场景中物体与光线相互作用的处理。
对于本公开实施例,通过为每个像素可视域内的目标场景物体片元构建k维树加速结构,可以提高渲染效率、减少计算复杂度,以及实现更快的物体查询。
步骤103、基于每个目标像素块内的片元分布复杂度调整采样光线数量。
其中,物体分布复杂度可为待渲染场景物体分布的不规律程度或者多样性。
对于本公开实施例,目标像素块关联存储的目标片元数量可以反映出每个目标像素块内的片元分布情况和片元分布复杂度。其中,片元分布复杂度越高,可表示待渲染场景物体在空间中的分布越不规律、种类越多,或者说变化越剧烈;片元分布复杂度越低,可表示待渲染场景物体在空间中的分布相对规律、种类较少,或者变化较为平稳。
对于本公开实施例,由于不同像素可视域内的物体片元数量和分布情况可能存在很大差异,因此针对不同复杂度的空间,需要在遍历求交之前调整穿过该像素块的采样光线数量,减少不必要的计算,将计算资源用于需要提高精度的空间,避免空间浪费。例如,在复杂度较高的场景下,可以增加采样光线数量;而在复杂度较低的场景下,可以减少采样光线数量。其中,采样光线数量可为在光线与待渲染场景物体相互作用的过程中,对光线进行采样的次数。
步骤104、利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。
其中,像素可视域可为每个目标像素块沿着视线方向所能看到的实际场景范围,每个目标像素块对应一个像素可视域,像素可视域决定了图像中能显示出的细节和视觉效果。
对于本公开实施例,可将每个目标场景物体片元看作一个k维空间中的点,然后构建一棵目标k维树表示这些点的关系,可以快速找到与光线相交的目标场景物体片元。
遍历求交可为在渲染过程中,根据每个目标像素块的采样光线数量,逐个检查光线与目标场景物体片元的交点,交点可为光线与目标场景物体片元表面相交的点。通过遍历求交,可以找到光线与物体片元的交点。
针对遍历求交过程,对每个像素求交点时,直接查找像素块对应的视椎体内部的目标场景物体片元对应的目标k维树,再进行遍历求交点,避免了与其他不在该像素可视域内的目标场景物体片元的遍历计算,降低了计算量。
综上,本公开提供的图像处理方法,与现有技术相比,本公开通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块;对目标场景物体片元构建k维树加速结构;基于每个目标像素块内的片元分布复杂度调整采样光线数量;利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。通过应用本公开的申请,通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,可以将复杂的场景分解为多个简单的片元,从而降低渲染计算的复杂度。由于不同像素可视域内的物体片元数量和分布情况可能存在很大差异,因此针对不同复杂度的空间,需要在遍历求交之前调整穿过该像素块的采样光线数量,减少不必要的计算,将计算资源用于需要提高精度的空间,避免空间浪费。针对遍历求交过程,对每个像素求交点时,直接查找像素块对应的视椎体内部的目标场景物体片元对应的目标k维树,再进行遍历求交点,避免了与其他不在该像素可视域内的目标场景物体片元的遍历计算,降低了计算量。
进一步的,作为上述实施例的细化和扩展,为了完整说明本实施例方法的具体实现过程,本实施例提供了如图3所示的具体方法,该方法包含以下步骤:
步骤201、利用视椎体分割待渲染场景物体,得到多个场景物体片元;遍历多个场景物体片元,将观察点的预设可视范围内的场景物体片元确定为目标场景物体片元。
其中,观察点可为观察三维场景的视角所在的位置。在计算机图形学中,渲染过程通常是基于一个观察点来进行的;预设可视范围可为从观察点出发能够看到的场景范围。
对于本公开实施例,为了减少不必要的求交计算,需要对场景物体片元做细化分区。首先需要利用视椎体分割待渲染场景物体,得到多个场景物体片元,然后遍历多个场景物体片元,将观察点的预设可视范围内的场景物体片元确定为目标场景物体片元。
一方面为了确认该场景物体片元是否存在于观察点的预设可视范围内,如果不存在可以直接剔除;另一方面如果存在场景物体片元在观察点的预设可视范围内,需要确认该目标场景物体片元经过透视投影会映射到渲染图的哪一个像素点上。使用关联映射的数据结构保存上述遍历结果,预先为每一个像素点设置唯一标识(比如位置信息)方便后续查找,每一个像素标识关联存储了所有有可能投影到该像素块的片元位置。
在真实世界中观察物体都符合透视投影的规律,可视域可为一个视椎体,如图4所示。透视投影的过程就是坐标系转换的过程,存在于世界坐标系的片元,经过相机坐标系、裁剪坐标系、屏幕坐标系等多级转换最终映射到屏幕上的一个像素点处,实现3D到2D的转换。
步骤202、将每个目标场景物体片元投影在二维平面,得到投影像素块;划分投影像素块,得到每个目标场景物体片元对应的目标像素块。
对于本公开实施例,首先需要将三维场景中的目标场景物体片元投影到二维平面上,得到投影像素块。然后,对这些投影视素块进行划分,以便在每个目标像素块中存储与目标物体片元相关的信息,其中,每一个目标像素块关联存储其像素可视域内的所有片元信息。
投影视素块可为在计算机图形渲染过程中,将三维场景中的目标场景物体片元(即物体表面的一个小区域)投影到二维平面上所得到的像素区域。在这个过程中,每个目标场景物体片元在投影平面上的投影就是一个像素块,这些像素块组成了二维图像。
通过将三维物体片元与二维像素块建立一一对应关系,可以在渲染过程中准确地呈现场景中的物体形状和位置。此外,这种方法还可以用于加速物体间的相互查询,例如碰撞检测等。
步骤203、对目标场景物体片元构建k维树加速结构。
对于本公开实施例,为每一个目标像素块关联的目标场景物体片元集合构建k维树加速结构。具体的,以当前像素可视域内整体场景物体为根节点,可用一个垂直于坐标轴的平面将场景物体一分为二,形成两个子节点,每个子节点继续分割,直到每个节点中有足够少的片元,形成一颗平衡二叉树,将生成的k维树加速结构与目标像素块进行关联存储。该k维树加速结构的数据存储结构示意图如图5所示。由于穿过单个目标像素块的多条光线只有可能接触到该目标像素块可视域内的物体片元,因此可以根据此原理在求交之前就缩小需要遍历检索的片元范围。
对于本公开实施例,相比于传统的k维树加速结构直接从整个物体空间开始构建树形结构的方案,本申请提出的k维树加速结构构建方案预先为每个像素块划分了可视域范围,并为每个可视域单独建立k维树加速结构,方便后续遍历求交时能够快速找到最有可能与光线相交的片元区域,从而减少不必要的遍历过程。
基于可视视椎体预先划分物体,优化了k维树加速结构,在遍历时能够优先选择在像素可视域范围内的物体片元搭建的k维树加速结构,缩小了检索范围。
具体的,将目标像素块对应的像素可视域内的待渲染场景物体作为根节点,利用根节点分割待渲染场景物体,得到多个子节点;
利用子节点分割对应的部分待渲染场景物体,直到分割后的子节点中的目标场景物体片元的数量小于预设片元数量,且子节点的左子节点和右子节点的节点高度差的绝对值不超过1,生成k维树加速结构。其中,预设片元数量可为预先设定的最小片元数量值。
步骤204、根据目标片元信息内的目标片元数量,确定每个目标像素块对应的像素可视域内的片元分布复杂度,基于片元分布复杂度调整采样光线数量,其中,目标像素块包括全部目标场景物体片元的目标片元信息。
其中,片元分布复杂度与目标片元数量呈正相关;片元分布复杂度与采样光线数量呈正相关。
对于本公开实施例,本申请提出的光线调整方法具体流程如图6所示。在光线追踪算法中,屏幕像素块相对于场景片元尺寸更大,尤其在精细复杂的大型场景下,对渲染成图的要求会更高。此时从观察点出发不止会有一条模拟光线穿过像素块,这种方式能够提高成像的精度,但是也会带来计算负担。
为了合理利用计算资源,首先设置一个初始的光线数值(即采样光线数量)和多级复杂度阈值(即片元分布复杂度),具体值可根据实际场景中片元数量(即目标片元数量)和片元分布情况确定。基于前面构建的k维树加速结构,通过空间内的片元数量可以大致判断出该区域内片元分布复杂度。根据空间内的片元数量多少、分布是否均匀,可分为四种情况,如图7所示。对于数量少的片元,不论分布是否均匀,如果光线过多,则大多数光线都不会与片元有交点;对于数量多的片元,不论分布是否均匀,即使相隔很近的光线也可能与不同的片元相交。
基于以上原理,可以根据场景内目标场景物体片元的分布情况设置一级或多级合理的复杂度阈值(即片元分布复杂度),用于划分片元数量等级。若复杂度较高,则说明该空间内片元数量偏多,则多束光线求出的相交片元很可能不同,因此可以适当增加采样光线数量,提高采样次数,从而提高该像素块最后的像素值精度。
若复杂度较低,则说明该空间片元数量偏少,大多数光线的求交计算都是无效的,因此需要适当减少采样光线数量,来避免不必要的计算。最终每个像素块着色的像素值是根据穿过它的多条光线经过直射、反射、折射等过程计算出的像素值经过一定比例混合计算得到的最终值。
对每一个像素都要保存经过调整之后的采样光线数量,以便后续的遍历求交过程使用。本申请提出的调整采样光线数量的方法一定程度上减少不必要的计算,同时能够保证成像精细度,且合理利用计算资源。
步骤205、利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。
基于前述方式构建了k维树加速结构并对不同像素块的采样光线数量进行了调整,下面开始进行碰撞检测,即计算从观测点通过每个目标像素块发出的多束光线与场景物体片元的相交性。具体实现过程如图8所示。
对于本公开实施例,对每一个像素点执行以下步骤:根据像素点的唯一标识在前述构建k维树加速结构阶段生成的关联映射数据结构中,查找基于当前目标像素块对应的像素可视域内所有的目标场景物体片元构建的目标k维树。根据像素点的唯一标识获取经过调整的采样光线数量。对每一条光线,从根节点开始,遍历下一级子节点,确定光线最先与之相交的子节点,遍历相交节点的下一层级继续判断,循环此过程,直到找到最底层的叶子节点,从而确定与该条光线相交的片元所在的最深层空间。遍历该空间中包含的片元,计算相交性,若能求得相交片元,记录此碰撞点的位置,若无一片元与光线相交,说明在该方向上没有交点。重复以上步骤,直至计算出观测点模拟的光线与场景物体的所有交点。至此完成了遍历求交计算过程。
步骤206、判断携带有交点的光线是否能投射到目标场景物体片元,若能到达目标场景物体片元,则确定交点可视;将所有可视的交点映射到对应的像素点,计算像素点的像素值,并将像素值渲染到屏幕上。
对于本公开实施例,在完成以上所有步骤后,后续会根据携带有交点的光线判断是否能够经过直射、反射、折射等途径到达光源(即目标场景物体片元)。如果能够到达光源,根据光的可逆性,该交点会被光照亮从而被观察点看到,即具有可视性,否则不可视。最后计算所有可视的交点映射到像素点上的像素值,最后渲染到屏幕上,完成渲染过程。
之后,为了降低对本地物理设备的硬件计算要求,可使用云计算技术将优化后的光线追踪算法中的计算过程和渲染过程转移到云端完成,以减轻本地设备的负担,使得计算速度更快,提升渲染效率。
对于本公开实施例,如图2所示,该模块算法主要包括构建加速结构、调整像素点采样光线数量、遍历求交几个模块。在构建加速结构模块中,计算每个片元投影在二维成像平面上的像素坐标对应的像素块,对于不在观测点可视域内的片元可以直接剔除。再进行预划分,每一个像素块关联存储其可视域内的所有片元信息。之后对每一个像素可视域内的物体对象分别构建k维树加速结构。
在调整光线数量模块中,根据像素块关联存储的片元数量判断该空间内物体分布复杂度,复杂度越高采样光线数量越多,复杂度越低采样光线数量越少,将此结果也进行存储。
在遍历求交模块,根据之前构建的基于视椎体预划分的k维树加速结构,对每个像素直接查找基于其对应可视域内的片元集合构建的目标k维树,结合像素块的采样光线数量进行遍历求交。
综上,本公开提供的图像处理方法,与现有技术相比,本公开通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块;对目标场景物体片元构建k维树加速结构;基于每个目标像素块内的片元分布复杂度调整采样光线数量;利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。通过应用本公开的申请,通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,可以将复杂的场景分解为多个简单的片元,从而降低渲染计算的复杂度。由于不同像素可视域内的物体片元数量和分布情况可能存在很大差异,因此针对不同复杂度的空间,需要在遍历求交之前调整穿过该像素块的采样光线数量,减少不必要的计算,将计算资源用于需要提高精度的空间,避免空间浪费。针对遍历求交过程,对每个像素求交点时,直接查找像素块对应的视椎体内部的目标场景物体片元对应的目标k维树,再进行遍历求交点,避免了与其他不在该像素可视域内的目标场景物体片元的遍历计算,降低了计算量。
基于上述图1和图3所示方法的具体实现,本公开提供了一种图像处理装置,如图9所示,该装置包括:获取模块31、构建模块32、调整模块33、查找模块34;
获取模块31,用于利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取所述每个目标场景物体片元对应的目标像素块;
构建模块32,用于对所述目标场景物体片元构建k维树加速结构;
调整模块33,用于基于每个目标像素块内的片元分布复杂度调整采样光线数量;
查找模块34,用于利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块对应采样光线数量下的光线进行遍历求交,得到所述目标场景物体片元和所述光线的交点。
在具体的应用场景中,获取模块31,可用于利用视椎体分割所述待渲染场景物体,得到多个场景物体片元;遍历所述多个场景物体片元,将观察点的预设可视范围内的场景物体片元确定为所述目标场景物体片元。
在具体的应用场景中,获取模块31,可用于将所述每个目标场景物体片元投影在二维平面,得到投影像素块;划分所述投影像素块,得到每个目标场景物体片元对应的目标像素块。
在具体的应用场景中,构建模块32,可用于将所述目标像素块对应的像素可视域内的待渲染场景物体作为根节点,利用所述根节点分割所述待渲染场景物体,得到多个子节点;利用所述子节点分割对应的部分待渲染场景物体,直到分割后的子节点中的目标场景物体片元的数量小于预设片元数量,且所述子节点的左子节点和右子节点的节点高度差的绝对值不超过1,生成所述k维树加速结构。
在具体的应用场景中,目标像素块包括全部目标场景物体片元的目标片元信息,调整模块33,可用于根据所述目标片元信息内的目标片元数量,确定每个目标像素块对应的像素可视域内的片元分布复杂度,其中,所述片元分布复杂度与所述目标片元数量呈正相关;基于所述片元分布复杂度调整所述采样光线数量,其中,所述片元分布复杂度与所述采样光线数量呈正相关。
在具体的应用场景中,如图9所示,该装置还包括:判断模块35、映射模块36、转移模块37;
判断模块35,用于判断携带有所述交点的光线是否能投射到所述目标场景物体片元,若能到达所述目标场景物体片元,则确定所述交点可视;
映射模块36,用于将所有可视的交点映射到对应的像素点,计算所述像素点的像素值,并将所述像素值渲染到屏幕上;
转移模块37,用于将优化后的光线追踪算法中的计算过程和渲染过程转移到云端完成。
需要说明的是,本公开提供的一种图像处理装置所涉及各功能单元的其它相应描述,可以参考图1和图3中的对应描述,在此不再赘述。
基于上述如图1和图3所示方法,相应的,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1和图3所示的方法。
基于这样的理解,本公开的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施场景的方法。
基于上述如图1和图3所示的方法,以及图9所示的虚拟装置实施例,为了实现上述目的,本公开实施例还提供了一种电子设备,可配置在车辆(如电动汽车)端侧,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图3所示的方法。
可选的,上述实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本公开提供的上述实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本公开可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。本公开提供的图像处理方法、装置及电子设备,与现有技术相比,本公开通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取每个目标场景物体片元对应的目标像素块;对目标场景物体片元构建k维树加速结构;基于每个目标像素块内的片元分布复杂度调整采样光线数量;利用k维树加速结构,查找每个目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个目标像素块对应采样光线数量下的光线进行遍历求交,得到目标场景物体片元和光线的交点。通过应用本公开的申请,通过利用视椎体获取待渲染场景物体中每个目标场景物体片元,可以将复杂的场景分解为多个简单的片元,从而降低渲染计算的复杂度。由于不同像素可视域内的物体片元数量和分布情况可能存在很大差异,因此针对不同复杂度的空间,需要在遍历求交之前调整穿过该像素块的采样光线数量,减少不必要的计算,将计算资源用于需要提高精度的空间,避免空间浪费。针对遍历求交过程,对每个像素求交点时,直接查找像素块对应的视椎体内部的目标场景物体片元对应的目标k维树,再进行遍历求交点,避免了与其他不在该像素可视域内的目标场景物体片元的遍历计算,降低了计算量。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种图像处理方法,其特征在于,所述方法包括:
利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取所述每个目标场景物体片元对应的目标像素块;
对所述目标场景物体片元构建k维树加速结构;
基于每个目标像素块内的片元分布复杂度调整采样光线数量;
利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块对应采样光线数量下的光线进行遍历求交,得到所述目标场景物体片元和所述光线的交点。
2.根据权利要求1所述的方法,其特征在于,所述利用视椎体获取待渲染场景物体中每个目标场景物体片元,包括:
利用视椎体分割所述待渲染场景物体,得到多个场景物体片元;
遍历所述多个场景物体片元,将观察点的预设可视范围内的场景物体片元确定为所述目标场景物体片元。
3.根据权利要求1所述的方法,其特征在于,所述获取所述每个目标场景物体片元对应的目标像素块,包括:
将所述每个目标场景物体片元投影在二维平面,得到投影像素块;
划分所述投影像素块,得到每个目标场景物体片元对应的目标像素块。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标场景物体片元构建k维树加速结构,包括:
将所述目标像素块对应的像素可视域内的待渲染场景物体作为根节点,利用所述根节点分割所述待渲染场景物体,得到多个子节点;
利用所述子节点分割对应的部分待渲染场景物体,直到分割后的子节点中的目标场景物体片元的数量小于预设片元数量,且所述子节点的左子节点和右子节点的节点高度差的绝对值不超过1,生成所述k维树加速结构。
5.根据权利要求1所述的方法,其特征在于,所述目标像素块包括全部目标场景物体片元的目标片元信息,所述基于每个目标像素块内的片元分布复杂度调整采样光线数量,包括:
根据所述目标片元信息内的目标片元数量,确定每个目标像素块对应的像素可视域内的片元分布复杂度,其中,所述片元分布复杂度与所述目标片元数量呈正相关;
基于所述片元分布复杂度调整所述采样光线数量,其中,所述片元分布复杂度与所述采样光线数量呈正相关。
6.根据权利要求4所述的方法,其特征在于,在所述利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块的采样光线数量进行遍历求交,得到所述目标场景物体片元和光线的交点之后,所述方法还包括:
判断携带有所述交点的光线是否能投射到所述目标场景物体片元,若能到达所述目标场景物体片元,则确定所述交点可视;
将所有可视的交点映射到对应的像素点,计算所述像素点的像素值,并将所述像素值渲染到屏幕上。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将图像处理中的计算过程和渲染过程转移到云端完成。
8.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于利用视椎体获取待渲染场景物体中每个目标场景物体片元,以及获取所述每个目标场景物体片元对应的目标像素块;
构建模块,用于对所述目标场景物体片元构建k维树加速结构;
调整模块,用于基于每个目标像素块内的片元分布复杂度调整采样光线数量;
查找模块,用于利用所述k维树加速结构,查找每个所述目标像素块对应的像素可视域内每个目标场景物体片元构建的目标k维树,并结合每个所述目标像素块对应采样光线数量下的光线进行遍历求交,得到所述目标场景物体片元和所述光线的交点。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311523743.2A CN117541708A (zh) | 2023-11-15 | 2023-11-15 | 图像处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311523743.2A CN117541708A (zh) | 2023-11-15 | 2023-11-15 | 图像处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117541708A true CN117541708A (zh) | 2024-02-09 |
Family
ID=89783692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311523743.2A Pending CN117541708A (zh) | 2023-11-15 | 2023-11-15 | 图像处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117541708A (zh) |
-
2023
- 2023-11-15 CN CN202311523743.2A patent/CN117541708A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112150575B (zh) | 场景数据获取方法及模型训练方法、装置及计算机设备 | |
CN108090947B (zh) | 一种面向3d场景的光线追踪优化方法 | |
US8711143B2 (en) | System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves | |
CN111127623B (zh) | 模型的渲染方法、装置、存储介质及终端 | |
WO2012037863A1 (zh) | 三维模型数据化简、渐进传输方法及装置 | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
US9208610B2 (en) | Alternate scene representations for optimizing rendering of computer graphics | |
JP2009525526A (ja) | ビーム放出によって仮想画像を合成するための方法 | |
US7528831B2 (en) | Generation of texture maps for use in 3D computer graphics | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN101763649B (zh) | 一种增强模型轮廓的表面点绘制方法 | |
JP6864495B2 (ja) | 3dシーンのグローバル・イルミネーションの描画 | |
CN109979013B (zh) | 三维人脸贴图方法及终端设备 | |
KR101507776B1 (ko) | 3차원 지도의 외곽선 표현 방법 | |
CN102831634B (zh) | 一种高效精确的通用软阴影生成方法 | |
CN114386293B (zh) | 一种虚实合成的激光雷达点云生成方法和装置 | |
US10937236B1 (en) | Mesh smoothing for visual quality and analysis improvement | |
CN115375836A (zh) | 基于多元置信度滤波的点云融合三维重建方法和系统 | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN113744403B (zh) | 建筑物的三维模型的生成方法及系统 | |
CN114529648A (zh) | 模型展示方法、设备、装置、电子设备及存储介质 | |
US9454554B1 (en) | View dependent query of multi-resolution clustered 3D dataset | |
US8948498B1 (en) | Systems and methods to transform a colored point cloud to a 3D textured mesh | |
CN116310060B (zh) | 一种渲染数据的方法、装置、设备及存储介质 | |
CN115115800A (zh) | 一种bim模型简化方法及装置 |
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 |