Human Pose estimation with TensorFlow framework

Overview

Human Pose Estimation with TensorFlow

Here you can find the implementation of the Human Body Pose Estimation algorithm, presented in the DeeperCut and ArtTrack papers:

Eldar Insafutdinov, Leonid Pishchulin, Bjoern Andres, Mykhaylo Andriluka and Bernt Schiele DeeperCut: A Deeper, Stronger, and Faster Multi-Person Pose Estimation Model. In European Conference on Computer Vision (ECCV), 2016

Eldar Insafutdinov, Mykhaylo Andriluka, Leonid Pishchulin, Siyu Tang, Evgeny Levinkov, Bjoern Andres and Bernt Schiele ArtTrack: Articulated Multi-person Tracking in the Wild. In Conference on Computer Vision and Pattern Recognition (CVPR), 2017

For more information visit http://pose.mpi-inf.mpg.de

Prerequisites

The implementation is in Python 3 and TensorFlow. We recommended using conda to install the dependencies. First, create a Python 3.6 environment:

conda create -n py36 python=3.6
conda activate py36

Then, install basic dependencies with conda:

conda install numpy scikit-image pillow scipy pyyaml matplotlib cython

Install TensorFlow and remaining packages with pip:

pip install tensorflow-gpu easydict munkres

When running training or prediction scripts, please make sure to set the environment variable TF_CUDNN_USE_AUTOTUNE to 0 (see this ticket for explanation).

If your machine has multiple GPUs, you can select which GPU you want to run on by setting the environment variable, eg. CUDA_VISIBLE_DEVICES=0.

Demo code

Single-Person (if there is only one person in the image)

# Download pre-trained model files
$ cd models/mpii
$ ./download_models.sh
$ cd -

# Run demo of single person pose estimation
$ TF_CUDNN_USE_AUTOTUNE=0 python3 demo/singleperson.py

Multiple People

# Compile dependencies
$ ./compile.sh

# Download pre-trained model files
$ cd models/coco
$ ./download_models.sh
$ cd -

# Run demo of multi person pose estimation
$ TF_CUDNN_USE_AUTOTUNE=0 python3 demo/demo_multiperson.py

Training models

Please follow these instructions

Citation

Please cite ArtTrack and DeeperCut in your publications if it helps your research:

