【论文复现】Consistent Video Depth Estimation
一、相关介绍
- [Paper] [Project Website] [官方源码]
- 复现过程,参考[官方源码]
- 本文主要记录博主按照 [官方源码] 复现过程中出现的问题,避免其他小伙伴入坑
# 版本对齐,博主的环境
显卡驱动:最新版
CUDA:10.1
Python:3.6.5
Pytorch(GPU版):1.4.0
系统:windows10
二、遇到的问题
问题1
>>> git submodule update --init --recursive
执行上面的指令,出现的问题
Submodule 'monodepth/mannequin_challenge' (https://github.com/roxanneluo/mannequinchallenge.git) registered for path 'monodepth/mannequin_challenge'
Submodule 'monodepth/midas_v2' (https://github.com/roxanneluo/MiDaS-1.git) registered for path 'monodepth/midas_v2'
Submodule 'monodepth/monodepth2' (https://github.com/roxanneluo/monodepth2.git) registered for path 'monodepth/monodepth2'
Submodule 'third_party/OpticalFlowToolkit' (https://github.com/roxanneluo/OpticalFlowToolkit.git) registered for path 'third_party/OpticalFlowToolkit'
Submodule 'third_party/colmap' (https://github.com/colmap/colmap.git) registered for path 'third_party/colmap'
Submodule 'flownet2' (https://github.com/roxanneluo/flownet2-pytorch.git) registered for path 'third_party/flownet2'
Cloning into 'PATH/TO/consistent_depth/monodepth/mannequin_challenge'...
Cloning into 'PATH/TO/consistent_depth/monodepth/midas_v2'...
Cloning into 'PATH/TO/consistent_depth/monodepth/monodepth2'...
Cloning into 'PATH/TO/consistent_depth/third_party/OpticalFlowToolkit'...
Cloning into 'PATH/TO/consistent_depth/third_party/colmap'...
Cloning into 'PATH/TO/consistent_depth/third_party/flownet2'...
问题原因:git下载失败
解决办法:根据错误提示,手动下载git源码,分别解压到对应的目录下。如果文件夹不存在,则新建文件夹。
分别下载Submodule
https://github.com/roxanneluo/mannequinchallenge.git
https://github.com/roxanneluo/MiDaS-1.git
https://github.com/roxanneluo/monodepth2.git
https://github.com/roxanneluo/OpticalFlowToolkit.git
https://github.com/colmap/colmap.git
https://github.com/roxanneluo/flownet2-pytorch.git分别 Cloning into 到对应目录
PATH/TO/consistent_depth/monodepth/mannequin_challenge
PATH/TO/consistent_depth/monodepth/midas_v2
PATH/TO/consistent_depth/monodepth/monodepth2
PATH/TO/consistent_depth/third_party/OpticalFlowToolkit
PATH/TO/consistent_depth/third_party/colmap
PATH/TO/consistent_depth/third_party/flownet2
比如,下载 https://github.com/roxanneluo/mannequinchallenge.git,解压到 consistent_depth/monodepth/mannequin_challenge 目录下
问题2
>>> conda create -n consistent_depth python=3.6
>>> conda activate consistent_depth
>>> ./scripts/install.sh
>>> pip install -r requirements.txt -f https://download.pytorch.org/whl/torch_stable.html
执行上面的指令,提示安装包出错
解决办法:
- 根据用户的系统环境,对 requirements.txt 中的库逐个安装。
- 如果安装速度很慢,请换源,参考博客 pip在windows7和windows10下换源 pip在ubuntu下换源
- 安装pytorch比较复杂,可以参考博客 Pytorch安装教程
问题3
问题原因:install.sh相对路径错误
方法一(推荐):理解 install.sh 中的指令,执行对应的指令(由于博主手动安装了 requirements.txt 里的包,所以对 install.sh 没有任何操作)
参考博客 【终极篇】shell脚本下载资源失败的解决办法
方法二:修改相对路径,博主试了好几次都失败,果断放弃了
install FFmpeg
参考博客 windows10安装ffmpeg
Install COLMAP
参考博客 Windows+COLMAP三维重建教程【exe安装】
Quick Start
问题4
>>> python main.py --video_file data/videos/ayush.mp4 --path results/ayush --camera_params "1671.770118, 540, 960" --camera_model "SIMPLE_PINHOLE" --make_video
执行上面的指令,出现的问题
(consistent_depth) PATH\TO\consistent_depth>python main.py --video_file data/videos/ayush.mp4 --path results/ayush --camera_params "1671.77011
8, 540, 960" --camera_model "SIMPLE_PINHOLE" --make_video
Traceback (most recent call last):File "main.py", line 4, in <module>from params import Video3dParamsParserFile "PATH\TO\consistent_depth\params.py", line 6, in <module>from monodepth.depth_model_registry import get_depth_model, get_depth_model_listFile "PATH\TO\consistent_depth\monodepth\depth_model_registry.py", line 5, in <module>from .mannequin_challenge_model import MannequinChallengeModelFile "PATH\TO\consistent_depth\monodepth\mannequin_challenge_model.py", line 10, in <module>from .mannequin_challenge.models import pix2pix_modelFile "PATH\TO\consistent_depth\monodepth\mannequin_challenge\models\pix2pix_model.py", line 21, in <module>from models import base_model
ModuleNotFoundError: No module named 'models'
问题原因:找不到模块,相对导入模块的问题
#PATH\TO\consistent_depth\monodepth\mannequin_challenge\models\pix2pix_model.py
from models import base_model
from models import networks
from models import hourglass
解决办法:修改为相对导入
#PATH\TO\consistent_depth\monodepth\mannequin_challenge\models\pix2pix_model.py
from ..models import base_model
from ..models import networks
from ..models import hourglass
问题5
import resample2d_cuda
ModuleNotFoundError: No module named 'resample2d_cuda'
问题原因:下载的第三方包没有编译,找不到包
解决办法:编译第三方包,并安装这些编译好的包
>>> cd PATH\TO\consistent_depth\third_party\flownet2\networks\resample2d_package/>>> python setup.py build # 编译第三方包
>>> python setup.py install # 安装包
问题6
>>> python setup.py build
执行上面的指令,出现的问题
32 errors detected in the compilation of "resample2d_kernel.cu".
error: command 'PATH\\TO\\CUDA11.2\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.2\\bin\\nvcc.exe' failed with exit status 1
问题原因
博主最开始的CUDA版本是11.2
Pytorch1.4.0匹配的CUDA版本是10.1
版本不匹配,导致cuda编译失败
方法一(推荐):CUDA多版本管理,安装对应的CUDA版本
参考博客 https://blog.csdn.net/qq_27825451/article/details/89135592
方法二(不推荐):
降低CUDA版本,卸载之后安装CUDA11.1
参考博客 windows下CUDA的卸载以及安装
问题7
问题原因:虚拟内存不足,使得编译失败
解决办法:
参考博客 OSError: [WinError 1455] 页面文件太小,无法完成操作
问题8
问题原因:python3.6.0版本与pytorch1.4.0不匹配
解决办法:升级Python==3.6.5
参考博客 windows安装Pytorch报错:from torch._C import * ImportError: DLL load failed: 找不到指定的模块”解决方案
问题9
问题原因:无法识别__floor,导致CUDA编译失败
解决办法:
参考博客 Cuda Compile Error Windows 10
将文件 resample2d_kernel.cu 中的 floor 替换成 floorf
问题10
ERROR: %d frames extracted, but %d PTS entries.
ERROR: 92 frames extracted, but 0 PTS entries.
问题原因:
>>> ffprobe data/videos/ayush.mp4 -select_streams v:0 -show_frames | grep pkt_pts_time
# 在windows中执行错误,grep不是内部或外部命令,也不是可运行的程序
解决办法:修改判断条件,跳过判断条件
# self.frame_count = count
if count != self.frame_count:sys.exit("ERROR: %d frames extracted, but %d PTS entries."% (count, self.frame_count))
问题11
问题原因:显存不足,因为博主的显卡是GTX 850M,2G显存(太老了,没钱换笔记本)
解决办法:换电脑
【论文复现】Consistent Video Depth Estimation相关推荐
- 《Consistent Video Depth Estimation》阅读笔记
<Consistent Video Depth Estimation>阅读笔记 文章目录 <Consistent Video Depth Estimation>阅读笔记 前言: ...
- Consistent Video Depth Estimation——视频深度一致估计
Paper | Code 文章核心: 提出一种算法--重构单眼视频中所有像素的稠密的几何一致的深度,其利用了传统的SFM(从运动中重构)来建立视频中像素的几何约束.与经典重建中的特殊先验不同的是,本文 ...
- Robust Consistent Video Depth Estimation_具有鲁棒一致性的视频深度估计
论文 Code 核心:利用卷积神经网络训练 单张图像深度估计 优化深度图的对齐 连续优化 共同优化相机位姿参数的内外参 估计的深度图3D对齐 解决Naive alignment:提出一种更灵活变形的模 ...
- 【论文简述】Rethinking Depth Estimation for Multi-View Stereo: A Unified Representation(CVPR 2022)
一.论文简述 1. 第一作者:Rui Peng 2. 发表年份:2022 3. 发表期刊:CVPR 4. 关键词:MVS.3D重建.分类.回归.统一监督 5. 探索动机:在不失完整性的前提下,现有的基 ...
- 论文笔记-Depth Estimation via Affinity Learned with Convolutional Spatial Propagation Network
论文信息 标题: Depth Estimation via Affinity Learned with Convolutional Spatial Propagation Network 作者:Xin ...
- 3D Packing for Self-Supervised Monocular Depth Estimation
动机: propose a novel self-supervised monocular depth estimation method combining geometry with a new ...
- [论文速读]:全景相机(360度相机)室内图像的景深估计 Depth Estimation for Indoors Spherical Panoramas (三篇)
[论文速读]:全景相机(360度相机)室内图像的景深估计 Depth Estimation for Indoors Spherical Panoramas (三篇) 全景相机(360度相机)室内图像有 ...
- 单目深度估计(Monocular Depth Estimation)论文阅读 2021-01-15
单目深度估计 问题公式化:求非线性映射函数 一.数据集: NYU Depth:视频序列和dense depth map通过RGB-D采集的,但是不是每一种图像都有深度图,因为映射是离散的. KITTI ...
- 介绍一篇通过无监督depth estimation改进语义分割的论文
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/341180239 ...
最新文章
- C语言中的sizeof中的数组和指针
- NLP之WE之Skip-Gram:基于TF利用Skip-Gram模型实现词嵌入并进行可视化、过程全记录
- OpenCV F变换理论F-transform theory
- rmmod: can't change directory to '/lib/modules': No such file or directory问题解决
- SpringMVC之组合注解@GetMapping
- win 二进制门安装mysql_windows安装mysql2 gem(包括windows 7 64位)
- 微服务框架Demo.MicroServer运行手册
- kubernetes怎么读_每个 Kubernetes 应聘者应该知道的 5 个面试题 | Linux 中国
- flink 1.9 编译:flink.shaded.netty4.io.netty 找不到
- java第一章_java 第一章
- hdu 2069 1 5 10 25 50 这几种硬币 一共100个(母函数)
- Windows Mobile 中 Cellular Emulator 与 Device Emulator 连接不上的解决办法?
- Angular中响应式表单 FormBuilder、FormControl 、FormGroup、FormArray、setControl、setValue用法总结
- Leetcode刷题修炼手册
- 结对第一次—原型设计
- linux 字符驱动 tty,打通linux的tty驱动的数据链路
- c语言程序 题库管理,C语言程序设计题库管理.doc
- disallow: /index.php?,那位高手知道robots文件的正确写法。我在网上看到两种说法。一种是 user-agent:* Disallow:/flims...
- python学习记录——容器篇
- 仿微信视频通话大小视图切换(SurfaceView实现)
热门文章
- 来自“飞人”乔丹的启示!奥尼尔开启的另一个“赛场”
- 有符号数和无符号数区别
- 道通科技自动化测试面试
- 洛谷 :P1104 生日
- 服务器上的东西丢了怎么找回来,东西丢了不要急,教你用周易古诀找回失物!...
- SuperMap iClient3D for WebGL教程-管线流动特效
- 之江汇空间如何加音乐背景_互动课堂的使用|之江汇互动课堂如何使用?之江汇互动课堂使用方法...
- 物联网设备数据流转之搭建前端服务框架:Vue3.0, ElementPlus, Axios, Echarts
- 一篇好文,在迷茫时阅读
- HDU 6217 BBP Formula (数学)