Click here to Skip to main content
15,885,366 members
Articles / Game Development / Kinect

Kinect for Windows SDK Programming Guide – A Review

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
7 Apr 2013CPOL6 min read 10.1K   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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect ZenithMoon Studios
United Kingdom United Kingdom
Long-time game developer / IT maniac.
By day I architect, design, build and deliver enriching Mixed Reality solutions to clients, bringing the work of AR/VR to light in new and interesting ways, by night I Masquerade as the Master Chief of ZenithMoon Studios, my own game development studio.

At heart, I am a community developer breaking down lots of fun and curious technologies and bringing them to the masses.

I'm also a contributor to several open-source projects, most notably, the Reality Toolkit and all the services provided by the Reality Collective, The Unity-UI-Extensions project, as well as in the past the AdRotator advertising rotator project for Windows and Windows Phone.

Currently, I spend my time fulfilling contracts in the Mixed Reality space (primarily for an XR experience firm called Ethar), writing books, technically reviewing tons of material and continuing my long tradition of contributing to open-source development, as well as delivering talks, but that goes without saying Big Grin | :-D

Mixed Reality MVP, Xbox Ambassador, MS GameDevelopment Ambassador & Best selling author:

[Accelerating Unity Through Automation](https://www.amazon.co.uk/Accelerating-Unity-Through-Automation-Offloading/dp/1484295072/ref=rvi_sccl_3/262-0817396-1418043)
[Mastering Unity 2D Game Development] (https://www.packtpub.com/game-development/mastering-unity-2d-game-development)
[Unity 3D UI Essentials] (https://www.packtpub.com/game-development/unity-3d-gui-essentials)

Comments and Discussions

 
-- There are no messages in this forum --