@inproceedings{insafutdinov2017cvpr,
    title = {ArtTrack: Articulated Multi-person Tracking in the Wild},
    booktitle = {CVPR'17},
    url = {http://arxiv.org/abs/1612.01465},
    author = {Eldar Insafutdinov and Mykhaylo Andriluka and Leonid Pishchulin and Siyu Tang and Evgeny Levinkov and Bjoern Andres and Bernt Schiele}
}

@article{insafutdinov2016eccv,
    title = {DeeperCut: A Deeper, Stronger, and Faster Multi-Person Pose Estimation Model},
    booktitle = {ECCV'16},
    url = {http://arxiv.org/abs/1605.03170},
    author = {Eldar Insafutdinov and Leonid Pishchulin and Bjoern Andres and Mykhaylo Andriluka and Bernt Schiele}
}
Comments
  • Issue with demo - ValueError: scale cannot be an integer: False

    Issue with demo - ValueError: scale cannot be an integer: False

    I am using latest dev branch of tensorflow and getting into this issue.

    zangetsu@nunik ~/proj/pose-tensorflow $ TF_CUDNN_USE_AUTOTUNE=0 python3 demo/singleperson.py
    Traceback (most recent call last):
      File "demo/singleperson.py", line 17, in <module>
        sess, inputs, outputs = predict.setup_pose_prediction(cfg)
      File "demo/../nnet/predict.py", line 11, in setup_pose_prediction
        outputs = pose_net(cfg).test(inputs)
      File "demo/../nnet/pose_net.py", line 90, in test
        heads = self.get_net(inputs)
      File "demo/../nnet/pose_net.py", line 86, in get_net
        net, end_points = self.extract_features(inputs)
      File "demo/../nnet/pose_net.py", line 54, in extract_features
        with slim.arg_scope(resnet_v1.resnet_arg_scope(False)):
      File "/usr/lib64/python3.4/site-packages/tensorflow/contrib/slim/python/slim/nets/resnet_utils.py", line 257, in resnet_arg_scope
        weights_regularizer=regularizers.l2_regularizer(weight_decay),
      File "/usr/lib64/python3.4/site-packages/tensorflow/contrib/layers/python/layers/regularizers.py", line 92, in l2_regularizer
        raise ValueError('scale cannot be an integer: %s' % (scale,))
    ValueError: scale cannot be an integer: False
    
    

    As this is new for me I have not much idea how to resolve...

    opened by archenroot 12
  • F tensorflow/python/lib/core/bfloat16.cc:664] Check failed: PyBfloat16_Type.tp_base != nullptr      Aborted

    F tensorflow/python/lib/core/bfloat16.cc:664] Check failed: PyBfloat16_Type.tp_base != nullptr Aborted

    So when running the test.py code, I get this error:

        [jalal@goku pose-tensorflow]$ TF_CUDNN_USE_AUTOTUNE=0 python demo/demo_multiperson.py
        RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
        ImportError: numpy.core.multiarray failed to import
        ImportError: numpy.core.umath failed to import
        ImportError: numpy.core.umath failed to import
        2018-04-08 17:09:02.321666: F tensorflow/python/lib/core/bfloat16.cc:664] Check failed: PyBfloat16_Type.tp_base != nullptr 
        Aborted
    
    

    The test.py code is:

      import argparse
       import logging
       import os
    
       import numpy as np
       import scipy.io
       import scipy.ndimage
       
       from config import load_config
       from dataset.factory import create as create_dataset
       from dataset.pose_dataset import Batch
       from nnet.predict import setup_pose_prediction, extract_cnn_output, argmax_pose_predict
       from util import visualize
       
       
       def test_net(visualise, cache_scoremaps):
           logging.basicConfig(level=logging.INFO)
       
           cfg = load_config()
           dataset = create_dataset(cfg)
           dataset.set_shuffle(False)
           dataset.set_test_mode(True)
       
           sess, inputs, outputs = setup_pose_prediction(cfg)
       
           if cache_scoremaps:
               out_dir = cfg.scoremap_dir
               if not os.path.exists(out_dir):
                   os.makedirs(out_dir)
       
           num_images = dataset.num_images
           predictions = np.zeros((num_images,), dtype=np.object)
       
           for k in range(num_images):
               print('processing image {}/{}'.format(k, num_images-1))
       
               batch = dataset.next_batch()
       
               outputs_np = sess.run(outputs, feed_dict={inputs: batch[Batch.inputs]})
       
               scmap, locref, pairwise_diff = extract_cnn_output(outputs_np, cfg)
       
               pose = argmax_pose_predict(scmap, locref, cfg.stride)
       
               pose_refscale = np.copy(pose)
               pose_refscale[:, 0:2] /= cfg.global_scale
               predictions[k] = pose_refscale
       
               if visualise:
                   img = np.squeeze(batch[Batch.inputs]).astype('uint8')
                   visualize.show_heatmaps(cfg, img, scmap, pose)
                   visualize.waitforbuttonpress()
       
               if cache_scoremaps:
                   base = os.path.basename(batch[Batch.data_item].im_path)
                   raw_name = os.path.splitext(base)[0]
                   out_fn = os.path.join(out_dir, raw_name + '.mat')
                   scipy.io.savemat(out_fn, mdict={'scoremaps': scmap.astype('float32')})
       
                   out_fn = os.path.join(out_dir, raw_name + '_locreg' + '.mat')
                   if cfg.location_refinement:
                       scipy.io.savemat(out_fn, mdict={'locreg_pred': locref.astype('float32')})
       
           scipy.io.savemat('predictions.mat', mdict={'joints': predictions})
       
           sess.close()
       
       
       if __name__ == '__main__':
           parser = argparse.ArgumentParser()
           parser.add_argument('--novis', default=False, action='store_true')
           parser.add_argument('--cache', default=False, action='store_true')
           args, unparsed = parser.parse_known_args()
       
           test_net(not args.novis, args.cache)
    

    I have the followings:

      $ conda list tensorflow
       # packages in environment at /scratch/sjn/anaconda:
       #
       tensorflow                1.5.0                    py36_0    conda-forge
       tensorflow-gpu            1.3.0                         0  
       tensorflow-gpu-base       1.3.0           py36cuda8.0cudnn6.0_1  
       tensorflow-tensorboard    0.1.5                    py36_0  
    
    

    and

    $ conda list numpy
      # packages in environment at /scratch/sjn/anaconda:
      #
      msgpack-numpy             0.4.1                     <pip>
      numpy                     1.13.3          py36_blas_openblas_201  [blas_openblas]  conda-forge
      numpydoc                  0.7.0            py36h18f165f_0  
    
    
    opened by monajalal 8
  • Run single person demo with error ...

    Run single person demo with error ...

    Hi,

    I just follow the step to have a trial on the "single person" with the following step :


    Download pre-trained model files

    $ cd models/mpii $ ./download_models.sh $ cd -

    Run demo of single person pose estimation

    $ TF_CUDNN_USE_AUTOTUNE=0 python demo/singleperson.py


    However, it shows the error from python interpreter :


    Traceback (most recent call last): File "demo/singleperson.py", line 9, in from nnet import predict ImportError: No module named nnet


    How can I fix it ?

    Thanks.

    opened by ckl8964 8
  • I got a “out of range error”,please help me

    I got a “out of range error”,please help me

    I got this problem

    2018-01-25 17:50:33.199858: W tensorflow/core/framework/op_kernel.cc:1192] Out of range: Read less bytes than requested 2018-01-25 17:50:33.200658: W tensorflow/core/framework/op_kernel.cc:1192] Out of range: Read less bytes than requested 2018-01-25 17:50:33.210929: W tensorflow/core/framework/op_kernel.cc:1192] Out of range: Read less bytes than requested Traceback (most recent call last): File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1323, in _do_call return fn(*args) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1302, in _run_fn status, run_metadata) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.OutOfRangeError: Read less bytes than requested [[Node: save/RestoreV2_523 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2_523/tensor_names, save/RestoreV2_523/shape_and_slices)]]

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "demo/singleperson.py", line 17, in sess, inputs, outputs = predict.setup_pose_prediction(cfg) File "/home/wzh/pose-tensorflow/nnet/predict.py", line 24, in setup_pose_prediction restorer.restore(sess, cfg.init_weights) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1666, in restore {self.saver_def.filename_tensor_name: save_path}) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 889, in run run_metadata_ptr) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1120, in _run feed_dict_tensor, options, run_metadata) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1317, in _do_run options, run_metadata) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1336, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.OutOfRangeError: Read less bytes than requested [[Node: save/RestoreV2_523 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2_523/tensor_names, save/RestoreV2_523/shape_and_slices)]]

    Caused by op 'save/RestoreV2_523', defined at: File "demo/singleperson.py", line 17, in sess, inputs, outputs = predict.setup_pose_prediction(cfg) File "/home/wzh/pose-tensorflow/nnet/predict.py", line 14, in setup_pose_prediction restorer = tf.train.Saver() File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1218, in init self.build() File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1227, in build self._build(self._filename, build_save=True, build_restore=True) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1263, in _build build_save=build_save, build_restore=build_restore) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 751, in _build_internal restore_sequentially, reshape) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 427, in _AddRestoreOps tensors = self.restore_op(filename_tensor, saveable, preferred_shard) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 267, in restore_op [spec.tensor.dtype])[0]) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/ops/gen_io_ops.py", line 1021, in restore_v2 shape_and_slices=shape_and_slices, dtypes=dtypes, name=name) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2956, in create_op op_def=op_def) File "/home/wzh/anaconda2/envs/python3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1470, in init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

    OutOfRangeError (see above for traceback): Read less bytes than requested [[Node: save/RestoreV2_523 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2_523/tensor_names, save/RestoreV2_523/shape_and_slices)]]

    I dont know is there something wrong with downloaded model? @eldar @andreas-eberle

    opened by luoyangtractor 7
  • saveRestore issue?

    saveRestore issue?

    Hi, thank you for the awesome library, I have a question about an error I am getting "occasionally" when running the demo/singleperson.py file. Every other time or every third time it runs I get the following issue below. I have read that it has to do with saveRestore and changing variables, but not quite sure how to resolve or if anyone else is having this issue: Thanks!

    Here is the trace error:

    Traceback (most recent call last):
      File "demo/detect.py", line 164, in <module>
        sess, inputs, outputs = predict.setup_pose_prediction(cfg)
      File "demo/../nnet/predict.py", line 17, in setup_pose_prediction
        restorer.restore(sess, cfg.init_weights)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1548, in restore
        {self.saver_def.filename_tensor_name: save_path})
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 789, in run
        run_metadata_ptr)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 997, in _run
        feed_dict_string, options, run_metadata)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1132, in _do_run
        target_list, options, run_metadata)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1152, in _do_call
        raise type(e)(node_def, op, message)
    tensorflow.python.framework.errors_impl.FailedPreconditionError: models/mpii/mpii-single-resnet-101.index
    	 [[Node: save/RestoreV2_186 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_186/tensor_names, save/RestoreV2_186/shape_and_slices)]]
    
    Caused by op 'save/RestoreV2_186', defined at:
      File "demo/detect.py", line 164, in <module>
        sess, inputs, outputs = predict.setup_pose_prediction(cfg)
      File "demo/../nnet/predict.py", line 9, in setup_pose_prediction
        restorer = tf.train.Saver()
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1139, in __init__
        self.build()
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1170, in build
        restore_sequentially=self._restore_sequentially)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 691, in build
        restore_sequentially, reshape)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 407, in _AddRestoreOps
        tensors = self.restore_op(filename_tensor, saveable, preferred_shard)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 247, in restore_op
        [spec.tensor.dtype])[0])
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_io_ops.py", line 640, in restore_v2
        dtypes=dtypes, name=name)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
        op_def=op_def)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
        original_op=self._default_original_op, op_def=op_def)
      File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1269, in __init__
        self._traceback = _extract_stack()
    
    FailedPreconditionError (see above for traceback): models/mpii/mpii-single-resnet-101.index
    	 [[Node: save/RestoreV2_186 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_186/tensor_names, save/RestoreV2_186/shape_and_slices)]]
    
    
    opened by trops 5
  • Error in

    Error in "preprocess_single"

    Hi,

    I got the following error message when running "preprocess_single":

    .................................................................................................... 13900/15247 .................................................................................................... 14000/15247 .................................................................................................... 14100/15247 .................................................................................................... 14200/15247 .................................................................................................... 14300/15247 .................................................................................................... 14400/15247 .................................................................................................... 14500/15247 .................................................................................................... 14600/15247 .................................................................................................... 14700/15247 .................................................................................................... 14800/15247 .................................................................................................... 14900/15247 .................................................................................................... 15000/15247 .................................................................................................... 15100/15247 .................................................................................................... 15200/15247 ............................................... done crop_data() bTrain: 1 refHeight: 400 deltaCrop: 65 bSingle: 0 bCropIsolated: 0 bMulti: 0 bObjposOffset: 1 .................................................................................................... 100/3586 .................................................................................................... 200/3586 .................................................................................................... 300/3586 .................................................................................................... 400/3586 .................................................................................................... 500/3586 .................................................................................................... 600/3586 .................................................................................................... 700/3586 .................................................................................................... 800/3586 .................................................................................................... 900/3586 .................................................................................................... 1000/3586 .................................................................................................... 1100/3586 .................................................................................................... 1200/3586 .................................................................................................... 1300/3586 .................................................................................................... 1400/3586 .................................................................................................... 1500/3586 .................................................................................................... 1600/3586 .................................................................................................... 1700/3586 .................................................................................................... 1800/3586 .................................................................................................... 1900/3586 .................................................................................................... 2000/3586 .................................................................................................... 2100/3586 .................................................................................................... 2200/3586 .................................................................................................... 2300/3586 .................................................................................................... 2400/3586 .................................................................................................... 2500/3586 .................................................................................................... 2600/3586 .................................................................................................... 2700/3586 .................................................................................................... 2800/3586 .................................................................................................... 2900/3586 .................................................................................................... 3000/3586 .................................................................................................... 3100/3586 .................................................................................................... 3200/3586 .................................................................................................... 3300/3586 .................................................................................................... 3400/3586 .................................................................................................... 3500/3586 ...................................................................................... done Error using util_crop_data_train (line 162) Assertion failed.

    Error in crop_data (line 84) annolist = func_crop_data_train(p, annolistSubset, imgidxs_sub, rectidxs(imgidxs_sub));

    Error in preprocess_single (line 41) annolist2 = crop_data(p);

    The line 162 in 'util_crop_data_train' is the following: assert(numImgs == length(annolist2));

    Could someone please help me to figure out why this happens? Can I simply ignore this assert?

    opened by mhsung 5
  • Make model deterministic

    Make model deterministic

    Hello,

    i am wondering if it is possible to make the model deterministic? I tried to use the TF_CUDNN_DETERMINISTIC flag and tf.set_random_seed(1) but I could not get deterministic behavior. Which part exactly brings stochasticity in?

    opened by sebo361 3
  • No module config

    No module config

    Hello.

    I installed tensorflow and all requirements. I installed pose-tensorflow and followed all steps precicly. I also downlaoded the models with the download_models.py scripts usccessfully. However, when I want to run singleperson.py :

    TF_CUDNN_USE_AUTOTUNE=0 python3 demo/singleperson.py

    I get the following error:

    https://imgur.com/a/G5BzY

    How can I fix it? It looks like the config.py is using python2.7 syntax and changing it to python3 syntax just resulted in mor errors.. What can I do?

    opened by dominikheinz 3
  • nms_grid.c:437:18: fatal error: vector : No such file or directory

    nms_grid.c:437:18: fatal error: vector : No such file or directory

    Hi , I've tried demo_multiperson.py , but failed to run.

    npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] #warning "Using deprecated NumPy API, disable it by " \

    nms_grid.c:437:18: fatal error: vector

    ImportError: Building module nms_grid failed: ["CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1\n"]

    I tried a lot of methods, but I still can't solve it. What should I do?

    Thanks!

    opened by a2940519 3
  • python_tf: command not found compile.sh

    python_tf: command not found compile.sh

    According to your instructions, in order to run multiple people demo code, I need to run $ ./compile.sh command. When I run the command, I get the following error message:

    python_tf: not found

    I searched on Google for python_tf. I couldn't find any package named python_tf. Is this an alias that you use in your system? If so, could you please share it?

    Fazil

    opened by fazilaltinel 3
  • image resolution has huge infulence on results

    image resolution has huge infulence on results

    Hi, Thanks so much for this great application. It works perfectly when the test image has a resolution that is similar to the test image, however, it fails with both higher and lower resolution images. Did you notice this? Are there any solutions? Also, how can I test with multiperson using this program? I use python 3.5, tensorflow 1.0 and windows 10. Thanks a lot! Cheng

    opened by Clara85 3
  • segmentation fault (core dumped)  TF_CUDNN_USE_AUTOTUNE=0 python2 demo/singleperson.py

    segmentation fault (core dumped) TF_CUDNN_USE_AUTOTUNE=0 python2 demo/singleperson.py

    ubuntu:18.04 python:2.7.17 gcc:7.5.0 cpu I have installed all the dependencies according to this website: https://github.com/lakshayg/tensorflow-build/ but when I run the test,something is wrong: segmentation fault (core dumped) TF_CUDNN_USE_AUTOTUNE=0 python2 demo/singleperson.py I do not know how to solve this problem. Thank you for your help

    opened by junzifeijing 0
  • solve_nl_lmp function in multiperson/predict.py

    solve_nl_lmp function in multiperson/predict.py

    Hello everyone, I am investigating this source and I can not understand solve_nl_lmp function in multiperson/predict.py. Can you share with me the purpose of function (input/output)? Thank you so much.

    opened by TruongThuyLiem 0
  • Value of mean_pixel

    Value of mean_pixel

    The value of cfg.mean_pixel from util/default_config.py is [123.68, 116.779, 103.939]. Could you please explain this value, because it seems to be rather arbitrary.

    opened by jernsting 1
  • create my own dataset and train

    create my own dataset and train

    I want to train the model on my own dataset but I am not able to figure out the format of the dataset that the model accepts. can anyone help me create the annotate for the training.

    opened by aniketzz 1
  • create my own dataset and train

    create my own dataset and train

    I want to train the model on my own dataset but I am not able to figure out the format of the dataset that the model accepts. can anyone help me create the annotate for the training.

    opened by aniketzz 1
