OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Overview

Build Type Linux MacOS Windows
Build Status Status Status Status

OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facial, and foot keypoints (in total 135 keypoints) on single images.

It is authored by Ginés Hidalgo, Zhe Cao, Tomas Simon, Shih-En Wei, Yaadhav Raaj, Hanbyul Joo, and Yaser Sheikh. It is maintained by Ginés Hidalgo and Yaadhav Raaj. OpenPose would not be possible without the CMU Panoptic Studio dataset. We would also like to thank all the people who has helped OpenPose in any way.


Authors Ginés Hidalgo (left) and Hanbyul Joo (right) in front of the CMU Panoptic Studio

Contents

  1. Results
  2. Features
  3. Related Work
  4. Installation
  5. Quick Start Overview
  6. Send Us Feedback!
  7. Citation
  8. License

Results

Whole-body (Body, Foot, Face, and Hands) 2D Pose Estimation


Testing OpenPose: (Left) Crazy Uptown Funk flashmob in Sydney video sequence. (Center and right) Authors Ginés Hidalgo and Tomas Simon testing face and hands

Whole-body 3D Pose Reconstruction and Estimation


Tianyi Zhao testing the OpenPose 3D Module

Unity Plugin


Tianyi Zhao and Ginés Hidalgo testing the OpenPose Unity Plugin

Runtime Analysis

We show an inference time comparison between the 3 available pose estimation libraries (same hardware and conditions): OpenPose, Alpha-Pose (fast Pytorch version), and Mask R-CNN. The OpenPose runtime is constant, while the runtime of Alpha-Pose and Mask R-CNN grow linearly with the number of people. More details here.

Features

  • Main Functionality:
    • 2D real-time multi-person keypoint detection:
      • 15, 18 or 25-keypoint body/foot keypoint estimation, including 6 foot keypoints. Runtime invariant to number of detected people.
      • 2x21-keypoint hand keypoint estimation. Runtime depends on number of detected people. See OpenPose Training for a runtime invariant alternative.
      • 70-keypoint face keypoint estimation. Runtime depends on number of detected people. See OpenPose Training for a runtime invariant alternative.
    • 3D real-time single-person keypoint detection:
      • 3D triangulation from multiple single views.
      • Synchronization of Flir cameras handled.
      • Compatible with Flir/Point Grey cameras.
    • Calibration toolbox: Estimation of distortion, intrinsic, and extrinsic camera parameters.
    • Single-person tracking for further speedup or visual smoothing.
  • Input: Image, video, webcam, Flir/Point Grey, IP camera, and support to add your own custom input source (e.g., depth camera).
  • Output: Basic image + keypoint display/saving (PNG, JPG, AVI, ...), keypoint saving (JSON, XML, YML, ...), keypoints as array class, and support to add your own custom output code (e.g., some fancy UI).
  • OS: Ubuntu (20, 18, 16, 14), Windows (10, 8), Mac OSX, Nvidia TX2.
  • Hardware compatibility: CUDA (Nvidia GPU), OpenCL (AMD GPU), and non-GPU (CPU-only) versions.
  • Usage Alternatives:
    • Command-line demo for built-in functionality.
    • C++ API and Python API for custom functionality. E.g., adding your custom inputs, pre-processing, post-posprocessing, and output steps.

For further details, check the major released features and release notes docs.

Related Work

Installation

If you want to use OpenPose without installing or writing any code, simply download and use the latest Windows portable version of OpenPose!

Otherwise, you could build OpenPose from source. See the installation doc for all the alternatives.

Quick Start Overview

Simply use the OpenPose Demo from your favorite command-line tool (e.g., Windows PowerShell or Ubuntu Terminal). E.g., this example runs OpenPose on your webcam and displays the body keypoints:

# Ubuntu
./build/examples/openpose/openpose.bin
:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi

You can also add any of the available flags in any order. E.g., the following example runs on a video (--video {PATH}), enables face (--face) and hands (--hand), and saves the output keypoints on JSON files on disk (--write_json {PATH}).

# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --write_json output_json_folder/
:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi --face --hand --write_json output_json_folder/

Optionally, you can also extend OpenPose's functionality from its Python and C++ APIs. After installing OpenPose, check its official doc for a quick overview of all the alternatives and tutorials.

Send Us Feedback!

Our library is open source for research purposes, and we want to improve it! So let us know (create a new GitHub issue or pull request, email us, etc.) if you...

  1. Find/fix any bug (in functionality or speed) or know how to speed up or improve any part of OpenPose.
  2. Want to add/show some cool functionality/demo/project made on top of OpenPose. We can add your project link to our Community-based Projects section or even integrate it with OpenPose!

Citation

Please cite these papers in your publications if OpenPose helps your research. All of OpenPose is based on OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields, while the hand and face detectors also use Hand Keypoint Detection in Single Images using Multiview Bootstrapping (the face detector was trained using the same procedure than the hand detector).

@article{8765346,
  author = {Z. {Cao} and G. {Hidalgo Martinez} and T. {Simon} and S. {Wei} and Y. A. {Sheikh}},
  journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title = {OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
  year = {2019}
}

@inproceedings{simon2017hand,
  author = {Tomas Simon and Hanbyul Joo and Iain Matthews and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Hand Keypoint Detection in Single Images using Multiview Bootstrapping},
  year = {2017}
}

@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}
}

Paper links:

License

