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

基于神经辐射场实现高质量新视图合成的FPGA加速器制造技术

技术编号:37246473 阅读:19 留言:0更新日期:2023-04-20 23:26
本发明专利技术公开了一种基于神经辐射场实现高质量新视图合成的FPGA加速器;其包括FPGA和三个运算模块:位置编码模块、MLP模块、光线步进模块,运算模块部署在FPGA上;其中,MLP模块拆分出两级流水线:前一级流水线得出体密度和隐藏层,后一级流水线得出颜色信息;前一级流水线有8层全连接层,全连接层之间有ReLu激活函数,坐标信号通过前一级流水线后得到体密度;后一级流水线有两层全连接层,输入隐藏层信息和视角方向,再经过sigmoid激活函数,得到颜色信息。实验结果表明,本发明专利技术设计的硬件架构能加速神经辐射场计算,与在GPU上运行同样的算法相比,运行功耗远远小于GPU,生成的图像质量与GPU相近。与GPU相近。与GPU相近。

【技术实现步骤摘要】
基于神经辐射场实现高质量新视图合成的FPGA加速器


[0001]本专利技术属于图像合成
,具体的说,涉及一种基于神经辐射场实现高质量新视图合成的FPGA加速器。

技术介绍

[0002]数十年来,将人眼视觉感知扩充到3D一直是计算机视觉领域的一个重要的研究方向,其中相关技术被广泛应用于3D电视或者虚拟现实游戏中。传统的计算机视觉技术使用多幅2D图像来重建3D几何模型,然后将其重新投影以得到相同场景中不同视角的虚拟视图。然而通过顶点网络、多边形三角分割、曲面细分等传统方法重建3D模型所消耗的时间与场景复杂度成正比;场景中物体的几何关系越复杂,建模消耗的时间就越长,同时更容易出现建模错误。
[0003]然而,最近的神经辐射场(Neural Radiance Fields,NeRF)方法提出了一种与传统建模方法完全不同的思路。神经辐射场是一个完全连接的深度神经网络,其中输入是一个单一的连续的5D坐标(空间位置(x,y,z)和视角方向),输出是该空间位置的体积密度和与视角方向相关的颜色。神经辐射场被用来表示一个场景,通过查询相机射线上的5D坐标来合成新视图,并使用经典的体渲染技术将输出的颜色和密度投射到图像上。使用该深度学习方法合成的新视图质量好于先前的工作,同时加快了渲染的速度,减小了模型存储的大小。
[0004]然而,通过神经辐射场合成新视图是一个耗时的过程,它很难达到实时合成速度;神经辐射场技术目前最大的一个缺点是它的训练和渲染需要很长的时间。渲染时,对于百万级别数量的像素,每生成一个像素,多层感知机MLP网络就需要被查询上百次。而神经辐射场使用的MLP相对而言比较深、比较广,导致处理时间较长。同时,神经辐射场技术依赖于基于光线步进的立体渲染算法,目前广泛部署的图形硬件没有进行适配。
[0005]针对以上问题,主要的现有技术如下:
[0006]在《Baking Neural Radiance Fields for Real

Time View Synthesis》1一文中提出了通过预先计算和存储一种新的表示方式:稀疏神经辐射方格(Sparse Neural Radiance Grid,SNeRG)来使得神经辐射场能够实时渲染。
[0007]在《MobileNeRF:Exploiting the Polygon Rasterization Pipeline for Efficient Neural Field Rendering on Mobile Architectures》2一文中提出了一种新的基于纹理贴图多边形的神经辐射场表示法,它可以用标准渲染管线有效地合成新的图像。
[0008]以上两个技术都是在算法层面上对神经辐射场进行改进从而进行加速。这两个技术在增加了模型训练成本和模型大小的同时,还降低了合成的新视角图像的质量和与真实场景的相似度。
[0009]因此,为了使得神经辐射场技术能在应用端落地,对其进行硬件加速是十分有必要的。但是,数字信号处理DSP的计算能力有限,当图像分辨率提高时很难保证系统的实时
性;图形处理单元GPU的计算能力十分强大,但功耗高、尺寸大,不便于集成于移动端。而像现场可编程门阵列FPGA或专用集成电路ASIC的专用硬件可以在运算功耗大大低于GPU的同时,提供神经辐射场的硬件加速,达到实时渲染的效果。以上从硬件架构的角度去适配神经辐射场算法,可以在避免现有技术问题的同时,对计算神经辐射场进行加速。

技术实现思路

