I wish to program with the Kinect ToF camera, however I am not certain of the hardware and software requirements to do so. I have come across a number of articles/books that cover this topic, but there seems to be some inconsistencies that have left me somewhat confused.
Questions
What Kinect product do I need to buy to ensure that I have all the necessary components for using it for software development on a computer? (i.e. all cables included "in-the-box")
What are the hardware requirements of the development system (cpu, ram, etc)?
What are the drivers, development frameworks, and other software components for Kinect development? From these, what are needed, what are strongly recommended, and what are optional?
Please note that I do not want to be locked into developing within a Windows environment, although I would like the option to do so. I also have no intention of developing commercial applications at this time.
The depth and motion sensing technology at the core of the Kinect is enabled through its depth-sensing. The original Kinect for Xbox 360 used structured light for this: the unit used a near-infrared pattern projected across the space in front of the Kinect, while an infrared sensor captured the reflected light pattern.
Kinect Sensor Software Kinect understands how a human being moves and assumes, for example, that we are unable to turn our heads 360º and other impossible actions that we can perform. This is very simple for us, but for a machine it involves a long learning period. This type of learning is known as machine learning.
To use your existing Xbox One Kinect Sensor with a new Xbox One S or Xbox One X console, you'll need an Xbox Kinect Adapter. The Kinect sensor and Kinect Adapter have been discontinued. You can still use your Kinect with your Xbox 360 or Xbox One, but the sensor is not compatible with Xbox Series X|S consoles.
Applications created using the Kinect for Windows SDK 2.0 also work on computers running Windows 10 Home Edition. I have that operating system on my at-home desktop and laptop computers. The Kinect for Windows SDK is available here. Follow the installation instructions.
Drivers/libraries:
As p.campbell mentioned, the Official Kinect SDK is one option. With that, you've got quite a lot of features avialable like skeleton tracking and speech recognition, but you're constrained to Windows and .NET.
one other option is the opensource OpenKinect/libreenect driver which runs on osx/windows/linux and has wrappers for quite a few languages (like actionscript,c#,java,matlab,python,ruby,etc.), but bare in mind this gives access to the device(rgb/depth/ir data, accelerometer data,led/motor access), but doesn't include complex algorithms like skeleton tracking/speech recognition.
another opensource option is OpenNI (that runs on linux/windows/osx) which allows you to access rgb/depth/ir data, but currently there's no implementation for motor/led/accelerometer/audio. Still, it includes skeleton tracking, hand tracking and also gesture recognition. You can use OpenNI with C/C++/Java/.net/Unity3D
If you are used to creative coding environments, there are wrappers for most of them also:
Depending on what OS/language and Kinect features you need to use, you should be able to make your choice.
Also note that if you can use OpenNI with other depth cameras like Asus Xtion.
There are two kind of Kinect Sensor: the Kinect Sensor for XBox and the Kinect Sensor for Windows.If you alreay have Xbox and its accessory Kinect Sensor for XBox,you can use it .If you want to develop for commercial ,you should buy a Kinect Sensor for Windows.The Kienct Sensor for Windows have some amazing features such as Near Model while Kinect Sensor for XBox didn't have. And the Kinect Sensor for Windows are more compatible with the Official Kinect SDK.
I develope Kinect application on Windows and the system minimum requirement are :
I am not familiar with other platform,but i thinks the hardware requirements are more or less same.
For drivers,as far as I know,there are two popular driver for Kinect sensor: Official Kinect SDK and Primesense OpenNI ,those two driver provide api that has their own characteristics,but there are some tips about which one should be best at some circumstances:
If you are want to develop Kinect application on Windows platform,I strongest suggest you use the newest Kinect SDKs for Windows 1.6.It has a plent of documentary and Demo int the DevelopToolKit ,and have Kinect Studio helps you to debug during application.The Channel9 website has a special block on Kinect development which has a lot of examples and ideas about Kinect development. Kinect SDKs for Windows 1.6 support the Windows 7/Windows 8 OS. The only drawback is that Kinect SDK only support Windows platform. But from the SDK 1.6,it supprot the windows runing on virtual machine such as Microsoft HyperV,VMWare and Parallels.
If you want to develop on other platform ,OpenNI maybe the best choice.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With