Author: Greg Borenstein
Aimed at: Kinect enthusiasts
Pros: Lots of hands-on projects
Cons: Uses the open source drivers so misses some features
Reviewed by: Harry Fairhead
At last a book about how to use the Kinect to do interesting things.
The most important thing to know about this book is that it deals with using the Kinect via the open source drivers and mostly using the Processing language. It is not about using the official Microsoft SDK or one of the .NET languages. There is nothing wrong with the open source approach, and many people would prefer to use it, but there are some features it doesn't let you gain access too.
The first chapter of the book is a bit of a waste if what you real want is the technology. It has a number of interviews with "Kinect Artists" and an overview of how the Kinect works. However, not to worry too much about the way the book starts, because it very soon gets into a sequence of projects.
Chapter 2 describes how to get everything installed and working. From here we learn how to access the depth image and create a wireless tape measure, track ?? using the nearest object algorithm and even make a start on a "minority report" type interface. Notice that this chapter is over 50 pages and covers a lot of ground.
Chapter 3 is about point clouds and has projects that draw and use the point cloud using Processing's 3D facilities. This is another very big chapter and at the end we have two major projects - a virtual drum kit and some augmented reality.
The next chapter marks a slight change in topic, in that up to this point we have been working with raw depth data. Now we move on to work with skeleton data. The PrimeSense body tracking software isn't as good as the Microsoft tracker and the first part of the chapter deals with the problems of how to calibrate it. After this we have some projects that rely on using the skeleton data - joint distances, background removal and hand tracking. Some bigger projects bring the chapter to a close - exercise measurement and dance move triggers for audio.
Chapter 5 is more specialized and you will need some sort of 3D printer to join in the project. The topic is scanning for fabrication and it covers details of how to convert a depth image into a 3D mesh that can then be used with a 3D printer to create the object.
Chapter 6 is about robotics and while it does cover a lot of interesting ideas - mainly forward and inverse kinematics - it hardly gets started. If robotics is your main interest you might be disappointed not to see more complex topics covered in this short chapter.
The book closes with a look at other languages and frameworks and ideas for projects.
Overall this is an excellent book. It's not without weak points but is excellent nevertheless. If you want to get up to speed with using the Kinect, and you are happy using Processing as the language of choice, then simply go and buy a copy - it will save you hours of work and lets you step up to the more interesting problems in using the Kinect in projects.
If you prefer to use the Microsoft SDK and C#, see I-Programmer's evolving e-book Practical Windows Kinect in C#