Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

Overview

Realtime Multi-Person Pose Estimation

By Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh.

Introduction

Code repo for winning 2016 MSCOCO Keypoints Challenge, 2016 ECCV Best Demo Award, and 2017 CVPR Oral paper.

Watch our video result in YouTube or our website.

We present a bottom-up approach for realtime multi-person pose estimation, without using any person detector. For more details, refer to our CVPR'17 paper, our oral presentation video recording at CVPR 2017 or our presentation slides at ILSVRC and COCO workshop 2016.

This project is licensed under the terms of the license.

Other Implementations

Thank you all for the efforts for the reimplementation! If you have new implementation and want to share with others, feel free to make a pull request or email me!

Contents

  1. Testing
  2. Training
  3. Citation

Testing

C++ (realtime version, for demo purpose)

  • Please use OpenPose, now it can run in CPU/ GPU and windows /Ubuntu.
  • Three input options: images, video, webcam

Matlab (slower, for COCO evaluation)

  • Compatible with general Caffe. Compile matcaffe.
  • Run cd testing; get_model.sh to retrieve our latest MSCOCO model from our web server.
  • Change the caffepath in the config.m and run demo.m for an example usage.

Python

  • cd testing/python
  • ipython notebook
  • Open demo.ipynb and execute the code

Training

Network Architecture

Teaser?

Training Steps

  • Run cd training; bash getData.sh to obtain the COCO images in dataset/COCO/images/, keypoints annotations in dataset/COCO/annotations/ and COCO official toolbox in dataset/COCO/coco/.
  • Run getANNO.m in matlab to convert the annotation format from json to mat in dataset/COCO/mat/.
  • Run genCOCOMask.m in matlab to obatin the mask images for unlabeled person. You can use 'parfor' in matlab to speed up the code.
  • Run genJSON('COCO') to generate a json file in dataset/COCO/json/ folder. The json files contain raw informations needed for training.
  • Run python genLMDB.py to generate your LMDB. (You can also download our LMDB for the COCO dataset (189GB file) by: bash get_lmdb.sh)
  • Download our modified caffe: caffe_train. Compile pycaffe. It will be merged with caffe_rtpose (for testing) soon.
  • Run python setLayers.py --exp 1 to generate the prototxt and shell file for training.
  • Download VGG-19 model, we use it to initialize the first 10 layers for training.
  • Run bash train_pose.sh 0,1 (generated by setLayers.py) to start the training with two gpus.

Citation

Please cite the paper in your publications if it helps your research:

@inproceedings{cao2017realtime,
  author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
  year = {2017}
  }
  
@inproceedings{wei2016cpm,
  author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Convolutional pose machines},
  year = {2016}
  }
