Skip to content

xjock/deepstream-openpose

 
 

Repository files navigation

deepstream-openpose

1. Run CMU pose demo

Platform: xavier, Jetpack 4.3 with DeepStream 4.0.2

Notes:

  1. Porting to Tesla/x86 platform should be easy.
  2. CUDA_cublas_device_LIBRARY NOTFOUND issue -> Solution
  3. Refer to openpose/scripts/ubuntu/install_deps.sh to install deps libs.
  4. Refer to openpose/models/getModels.sh to fetch models
  5. Build.
    $ cmake -D CMAKE_BUILD_TYPE=Debug ..
    $ make -j4
    
  6. These demos can work.
    $ ./build/examples/openpose/openpose.bin
    $ ./build/examples/tutorial_api_cpp/01_body_from_image_default.bin
    $ ...
    

It show like this.

2. Deploy pose coco model by DeepStream 4.0.2

Model: pose/coco/pose_iter_440000.caffemodel, pose/coco/pose_deploy_linevec.prototxt

Pipeline:

filesrc -> jpegparse -> nvv4l2decoder -> nvstreammux -> nvinfer (openpose and 18 parts parse) nvsegvidsual -> nvmultistreamtiler -> (nvegltransform) -> nveglglessink

Build libnvds_infer.so

$ cd libs/nvinfer
$ make
Backup /opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_infer.so
$ sudo ln -sf $(pwd)/libnvds_infer.so /opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_infer.so 

Build openpose-app

$ cd openpose_app
$ make
Change nvinfer_config.txt "model-file" and "proto-file" to be your path
 model-file=
 proto-file=

Run

$ ./openpose-app ./nvinfer_config.txt COCO_val2014_000000000564.jpg

3. TODO

Add dsexample plugin after nvinfer and do resize_merge, nms and BodyPartConnector, and show result by nvosd like the below.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 79.1%
  • C 12.7%
  • Cuda 5.6%
  • Makefile 2.6%