神经辐射场 (NeRF) 概念

2023-10-29

神经辐射场 (NeRF) 概念

理论介绍

  NeRF模型以其基本形式将三维场景表示为由神经网络近似的辐射场。辐射场描述了场景中每个点和每个观看方向的颜色和体积密度。这写为:
F ( x , θ , φ ) → ( c , σ ) , ( 1 ) F\left( x,\theta ,\varphi \right) →\left( c,\sigma \right) ,(1) F(x,θ,φ)(c,σ),(1)
  其中 x = ( x , y , z ) x = (x,y,z) x=(xyz) 是场景内坐标, ( θ , φ ) (θ,φ) (θφ) 表示方位角和极视角, c = ( r , g , b ) c = (r,g,b) c=(rgb) 表示颜色, σ σ σ表示体积密度。该5D函数由一个或多个多层预加速器 (MLP) 近似,有时表示为 f Θ f_\Theta fΘ。两个视角 ( θ , φ ) (θ,φ) (θφ)通常由 d = ( d x , d y , d z ) d = (dx,dy,dz) d=(dxdydz)表示,这是一个3D笛卡尔单位向量。通过将 σ σ σ (体积密度 (即场景的内容) 的预测限制为与观看方向无关),该神经网络表示被约束为多视图一致,而允许颜色 c c c取决于观看方向和场景内坐标。在基线NeRF模型中,这是通过将MLP设计为两个阶段来实现的。
  第一阶段作为输入 x x x并输出 σ σ σ 和高维特征向量 (在原始论文中256)。在第二阶段,特征向量然后与观看方向 d d d连接,并传递给额外的MLP,该MLP输出 c c c。我们注意到Mildenhall等人 [1] 认为 σ σ σ MLP和 c c c MLP是同一神经网络的两个分支,但是许多后来的作者认为它们是两个独立的MLP网络,这是我们从这一点开始遵循的惯例。从广义上讲,使用经过训练的NeRF模型进行的新颖视图合成如下。

  • 对于正在合成的图像中的每个像素,通过场景发送相机光线并生成一组采样点 (参见图1中的 (a))。
  • 对于每个采样点,使用观看方向和采样位置来提取局部颜色和密度,由NeRF MLP(s) 计算 (参见图1中的 (b))。
  • 使用体绘制从这些颜色和密度产生图像 (参见图1中的 ©)。

  更详细地说,给定体积密度和颜色函数,使用体积渲染来获得任何相机射线 r ( t ) = o + t d r(t) = o+td r(t)=o+td的颜色 C ( r ) C(r) C(r),相机位置 o o o和观看方向 d d d使用
C ( r ) = ∫ t 1 t 2 T ( t ) ⋅ σ ( r ( t ) ) ⋅ c ( r ( t ) , d ) ⋅ d t , ( 2 ) C(r)=\int_{t_1}^{t_2}{T(t)·\sigma(r(t))·c(r(t),d)·dt},(2) C(r)=t1t2T(t)σ(r(t))c(r(t),d)dt,(2)
  其中 T ( t ) T(t) T(t) 是累积透射率,表示光线从 t 1 t_1 t1传播到 t t t而不被拦截的概率,由
T ( t ) = e − ∫ t t 1 σ ( r ( u ) ) ⋅ d u , ( 3 ) T(t)=e^{-\int_{t}^{t_1}{\sigma (r(u))·du}},(3) T(t)=ett1σ(r(u))du,(3)
   C ( r ) C(r) C(r)通过待合成图像的每个像素。这个积分可以用数值计算。最初的实现 [1] 和大多数后续方法使用了非确定性分层抽样方法,将射线分成 N N N个等间距的仓,并从每个仓中均匀抽取一个样本。然后,等式 (2) 可以近似为
C ^ ( r ) = ∑ i = 1 N α i T i c i   ,   w h e r e T i = e − ∑ j = 1 i − 1 σ j δ j , ( 4 ) \hat{C}\left( r \right) =\sum_{i=1}^N{\alpha _iT_ic_i}\,,\,where\quad T_i=e^{-\sum_{j=1}^{i-1}{\sigma _j\delta _j}},(4) C^(r)=i=1NαiTici,whereTi=ej=1i1σjδj,(4)
   δ i \delta _i δi是从样本 i i i到样本 i + 1 i+1 i+1的距离。 ( σ i , c i ) (\sigma_i,c_i) (σi,ci)是根据NeRF MLP(s) 计算的在给定射线的采样点 i i i上评估的密度和颜色。 α i α_i αi在采样点 i i i处合成 a l p h a alpha alpha的透明度/不透明度由
