GitHub - liyi14/mx-DeepIM: Deep Iterative Matching for 6D Pose Estimation
1、创建python3.6.7环境
conda create -n deepim python==3.6.7
conda activate deepim
2、安装packages
Opengl-GLFW:
sudo apt-get install libglfw3-dev libglfw3
其他包:
conda install scipy
pip install Cython
pip install opencv-python
pip install easydict
pip install pyyaml
pip install tqdm
glumpy:
pip install pyopengl packaging appdirs pyopengl triangle cython glfw
# clone the lastest glumpy (there is a bug in the pip version)
git clone https://github.com/glumpy/glumpy.git
cd glumpy
pip install .
MXNet:
pip install mxnet-cu102
mxboard:
pip install mxboard
3、下载源码并初始化
git clone https://github.com/liyi14/mx-DeepIM.git
cd mx-DeepIM
pip install torch==1.5.0 torchvision==0.6.0
sh init.sh
运行日志如下,先不管warning
~/3dTracking/mx-DeepIM$ sh init.sh
running build_ext
skipping 'gpu_flow.cpp' Cython extension (up-to-date)
building 'gpu_flow' extension
creating build
creating build/temp.linux-x86_64-3.6
/usr/local/cuda-10.2/bin/nvcc -I/home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include -I/usr/local/cuda-10.2/include -I/home/rakuli/anaconda3/envs/deepim/include/python3.6m -c gpu_flow_kernel.cu -o build/temp.linux-x86_64-3.6/gpu_flow_kernel.o -arch=sm_35 --ptxas-options=-v -c --compiler-options '-fPIC'
ptxas info : 0 bytes gmem
ptxas info : Compiling entry function '_Z11flow_kerneliPKfS0_iiPfS1_S1_S1_' for 'sm_35'
ptxas info : Function properties for _Z11flow_kerneliPKfS0_iiPfS1_S1_S1_
0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info : Used 27 registers, 384 bytes cmem[0], 36 bytes cmem[2]
gcc -pthread -B /home/rakuli/anaconda3/envs/deepim/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include -I/usr/local/cuda-10.2/include -I/home/rakuli/anaconda3/envs/deepim/include/python3.6m -c gpu_flow.cpp -o build/temp.linux-x86_64-3.6/gpu_flow.o -Wno-unused-function
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822:0,
from /home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from gpu_flow.cpp:449:
/home/rakuli/anaconda3/envs/deepim/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^~~~~~~
g++ -pthread -shared -B /home/rakuli/anaconda3/envs/deepim/compiler_compat -L/home/rakuli/anaconda3/envs/deepim/lib -Wl,-rpath=/home/rakuli/anaconda3/envs/deepim/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.6/gpu_flow_kernel.o build/temp.linux-x86_64-3.6/gpu_flow.o -L/usr/local/cuda-10.2/lib64 -Wl,-R/usr/local/cuda-10.2/lib64 -lcudart -o /home/rakuli/3dTracking/mx-DeepIM/lib/flow_c/gpu_flow.cpython-36m-x86_64-linux-gnu.so
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/rakuli/anaconda3/envs/deepim/compiler_compat/ld: warning: /home/rakuli/anaconda3/envs/deepim/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
4、准备数据
(1)下载test images
链接:BOP: Benchmark for 6D Object Pose Estimation
解压
unzip ./data/LINEMOD_6D/LM6d_origin/lm_test_all.zip -d ./data/LINEMOD_6D/LM6d_origin/
(2)下载作者提供的模型文件、训练集测试集分配文件、posecnn结果
不在BOP中下载,链接:https://drive.google.com/drive/folders/1dxbEn9NOhlWjiEop3QPjT2wi-FB-N1if?usp=sharing
下载后直接解压
运行以下命令来准备原始数据集和合成数据(prepare original dataset and synthetic data)
sh prepare_data.sh
过程中报错:
- ModuleNotFoundError: No module named 'mmcv'
pip install mmcv
- ModuleNotFoundError: No module named 'matplotlib'
pip install matplotlib
- 'Render_Py' object has no attribute 'window'