当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法技术

技术编号:36156580 阅读:58 留言:0更新日期:2022-12-31 20:03
本发明专利技术公开了一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法,涉及图像渲染技术领域,将NeRF渲染器部署到FPGA上,NeRF渲染器包括特征读取器、颜色与不透明度推理器、光线渲染器、内存;特征读取器根据输入的参数,计算得到采样点的光线方向、采样点之间的距离并分别发送给颜色与不透明度推理器、光线渲染器;根据计算得到的采样点的坐标计算所需特征在内存中的地址并读取特征后进行插值处理并发送给颜色与不透明度推理器;颜色与不透明度推理器计算出采样点的颜色、采样点的不透明度并发送到光线渲染器;光线渲染器根据采样点之间的距离、采样点的颜色、不透明度信息计算出渲染结果;对目标特征进行区分,减小了内存的占用,简化渲染步骤。简化渲染步骤。简化渲染步骤。

【技术实现步骤摘要】
一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法


[0001]本专利技术涉及图像渲染
,更具体的,涉及一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法。

技术介绍

[0002]神经辐射场(NeRF)是一种以少量的二维图像构建完整的三维场景的技术,自提出以来便受到广泛关注,该技术可以有效提取二维图像中包含的三维场景的信息,并将这些信息用于三维场景的构建。可以预见到该技术未来在三维重构、图像渲染等领域将会大展拳脚,得到广泛应用。
[0003]早期的NeRF场景构建完全依赖于神经网络,即将采样到的点和穿过点的光线的方向经过升维处理后直接送入神经网络,并在神经网络的输出端得到该点的颜色和不透明度信息。该方法有以下缺点:1.神经网络规模大,训练时间长,计算缓慢;2.如果需要增加场景的分辨率,则需要进一步扩大神经网络的规模,并使用更长的训练时间;3.即使在训练完成后,渲染一张图像所需的时间也是很长的。
[0004]后来,以查表法为代表的一些速度更高的NeRF场景构建技术出现,该方法完全不使用神经网络,而是直接将空间中的采样点的不透明度以及颜色的球谐函数系数储存在一个表中,在计算某个点的颜色时,直接根据该点的位置去表中读取相应的特征进行插值,然后使用光线方向与球谐函数系数计算出该点的颜色。该方法无论是在训练还是在渲染上的速度都远远高于早期的NeRF,但该方法的缺点也十分明显,即会消耗巨量的内存来储存这张表,且随着场景分辨率的提高,这张表的大小也会不断增长,因此该方法不适合构建太过精细的场景。
[0005]为了解决这些问题,多分辨率查表法应运而生。该方法的原理是考虑到对于一个点而言,有些特征不会有太高的频率,而有些特征则会有较高的频率,那么将那些频率低的特征的表的分辨率做低一些,将那些频率高的特征的表的分辨率做高一些,就可以在保证整体场景分辨率的同时降低内存的占用。该方法需要重新将神经网络引入,在不同分辨率的表中读取到某一个点的特征后,将这些特征以及穿过该点的光线的方向送入神经网络就可以得到对应的颜色与不透明度信息。该方法所使用的神经网络规模比早期NeRF所使用的神经网络规模要小得多,更重要的是,其规模不需要随着场景分辨率的提升而提升,因此其内存占用相较于表可以忽略不计。
[0006]多分辨率查表法虽然有效降低了内存占用,但高分辨率特征表的存储依然需要消耗巨量的内存。
[0007]现有技术公开了一种基于深度引导采样的高效神经辐射场渲染方法,该方法具体的步骤如下:(1)获取N张待渲染视角附近的图片,通过深度神经网络提取得到N张图片特征{Fi|i=1,...,N},其中Fi为第i张图片的特征;记待渲染视角的图片为目标视图,获取的待渲染视角附近的图片为给定视图;(2)利用给定视图计算目标视图的深度图像D,用D(u,v)
表示目标视图上像素点(u,v)的深度值;(3)对于目标视图上的一个像素点(u,v),在其深度可能所处的区间[D(u,v)

ΔD(u,v),D(u,v)+ΔD(u,v)],采样Nk个点{xk|k=1,...,Nk},其中ΔD(u,v)为真实深度值与步骤(2)计算得到的深度值的最大误差,xk为从相机中心穿过像素点(u,v)的射线在上述深度区间上均匀采样的点;(4)对于步骤(3)采样的点xk,利用神经网络Φ计算采样点的神经辐射场(c,σ)=Φ(d,f);其中,c和σ分别是点xk的辐射和体密度,d是相机中心穿过像素点(u,v)的射线在3D空间中的方向;f是xk投影在步骤(1)深度神经网络输入图片上的对应的图像特征的聚合;(5)利用体渲染的公式聚合每一个像素点上所有采样点的神经辐射场(c,σ),得到最终渲染出来的图片;现有技术不足之处在于提取的目标特征以及相关参数占用较大内存容量,对目标特征没有进行区分,且需要构建代价体,加大处理信息的工作量。

