首页 > 其他分享 >【CV】Nerf中体素渲染的离散公式推导

【CV】Nerf中体素渲染的离散公式推导

时间:2023-08-12 22:44:05浏览次数:51  
标签:mathbf int sum exp dt Nerf sigma CV 中体素

在文章《NeRF: representing scenes as neural radiance fields for view synthesis》中体素渲染的连续形式为

在文章中给出了其离散形式为

实际上这里的离散形式并不是将积分直接离散化,而是通过把路径上的density和color设定为分段常数,如下图所示

于是先计算\(T\),

\[\begin{aligned} T_i=T(t_i)&=\exp(-\int_{0}^{t_i}\sigma(t)dt) \\ &=\exp(-\sum_{j=1}^{i-1}\int_{t_{j}}^{t_{j+1}}\sigma(t)dt) \\ &=\exp(-\sum_{j=1}^{i-1}\sigma_j\delta_j), \end{aligned} \]

其中\(\delta_i=t_{i+1}-t_i\)。然后计算\(C\),

\[\begin{aligned} C(\mathbf{r})=\int_0^{t_{N+1}}T(t)\sigma(t)\mathbf{c}(t)dt&=\sum_{i=1}^N\int_{t_i}^{t_{i+1}}T(t)\sigma(t)\mathbf{c}(t)dt \\ &=\sum_{i=1}^N\int_{t_i}^{t_{i+1}}\exp(-\int_0^t\sigma(s)ds)\sigma_i\mathbf{c}_idt \\ &=\sum_{i=1}^N\int_{t_i}^{t_{i+1}}T_i\exp(-\int_{t_i}^t\sigma(s)ds)\sigma_i\mathbf{c}_idt \\ &=\sum_{i=1}^NT_i\sigma_i\mathbf{c}_i \int_{t_i}^{t_{i+1}}\exp(-\sigma_i(t-t_i))dt \\ &=\sum_{i=1}^NT_i\sigma_i\mathbf{c}_i\cdot-\frac1{\sigma_i}\exp(-\sigma_i(t-t_i))\big|_{t_i}^{t_{i+1}} \\ &=\sum_{i=1}^NT_i\mathbf{c}_i\cdot(1-\exp(-\sigma_i\delta_i)). \end{aligned} \]

就跟原文中一样啦。

标签:mathbf,int,sum,exp,dt,Nerf,sigma,CV,中体素
From: https://www.cnblogs.com/edlinf/p/17625594.html

相关文章

  • socket之send和recv原理剖析
    TCPsocket的发送和接收缓冲区当创建一个TCPsocket对象的时候会有一个发送缓冲区和一个接收缓冲区,这个发送和接收缓冲区指的就是内存中的一片空间。 send或sendall方法是不是直接把数据发给服务端?不是,要想发数据,必须得通过网卡发送数据,应用程序是无法直接通过网卡发送数据......
  • ICCV 2023 | 旷视研究院入选论文亮点解读
    前言 近日,国际计算机视觉大会ICCV(InternationalConferenceonComputerVision)公布了2023年论文录用结果,本届会议共有8068篇投稿,接收率为26.8%。ICCV是全球计算机领域顶级的学术会议,每两年召开一次,ICCV2023将于今年10月在法国巴黎举行。今年,旷视研究院14篇论文入选,涵......
  • ICCV 2023 | Actformer:从单人到多人,迈向更加通用的3D人体动作生成
    前言 本文的主要贡献为:1.提出了基于GAN和Transformer混合架构的通用3D人体动作生成框;2.不仅能够实现单人动作生成,还能拓展到多人交互式动作生成;3.基于GTA游戏引擎构造了一个合成的多人打架数据集,包括2~5个人同时交互,现已开源。本文转载自PaperWeekly作者|徐良仅用......
  • java opencv绘制工字型
    javaopencv绘制工字型 packagecom.vfsd.core;importjava.util.ArrayList;importjava.util.List;importorg.opencv.core.Core;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.Point;importorg.opencv.core.Rect;importorg......
  • 无涯教程-Perl - msgrcv函数
    描述此函数从队列ID接收消息,并将消息放入变量VAR中,最大大小为SIZE。语法以下是此函数的简单语法-msgrcvID,VAR,SIZE,TYPE,FLAGS返回值该函数在错误时返回0,在成功时返回1。参考链接https://www.learnfk.com/perl/perl-msgrcv.html......
  • Pytorch框架CV开发-从入门到实战
    课程下载——Pytorch框架CV开发-从入门到实战提取码:hcjk分享课程——Pytorch框架CV开发-从入门到实战,附代码+PDF课件+数据集下载。课程目标:掌握pytorch深度学习框架在计算机视觉领域的开发技术,理解卷积神经网络的基础知识,学会使用相关的网络模型完成图像分类、对象检测、语义分......
  • OpenCV与CUDA简介
    因为算法的需要,正常的CPU算法速度不够需要进行加速,OpenCV中正好加入了GPU计算的模块,OpenCV中有两种GPU的加速方式,一种是通用标准的opencl,另一种是NVIDIA的cuda加速。opencl是苹果公司提出的一种通用标准,多种平台支持的标准。cuda是NVIDIA提出的并行计算平台,只有NVIDIA的显卡支......
  • opencv-python 车牌检测和识别
    首先利用级联分类器把车牌位置找到取出来,然后用ocr进行车牌识别。1 OCR之Tesseract安装Tesseract安装可以参考这个链接: https://blog.csdn.net/m0_53192838/article/details/127432761 写的比较详细,我在使用的时候有一个报错有点意思,记录一下: Tesseractocr识别报错:tesser......
  • opencv-python 人脸人眼检测
    人脸检测:在一张图像中判断是否存在人脸并找出人脸所在的位置。人脸识别:在人脸检测的基础上收集人脸数据集合进行处理保存信息,将输入人脸与保存的信息进行比对校验,得到是否为其中某个人脸。特征值:以某种特定规则对输入源进行处理得到具有唯一性质量化的值,在人脸识别中特征值的提......
  • opencv-python 视频前后景分离
    背景分离(BS)是一种通过使用静态相机来生成前景掩码(即包含属于场景中的移动对象像素的二进制图像)的常用技术。BS计算前景掩码,在当前帧与背景模型之间执行减法运算,其中包含场景的静态部分,或者更一般而言,考虑到所观察场景的特征,可以将其视为背景的所有内容。前后景分离分为两步:第一步......