wangsen1312 / unsupervised3dhuman

56 stars 5 forks source link

Error: from pytorch3d import _C #2

Closed jiangSeu closed 3 years ago

jiangSeu commented 3 years ago

Hi, I really appreciate your greate work!

An error occurred when i run the "generate_depth.py", how do i solve it?

: ~/unsupervised3dhuman-main$ python generate_depth.py --filename ./demo/demo_depth/shortshort_flying_eagle.000075_depth.ply --gender male Traceback (most recent call last): File "generate_depth.py", line 18, in from src.utils import index_points, farthest_point_sample File "/home/iot/PycharmProjects/unsupervised3dhuman-main/src/utils.py", line 7, in from pytorch3d import _C ImportError: libc10_cuda.so: cannot open shared object file: No such file or directory

I create an anaconda environment according your "environment.yaml", the system is ubuntu18.04 and cuda10.2

Thank you!

wangsen1312 commented 3 years ago

@jiangSeu From the importError You may use the cuda 10.0, not cuda 10.2? you can check it first.

jiangSeu commented 3 years ago

Thanks.

I check it, it is cuda 10.2

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89

wangsen1312 commented 3 years ago

@jiangSeu Could you check the pytorch3d installed OK or not? If not, try to use https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md to reinstall it?

jiangSeu commented 3 years ago

Thanks for your quick reply!

The pytorch3d installed OK.

$ python Python 3.7.6 | packaged by conda-forge | (default, Jun 1 2020, 18:46:49) [GCC 7.5.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import pytorch3d pytorch3d.version '0.4.0'

wangsen1312 commented 3 years ago

please add from pytorch3d import _C to a test file and see what's happening?

jiangSeu commented 3 years ago

Thanks.

An error occurred, and i don't know why it happend.

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

$python Python 3.7.6 | packaged by conda-forge | (default, Jun 1 2020, 18:46:49) [GCC 7.5.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import pytorch3d pytorch3d.version '0.4.0' from pytorch3d import _C Traceback (most recent call last): File "", line 1, in ImportError: libc10.so: cannot open shared object file: No such file or directory

wangsen1312 commented 3 years ago

@jiangSeu The pytroch version should also be the cuda 10.2~ You can check this first https://github.com/facebookresearch/detectron2/issues/588 . very similar issue

jiangSeu commented 3 years ago

Thanks for your reply! I will have a try according your suggestions~

jiangSeu commented 3 years ago

Hi! Thank you very much for your excellent work. I've got great human reconstruction from partial point cloud (PC data read from only one depth camera ).

However, sometimes, the reconstructed 3D human orientation is reversed, How can I solve this problem?

Thanks!

wangsen1312 commented 3 years ago

@jiangSeu Thank you for your test. The orientation problem exists in our paper due to pointcloud's probabilty. If you want to use our method as your baseline or experimental, we can use some tricky solutions.

  1. You can add 180°(1.57)rotation to Y-axis, add this under line 100 --- pred_pose[0, 1] = pred_pose[0, 1] + 1.57).unsqueeze(0).float() and get the other result. You can compare the two results to get a better one.
  2. If you use a depth sequence, you can use the orinentation result from previous frame as the initial.

That's only some suggestions. You can try them first and see the results.

jiangSeu commented 3 years ago

Thanks for your suggestions!

And can I set the orientation a constant value? In my scenario, orientation is known and constant, human towards the depth camera.

What should I add to the code? Thank you very much!

wangsen1312 commented 3 years ago
  1. In the generate_depth file add pred_pose[0, :3] = torch.Tensor([0.1,0.2,0.3]).unsqueeze(0).float() after generate_depth line100 Numbers according to your gloabla orientation.

  2. In the surfaceem file change line291 to global_orient.requires_grad = False and line293 to body_opt_params = [body_pose, betas, camera_translation] # global_orient

Hope it helps.

jiangSeu commented 3 years ago

Thank you for reply! I will have a try ~

wangsen1312 commented 3 years ago

Closing the issue due to inactivity. Feel free to reopen it if your have some other problems.