GUADEC’s over, time for Japan

GUADEC

The last couple of week were very busy for me.
Apart from having organized the GUADEC‘s keynotes (with the much appreciated help of Dave Neary and Karen), I gave two talks as mentioned in my previous post.

For the Skeltrack one I was happy that I changed the format of the talk: back in LinuxTag I talked mainly about the technical side of the library, how it worked on the inside; for GUADEC, however, I preferred to give a higher level overview of Skeltrack and other neat things we do in Igalia‘s Interactivity team. The live demo worked very well (considering it had fresh code from the previous night) and people seemed to have enjoyed it (surprisingly live demos are cooler than talking about graph stuff, go figure…) :D .

The already much praised organization was really like that. The GPUL guys know how to pull it off. So much for the European joke where “Germans organize, French cook and Spanish entertain”, huh! Congrats guys.

Vacation: BCN > Japan

In a few hours I’ll be traveling to what may very probably be the trip of my life: Japan.
Ever since I was a little kid I was very attracted to Eastern cultures. Later, when I was a teenager, I was really into anime, manga and all that stuff. Back then I already knew I wanted to work with technology but I wasn’t sure if this was something more like an artist (yes, I drew/painted and I sometimes still do it) rather than a more hardcore role like a programmer.
Thus, this Japanese “pop” culture and mainly computer games had a strong influence on why I did a CS degree and earn my life today as a programmer.

For these reasons, I am more than excited to go to Japan. I’m also staying a couple of days in Barcelona before the main trip, it’ll be my first time visiting the city as well but with all the excitement for Japan it feels like I’m just passing by some random and regular city :) Still, I’m sure tomorrow I’ll come to my senses and enjoy this beautiful Catalan city I’ve wanted to visit for a long time as well (I’ll be also stopping Igalia’s Barcelona office and I heard there is a nice roof top where my colleagues could share their beers with me).

Of course I need to mention languages when talking about traveling! Most of the Japanese I knew as a teenager is now gone but I’ll try to catch up; I got a small conversation book I haven’t read in ages but it’s gonna be a long flight anyway.

Not much in this trip has been planned in advance (picking tickets doesn’t count) so if you have some remarkable place you think I should visit, apart from the obvious ones, let me know (I’ll start off in Kyoto).
I will also probably blog about it afterwards like I’ve done for most of my main trips.

See you in Japan!

Going to GUADEC without leaving town

That’s right, this year GUADEC is taking place in the city I moved to more than 3 years ago in order to become an Igalian: A Coruña. It’s fun to see this event happening just 20 minutes walking from my place when in the previous editions I had to catch several planes in order to attend it :)

Going to GUADEC

In this year’s GUADEC, I am presenting two projects I have created:

  • OCRFeeder, the most complete OCR Free Software solution;
  • Skeltrack, the first Free Software library to perform human skeleton tracking from depth buffers such as the ones given by the Kinect.

If this sounds interesting, be sure to attend the talks or have a chat about the projects when you see me.

Since I feel pretty much like a local, I can tell you that you must not leave the town without trying “pulpo á feira” (octopus + olive oil + paprika) or, in case you’re not into cephalopods, just go to some traditional Galician bar, have a beer and enjoy the folk music of Celtic origins.

Django Workshop at Free Software Master 2012

Last weekend I gave my annual Django workshop for this year’s students of the Free Software Master that Igalia organizes.

When I started with Django it was 2007 and I was happy with its version 0.96 :)
Currently with its version 1.4, the path that it took and the improvements it has got are incredible and it is used by many interesting companies and organizations.

My presentation for this year’s workshop covers more things and is based on Django 1.4.
You can check it out below, the license is Creative Commons as usual:


(direct link to presentation in SpeakerDeck)

Skeltrack 0.1.4 “smoothie skeleton”

Here is the new version of Skeltrack, the Free Software library for human skeleton tracking from depth buffers.

Since the last release, I have presented Skeltrack at two events and built a cool demo of what can be done with this library.

What’s new

Apart from some bug fixes, this 0.1.4 version also introduces unit tests for making our development easier.
Yet, the big feature introduced in this version is the joints’ smoothing. If you have tried Skeltrack or watched the videos, you might have noticed that the skeleton is all jittery as if the joints were doing some caribbean dance. This is due to noise and other small changes in the depth buffer that happen in devices like the Kinect (and if you are wondering, it happens to the proprietary alternatives as well), so I implemented a way to smooth the joints’ jitters.

Smooth and quiet

This improvement was implemented using Holt’s Double Exponential Smoothing (which, for example, is what Microsoft’s Kinect SDK uses).
There are two properties that control this feature. The self-explanatory “enable-smoothing” property will turn the smoothing on or off and the “smoothing-factor” determines how much it should be smoothed. This value ranges from 0 to 1 and works as described in the mentioned Holt’s algorithm: values closer to 0 will give more weight to previous values of the joints as opposed to values closer to 1 that will consider the latest and current joints’ values more important. This means that values closer to 0 will offer a better smoothing but a bit of lag might be noticed so users should really choose this value themselves, as there’s no “good for all” factor. The smoothing is enabled by default with a factor of 0.5.

To show how well this might improve your Skeltrack-powered application, here is a video showing Skeltrack with the smoothing disabled and then enabled with a factor of 0.25.


(direct link to video in Vimeo)

The application shown in the video is the Kinect example we ship with Skeltrack which was also updated to allow controlling the smoothing feature.

Contribute

There are still a good number of tasks to be done that will improve Skeltrack. You can contribute too by forking the project at GitHub and sending us patches or you can of course hire Igalia to boost its development and make it rock even harder.

Let me know of any applications you’re developing with Skeltrack and how we can make it better. Check out the documentation and file some bugs if you run into trouble.

Stay smooth.