OpenPose is freely available for free non-commercial use, and may be redistributed under these conditions. Please, see the license for further details. Interested in a commercial license? Check this FlintBox link. For commercial queries, use the Contact section from the FlintBox link and also send a copy of that message to Yaser Sheikh.

Comments
  • Google colab helper script

    Google colab helper script

    Issue Summary

    Apologies if this is the wrong place for this. I've made a script to install OpenPose on Google Colab. It's not a particularly exciting piece of programming, but I find it really useful as I don't have access to a computer which is powerful enough to run OpenPose, even in CPU mode, so the only way I can use OpenPose is to build it on a GPU-enabled Colab runtime and then run my programs there. Since I found it really useful, I presume others might also find it useful, so I'm putting it here for developers to do with as they please.

    ! apt update
    ! apt install -y cmake sudo libopencv-dev
    ! git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
    ! cd openpose/ubuntu && ./install_cmake.sh && ./install_cuda.sh && ./install_cudnn.sh
    ! cd openpose && git pull origin master && rm -r build || true && mkdir build && cd build && cmake .. && make -j`nproc`
    
    # example demo usage
    !cd openpose && ./build/examples/openpose/openpose.bin --video examples/media/video.avi --write_json output/ --display 0 --render_pose 0
    

    Type of Issue

    • Enhancement / offering possible extensions / pull request / etc
    enhancement 
    opened by sirramsalott 81
  • Python API error: Cannot import name pyopenpose

    Python API error: Cannot import name pyopenpose

    When I execute the python API sample code in build folder ( 1_body_from_image.py ), the terminal return back the following errors. I also noticed that the python API have been changed during the past month. I am using ubuntu 16.04. cuda 8.0 with cudnn 5.1. The openpose is current version. Any suggestions?

    Thanks!

    from openpose import pyopenpose Traceback (most recent call last): File "", line 1, in File "/home/jack/Documents/computervision/openpose/build/python/openpose/init.py", line 1, in from . import pyopenpose as pyopenpose ImportError: cannot import name pyopenpose

    issue template not followed: read posting rules... Python 
    opened by ccjack 42
  • CUDA 10 (RTX 20XX cards) compatibility with Windows - Check failed: error == cudaSuccess (8 vs. 0)  invalid device function

    CUDA 10 (RTX 20XX cards) compatibility with Windows - Check failed: error == cudaSuccess (8 vs. 0) invalid device function

    Issue Summary

    Cuda error with OpenPose / Nvidia 2080 Ti / CUDA 10 on Windows 10 pro (error == cudaSuccess (8 vs. 0) invalid device function)

    Executed Command (if any)

    OpenPoseDemo.exe --logging_level 0 --disable_multi_thread

    OpenPose Output (if any)

    Starting OpenPose demo... {{{ full output that was in here is available at https://pastebin.com/ATu7amDD }}} F1230 19:44:08.215404 15224 pooling_layer.cu:212] Check failed: error == cudaSuccess (8 vs. 0) invalid device function *** Check failure stack trace: ***

    Errors (if any)

    Recompiled OpenPose with Cuda 10 on Windows 10 pro works well with 1080 ti, but with the 2080 ti it fails to open a window and the following message appears: F1230 19:44:08.215404 15224 pooling_layer.cu:212] Check failed: error == cudaSuccess (8 vs. 0) invalid device function

    Type of Issue

    You might select multiple topics, delete the rest:

    • Compilation/installation error
    • Execution error
    • Help wanted

    Your System Configuration

    1. Whole console output: https://pastebin.com/sdUKns74 (CMake output + CMakeCache.txt)
    2. OpenPose version: commit 7a4fb5a2d8a0634659fa7ea6efddb23531e95df2
    3. General configuration:
      • Installation mode: CMake-gui on Windows
      • Operating system: Windows 10 Professional x64 version 1809, version
      • Release or Debug mode? (by default: release):
      • Compiler: VS2017 community (build toolset v141, MSVC 19.16.27025.1)
    4. Non-default settings:
      • 3-D Reconstruction module added?: no
      • Any other custom CMake configuration with respect to the default version? no
    5. 3rd-party software:
      • Caffe version: Default from OpenPose
      • CMake version: CMake-gui 3.13.2
      • OpenCV version: OpenPose default -- 3.10 (Windows)
    6. If GPU mode issue:
      • CUDA version: 10.0
      • cuDNN version: 7.4.2
      • GPU model: Nvidia 2080ti, driver 417.35
    7. If Windows system:
      • Portable demo or compiled library? Compiled library, but also happens with release 1.4.0
    enhancement fixed/added in newer versions 
    opened by tech-gh 41
  • [libprotobuf ERROR google/protobuf/message_lite.cc:123] Can't parse message of type

    [libprotobuf ERROR google/protobuf/message_lite.cc:123] Can't parse message of type "caffe.NetParameter" because it is missing required fields: layer[0].clip_param.min, layer[0].clip_param.max

    I have compile my own caffe and Protobuf, my cuda is 8.0, cudnn is 6.0.21, protobuf is 2.5.0. And after I run make -jnproc``, I run the ./build/examples/openpose/openpose.bin --video examples/media/video.avi, i get this error:

    Errors

    Starting OpenPose demo... Configuring OpenPose... Starting thread(s)... Auto-detecting all available GPUs... Detected 2 GPU(s), using 2 of them starting at GPU 0. [libprotobuf ERROR google/protobuf/message_lite.cc:123] Can't parse message of type "caffe.NetParameter" because it is missing required fields: layer[0].clip_param.min, layer[0].clip_param.max F1125 21:36:33.818452 14233 upgrade_proto.cpp:97] Check failed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: models/pose/body_25/pose_iter_584000.caffemodel *** Check failure stack trace: *** @ 0x7fbfce9fedaa (unknown) @ 0x7fbfce9fece4 (unknown) @ 0x7fbfce9fe6e6 (unknown) @ 0x7fbfcea01687 (unknown) @ 0x7fbfcdebce51 caffe::ReadNetParamsFromBinaryFileOrDie() @ 0x7fbfcdeff0d7 caffe::Net<>::CopyTrainedLayersFromBinaryProto() @ 0x7fbfd4abdddc op::NetCaffe::initializationOnThread() @ 0x7fbfd4c3fe14 op::addCaffeNetOnThread() @ 0x7fbfd4c4076b op::PoseExtractorCaffe::netInitializationOnThread() @ 0x7fbfd4c44710 op::PoseExtractorNet::initializationOnThread() @ 0x7fbfd4c3c781 op::PoseExtractor::initializationOnThread() @ 0x7fbfd4c37861 op::WPoseExtractor<>::initializationOnThread() @ 0x7fbfd4b519b1 op::SubThread<>::initializationOnThread() @ 0x7fbfd4b55130 op::Thread<>::initializationOnThread() @ 0x7fbfd4b55351 op::Thread<>::threadFunction() @ 0x7fbfd3248c10 (unknown) @ 0x7fbfcd9ae184 start_thread @ 0x7fbfd2cd403d (unknown) @ (nil) (unknown) Aborted (core dumped)

    I don't know why it happen. Anyone help me? Thanks.

    help wanted/question fixed/added in newer versions 
    opened by ziyueSeo 36
  • Ubuntu Cmake-gui error while getting default Caffe

    Ubuntu Cmake-gui error while getting default Caffe

    Issue Summary

    This should not be a Caffe problem per se, but before I install custom Caffe I would like to make sure. I followed all the steps in the install doc up until using the CMake-gui. There I ran into an error while downloading Caffe.

    It seems to me CMake-gui does not download Caffe at all. I tried to wipe everything and try to install OpenPose again, but received the same mistake. I also tried to see if cmake follows the ifs in the CMakeLists.txt correctly and reaches the branches where he establishes that Caffe needs to be downloaded and it seems to me it does so.

    CMake-gui returns the following error:

    Caffe will be downloaded from source now. NOTE: This process might take several minutes depending
            on your internet connection.
    Already on 'master'
    
    M	CMakeLists.txt
    Your branch is up-to-date with 'origin/master'.
    
    Caffe will be built from source now.
    CMake Error at /usr/share/cmake-3.5/Modules/ExternalProject.cmake:1915 (message):
      No download info given for 'openpose_caffe' and its source directory:
    
       /home/naoskin/openpose/3rdparty/caffe
    
      is not an existing non-empty directory.  Please specify one of:
    
       * SOURCE_DIR with an existing non-empty directory
       * URL
       * GIT_REPOSITORY
       * HG_REPOSITORY
       * CVS_REPOSITORY and CVS_MODULE
       * SVN_REVISION
       * DOWNLOAD_COMMAND
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/ExternalProject.cmake:2459 (_ep_add_download_command)
      CMakeLists.txt:392 (ExternalProject_Add)
    

    Executed Command (if any)

    CMake-gui according to installation guide.

    OpenPose Output (if any)

    None.

    Type of Issue

    You might select multiple topics, delete the rest:

    • Compilation/installation error

    Your System Configuration

    Operating system (lsb_release -a in Ubuntu):

    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 16.04.3 LTS
    Release:	16.04
    Codename:	xenial
    

    Installation mode: CMake-gui

    CUDA version: CUDA Version 8.0.61 cuDNN version: ver. 5.1.10 Release or Debug mode?: release 3-D Reconstruction module added?: no GPU model nvidia-smi 384.111 GeForce GTX 106 Caffe version: Default from OpenPose - or at least trying OpenCV version: pre-compiled `apt-get install libopencv-dev` (only Ubuntu) Compiler (gcc --version in Ubuntu): 5.4.0 20160609

    installation 
    opened by svarnypetr 36
  • 3D demo (Windows)  TDatums size problem in wQueueAssembler.hpp

    3D demo (Windows) TDatums size problem in wQueueAssembler.hpp

    Issue Summary

    I am trying to run 3D reconstruction using two webcam, each one can work fine on 2D mode.

    I modify the WUserInput in 9_synchronous_custom_all.cpp, then I got a Error message says there should be only 1 element per TDatums.

    I am confused about it, TDatums is a vector of Datum but the 3D mode requires only 1 per TDatums ? Where should I put the second webcam's Datum ?

    Any help with this would be much appreciated!

    My custom WUserInput

        std::shared_ptr<std::vector<UserDatum>> workProducer()
        {
            try
            {
    		cv::Mat fram1, fram2;
    		cap1.read(fram1);
    		cap2.read(fram2);
    
    		auto datumsPtr = std::make_shared<std::vector<UserDatum>>();
    
    		datumsPtr->emplace_back();
    		auto& datum = datumsPtr->at(0);
    		datum.cvInputData = fram1;
    
    		datumsPtr->emplace_back();
    		auto& datum2 = datumsPtr->at(1);
    		datum2.cvInputData = fram2;
    
    		return datumsPtr;
            }
    

    Error message from wQueueAssembler.hpp

     // Sanity check
     if (tDatums->size() > 1)
            error("This function assumes that WQueueSplitter (inside WDatumProducer)"
            " was applied in the first place, i.e., that there is only 1 element"
            " per TDatums (size = " + std::to_string(tDatums->size()) + ").",
            __LINE__, __FUNCTION__, __FILE__);
    auto tDatum = (*tDatums)[0];
    

    Executed Command

    --3d --number_people_max 1

    Errors

    Error: This function assumes that WQueueSplitter (inside WDatumProducer) was applied in the first place, i.e., that there is only 1 element per TDatums (size = 2).

    Type of Issue

    • Help wanted
    • Question

    System Configuration

    Operating system : Windows 10 Installation mode: VS 2017 Enterprise CUDA version : CUDA 10.0 cuDNN version: v 7.3 CMake version : 3.13.0 Release or Debug mode? : Release 3-D Reconstruction module added? : Yes GPU model (nvidia-smi in Ubuntu): Nvidia GTX 1060 Caffe version: Default from OpenPose

    3-D 
    opened by Linshiyuan 35
  • openpose.bin does not seem to take advantage of multiple GPU's

    openpose.bin does not seem to take advantage of multiple GPU's

    Issue summary

    Executing ./build/examples/openpose/openpose.bin does not seem to take advantage of multiple GPU's even tho multiple GPUs are detected as indicated by the output message: "Auto-detecting GPUs... Detected 2 GPU(s), using them all."

    Regardless if one GPU or two GPU's are used, the processing for a single image in the image_dir is the same. Approximately: 4.1 - 4.2 seconds.

    I noted in the following readme that multiple GPU's are for training, only? Is that still the case?

    Currently Multi-GPU is only supported via the C/C++ paths and only for training.

    https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/3rdparty/caffe/docs/multigpu.md

    Note: I'm using a Google Compute instance with NVIDIA Tesla K80 GPU's.

    Executed command (if any)

    ./build/examples/openpose/openpose.bin --image_dir images --write_keypoint /var/www/html/images -write_keypoint_format xml --keypoint_scale 3 --no_display --render_pose 0

    I've also tried specifying '-num_gpu 2' versus '-num_gpu 1'.

    (I'm only retrieving the keypoint data and not generating an output image.)

    OpenPose output (if any)

    Starting pose estimation demo. Auto-detecting GPUs... Detected 2 GPU(s), using them all. Starting thread(s) Real-time pose estimation demo successfully finished. Total time: 4.150646 seconds.

    Type of issue

    • Help wanted

    Your system configuration

    Operating system (lsb_release -a in Ubuntu): No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename: xenial

    CUDA version (cat /usr/local/cuda/version.txt in most cases): CUDA Version 8.0.61

    cuDNN version: (cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2) #define CUDNN_MAJOR 5 #define CUDNN_MINOR 1 #define CUDNN_PATCHLEVEL 10

    GPU model (nvidia-smi in Ubuntu): +-----------------------------------------------------------------------------+ | NVIDIA-SMI 375.66 Driver Version: 375.66 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla K80 Off | 0000:00:04.0 Off | 0 | | N/A 29C P8 28W / 149W | 15MiB / 11439MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla K80 Off | 0000:00:05.0 Off | 0 | | N/A 29C P8 28W / 149W | 0MiB / 11439MiB | 0% Default | +-------------------------------+----------------------+----------------------+

    +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1976 G /usr/lib/xorg/Xorg 15MiB | +-----------------------------------------------------------------------------+

    Caffe version: Default from OpenPose or custom version. Default from OpenPose.

    OpenCV version: 2.4.9.1, installed with apt-get install libopencv-dev (Ubuntu)

    Generation mode (only for Ubuntu): Makefile + Makefile.config (default, Ubuntu)

    Compiler (gcc --version in Ubuntu): gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

    help wanted/question 
    opened by appleweed 34
  • openpose-1.3.0-win64-cpu-binaries is error:Cublas won't be available.

    openpose-1.3.0-win64-cpu-binaries is error:Cublas won't be available.

    I use openpose-1.3.0-win64-cpu-binaries.zip

    when I run exe, it's error.

    openpose-1.3.0-win64-cpu-binaries> bin/OpenPoseDemo.exe --video examples/media/video.avi Starting pose estimation demo. Starting thread(s) E0423 15:19:01.718263 6652 common.cpp:123] Cannot create Cublas handle. Cublas won't be available. E0423 15:19:01.729264 6652 common.cpp:130] Cannot create Curand generator. Curand won't be available. F0423 15:19:01.737263 6652 cudnn_conv_layer.cpp:52] Check failed: error == cudaSuccess (35 vs. 0) CUDA driver version is insufficient for CUDA runtime version *** Check failure stack trace: *** openpose-1.3.0-win64-cpu-binaries>

    cpu-binaries needs cuda?

    bug/typo fixed/added in newer versions CPU only 
    opened by nanako-ut 32
  • How hard would it be to port to mobile? (iOS/Android)

    How hard would it be to port to mobile? (iOS/Android)

    I'm looking for hand recognition that works on a mobile device. The videos from OpenPose are the best results that I've seen.

    Two questions:

    1. When will the hand recognition stuff be available? (Sick of that question yet? 😜 )
    2. What are the obstacles to making this work on mobile?

    I saw issue #27, but I was also looking at Tensorflow as a possibility.

    I expect that reducing the size of the model will be necessary for practical use on mobile since wireless download and fast startup are important features, and it's okay to lose some quality for the sake of performance.

    I'm pretty new to this stuff, so excuse me if I'm totally wrong. Any input at all would be greatly appreciated.

    help wanted/question stale/old 
    opened by kibiz0r 32
  • macOS - protobuf compilation errors

    macOS - protobuf compilation errors

    Steps to reproduce

    • Clone repo
    • bash 3rdparty/osx/install_deps.sh
    • mkdir build
    • cd build
    • cmake-gui (configure and generate with the non default settings below)
    • sudo make inside the build directory fails due to protobuf errors.

    Type of Issue

    • Compilation/installation error

    Your System Configuration

    • macOS High Sierra 10.13.4
    • MacBook Pro (Retina, 13-inch, Early 2015)
    • Processor: 2.7 GHz Intel Core i5
    • RAM: 16 GB 1867 MHz DDR3

    Non-default settings

    • GPU_MODE=CPU_ONLY and WITH_EIGEN=BUILD

    Using commit c8e3879

    Description

    Compilation fails on mac with numerous errors in the protobuf lib:

    In file included from /usr/local/include/google/protobuf/wire_format_lite_inl.h:43:
    /usr/local/include/google/protobuf/message_lite.h:117:3: error: unknown type name 'constexpr'
      constexpr const T& get() const { return reinterpret_cast<const T&>(union_); }
      ^
    /usr/local/include/google/protobuf/message_lite.h:117:13: error: expected member name or ';' after declaration specifiers
      constexpr const T& get() const { return reinterpret_cast<const T&>(union_); }
      ~~~~~~~~~ ^
    /usr/local/include/google/protobuf/message_lite.h:110:11: error: use of undeclared identifier 'union_'
        new (&union_) T();
              ^
    /usr/local/include/google/protobuf/message_lite.h:114:5: error: use of undeclared identifier 'get_mutable'
        get_mutable()->~T();
        ^
    /usr/local/include/google/protobuf/message_lite.h:131:48: error: found '<::' after a template name which forms the digraph '<:'
          (aka '[') and a ':', did you mean '< ::'?
    
    In file included from /usr/local/include/google/protobuf/wire_format_lite_inl.h:44:
    /usr/local/include/google/protobuf/repeated_field.h:123:39: error: expected ';' at end of declaration list
      RepeatedField(RepeatedField&& other) noexcept;
                                          ^
    /usr/local/include/google/protobuf/repeated_field.h:124:50: error: expected ';' at end of declaration list
      RepeatedField& operator=(RepeatedField&& other) noexcept;
                                                     ^
    /usr/local/include/google/protobuf/repeated_field.h:778:45: error: expected ';' at end of declaration list
      RepeatedPtrField(RepeatedPtrField&& other) noexcept;
                                                ^
    /usr/local/include/google/protobuf/repeated_field.h:779:56: error: expected ';' at end of declaration list
      RepeatedPtrField& operator=(RepeatedPtrField&& other) noexcept;
                                                           ^
    /usr/local/include/google/protobuf/repeated_field.h:1090:68: error: expected ';' at end of declaration
    inline RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
                                                                       ^
    /usr/local/include/google/protobuf/repeated_field.h:1090:69: error: unknown type name 'noexcept'
    inline RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
                                                                        ^
    /usr/local/include/google/protobuf/repeated_field.h:1091:5: error: expected unqualified-id
        : RepeatedField() {
        ^
    /usr/local/include/google/protobuf/repeated_field.h:1103:27: error: expected ';' at end of declaration
        RepeatedField&& other) noexcept {
                              ^
    /usr/local/include/google/protobuf/repeated_field.h:1103:28: error: C++ requires a type specifier for all declarations
        RepeatedField&& other) noexcept {
                               ^
    /usr/local/include/google/protobuf/repeated_field.h:1103:36: error: expected ';' after top level declarator
        RepeatedField&& other) noexcept {
                                       ^
    /usr/local/include/google/protobuf/repeated_field.h:1928:30: error: expected ';' at end of declaration
        RepeatedPtrField&& other) noexcept
                                 ^
    /usr/local/include/google/protobuf/repeated_field.h:1928:31: error: unknown type name 'noexcept'
        RepeatedPtrField&& other) noexcept
                                  ^
    /usr/local/include/google/protobuf/repeated_field.h:1929:5: error: expected unqualified-id
        : RepeatedPtrField() {
        ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    
    Mac OS 
    opened by codyrushing 31
  • Jetson TX2 JetPack 3.1 install scripts

    Jetson TX2 JetPack 3.1 install scripts

    Use : ./ubuntu/install_caffe_and_openpose_JetsonTX2_JetPack3.1.sh

    Jetson TX2 with JetPack 3.1 install scripts, I advise to use the following parameters with the demo :

    • external webcam
    • camera_resolution 640x480
    • net_resolution 128x96
    • face_net_resolution or hand_net_resolution 256x256
    enhancement fixed/added in newer versions 
    opened by bushibushi 30
  • Is it possible to use OpenPose output of x and y coordinates to detect rotating movement?

    Is it possible to use OpenPose output of x and y coordinates to detect rotating movement?

    Issue Summary

    I did some research on OpenPose and the output is x and y coordinates with confidence point. x and y coordinates are good for detecting up, down, left, and right movements. I was wondering is it possible to detect turning movements. Turning usually happens on the z axis. Is there a way to tell if body part has rotated 180 degrees with x and y coordinate.

    I had few ideas like calculating the slope of the hand line. The slope tells us if the hand is tilted or not. If the slope is high or very low then the hand has rotated. Same concept for all other body parts. But I don't think that will work in all cases.

    OpenPose Output (if any)

    To review the output of open pose go here https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/02_output.md

    Type of Issue

    Select the topic(s) on your post, delete the rest:

    • Question
    opened by kingofjong 0
  • Cmake-Gui not installing python3 libs even though BUILD_PYTHON was selected.

    Cmake-Gui not installing python3 libs even though BUILD_PYTHON was selected.

    Issue Summary

    cmake-gui not installing python3 libs for openpose even though BUILD_PYTHON and include python shared libs option was chosen during cmake-gui configure and generate step.

    Executed Command (if any)

    Note: add --logging_level 0 --disable_multi_thread to get higher debug information.

    1. cmake-gui configure, generate.
    2. cd build && sudo make install
    3. ls /home/ijet/openpose/python/openpose CMakeLists.txt init.py openpose_python.cpp pycache

    Errors (if any)

    python3 01_body_from_image.py

    Error: OpenPose library could not be found. Did you enable BUILD_PYTHON in CMake and have this Python script in the right folder? cannot import name 'pyopenpose' from partially initialized module 'openpose' (most likely due to a circular import) (/home/ijet/openpose/examples/tutorial_api_python/../../python/openpose/init.py)

    Select the topic(s) on your post, delete the rest:

    • Compilation/installation error
    • Execution error
    • Help wanted
    • Question

    System Configuration

    Your System Configuration

    OpenPose version:
    Latest commit 
    
    General configuration:
        Installation mode: CMake
        Operating system: Ubuntu
        Operating system version: Ubuntu 22.04 LTS
        Release or Debug mode: Release
    
    3rd-party software:
        Caffe version: Default from OpenPose
        CMake version: 3.14.0
        OpenCV version: 3.2.0
    
    If Python API:
        Python version: 3.10
    
    opened by rakshithsinghgm 0
  • Facing cuDNN version error in cmake while building openpose solution

    Facing cuDNN version error in cmake while building openpose solution

    Posting rules

    1. No duplicated posts, only 1 new post opened a day, and up to 2 opened a week. Otherwise, extrict user bans will occur.
      • Check the FAQ section, other GitHub issues, and general documentation before posting. E.g., low-speed, out-of-memory, output format, 0-people detected, installation issues, ...).
      • Keep posting all your issues in the same post.
      • No bans if you are unsure whether the post is duplicated!
    2. Fill all the Your System Configuration section if you are facing an error or unexpected behavior. Some posts (e.g., feature requests) might not require it.
    3. No questions about training or 3rd party libraries:
      • OpenPose only implements testing. For training, check OpenPose train.
      • Caffe errors/issues: Check Caffe documentation.
      • CUDA/cuDNN check failed errors: They are usually fixed by re-installing CUDA, then re-installing the proper cuDNN version, then rebooting, and then re-installing OpenPose. Otherwise, check Nvidia/CUDA/cuDNN forums.
      • OpenCV errors: Install the default/pre-compiled OpenCV or check for OpenCV online help.
    4. Set a proper issue title: Add the OS (Ubuntu, Windows) and be specific (e.g., do not call it: Error).
    5. Only English comments.
    6. Remove these posting rules from your post but follow them! Posts which do not follow these rules will be ignored/deleted and those users banned with no further clarification.

    Issue Summary

    I facing the error related to cuDNN version while building openpose using cmake. Please inform which CUDA and cuDNN verison should I install to build openpose using cmake in ubuntu GPU machine.

    The error is as follows: CMake Error at cmake/Modules/FindCuDNN.cmake:47 (message): cuDNN version >3 is required. Call Stack (most recent call first): CMakeLists.txt:425 (find_package)

    Executed Command (if any)

    Note: add --logging_level 0 --disable_multi_thread to get higher debug information.

    OpenPose Output (if any)

    Errors (if any)

    CMake Error at cmake/Modules/FindCuDNN.cmake:47 (message): cuDNN version >3 is required. Call Stack (most recent call first): CMakeLists.txt:425 (find_package)

    Type of Issue

    Select the topic(s) on your post, delete the rest:

    • Compilation/installation error
    • Execution error
    • Help wanted
    • Question
    • Enhancement / offering possible extensions / pull request / etc
    • Other (type your own type)

    Your System Configuration

    1. Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK

    2. OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release section (e.g., 1.2.0)? Latest Github code

    3. General configuration:

      • Installation mode: CMake, sh script, manual Makefile installation, ... (Ubuntu); CMake, ... (Windows); ...?
      • Operating system (lsb_release -a in Ubuntu):
      • Operating system version (e.g., Ubuntu 16, Windows 10, Ubuntu20.04 ...):
      • Release or Debug mode? (by default: release):
      • Compiler (gcc --version in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...? gcc --version 9.4.8
    4. Non-default settings:

      • 3-D Reconstruction module added? (by default: no):
      • Any other custom CMake configuration with respect to the default version? (by default: no):
    5. 3rd-party software:

      • Caffe version: Default from OpenPose, custom version, ...?
      • CMake version (cmake --version in Ubuntu): 3.16.3
      • OpenCV version: pre-compiled apt-get install libopencv-dev (only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?
    6. If GPU mode issue:

      • CUDA version (cat /usr/local/cuda/version.txt in most cases): 11.2
      • cuDNN version: 8.7.0.84
      • GPU model (nvidia-smi in Ubuntu): 525.60.11
    7. If CPU-only mode issue:

      • CPU brand & model:
      • Total RAM memory available:
    8. If Python API:

      • Python version: 2.7, 3.7, ...?
      • Numpy version (python -c "import numpy; print numpy.version.version" in Ubuntu):
    9. If Windows system:

      • Portable demo or compiled library?
    10. If speed performance issue:

    opened by Hizafa-Nadeem 0
  • Python API

    Python API

    Hi, I am trying to run some python examples, but I am unable to do so. I checked Build python while doing the Cmake-configuration and I can also see the following folder, but whenever I try to run I get the following error stating "cannot import pyopenpose"

    Executed Command (if any)

    Note: add --logging_level 0 --disable_multi_thread to get higher debug information.

    python2 01_body_from_image.py --logging_level 0 --disable_multi_thread

    OpenPose Output (if any)

    image

    Errors (if any)

    Error: OpenPose library could not be found. Did you enable BUILD_PYTHON in CMake and have this Python script in the right folder? cannot import name pyopenpose

    Type of Issue

    Select the topic(s) on your post, delete the rest:

    • Help wanted
    • Question

    Your System Configuration

    1. Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK

    2. OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release section (e.g., 1.2.0)? 1.7.0

    3. General configuration:

      • Installation mode: CMake, sh script, manual Makefile installation, ... (Ubuntu); CMake, ... (Windows); ...?
      • Operating system (lsb_release -a in Ubuntu): Ubuntu
      • Operating system version (e.g., Ubuntu 16, Windows 10, ...): Ubuntu 18
      • Release or Debug mode? (by default: release):
      • Compiler (gcc --version in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?
    4. Non-default settings:

      • 3-D Reconstruction module added? (by default: no):
      • Any other custom CMake configuration with respect to the default version? (by default: no):
    5. 3rd-party software:

      • Caffe version: Default from OpenPose, custom version, ...?
      • CMake version (cmake --version in Ubuntu):
      • OpenCV version: pre-compiled apt-get install libopencv-dev (only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?
    6. If GPU mode issue:

      • CUDA version (cat /usr/local/cuda/version.txt in most cases):
      • cuDNN version:
      • GPU model (nvidia-smi in Ubuntu):
    7. If CPU-only mode issue:

      • CPU brand & model:
      • Total RAM memory available:
    8. If Python API:

      • Python version: 2.7, 3.7, ...?
      • Numpy version (python -c "import numpy; print numpy.version.version" in Ubuntu):
    9. If Windows system:

      • Portable demo or compiled library?
    10. If speed performance issue:

    opened by mobeeniqbal101 2
  • Hand Standalone Detector

    Hand Standalone Detector

    Hi, I am trying to run the stand alone detector using the example given here: https://cmu-perceptual-computing-lab.github.io/openpose/web/html/doc/md_doc_advanced_standalone_face_or_hand_keypoint_detector.html

    But I am getting the following error, can you suggest what might be the cause ? Because it is giving a syntax error where it should'nt be any.

    image

    opened by mobeeniqbal101 0
  • Windows: Inference speed depends greatly on GUI

    Windows: Inference speed depends greatly on GUI

    Issue Summary

    OpenPose inference speed depends largely on the presence of the GUI display. If I turn off the display (--display=0 --render_pose=0 --cli_verbose=1), OpenPose runs at a speed of about 2 fps. If I turn on the display, and keep it in focus, OpenPose runs with about 12 fps. If I turn on the display, but don't give it focus (i.e. I bring another window to the foreground), OpenPose runs with about 1 fps.

    Why does the algorithm depend so heavily on the presence/focus of the GUI? Is there anything I can do to run OpenPose at a high speed without showing the GUI or having to keep its window in focus? Thank you in advance.

    Executed Code (Python)

    params = dict()
    
    params["video"] = "C://path/to/video.mkv"
    
    params["model_folder"] = "./models/"
    params["body"]         = 1
    params["face"]         = False
    params["hand"]         = False
    params["3d"]           = False
    params["model_pose"]   = "BODY_25"
    
    params["display"]      = 0
    params["render_pose"]  = 0
    params["cli_verbose"]  = 1
    
    opWrapper = op.WrapperPython(op.ThreadManagerMode.Synchronous)
    opWrapper.configure(params)
    opWrapper.execute()
    

    Your System Configuration

    1. OpenPose version: Latest GitHub code

    2. General configuration: Installation mode: Using the opWrapper with the latest released binaries Operating System: Windows 10 Pro 22H2 Release or Debug mode: Release

    3. 3rd-party software: Caffe version: Default from OpenPose OpenCV version: OpenPose default

    4. If GPU mode issue: CUDA version: 11.4 cuDNN version: None GPU model: Nvidia GeForce RTX 3090

    5. If Python API: Python version: 3.7.9 Numpy version: 1.21.6

    6. If Windows system: Portable demo

    opened by RM-8vt13r 0
Releases(v1.7.0)
Prompt-BERT: Prompt makes BERT Better at Sentence Embeddings

Prompt-BERT: Prompt makes BERT Better at Sentence Embeddings Results on STS Tasks Model STS12 STS13 STS14 STS15 STS16 STSb SICK-R Avg. unsup-prompt-be

196 Jan 08, 2023
DTCN IJCAI - Sequential prediction learning framework and algorithm

DTCN This is the implementation of our paper "Sequential Prediction of Social Me

Bobby 2 Jan 24, 2022
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

Light Gradient Boosting Machine LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed a

Microsoft 14.5k Jan 08, 2023
Implementation of algorithms for continuous control (DDPG and NAF).

DEPRECATION This repository is deprecated and is no longer maintaned. Please see a more recent implementation of RL for continuous control at jax-sac.

Ilya Kostrikov 288 Dec 31, 2022
Code and Experiments for ACL-IJCNLP 2021 Paper Mind Your Outliers! Investigating the Negative Impact of Outliers on Active Learning for Visual Question Answering.

Code and Experiments for ACL-IJCNLP 2021 Paper Mind Your Outliers! Investigating the Negative Impact of Outliers on Active Learning for Visual Question Answering.

Sidd Karamcheti 50 Nov 16, 2022
COCO Style Dataset Generator GUI

A simple GUI-based COCO-style JSON Polygon masks' annotation tool to facilitate quick and efficient crowd-sourced generation of annotation masks and bounding boxes. Optionally, one could choose to us

Hans Krupakar 142 Dec 09, 2022
Hack Camera, Microphone, Location, Clipboard With Just a Link. Also, Get Many Details About Victim's Device. And So On...

An Automated Tool to Hack Victim's Camera, Microphone, Location, Clipboard. Has 2 Extra Features. Version 1.1 Update Fixed Some Major Bugs Data Saving

ToxicNoob 36 Jan 07, 2023
Out-of-Domain Human Mesh Reconstruction via Dynamic Bilevel Online Adaptation

DynaBOA Code repositoty for the paper: Out-of-Domain Human Mesh Reconstruction via Dynamic Bilevel Online Adaptation Shanyan Guan, Jingwei Xu, Michell

198 Dec 29, 2022
Source code and data from the RecSys 2020 article "Carousel Personalization in Music Streaming Apps with Contextual Bandits" by W. Bendada, G. Salha and T. Bontempelli

Carousel Personalization in Music Streaming Apps with Contextual Bandits - RecSys 2020 This repository provides Python code and data to reproduce expe

Deezer 48 Jan 02, 2023
Code for Transformer Hawkes Process, ICML 2020.

Transformer Hawkes Process Source code for Transformer Hawkes Process (ICML 2020). Run the code Dependencies Python 3.7. Anaconda contains all the req

Simiao Zuo 111 Dec 26, 2022
百度2021年语言与智能技术竞赛机器阅读理解Pytorch版baseline

项目说明: 百度2021年语言与智能技术竞赛机器阅读理解Pytorch版baseline 比赛链接:https://aistudio.baidu.com/aistudio/competition/detail/66?isFromLuge=true 官方的baseline版本是基于paddlepadd

周俊贤 54 Nov 23, 2022
RE3: State Entropy Maximization with Random Encoders for Efficient Exploration

State Entropy Maximization with Random Encoders for Efficient Exploration (RE3) (ICML 2021) Code for State Entropy Maximization with Random Encoders f

Younggyo Seo 47 Nov 29, 2022
Code for "Training Neural Networks with Fixed Sparse Masks" (NeurIPS 2021).

Code for "Training Neural Networks with Fixed Sparse Masks" (NeurIPS 2021).

Varun Nair 37 Dec 30, 2022
Official Implementation for HyperStyle: StyleGAN Inversion with HyperNetworks for Real Image Editing

HyperStyle: StyleGAN Inversion with HyperNetworks for Real Image Editing Yuval Alaluf*, Omer Tov*, Ron Mokady, Rinon Gal, Amit H. Bermano *Denotes equ

885 Jan 06, 2023
Official repository of "DeepMIH: Deep Invertible Network for Multiple Image Hiding", TPAMI 2022.

DeepMIH: Deep Invertible Network for Multiple Image Hiding (TPAMI 2022) This repo is the official code for DeepMIH: Deep Invertible Network for Multip

Junpeng Jing 67 Nov 22, 2022
Code and models for "Rethinking Deep Image Prior for Denoising" (ICCV 2021)

DIP-denosing This is a code repo for Rethinking Deep Image Prior for Denoising (ICCV 2021). Addressing the relationship between Deep image prior and e

Computer Vision Lab. @ GIST 36 Dec 29, 2022
Quantized tflite models for ailia TFLite Runtime

ailia-models-tflite Quantized tflite models for ailia TFLite Runtime About ailia TFLite Runtime ailia TF Lite Runtime is a TensorFlow Lite compatible

ax Inc. 13 Dec 23, 2022
Repository of continual learning papers

Continual learning paper repository This repository contains an incomplete (but dynamically updated) list of papers exploring continual learning in ma

29 Jan 05, 2023
Simple image captioning model - CLIP prefix captioning.

Simple image captioning model - CLIP prefix captioning.

688 Jan 04, 2023