α i = 1 − e σ i δ i , ( 5 ) \alpha_i = 1-e^{\sigma_i\delta_i},(5) αi=1eσiδi,(5)
  可以使用累积的透射率计算射线的预期深度为
d ( r ) = ∫ t 1 t 2 T ( t ) ⋅ σ ( r ( t ) ) ⋅ t ⋅ d t , ( 6 ) d(r)=\int_{t_1}^{t_2}{T(t)·\sigma(r(t))·t·dt},(6) d(r)=t1t2T(t)σ(r(t))tdt,(6)
  这可以近似于方程 (4) 近似方程 (2) 和 (3)
D ^ ( r ) = ∑ i = 1 N α i t i T i , ( 7 ) \hat{D}(r) = \sum_{i=1}^{N}{\alpha_it_iT_i},(7) D^(r)=i=1NαitiTi,(7)
  某些深度正则化方法使用预期的深度来将密度限制为场景表面的类似delta的函数,或增强深度平滑度。
  对于每个像素,使用平方误差光度损失来优化MLP参数。在整个图像上,这是由
L = ∑ r ∈ R ∣ ∣ C ^ ( r ) − C g t ( r ) ∣ ∣ 2 2 , ( 8 ) L = \sum_{r\in R}{|| \hat{C}(r)-C_{gt}(r)||_2^2},(8) L=rRC^(r)Cgt(r)22,(8)
  其中, C g t ( r ) C_{gt}(r) Cgt(r) 是与 r r r相关联的训练图像的像素的地面真实颜色, R R R是与待合成图像相关联的射线批次。

数据集

数据集地址:https://drive.google.com/drive/folders/128yBriW1IG_3NJ5Rp7APSTZsJqdJdfc1

  • Synthetic NeRFDataset
  • Local Light Field Fusion (LLFF) Dataset
  • DTU Dataset
  • ScanNet Dataset
  • Tanks andTemples Dataset
  • ShapeNet Dataset

评估指标

  在标准设置中,通过NeRF进行新颖的视图综合使用基准的视觉质量评估指标。这些指标试图评估具有 (完全参考) 或不具有 (无参考) 地面真实图像的单个图像的质量。峰值信噪比 (PSNR),结构相似性指数度量 (SSIM) [31],学习的感知图像补丁相似性 (LPIPS) [32] 是迄今为止NeRF文献中最常用的。

PSNR

  PSNR是一种无参考质量评估指标:
P S N R ( I ) = 10 ⋅ l o g 10 M A X ( I ) 2 M S E ( I ) , ( 10 ) PSNR(I)=10·log_{10}{\frac{MAX(I)^2}{MSE(I)}},(10) PSNR(I)=10log10MSE(I)MAX(I)2,(10)
  其中 M A X ( I ) MAX(I) MAX(I) 是图像中的最大可能像素值 (对于8位整数255),并且 M S E ( I ) MSE(I) MSE(I) 是在所有颜色通道上计算的像素方向均方误差。 P N S R PNSR PNSR也通常用于信号处理的其他领域,并且被很好地理解。

SSIM

  SSIM是一个完整的参考质量评估指标,对于单个小块
S S I M ( x , y ) = ( 2 μ x μ y + C 1 ) ( 2 σ x y + C 2 ) ( μ x 2 + μ y 2 + C 1 ) ( μ x 2 + μ y 2 + C 2 ) , ( 11 ) SSIM(x,y) = \frac{(2\mu_x\mu_y+C_1)(2\sigma_{xy}+C_2)}{(\mu_x^2+\mu_y^2+C_1)(\mu_x^2+\mu_y^2+C_2)},(11) SSIM(x,y)=(μx2+μy2+C1)(μx2+μy2+C2)(2μxμy+C1)(2σxy+C2),(11)
  其中 C i = ( K i L ) 2 C_i = (K_iL)^2 Ci=(KiL)2,L是像素的动态范围 (对于8bit整数255),并且 K 1 = 0.01 K_1 = 0.01 K1=0.01 K 2 = 0.03 K_2 = 0.03 K2=0.03是由原始作者选择的常数。我们注意到,在原始论文 [31] 中,有 (12) 给出的 S S I M SSIM SSIM的更一般形式。在11 × 11圆形对称高斯加权窗口内计算局部统计量 μ , s \mu^,s μ,s, σ , s \sigma^,s σ,s,权重 w i w_i wi的标准差为1.5,并归一化为1。这些是由给出的,没有损失概括
