源码位置
环境
按照作者的提示安装就行,我使用的一些库版本如下:
pytorch = 1.8.2 torchvision 0.9.2+cu111 PyOpenGL = 3.1.0
原作者:PyOpenGL == 3.1.1a1
过程中的问题
- 若下载的文件解压出现错误 -> 手动下载
-
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=1tCU5MM1LhRgGou5OpmpjBQbSrYIUoYab (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fcd7afffe80>: Failed to establish a new connection: [Errno 110] Connection timed out'))
分析:应该是需要外网,然后连接下载东西;
解决方法:找到程序中的url手动下载
- 渲染报错 File “src/errorchecker.pyx”, line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
err = 1282,
description = b’invalid operation’,
baseOperation = glGetUniformLocation,
cArguments = (3, b’ModelMat\x00’),
result = -1
)
scripts/render_single.sh: line 33: 425700 Segmentation fault (core dumped) python $PYTHON_SCRIPT -s $SUBJECT -o $SAVE_DIR -r $NUM_VIEWS -w $SIZE、
解决方法:尝试无头渲染
修改 egl=False (rendersingle.py 40)
修改 ms_rate=16 to ms_rate=4.0 in line 115 of render_single.py
在运行前在终端运行:
1、export MESA_GL_VERSION_OVERRIDE=3.3
2、unset PYOPENGL_PLATFORM
正常运行
#在评估时也涉及到渲染,所以也需要加入:
conda activate icon
unset PYOPENGL_PLATFORM
export MESA_GL_VERSION_OVERRIDE=3.3
# ICON w/ filter
CUDA_VISIBLE_DEVICES=0 python -m apps.train -cfg ./configs/train/icon-filter.yaml -test
# ICON w/o filter
CUDA_VISIBLE_DEVICES=0 python -m apps.train -cfg ./configs/train/icon-nofilter.yaml -test
# PIFu* (*: re-implementation)
CUDA_VISIBLE_DEVICES=0 python -m apps.train -cfg ./configs/train/pifu.yaml -test
# PaMIR* (*: re-implementation)
CUDA_VISIBLE_DEVICES=0 python -m apps.train -cfg ./configs/train/pamir.yaml -test
Reference
@inproceedings{xiu2022icon,
title = {{ICON}: {I}mplicit {C}lothed humans {O}btained from {N}ormals},
author = {Xiu, Yuliang and Yang, Jinlong and Tzionas, Dimitrios and Black, Michael J.},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {13296-13306}
}