Coder Social home page Coder Social logo

hongwenzhang / pymaf-x Goto Github PK

View Code? Open in Web Editor NEW
187.0 8.0 27.0 7.3 MB

[TPAMI 2023] PyMAF-X: Towards Well-aligned Full-body Model Regression from Monocular Images

Home Page: https://www.liuyebin.com/pymaf-x

License: Other

Python 99.94% Shell 0.06%
smplx full-body-motion-capture monocular-human-mesh-recovery human-mesh-recovery full-body-mesh-recovery

pymaf-x's Introduction

🚩 [Update] The face part of PyMAF-X has been updated. See face-only evaluation results on the NoW benchmark.

PyMAF-X: Towards Well-aligned Full-body Model Regression from Monocular Images

Hongwen Zhang · Yating Tian · Yuxiang Zhang · Mengcheng Li · Liang An · Zhenan Sun · Yebin Liu

TPAMI 2023


Frame by frame reconstruction. Video clipped from here.

Reconstruction result on a COCO validation image.
Click Here for More Results

Installation

  • Python 3.8
conda create --no-default-packages -n pymafx python=3.8
conda activate pymafx

packages

conda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=11.1 -c pytorch -c conda-forge
pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"
  • other packages listed in requirements.txt
pip install -r requirements.txt

necessary files

smpl_downsampling.npz & mano_downsampling.npz

  • Run the following script to fetch necessary files.
bash fetch_data.sh

SMPL & SMPL-X model files

  • Collect SMPL/MANO/FLAME/SMPL-X model files. Rename model files and put them into the ./data/smpl directory.

Download the partial_mesh files and put it into the ./data/partial_mesh directory.

Download the pre-trained model and put it into the ./data/pretrained_model directory.

After collecting the above necessary files, the directory structure of ./data is expected as follows.

./data
├── J_regressor_extra.npy
├── smpl_mean_params.npz
├── smpl_downsampling.npz
├── mano_downsampling.npz
├── flame_downsampling.npy
├── partial_mesh
│   └── ***_vids.npz
├── pretrained_model
│   └── PyMAF-X_model_checkpoint_v1.1.pt
└── smpl
    ├── FLAME2020
    │   ├── FLAME_NEUTRAL.pkl
    │   ├── flame_dynamic_embedding.npy
    │   └── flame_static_embedding.pkl
    ├── MANO_RIGHT.pkl
    ├── SMPLX_NEUTRAL_2020.npz
    ├── SMPL_NEUTRAL.pkl
    └── model_transfer
        ├── MANO_SMPLX_vertex_ids.pkl
        ├── SMPL-X__FLAME_vertex_ids.npy
        └── smplx_to_smpl.pkl

Demo

You can first give it a try on Google Colab using the notebook we have prepared, which is no need to prepare the environment yourself: Open In Colab

Run the demo code.

For image folder input:

python -m apps.demo_smplx --image_folder examples/coco_images --detection_threshold 0.3 --pretrained_model data/pretrained_model/PyMAF-X_model_checkpoint_v1.1.pt --misc TRAIN.BHF_MODE full_body MODEL.PyMAF.HAND_VIS_TH 0.1

For video input:

python -m apps.demo_smplx --vid_file examples/dancer_short.mp4 --pretrained_model data/pretrained_model/PyMAF-X_model_checkpoint_v1.1.pt --misc TRAIN.BHF_MODE full_body MODEL.PyMAF.HAND_VIS_TH 0.1

Results will be saved at ./output. You can set different hyperparamters in the scripts, e.g., --detection_threshold for the person detection threshold and MODEL.PyMAF.HAND_VIS_TH for the hand visibility threshold.

Training

To perform training, we need to collect preprocessed files of training datasets first. The pseudo SMPL-X labels (with keys of 'xpose'/'xshape') can be downloaded at here. Please also refer to PyMAF for more details about training. Example usage:

