Mip-Nerf三维重建代码复现教程——环境配置
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

到这里就大功告成了,本文项目可以关注微信公众号发送关键词 资源 获得
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
