CN114913054B - 基于注意力感知的着色器简化变体评估方法和装置 - Google Patents
基于注意力感知的着色器简化变体评估方法和装置 Download PDFInfo
- Publication number
- CN114913054B CN114913054B CN202210492167.9A CN202210492167A CN114913054B CN 114913054 B CN114913054 B CN 114913054B CN 202210492167 A CN202210492167 A CN 202210492167A CN 114913054 B CN114913054 B CN 114913054B
- Authority
- CN
- China
- Prior art keywords
- shader
- attention
- variant
- simplified
- original
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于注意力感知的着色器简化变体评估方法和装置,包括:利用多模态条件转换网络对原始着色器代码和输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。该方法和装置可快速低成本测量评估着色器简化变体的绘制效果。
Description
技术领域
本发明属于计算机图形学着色器简化领域,具体涉及一种基于注意力感知的着色器简化变体评估方法和装置。
背景技术
现代图形硬件日益增加的灵活性允许通过复杂的着色器渲染有吸引力的视觉效果。自动着色器简化是一种很有前途的解决方案,可以满足各种复杂场景的实时要求。
现有论文提议自动简化着色器,如文献Wang,Rui,et al."Automatic shadersimplification using surface signal approximation."ACM Transactions onGraphics(TOG)33.6(2014):1-11,该文献具体提出了简化规则,包括删除操作、将片段着色器代码移动到顶点/镶嵌着色器阶段、并将片段着色器代码移动到参数阶段等,将这些简化规则应用于原始着色器会生成大量简化的着色器变体。
文献Sitthi-Amorn,Pitchaya,et al."Genetic programming for shadersimplification."ACM Transactions on Graphics(TOG)30.6(2011):1-12还提供了遗传编程(Genetic Programming,简称GP),GP能有效地找到由渲染性能和视觉质量等指标定义的帕累托边界上最佳的一个或多个着色器变体。然而,由于渲染和评估许多着色器变体的时间成本高,导致基于遗传编程构建的简化框架仍然是耗时的。
经典的离线方法通过在多个场景配置下渲染着色器变体并平均结果来寻求平均最佳,这种方法需要花费大量时间,并消耗大量空间来缓存结果。
现有技术中还提出通过渲染备用变体样本来预测渲染性能和视觉质量来代替评估。但是,这样方式仍然需要多次渲染示例场景来指导搜索,着色器评估通常是一项一项进行,并且会花费大量搜索时间。
尽管可以以很小的成本有效地预测渲染性能,但视觉质量直接取决于由阴影代码和场景配置组成的多模态输入。例如,删除Ambient Occlusion项的简化着色器可能会在平坦场景中产生良好的质量,但在凹凸表面中可能会失败。
发明内容
鉴于上述不足,本发明的目的是提供一种基于注意力感知的着色器简化变体评估方法和装置,提升构建着色器简化变体的效率,同时可快速低成本测量评估着色器简化变体的绘制效果。
为实现上述发明目的,实施例提供的一种基于注意力感知的着色器简化变体评估方法,包括以下步骤:
利用多模态条件转换网络(Multimodal Multi-Modal ConditionalTransformer)对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;
利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;
在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
在一个实施例中,所述多模态条件转换网络包括节点编码器、输入编码器、上下文编码器、节点解码器;
所述利用多模态条件转换网络对原始着色器进行编码和解码,包括:
利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点;
利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征;
利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;
利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量。
在一个实施例中,还包括:将原始着色器代码中的每个符号视为中间节点,将原始着色器代码表示为抽象语法树后,按照深度优先的顺序遍历抽象语法树,以将原始着色器代码编码成单词序列,并将单词序列嵌入到多维向量中,嵌入单词序列的多维向量作为节点编码器的输入,经编码计算生成表示局部信息的着色器节点。
在一个实施例中,还包括:原始着色器的多模态输入数据包括顶点属性、着色器uniform参数以及纹理信息,采用G-buffer技术将顶点属性和纹理信息光栅化成图片序列后,将着色器uniform参数堆叠到图片序列一同输入至输入编码器,经过编码计算生成图像空间特征。
在一个实施例中,所述节点编码器采用多层网络感知机,所述输入编码器采用PointNet,所述上下文编码器采用基于Transformer的编码器,所述节点解码器采用基于Transformer的解码器。
在一个实施例中,所述注意力感知模块包括轻量级Key单元、轻量级Query单元、轻量级Value单元;
利用利用注意力感知模块对着色器变体的特征向量进行三方面的注意力感知计算,包括:
利用轻量级Key单元对着色器变体的特征向量进行感知计算,以得到注意力元素kx序列;
利用轻量级Query单元对着色器变体的特征向量进行感知计算,以得到注意力元素qx序列;
利用轻量级Value单元;对着色器变体的特征向量进行感知计算,以得到注意力元素vx序列;
其中,kx和qx是标量,vx是向量,x表示注意力元素索引,注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列组成着色器变体空间;
三类注意力元素序列的维度相等,且与着色器节点的维度相等。
在一个实施例中,所述在着色器变体空间中,从三类注意力元素序列查询抽取对应元素来构建单个着色器简化变体的嵌入向量,包括:
从三类注意力元素序列中分别查询抽取对应注意力元素,被抽取的注意力元素按照在原序列中的位置排放,没被查询抽取的注意力元素位置设为空,组成三类新注意力元素序列;
三类新注意力元素序列经过公式(1)计算来构建着色器简化变体:
其中,Sv表示着色器简化变体的嵌入向量,上标v表示原始着色器的节点数,Q、K以及V表示三类新注意力元素序列,上标T表示转置,d表示归一化项,softmax()表示softmax函数;
所述根据着色器变体空间的所有注意力元素序列来构建原始着色器的嵌入向量,包括:
所有注意力元素序列经过公式(2)计算计算来构建新原始着色器:
其中,S0表示原始着色器的嵌入向量,Q0、K0以及V0表示经过注意力感知模块计算得到的三类注意力元素序列。
在一个实施例中,所述通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果,包括:
采用公式(3)计算每个着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离:
ε(Sv,u)=||I(Sv,u)-I(S0,u)||2 (3)
其中,ε(Sv,u)表示距离,u表示表示着色器输入的多模态数据,I(Sv,u)表示着色器简化变体的嵌入向量Sv对u的绘制图像,I(S0,u)表示原始着色器的嵌入向量S0对u的绘制图像,||·||2表示L2距离;
对所有着色器简化变体对应的嵌入向量距离进行排序,距离越小,表示着色器简化变体的绘制效果越好,基于排序结果筛选一系列绘制效果好的着色器简化变体。
在一个实施例中,多模态条件转换网络和注意力感知模块在被应用前需要进行参数优化,参数优化时采用的损失函数为:
其中,Loss(Sv,u)为损失函数,采用L2损失,ε(Sv,u)表示通过从着色器变体空间抽取注意力元素构建的着色器简化变体的嵌入向量Sv和原始着色器的嵌入向量S0对着色器输入的多模态数据u的绘制图像之间的距离,表示通过传统方法构建的着色器简化变体和原始着色器对着色器输入的多模态数据u的绘制图像之间的距离,即真值标签,δ表示超参数,λ表示正则化权重,ω表示训练参数的正则化,||·||2表示L2距离。
为实现上述发明目的,实施例还提供了一种基于注意力感知的着色器简化变体评估装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述存储器中存有经过上述基于注意力感知的着色器简化变体评估方法构建的参数优化的多模态条件转换网络和注意力感知模块,所述处理器执行所述计算机程序时实现以下步骤:
利用多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;
利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;
在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
与现有技术相比,本发明具有的增益效果至少包括:
通过基于深度学习构建的多模态条件转换网络对原始着色器进行编码和解码以得到着色器变体的特征向量,并采用利用注意力感知模块对着色器变体的特征向量进行编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;在着色器变体空间中,通过延迟查询抽取注意力元素构建着色器简化变体,该构建方式简单方便,且可以根据实际应用随时离线抽取构建;通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果,评估计算消耗低、且效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的多模态条件转换网络和注意力感知模块的结构示意图;
图2是实施例提供的在着色器变体空间构建原始着色器和着色器简化变体的嵌入向量,以及评估绘制效果示意图;
图3是实施例提供的基于注意力感知的着色器简化变体评估方法的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
针对背景技术中的不足,实施例提供了一种基于注意力感知的着色器简化变体评估方法和装置,能够实现对快速构建着色器简化变体,同时可快速低成本测量评估着色器简化变体的绘制效果。
实施例提供的基于注意力感知的着色器简化变体评估方法和装置,基于通过神经网络学习构建的多模态条件转换网络和注意力感知模块形成的框架系统来构建原始着色器的着色器变体空间,并在着色器变体空间中,着色器简化变体被嵌入为向量,并且它们的质量可以通过距离轻松测量,这种架构系统与特定的简化框架平行,并且对在线和离线的评估方法都非常有益。
图1所示了实施例提供包含多模态条件转换网络和注意力感知模块的网络系统。如图1所示,多模态条件转换网络包括节点编码器、输入编码器、上下文编码器、节点解码器。注意力感知模块包括轻量级Key单元、轻量级Query单元、轻量级Value单元。具体地,每个部分的功能、输入以及输出概括如表1所示:
表1
实施例中,针对节点编码器:采用自然语言处理的方法来编码着色器代码。具体地,首先,采用抽象语法树(Abstract Syntax Tree,简称AST)来表示着色器代码,着色器(shader)代码中的每个符号都被视为一个中间节点;然后,以深度优先的顺序遍历树抽象语法树的节点,将着色器代码编码为单词序列;接下来,将单词序列嵌入到多维向量(如128维度向量)以得到嵌入向量;最后,与常见的Transformer神经网络一样,将嵌入向量及其位置编码被馈送到节点编码器,经编码计算以生成着色器节点,该着色器节点表示了着色器的局部信息。实施例中,节点编码器可以用多层网络感知机(Multi-Layer Perceptron,简称MLP),即利用MLP进行着色器代码对应的嵌入向量来进行编码以得到着色器节点。
针对输入编码器:原始着色器的多模态输入数据包括顶点属性(位置、法线、纹理坐标等)、着色器uniform参数(视图/灯光位置等)和纹理信息。这些多模态输入数据具有多种维度特性,并不适合网络处理。实施例提供的输入编码器专注于屏幕空间误差,因此效仿G-buffer等常用技术,生成一个缓冲区,该缓冲区由对顶点属性和纹理信息光栅化处理得到的光栅化图片序列和着色器uniform参数组成,例如通用着色器中的“worldpos”或“lightdir”。实施例中,输入编码器的结构采用PointNet。因为片段着色器是单个像素上的着色器输入的函数,所以使用PointNet来防止在像素之间引入不准确的相关性。这种技术选择显着提高了输入编码器的泛化能力。实施例中,着色器代码中的uniform参数由所有图片像素共享,所以简单地将着色器参数堆叠到光栅化图片序列,一起作为输入编码器的输入,经过编码计算生成图像空间特征。
针对上下文编码器:上下文编码器是多模态条件转换网络的关键部分,具有两个基本功能。首先,上下文编码器学习着色器节点之间的关系。其次,上下文编码器还可以学习多模态信息之间的相关性,输入编码器输出的图像空间特征是图像特征,而节点编码器输出的着色器节点是语言信息。考虑到应用场景,实施例将编码后的图像空间特征视为上下文编码器的条件。所以,一旦针对原始着色器进行了训练,就可以将动态着色器输入数据提供给网络以进行自适应简化。实施例中,Transformer结构是目前最先进的NLP模型,最近引起了广泛关注。它可以有效地探索节点之间的远距离关系,同时保留顺序信息,此功能有利于探索着色器代码中变量的上下文连接,因此,上下文编码器采用Transformer的编码器结构,该编码器结构对输入的着色器节点、图像空间特征进行编码计算,以输出上下文向量(Context Vector,CV),该上下文向量包含了着色器的全局信息。
针对节点解码器:实施例中,节点解码器采用Transformer结构的解码器结构,该解码器结构对输入的着色器节点和上下文向量进行解码计算,解码计算过程中,结合全局信息(上下文向量)和局部信息(着色器节点)来预测输出着色器变体的特征向量。
针对注意力感知模块:注意力感知模块是根据着色器变体的特征向量进行编码并构建着色器变体空间。注意力感知模块包含的轻量级Key单元、轻量级Query单元、轻量级Value单元分别对输入的着色器变体的特征向量进行注意力计算,以转化为注意力元素kx、qx和vx,形成注意力元素kx序列、注意力元素qx序列、注意力元素vx序列。其中,kx和qx是标量,vx是向量,x表示注意力元素索引,注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列组成着色器变体空间;需要注意的是,注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列的维度相等,且与着色器节点的维度相等。
实施例中,如图2所示,着色器变体空间用于抽取注意力元素构建着色器简化变体的嵌入向量,在感知缓存的着色器变体空间中通过分析的方式执行每次查询以构建着色器简化变体的嵌入向量。具体地,将每次在着色器变体空间中从三类的注意力元素序列查询抽取对应元素来构建单个着色器简化变体的嵌入向量,包括:
从注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列中分别查询抽取任意个注意力元素,被抽取的注意力元素按照在原序列中的位置排放,没被查询抽取的注意力元素位置设为空null,组成三类新注意力元素序列,如下所示:
Q=[Query(n1),Query(n2),...,Query(nv)] (1)
V=[Value(n1),Value(n2),...,Value(nv)] (2)
K=[Key(n1),Key(n2),...,Key(nv)] (3)
其中,Key(·)、Query(·)和Value(·)分别表示轻量级Key单元、轻量级Query单元、轻量级Value单元输出的注意力元素,n1,n2,……,nv表示的着色器变体的特征向量;新注意力元素序列中的空元素表示在构建的着色器简化变体中对应的着色器节点已经被删除。
三类新注意力元素序列Q、K以及V经过公式(4)计算来构建着色器简化变体的嵌入向量:
其中,Sv表示着色器简化变体的嵌入向量,上标v表示原始着色器的节点数,上标T表示转置,d表示归一化项,针对128维度的输入向量,该d取值为128,softmax()表示softmax函数;
着色器变体空间的所有注意力元素序列经过公式(5)计算计算来构建原始着色器的嵌入向量:
其中,S0表示原始着色器的嵌入向量,Q0、K0以及V0表示经过注意力感知模块计算得到的三类注意力元素序列。
实施例中,为了评估简化的着色器简化变体的绘制质量,使用引擎渲染场景,获取经过渲染引擎的绘制图像。具体地通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。具体地,可以采用公式(6)计算每个着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离:
ε(Sv,u)=||I(Sv,u)-I(S0,u)||2 (6)
其中,ε(Sv,u)表示嵌入向量距离,u表示着色器输入的多模态数据,包括给定场景配置的uniform参数和几何属性以及纹理等,I(Sv,u)表示着色器简化变体的嵌入向量Sv对u的绘制图像,I(S0,u)表示原始着色器的嵌入向量S0对u的绘制图像,||·||2表示L2距离。这种将绘制图像的视觉质量的测量简化为嵌入向量距离的测量,能够更加快速低成本的实现绘制效果的评估。
实施例中,如图1所示的多模态条件转换网络和注意力感知模块在被应用前还需要进行参数优化,实施例基于着色器简化变体的着色误差来构建损失函数,具体的损失函数为:
其中,Loss(Sv,u)为损失函数,采用L2损失,ε(Sv,u)表示通过从着色器变体空间抽取注意力元素构建的着色器简化变体的嵌入向量Sv和原始着色器的嵌入向量S0对着色器输入的多模态数据u的绘制图像之间的距离,表示通过传统方法构建的着色器简化变体和原始着色器对着色器输入的多模态数据u的绘制图像之间的距离,即真值标签,因为在着色器简化中的应用将对具有较小差异值的着色器变体更感兴趣。因此在损失函数中添加超参数δ=1e-4以避免在除法中为零,还在损失函数中增加L2正则化,λ表示正则化权重,ω表示训练参数正则化损失,||·||2表示L2距离。
在上述多模态条件转换网络和注意力感知模块经过训练,网络参数确定之后,即可以利用多模态条件转换网络和注意力感知模块对原始着色器进行计算,以生成着色器变体空间,在该着色器变体空间中通过在线或离线的方式延迟查询抽取多个注意力元素即可以构建不同简化程度的着色器简化变体的嵌入向量,其中,着色器简化变体的简化程度与抽取的注意力元素的个数有关,抽取的注意力元素越少,简化程度越高。
基于以上经过训练的多模态条件转换网络和注意力感知模块,如图3所示,实施例提供的基于注意力感知的着色器简化变体评估方法,包括以下步骤:
步骤1,利用多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量。
具体地,步骤1包括:
步骤1-1,利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点,即将原始着色器代码中的每个符号视为中间节点,将原始着色器代码表示为抽象语法树后,按照深度优先的顺序遍历抽象语法树,以将原始着色器代码编码成单词序列,并将单词序列嵌入到多维向量中,嵌入单词序列的多维向量作为节点编码器的输入,经编码计算生成表示局部信息的着色器节点。
步骤1-2,利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征,即采用G-buffer技术将多模态输入数据包含的顶点属性和纹理信息光栅化成图片序列后,将着色器uniform参数堆叠到图片序列一同输入至输入编码器,经过编码计算生成图像空间特征。
步骤1-3,利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;
步骤1-4,利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量。
步骤2,利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间。
具体地,步骤2包括:
步骤2-1,利用轻量级Key单元对着色器节点的嵌入向量进行主力已感知计算,以得到注意力元素kx序列;
步骤2-2,利用轻量级Query单元对着色器节点的嵌入向量进行主力已感知计算,以得到注意力元素qx序列;
步骤2-3,利用轻量级Value单元;对着色器节点的嵌入向量进行主力已感知计算,以得到注意力元素vx序列;
步骤2-4,注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列组成着色器变体空间。
步骤3,在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量。
步骤3中,根据需要的简化程度,从注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列中分别查询抽取对应注意力元素,被抽取的注意力元素按照在原序列中的位置排放,没被查询抽取的注意力元素位置设为空null,组成三类新注意力元素序列,然后根据三类新注意力元素序列采用上述公式(4)计算着色器简化变体的嵌入向量。
步骤4,根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
步骤4中,根据经过注意力感知模块计算得到的三类注意力元素序列采用上述公式(5)计算得到原始着色器的嵌入向量,然后,根据上述公式(6)计算嵌入向量距离ε(sv,u),该嵌入向量距离表征了着色器简化变体的绘制效果与新原始着色器绘制效果的差距。
实施例中,根据需要的简化程度,从着色器变体空间中经过多次抽取注意力元素来构建多个着色器简化变体的嵌入向量,然后对构建的所有着色器简化变体对应的嵌入向量距离进行排序,距离越小,表示着色器简化变体的绘制效果越好,基于排序结果筛选一系列绘制效果好的着色器简化变体。
实施例中,针对原始着色器通过步骤1和步骤2的一次推理计算,即可以一次性的得到原始着色器对应的嵌入空间,将该嵌入空间作为着色器变体空间来构建着色器简化变体和评估绘制效果,可以将开销减少了几个数量级,大大降低了计算开销成本。
实施例还提供了一种基于注意力感知的着色器简化变体评估装置,包括存储器、处理器以及存储在存储器中并可在处理器上执行的计算机程序,存储器中存有上述构建的参数优化的多模态条件转换网络和注意力感知模块,处理器执行计算机程序时实现以下步骤:
步骤1,利用多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;
步骤2,利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;
步骤3,在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
步骤4,根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于注意力感知的着色器简化变体评估方法,其特征在于,包括以下步骤:
利用包括节点编码器、输入编码器、上下文编码器、节点解码器的多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,包括:利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点;利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征;利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量;
利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;
在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
2.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,还包括:将原始着色器代码中的每个符号视为中间节点,将原始着色器代码表示为抽象语法树后,按照深度优先的顺序遍历抽象语法树,以将原始着色器代码编码成单词序列,并将单词序列嵌入到多维向量中,嵌入单词序列的多维向量作为节点编码器的输入,经编码计算生成表示局部信息的着色器节点。
3.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,还包括:原始着色器的多模态输入数据包括顶点属性、着色器uniform参数以及纹理信息,采用G-buffer技术将顶点属性和纹理信息光栅化成图片序列后,将着色器uniform参数堆叠到图片序列一同输入至输入编码器,经过编码计算生成图像空间特征。
4.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述节点编码器采用多层网络感知机,所述输入编码器采用PointNet,所述上下文编码器采用基于Transformer的编码器,所述节点解码器采用基于Transformer的解码器。
5.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述注意力感知模块包括轻量级Key单元、轻量级Query单元、轻量级Value单元;
利用注意力感知模块对着色器变体的特征向量进行三方面的注意力感知计算,包括:
利用轻量级Key单元对着色器变体的特征向量进行感知计算,以得到注意力元素kx序列;
利用轻量级Query单元对着色器变体的特征向量进行感知计算,以得到注意力元素qx序列;
利用轻量级Value单元;对着色器变体的特征向量进行感知计算,以得到注意力元素vx序列;
其中,kx和qx是标量,vx是向量,x表示注意力元素索引,注意力元素kx序列、注意力元素qx序列以及注意力元素vx序列组成着色器变体空间;
三类注意力元素序列的维度相等,且与着色器节点的维度相等。
6.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述在着色器变体空间中,从三类注意力元素序列查询抽取对应元素来构建单个着色器简化变体的嵌入向量,包括:
从三类注意力元素序列中分别查询抽取对应注意力元素,被抽取的注意力元素按照在原序列中的位置排放,没被查询抽取的注意力元素位置设为空,组成三类新注意力元素序列;
三类新注意力元素序列经过公式(1)计算来构建着色器简化变体:
其中,Sv表示着色器简化变体的嵌入向量,上标v表示原始着色器的节点数,Q、K以及V表示三类新注意力元素序列,上标T表示转置,d表示归一化项,softmax()表示softmax函数;
所述根据着色器变体空间的所有注意力元素序列来构建原始着色器的嵌入向量,包括:
所有注意力元素序列经过公式(2)计算来构建新原始着色器:
其中,S0表示原始着色器的嵌入向量,Q0、K0以及V0表示经过注意力感知模块计算得到的三类注意力元素序列。
7.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果,包括:
采用公式(3)计算每个着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离:
ε(Sv,u)=||I(Sv,u)-I(S0,u)||2 (3)
其中,ε(Sv,u)表示距离,u表示着色器输入的多模态数据,I(Sv,u)表示着色器简化变体的嵌入向量Sv对u的绘制图像,I(S0,u)表示原始着色器的嵌入向量S0对u的绘制图像,||·||2表示L2距离;
对所有着色器简化变体对应的嵌入向量距离进行排序,距离越小,表示着色器简化变体的绘制效果越好,基于排序结果筛选一系列绘制效果好的着色器简化变体。
9.一种基于注意力感知的着色器简化变体评估装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,其特征在于,所述存储器中存有经过权利要求1-8任一项所述的基于注意力感知的着色器简化变体评估方法构建的参数优化的多模态条件转换网络和注意力感知模块,所述处理器执行所述计算机程序时实现以下步骤:
利用包括节点编码器、输入编码器、上下文编码器、节点解码器的多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,包括:利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点;利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征;利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量;
利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;
在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492167.9A CN114913054B (zh) | 2022-05-07 | 2022-05-07 | 基于注意力感知的着色器简化变体评估方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492167.9A CN114913054B (zh) | 2022-05-07 | 2022-05-07 | 基于注意力感知的着色器简化变体评估方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114913054A CN114913054A (zh) | 2022-08-16 |
CN114913054B true CN114913054B (zh) | 2023-02-14 |
Family
ID=82767545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492167.9A Active CN114913054B (zh) | 2022-05-07 | 2022-05-07 | 基于注意力感知的着色器简化变体评估方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114913054B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104167015B (zh) * | 2014-07-31 | 2017-05-10 | 浙江大学 | 一种基于表面信号拟合的着色器简化方法、装置及图形渲染方法 |
US10650604B1 (en) * | 2018-09-21 | 2020-05-12 | Immersive Touch, Inc. (Delaware Corporation) | Method, device and system for volume visualization and interaction in a virtual reality environment |
US20220108423A1 (en) * | 2020-10-02 | 2022-04-07 | Google Llc | Conditional Axial Transformer Layers for High-Fidelity Image Transformation |
CN113590221B (zh) * | 2021-08-02 | 2024-05-03 | 上海米哈游璃月科技有限公司 | 着色器变体数量的检测方法、装置、电子设备及存储介质 |
-
2022
- 2022-05-07 CN CN202210492167.9A patent/CN114913054B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114913054A (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291212B (zh) | 基于图卷积神经网络的零样本草图图像检索方法和系统 | |
CN114187450B (zh) | 一种基于深度学习的遥感图像语义分割方法 | |
CN117475038B (zh) | 一种图像生成方法、装置、设备及计算机可读存储介质 | |
CN115619743A (zh) | Oled新型显示器件表面缺陷检测模型的构建方法及其应用 | |
CN114387365B (zh) | 一种线稿上色方法及装置 | |
CN113065649A (zh) | 一种复杂网络拓扑图表示学习方法、预测方法及服务器 | |
CN115222998B (zh) | 一种图像分类方法 | |
CN117635418B (zh) | 生成对抗网络的训练方法、双向图像风格转换方法和装置 | |
CN115599984B (zh) | 一种检索方法 | |
CN115525771A (zh) | 基于上下文数据增强的少样本知识图谱表示学习方法及系统 | |
CN114820871A (zh) | 字体生成方法、模型的训练方法、装置、设备和介质 | |
CN117315070A (zh) | 图像生成方法、装置、电子设备、存储介质和程序产品 | |
CN117499711A (zh) | 视频生成模型的训练方法、装置、设备及存储介质 | |
CN114092579B (zh) | 一种基于隐式神经网络的点云压缩方法 | |
CN114596464A (zh) | 多特征交互的无监督目标检测方法、系统、电子设备和可读存储介质 | |
CN118297911A (zh) | 绝缘子缺陷故障检测方法、装置、存储介质及计算机设备 | |
CN117787380A (zh) | 模型获取方法、装置、介质及设备 | |
CN114913054B (zh) | 基于注意力感知的着色器简化变体评估方法和装置 | |
CN116703523A (zh) | 基于大数据的电子商务系统及其方法 | |
CN115659148A (zh) | 基于深度学习注意力机制的负荷分解方法和系统 | |
Zou et al. | Diffcr: A fast conditional diffusion framework for cloud removal from optical satellite images | |
Wang et al. | Remote sensing image semantic segmentation based on cascaded Transformer | |
CN118570880B (zh) | 人体动作识别方法和装置 | |
CN112016480B (zh) | 人脸特征表示方法、系统、电子设备和存储介质 | |
Baig et al. | Colorization for image compression |
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 | ||
CB02 | Change of applicant information |
Address after: 311121 Room 1001, 10th Floor, Building 4, Haizhi Center, Cangqian Street, Yuhang District, Hangzhou City, Zhejiang Province Applicant after: Guangguangyun (Hangzhou) Technology Co.,Ltd. Address before: 311100 Room 403, building 15, No. 1818-2, Wenyi West Road, Yuhang street, Yuhang District, Hangzhou City, Zhejiang Province Applicant before: Guangguangyun (Hangzhou) Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |