Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about datasat? #99

Open
Qmebius opened this issue Jul 6, 2024 · 7 comments
Open

Question about datasat? #99

Qmebius opened this issue Jul 6, 2024 · 7 comments

Comments

@Qmebius
Copy link

Qmebius commented Jul 6, 2024

I would like to ask if the dataset provides the 2D keypoints of SMPL. I have downloade but not found

@jiangwei221
Copy link

We used mmpose to detect the 2D keypoints:

# Run 2D keypoints detector(mmpose)
commands.append(f'echo ========================================')
commands.append(f'echo 6/{steps}: 2D keypoints')
commands.append(f'echo ========================================')
commands.append(f'cd {os.path.join(code_dir, "mmpose")}')
if not os.path.isdir(os.path.join(video_dir, f'{video_name}/output/keypoints')):
commands.append('conda activate open-mmlab')
commands.append(f'python demo/bottom_up_img_demo.py configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512_udp.py https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet48_coco_512x512_udp-7cad61ef_20210222.pth --img-path {os.path.join(video_dir, f"{video_name}/output/images")} --out-img-root {os.path.join(video_dir, f"{video_name}/output/keypoints")} --kpt-thr=0.3 --pose-nms-thr=0.9')
commands.append('conda deactivate')
commands.append(f'cd {code_dir}')

@Qmebius
Copy link
Author

Qmebius commented Jul 7, 2024

Thanks,I would also like to ask, the bin files provided in the dataset contain depth information, which is very sparse in the human body area. Is there any way to obtain the depth information of the human body?

@jiangwei221
Copy link

Yes, we run BoostingMonocularDepth to estimate the human depth and fuse with colmap MVS depth.

  1. BoostingMonocularDepth:
    # Monocular depth estimation
    commands.append(f'echo ========================================')
    commands.append(f'echo 7/{steps}: Monocular depth')
    commands.append(f'echo ========================================')
    commands.append(f'cd {os.path.join(code_dir, "BoostingMonocularDepth")}')
    if not os.path.exists(os.path.join(code_dir, 'BoostingMonocularDepth/pix2pix/checkpoints/mergemodel')):
    os.makedirs(os.path.join(code_dir, 'BoostingMonocularDepth/pix2pix/checkpoints/mergemodel'))
    if not os.path.isfile(os.path.join(code_dir, 'BoostingMonocularDepth/pix2pix/checkpoints/mergemodel/latest_net_G.pth')):
    commands.append(f'wget https://sfu.ca/~yagiz/CVPR21/latest_net_G.pth -O {os.path.join(code_dir, "BoostingMonocularDepth/pix2pix/checkpoints/mergemodel/latest_net_G.pth")}')
    if not os.path.isfile(os.path.join(code_dir, 'BoostingMonocularDepth/res101.pth')):
    commands.append(f'wget https://cloudstor.aarnet.edu.au/plus/s/lTIJF4vrvHCAI31/download -O res101.pth')
    if not os.path.isdir(os.path.join(video_dir, f'{video_name}/output/mono_depth')):
    commands.append('conda activate ROMP')
    commands.append(f'python run.py --Final --data_dir {os.path.join(video_dir, f"{video_name}/output/images")} --output_dir {os.path.join(video_dir, f"{video_name}/output/mono_depth")} --depthNet 2')
    commands.append('conda deactivate')
    commands.append(f'cd {code_dir}')
  2. Depth fusion:
    @property
    def fused_depth_map(self):
    if self._fused_depth_map is None:
    valid_mask = (self.depth_map > 0) & (self.mask == 0)
    x = self.mono_depth_map[valid_mask]
    y = self.depth_map[valid_mask]
    res = scipy.stats.linregress(x, y)
    self._fused_depth_map = self.depth_map.copy()
    self._fused_depth_map[~valid_mask] = self.mono_depth_map[~valid_mask] * res.slope + res.intercept
    return self._fused_depth_map

@Qmebius
Copy link
Author

Qmebius commented Jul 8, 2024

And I also want to ask how you obtain the ground truth of the camera pose, and is the 'trans' processed by alignment.py the gt value of the human body's position?

@jiangwei221
Copy link

And I also want to ask how you obtain the ground truth of the camera pose, and is the 'trans' processed by alignment.py the gt value of the human body's position?

We don't have a "ground truth camera pose" which usually requires manual annotations or extra hardwares. We use COLMAP to reconstruct the "reference camera poses".

@Qmebius
Copy link
Author

Qmebius commented Jul 9, 2024 via email

@MikeAiJF
Copy link

另外想问一下你是怎么得到相机姿态的ground truth的,还有alignment.py处理后的trans是不是人体位置的gt值呢?

我们没有“地面真实相机姿势”,这通常需要手动注释或额外的硬件。我们使用 COLMAP 来重建“参考相机姿势”。

你好,请问我应该怎么才能得到4d-humans文件下的东西

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants