Code for "PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation" CVPR 2019 oral

Related tags

Deep Learning pvnet
Overview

Good news! We release a clean version of PVNet: clean-pvnet, including

  1. how to train the PVNet on the custom dataset.
  2. Use PVNet with a detector.
  3. The training and testing on the tless dataset, where we detect multiple instances in an image.

PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation

introduction

PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation
Sida Peng, Yuan Liu, Qixing Huang, Xiaowei Zhou, Hujun Bao
CVPR 2019 oral
Project Page

Any questions or discussions are welcomed!

Truncation LINEMOD Dataset

Check TRUNCATION_LINEMOD.md for information about the Truncation LINEMOD dataset.

Installation

One way is to set up the environment with docker: How to install pvnet with docker.

Thanks Joe Dinius for providing the docker implementation.

Another way is to use the following commands.

  1. Set up python 3.6.7 environment
pip install -r requirements.txt

We need compile several files, which works fine with pytorch v0.4.1/v1.1 and gcc 5.4.0.

For users with a RTX GPU, you must use CUDA10 and pytorch v1.1 built from CUDA10.

  1. Compile the Ransac Voting Layer
ROOT=/path/to/pvnet
cd $ROOT/lib/ransac_voting_gpu_layer
python setup.py build_ext --inplace
  1. Compile some extension utils
cd $ROOT/lib/utils/extend_utils

Revise the cuda_include and dart in build_extend_utils_cffi.py to be compatible with the CUDA in your computer.

sudo apt-get install libgoogle-glog-dev=0.3.4-0.1
sudo apt-get install libsuitesparse-dev=1:4.4.6-1
sudo apt-get install libatlas-base-dev=3.10.2-9
python build_extend_utils_cffi.py

If you cannot install libsuitesparse-dev=1:4.4.6-1, please install libsuitesparse, run build_ceres.sh and move ceres/ceres-solver/build/lib/libceres.so* to lib/utils/extend_utils/lib.

Add the lib under extend_utils to the LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/pvnet/lib/utils/extend_utils/lib

Dataset Configuration

Prepare the dataset

Download the LINEMOD, which can be found at here.

Download the LINEMOD_ORIG, which can be found at here.

Download the OCCLUSION_LINEMOD, which can be found at here.

Create the soft link

mkdir $ROOT/data
ln -s path/to/LINEMOD $ROOT/data/LINEMOD
ln -s path/to/LINEMOD_ORIG $ROOT/data/LINEMOD_ORIG
ln -s path/to/OCCLUSION_LINEMOD $ROOT/data/OCCLUSION_LINEMOD

Compute FPS keypoints

python lib/utils/data_utils.py

Synthesize images for each object

See pvnet-rendering for information about the image synthesis.

Demo

Download the pretrained model of cat from here and put it to $ROOT/data/model/cat_demo/199.pth.

Run the demo

python tools/demo.py

If setup correctly, the output will look like

cat

Visualization of the voting procedure

We add a jupyter notebook visualization.ipynb for the keypoint detection pipeline of PVNet, aiming to make it easier for readers to understand our paper. Thanks for Kudlur, M 's suggestion.

Training and testing

Training on the LINEMOD

Before training, remember to add the lib under extend_utils to the LD_LIDBRARY_PATH

export LD_LIDBRARY_PATH=$LD_LIDBRARY_PATH:/path/to/pvnet/lib/utils/extend_utils/lib

Training

python tools/train_linemod.py --cfg_file configs/linemod_train.json --linemod_cls cat

Testing

We provide the pretrained models of each object, which can be found at here.

Download the pretrained model and move it to $ROOT/data/model/{cls}_linemod_train/199.pth. For instance

mkdir $ROOT/data/model
mv ape_199.pth $ROOT/data/model/ape_linemod_train/199.pth

Testing

python tools/train_linemod.py --cfg_file configs/linemod_train.json --linemod_cls cat --test_model

