Point-Nerf复现及解析

Point-Nerf复现及解析
鸣谢:同组的李xx师兄博士(交流思路)、辰昶仪器的狗哥等人(帮忙down资源)

0.0我自己的复现工程

  代码和安装包下载地址:https://gitcode.net/qq_35789421/point-nerf。所需库的安装包在package文件夹下,代码在code文件夹下,测试数据在data文件下:离线安装直接用pip install xxx.whl,terminal下安装直接pip install xxx就行

安装包 作用
torch-1.8.1+cu102-cp38-cp38-win_amd64.whl(离线安装) 深度学习训练
h5py-3.11.0-cp38-cp38-win_amd64.whl (离线安装) 内存大数据处理
scikit-image-0.15.0.tar.gz (离线安装) 图像处理
imageio-2.34.0-py3-none-any.whl (离线安装) 图像读写与存储
scipy-1.10.1-cp38-cp38-win_amd64.whl (离线安装) 数值分析处理
matplotlib-3.7.5-cp38-cp38-win_amd64.whl(离线安装) 数据可视化
fonttools-4.51.0-cp38-cp38-win_amd64.whl(离线安装) 字体设置
pillow-10.3.0-cp38-cp38-win_amd64.whl(离线安装) 图像处理
PyWavelets-1.4.1-cp38-cp38-win_amd64.whl(离线安装) 小波变换
pytools-2024.1.1-py2.py3-none-any.whl(离线安装) 集成工具包

  在下载之前最好使用

git config http.postBuffer 524288000

修改一下git的块缓冲内存,否则可能出现RPC failed的报错(离线安装包有点大)

0.1相关库介绍

0.1.1 pytorch

  Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。
  pytorch相对于tensorflow出现的较晚一些,主要是针对深度神经网络而开发出来,这几年发展也是十分不错;tensorflow出现的较早,它的优点是分布式计算,在面临较大数据时相对效率较高;
  pytorch是动态框架,tensorflow是静态框架,主要区别就是静态框架在构建计算图的时候提前构建好,之后则无法改变,固定了计算的流程,势必带来了不灵活性,如果我们要改变计算的逻辑,或者随着时间变化的计算逻辑,这样的动态计算TensorFlow是实现不了的;而动态框架可以根据具体计算情况进行改变
  tensorflow的库相对完备齐全,而pytorch还在完善中;所以tensorflow在可视化方面十分出色;
  pytorch对python十分友好,更加python化的框架,而tensorflow的话更加像独立的语言和框架
在这里插入图片描述

0.1.2 h5py

  使用h5py库读写超过内存的大数据 。在简单数据的读操作中,我们通常一次性把数据全部读入到内存中。读写超过内存的大数据时,有别于简单数据的读写操作,受限于内存大小,通常需要指定位置、指定区域读写操作,避免无关数据的读写。 h5py库刚好可以实现这一功能。
  h5py的优势:速度快、压缩效率高,总之,numpy.savez和cPickle存储work或不work的都可以试一试h5py!h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一样的容器,它好比python中的字典,有键(key)和值(value)。group中可以存放dataset或者其他的group。”键”就是组成员的名称,”值”就是组成员对象本身(组或者数据集)

0.1.3 Scikit-Image

  Scikit-Image(skimage)是一个用于图像处理的Python库,提供了丰富的算法和工具,用于图像滤波、形态学处理、颜色转换、边缘检测、图像分割等。它的设计理念是简洁、易用和功能强大,适合快速开发和实验。

0.1.4 imageio

  imageio是一个Python库,它提供了一个简单的接口来读取和写入大量的图像数据,包括动画图像、体积数据和科学格式。它是跨平台的,运行在Python 2 .x和3。x上,并且易于安装。imageio.imread() 从指定的文件读取图像。返回一个NUMPY数组,该数组带有元数据的元属性。注意,图像数据按原样返回,并且可能不总是具有uTI8的dType(因此可能不同于例如PIL返回)。

0.1.5 scipy

  Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。Scipy 由不同科学计算领域的子模块组成:
在这里插入图片描述

0.1.6 Matplotlib

  Matplotlib是一个Python中广泛使用的绘图库,可以用于创建各种类型的静态、动态或交互式图表和可视化。它提供了一系列函数和工具,使得用户可以很方便地对数据进行处理和分析,并将其以图形化的方式呈现出来。