技术实现思路

[0008]本专利技术为了解决现有技术对目标特征的提取占用较大内存、对目标特征没有进行区分,图像渲染的步骤繁琐的问题,提出了一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器及渲染方法,通过特征读取器提取对应的特征,在内存找到对应特征存放位置并读取,完成对目标特征的区分,通过采样点之间的距离、采样点的颜色和不透明度信息计算出渲染结果,简化了图像渲染的步骤。
[0009]为解决上述技术问题,本专利技术采用的技术方案是:
[0010]一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,将NeRF渲染器部署到FPGA上,其中NeRF渲染器包括特征读取器、颜色与不透明度推理器、光线渲染器、预先存储有不同分辨率的表的内存;所述的不同分辨率的表中对应存储有特征点不同频率的特征;
[0011]所述的特征读取器根据输入需要渲染的图像的相机参数和图像参数,计算得到采样点的光线方向、将采样点之间的距离;
[0012]所述的特征读取器将计算得到的采样点的光线方向发送给所述的颜色与不透明度推理器,将计算得到的采样点之间的距离发送给所述的光线渲染器;根据计算得到的采样点的坐标计算所需特征,基于多分辨率哈希编码查表法读取内存中的不同频率的表,获得相应的特征;并将获得的特征进行插值处理后发送给所述的颜色与不透明度推理器;
[0013]所述的颜色与不透明度推理器根据得到的采样点的光线方向和插值处理后的特征计算出采样点的颜色、采样点的不透明度,发送到所述的光线渲染器;
[0014]所述的光线渲染器根据得到的采样点之间的距离、采样点的颜色和不透明度信息计算出渲染结果。
[0015]本专利技术的工作原理如下:
[0016]通过特征读取器计算得到采样点的光线方向、将采样点之间的距离、插值处理后的特征;通过颜色与不透明度推理器计算出采样点的颜色、采样点的不透明度;通过的光线渲染器根据采样点之间的距离、采样点的颜色和不透明度信息使用一个渲染方程计算出渲染结果。
[0017]优选地,基于多分辨率哈希编码查表法读取内存中的不同分辨率的表,具体如下:
[0018]设置一个表的尺寸的限制值,判断所有表的尺寸是否大于限制值,若表的尺寸小于限制值时,则在对表的内容寻址时采用三维坐标直接寻址;若表的尺寸大于限制值时,则
使用哈希函数通过三维坐标的哈希编码结果进行寻址,并使用哈希算法对表进行压缩。
[0019]进一步地,所述的特征读取器包括光线参数计算器、光线采样器、地址生成器、内存控制器、插值器;
[0020]所述的光线参数计算器根据输入需要渲染的图像的相机参数和图像参数,得到采样点的光线方向、光线起点、近端距离、远端距离;并根据近端距离与远端距离之间的大小关系判断是否需要渲染;
[0021]所述的光线参数计算器将所述的采样点的光线方向发送给所述的颜色与不透明度推理器;在确定需要渲染后,将采样点的光线方向、光线起点、近端距离、远端距离发送给所述的光线采样器;
[0022]所述的光线采样器计算出采样点之间的距离发送给光线渲染器,计算出采样本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,将NeRF渲染器部署到FPGA上,其中NeRF渲染器包括特征读取器、颜色与不透明度推理器、光线渲染器、预先存储有不同分辨率的表的内存;所述的不同分辨率的表中对应存储有特征点不同频率的特征;所述的特征读取器根据输入需要渲染的图像的相机参数和图像参数,计算得到采样点的光线方向、将采样点之间的距离;所述的特征读取器将计算得到的采样点的光线方向发送给所述的颜色与不透明度推理器,将计算得到的采样点之间的距离发送给所述的光线渲染器;根据计算得到的采样点的坐标计算所需特征,基于多分辨率哈希编码查表法读取内存中的不同频率的表,获得相应的特征;并将获得的特征进行插值处理后发送给所述的颜色与不透明度推理器;所述的颜色与不透明度推理器根据得到的采样点的光线方向和插值处理后的特征计算出采样点的颜色、采样点的不透明度,发送到所述的光线渲染器;所述的光线渲染器根据得到的采样点之间的距离、采样点的颜色和不透明度信息计算出渲染结果。2.根据权利要求1所述的一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,基于多分辨率哈希编码查表法读取内存中的不同分辨率的表,具体如下:设置一个表的尺寸的限制值,判断所有表的尺寸是否大于限制值,若表的尺寸小于限制值时,则在对表的内容寻址时采用三维坐标直接寻址;若表的尺寸大于限制值时,则使用哈希函数通过三维坐标的哈希编码结果进行寻址,并使用哈希算法对表进行压缩。3.根据权利要求2所述的一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,所述的特征读取器包括光线参数计算器、光线采样器、地址生成器、内存控制器、插值器;所述的光线参数计算器根据输入需要渲染的图像的相机参数和图像参数,得到采样点的光线方向、光线起点、近端距离、远端距离;并根据近端距离与远端距离之间的大小关系判断是否需要渲染;所述的光线参数计算器将所述的采样点的光线方向发送给所述的颜色与不透明度推理器;在确定需要渲染后,将采样点的光线方向、光线起点、近端距离、远端距离发送给所述的光线采样器;所述的光线采样器计算出采样点之间的距离发送给光线渲染器,计算出采样点的坐标发送给所述的地址生成器;所述的地址生成器计算出采样点的坐标在内存中的地址,并发送到内存控制器;所述的内存控制器从内存中读取到相应的特征,并发送到插值器中;所述的插值器进行插值处理后将插值后的特征发送到所述的颜色与不透明度推理器。4.根据权利要求3所述的一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,所述的光线参数计算器计算采样点的光线方向、光线起点、近端距离、远端距离的具体步骤如下:S101:将相机位置视为光线起点;S102:计算像素点在相机坐标系下的方向;S103:使用矩阵乘法,将该方向变换为真实空间中的方向;
S104:变换后的结果经归一化得到采样点的光线方向;S105:计算光线起点在光线方向上到采样区域边界所在的六个平面的距离;S106:将相对的三组平面中,距离小的三个分入近端组,距离大的三个分入远端组;S107:近端组中的距离与0之间的最大值即为近端距离,远端组中的距离中的最小值即为远端距离;S108:通过判断近端距离与远端距离的大小关系来判断采集的光线是否需要渲染;若近端距离大于远端距离,表明该光线需要渲染;若远端距离大于近端距离,表明该光线不需要渲染。5.根据权利要求3所述的一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,所述的地址生成器计算出采样点的坐标后,从内存中读取到距离该采样点距离最近的八个存在于表中的特征点的特征,使用三线性插值法得到该采样点的特征。6.根据权利要求1所述的一种基于FPGA和多分辨率哈希编码算法的NeRF渲染器,其特征在于,所述的颜色与不透明度推理器...

【专利技术属性】
技术研发人员:黄以华许翔智
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1