python -m apps.train --regressor pymaf_net --train_data h36m_coco_itw --eval_every 10 --save_every 20 --train_data h36m_coco_itw --misc TRAIN.BATCH_SIZE 64 MODEL.PyMAF.AUX_SUPV_ON True MODEL.PyMAF.TRANS.USE_ATT True MODEL.PyMAF.TRANS.ATT_HEAD 1 MODEL.PyMAF.TRANS.ATT_FEAT_IDX 2 MODEL.MESH_MODEL smplx TRAIN.USE_EFT True MODEL.PyMAF.USE_CAM_FEAT True LOSS.SHAPE_W 0.6 MODEL.PyMAF.BACKBONE res50 POSE_RES_MODEL.PRETR_SET coco

Citation

If this work is helpful in your research, please cite the following papers.

@article{pymafx2023,
  title={PyMAF-X: Towards Well-aligned Full-body Model Regression from Monocular Images},
  author={Zhang, Hongwen and Tian, Yating and Zhang, Yuxiang and Li, Mengcheng and An, Liang and Sun, Zhenan and Liu, Yebin},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2023}
}

@inproceedings{pymaf2021,
  title={PyMAF: 3D Human Pose and Shape Regression with Pyramidal Mesh Alignment Feedback Loop},
  author={Zhang, Hongwen and Tian, Yating and Zhou, Xinchi and Ouyang, Wanli and Liu, Yebin and Wang, Limin and Sun, Zhenan},
  booktitle={Proceedings of the IEEE International Conference on Computer Vision},
  year={2021}
}

Acknowledgments

Part of the code is borrowed from the following projects, including DaNet, SPIN, VIBE, SPEC, MeshGraphormer, PIFu, DensePose, HMR, HRNet, pose_resnet. Many thanks to their contributions.

pymaf-x's People

Contributors

hongwenzhang avatar tdelort avatar tinatiansjz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pymaf-x's Issues

Training process (and congrats TPAMI accepting)

First of all, congrats accept TPAMI your great work.
I want to training your network from sketch for research purpose but there is no training precedure or details in your README.md.
If you don't mind, can you guide how to train your network from sketch?

Thank you for your time and help.

questions about animation

Hey,

Thanks for the great work.
I want to use the output of the model to animate the 3D model in maya .
for each bone point, it accept 9 values such as : translation, rotation and scaling in the xyz direction.
How to convert the output of the this model into the above form?

Regressing Hand Parameters only

First, thank you for the great work and making it open source!

I want to regress solely hand shape, pose from video (translation and root orientation included). What should my running configuration be? I inspected the code but could not found.

Regards.

How to save mesh without background?

