Skeltrack: Open Source skeleton tracking

2,584 views
Skip to first unread message

Joaquim Rocha

unread,
Mar 21, 2012, 8:51:45 AM3/21/12
to openk...@googlegroups.com
Hi guys,

Yesterday I released Skeltrack, a FOSS library for skeleton tracking.
This might be interesting for those who want an alternative to Microsoft SDK or OpenNI.

For more details check out the announcement post (and a video):

The example shown in the video uses GFreenect, a Freenect wrapper we also developed at Igalia.

You can check the code at GitHub:


I'm thinking of adding it to the OpenKinect wiki, perhaps someone might wanna contribute to it.

Cheers,

KyleDunn

unread,
Mar 23, 2012, 7:29:25 PM3/23/12
to openk...@googlegroups.com
I am able to successfully compile your skeltrack code but it segfaults at runtime. The test programs for GFreenect and libfreenect both seem to interface with the Kinect properly. Have others successfully been able to get this running on Linux?

Joaquim Rocha

unread,
Mar 24, 2012, 5:23:40 AM3/24/12
to openk...@googlegroups.com
Hey Kyle,

A colleague of mine tried Skeltrack before and it worked flawlessly.

If you are able to get a backtrace, I could try to check what's wrong.
Otherwise it is gonna be difficult.

--
Joaquim Rocha
http://www.joaquimrocha.com

Murilo Saraiva de Queiroz

unread,
Mar 24, 2012, 9:58:49 AM3/24/12
to openk...@googlegroups.com
Hi, Joaquim.

Do you have plans for implementing the other features presented in the Baak's paper? I found it very interesting because it combines two very different approaches (one loosely related by the skeleton tracking done by PrimeSense code, which considers previous frames to infer the current pose, and the other one similar to Microsoft strategy, which uses a single frame for detection).

Murilo

KyleDunn

unread,
Mar 24, 2012, 5:20:40 PM3/24/12
to openk...@googlegroups.com
Joaquim,
 
Here is the gdb backtrace:
 
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffed26a700 (LWP 23254)]
0x00000000004044ad in freenect_open_device ()
(gdb) bt
#0  0x00000000004044ad in freenect_open_device ()
#1  0x00007ffff76ca096 in init_sync (initable=<optimized out>,
    cancellable=0x0, error=0x7fffed269cf8) at gfreenect-device.c:741
#2  0x00007ffff76ca1b6 in init_in_thread (_data=<optimized out>)
    at gfreenect-device.c:775
#3  0x00007ffff687e5d6 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007ffff6169b2a in start_thread () from /lib64/libpthread.so.0
#5  0x00007ffff5eb685d in clone () from /lib64/libc.so.6

KyleDunn

unread,
Mar 24, 2012, 6:27:42 PM3/24/12
to openk...@googlegroups.com
Forgot to mention, I'm able to run cppview from libfreenect and gfreenect's test python program. Running on Gentoo.

Joaquim Rocha

unread,
Mar 25, 2012, 1:27:00 PM3/25/12
to openk...@googlegroups.com
Hi Murilo,

I was told that the database steps of Baak's paper might make things slow so and although they offer good things such as pose querying and more stability, I think that we will rather focus on doing the best we can without having to consult a database.

So, overall, my intentions are to improve Skeltrack but without using a database.

Theodore Watson

unread,
May 25, 2012, 6:12:38 PM5/25/12
to openk...@googlegroups.com
Hi Joaquim,

The library looks really nice.

I was wondering if you have any plans of releasing a non glib version? 
It would make using it on osx and win32 even iOS a lot easier. 

Also another contentious question :) any chance of a BSD, MIT, APACHE or LGPL license? 

All the best!
Theo
----------------------------------------------
Theo Watson
----------------------------------------------

Joaquim Rocha

unread,
May 25, 2012, 6:19:34 PM5/25/12
to openk...@googlegroups.com
Hey Theo,

On Sat, May 26, 2012 at 12:12 AM, Theodore Watson <theo....@gmail.com> wrote:
Hi Joaquim,

The library looks really nice.

I was wondering if you have any plans of releasing a non glib version? 
It would make using it on osx and win32 even iOS a lot easier. 

Hmm, we use quite some Glib stuff but what's the matter? Glib should build in Windows and iOS (at least I think it does).
 

Also another contentious question :) any chance of a BSD, MIT, APACHE or LGPL license? 

Skeltrack is LGPL:

I would love to see you using Skeltrack. Mind that it's still a young library so there might be some improvements needed. Feel free to ask questions and open issues ;-)

Theodore Watson

unread,
May 25, 2012, 6:43:28 PM5/25/12
to openk...@googlegroups.com
Hi Joaquim,
Thanks for the quick reply!

I think coming from a community where we have to support a lot of different platforms I usually prefer libraries which use minimal dependancies.
What was nice about libfreenect was it used the bare minimum it needed to to get the job done. This meant getting it to work on mac and windows was a pretty easy task. 

I'm going to play with getting Skeltrack running on os x and see how much work it is. ( I know it is a lot to ask to rip gio and glib out of the project :)
In general though the closer it is to vanilla c or c++ the easier it will be to have other people join in on the project. 

Anyway congratulations - it looks like a really nice alternative to OpenNi and Microsoft's SDK. 

Skeltrack is LGPL:
Ahh sorry - I mis-read the license header. 
Thats great!

All the best,
Theo 

Joaquim Rocha

unread,
May 27, 2012, 1:36:33 PM5/27/12
to openk...@googlegroups.com
Hi,

On Sat, May 26, 2012 at 12:43 AM, Theodore Watson <theo....@gmail.com> wrote:
I think coming from a community where we have to support a lot of different platforms I usually prefer libraries which use minimal dependancies.
What was nice about libfreenect was it used the bare minimum it needed to to get the job done. This meant getting it to work on mac and windows was a pretty easy task. 

I'm going to play with getting Skeltrack running on os x and see how much work it is. ( I know it is a lot to ask to rip gio and glib out of the project :)
In general though the closer it is to vanilla c or c++ the easier it will be to have other people join in on the project. 

Right. The thing is that I prefer C for libraries and Glib gives you cool stuff like object orientation, async API (GIO) and GObject Introspection (usage from Python/Js/etc. without having to develop bindings).

Let me know if it's too much trouble or not to have it in Win/OSX.
 

Anyway congratulations - it looks like a really nice alternative to OpenNi and Microsoft's SDK. 

Thanks!

Reply all
Reply to author
Forward
0 new messages