Are you sure you want to delete this access key?
nvidia-smi
command checks the available GPU memory in Ubuntu).Note: These requirements assume the default configuration (i.e. --net_resolution "656x368"
and num_scales 1
). You might need more (with a greater net resolution and/or number of scales) or less resources (with smaller net resolution and/or using the MPI and MPI_4 models).
Highly important: This script only works with CUDA 8 and Ubuntu 14 or 16. Otherwise, check Manual Compilation.
apt-get install libopencv-dev
. If you have compiled OpenCV 3 by your own, follow Manual Compilation. After both Makefile.config files have been generated, edit them and uncomment the line # OPENCV_VERSION := 3
. You might alternatively modify all Makefile.config.UbuntuXX
files and then run the scripts in step 2.opencv_contrib
module by default. Assuming you have OpenCV 3 compiled with the contrib module and you want to use it, append opencv_contrib
at the end of the line LIBRARIES += opencv_core opencv_highgui opencv_imgproc
in the Makefile
file.sudo apt-get install libatlas-base-dev
. Instead of Atlas, you can use OpenBLAS or Intel MKL by modifying the line BLAS := atlas
in the same way as previosuly mentioned for the OpenCV version selection.chmod u+x install_caffe_and_openpose.sh
./install_caffe_and_openpose.sh
Alternatively to the script installation, if you want to use CUDA 7, avoid using sh scripts, change some configuration labels (e.g. OpenCV version), etc., then:
Install the Caffe prerequisites.
Compile Caffe and OpenPose by running these lines:
### Install Caffe ###
cd 3rdparty/caffe/
# Select your desired Makefile file (run only one of the next 4 commands)
cp Makefile.config.Ubuntu14_cuda_7.example Makefile.config # Ubuntu 14, cuda 7
cp Makefile.config.Ubuntu14.example Makefile.config # Ubuntu 14, cuda 8
cp Makefile.config.Ubuntu16_cuda_7.example Makefile.config # Ubuntu 16, cuda 7
cp Makefile.config.Ubuntu16.example Makefile.config # Ubuntu 16, cuda 8
# Change any custom flag from the resulting Makefile.config (e.g. OpenCV 3, Atlas/OpenBLAS/MKL, etc.)
# Compile Caffe
make all -j${number_of_cpus} && make distribute -j${number_of_cpus}
### Install OpenPose ###
cd ../../models/
./getModels.sh # It just downloads the Caffe trained models
cd ..
# Same file cp command as the one used for Caffe
cp Makefile.config.Ubuntu14_cuda_7.example Makefile.config
# Change any custom flag from the resulting Makefile.config (e.g. OpenCV 3, Atlas/OpenBLAS/MKL, etc.)
make all -j${number_of_cpus}
NOTE: If you want to use your own Caffe distribution, follow the steps on Custom Caffe
section and later re-compile the OpenPose library:
chmod u+x install_openpose.sh
./install_openpose.sh
Note: These steps only need to be performed once. If you are interested in making changes to the OpenPose library, you can simply recompile it with:
make clean
make all -j$(NUM_CORES)
Highly important: There are 2 Makefile.config.Ubuntu##.example
analogous files, one in the main folder and one in 3rdparty/caffe/, corresponding to OpenPose and Caffe configuration files respectively. Any change must be done to both files (e.g. OpenCV 3 flag, Atlab/OpenBLAS/MKL flag, etc.). E.g. for CUDA 8 and Ubuntu16: 3rdparty/caffe/Makefile.config.Ubuntu16.example and Makefile.config.Ubuntu16.example.
If you updated some software that our library or 3rdparty use, or you simply want to reinstall it:
make clean && cd 3rdparty/caffe && make clean
You just need to remove the OpenPose folder, by default called openpose/
. E.g. rm -rf openpose/
.
pip install numpy protobuf hypothesis
.Windows
branch of Openpose by either cliking on Download ZIP
on openpose/tree/windows or cloning the repository: git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose/ && git checkout windows
.C:\openpose
: cd C:\openpose\3rdparty\caffe\caffe-windows
.scripts\build_win.cmd
. It will take several minutes.
Does D:\openpose\3rdparty\caffe\caffe-windows\build\..\..\include\caffe specify a file name or directory name on the target (F = file, D = directory)?
, select D
.{openpose_path}\windows_project\OpenPose.sln
.OpenPoseDemo
--> Set as StartUp Project
.Debug
by Release
mode.{openpose_folder}\models\pose\coco\pose_iter_440000.caffemodel
.{openpose_folder}\models\pose\mpi\pose_iter_160000.caffemodel
.{openpose_folder}\3rdparty\caffe\caffe-windows\build\install\bin\
on the exe folder: {openpose_folder}\windows_project\x64\Release
.opencv_ffmpeg310_64.dll
, opencv_video310.dll
and opencv_videoio310.dll
from {openpose_folder}\3rdparty\caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\bin\
on the exe folder: {openpose_folder}\windows_project\x64\Release
.Check that the library is working properly by using any of the following commands. Note that examples/media/video.avi
and examples/media
exist, so you do not need to change the paths. In addition, the following commands assume your terminal (Ubuntu) or cmd (Windows) are located in the OpenPose folder.
1. Running on Video
# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi
:: Windows - Demo
bin\OpenPoseDemo.exe --video examples/media/video.avi
:: Windows - Library
windows_project\x64\Release\OpenPoseDemo.exe --video examples/media/video.avi
2. Running on Webcam
# Ubuntu
./build/examples/openpose/openpose.bin
:: Windows - Demo
bin\OpenPoseDemo.exe
:: Windows - Library
windows_project\x64\Release\OpenPoseDemo.exe
3. Running on Images
# Ubuntu
./build/examples/openpose/openpose.bin --image_dir examples/media/
:: Windows - Demo
bin\OpenPoseDemo.exe --image_dir examples/media/
:: Windows - Library
windows_project\x64\Release\OpenPoseDemo.exe --image_dir examples/media/
4. Body Pose and Face Keypoint Detector (e.g. on Video)
# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi --face
:: Windows - Demo
bin\OpenPoseDemo.exe --video examples/media/video.avi --face
:: Windows - Library
windows_project\x64\Release\OpenPoseDemo.exe --video examples/media/video.avi --face
The visual GUI should show the original image with the poses blended on it, similarly to the pose of this gif:
If you choose to visualize a body part or a PAF (Part Affinity Field) heat map with the command option --part_to_show
, the result should be similar to one of the following images:
Q: Out of memory error - I get an error similar to: Check failed: error == cudaSuccess (2 vs. 0) out of memory
.
A: Most probably cuDNN is not installed/enabled, the default Caffe model uses >12 GB of GPU memory, cuDNN reduces it to ~1.5 GB.
Q: Low speed - OpenPose is quite slow, is it normal? How can I speed it up?
A: Check the OpenPose Benchmark to discover the approximate speed of your graphics card. Some speed tips:
1. Use cuDNN 5.1 (cuDNN 6 is ~10% slower).
2. Reduce the `--net_resolution` (e.g. to 320x176) (lower accuracy).
3. For face, reduce the `--face_net_resolution`. The resolution 320x320 usually works pretty decently.
4. Use the `MPI_4_layers` model (lower accuracy and lower number of parts).
Press p or to see the previous file or, n or to see the next file
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?