When I add the command(--empty_bg), I get the following error:
Traceback (most recent call last):
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/xu/PyMAF/apps/demo_smplx.py", line 605, in
run_demo(args)
File "/home/xu/PyMAF/apps/demo_smplx.py", line 457, in run_demo
img, empty_img = renderer(
ValueError: too many values to unpack (expected 2)

In addition, when I add the incomplete original image of the human body, the following error occurs, how should I solve it.

Traceback (most recent call last):
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/xu/PyMAF/apps/demo_smplx.py", line 605, in
run_demo(args)
File "/home/xu/PyMAF/apps/demo_smplx.py", line 308, in run_demo
for batch in tqdm(dataloader):
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/tqdm/std.py", line 1178, in iter
for obj in iterable:
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in next
data = self._next_data()
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data
return self._process_data(data)
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
data.reraise()
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/_utils.py", line 425, in reraise
raise self.exc_type(msg)
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/xu/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/xu/PyMAF/datasets/inference.py", line 291, in getitem
img_part, _, crop_shape = self.rgb_processing(img_orig, center_part, scale_part, [constants.IMG_RES, constants.IMG_RES])
File "/home/xu/PyMAF/datasets/inference.py", line 124, in rgb_processing
crop_img_resized, crop_img, crop_shape = crop(rgb_img, center, scale, res, rot=rot)
File "/home/xu/PyMAF/utils/imutils.py", line 89, in crop
new_img[new_y[0]:new_y[1], new_x[0]:new_x[1]] = img[old_y[0]:old_y[1],
ValueError: could not broadcast input array from shape (7,63,3) into shape (7,0,3)

How to read smplx_params output by smplx.SMPLX?

After running the demo example, i got smplx_params from pickle file, while their tensor shape like this:
image
How can i use SMPLX model to read these params, its parmas' shapes are different from the SMPLX params i used before. The poses params has one more dimension with 3. Can i convert the smplx params to the way that can be accepted by SMPLX model?
The params i used before is:
image

model size mismatch

when I use the v1.1 model, there exists an error:
size mismatch for align_attention.face.0.position_embeddings.weight: copying a param with shape torch.Size([1149, 64]) from checkpoint, the shape in current model is torch.Size([900, 64]).
could u give an old version model then.

Training details

Congrats on the acceptance! and thanks for the good work

It would be really helpful if you could share further training details on

  • training data and process for hand and face models
  • how to combine the hand, face and body model (It seems to be a multi-stage training from your paper description)
  • training data and process for AGORA benchmark

Thank you!

xyz offsets?

Hi, Thanks for the great work. Is there an option/operation to estimate a single xyz offset of a person's location in each image from center of the image?

Some questions about real-time 3d pose estimation.

Hi HongwenZhang,
Sorry for bother~ I now doing some pose estimation work from monocular camera using FrankMocap.
I found out that PyMAF-X now has better performance. Therefore, I want to switch the algo to PyMAF-X.
I have couple of questions:
1. Could PyMAF-X achieve same or better real-time pose-estimation speed like FrankMocap from webcam input?
2. Could you provide some speed metric about using PyMAF-X in real-time, such as fps?
I will be sincerely grateful if you could answer these questions. Thank you!

bug when saveobj

PyMAF-X-smplx/apps/demo_smplx.py",ine 453,in run_demomesh_folder = os.path.join(output_path, 'meshes', f'lperson_id:04d}')TypeError: unsupported format string passed to tuple.-format-

When using save_obj, the code should be a continuation of code that uses pymaf, but pymaf doesn't support multiple people, but pymafx does, so person_id is not a number, but a tuple that needs to be changed. Also, during the modification process, I discovered that due to img_arm, if the grid file is the same when rendered, the grid obtained by img_full will be overwritten when img_arm is rendered.

Extracting some parameters from the model

Hello there! Great work with the project.
I have some questions about the possibility of extracting some values such as the betas (blendshapes of the smplx ), the position vector and rotation of each joint and the rotation and position of the camera. If it's possible, how can this be done?
Thanks for your help!

Joint pose

Hi! I'm facing some problems when trying to replicate the pose of the joints in Unity. First of all I extract the pose from the script demo_smplx.py, specifically in the output .pkl file as a rotmat. Then I process this data to save it in a .txt file to send it to Unity. The problem is that when I apply this to the SMPL-X in Unity the pose for each joint don't make the same moves as in the rendered video. Specifically the rotation arround z-axis has some radical changes in the position. Just as shown in this image.
graficos_pose
Am I applying the wrong pose to the pelvis?
Thanks for your help!

Training procedure too slow

Hi, thanks for the excellent work! But I have a question about training the model.
I try to flow the instruction and PyMAF's trainging guide to reimplement PyMAF-X' s training, but got to find the training procedure is very slow.
Some paras are as below:

NUM_WORKERS: 8
BAYCH_SIZE: 32

Ubder this circumanstence, the sigle epoch will take 90 mins
I didn't change any other parameters yet, I wonder I missed somthing or this procedure is just really slow.
The GPU I use for training is RTX4090, training on pose_resnet pretrained model and the base dataset is h36m-p2

USE_IWP_CAM:False, some error

When I set USE_IWP_CAM to be False,:

/PyMAF-X/utils/geometry.py", line 401, in projection bbox_scale, bbox_center = pred_camera['bbox_scale'], pred_camera['bbox_center'] KeyError: 'bbox_scale'

get the key error, pred_camera only have key {sxyz}

About body_pose

Hi! I have a question about the body pose that gives the model as an output. This body pose is an angle per each joint or what is the structure of this information?

Flame downsampling

Hi, thanks for the good work! I can't seem to find the link to download flame_downsampling.npz needed to run the demo. Do you mind sharing the link?

How to load the hand poses into the blender SMPLX add-on correctly?

Hi, thanks for your great work. I tried your codes and it works well on body pose, expression and the general shape!
However I still got some questions regarding the hand poses and the possible missed use parameters.

I tried to revise the generated '.pkl' file from the PYMAFX to make it aligned to be loaded into the SMPLX blender add on. (The reference dataset I used is AGORA sample data, which can be easily loaded into SMPLX blender add on.)
As you adviced in the previous issue that selecting 21 bones from 24 SMPL bones, I selected 63 from the 72 body poses. However, not like the 'body_pose', hand poses are stored in the key 'smplx_params' and they have different shapes than the SMPLX blender adds on requires.
I tried to convert the hand pose with shape torch.Size([1, 15, 3, 3]) to shape (1,45) by the method of converting rotation matrix to euler angle but it didn't work. The fingers of the mesh often keeps holding as fist and don't move well enough.
So far I have added 9 parameters in my pkl file, which are 'body_pose', 'betas', 'global_trans', 'left_hand_pose', right_hand_pose', 'jaw_pose', 'leye_pose', 'reye_pose' and 'expression'. Could you give me a hint that which parameters are possibly missed here?

Evaluation for provided pretrained model

Dear authors,

Thanks for the great work! I have two questions:

  1. For the pretrained checkpoint provided PyMAF-X_model_checkpoint.pt, what are the errors (PA-MPJPE, PA-PVE) per body part? Are they the same as the ones reported in your paper?

  2. Would you be able to provide the evaluation codes?

Thanks!

Extremely unstable wrist rotation

Hey,

Great appreciation for your work first!

I followed the instruction but came up with some strange results on hand poses. Is there anything I was missing?

The command I ran is:
python -m apps.demo_smplx --vid_file video/hands-test.webm --pretrained_model data/pretrained_model/PyMAF-X_model_checkpoint.pt --misc TRAIN.BHF_MODE full_body MODEL.EVAL_MODE True MODEL.PyMAF.HAND_VIS_TH 0.1

And a demo results:
https://user-images.githubusercontent.com/80388134/199451658-d03a046b-c22f-42f7-b694-864ca2913a96.mp4

ValueError: could not broadcast input array

Thank you for sharing the code base. However, I have tried folders of images or videos but they all raise weird ValueError: could not broadcast input array from shape (N,M,3) into shape (N,0,3).

According to the error message, I've already checked that new_img[new_y[0]:new_y[1], new_x[0]:new_x[1]] and img[old_y[0]:old_y[1], old_x[0]:old_x[1]] are of the same shape. It would be very much appreciated if anyone can provide me with any idea why this error is happening. Thank you!

Running reconstruction on each tracklet...                                                                                                 
  0%|                                                                                                               | 0/42 [00:00<?, ?it/s]
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)                                           
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)
/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at  /opt/conda/conda-bld/pytorch_1623448278899/work/c10/core/TensorImpl.h:1156.)
  return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
 29%|█████████████████████████████▏                                                                        | 12/42 [00:15<00:38,  1.29s/it]
