Mip-Nerf三维重建代码复现教程——环境配置

2023-11-18

Mip-Nerf三维重建Pytorch使用Pycharm运行0基础教程

在这里插入图片描述
项目论文
项目Github

你好! 这里是“出门吃三碗饭”本人,本文章接下来将介绍如何从0运行2020会议Mip-Nerf的Pytorch版本,让你自己动手渲染第一个三维模型。视频解说可以关注B站,搜索 出门吃三碗饭 ,),另外可以关注《AI知识物语》 公众号获取更多详情信息。

挖个坑,争取文章发布一周内更新好其代码讲解

1:百度搜索"PaperCode"

PaperCode网址放在这里了

2:左上角输入MipNerf 右键Enter

在这里插入图片描述

2:选择第3个代码库(第2个也强烈推荐,其包含多个Nerf的复现)

在这里插入图片描述

3:选择用git指令下载or zip包下载

在这里我们看到文件目录里面是没有 数据集文件的

在这里插入图片描述

4:选择用git指令下载or zip包下载

这里只需要下载画横线的那个压缩包即可

数据集下载地址 Google Drive 需要科学上网
在这里插入图片描述

5:确认项目目录

把下载好的数据集文件放入项目的data(没有就自己创建)文件夹下,如下图

在这里插入图片描述

6:创建python环境

具体需要安装的包在 requirements.txt

在这里插入图片描述

在这里插入图片描述
因为下载比较慢,建议使用镜像下载,

python -m pip install pytorch-lightning==1.5.2 einops==0.3.2 opencv-python==4.5.4.58 matplotlib==3.5.0 imageio==2.10.4 scipy==1.8.0 imageio-ffmpeg==0.4.5 tqdm==4.64.0 open3d==0.14.1 -i https://pypi.douban.com/simple

使用镜像下载的命令  把pytorch-lightning==1.5.2 换成自己需要下载的包即可
python -m pip install pytorch-lightning==1.5.2  -i https://pypi.douban.com/simple

这个是安装 torch的,我显卡版本是11.6  后面是cu116, 根据自己显卡情况改
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116


在安装完包后,记得去查看每个.py 文件看看是否有import 方面的报错,有的话就 install对应的包来解决

7:开始训练

使用指令

训练单视角的Lego
python train.py --out_dir OUT_DIR --data_path UZIP_DATA_DIR --dataset_name blender exp_name EXP_NAME


训练多视角的Lego
python train.py --out_dir OUT_DIR --data_path OUT_DATA_DIR --dataset_name multi_blender exp_name EXP_NAME

我使用的命令(根据自己目录情况修改)
python train.py --out_dir out --data_path ./data/nerf_synthetic/lego --dataset_name blender exp_name exp

成功运行如下

在这里插入图片描述

如果遇到缓存报错
在这里插入图片描述

解决办法:
1:调整batch_size num_samples等大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2:在mip_nerf.py 修改代码,大概109行左右,目的是对报错的该行代码添加一个if条件,释放无关内存

view_direction = repeat(view_direction, 'batch feature -> batch sample feature', sample=num_samples)
            x = torch.cat([bottleneck, view_direction], dim=-1)
         #  if hasattr(torch.cuda, 'empty_cache'):
       #         x = torch.cat([bottleneck, view_direction], dim=-1) #这里取了条件前置
            # Here use 1 extra layer to align with the original nerf model.
            x = self.view_layers(x)
        raw_rgb = self.color_layer(x)
        return raw_rgb, raw_density

3:换云服务器or更好的显卡

8:测试(生成3D模型,以视频形式输出方便观察)
使用以下指令评估单尺度和多尺度模型,将所有目录更改为您的目录
# eval single scale model
python eval.py --ckpt CKPT_PATH --out_dir OUT_DIR --scale 1 --save_image
# eval multi scale model
python eval.py --ckpt CKPT_PATH --out_dir OUT_DIR --scale 4 --save_image
# summarize the result again if you have saved the pnsr.txt and ssim.txt
python eval.py --ckpt CKPT_PATH --out_dir OUT_DIR --scale 4 --summa_only


渲染球面路径视频
# Render spheric video
python render_video.py --ckpt CKPT_PATH --out_dir OUT_DIR --scale 4
# generate video if you already have images
python render_video.py --gen_video_only --render_images_dir IMG_DIR_RENDER

在这里插入图片描述

到这里就大功告成了,本文项目可以关注微信公众号发送关键词 资源 获得

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

Mip-Nerf三维重建代码复现教程——环境配置 的相关文章

