Kinect for Windows SDK Programming Guide - 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 am more than happy to do especially if it is along the lines of game development, x-platform or in this case new and exciting technology. I am fair and upfront and do not bow to publisher pressures, if it is good I will say so but just as much if I do not like it be prepared.

So far I have 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

src=

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, it is 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 in to the implementation surrounding the depth sensor (ban pun I know), it really shows you how the Kinect understands 3D data and how it recognises 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 recognising poses in the environment the Kinect sees but also face recognition and for those fans of security, he walks through the creation of a intrusion detection app to warn you of unwanted guests need your favorite things, like your computer (waning 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 is 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 wit the Kinect as possible.

Chapter 8: Speech Recognition

Microsoft did not 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 show how to make the best use out of this and even extend it is capabilities with our own vocabularies and grammar recognition through the extensibility built in to 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 recognise the base gestures and how to implement our own. What I did find interesting is the way we can even do gesture blending / chaining to build new types of gestures to recognise, 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 Knect controller. be prepared, be very prepared.


Thoughts

src=

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

The Good

src=

src= Each chapter is very well through out and steps you through each component of the device / API including very detailed examples.
src= 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.
src= Full working sample projects that are only a stones throw away from being something submittable to a marketplace
src= Covers 3D application for the Kinect, not just theory
src= The final chapter is a work of art and almost an entire book on it is own. Showing how to use Azure with the Kinect is a stroke of genius

The Bad

src=

src= The highlights do become annoying switching from a good thought process to explaining things to a child. A bit OTT in areas but easily skipable if you do not need it.
src= 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.
src= Some of the math concept seem forced in and do not get explained enough or do not really fit in with the area.


Conclusion

src=

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 nick 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

kick it on DotNetKicks.com Shout it



Bookmark and Share CodeProject

Simon (darkside) Jackson

Simon (darkside) Jackson

Engineer, industry executive, research enthusiast. Avid learner with diverse interests in coding, game development, Mixed Reality (AR/VR/XR) and reinforcement learning. 25+ years of experience working in multinational corporations and startups.

Comments

  Write a comment ...