Point-Nerf复现及解析

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

  • 0.0我自己的复现工程
  • 0.1相关库介绍
      • 0.1.1 pytorch
      • 0.1.2 h5py
      • 0.1.3 Scikit-Image
      • 0.1.4 imageio
      • 0.1.5 scipy
      • 0.1.6 Matplotlib
      • 0.1.7 fonttools
  • 0.2.复现简介
      • 0.2.1安装库步骤
      • 0.2.2 仓库内容
  • 0.3.参考链接

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(离线安装)字体设置

  在下载之前最好使用

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.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 scipy-1.10.1-cp38-cp38-win_amd64.whl
④pip install matplotlib-3.7.5-cp38-cp38-win_amd64.whl
④<1>pip install fonttools-4.51.0-cp38-cp38-win_amd64.whl(补充下载)
④<2>pip install pillow-10.3.0-cp38-cp38-win_amd64.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
  • 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踩坑记录(可以运行测试)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/538188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA的学习日记DAY6

文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更&#xff01;得加快速度了&#xff01; 数组 数组可以…

16. 网络编程(1)

Hi,大家好!从本节开始我们学习网络编程相关的知识。基于TCP服务器和客户端实现流程框架。 本节目录: 网络编程在软件开发中具有相当重要的作用,涉及到各方各面: 网络通信: Linux系统作为一个多用户、多任务的操作系统,网络通信是其重要的功能之一。通过网络编程,可以实现…

稀碎从零算法笔记Day46-LeetCode:互质树

这几天有点懈怠了 题型&#xff1a;树、DFS、BSF、数学 链接&#xff1a;1766. 互质树 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给你一个 n 个节点的树&#xff08;也就是一个无环连通无向图&#xff09;&#xff0c;节点编号从 0 到 …

5款好用又免费的UI设计软件

之前我们分享了五款好用的制作原型的工具&#xff0c;制作完了原型&#xff0c;就要对界面进行优化&#xff0c;这个时候就是 UI 设计师的任务了&#xff0c;UI 设计软件对于设计师们来说是很重要的&#xff0c;UI 设计工具是否好用直接影响到最后结果的好坏&#xff0c;那么就…

[lesson20]初始化列表的使用

初始化列表的使用 类成员的初始化 C中提供了初始化列表对成员变量进行初始化 语法规则 注意事项 成员的初始化顺序与成员的声明顺序相同成员的初始化顺序与初始化列表中的位置无关初始化列表先于构造函数的函数体执行 类中的const成员 类中的const成员会被分配空间的类中…

Baichuan-7B-chat WebDemo 部署调用

Baichuan-7B-chat WebDemo 部署调用 Baichuan2 介绍 Baichuan 2 是百川智能推出的新一代开源大语言模型&#xff0c;采用 2.6 万亿 Tokens 的高质量语料训练。在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。 环境准备 在autodl平台中租一…

MySQL排序原理与优化方法(9/16)

order by排序优化 MySQL排序策略 内存临时表 or 磁盘临时表&#xff1f; **内存临时表排序&#xff1a;**在MySQL中&#xff0c;使用InnoDB引擎执行排序操作时&#xff0c;当处理的数据量较小&#xff0c;可以在内存中完成排序时&#xff0c;MySQL会优先使用内存进行排序操作…

【LeetCode】动态规划类题目详解

所有题目均来自于LeetCode&#xff0c;刷题代码使用的Python3版本 动态规划 问题分类 如果某一个问题有重叠的子问题&#xff0c;则使用动态规划进行求解是最有效的。 动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点区别于贪心算法 动态规划五部曲 确…

Qt控件---按钮类型

文章目录 QPushButton&#xff08;普通按钮&#xff09;QRadioButton&#xff08;单选按钮&#xff09;按钮分组 QCheckBox&#xff08;复选按钮&#xff09; QPushButton&#xff08;普通按钮&#xff09; 属性说明text按钮中的⽂本icon按钮中的图标iconSize按钮中图标的尺寸…

每日Bug汇总--Day05

Bug汇总—Day05 一、项目运行报错 二、项目运行Bug 1、**问题描述&#xff1a;**前端将从后台查询的数据作为参数进行get请求&#xff0c;参数为空 原因分析&#xff1a; 这种写法可能只支全局的参数调用方法的传参响应 代码实现 if (this.jishiName) {this.$http({url…

K8S node节点配置