Comments
  • genANNO.m  Error: undefine function gasonMex

    genANNO.m Error: undefine function gasonMex

    I download the datasets and annotations,when I run genANNO.m,it shows

    undefine function 'gasonMex'
    
    error gason (line 53)
    out = gasonMex( 'convert', in );
    
    error CocoApi (line 61)
            coco.data=gason(fileread(annFile)); end
    
    error getANNO (line 18)
        coco=CocoApi(annFile);
    

    how to solve it?

    opened by liaowang0125 16
  • How long does training typically take?

    How long does training typically take?

    Hi, I'm trying to train on the COCO dataset using this algorithm. I'm using one GeoForce 1050 gtx GPU. I also changed the batch_size on line 454 of setLayers.py to 2, and batch_size on line 443 to 4 because I was getting an out of memory error with CUDA.

    It's been training for 5 days now and is on iteration 410,980 with lr=1.47e-6, is there any way that I can get an idea of how much longer training will take?

    Thank You

    opened by mddrill 16
  • Model with other backbone networks?

    Model with other backbone networks?

    Hi, everyone.

    I am trying to re-implement the pose estimation model using other backbone networks, e.g. mobile-net, res-50, etc. Currently I have no success in using other backbone networks. For example, when using only state-1 and stage-2 and mobile-net pretrained on imagenet, the loss stopped at about 370. But when I use the first 10 conv layers of VGG-19 pretrained on imagenet as suggested in the paper, the training error converges to <200 quickly. But the training loss stopped at 370 when using VGG-19 but without the pretraining weights.

    I wonder if anyone has successfully trained the model using other types of backbone networks. Any advices will be greatly appreciated!

    opened by rocketbear 15
  • finetuning the model

    finetuning the model

    Dear Author,

    I tried finetuning the model from the pretarined pose_iter_440000.caffemodel with the custom set of images and annotation. But the loss is very high and the infernece detection is bad. I used the follwing bash file

    opened by soans1994 12
  • Runtime Error

    Runtime Error

    Hi I am getting this error. while running the demo.ipynb heatmap_avg = heatmap_avg + heatmap / len(multiplier) ValueError: operands could not be broadcast together with shapes (674,712,19) (674,712,16)

    I see that heatmap_avg has been defined like this heatmap_avg = np.zeros((oriImg.shape[0], oriImg.shape[1], 19))

    how should i deal with this?

    opened by vijay1131 11
  • When use setLayers.py, AttributeError: 'LayerParameter' object has no attribute 'cpm_transform_param'

    When use setLayers.py, AttributeError: 'LayerParameter' object has no attribute 'cpm_transform_param'

    Hello, i want to train a model follow your training steps, when execute "python setLayers.py --exp 1", Generate errors likes this:

    Traceback (most recent call last):
      File "setLayers.py", line 488, in <module>
        writePrototxts(dataFolder, sub_dir, batch_size, layername, kernel, stride, outCH, transform_param, base_lr, d_caffemodel, label_name, 0, lr_mult_distro, 6)
      File "setLayers.py", line 308, in writePrototxts
        str_to_write = setLayers_twoBranches(source, batch_size, layername, kernel, stride, outCH, label_name, transform_param_in, deploy=False, batchnorm=batchnorm, lr_mult_distro=lr_mult_distro)
      File "setLayers.py", line 292, in setLayers_twoBranches
        return str(n.to_proto())
      File "/home/kunkun/DL/pose_estimate/caffe_train/python/caffe/net_spec.py", line 183, in to_proto
        top._to_proto(layers, names, autonames)
      File "/home/kunkun/DL/pose_estimate/caffe_train/python/caffe/net_spec.py", line 97, in _to_proto
        return self.fn._to_proto(layers, names, autonames)
      File "/home/kunkun/DL/pose_estimate/caffe_train/python/caffe/net_spec.py", line 152, in _to_proto
        assign_proto(layer, k, v)
      File "/home/kunkun/DL/pose_estimate/caffe_train/python/caffe/net_spec.py", line 64, in assign_proto
        is_repeated_field = hasattr(getattr(proto, name), 'extend')
    AttributeError: 'LayerParameter' object has no attribute 'cpm_transform_param'
    

    Looking forward to your help, Thanks!

    opened by fengshikun 11
  • Error on running train_pose.sh

    Error on running train_pose.sh

    I followed the steps of training. I used the get_lmdb.sh to get the data. When I ran the train_pose.sh by typing ./train_pose.sh 0, the following error happened. Could someone please help me? I am using one 2GB GTX 1050 GPU and setting the batch size to 1. Here is the setting: transform_param = dict(stride=8, crop_size_x=368, crop_size_y=368, target_dist=0.6, scale_prob=1, scale_min=0.5, scale_max=1.1, max_rotate_degree=40, center_perterb_max=40, do_clahe=False, visualize=False, np_in_lmdb=17, num_parts=np)

    Thanks

    I0526 19:51:56.906980 11880 net.cpp:283] Network initialization done. I0526 19:51:56.907923 11880 solver.cpp:60] Solver scaffolding done. I0526 19:51:56.921468 11880 caffe.cpp:155] Finetuning from /home/billzhou/deeplearning/caffe_train/model/VGG_ILSVRC_19_layers.caffemodel [libprotobuf WARNING google/protobuf/io/coded_stream.cc:537] Reading dangerously large protocol message. If the message turns out to be larger than 2147483647 bytes, parsing will be halted for security reasons. To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h. [libprotobuf WARNING google/protobuf/io/coded_stream.cc:78] The total number of bytes read was 574671192 I0526 19:51:57.571835 11880 upgrade_proto.cpp:52] Attempting to upgrade input file specified using deprecated V1LayerParameter: /home/billzhou/deeplearning/caffe_train/model/VGG_ILSVRC_19_layers.caffemodel I0526 19:51:58.441491 11880 upgrade_proto.cpp:60] Successfully upgraded file specified using deprecated V1LayerParameter I0526 19:51:58.461448 11880 upgrade_proto.cpp:66] Attempting to upgrade input file specified using deprecated input fields: /home/billzhou/deeplearning/caffe_train/model/VGG_ILSVRC_19_layers.caffemodel I0526 19:51:58.461498 11880 upgrade_proto.cpp:69] Successfully upgraded file specified using deprecated input fields. W0526 19:51:58.461503 11880 upgrade_proto.cpp:71] Note that future Caffe releases will only support input layers and not input fields. I0526 19:51:58.461835 11880 net.cpp:761] Ignoring source layer pool1 I0526 19:51:58.462285 11880 net.cpp:761] Ignoring source layer pool2 I0526 19:51:58.465679 11880 net.cpp:761] Ignoring source layer pool3 I0526 19:51:58.471774 11880 net.cpp:761] Ignoring source layer conv4_3 I0526 19:51:58.471806 11880 net.cpp:761] Ignoring source layer relu4_3 I0526 19:51:58.471812 11880 net.cpp:761] Ignoring source layer conv4_4 I0526 19:51:58.471817 11880 net.cpp:761] Ignoring source layer relu4_4 I0526 19:51:58.471822 11880 net.cpp:761] Ignoring source layer pool4 I0526 19:51:58.471827 11880 net.cpp:761] Ignoring source layer conv5_1 I0526 19:51:58.471832 11880 net.cpp:761] Ignoring source layer relu5_1 I0526 19:51:58.471837 11880 net.cpp:761] Ignoring source layer conv5_2 I0526 19:51:58.471843 11880 net.cpp:761] Ignoring source layer relu5_2 I0526 19:51:58.471848 11880 net.cpp:761] Ignoring source layer conv5_3 I0526 19:51:58.471853 11880 net.cpp:761] Ignoring source layer relu5_3 I0526 19:51:58.471858 11880 net.cpp:761] Ignoring source layer conv5_4 I0526 19:51:58.471863 11880 net.cpp:761] Ignoring source layer relu5_4 I0526 19:51:58.471868 11880 net.cpp:761] Ignoring source layer pool5 I0526 19:51:58.471873 11880 net.cpp:761] Ignoring source layer fc6 I0526 19:51:58.471877 11880 net.cpp:761] Ignoring source layer relu6 I0526 19:51:58.471881 11880 net.cpp:761] Ignoring source layer drop6 I0526 19:51:58.471886 11880 net.cpp:761] Ignoring source layer fc7 I0526 19:51:58.471891 11880 net.cpp:761] Ignoring source layer relu7 I0526 19:51:58.471896 11880 net.cpp:761] Ignoring source layer drop7 I0526 19:51:58.471900 11880 net.cpp:761] Ignoring source layer fc8 I0526 19:51:58.471905 11880 net.cpp:761] Ignoring source layer prob I0526 19:51:58.512106 11880 caffe.cpp:251] Starting Optimization I0526 19:51:58.512147 11880 solver.cpp:279] Solving I0526 19:51:58.512153 11880 solver.cpp:280] Learning Rate Policy: step F0526 19:51:58.665480 11880 eltwise_layer.cpp:34] Check failed: bottom[i]->shape() == bottom[0]->shape() *** Check failure stack trace: *** @ 0x7fe4503ee5cd google::LogMessage::Fail() @ 0x7fe4503f0433 google::LogMessage::SendToLog() @ 0x7fe4503ee15b google::LogMessage::Flush() @ 0x7fe4503f0e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7fe450b0944d caffe::EltwiseLayer<>::Reshape() @ 0x7fe450a6bba8 caffe::Net<>::ForwardFromTo() @ 0x7fe450a6bf57 caffe::Net<>::Forward() @ 0x7fe450a21700 caffe::Solver<>::Step() @ 0x7fe450a22199 caffe::Solver<>::Solve() @ 0x40ba59 train() @ 0x407590 main @ 0x7fe44f343830 __libc_start_main @ 0x407db9 _start @ (nil) (unknown) Aborted (core dumped)

    opened by jpbillzhou 9
  • testing using matlab errors

    testing using matlab errors

    when i use matcaffe by the ways on git,i meet some errors,my cudn is 8.0.The errors is following。Can anybody help me?

    W1116 16:56:53.845983  3645 net.hpp:41] DEPRECATED: ForwardPrefilled() will be removed in a future version. Use Forward().
    F1116 16:56:53.862937  3645 im2col.cu:61] Check failed: error == cudaSuccess (9 vs. 0)  invalid configuration argument
    *** Check failure stack trace: ***
    
    ------------------------------------------------------------------------
                  abort() detected at Thu Nov 16 16:56:53 2017
    ------------------------------------------------------------------------
    
    Configuration:
      Crash Decoding      : Disabled
      Crash Mode          : continue (default)
      Current Graphics Driver: Unknown software 
      Current Visual      : None
      Default Encoding    : US-ASCII
      GNU C Library       : 2.19 stable
      Host Name           : dockerlcz
      MATLAB Architecture : glnxa64
      MATLAB Root         : /usr/local/MATLAB/MATLAB_Production_Server/R2015a
      MATLAB Version      : 8.5.0.197613 (R2015a)
      OpenGL              : software
      Operating System    : Linux 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64
      Processor ID        : x86 Family 6 Model 63 Stepping 2, GenuineIntel
      Virtual Machine     : Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
      Window System       : No active display
    
    Fault Count: 1
    
    
    Abnormal termination:
    abort()
    
    Register State (from fault):
      RAX = 0000000000000000  RBX = 00007fe0d4752620
      RCX = ffffffffffffffff  RDX = 0000000000000006
      RSP = 00007fe1557d34f8  RBP = 00007fe1557d3630
      RSI = 0000000000000e3d  RDI = 0000000000000e12
    
       R8 = 000000000000ff08   R9 = 00007fe16a314940
      R10 = 0000000000000008  R11 = 0000000000000206
      R12 = 0000000000000170  R13 = 0000000000000170
      R14 = 0000000000000170  R15 = 0000000000000003
    
      RIP = 00007fe16a1fac37  EFL = 0000000000000206
    
       CS = 0033   FS = 0000   GS = 0000
    
    Stack Trace (from fault):
    [  0] 0x00007fe16a1fac37                    /lib/x86_64-linux-gnu/libc.so.6+00224311 gsignal+00000055
    [  1] 0x00007fe16a1fe028                    /lib/x86_64-linux-gnu/libc.so.6+00237608 abort+00000328
    [  2] 0x00007fe0d452cd81             /usr/lib/x86_64-linux-gnu/libglog.so.0+00068993 _ZN6google22InstallFailureFunctionEPFvvE+00000000
    [  3] 0x00007fe0d452cdaa             /usr/lib/x86_64-linux-gnu/libglog.so.0+00069034 _ZN6google10LogMessage10SendToSinkEv+00000000
    [  4] 0x00007fe0d452cce4             /usr/lib/x86_64-linux-gnu/libglog.so.0+00068836 _ZN6google10LogMessage9SendToLogEv+00001224
    [  5] 0x00007fe0d452c6e6             /usr/lib/x86_64-linux-gnu/libglog.so.0+00067302 _ZN6google10LogMessage5FlushEv+00000414
    [  6] 0x00007fe0d452f687             /usr/lib/x86_64-linux-gnu/libglog.so.0+00079495 _ZN6google15LogMessageFatalD1Ev+00000025
    [  7] 0x00007fe05b5561de /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+02232798
    [  8] 0x00007fe05b516551 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+01971537
    [  9] 0x00007fe05b516796 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+01972118
    [ 10] 0x00007fe05b5830d7 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+02416855
    [ 11] 0x00007fe05b407c22 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+00863266
    [ 12] 0x00007fe05b407e65 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+00863845
    [ 13] 0x00007fe05b376fa8 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+00270248
    [ 14] 0x00007fe05b377fe8 /data2/lczheng/caffe/caffe-matlab-node118/matlab/+caffe/private/caffe_.mexa64+00274408 mexFunction+00000178
    [ 15] 0x00007fe15fde7cea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmex.so+00150762 mexRunMexFile+00000090
    [ 16] 0x00007fe15fde4a74 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmex.so+00137844
    [ 17] 0x00007fe15fde5684 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmex.so+00140932
    [ 18] 0x00007fe15f11daea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00813802 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000762
    [ 19] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 20] 0x00007fe15e38dd20 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04189472
    [ 21] 0x00007fe15e33d432 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03859506
    [ 22] 0x00007fe15e33f612 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03868178
    [ 23] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 24] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 25] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 26] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 27] 0x00007fe15f11daea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00813802 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000762
    [ 28] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 29] 0x00007fe14edf9edd /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02473693
    [ 30] 0x00007fe14ed8f5c2 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02037186
    [ 31] 0x00007fe14ed90ddf /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02043359
    [ 32] 0x00007fe14ed968e0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02066656
    [ 33] 0x00007fe14ed92053 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02048083
    [ 34] 0x00007fe14ee85ef0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+03047152
    [ 35] 0x00007fe15f0c6744 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00456516 _ZN13Mfh_MATLAB_fn11dispatch_fhEiPP11mxArray_tagiS2_+00000244
    [ 36] 0x00007fe14ee83451 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+03036241
    [ 37] 0x00007fe15e38d98f /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04188559
    [ 38] 0x00007fe15e3a2ca4 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04275364
    [ 39] 0x00007fe15e3a3b0f /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04279055
    [ 40] 0x00007fe15e3a4df0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04283888
    [ 41] 0x00007fe15e31fe06 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03739142
    [ 42] 0x00007fe15e310005 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03674117
    [ 43] 0x00007fe15e33e6c2 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03864258
    [ 44] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 45] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 46] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 47] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 48] 0x00007fe15f11daea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00813802 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000762
    [ 49] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 50] 0x00007fe14edf9edd /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02473693
    [ 51] 0x00007fe14ed8f5c2 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02037186
    [ 52] 0x00007fe14ed90ddf /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02043359
    [ 53] 0x00007fe14ed968e0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02066656
    [ 54] 0x00007fe14ed92053 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+02048083
    [ 55] 0x00007fe14ee85ef0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+03047152
    [ 56] 0x00007fe15f0c6744 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00456516 _ZN13Mfh_MATLAB_fn11dispatch_fhEiPP11mxArray_tagiS2_+00000244
    [ 57] 0x00007fe14ee83451 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcos_impl.so+03036241
    [ 58] 0x00007fe15e38d98f /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04188559
    [ 59] 0x00007fe15e3a2ca4 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04275364
    [ 60] 0x00007fe15e3a3b0f /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04279055
    [ 61] 0x00007fe15e3a4df0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04283888
    [ 62] 0x00007fe15e31fe06 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03739142
    [ 63] 0x00007fe15e310005 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03674117
    [ 64] 0x00007fe15e33e6c2 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03864258
    [ 65] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 66] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 67] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 68] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 69] 0x00007fe15f11daea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00813802 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000762
    [ 70] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 71] 0x00007fe15e38dd20 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04189472
    [ 72] 0x00007fe15e33d432 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03859506
    [ 73] 0x00007fe15e33f612 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03868178
    [ 74] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 75] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 76] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 77] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 78] 0x00007fe15f11daea /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00813802 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000762
    [ 79] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 80] 0x00007fe15e38dd20 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04189472
    [ 81] 0x00007fe15e30e4b3 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03667123
    [ 82] 0x00007fe15e33e6ee /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03864302
    [ 83] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 84] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 85] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 86] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 87] 0x00007fe15f11dc39 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00814137 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00001097
    [ 88] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 89] 0x00007fe15e38dd20 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04189472
    [ 90] 0x00007fe15e30e4b3 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03667123
    [ 91] 0x00007fe15e33e6ee /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03864302
    [ 92] 0x00007fe15e345597 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03892631
    [ 93] 0x00007fe15e340cff /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03874047
    [ 94] 0x00007fe15e341934 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03877172
    [ 95] 0x00007fe15e3b72ce /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04358862
    [ 96] 0x00007fe15f11dc39 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00814137 _ZN8Mfh_file16dispatch_fh_implEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00001097
    [ 97] 0x00007fe15f11dfb0 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_dispatcher.so+00815024 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000032
    [ 98] 0x00007fe15e376495 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+04093077
    [ 99] 0x00007fe15e336fb9 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03833785
    [100] 0x00007fe15e3333f5 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03818485
    [101] 0x00007fe15e333ad3 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwm_interpreter.so+03820243
    [102] 0x00007fe160029b6c /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwbridge.so+00228204
    [103] 0x00007fe16002a751 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwbridge.so+00231249 _Z8mnParserv+00000737
    [104] 0x00007fe16b72e3af /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00799663 _ZN11mcrInstance30mnParser_on_interpreter_threadEv+00000031
    [105] 0x00007fe16b70e133 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00667955
    [106] 0x00007fe16b70ffd9 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00675801 _ZN5boost6detail11task_objectIvNS_3_bi6bind_tIvPFvRKNS_8functionIFvvEEEENS2_5list1INS2_5valueIS6_EEEEEEE6do_runEv+00000025
    [107] 0x00007fe16b7109a7 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00678311 _ZN5boost6detail9task_baseIvE3runEv+00000071
    [108] 0x00007fe16b710a07 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00678407
    [109] 0x00007fe16b70bd8a /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00658826
    [110] 0x00007fe16be24d13 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwservices.so+01735955
    [111] 0x00007fe15d6b0f4d /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwuix.so+00233293
    [112] 0x00007fe16befd0fa /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwservices.so+02621690
    [113] 0x00007fe16befd434 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwservices.so+02622516
    [114] 0x00007fe16befebdf /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwservices.so+02628575
    [115] 0x00007fe16beff61c /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwservices.so+02631196 _Z25svWS_ProcessPendingEventsiib+00000092
    [116] 0x00007fe16b70c408 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00660488
    [117] 0x00007fe16b70c724 /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00661284
    [118] 0x00007fe16b6f8b0d /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/libmwmcr.so+00580365
    [119] 0x00007fe16a591184              /lib/x86_64-linux-gnu/libpthread.so.0+00033156
    [120] 0x00007fe16a2be37d                    /lib/x86_64-linux-gnu/libc.so.6+01024893 clone+00000109
    [121] 0x0000000000000000                                   <unknown-module>+00000000
    
    
    This error was detected while a MEX-file was running. If the MEX-file
    is not an official MathWorks function, please examine its source code
    for errors. Please consult the External Interfaces Guide for information
    on debugging MEX-files.
    
    If this problem is reproducible, please submit a Service Request via:
        http://www.mathworks.com/support/contact_us/
    
    A technical support engineer might contact you with further information.
    
    Thank you for your help.** This crash report has been saved to disk as /root/matlab_crash_dump.3602-1 **
    
    
    opened by destinyzs 7
  • Zero Division in Python example

    Zero Division in Python example

    Hello. In some cases the python demo results to ZeroDivisionError which is produced by the code: vec = np.divide(vec, norm) (demo.ipynb, In [72]).

    The relevant C++ code (rtpose.cpp, line 620) handles this case as follows if (norm_vec<1e-6) { continue; }. So I think a similar fix should be applied.

    opened by ggalan87 7
  • The LMDB channel of MPI is 5, but cpm_data_transformer need 6

    The LMDB channel of MPI is 5, but cpm_data_transformer need 6

    Hi @ZheC, I use genLMDB.py && MPI.Json && masks_for_mpii_pose.tgz you provided to generate the MPI LMDB, and the channel is 5(I guess the MPI don't have mask_all). Then I use setLayers.py to generate the prototxt and shell file for training(since I didn't find the prototxt and shell file for MPI, I modified a few parameters in setLayers.py, np =43 && np_in_lmdb=16 && num_output=16, and generate the files for MPI training. But I'm not sure if that is correct). When I started training, it prompts me "cpm_data_transformer.cpp:386] Check failed: datum_channels == 6 (5 vs. 6)". And my questions are: 1.Is my method to generate the prototxt and shell file right? What should I do if it is not correct? 2.The channel is mismatch, is this a bug? Thank you very much!

    opened by mashiwei 6
  • How to convert the outputs of mpii model to MPII evaluation format?

    How to convert the outputs of mpii model to MPII evaluation format?

    Hi @ZheC, now I print the predictions and GT on the same image to check if the results are correct. The saved results are shown below. The first image is the outputs of cmu-mpii model. In the second image, blue points are estimated joints while yellow points are the GT. I see the main differences focus on two joints - pelvis and thorax. Before I use the script of evalMPII.m to perform evaluation and can only attain 50.4 and much lower than the results of your paper (79.1). So I would like to ask you that do you convert the 15 joints of MPII model to the 16 joints of MPII annotation format. If so, how you convert them? Thanks. vis_595_dt vis_595_gt

    opened by yw155 6
  • heatmap evaluatin metric

    heatmap evaluatin metric

    hello authors,

    • can you please suggest me how to score the heatmap output compared wiht the ground truth labels. The iou or dice score similar to segmentation can be used?
    • for keypoints i use PCK scores. please tell me which is best evaluation metrics

    thank you

    opened by soans1994 1
  • MMC demo

    MMC demo

    Hi, I am new and trying to learn Mesh-based Monte Carlo (MMC) for MATLAB (MMC.). I added the mmc-master folder with sub-folders to the path. When I try to run a demo file, it says 'Unrecognized function or variable 'mmc''. It happens with all the demo functions. I looked for mmc.m and could not find it any of the folders. Can you help me resolve the issue? Thanks, Arjun

    opened by ArjunBangalore 0
  • bug when generating mask

    bug when generating mask

    https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation/blob/7dea8488eb7f7d16b21f7f7029b761cf49eeba49/training/genCOCOMask.m#L45

    segmentation is an array, but the code only processes the first element of the array

    for example:

    "segmentation": [
        [329.88, 211.23, 337.63, 211.93, 341.51, 210.17, 341.86, 206.65, 340.1, 202.77, 335.52, 199.6, 335.52, 197.13, 335.52, 190.44, 339.04, 186.21, 342.57, 170.35, 345.74, 159.43, 342.57, 154.14, 340.1, 148.86, 336.93, 143.92, 337.28, 138.28, 344.68, 138.28, 340.45, 122.43, 339.75, 116.79, 334.46, 107.63, 320.37, 104.1, 325.65, 97.06, 326, 91.06, 321.77, 82.25, 316.49, 89.66, 305.21, 87.19, 304.51, 92.47, 304.16, 97.06, 305.21, 100.58, 304.16, 103.4, 292.53, 105.51, 284.42, 123.84, 278.43, 140.05, 273.14, 146.74, 273.85, 152.73, 279.49, 156.26, 281.6, 154.14, 284.07, 144.63, 289, 133, 293.23, 133.7, 294.99, 125.95, 295.35, 157.67, 312.26, 157.31, 318.96, 150.27, 335.17, 150.27, 333.76, 157.31, 324.95, 158.02, 315.43, 164.01, 309.44, 170, 306.27, 176.34, 305.56, 185.51, 310.85, 184.8, 313.67, 178.81, 312.97, 170.7, 316.14, 165.42, 320.01, 162.25, 323.18, 167.89, 327.06, 172.11, 333.4, 171.06, 330.23, 178.46, 330.58, 190.09, 329.18, 197.13, 329.18, 208.76],
        [307.1, 171.37, 309.57, 164.78, 295.02, 166.7, 296.11, 173.02, 299.68, 170.54, 306, 172.19]
    ],
    

    as a result, some parts are missing from the mask:

    Screenshot from 2020-01-14 15-18-50

    for example, left is when I process all segments, right is the result of the current code, some legs are missing.

    opened by shi-yan 0
  • Limb width is hardcoded?

    Limb width is hardcoded?

    The images in the paper seem to indicate that the limb width is precisely labeled?

    Screen Shot 2020-01-09 at 12 58 27 AM

    However, looking at the code (function putVecMaps):

    https://github.com/CMU-Perceptual-Computing-Lab/caffe_train/blob/master/src/caffe/cpm_data_transformer.cpp

    thre seems to be the limb width, and it's hardcoded to 1. isn't 1 too small for limb width? why was one chosen as the width?

    opened by shi-yan 0
Owner
Zhe Cao
PhD in Computer Vision
Zhe Cao
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
Code for "Multi-View Multi-Person 3D Pose Estimation with Plane Sweep Stereo"

Multi-View Multi-Person 3D Pose Estimation with Plane Sweep Stereo This repository includes the source code for our CVPR 2021 paper on multi-view mult

Jiahao Lin 66 Jan 4, 2023
3D Multi-Person Pose Estimation by Integrating Top-Down and Bottom-Up Networks

3D Multi-Person Pose Estimation by Integrating Top-Down and Bottom-Up Networks Introduction This repository contains the code and models for the follo

null 124 Jan 6, 2023
Official PyTorch implementation of "Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image", ICCV 2019

PoseNet of "Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image" Introduction This repo is official Py

Gyeongsik Moon 677 Dec 25, 2022
Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation.

PersonLab This is a Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation. The model predicts heatmaps and vari

OCTI 160 Dec 21, 2022
PoseViz – Multi-person, multi-camera 3D human pose visualization tool built using Mayavi.

PoseViz – 3D Human Pose Visualizer Multi-person, multi-camera 3D human pose visualization tool built using Mayavi. As used in MeTRAbs visualizations.

István Sárándi 79 Dec 30, 2022
Code for "Single-view robot pose and joint angle estimation via render & compare", CVPR 2021 (Oral).

Single-view robot pose and joint angle estimation via render & compare Yann Labbé, Justin Carpentier, Mathieu Aubry, Josef Sivic CVPR: Conference on C

Yann Labbé 51 Oct 14, 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
Code for "PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation" CVPR 2019 oral

Good news! We release a clean version of PVNet: clean-pvnet, including how to train the PVNet on the custom dataset. Use PVNet with a detector. The tr

ZJU3DV 722 Dec 27, 2022
(CVPR 2022 - oral) Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View Geometry

Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View Geometry Official implementation of the paper Multi-View Depth Est

Bae, Gwangbin 138 Dec 28, 2022
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
[CVPR2021 Oral] FFB6D: A Full Flow Bidirectional Fusion Network for 6D Pose Estimation.

FFB6D This is the official source code for the CVPR2021 Oral work, FFB6D: A Full Flow Biderectional Fusion Network for 6D Pose Estimation. (Arxiv) Tab

Yisheng (Ethan) He 201 Dec 28, 2022
[CVPR 2022 Oral] EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation

EPro-PnP EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation In CVPR 2022 (Oral). [paper] Hanshen

 同济大学智能汽车研究所综合感知研究组 ( Comprehensive Perception Research Group under Institute of Intelligent Vehicles, School of Automotive Studies, Tongji University) 842 Jan 4, 2023
[CVPR 2022] PoseTriplet: Co-evolving 3D Human Pose Estimation, Imitation, and Hallucination under Self-supervision (Oral)

PoseTriplet: Co-evolving 3D Human Pose Estimation, Imitation, and Hallucination under Self-supervision Kehong Gong*, Bingbing Li*, Jianfeng Zhang*, Ta

null 256 Dec 28, 2022
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 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
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Ibai Gorordo 99 Dec 31, 2022
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Build Type Linux MacOS Windows Build Status OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facia

null 25.7k Jan 9, 2023
The official repo for CVPR2021——ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search.

ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search [paper] Introduction This is the official implementation of ViPNAS: Efficient V

Lumin 42 Sep 26, 2022