本文主要是介绍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
到这里就大功告成了,本文项目可以关注微信公众号发送关键词 资源 获得
这篇关于Mip-Nerf三维重建代码复现教程——环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!