yangkang2021 / nerf-learn

记录对nerf各种算法、应用、软件等等的学习过程

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nerf(神经辐射场)学习笔记

本人的科研方向是三维重建与对抗生成,Nerf让人惊叹,争取搞清楚每一个数学公式和每一行代码

一. nerf的数学基础

  1. Nerf的右手三维坐标系与OpenGL相同
  2. 二维和三维的几何变换--还没开始
  3. 小孔成像与相机模型
  4. 小孔成像的逆过程--没有完成,而且有错误

二. nerf的基本原理

  1. 概述
  2. 工作流程与基本原理
  3. 光线的数学表示与光线采样
  4. NeRF最核心公式推导-光线成像模型
  5. 相机小孔成像模型的逆变换

三. 读pytorch-nerf项目

  1. pytorch-nerf项目介绍
  2. pytorch-nerf数据格式与数据加载
  3. pytorch-nerf模型创建1之概述
  4. pytorch-nerf模型创建2之位置编码
  5. pytorch-nerf模型创建3之创建NeRF
  6. pytorch-nerf模型训练1之概述
  7. pytorch-nerf模型训练2之计算光线
  8. pytorch-nerf模型训练3之渲染(光线成像)
  9. pytorch-nerf模型训练4之损失函数
  10. pytorch-nerf模型测试与推理
  11. pytorch-nerf总结

四. 读instant-ngp 源码系列

  1. ngp的各个实现版本列表
  2. 下载编译运行ngp
  3. 读HashNeRF-pytorch项目
  4. 读ngp官方cuda代码
  5. 用colormap和Record3D准备ngp需要的数据集
  6. ngp的模型结构与模型导入导出

五. 读NeuMan (注意:后面的都没有完全整理好)

  1. neuman简介
  2. neuman环境搭建
  3. neuman数据准备
  4. neuman运行demo
  5. neuman的数据预处理
  6. neuman的train.py代码框架
  7. neuman训练数据加载
  8. neuman背景训练
  9. neuman人体训练
  10. neuman推理之渲染360度人体动作
  11. neuman推理之渲染测试视角
  12. neuman推理之渲染新的指定动作
  13. neuman推理之多人合并一起渲染

六. nerf模型提升的变种

  1. mip-NeRF
  2. instant-ngp
  3. Block-NeRF
  4. Plenoctree
  5. Plenoxels:即使没有神经网络,从头训练一个辐射场(radiance field)也能达到 NeRF 的生成质量,而且优化速度提升了两个数量级。
  6. Neus
  7. RobustNeRF
  8. TensoRF-张量辐射场
  9. KeypointNeRF
  10. point-NeRF
    • 训练更快
  11. PixelNeRF
  12. IBRNet
  13. 压缩模型
  14. AdaNeRF
  15. NeRF++
  16. DVGO
  17. NoPe-NeRF:Optimising Neural Radiance Field with No Pose Prior.
    • 主要内容:本文提出了一个无需相机位姿的NeRF重建系统,先对输入图像估计深度,然后借助相邻帧之间估计的深度图构造loss,实现对相机位姿和NeRF模型的同步优化,成为了同步优化位姿和NeRF方向的新SOTA。
    • 项目地址:https://nope-nerf.active.vision/