随机推荐

  • Python中MNE库的脑电地形图绘制

    脑电地形图在进行和 源 相关的分析时很有用 可以直观的看出各个电极的激活情况以及其随时间的变化 在标准的脑电数据中都是有电极的坐标位置的 会用EEGLab的可能对这块比较熟悉了 实际MNE库中也有相关的定义和实现 可以导入外部的电极数据 或
  • top 内存耗用:VSS/RSS/PSS/USS

    转载 http blog csdn net adaptiver article details 7084364 Terms VSS Virtual Set Size 虚拟耗用内存 包含共享库占用的内存 RSS Resident Set Si
  • Python-OpenCv读取,输出图像

    读取图像 调用imread函数生成像素点矩阵 img cv2 imread lll jpg 读图片 print函数查看矩阵 print img 输出图像 调用imshow函数 新建一个show py文件写输出函数分别调用 resize函数设
  • C#中Ilist与list的区别小结

    常见问题 Ilist lt gt 本身只是一个泛型接口 既然是接口当然不能实例化 只能用如下方法 IList
  • python的print打印颜色设置

    1 顺序 显示方式 前景颜色 背景颜色 2 顺序非固定 但尽量按默认书写方式 3 也可以在input中输出使用 4 格式 print 033 显示方式 前景颜色 背景颜色m 033 0m 显示方式 意义 显示方式 默认 0 高亮显示 1 下
  • 读书笔记:Bi-Directional Cascade Network for Perceptual Edge Detection

    目录 摘要 1 介绍 2 相关工作 3 方法 3 1公式 3 2BDCN的架构 3 3网络训练 4 实验 4 1数据集 摘要 利用多尺度表示对于提高不同尺度对象的边缘检测至关重要 为了利用多尺度提取边缘 我们提出了一种全向级联网络 BDCN
  • 仿网页列表的实现

    序言 实现思路 代码实现 效果展现 总结 序言 最近遇到了一项需求 用Android实现网页中的列表效果 首先我便想到了用ListView的方式来实现 由于网页的表格数据通常都是以一行的形式展现的 因此 我把需要展现的数据放在了一行 可是需
  • python中的tcp/ip连接

    参考博客 https blog csdn net c123 sensing article details 81563702 服务端的代码 usr bin python coding UTF 8 import socket sock soc
  • Android很好看的登陆界面(包含详细代码)

    一 这是我自己在做一个小项目的时候做的界面 在这里分享给大家 其实没什么东西 主要是利用了Material Design设计风格 1 在这里给大家安利一下Material Design设计风格 这个组件库的里面的组件和Android原生的组
  • 【SSL证书安全】

    SSL证书介绍 一种数字证书 也被称为 https证书 CA证书 安全证书 服务器证书 或 SSL证书 一般新申请的证书中 由三部分组成 分别为 CA证书 公钥 私钥 术语定义 发送内容 私钥加密过的内容 数字签名 确认发送内容的完整性 h
  • Cobalt Strike(学习笔记)

    Cobalt Strike简介 Cobalt Strike 是一款GUI的框架式渗透工具 集成了端口转发 服务扫描 自动化溢出 多模式端口监听 win exe木马生成 win dll木马生成 java木马生成 office宏病毒生成 木马捆
  • Linux实用工具

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 Windows下同步Linux文件 Linux安装Samba和配置 场景需求 安装了Ubuntu在虚拟机上 但是代码编辑或者其它更多的操作的时候 还是习惯在window
  • @Autowired注解的实现原理

    Autowired注解用法 在分析这个注解的实现原理之前 我们不妨先来回顾一下 Autowired注解的用法 将 Autowired注解应用于构造函数 如以下示例所示 public class MovieRecommender privat
  • 3dmax2014卸载/安装失败/如何彻底卸载清除干净3dmax2014注册表和文件的方法

    3dmax2014提示安装未完成 某些产品无法安装该怎样解决呢 一些朋友在win7或者win10系统下安装3dmax2014失败提示3dmax2014安装未完成 某些产品无法安装 也有时候想重新安装3dmax2014的时候会出现本电脑win
  • 【电子电路】逻辑章

    人不能 至少不应该 一天速成电子电路 不全 漏掉的那部分是常识或者 真的是眼睛不好了 BCD码 即8421码 2421码 余3码 平常的二进制就是8421码 其余以此类推 符号位 1100 正 1101 负 可靠性编码 奇偶校验码 奇校验
  • H5页面与vue的客户端交互

    工作中经常遇到一些奇怪的东西 我有个这样的需求 就是我写的vue项目被嵌套在别的h5项目页面下 so进入我的页面前需要判断他的h5页面有没有登录 这时候就需要我的客户端页面调用h5页面的登录方法 客户端页面 ios 安卓 两种都得交互h5页
  • 海康威视系统未连接服务器,ivms-4200客户端登入不了云服务器

    ivms 4200客户端登入不了云服务器 内容精选 换一换 本章节为您介绍以下内容 准备弹性云服务器作为GDS服务器在使用GDS导入导出数据之前 需要准备一台或多台与GaussDB DWS 集群在相同VPC内的Linux弹性云服务器 简称E
  • Redis使用总结(四、处理延时任务)

    引言 在开发中 往往会遇到一些关于延时任务的需求 例如 生成订单30分钟未支付 则自动取消 生成订单60秒后 给用户发短信 对上述的任务 我们给一个专业的名字来形容 那就是延时任务 那么这里就会产生一个问题 这个延时任务和定时任务的区别究竟
  • 简单讲解一下什么是ATT&CK框架

    点击 仙网攻城狮 关注我们哦 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 ATT CK框架由 MITRE 安全组织提出并列出了APT 高级可持续威胁攻击 的14个阶段涉及到206个安全技术点上千种攻击 检测手段 基本覆盖所有网
  • Mip-Nerf三维重建代码复现教程——环境配置

    Mip Nerf三维重建Pytorch使用Pycharm运行0基础教程 项目论文 项目Github 你好 这里是 出门吃三碗饭 本人 本文章接下来将介绍如何从0运行2020会议Mip Nerf的Pytorch版本 让你自己动手渲染第一个三维