0.1.7 fonttools

  FontTools 是一个开源的Python库,专为字体设计和排版专业人士打造,用于处理各种字体文件格式。这个项目由Adobe、Mozilla以及其他贡献者共同维护,其强大的功能和灵活的API使得它在字体工程领域中独树一帜。

0.1.8 Pillow

  Pillow库是一个Python的第三方库。在Python2中,PIL(Python Imaging Library)是一个非常好用的图像处理库,但PIL不支持Python3,所以有人(Alex Clark和Contributors)提供了Pillow,可以在Python3中使用。

0.1.9 PyWavelets

  PyWavelets是Python 编程语言的免费开源小波变换软件。

0.2.复现简介

  首先我是在windows 10下的pycharm编译器环境下进行复现的,选择了conda虚拟环境下复现,python版本为3.8。源代码链接是参考的https://github.com/zswang666/PnP-Depth

0.2.1安装库步骤

①pip install torch-1.8.1+cu102-cp38-cp38-win_amd64.whl
②pip install h5py-3.11.0-cp38-cp38-win_amd64.whl
③pip install scikit-image-0.15.0.tar.gz
③<1>pip install scipy-1.10.1-cp38-cp38-win_amd64.whl
③<2>pip install matplotlib-3.7.5-cp38-cp38-win_amd64.whl
③<2-1>pip install fonttools-4.51.0-cp38-cp38-win_amd64.whl(补充下载)
③<2-2>pip install pillow-10.3.0-cp38-cp38-win_amd64.whl(补充下载)
③<3>pip install imageio-2.34.0-py3-none-any.whl(补充下载)
③<4>pip install networkx-3.1-py3-none-any.whl(补充下载)
③<5>pip install PyWavelets-1.4.1-cp38-cp38-win_amd64.whl (补充下载)
④pip install pycuda-2024.1.tar.gz
④<1>pip install pytools-2024.1.1-py2.py3-none-any.whl(补充下载)

0.2.2 仓库内容

  • package
    —|torch-1.8.1+cu102-cp38-cp38-win_amd64.whl
      |h5py-3.11.0-cp38-cp38-win_amd64.whl
      |scipy-1.10.1-cp38-cp38-win_amd64.whl
      |matplotlib-3.7.5-cp38-cp38-win_amd64.whl
      |scikit-image-0.15.0.tar.gz
      |matplotlib-3.7.5-cp38-cp38-win_amd64.whl
      | fonttools-4.51.0-cp38-cp38-win_amd64.whl
      | imageio-2.34.0-py3-none-any.wh
      | pillow-10.3.0-cp38-cp38-win_amd64.whl
      | networkx-3.1-py3-none-any.whl
      | PyWavelets-1.4.1-cp38-cp38-win_amd64.whl
  • code
    —|
      
      
      
  • data
    —|
      
      
      

0.3.参考链接

1.【论文精读】Point-NeRF:Point-based Neural Radiance Fields
2.Point-NeRF 可以被有效渲染,训练速度提升30倍
3.Point-NeRF: Point-based Neural Radiance Fields论文翻译笔记
4.论文阅读笔记—CVPR2022—Point-NeRF
5.NeRF神经辐射场学习笔记(三)——Point-NeRF论文解读
6.论文随记|Point-NeRF: Point-based Neural Radiance Fields
7.复现point-nerf踩坑记录(可以运行测试)

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 13:42:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 13:42:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 13:42:03       87 阅读
  4. Python语言-面向对象

    2024-04-13 13:42:03       96 阅读

热门阅读

  1. Vue中的.env文件:配置、用法和注意事项

    2024-04-13 13:42:03       40 阅读
  2. linux下c++实现音乐播放软件

    2024-04-13 13:42:03       36 阅读
  3. 统一登陆实现简化流程

    2024-04-13 13:42:03       36 阅读
  4. linux c UDP 应用

    2024-04-13 13:42:03       38 阅读
  5. 作业第二次

    2024-04-13 13:42:03       30 阅读
  6. SpringBoot项目快速打印controller类的URL

    2024-04-13 13:42:03       40 阅读
  7. Nginx-调度器、优化

    2024-04-13 13:42:03       45 阅读
  8. openjudge_2.5基本算法之搜索_1792:迷宫

    2024-04-13 13:42:03       34 阅读
  9. Django序列化常用字段与参数

    2024-04-13 13:42:03       40 阅读
  10. C++11中的lambda、包装器(function、bind)

    2024-04-13 13:42:03       33 阅读