七. 各种应用场景

  1. NGP
  2. NeuMan
    • 基于Nerf的从单个视频实现人体三维重建。
    • 总结:根据已知人体动作使得重建人物运动,不再是简单的360转动场景,人物跳舞了。
    • https://github.com/apple/ml-neuman
  3. SadTalker:头、唇运动超自然,中英双语全能,还会唱歌
  4. UV Volumes for Real-time Rendering of Editable Free-view Human Performance
    • 以30FPS实时渲染,可自由编辑人体视图
    • 神经体积渲染能够在自由视图中对人类表演者进行照片逼真的渲染,这是沉浸式VR/AR应用中的一项关键任务。但是,由于渲染过程中的高计算成本,这种实践受到了严重限制。为了解决这个问题,我们提出了UV体积,这是一种新的方法,可以实时渲染人类表演者的可编辑自由视图视频。它将高频(即非平滑)的人类外观从3D体积中分离出来,并将其编码为2D神经纹理堆栈(NTS)。平滑的UV体积允许更小、更浅的神经网络在3D中获得密度和纹理坐标,同时在2D NTS中捕捉详细的外观。对于可编辑性,参数化人体模型和平滑纹理坐标之间的映射使我们能够更好地概括新颖的姿势和形状。此外,NTS的使用可以实现有趣的应用,例如重新纹理。在CMU Panoptic、ZJU Mocap和H36M数据集上进行的大量实验表明,我们的模型可以以30FPS的平均速度渲染960 x 540幅图像,其照片逼真度与最先进的方法相当。
    • 项目主页:https://fanegg.github.io/UV-Volumes/
    • 论文地址:https://arxiv.org/pdf/2203.14402.pdf
  5. ELICIT
  6. Neural Human Performer: Learning Generalizable Radiance Fields for Human Performance Rendering
  7. Animatable Neural Radiance Fields for Modeling Dynamic Human Bodies

  1. Learning Neural Volumetric Representations of Dynamic Humans in Minutes
  2. Structured Local Radiance Fields for Human Avatar Modeling
  3. InstantAvatar
  4. vid2avatar
  5. HeadNeRF
  6. 4D-Facial-Avatars
  7. AD-NeRF
  8. CLIP-NeRF
  9. NeRFFaceEditing
  10. FENeRF
  11. MoFaNeRF
  12. SURF-GAN
  13. ENeRF
  14. StyleNeRF
  15. StylizedNeRF
  16. HumanNeRF
  17. DiffRF:
  18. NeRF-SLAM
  19. NeRF-Art
  20. 非刚体NeRF
  21. ClimateNeRF
  22. 查看更多0
  23. 查看更多1
  24. 查看更多2
  25. 查看更多3
  26. Nerf集合

八. 一些nerf项目

  1. SMPL-NeRF:https://github.com/HannesStark/SMPL-NeRF
  2. block-nerf:https://waymo.com/intl/zh-cn/research/block-nerf
  3. nerf-from-image: https://github.com/google-research/nerf-from-image

九. nerf工具箱

  1. nerfstudio:https://github.com/nerfstudio-project/nerfstudio
  2. multinerf:https://github.com/google-research/multinerf
  3. xrnerf:https://github.com/openxrlab/xrnerf

十. 各种参考资料/课程/视频

  1. https://www.bilibili.com/video/BV1xW4y1g79Q
  2. https://www.bilibili.com/video/BV1RM411B7pm

十一. 商业应用案例

  1. NeRF APP

十二. 关于虚拟数字人,数字克隆人

  1. Rodin: A Generative Model for Sculpting 3D Digital Avatars Using Diffusion
  2. SMPL人体模型
  3. 郑泽荣的论文集合:https://zhengzerong.github.io/
  4. NeuMan:https://github.com/apple/ml-neuman
  5. SMPL-NeRF:https://github.com/HannesStark/SMPL-NeRF
  6. HumanNeRF:https://github.com/chungyiweng/humannerf
  7. Audio2Face/Audio2Gesture
  8. 视觉动作捕捉
  9. 语音识别、NLP语音对话、推荐系统、TTS语音合成
  10. 人体模型SMPL/+H/-X、SMPLify/+H/-X
  11. HybrIK:https://jeffli.site/HybrIK/
  12. Photo Wake-Up:

十三. 关于性能指标

在默认设置情况,V100上训练乐高数据:Speed十每秒的迭代次数。

Model Split PSNR(峰值信噪比) Train Speed Test Speed
instant-ngp (paper) trainval? 36.39 - -
TensoRF (paper) train (30K steps) 36.46 - -
Instant-ngp (JNeRF) - 36.41(5min) - -

十四. 问答

  1. 记录网友的一些问题

About

记录对nerf各种算法、应用、软件等等的学习过程