Citation

If you find this code useful for your research, please use the following BibTeX entry.

@inproceedings{peng2019pvnet,
  title={PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation},
  author={Peng, Sida and Liu, Yuan and Huang, Qixing and Zhou, Xiaowei and Bao, Hujun},
  booktitle={CVPR},
  year={2019}
}

Acknowledgement

This work is affliated with ZJU-SenseTime Joint Lab of 3D Vision, and its intellectual property belongs to SenseTime Group Ltd.

Copyright (c) ZJU-SenseTime Joint Lab of 3D Vision. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Some questions about train and test!

    Some questions about train and test!

    I find that it doesn't use hough voting during training, only use during testing.What's more,your segmentation Network (PvNet) directly regresses to the prediction point, why don't you use mask-rcnn architecture?

    opened by 571502680 57
  • 新物体的训练

    新物体的训练

    参考#89,新物体训练我遵循以下步骤

    1. 使用OpenCV+ArUco创建真实数据集,包括Rt,mask以及rgb图像
    2. 制作模型,并计算farthers.txt
    3. 使用pvnet-rendering进行两万张训练图像的生成(fuse+render)
    4. use_fuse=True, use_render=True,进行训练
    5. 收敛到了较不错的结果
    train epoch 55 step 39665 seg 0.00299779  ver 0.00667633  precision 0.99216473  recall 0.99100238 
    train epoch 55 step 39745 seg 0.00296804  ver 0.00605389  precision 0.99079704  recall 0.99103826 
    epoch 55 training cost 353.5327022075653 s
    val epoch 55 step 55 seg 0.00161693  ver 0.00426876  precision 0.97770327  recall 0.97633207 
    epoch 55 val cost 28.301410913467407 s
    
    val epoch 56 step 56 seg 0.00160351  ver 0.00399907  precision 0.97779989  recall 0.97627330  projection_error 0.00102354  add 0.00000000  cm 0.00255885 
    epoch 56 val cost 368.35636043548584 s
    

    但实际可视化结果如图 Screenshot from 2019-10-30 18-05-19

    问题如下

    1. LINEMOD_ORIG 中的mesh.ply,oldmesh.ply,transform.dat 与 LINEMOD 中 cat.ply之间的关系?http://far.in.tum.de/Main/StefanHinterstoisser中有说,但是说的比较笼统,没有看太懂
    2. 这个transform.dat如何得到?
    3. 我自己的模型已经与cat.ply中的位姿相同,还需要做trasnform.dat的转换吗?
    4. 如何合理制定单位?不同文件中的测量单位似乎不同。

    多谢解答!

    opened by JokerShao 28
  • run data_utils.py error, libspqr.2.0.2 not found

    run data_utils.py error, libspqr.2.0.2 not found

    I found my libspqr in /usr/lib/x86_64-linux-gnu/ is 2.0.8. so I met error when running data_utils.py as follow: Traceback (most recent call last): File "lib/utils/data_utils.py", line 18, in from lib.utils.extend_utils.extend_utils import farthest_point_sampling File "/home/jiaming/pvnet/lib/utils/extend_utils/extend_utils.py", line 3, in from lib.utils.extend_utils._extend_utils import lib, ffi ImportError: libspqr.so.2.0.2: cannot open shared object file: No such file or directory Could this be solved?

    opened by sky7hate 22
  • Reproducing the results

    Reproducing the results

    Hi, pengsida

    Thank you for sharing this great work! I have a simple question about the training approach.

    When I reproducing the results, the results could be many effected by the dataset which I just doing the same method in pvnet-rendering. #78

    I tried reproducing the results and fine-tuning using the pre-trained weights. But the results are the same. There is still gap between my own training(reproducing,finetune) and pretrained results or paper results.

    • Therefore, I want to try in the same environment in your dataset which is exactly same. Is it possible??

    • And Do you have some issues about the training dataset harm the result even though the architecture was the same. I wonder your opinion.

    For example, I tested the cat in occlusion linemod

    pretrained cat (199 epoch) [projection 0.6276 / add 0.1887 / cm 0.1920] my train cat (199 epoch) [projection 0.5324 / add 0.1575 / cm 0.1145]

    opened by taeyeop-lee 20
  • Questions related to YCB-v dataset

    Questions related to YCB-v dataset

    Hi, thanks for sharing the nice code. Several questions related to YCB-v dataset:

    1. How can i modify the code to train and evaluate on YCB-v dataset? Would you release the scripts and pretrained models for YCB-v dataset?
    2. How many additional sythetic images did you use for training apart from those provided in YCB-v datatet

    The link to pretrained models on LINEMOD seems to be broken.

    Thank you.

    opened by pipme 20
  •  python build_extend_utils_cffi.py Error

    python build_extend_utils_cffi.py Error

    my gcc version is 5.4.0 and I revise the cuda_include and dart in build_extend_utils_cffi.py to be compatible with my CUDA in my computer.

    and the error is: leviathan@leviathan-1080ti:~/PycharmProjects/pvnet/lib/utils/extend_utils$ python build_extend_utils_cffi.py In file included from ./include/ceres/internal/autodiff.h:147:0, from ./include/ceres/autodiff_cost_function.h:133, from ./include/ceres/ceres.h:37, from src/uncertainty_pnp.cpp:3: ./include/ceres/internal/fixed_array.h:38:26: fatal error: glog/logging.h: No such file or directory compilation terminated. generating ./_extend_utils.c (already up-to-date) the current directory is '/home/leviathan/PycharmProjects/pvnet/lib/utils/extend_utils' running build_ext building '_extend_utils' extension gcc -pthread -B /home/leviathan/anaconda3/envs/torch0.4/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/leviathan/anaconda3/envs/torch0.4/include/python3.6m -c _extend_utils.c -o ./_extend_utils.o gcc -pthread -shared -B /home/leviathan/anaconda3/envs/torch0.4/compiler_compat -L/home/leviathan/anaconda3/envs/torch0.4/lib -Wl,-rpath=/home/leviathan/anaconda3/envs/torch0.4/lib -Wl,--no-as-needed -Wl,--sysroot=/ ./_extend_utils.o src/mesh_rasterization.cpp.o src/farthest_point_sampling.cpp.o src/uncertainty_pnp.cpp.o src/nearest_neighborhood.cu.o ./lib/libceres.so ./lib/libglog.so /usr/local/cuda-9.0/lib64/libcudart.so -lstdc++ -o ./_extend_utils.cpython-36m-x86_64-linux-gnu.so gcc: error: src/uncertainty_pnp.cpp.o: No such file or directory Traceback (most recent call last): File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/unixccompiler.py", line 197, in link self.spawn(linker + ld_args) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/ccompiler.py", line 909, in spawn spawn(cmd, dry_run=self.dry_run) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/spawn.py", line 36, in spawn _spawn_posix(cmd, search_path, dry_run=dry_run) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/spawn.py", line 159, in _spawn_posix % (cmd, exit_status)) distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/site-packages/cffi/ffiplatform.py", line 51, in _build dist.run_command('build_ext') File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/command/build_ext.py", line 339, in run self.build_extensions() File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions self._build_extensions_serial() File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial self.build_extension(ext) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/command/build_ext.py", line 558, in build_extension target_lang=language) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/ccompiler.py", line 717, in link_shared_object extra_preargs, extra_postargs, build_temp, target_lang) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/distutils/unixccompiler.py", line 199, in link raise LinkError(msg) distutils.errors.LinkError: command 'gcc' failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "build_extend_utils_cffi.py", line 39, in ffibuilder.compile(verbose=True) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/site-packages/cffi/api.py", line 723, in compile compiler_verbose=verbose, debug=debug, **kwds) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/site-packages/cffi/recompiler.py", line 1526, in recompile compiler_verbose, debug) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/site-packages/cffi/ffiplatform.py", line 22, in compile outputfilename = _build(tmpdir, ext, compiler_verbose, debug) File "/home/leviathan/anaconda3/envs/torch0.4/lib/python3.6/site-packages/cffi/ffiplatform.py", line 58, in _build raise VerificationError('%s: %s' % (e.class.name, e)) cffi.VerificationError: LinkError: command 'gcc' failed with exit status 1

    opened by flowtcw 19
  • 在demo.py上改为视频检测

    在demo.py上改为视频检测

    思达你好,我有如下几个问题,目的:单张图片转实时视频拿小猫咪测试显示预测框。

    1.请问tools/demo.py的demo()中如下这一行: seg_pred, vertex_pred, loss_seg, loss_vertex, precision, recall = net(image, mask, vertex, vertex_weights)里面的net调用的__call__和forward在哪里?因为当我删除vertex_weights的时候,结果报错缺少位置参数。 2.我看到pvnet论文中的流程,输入img,经过resnet和上采样,求解出seg_pred, vertex_pred,这个过程在视频测试的时候,我得到实时的每一帧图片,还需要每一帧分割的mask.png? 3.相机的内置矩阵我是需要使用自己摄像头用标定板验证得到么? 4.LINEMOD数据集每个object里面都有一个corners.txt作为验证使用到的cls(cat)_bb8_3d.txt,里面是bounding box的8个坐标点,那这个corners.txt怎么得来的?

    问题有点多,期待您的回复,感谢呀!

    opened by emojiLee 15
  • LinkError: command 'gcc' failed with exit status 1

    LinkError: command 'gcc' failed with exit status 1

    (zhangjun) yanglu@yanglu:~/zhangjun/pvnet/lib/utils/extend_utils$ python build_extend_utils_cffi.py generating ./_extend_utils.c (already up-to-date) the current directory is '/home/yanglu/zhangjun/pvnet/lib/utils/extend_utils' running build_ext building '_extend_utils' extension gcc -pthread -B /home/yanglu/anaconda3/envs/zhangjun/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/yanglu/anaconda3/envs/zhangjun/include/python3.6m -c _extend_utils.c -o ./_extend_utils.o gcc -pthread -shared -B /home/yanglu/anaconda3/envs/zhangjun/compiler_compat -L/home/yanglu/anaconda3/envs/zhangjun/lib -Wl,-rpath=/home/yanglu/anaconda3/envs/zhangjun/lib -Wl,--no-as-needed -Wl,--sysroot=/ ./_extend_utils.o src/mesh_rasterization.cpp.o src/farthest_point_sampling.cpp.o src/uncertainty_pnp.cpp.o src/nearest_neighborhood.cu.o ./lib/libceres.so ./lib/libglog.so /usr/local/cuda-8.0/lib64/libcudart.so -lstdc++ -o ./_extend_utils.cpython-36m-x86_64-linux-gnu.so gcc: error: /usr/local/cuda-8.0/lib64/libcudart.so: No such file or directory Traceback (most recent call last): File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/unixccompiler.py", line 197, in link self.spawn(linker + ld_args) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/ccompiler.py", line 909, in spawn spawn(cmd, dry_run=self.dry_run) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/spawn.py", line 36, in spawn _spawn_posix(cmd, search_path, dry_run=dry_run) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/spawn.py", line 159, in _spawn_posix % (cmd, exit_status)) distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/site-packages/cffi/ffiplatform.py", line 51, in _build dist.run_command('build_ext') File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/command/build_ext.py", line 339, in run self.build_extensions() File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions self._build_extensions_serial() File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial self.build_extension(ext) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/command/build_ext.py", line 558, in build_extension target_lang=language) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/ccompiler.py", line 717, in link_shared_object extra_preargs, extra_postargs, build_temp, target_lang) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/distutils/unixccompiler.py", line 199, in link raise LinkError(msg) distutils.errors.LinkError: command 'gcc' failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "build_extend_utils_cffi.py", line 39, in ffibuilder.compile(verbose=True) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/site-packages/cffi/api.py", line 697, in compile compiler_verbose=verbose, debug=debug, **kwds) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/site-packages/cffi/recompiler.py", line 1520, in recompile compiler_verbose, debug) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/site-packages/cffi/ffiplatform.py", line 22, in compile outputfilename = _build(tmpdir, ext, compiler_verbose, debug) File "/home/yanglu/anaconda3/envs/zhangjun/lib/python3.6/site-packages/cffi/ffiplatform.py", line 58, in _build raise VerificationError('%s: %s' % (e.class.name, e)) cffi.error.VerificationError: LinkError: command 'gcc' failed with exit status 1

    opened by flowtcw 15
  • add path

    add path

    @pengsida , I am sorry for raising this issue again, but I really cannot figure it out. the problem is that when I run this "python3 lib/utils/data_utils.py", I get the error output as following even I have already done this "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lee/Desktop/Research_Code/pvnet/lib/utils/extend_utils/lib". Have I done something wrong?, or something else have to be run? Thank you.

    File "lib/utils/data_utils.py", line 18, in from lib.utils.extend_utils.extend_utils import farthest_point_sampling File "/home/lee/Desktop/Research_Code/pvnet/lib/utils/extend_utils/extend_utils.py", line 3, in from lib.utils.extend_utils._extend_utils import lib, ffi ImportError: No module named 'lib.utils.extend_utils._extend_utils'

    opened by AingLee 13
  • how to train like pretrained models?

    how to train like pretrained models?

    Hi, pengsida

    Thank you for sharing this great work! I have a simple question about pretrained models.

    There is some difference between pretrained model for demo ("cat_199.pth") and my own training model. I think the difference is the making the synthetic data parts (pvnet-rendering).

    [cat_pretrained(demo)_199] val epoch 200 step 200 seg 0.00221293 ver 0.00179207 precision 0.95590049 recall 0.95489734 projection_error 0.99700599 add 0.78343313 cm 0.98303393 epoch 200 val cost 121.78796076774597 s occ_val epoch 200 step 200 seg 0.00420556 ver 0.02362387 precision 0.85987866 recall 0.78237575 projection_error 0.63016007 add 0.19123842 cm 0.18871104 epoch 200 occ_val cost 139.08751440048218 s

    [cat_my_own_train_199] val epoch 200 step 200 seg 0.00263701 ver 0.00421255 precision 0.94197798 recall 0.95716393 projection_error 0.98003992 add 0.50299401 cm 0.78942116 epoch 200 val cost 241.18241786956787 s occ_val epoch 200 step 200 seg 0.00740673 ver 0.09852491 precision 0.88890141 recall 0.61555624 projection_error 0.33024431 add 0.05139006 cm 0.03959562 epoch 200 occ_val cost 259.331654548645 s

    Did I do something wrong?

    Thanks.

    opened by taeyeop-lee 13
  • Error building build_extend_utils_cffi.py

    Error building build_extend_utils_cffi.py

    Hi,

    Thanks for sharing your great work.

    When I run the python script build_extend_utils_cffi.py, the error is :

    python build_extend_utils_cffi.py generating ./_extend_utils.c (already up-to-date) the current directory is '/root/Project/Image-based_Cabinet_Modeling/pvnet/lib/utils/extend_utils' running build_ext building '_extend_utils' extension gcc -pthread -B /root/anaconda2/envs/image_cabinet/compiler_compat -Wl,--sysroot=/ -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/root/anaconda2/envs/image_cabinet/include/python2.7 -c _extend_utils.c -o ./_extend_utils.o gcc -pthread -shared -B /root/anaconda2/envs/image_cabinet/compiler_compat -L/root/anaconda2/envs/image_cabinet/lib -Wl,-rpath=/root/anaconda2/envs/image_cabinet/lib -Wl,--no-as-needed -Wl,--sysroot=/ ./_extend_utils.o src/mesh_rasterization.cpp.o src/farthest_point_sampling.cpp.o src/uncertainty_pnp.cpp.o src/nearest_neighborhood.cu.o ./lib/libceres.so ./lib/libglog.so /usr/local/cuda-9.0/lib64/libcudart.so -L/root/anaconda2/envs/image_cabinet/lib -lstdc++ -lpython2.7 -o ./_extend_utils.so /root/anaconda2/envs/image_cabinet/compiler_compat/ld:./lib/libceres.so: file format not recognized; treating as linker script /root/anaconda2/envs/image_cabinet/compiler_compat/ld:./lib/libceres.so:0: syntax error collect2: error: ld returned 1 exit status Traceback (most recent call last): File "build_extend_utils_cffi.py", line 41, in ffibuilder.compile(verbose=True) File "/root/anaconda2/envs/image_cabinet/lib/python2.7/site-packages/cffi/api.py", line 697, in compile compiler_verbose=verbose, debug=debug, **kwds) File "/root/anaconda2/envs/image_cabinet/lib/python2.7/site-packages/cffi/recompiler.py", line 1520, in recompile compiler_verbose, debug) File "/root/anaconda2/envs/image_cabinet/lib/python2.7/site-packages/cffi/ffiplatform.py", line 22, in compile outputfilename = _build(tmpdir, ext, compiler_verbose, debug) File "/root/anaconda2/envs/image_cabinet/lib/python2.7/site-packages/cffi/ffiplatform.py", line 58, in _build raise VerificationError('%s: %s' % (e.class.name, e)) cffi.error.VerificationError: LinkError: command 'gcc' failed with exit status 1

    Are there any suggestions about that? My environment is Ubuntu 16.04+gcc 5.4.0+cuda 9.0.

    Thanks again.

    opened by Hao-HUST 12
  • Bump setuptools from 39.1.0 to 65.5.1

    Bump setuptools from 39.1.0 to 65.5.1

    Bumps setuptools from 39.1.0 to 65.5.1.

    Release notes

    Sourced from setuptools's releases.

    v65.5.1

    No release notes provided.

    v65.5.0

    No release notes provided.

    v65.4.1

    No release notes provided.

    v65.4.0

    No release notes provided.

    v65.3.0

    No release notes provided.

    v65.2.0

    No release notes provided.

    v65.1.1

    No release notes provided.

    v65.1.0

    No release notes provided.

    v65.0.2

    No release notes provided.

    v65.0.1

    No release notes provided.

    v65.0.0

    No release notes provided.

    v64.0.3

    No release notes provided.

    v64.0.2

    No release notes provided.

    v64.0.1

    No release notes provided.

    v64.0.0

    No release notes provided.

    v63.4.3

    No release notes provided.

    v63.4.2

    No release notes provided.

    ... (truncated)

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    • #3613: Fixed encoding errors in expand.StaticModule when system default encoding doesn't match expectations for source files.
    • #3617: Merge with pypa/distutils@6852b20 including fix for pypa/distutils#181.

    v65.4.0

    Changes ^^^^^^^

    v65.3.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • A little tip to author

    A little tip to author

    Dear authors, First thanks for opening up the source code. Recently, I'm try to run the code, but I miss a problem when I'm preparing the linemod data. For example, when I tried to prepared cam data and run python run.py --type linemod cls_type cam in cmd. But there was an error: data/linemod/cam/test_occlusion.txt not found.

    Since there is no cam data in the lm-o dataset, it is impossible to test on the lm-o dataset, so you do not need to run this command for the cam data.

    The author can post this tip on github, which might help researchers with this problem.


    简单来说,在数据集准备阶段,对于lm-o数据集中没有的数据,不需要运行python run.py --type linemod cls_type cls这行代码,因为这是为test准备的,而test是在lm-o数据集上进行的。以cam数据为例,lm中有,但lm-o中没有,所以你运行python run.py --type linemod cls_type cam肯定会报错。

    opened by sdu-huanhq 0
  • ImportError: libspqr.so.2.0.2: cannot open shared object file: No such file or directory

    ImportError: libspqr.so.2.0.2: cannot open shared object file: No such file or directory

    I have successfully run build_extend_utils_cffi.py, the result as shown below: Screenshot from 2022-08-25 20-46-00

    And also run export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/pvnet/lib/utils/extend_utils/lib (I've modified the path), checked by runnung echo $LD_LIBRARY_PATH image

    But when I run python tools/demo.py, still got the error: image

    Here are files under lib folder: image

    Could someone help me solve this ? Thank you! ubuntu version: 18.04 gcc version: 7.5.0 cuda version: 10.2 pytorch version: 1.5

    opened by sean6585 5
  • demo运行问题

    demo运行问题

    您好,冒昧打扰,新手复现,根据README一步一步实现,运行demo.py时遇到了一个问题,卡了好几天未解决:

    from lib.utils.extend_utils._extend_utils import lib, ffi ImportError: libceres.so.2: cannot open shared object file: No such file or directory

    根据您的其他回答逐个排查: 已经设置好了 LD_LIDBRARY_PATH image

    lib/utils/extend_utils/lib下也有相关的文件 image

    GCC版本降到了5.5.0

    十分感谢!

    opened by plainzzj 1
Owner
ZJU3DV
ZJU3DV is a research group of State Key Lab of CAD&CG, Zhejiang University. We focus on the research of 3D computer vision, SLAM and AR.
ZJU3DV
This Repo is the official CUDA implementation of ICCV 2019 Oral paper for CARAFE: Content-Aware ReAssembly of FEatures

Introduction This Repo is the official CUDA implementation of ICCV 2019 Oral paper for CARAFE: Content-Aware ReAssembly of FEatures. @inproceedings{Wa

Jiaqi Wang 42 Jan 7, 2023
A Fast and Accurate One-Stage Approach to Visual Grounding, ICCV 2019 (Oral)

One-Stage Visual Grounding ***** New: Our recent work on One-stage VG is available at ReSC.***** A Fast and Accurate One-Stage Approach to Visual Grou

Zhengyuan Yang 118 Dec 5, 2022
The source code of CVPR 2019 paper "Deep Exemplar-based Video Colorization".

Deep Exemplar-based Video Colorization (Pytorch Implementation) Paper | Pretrained Model | Youtube video ?? | Colab demo Deep Exemplar-based Video Col

Bo Zhang 253 Dec 27, 2022
Code release for Universal Domain Adaptation(CVPR 2019)

Universal Domain Adaptation Code release for Universal Domain Adaptation(CVPR 2019) Requirements python 3.6+ PyTorch 1.0 pip install -r requirements.t

THUML @ Tsinghua University 229 Dec 23, 2022
Code for "NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video", CVPR 2021 oral

NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video Project Page | Paper NeuralRecon: Real-Time Coherent 3D Reconstruction from Mon

ZJU3DV 1.4k Dec 30, 2022
Code for "Single-view robot pose and joint angle estimation via render & compare", CVPR 2021 (Oral).

Single-view robot pose and joint angle estimation via render & compare Yann Labbé, Justin Carpentier, Mathieu Aubry, Josef Sivic CVPR: Conference on C

Yann Labbé 51 Oct 14, 2022
Official code for "End-to-End Optimization of Scene Layout" -- including VAE, Diff Render, SPADE for colorization (CVPR 2020 Oral)

End-to-End Optimization of Scene Layout Code release for: End-to-End Optimization of Scene Layout CVPR 2020 (Oral) Project site, Bibtex For help conta

Andrew Luo 41 Dec 9, 2022
Code for CVPR 2021 oral paper "Exploring Data-Efficient 3D Scene Understanding with Contrastive Scene Contexts"

Exploring Data-Efficient 3D Scene Understanding with Contrastive Scene Contexts The rapid progress in 3D scene understanding has come with growing dem

Facebook Research 182 Dec 30, 2022
Code for "Reconstructing 3D Human Pose by Watching Humans in the Mirror", CVPR 2021 oral

Reconstructing 3D Human Pose by Watching Humans in the Mirror Qi Fang*, Qing Shuai*, Junting Dong, Hujun Bao, Xiaowei Zhou CVPR 2021 Oral The videos a

ZJU3DV 178 Dec 13, 2022
This is the code for CVPR 2021 oral paper: Jigsaw Clustering for Unsupervised Visual Representation Learning

JigsawClustering Jigsaw Clustering for Unsupervised Visual Representation Learning Pengguang Chen, Shu Liu, Jiaya Jia Introduction This project provid

DV Lab 73 Sep 18, 2022
Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

Realtime Multi-Person Pose Estimation By Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh. Introduction Code repo for winning 2016 MSCOCO Keypoints Cha

Zhe Cao 4.9k Dec 31, 2022
Official code for the CVPR 2022 (oral) paper "Extracting Triangular 3D Models, Materials, and Lighting From Images".

nvdiffrec Joint optimization of topology, materials and lighting from multi-view image observations as described in the paper Extracting Triangular 3D

NVIDIA Research Projects 1.4k Jan 1, 2023
Code for "Neural 3D Scene Reconstruction with the Manhattan-world Assumption" CVPR 2022 Oral

News 05/10/2022 To make the comparison on ScanNet easier, we provide all quantitative and qualitative results of baselines here, including COLMAP, COL

ZJU3DV 365 Dec 30, 2022
The Pytorch code of "Joint Distribution Matters: Deep Brownian Distance Covariance for Few-Shot Classification", CVPR 2022 (Oral).

DeepBDC for few-shot learning        Introduction In this repo, we provide the implementation of the following paper: "Joint Distribution Matters: Dee

FeiLong 116 Dec 19, 2022
An official implementation of "SFNet: Learning Object-aware Semantic Correspondence" (CVPR 2019, TPAMI 2020) in PyTorch.

PyTorch implementation of SFNet This is the implementation of the paper "SFNet: Learning Object-aware Semantic Correspondence". For more information,

CV Lab @ Yonsei University 87 Dec 30, 2022
《Single Image Reflection Removal Beyond Linearity》(CVPR 2019)

Single-Image-Reflection-Removal-Beyond-Linearity Paper Single Image Reflection Removal Beyond Linearity. Qiang Wen, Yinjie Tan, Jing Qin, Wenxi Liu, G

Qiang Wen 51 Jun 24, 2022
STEAL - Learning Semantic Boundaries from Noisy Annotations (CVPR 2019)

STEAL This is the official inference code for: Devil Is in the Edges: Learning Semantic Boundaries from Noisy Annotations David Acuna, Amlan Kar, Sanj

null 469 Dec 26, 2022
Adaptive Pyramid Context Network for Semantic Segmentation (APCNet CVPR'2019)

Adaptive Pyramid Context Network for Semantic Segmentation (APCNet CVPR'2019) Introduction Official implementation of Adaptive Pyramid Context Network

null 21 Nov 9, 2022
Learning Correspondence from the Cycle-consistency of Time (CVPR 2019)

TimeCycle Code for Learning Correspondence from the Cycle-consistency of Time (CVPR 2019, Oral). The code is developed based on the PyTorch framework,

Xiaolong Wang 706 Nov 29, 2022