μ x = ∑ i w i x i , ( 12 ) \mu_x = \sum_i{w_ix_i},(12) μx=iwixi,(12)
σ x = ( ∑ i w i ( x i − μ x ) 2 ) 1 2 , ( 13 ) \sigma_x=(\sum_iw_i(x_i-\mu_x)^2)^{\frac{1}{2}},(13) σx=(iwi(xiμx)2)21,(13)
σ x y = ∑ i w i ( x i − μ x ) ( y i − μ y ) , ( 14 ) \sigma_{xy}=\sum_iw_i(x_i-\mu_x)(y_i-\mu_y),(14) σxy=iwi(xiμx)(yiμy),(14)
  其中 x i x_i xi y i y_i yi分别是从参考图像和评估图像中采样的像素。在实践中,对整个图像的 S S I M SSIM SSIM分数进行平均。

LPIPS

   L P I P S LPIPS LPIPS是使用学习的卷积特征的完整参考质量评估指标。得分由多层特征图的加权像素 M S E MSE MSE给出。
L P I P S ( x , y ) = ∑ l L 1 H l W l ∑ h , w H l , W l ∣ ∣ w l ⊙ x h w l − y h w l ∣ ∣ 2 2 , ( 15 ) LPIPS(x,y)=\sum_l^L\frac{1}{H_lW_l}\sum_{h,w}^{H_l,W_l}{||w_l\odot x_{hw}^{l}-y_{hw}^{l}||}_2^2,(15) LPIPS(x,y)=lLHlWl1h,wHl,Wlwlxhwlyhwl22,(15)
   x h w l x_{hw}^{l} xhwl y h w l y_{hw}^{l} yhwl是参考和评估图像在像素宽度w,像素高度h和层l处的特征。Hl和Wl是相应层处的特征图高度和宽度。最初的 L P I P S LPIPS LPIPS论文使用SqueezeNet [444],VGG [34] 和AlexNet [35] 作为特征提取主干。原始纸张使用了五层。原始作者提供了微调和从头开始的配置,但实际上,已按原样使用预先训练的网络。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

神经辐射场 (NeRF) 概念 的相关文章

