ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

openni_tracker moving kinect loses user

asked 2011-06-20 16:22:19 -0500

JoeRomano gravatar image

updated 2016-10-24 09:01:13 -0500

ngrennan gravatar image

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.

edit retag flag offensive close merge delete

Comments

I have the same problem, did you find a solution???

G212 gravatar image G212  ( 2016-01-08 12:43:35 -0500 )edit

Hi, any alternative solution?

ewerlopes gravatar image ewerlopes  ( 2016-06-02 02:47:39 -0500 )edit

5 Answers

Sort by ยป oldest newest most voted
0

answered 2011-06-20 23:06:18 -0500

Guido gravatar image

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

edit flag offensive delete link more
1

answered 2011-08-07 03:11:17 -0500

JoeRomano gravatar image

updated 2011-08-07 03:12:24 -0500

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.

edit flag offensive delete link more

Comments

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.
DiogoCorrea gravatar image DiogoCorrea  ( 2011-08-07 07:42:08 -0500 )edit
1
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.
Guido gravatar image Guido  ( 2011-08-09 00:38:03 -0500 )edit
0

answered 2011-08-06 14:36:02 -0500

DiogoCorrea gravatar image

updated 2011-08-06 14:38:08 -0500

Hi, I also got a segfault and a loss of user tracking when the kinect is on a mobile robot.

This is my video. At the end of the video the program lost my tracking when I approached my classmate.

http://www.youtube.com/watch?v=UBJhyU2e6Rg

Did you solve the problem of segfault and loss of user tracking?

edit flag offensive delete link more

Comments

hi, i saw your video, my problem is that when the robot is moving , the kinect looses the tracking even if the person is in the field of vision of the kinect, so can you tell me how did you do to not to loose the tracking, thanks.

idavico gravatar image idavico  ( 2014-11-07 10:11:44 -0500 )edit
1

answered 2011-06-21 04:20:30 -0500

JoeRomano gravatar image

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.

edit flag offensive delete link more
0

answered 2011-06-21 04:05:34 -0500

kwc gravatar image

The issue is with the SceneAnalyzer that is provided with NITE. It only handles stationary cameras. I've been told that if you replace the SceneAnalyzer with one that handles a moving camera, then you can feed that data into the actual skeleton tracker and get results (this assertion is unproven at this point, though).

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2011-06-20 16:22:19 -0500

Seen: 2,122 times

Last updated: Aug 07 '11