1.开始操作之前要先关闭防火墙&#xff0c;SELinux&#xff0c;swap分区 关闭防火墙 sudo systemctl stop firewalld关闭SELinux sudo setenforce 0 # 临时关闭 sudo sed -i s/^SELINUXenforcing$/SELINUXper…

数据结构-----Lambda表达式

文章目录 1 背景1.1 Lambda表达式的语法1.2 函数式接口 2 Lambda表达式的基本使用2.1 语法精简 3 变量捕获3.1 匿名内部类3.2 匿名内部类的变量捕获3.3 Lambda的变量捕获 4 Lambda在集合当中的使用4.1 Collection接口4.2 List接口4.3 Map接口 HashMap 的 forEach() 5 总结 1 背…

56、巴利亚多利德大学、马德里卡洛斯三世研究所:EEG-Inception-多时间尺度与空间卷积巧妙交叉堆叠,终达SOTA!

本次讲解一下于2020年发表在IEEE TRANSACTIONS ON NEURAL SYSTEMS AND REHABILITATION ENGINEERING上的专门处理EEG信号的EEG-Inception模型&#xff0c;该模型与EEGNet、EEG-ITNet、EEGNex、EEGFBCNet等模型均是专门处理EEG的SOTA。 我看到有很多同学刚入门&#xff0c;不太会…

C++学习知识

C知识小菜单&#xff1a; 备赛蓝桥杯过程中的一些小知识积累&#xff0c;持续更新中&#xff01; 文章目录 C知识小菜单&#xff1a;1.小数取整&#xff1a;2.小数点后保留几位&#xff1a;3.数字占几位字符&#xff1a;4. 求x 的 y 次幂&#xff08;次方&#xff09;5. 求平方…

Spring Security——13,认证成功失败注销成功处理器

认证成功&&失败&&注销成功处理器 说明&#xff1a;一、认证成功处理器1.1 自定义成功处理器1.2 配置自定义成功处理器 二、认证失败处理器2.1 自定义失败处理器2.2 配置自定义失败处理器 三、登出成功处理器3.1 自定义登出处理器3.2 配置登出处理器 四、完结撒…

NineData创始人CEO叶正盛受邀参加『数据技术嘉年华』的技术大会

4月13日&#xff0c;NineData 创始人&CEO叶正盛受邀参加第13届『数据技术嘉年华』的技术大会。将和数据领域的技术爱好者一起相聚&#xff0c;并分享《NineData在10000公里跨云数据库间实时数据复制技术原理与实践》主题内容。 分享嘉宾 叶正盛&#xff0c;NineData CEO …

node后端上传文件到本地指定文件夹

实现 第一步&#xff0c;引入依赖 const fs require(fs) const multer require(multer) 第二步&#xff0c;先设置一个上传守卫&#xff0c;用于初步拦截异常请求 /*** 上传守卫* param req* param res* param next*/ function uploadFile (req, res, next) {// dest 值…

【刷题】图论——最小生成树:Prim、Kruskal【模板】

假设有n个点m条边。 Prim适用于邻接矩阵存的稠密图&#xff0c;时间复杂度是 O ( n 2 ) O(n^2) O(n2)&#xff0c;可用堆优化成 O ( n l o g n ) O(nlogn) O(nlogn)。 Kruskal适用于稀疏图&#xff0c;n个点m条边&#xff0c;时间复杂度是 m l o g ( m ) mlog(m) mlog(m)。 Pr…

小鸡宝宝考考你每匹斑马身上的条纹都不相同吗?蚂蚁庄园4.13答案

蚂蚁庄园是一款爱心公益游戏&#xff0c;用户可以通过喂养小鸡&#xff0c;产生鸡蛋&#xff0c;并通过捐赠鸡蛋参与公益项目。用户每日完成答题就可以领取鸡饲料&#xff0c;使用鸡饲料喂鸡之后&#xff0c;会可以获得鸡蛋&#xff0c;可以通过鸡蛋来进行爱心捐赠。其中&#…

数学基础:深度学习的语言

数学基础&#xff1a;深度学习的语言 概述 在深度学习的世界里&#xff0c;数学不仅仅是一套工具&#xff0c;它是构建、理解和优化深度学习模型的基石。从向量空间的概念到复杂的优化算法&#xff0c;数学的每一个分支都在深度学习的发展中扮演着关键角色。本文的目标是通过深…