PoseDiffusion: Solving Pose Estimation via Diffusion-aided Bundle Adjustment 论文学习和代码复现
相关文章代码下载
https://github.com/facebookresearch/PoseDiffusion/tree/main
https://github.com/cvg/Hierarchical-Localization/tree/master
https://github.com/cvg/LightGlue
conda环境
可以直接看下面更新版,一步到位
新建conda虚拟环境(Python 3.9, PyTorch 1.13, and CUDA 11.6.)
报错
更新pip,又报错
加镜像源,pip更新成功
后面安装还有出现,下载速度慢,或者报错HTTPConnectionPool。。。Read timed out 都可以尝试换源
-i https://pypi.tuna.tsinghua.edu.cn/simple
服务器上直接clone github 项目会报错,可以下载到本地再传上去
https://github.com/facebookresearch/PoseDiffusion/tree/main
https://github.com/cvg/Hierarchical-Localization/tree/master
https://github.com/cvg/LightGlue
安装Hloc
要先安装LightGlue,再安装Hloc
查看Hloc路径下的requirements.txt 文件
(防止服务器访问github报错,自己下载LightGlue 后安装,并把那行注释掉
安装 LightGlue
进入对应目录下(我这里出现了网络错误,尝试换源就好了)
python -m pip install -e .
或者
python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功
安装Hloc
进入对应目录Hierarchical-Localization下(我这里出现了网络错误,尝试换源就好了)
python -m pip install -e .
或者
python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功
运行demo
先下载模型,放进新建文件夹 (pose_diffusion/CKPT),根据自己的情况更改
进入demo.py 的路径下,运行
python demo.py image_folder=“samples/apple” ckpt=“CKPT”
报错OSError: libcufft.so.10: cannot open shared object file: No such file or directory
都到这一步,以为要成功了,才发现torch和cuda-toolkit版本不对应
直接再下载一次codatoolkit=11.6也不行,算了,从头再来吧
更新版(从头开始)
新建conda虚拟环境(更新代码,一键配置)
直接进入对应文件夹,
source setup.sh
结束后,再接上面目录的安装Hloc
运行demo
可以开始尝试运行demo.py了,先根据上面下载运行demo
报错
尝试把VPN关掉,还是不行
尝试手动从github上,下载对应文件,根据提示放在对应位置
.cache/torch/hub/facebookresearch_dino_main
输入命令
python demo.py image_folder="samples/apple" ckpt="CKPT/co3d_model_Apr16.pth"
报错
ModuleNotFoundError: No module named ‘SuperGluePretrainedNetwork.models’
发现下载下来的third_party文件夹是空的,单独下载放进去
终于!!!! 开始训练了!!!
看见进度条也太让人开心了
好的,又报错了,visdom连接错误
[visdom][INFO] - Socket refused connection, running socketless
输入代码查看visdom是否打开
python -m visdom.server
出现这个结果等待很长时间this may take a little while,最后还是出错
解决:找到visom安装的文件夹server.py,我的在anaconda3/envs/Posediffusion/lib/python3.9/site-packages/visdom/server/run_server.py,注释掉这一行
结果:visdom能打开了
解决:
再把demo.py文件里的这个部分注释掉
结果:不再报错,即demo正常运行结束