1

Currently I am using the DTWGestureRecognizer open source tool for Kinect SDK v1.5. I have recorded a few gestures and use them to navigate through Windows 7. I also have implemented voice control for simple things such as opening PowerPoint, Chrome, etc.

My main issue is that the application uses quite a bit of my CPU power which causes it to become slow. During gestures and voice commands, the CPU usage sometimes spikes to 80-90%, which causes the application to be unresponsive for a few seconds. I am running it on a 64 bit Windows 7 machine with an i5 processor and 8 GB of RAM. I was wondering if anyone with any experience using this tool or Kinect in general has made it more efficient and less performance hogging.

Right now I removed sections which display the RGB video and the Depth video but even doing that did not make a big impact. Any help is appreciated, thanks!

Ray
  • 325
  • 4
  • 15
  • I would try to do some profiling to identify the bottleneck. I haven't done any kinect development so I cannot be more specific. – Ali Jun 22 '12 at 15:59

1 Answers1

0

Some of the factors I can think of are

  • Reduce the resolution.
  • Reduce the frames being recorded/processed by the application using polling model i.e. OpenNextFrame(int millisecondsWait) method of DepthStream, ColorStream & SkeletonStream instead of event model.
  • Tracking mode is Default instead of Seated(sensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Default) as seated consumes more resources.
  • Use sensor.MapDepthFrameToColorFrame instead of calling sensor.MapDepthToColorImagePoint method in a loop.
  • Last and most imp. is the algorithm used in the open source tool.
Atul Verma
  • 2,012
  • 15
  • 8
  • Thanks! Yeah that last one seems the like the most performance hogging and hardest to fix, but I shall work on it. – Ray Jun 25 '12 at 13:24
  • So I reduced the resolution by about half and reduced the number of frames being captured, however, I am still having performance issues. It did slightly improve, and I am grateful for your tips, but I was wondering if you looked at the algorithm used in the tool. It looks a little complicated and am not sure where to start improving it. Thanks again for all your help! – Ray Jun 25 '12 at 16:42