Owner
Eldar Insafutdinov
Eldar Insafutdinov
Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors, CVPR 2021

Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors Human POSEitioning System (H

Aymen Mir 66 Dec 21, 2022
Human head pose estimation using Keras over TensorFlow.

RealHePoNet: a robust single-stage ConvNet for head pose estimation in the wild.

Rafael Berral Soler 71 Jan 5, 2023
SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation

SE3 Pose Interpolation Pose estimated from SLAM system are always discrete, and

Ran Cheng 4 Dec 15, 2022
《Unsupervised 3D Human Pose Representation with Viewpoint and Pose Disentanglement》(ECCV 2020) GitHub: [fig9]

Unsupervised 3D Human Pose Representation [Paper] The implementation of our paper Unsupervised 3D Human Pose Representation with Viewpoint and Pose Di

null 42 Nov 24, 2022
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation

SimplePose Code and pre-trained models for our paper, “Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, a

Jia Li 256 Dec 24, 2022
This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation

SO-Pose This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation This paper is basically an

shangbuhuan 52 Nov 25, 2022
The project is an official implementation of our CVPR2019 paper "Deep High-Resolution Representation Learning for Human Pose Estimation"

Deep High-Resolution Representation Learning for Human Pose Estimation (CVPR 2019) News [2020/07/05] A very nice blog from Towards Data Science introd

Leo Xiao 3.9k Jan 5, 2023
Deep Dual Consecutive Network for Human Pose Estimation (CVPR2021)

Deep Dual Consecutive Network for Human Pose Estimation (CVPR2021) Introduction This is the official code of Deep Dual Consecutive Network for Human P

null 295 Dec 29, 2022
Bottom-up Human Pose Estimation

Introduction This is the official code of Rethinking the Heatmap Regression for Bottom-up Human Pose Estimation. This paper has been accepted to CVPR2

null 108 Dec 1, 2022
This is an official implementation of our CVPR 2021 paper "Bottom-Up Human Pose Estimation Via Disentangled Keypoint Regression" (https://arxiv.org/abs/2104.02300)

Bottom-Up Human Pose Estimation Via Disentangled Keypoint Regression Introduction In this paper, we are interested in the bottom-up paradigm of estima

HRNet 367 Dec 27, 2022
HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation

HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation Official PyTroch implementation of HPRNet. HPRNet: Hierarchical Point Regre

Nermin Samet 53 Dec 4, 2022
A large-scale video dataset for the training and evaluation of 3D human pose estimation models

ASPset-510 ASPset-510 (Australian Sports Pose Dataset) is a large-scale video dataset for the training and evaluation of 3D human pose estimation mode

Aiden Nibali 36 Oct 30, 2022
A large-scale video dataset for the training and evaluation of 3D human pose estimation models

ASPset-510 (Australian Sports Pose Dataset) is a large-scale video dataset for the training and evaluation of 3D human pose estimation models. It contains 17 different amateur subjects performing 30 sports-related actions each, for a total of 510 action clips.

Aiden Nibali 25 Jun 20, 2021
The project is an official implementation of our paper "3D Human Pose Estimation with Spatial and Temporal Transformers".

3D Human Pose Estimation with Spatial and Temporal Transformers This repo is the official implementation for 3D Human Pose Estimation with Spatial and

Ce Zheng 363 Dec 28, 2022
Code for "Human Pose Regression with Residual Log-likelihood Estimation", ICCV 2021 Oral

Human Pose Regression with Residual Log-likelihood Estimation [Paper] [arXiv] [Project Page] Human Pose Regression with Residual Log-likelihood Estima

JeffLi 347 Dec 24, 2022
PyTorch implementation for 3D human pose estimation

Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach This repository is the PyTorch implementation for the network presented in:

Xingyi Zhou 579 Dec 22, 2022
A PyTorch toolkit for 2D Human Pose Estimation.

PyTorch-Pose PyTorch-Pose is a PyTorch implementation of the general pipeline for 2D single human pose estimation. The aim is to provide the interface

Wei Yang 1.1k Dec 30, 2022
This repository is the offical Pytorch implementation of ContextPose: Context Modeling in 3D Human Pose Estimation: A Unified Perspective (CVPR 2021).

Context Modeling in 3D Human Pose Estimation: A Unified Perspective (CVPR 2021) Introduction This repository is the offical Pytorch implementation of

null 37 Nov 21, 2022
[ICCV 2021] Encoder-decoder with Multi-level Attention for 3D Human Shape and Pose Estimation

MAED: Encoder-decoder with Multi-level Attention for 3D Human Shape and Pose Estimation Getting Started Our codes are implemented and tested with pyth

ZiNiU WaN 176 Dec 15, 2022