随机推荐

  • Qt5Widgetsd.dll中的QStyleSheetStyle类在析构函数中崩溃,

    常见的原因有 1 重复释放资源如果QStyleSheetStyle的成员资源 如内存 对象等 被重复释放 会导致崩溃 应检查代码逻辑 确保资源只被释放一次 2 错误的对象销毁顺序如果对象的依赖关系搞错 先销毁被依赖的对象 后销毁依赖对象 也
  • SpringBoot集成nacos动态刷新数据源

    目录 前言 第一步 重写DruidAbstractDataSource类 第二步 配置动态获取nacos配置信息 第三步 手动刷新数据源 前言 因为项目需要 需要在项目运行过程中能够动态修改数据源 即 数据源的热更新 这里以com alib
  • Android Studio 安装应用失败总结

    昨天公司刚发了测试机 我拿到一台魅蓝max 刚拆开手机 今天插上数据线 run 结果居然安装失败 提示信息为 INSTALL FAILED USER RESTRICTED 顿时懵逼了 刚买的新机 就出现这个问题 无语啊 刚开始还以为是And
  • 类和对象的基础

    编写类 编写类时 需要指定行为和方法 还需要指定属性和数据成员 编写类的两个要素 定义类本身和定义类的方法 include
  • 使用“api-monitor工具”及应用程序读取smart card 信息

    采用工具 api monitor 下载地址 点击打开链接 使用步骤 1 运行mstsc 2 运行apimonitor x86 exe 如下图所示 定位要监视的应用程序 3 然后点击mstsc的编辑项 4 当mstsc列出所有凭据时 此时可以
  • 软件设计模式之(三) 解释器模式

    欢迎大家提出意见 一起讨论 转载请标明是引用于 http blog csdn net chenyujing1234 例子代码 编译工具 Eclipse http www rayfile com zh cn files 1291b5bd 94
  • linux 如何清除一个目录下的大量小文件(百万级别)

    清空目录或文件 如下 1 先建立一个空目录 mkdir data blank 2 用rsync删除目标目录 rsync delete before d a H v progress stats data blank var edatacac
  • snmp协议与python调用snmp获取数据

    一 snmp协议简介 简单网络管理协议 SNMP 是专门设计用于在 IP 网络管理网络节点 服务器 工作站 路由器 交换机及HUBS等 的一种标准协议 snmp是一种应用层协议 它的传输层协议一般采用UDP SNMP网络架构由三部分组成 N
  • 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器

    作者 寒小阳 时间 2015年11月 出处 http blog csdn net han xiaoyang article details 49999299 声明 版权所有 转载请注明出处 谢谢 1 线性分类器 在深度学习与计算机视觉系列
  • webpack5 学习(一) —— 入门学习

    平时总是零零星星地学习一些 webpack 相关知识 需要复习的时候又感觉不够全面 所以就系统性地总结一下 方便随时查看 简介 webpack是一个前端资源加载 打包工具 webpack 根据模块的依赖关系进行静态分析 然后将这些模块按照指
  • 计算机自带游戏在哪里,win10自带游戏,教您Win10纸牌游戏在哪

    纸牌游戏是Windows经典的游戏之一 相信不少用户都曾经在早前的系统中玩过这个游戏 Win10纸牌游戏是Win10系统自带的纸牌游戏 集成在Microsoft Solitaire Collection中 下面 小编就来跟大家讲解Win10
  • CSS3秘笈:第十章

    CSS的transform transition和animation属性 1 transform 倾斜 利用transform属性可以使导航栏稍微倾斜 或者使图片在访问者的鼠标经过它时放大两倍 甚至可以结合更多transform属性设计出其
  • 玩转 IDEA 花式打断点,从此告别 996

    写代码离不开调试 调试离不开断点 IDEA 对于断点的支持非常丰富 掌握这些技巧以后 可以大大的提升开发效率 是帮助程序员保住头发 远离 996 的秘密武器 断点类型 IDEA 支持以下四种断点类型 行断点 Line breakpoints
  • 谷歌gmail注册入口_Google向GMail添加免费电话语音通话

    谷歌gmail注册入口 Do you have a GMail account who doesn t From today you may be lucky enough to notice a new Call Phone option
  • Java 对类中的属性使用set/get方法的意义和用法

    java 中对类中的属性使用set get方法的意义和用法 经常看到有朋友提到类似 对类中的属性使用set get方法的作用 理论的回答当然是封闭性之类的 但是这样对我们有什么作用呢 为什么要这样设计 我直接使用属性名来访问不是更直接 代码
  • 几种自旋锁SpinLock,TicketLock,CLHLock,以及可重入实现要点,非阻塞锁实现要点

    最核心的东西 synchronization state 同步状态 指示当前线程是否可以proceed还是需要wait的状态 1 普通SpinLock 支持可重入的版本 class SpinLock use thread itself as
  • 超级实习生计划打卡—HashMap的实现原理(简要概述)

    HashMap简介 数据无序 底层由数组 链表 红黑树实现 JDK8开始 容量是2的指数幂 初始大小为16 不指定长度 发生冲突时通过拉链法处理 当链表大于阈值时 阈值默认为8 将链表转化为红黑树 时间复杂度 哈希查找O 1 哈希冲突多O
  • MySQL-SQL全部锁详解(上)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术专栏 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇
  • date-fns 周助手函数

    date fns 周助手函数 getISOWeek 描述 获取ISO标准的周数 参数说明 接收一个Date对象或者一个表示日期的字符串 date 一个Date对象或者一个表示日期的字符串 表示要获取ISO标准的周数的日期 返回值说明 返回一
  • 神经辐射场 (NeRF) 概念

    神经辐射场 NeRF 概念 理论介绍 NeRF模型以其基本形式将三维场景表示为由神经网络近似的辐射场 辐射场描述了场景中每个点和每个观看方向的颜色和体积密度 这写为 F x