0
$\begingroup$

Rosanswers logo

I am using a kinect on the head of our PR2 robot, and I've noticed that anytime the head moves the openni_tracker loses track of the user/skeleton and thinks it has spotted a new user. I realize that the openni_tracker package is just calling the openni library functions so there is not a whole lot that can probably be done about it, but has anyone else experienced similar results? I tried some simple things like setting the head motion to very slow velocities, but it still seems to lose tracking. Too bad.


Originally posted by JoeRomano on ROS Answers with karma: 126 on 2011-06-20

Post score: 1


Original comments

Comment by G212 on 2016-01-08:
I have the same problem, did you find a solution???

Comment by ewerlopes on 2016-06-02:
Hi, any alternative solution?

$\endgroup$

3 Answers 3

0
$\begingroup$

Rosanswers logo

Hi Joe,

From a general point of view the openni skeleton tracker is not meant to work when both human and kinect are moving. Movement, especially rotations, can cause the tracker to fail and loose tracking. However, some people managed to keep tracking will doing slow translations. You can try retrieving the raw rgb and depth images and look if your motion introduces much noise.

Hope this helps,

Guido


Originally posted by Guido with karma: 514 on 2011-06-20

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$
0
$\begingroup$

Rosanswers logo

Thanks guys. It is great to get a little extra info/verification on this. I suspected the tracker wasn't written with this in mind.

For the record, in my experience: The openni_tracker doesn't actually lose the original person it was tracking, it keeps tracking them just fine. However, it does register multiple new users while it is moving. I've noticed that the openni_tracker tends to segfault when too many people enter/leave the scene. So, perhaps if the openni linux code gets more stable and can deal with all that chaos of adding and removing users you will be able to move around the kinect.


Originally posted by JoeRomano with karma: 126 on 2011-06-21

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$
0
$\begingroup$

Rosanswers logo

I had some success fixing this problem by removing the ROS openni packges and installing the lastest "unstable" version of OpenNi from source as described in this post: http://answers.ros.org/question/1631/openni-save-calibration-to-file-failed-this

It no longer segfaults (at least not yet) with the newest version of OpenNI, so a significant improvement there. But, performance is still not so great while the Kinect is moving, it tends to lose tracking and find new "phantom" users a lot.


Originally posted by JoeRomano with karma: 126 on 2011-08-07

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by Guido on 2011-08-09:
You can find the details of the kinect skeleton tracker in "Real-Time Human Pose Recognition in Parts from Single Depth Images", they specify that their work assume background substraction. And the way background substraction is done in kinect makes it fail when kinect is moving.

Comment by DiogoCorrea on 2011-08-07:
Thanks, JoeRomano. I will install the latest version of OpenNI to see what happen to me. My next step will be make a SLAM with Kinect and use the openni_tracker to detect humans.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.