1.3D Photography using Context-aware Layered Depth Inpainting论文
从0开始复现
文章目录
- 系列文章目录
- 前言
- 一、论文有关资源介绍
- 二、环境准备
- 1.pytorch环境
- (1)英伟达GPU配置
- 首先更新显卡驱动(可略过)
- 下载安装cuda
- 下载安装cudnn
- 添加环境变量
- 安装pytorch
- 关于tensorflow:
- 安装验证
- 2.复现运行
- 安装其他依赖包
- 打开项目装载模型
- 运行main.py
- windows下的一个更改
- 总结
前言
CVPR2020论文3D Photography using Context-aware Layered Depth Inpainting 提出了一种单张图片转为3D视频的方法。
效果很棒,再此尝试在windows10系统下复现
一、论文有关资源介绍
知乎文章翻译介绍:知乎翻译
github:开源地址
paper:项目展示网址
在电脑->设备管理器->显示适配器里找到电脑的显卡配置
进入网址 http://www.nvidia.com/Download/index.aspx 根据显卡型号搜索对应的显卡驱动并下载
exe文件直接运行,默认安装即可。其他双击红线处选择驱动更新文件。
按win+Q,输入NVIDIA Control Panel 打开NVIDIA控制面板。
帮助-》系统信息-》组件
近日刚更新,最高支持11.6版本(据说向下兼容)
cuda下载网址:cuda下载cuda的版本和你电脑显卡版本以及pytorch服务版本要对应
几个G耐心等待
下载完毕后默认安装(不确定更改配置会有什么影响,C盘空间足够就默认吧)
win+R-》cmd里使用 nvcc -V可以查到版本号。
cudnn下载网址:cudnn
填写问卷,注册用户,之后下载cuda版本对应的即可
安装方式解压-》复制所有文件到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.6(cuda安装路径下)主要是bin include lib三个文件夹,直接覆盖即可
此电脑-》属性-》高级系统设置-》环境变量-》path里添加
(环境字节过长的问题):参考添加方法
path里加入%env_ex%
新建一个env_ex的环境变量与path同级
cmd输出path成功输出即添加成功
cuda添加环境变量参考
个人电脑安装了cuda11.0(tensorflow)和11.6(pytorch)
下载网址:torch
选择cuda对应版本
个人cnda有问题,使用pip安装
老版本pytorch:老版torch安装原项目的环境为
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit==10.1.243 -c pytorch
个人使用的pytorch==1.11.0可以成功运行
总之torch和gpu适配能使用GPU加速即可
关于下载中断的解决办法:
pip下载可以看到抓取网址:https://download.pytorch.org/whl/cu113
例如个人下载的版本如上,点击进入目录,选择pip中下载的版本手动下载至电脑,然后pip install 包位置即可
https://www.tensorflow.org/install/source_windows
只要cuda,cudnn安装正确(一般也不会出错),选择对应版本的tf安装就没有问题,选择方式见上方网址
个人使用cuda为11.0的tf
如下:
import tensorflow tensorflow.test.is_gpu_available() import torch torch.cuda.is_available() #返回true这说明GPU可用2.复现运行 安装其他依赖包
过于基础的包这里不列举,创建虚拟环境应该必备
pip install -r requirements.txt #requirements内容 opencv-python==4.2.0.32 vispy==0.6.4 moviepy==1.0.2 transforms3d==0.3.1 networkx==2.3 scikit-image cynetworkx
顺利的话以上包会依次安装
下载慢可以使用清华镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
记录一个bug:cynetworkx安装build失败的问题
pip install Cython==3.0a5 pip install git+https://github.com/pattern-inc/cynetworkx.git
结局方案如上:来源
打开项目装载模型
左侧为谷歌实验室运行后生成的一些文件夹以及下载的一些模型
文件夹会自动创建,问题在模型的下载需要科学上网否则下载会中断
chmod +x download.sh ./download.sh
模型下载代码如上(需要模型可以联系我)
运行main.py至此,所有准备工作都完成,不出意外的话在image文件夹下方一张高清的图片(横竖像素大于1000,否则推理失败)
python main.py --config argument.yml
video文件夹下会生成四个视频,depth会生成深度图片
windows下的一个更改报错:BoostingMonocularDepthoutputs下图片找不到
报错源于BoostingMonocularDepth下inputs才是图片入口
image的图片通过luinx的cp命令复制到了inputs下
解决方法
打开boostmonodepth_utils.py文件
第27行cp改为copy
#os.system(f'cy {img_name} {tgt_name}')
os.system(f'copy {img_name} {tgt_name}')
总结
谷歌云端GPU运行了大概几分钟,自己电脑1050ti运行了十几分钟,模型效果很好,但这个时常让人难以接受,如果考虑做成产品模型还需优化,提速。
关于项目复现的问题欢迎点赞 关注 评论



