Git Product home page Git Product logo

derzu / bodyskeletontracker Goto Github PK

View Code? Open in Web Editor NEW
121.0 16.0 45.0 442 KB

Human body skeleton detection an tracking from video camera in real time. It was developed for an Orbbec Astra camera DRGB (Depth-RGB), uses the OpenNI2 driver, it also works with Asus Xtion and Prime sense. It works with normal webcam too, in the case of background is smooth and white.

License: MIT License

Makefile 4.70% C++ 95.30%
orbbec openni2 skeleton-tracking xtion asus-xtion orbbec-astra depth-rgb skeleton-generator skeleton primesense

bodyskeletontracker's Introduction

BodySkeletonTracker

Description

Human body skeleton detection and tracking from video camera in real time. It was developed for an Orbbec Astra camera DRGB (Depth-RGB), uses the OpenNI2 driver, it should also works with Asus Xtion and Prime Sense. It works with normal webcam, in the case of background is smooth.

Currently it detects just the joints of head, shoulders, elbows and hands. A new version can be developed to also detect also feets and knees.

Descrição

Detecção e rastreamento de um esqueleto humano a partir de câmera de vídeo em tempo real. Foi desenvolvido para a câmera DRGB (Depth-RGB) Orbbec Astra, utilizando o driver OpenNI2, funciona também com o Asus Xtion e Prime Sense. Funciona também com webcam normal, caso o background seja liso e branco.

Video Exemple

IMAGE ALT TEXT HERE

Requirements

  • OpenCV library (just for line/circle drawing and window frame showing)
  • OpenNI2 library
  • It was developed and tested on Ubuntu 14.04. Should work at any Linux, maybe Mac and Windows too.

Compile and run

$ source ~/Downloads/OpenNI-Linux-x64-2.3/OpenNIDevEnvironment (set your path appropriately)
$ cd BodySkeletonTracker
$ make
$ cd Bin/x64-Release/
$ ./BodySkeletonTracker

bodyskeletontracker's People

Contributors

derzu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bodyskeletontracker's Issues

opencv2/core.hpp: No such file or directory

I was trying to compile the code,
but make gave me the following error:

In file included from src/DrawAux.cpp:1:0:
include/DrawAux.h:1:28: fatal error: opencv2/core.hpp: No such file or directory
 #include <opencv2/core.hpp>
                            ^
compilation terminated.
make: *** [Bin/Intermediate/x64-Release/BodySkeletonTracker/DrawAux.o] Error 1

the code is not finding opencv2/core.hpp but it successfully installed and I can find it under: /usr/include/opencv2/core/core.hpp
what should I do to make it visible to the code?
Thanks

Use video as input

Hi, Thank you for the great work.

Based on my application, I hope I can use video as input.

May i have your suggestions to achieve it?
Any help is much appreciated!

make error

thanks for your source code.

I try to make it, but /usr/bin/ld: cannot find -lippicv error occured

what is it? And what should I do to solve it ? please help me !

Thank you

The algorithm

Nice work.
I wonder what algorithm do you use.
Is there a paper to support your code?

Cross compiling - opencv2/highgui.hpp: No such file or directory

Hi,

I am trying to cross compile the library for an ARM machine with my host machine Ubuntu 16.04.
However the make command results in the following error.

arm-linux-gnueabi-g++ -MD -MP -MT "./Bin/Intermediate/Arm-Release/BodySkeletonTracker/Skeleton.d Bin/Intermediate/Arm-Release/BodySkeletonTracker/Skeleton.o" -c -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard  -O3 -fno-tree-pre -fno-strict-aliasing -ftree-vectorize -ffast-math -funsafe-math-optimizations  -flax-vector-conversions -DUNIX -DGLX_GLXEXT_LEGACY -DDEPTH --sysroot=Staging -O2 -DNDEBUG -Iinclude -I/home/manolis/OpenNI-Linux-x64-2.3/Include -DXN_NEON -fPIC -fvisibility=hidden -Werror -o Bin/Intermediate/Arm-Release/BodySkeletonTracker/Skeleton.o src/Skeleton.cpp
In file included from src/Skeleton.cpp:1:0:
include/Skeleton.h:4:31: fatal error: opencv2/highgui.hpp: No such file or directory
compilation terminated.
CommonCppMakefile:133: recipe for target 'Bin/Intermediate/Arm-Release/BodySkeletonTracker/Skeleton.o' failed
make: *** [Bin/Intermediate/Arm-Release/BodySkeletonTracker/Skeleton.o] Error 1

Note that I have successfully compiled and run natively the code for my host x86 machine.
So what am I missing?

Thanks a lot

compile BodySkeletonTracker for webcam

Hey Derzu,
We wanted to run the code for webcam, so I comment out this line in Makefile。
#CFLAGS += -DDEPTH

It was compiled successfully. But when I tried to run BodySkeletonTracker , I got the following error:

james@james-virtual-machine:~/BodySkeletonTracker/Bin/x64-Release$ ./BodySkeletonTracker 
main::Compilado SEM Depth
Compilado SEM Depth
select timeout
select timeout
OpenCV Error: Assertion failed (total() == 0 || data != __null) in Mat, file /home/james/opencv/modules/core/include/opencv2/core/mat.inl.hpp, line 500
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/james/opencv/modules/core/include/opencv2/core/mat.inl.hpp:500: error: (-215) total() == 0 || data != __null in function Mat

Aborted (core dumped)

Could you please help me understand this?

Regards,
james

make Error

hi, thanks you for your source code.

i try to make it, but /usr/bin/ld: cannot find -l64 error.

what is -l64? please help me !

stackoverflow in skeleteon.cpp

Hi,
I'm trying to compile your code with astra on window.
however, I got stackoverflow at getSizeRegion...
(stack overflow occurs when many depth values ​​are received.)
what should I do?
thank you.

Makefile nodepth files missing(Viewer.cpp & Tiago.cpp)

Hey Derzu,

We tried running your BodySkeletonTracker. We wanted to run the code for webcam, but Viewer.cpp and Tiago.cpp files are missing. Could you please point us to the locations of these files ? Is there any other way to get it executed. We used the depth makefile, but we don't have a depth camera.

Thanks,
Nilofer

Failed when the distance over 2m

Hi Derzu,

Thank you for sharing your code, and it's a good project.
I used an Orbbec Astra Pro camera, set DEPTH, compiled with windows, but facing two problems.
First, the skeleton tracking is not right, every joint is wrong. Second, it failed when the distance over 2m, is this normal?

Thanks a lot

Build Errors

Hi,
Thank you for creating and sharing your work.
I've been trying to build it for a quick test but I've got a few error that I am not sure how to resolve considering all the paths seem correct.

/usr/bin/ld: cannot find -lnppial
/usr/bin/ld: cannot find -lnppicc
/usr/bin/ld: cannot find -lnppicom
/usr/bin/ld: cannot find -lnppidei
/usr/bin/ld: cannot find -lnppif
/usr/bin/ld: cannot find -lnppig
/usr/bin/ld: cannot find -lnppim
/usr/bin/ld: cannot find -lnppist
/usr/bin/ld: cannot find -lnppisu
/usr/bin/ld: cannot find -lnppitc
/usr/bin/ld: cannot find -llib64

collect2: error: ld returned 1 exit status
CommonCppMakefile:139: recipe for target 'Bin/x64-Release/BodySkeletonTracker' failed
make: *** [Bin/x64-Release/BodySkeletonTracker] Error 1

I am working on Ubuntu 16.04 and using Primesense sensor. The sensor works fine otherwise which means OpenNI2 is installed correctly.
Can you please help?

Thanks,
Fraz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.