从0开始复现3D Photography using Context-aware Layered Depth Inpainting
系列文章目录
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:项目展示网址
二、环境准备
1.pytorch环境
(1)英伟达GPU配置
首先更新显卡驱动(可略过)
在电脑->设备管理器->显示适配器里找到电脑的显卡配置
进入网址 http://www.nvidia.com/Download/index.aspx 根据显卡型号搜索对应的显卡驱动并下载
exe文件直接运行,默认安装即可。其他双击红线处选择驱动更新文件。
下载安装cuda
按win+Q,输入NVIDIA Control Panel 打开NVIDIA控制面板。
帮助-》系统信息-》组件
近日刚更新,最高支持11.6版本(据说向下兼容)
cuda下载网址:cuda下载cuda的版本和你电脑显卡版本以及pytorch服务版本要对应
几个G耐心等待
下载完毕后默认安装(不确定更改配置会有什么影响,C盘空间足够就默认吧)
win+R-》cmd里使用 nvcc -V可以查到版本号。
下载安装cudnn
cudnn下载网址:cudnn
填写问卷,注册用户,之后下载cuda版本对应的即可
安装方式解压-》复制所有文件到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6(cuda安装路径下)主要是bin include lib三个文件夹,直接覆盖即可
添加环境变量
此电脑-》属性-》高级系统设置-》环境变量-》path里添加
(环境字节过长的问题):参考添加方法
path里加入%env_ex%
新建一个env_ex的环境变量与path同级
cmd输出path成功输出即添加成功
cuda添加环境变量参考
个人电脑安装了cuda11.0(tensorflow)和11.6(pytorch)
安装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 包位置
即可
关于tensorflow:
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下的一个更改
报错:BoostingMonocularDepth\outputs下图片找不到
报错源于BoostingMonocularDepth下inputs才是图片入口
image的图片通过linux的cp命令复制到了inputs下
解决方法
打开boostmonodepth_utils.py文件
第27行cp改为copy
#os.system(f'cy {img_name} {tgt_name}')
os.system(f'copy {img_name} {tgt_name}')
2022-04-08更新
更新主要解决Linux与Windows不同命令行的执行无效问题
主要更改boostmonodepth_utils.py文件
改文件的用处在于
先清空inputs和outputs下的图片以及npy文件
再将image下的图片复制到inputs下
再
先导入包
import platform
第一处
if (platform.system() == 'Windows'):now_system = 'win'print(now_system)os.system(f'copy {img_name} {tgt_name}')elif (platform.system() == 'Linux'):now_system = 'linux'print(now_system)os.system(f'cp {img_name} {tgt_name}')else:print('system not Linux or Windows')
第二处
if (platform.system() == 'Windows'):now_system = 'win'print(now_system)os.system(f'del {paths_to_check}')os.system(f'rd {paths_to_check}')elif (platform.system() == 'Linux'):now_system = 'linux'print(now_system)os.system(f'rm {paths_to_check}')else:print('system not Linux or Windows')
总结
谷歌云端GPU运行了大概几分钟,自己电脑1050ti运行了十几分钟,模型效果很好,但这个时常让人难以接受,如果考虑做成产品模型还需优化,提速。
关于项目复现的问题欢迎点赞 关注 评论
从0开始复现3D Photography using Context-aware Layered Depth Inpainting相关推荐
- ECShop-v3.0.0漏洞复现
ECShop-v3.0.0漏洞复现 配置文件写入导致代码执行 HTTP Host头部攻击导致任意页面跳转 HTTP Host头部攻击导致前台任意密码重置 后台任意文件删除 后台SQL注入 配置文件写入 ...
- 【论文阅读笔记】One Shot 3D Photography
论文主页:https://facebookresearch.github.io/one_shot_3d_photography/ 代码地址:https://github.com/facebookres ...
- Poser v7.0 1DVD(3D 角色动画)
Ulead产品: Ulead.Videostudio.v10.Plus-ISO 1CD Ulead.Video.Studio.9.CHS-ISO 1CD(简体中文,会声会影 是一套专为个人及家庭所设计 ...
- UG11.0压铸模具全3D实例设计视频教程 流道 结构 顶出设计
UG11.0压铸模具全3D实例设计视频教程 流道 结构 顶出设计 链接:https://pan.baidu.com/s/1t4VAPrssotmcMiOlYCQW3w 提取码:fpgn
- nature文章再也不会出现模糊图片An integrated imaging sensor for aberration-corrected 3D photography
说来惭愧,竟然没有去拜读nature science期刊的论文,知道lecun发过深度学习的论文,以前误认为上面大多为基础基础理论的论文.结果看到清华大学的用于像差校正 3D 摄影的集成成像传感器, ...
- Android OpenGL ES 2.0 屏幕坐标和3D世界坐标转换
Android OpenGL ES 2.0 屏幕坐标和3D世界坐标转换 查看全文 http://www.taodudu.cc/news/show-6705596.html 相关文章: word中如何加 ...
- tof摄像头手势识别_解决方案| USB 3D视觉TOF飞行时间深度摄像头Depth Eye
原标题:解决方案| USB 3D视觉TOF飞行时间深度摄像头Depth Eye 今年年初,火了好久的保时捷概念车Mission E相继在各大车展首秀,再次引发这款酷炫电动车的热烈讨论.而Mission ...
- 目标检测--Object Detection via Aspect Ratio and Context Aware
Object Detection via Aspect Ratio and Context Aware Region-based Convolutional Networks https://arxi ...
- creo三维生成二维图_proe5.0原创工程图教程(1)-proe5.0三维图(3D)怎么转换二维图(2D)初级版...
proe5.0三维模型(3D)怎么转换二维模型(2D)后可以转换成pdf和dwg,这些优势是其他软件无可比拟的.因为proe3d和2D是关联的,是参数化的.打个简单的比方,你3D的孔发生了变化,2d就 ...
最新文章
- stm32f103 rtc 获取 日历 时钟
- 线程的退出 java_(转)Java结束线程的三种方法
- mysql 分钟_mysql分钟到小时和分钟
- Python爬虫 搜索并下载图片
- centos7 install virt-sysprep
- 怎样往mysql里添加数据_怎么往mysql表里添加数据
- Linux命令 ls -l s输出内容含义详解
- php7不解析下载,Centos7 配置apache和php,登陆web提示下载,不解析php文件
- 20155307 刘浩 信息安全技术(李冬冬) 实验三 数字证书应用 实验报告
- delphi xe 10 程式外观
- [无线]无线传输距离预估计算
- 2022T电梯修理考试题库模拟考试平台操作
- mumu模拟器崩坏3分辨率_网易mumu模拟器设置崩坏3不卡的方法
- 如何对接payjs的个人微信扫码支付接口
- 用Socket实现点对点的文件传输
- FL Studio教程之如何慢慢降音
- R 语言绘制带组的圆形条形图
- 动态规划解决最长公共子序列
- 低格硬盘用什么软件_越南人用的什么聊天软件,和越南人交流用什么软件翻译...
- [厂长首作]MIPCMS自适应新闻资讯模板