Traceback (most recent call last): 
  File "/root/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/root/anaconda3/envs/pymafx/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Documents/PyMAF-X/apps/demo_smplx.py", line 604, in <module> 
    run_demo(args)
  File "/Documents/PyMAF-X/apps/demo_smplx.py", line 308, in run_demo 
    for batch in tqdm(dataloader): 
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/tqdm/std.py", line 1178, in __iter__
    for obj in iterable:
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in __next__
    data = self._next_data()
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1183, in _next_data
    return self._process_data(data)
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
    data.reraise()
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/_utils.py", line 425, in reraise
    raise self.exc_type(msg)
ValueError: Caught ValueError in DataLoader worker process 12.
Original Traceback (most recent call last):
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/root/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/Documents/PyMAF-X/datasets/inference.py", line 291, in __getitem__
    img_part, _, crop_shape = self.rgb_processing(img_orig, center_part, scale_part, [constants.IMG_RES, constants.IMG_RES])
  File "/Documents/PyMAF-X/datasets/inference.py", line 124, in rgb_processing
    crop_img_resized, crop_img, crop_shape = crop(rgb_img, center, scale, res, rot=rot)
  File "/Documents/PyMAF-X/utils/imutils.py", line 89, in crop
    new_img[new_y[0]:new_y[1], new_x[0]:new_x[1]] = img[old_y[0]:old_y[1],
ValueError: could not broadcast input array from shape (24,1917,3) into shape (24,0,3)

I ran into this problem when running a demo with my own video

ValueError: Caught ValueError in DataLoader worker process 2.Original Traceback (most recent call last):
File"/home/tia/anaconda3/envs/pymafx/tib/python3.8/site-packageline 287,in _worker_loopdata = fetcher .fetch(index)_utils/fetch.py", line 44,in fetchFile "/home/tia/anaconda3/envs/pymafx/lib/python3.8/site-packagesdata = [self.datasetlidx] for idx in possibly_batched indexFile "/home/lia/anaconda3/envs/pymafx/lib/python3.8/site-packages/torch/utils/data/utils/fetch.py", line 44, in <listcomp3data = [self.dataset[idx] for idx in possiblybatched index]File "/home/lia/projects/PyMAF-X-smplx/datasets/inference.py", line 291,in --getitem-img_part, -, crop_shape = self.rg-processing(img_orig, center_part, scale_part, [constants.IM6_RES, constants.IM6_RESJ)File "/home/lia/projects/PyMAF-X-smplx/datasets/inference.py", line 124, in rgb_processingcrop_img_resized, crop_img, crop_shape = crop(rgb_img, center, scale, res, rot=rot)File"/home/lia/projects/PyMAF-X-smplx/utils/imutils.py",line 89,in cropnew_img[new_y[o]:new_y[1],new_x[o]:new_x[1]] = img[old_y[o]:old_y[1l,ValueError: could not broadcast input array from shape (12,358,3) into shape (12,0,3)

About the training stage to reimplement the reported results on 3dpw dataset

I tried to write the training method by myself. However, i couldn't reproduce the results on 3dpw. Could you explain the training methods more detail? I tried to train the pymaf-x with the coco and itew provided in pymaf as reported in PARE, but after 15w
step the results is not as well as reported in paper. Should i train the model with any other steps?

Problem with output video

Hello, I'm facing some problems when running the project with the output videos. The resultant video doesn't appear in the output folder and the following error appear in the console.

Running reconstruction on each tracklet...
100%|██████████████████████████████████████████████████████| 56/56 [00:27<00:00, 2.03it/s]
Total time spent for reconstruction: 277.49 seconds (including model loading time).
Saving output results to "output/input/output.pkl".
WARNING: You are using a SMPL model, with only 10 shape coefficients.
WARNING: You are using a MANO model, with only 10 shape coefficients.
Rendering results, writing frames to output/input/input_mp4_output
100%|████████████████████████████████████████████████████| 453/453 [07:13<00:00, 1.04it/s]
Saving result video to output/input/input_result.mp4
Running "ffmpeg -y -threads 16 -i output/input/input_mp4_output/%06d.png -profile:v baseline -level 3.0 -c:v libx264 -pix_fmt yuv420p -an -v error output/input/input_result.mp4"
Unknown encoder 'libx264'
Running "ffmpeg -y -threads 16 -i output/input/input_mp4_output/arm/%06d.png -profile:v baseline -level 3.0 -c:v libx264 -pix_fmt yuv420p -an -v error output/input/input_result_arm.mp4"
Unknown encoder 'libx264'
Running "ffmpeg -y -threads 16 -i /home/seba/tmp/input_mp4/%06d.png -profile:v baseline -level 3.0 -c:v libx264 -pix_fmt yuv420p -an -v error output/input/input_result_raw.mp4"
Unknown encoder 'libx264'

Thanks for the help!

Evaluation code release

Hi, thanks for your excellent work. I'm wondering when you plan to release the evaluation code? This would be tremendously helpful for me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.