[0010]针对现有技术的不足,本专利技术的目的在于提供一种专用于神经辐射场渲染的硬件架构。由于对每个像素点的颜色进行计算的过程是独立的,因此可以并行计算多个像素的值。
[0011]本专利技术的技术方案具体介绍如下。
[0012]一种基于神经辐射场实现高质量新视图合成的FPGA加速器,其包括FPGA和三个运算模块:位置编码模块、MLP(多层感知机)模块、光线步进模块,运算模块部署在FPGA上;其中:
[0013]位置编码模块用于对输入的位置信息进行编码;在将输入传给MLP模块之前,以高频函数为位置编码函数,将输入映射到一个更高的维度空间,以更好地拟合包含高频变化的数据,所使用的位置编码函数是:
[0014]γ(p)=(sin(20πp),cos(20πp),

,sin(2
L
‑1πp),cos(2
L
‑1πp)),
[0015]其中处理坐标的扩散项数L=10,处理视角方向的L=4;
[0016]MLP模块拆分出两级流水线:前一级流水线得出体密度和隐藏层、后一级流水线得出颜色信息;前一级流水线共有8层全连接层,全连接层之间有ReLu激活函数,坐标信号通过前一级流水线后得到体密度;后一级流水线共有两层全连接层,输入前一级流水线得到的隐藏层信息和视角方向,再经过sigmoid激活函数,得到颜色信息。
[0017]光线步进模块用于对一条光线上的点进行立体渲染的积分操作;在光线r(t)=o+td上,上下界分别为t
f
和t
n
的区域,得到的期望的颜色C(r)为:
[0018][0019]其中σ(r(t))为光线在t处的体密度,
[0020]在具体实现上,采用面积法,将[t
n
,t
f
]均匀分为N段,在每段中平均随机采样,即
[0021][0022]从而立体渲染公式被改写成:
[0023][0024]其中σ
i
=σ(r(t
i
)),
[0025]在此基础上,重写公式为:
[0026][0027]其中
[0028]从而在计算时保存每一级得到的T
i
,用于计算T
i+1
,提高资源复用率。
[0029]本专利技术中,还包括用于FPGA与主机之间的通信的直接存储器访问模块、I/O模块,用于控制数据流的传输的中央路由模块和数据路由模块。
[0030]本专利技术中,直接存储器访问模块、数据路由模块、位置编码模块和MLP模块内分别设置有多级缓存;输出设备内设置有一级缓存。
[0031]和现有技术相比,本专利技术的有益效果在于:本专利技术中FPGA上可以部署多个重复的MLP模块,不同MLP模块对每个像素点的颜色进行计算的过程是独立的,可以并行计算多个像素的值,提高运算速率。此外,实验结果表明,本专利技术设计的硬件架构能加速神经辐射场计算,与在GPU上运行同样的算法相比,运行功耗远远小于GPU,生成的图像质量与GPU相近。
附图说明
[0032]图1是MLP模块中前一级流水线的结构图。
[0033]图2是MLP模块中后一级流水线的结构图。
[0034]图3是FPGA加速器的整体框架。
具体实施方式
[0035]下面结合附图和实施例,对本专利技术技术方案进行详细介绍。
[0036]本专利技术提供一种基本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经辐射场实现高质量新视图合成的FPGA加速器,其特征在于,其包括FPGA和三个运算模块:位置编码模块、MLP模块和光线步进模块,运算模块部署在FPGA上;其中:位置编码模块对输入的包括坐标、视角方向的位置信息进行编码;其以高频函数为位置编码函数,将输入映射到一个更高的维度空间,以更好地拟合包含高频变化的数据,所使用的位置编码函数γ(p)是:γ(p)=(sin(20πp),cos(20πp),

,sin(2
L
‑1πp),cos(2
L
‑1πp)),其中p表示输入的位置信息,处理坐标信息时,扩展项数L=10,处理视角方向信息时,扩展项数L=4;MLP模块对位置信息编码后数据进行处理,获得体密度和颜色信息;MLP模块拆分出两级流水线:前一级流水线得到体密度和隐藏层,后一级流水线得到颜色信息;其中:前一级流水线共有8层全连接层,全连接层之间用ReLu激活函数连接,坐标信息通过前一级流水线后得到该空间位置的体密度;后一级流水线共有两层全连接层,输入视角方向信息和前一级流水线得到的隐藏层信息,再经过sigmoid激活函数,得到视角方向的颜色信息;光线步进模块对一条光线上的点进行立体渲染的积分操作,将获得的体密度和颜色信息投射...

【专利技术属性】
技术研发人员:王圆方王堃
申请(专利权)人:复旦大学
类型:发明
国别省市:

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

1