Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Kinect for Windows SDK Programming Guide – A Review

0.00/5 (No votes)
7 Apr 2013 2  
If you want to learn the Kinect and how to make the most of it, then this book is a really good start and one worth having on the shelf.

This article is in the Book Review chapter. Reviews are intended to provide you with information on books - both paid and free - that others consider useful and of value to developers. Read a good programming book? Write a review!

Kinect for Windows SDK Programming Guide

As I do from time to time, I get sent over a book or two to look over and give a review on which I’m more than happy to do especially if it’s along the lines of game development, x-platform or in this case new and exciting technology. I’m fair and upfront and don’t bow to publisher pressures, if it’s good I’ll say so but just as much if I don’t like it, be prepared.

So far, I’ve yet to review a stinker and in the case of Abhijit Jana’s book on the new Kinect SDK, I was not disappointed.

You can find the book here on PacktPub and here on Amazon.

What’s in Store

Image 2

The contents look like this:

Chapter 1: Understanding the Kinect Device

A through breakdown of what it took to make the Kinect device and how it works

Chapter 2: Getting Started

A simple run through the Kinect SDK and how to connect a device to your development machine, plus a few extra helpers to get you started.

Chapter 3: Starting to Build Kinect Applications

Goes through the Kinect SDK API and starts you off with your first app to wire up a sensor and monitor data.

Chapter 4: Getting the Most out of Kinect Camera

A nice leisurely introduction to the camera sensor, its capabilities and shows you how to build a simple yet effective video effects app (the techniques also stand well for understanding how cameras in general function, an added bonus)

Chapter 5: The Depth Data – Making Things Happen

This chapter happily woke up my 3D side of my brain and went deep into the implementation surrounding the depth sensor (ban pun I know), it really shows you how the Kinect understands 3D data and how it recognizes different players / characters. it reminded me of a demo that was shown where 3D depth data from a Kinect was used to create 3D printer models and their eventual printed result.

Chapter 6: Human Skeleton Tracking

If you have ever had any experience with animations and bones in 3D applications or games, then this chapter will be right up your alley, if not then prepare for a basic anatomy lesson. Here, Abhijit shows you all the magic that goes under the hood in the Kinect SDK and just how much power is leveled with the API to handle the complex nature of not just recognizing poses in the environment the Kinect sees but also face recognition and for those fans of security, he walks through the creation of an intrusion detection app to warn you of unwanted guests need your favorite things, like your computer (warning also contains pictures of the author Smile with tongue out).

Chapter 7: Using Kinect’s Microphone Array

Here, we are led through one of the Kinect less known features, the microphone sensor and API, it’s practically a whole audio studio crammed into that little Kinect box and very sophisticated (well at least to me and all audio uneducated people). With features like echo cancellation and noise suppression, it shows Microsoft really wanted to get as much data out of the environment with the Kinect as possible.

Chapter 8: Speech Recognition

Microsoft didn’t just stop with good input audio but also included a very powerful speech recognition system into the device and API, in this chapter, we are showing how to make the best use out of this and even extend its capabilities with our own vocabularies and grammar recognition through the extensibility built into the Kinect API.

Chapter 9: Building Gesture-controlled Applications

For those of you already used to Microsoft’s two latest device offerings like Windows Phone and Windows 8, they will be familiar with gesture recognition. Here, we are shown how this is implemented on a programmatic level through the Kinect, how to recognize the base gestures and how to implement our own. What I did find interesting is the way in which we can even do gesture blending / chaining to build new types of gestures to recognize, fun stuff.

Chapter 10: Developing Applications Using Multiple Kinects

Here, we go through the requirements of setting up multiple Kinects and what to expect from doing so, for just those occasions where just one Kinect may not be enough, fair warning may need additional cash investment beyond the second Kinect device for optimum performance.

Chapter 11: Putting Things Together

The one chapter that really shocked me, just when you thought it was safe to come out of the cupboard, Abhijit unleashes the dogs of war with an onslaught of additional material including great additional frameworks to help you on your journey to AR, face tracking and even using XNA avatars with the Kinect controller. Be prepared, be very prepared.

Thoughts

Image 4

My thoughts are varied on this book but still heavily weighted on the very good side, here’s a simple breakdown of my thoughts:

The Good

Image 5

  • Each chapter is very well through out and steps you through each component of the device / API including very detailed examples.
  • The attention to in depth and detailed technical detail is very easy to understand, Abhijit has done a very good job of explaining technical subjects to even a basic programmer.
  • Full working sample projects that are only a stones throw away from being something submittable to a marketplace.
  • Covers 3D application for the Kinect, not just theory.
  • The final chapter is a work of art and almost an entire book on it’s own. Showing how to use Azure with the Kinect is a stroke of genius

The Bad

Image 6

  • The highlights do become annoying switching from a good thought process to explaining things to a child. A bit OTT in areas but easily skippable if you don’t need it.
  • Highlights some of the tricky areas for using the device / API but no real solutions, could have given some extensions with the code API instead of a fixed example.
  • Some of the math concept seem forced in and don’t get explained enough or don’t really fit in with the area.

Conclusion

Image 7

Overall, I really enjoyed this book and it makes me want to pick up a device and actually start running with it, the samples / examples provide a really good base from where you can expand and put your own mark on the map. I struggled to come up with bad points about this book as it is well formed so they are really just nit picking at best (mild annoyances) as it was such a good read.

If you want to learn the Kinect and how to make the most of it, then this book is a really good start and one worth having on the shelf.

You can find the book here on PacktPub and here on Amazon.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here