thohemp / 6DRepNet360

Official Pytorch implementation of "Towards Robust and Unconstrained Full Range of Rotation Head Pose Estimation" IEEE TIP 24
MIT License
106 stars 2 forks source link

Assistance Needed for 360° Head Orientation Estimation with 6DRepNet360 #13

Open AonTitan opened 3 months ago

AonTitan commented 3 months ago

Dear thohemp,

I used your programming demo to estimate head orientation. While I was able to measure up to 180° of the front of the face, I could not achieve 360° measurements. I would like to understand why this is the case.

I based my implementation on the sixdrepnet version of 6DRepNet (one version before 360°) and incorporated elements from 6DRepNet360.

Here is what I did specifically:

  1. Added the SixDRepNet360 class (lines 25 to 84 of sixdrepnet360's test.py) to sixdrepnet's model.py.
  2. Imported the SixDRepNet360 class into sixdrepnet's demo.py.
  3. Specified the path to 6DRepNet360_Full-Rotation_300W_LP+Panoptic.pth in the default argument on line 41 (this file is the 6DRepNet360 Full Rotation model downloaded from Github's 6DRepNet360 Models).
  4. Changed the model assignment on line 65 from SixDRepNet to SixDRepNet360, using the argument (torchvision.models.resnet.Bottleneck, [3, 4, 6, 3], 6).

My virtual environment includes: ・Python >= 3.9.19 (not specified in requirements.txt) ・Matplotlib >= 3.3.4 ・Numpy >= 1.26.4 (original: 1.19.5) ・OpenCV-Python >= 4.10.0.82 (original: 4.5.5) ・Pandas >= 1.1.5 ・Pillow >= 8.4.0 ・Scipy >= 1.10.1 (original: 1.5.4) ・Torch >= 1.10.1 ・Torchvision >= 0.11.2 For those dependencies with different versions, I tried to match the specified versions, but some versions were unavailable.

Other environment details: PC Processor: AMD Ryzen 9 5900HX with Radeon Graphics 3.30 GHz OS: Windows 10 GPU: NVIDIA GeForce RTX 3080 Laptop Webcam: Brio 100 I would appreciate any guidance or suggestions on why the 360° measurement is not working and how I might resolve this issue.

Thank you for your assistance.

Best regards, AonTitan