On July 6, March 18, 2013, Microsoft updated the SDK for Kinect. The current version number has reached 1.7.
The latest SDK can be downloaded from the developer download page: Kinect developer downloads.
The new SDK adds support for press for selection and grip and move for scrolling gestures.
In addition, corresponding examples are provided for 3D image reconstruction.
The following is the original introduction of new features, from http://msdn.microsoft.com/en-us/library/jj663803.aspx#SDK_1pt7
This release provides extends new features, all part of the developer toolkit 1.7.0. the SDK/runtime v1.7 will contain in minor changes.
Introducing new Kinect interactions
We 've built a new interactions framework which providesPre-packaged, reusableComponents that allow for even more exciting interaction possibilities. these components are supplied in both native and managed packages for maximum flexibility, and are also provided as a set of WPF controls. among the new features are:
- Press for selection.This provides, along with the new kinectinteraction controls, improved selection capability and faster interactions. If you're familiar with previous Kinect for Windows interaction capabilities, this replaces the hover select concept.
- Grip and move for scrolling.This provides, along with the new kinectinteraction controls, 1-to-1 manipulation for more precise scrolling, as well as large fast scrolls with a fling motion. if you're familiar with previous Kinect for Windows interaction capabilities, this replaces the hover scroll model.
New interactions work best with the following setup:
- User stands 1.5-2.0 meters away from the sensor
- Sensor mounted directly above or below the screen showing the application, and centered
- Screen Size <46 inches
- Avoid extreme tilt angles
- As always, avoid lots of natural light and reflective materials for more reliable tracking
Engagement model enhancements
The engagement model determines which user is currently interacting with the Kinect-enabled application.
This has been greatly enhanced to provide more natural interaction when a user starts interacting with the application, and specifically ly when the sensor detects multiple people. developers can also now override the supplied engagement model as upper.
APIS, samples, and DLL details
A set of WPF interactive controls are provided to make it easy to inmo-ate these interactions into your applications.
Two samples use these controls: controlsbasics-WPF and interactiongallery-WPF. the controls can also be installed in source form via toolkit browser-> "components"-> Microsoft. kinect. toolkit. controls.
Interactiongallery-WPF uses the new kinectinteraction controls in a customized app experience that demonstrates examples of navigation, engagement, article reading, picture viewing, video playback, and panning with grip. it was designed for 1920x1080 resolution screens in landscape layout.
For those building applications with UI technologies other than WPF, the lower level interactionstream APIs (native or managed) are available to build on top of. Native DLLs for interactionstream are kinect_interaction170_32.dll and between under% Kinect_toolkit_dir % \ redist. Managed DLL for interactionstream is Microsoft. Kinect. toolkit. Interaction. dll found in% Kinect_toolkit_dir % \ assemblies.
There is no sample of interactionstream API usage, however, Microsoft. Kinect. toolkit. Controls source code (see info about controls samples abve) is available and is a great example of using interactionstream.
Kinect Fusion
Kinectfusion provides 3D object scanning and model creation using a Kinect for Windows sensor. the user can paint a scene with the Kinect camera and simultaneously see, and interact with, a detailed 3D model of the scene. kinect fusion can be run at interactive rates on supported GPUs, and can run at non-interactive rates on a variety of hardware. running at non-interactive rates may allow larger volume reconstructions.
Kinect fusion samples:
- Kinect fusion basics-WPF, Kinect fusion basics-D2d: demonstrates basic use of the Kinect fusion APIs for 3D reconstruction.
- Kinect fusion Explorer-WPF, Kinect fusion Explorer-D2d: demonstrates advanced 3D reconstruction features of Kinect fusion, allowing adjustment of parameter reconstruction parameters, and export of reconstructed meshes.
Kinect fusion tech specs
Kinect fusion can process data either on a DirectX 11 compatible GPU with C ++ amp, or on the CPU, by setting the reconstruction Processor type during reconstruction volume creation. the CPU processor is best suited to offline processing as only modern DirectX 11 GPUs will enable real-time and interactive frame rates during reconstruction.
Minimum hardware requirements for GPU Based Reconstruction
DirectX 11 compatible graphics card.
Kinect fusion has been tested on the NVIDIA geforce gtx560, And the amd radeon 6950. these cards, or higher end cards from the same product lines are expected to be able to run at interactive rates.
For those building applications with technologies other than WPF, the lower level fusion APIs (native or managed) are available to build on top of. Native DLLs for fusion are kinect_fusion170_32.dll and kinect_fusion170_64.dll under% Kinect_toolkit_dir % \ redist. Managed DLL for fusion is Microsoft. Kinect. toolkit. fusion. dll found in% Kinect_toolkit_dir % \ assemblies.
Recommended hardware
Desktop PC with 3 GHz (or better) multi-core processor and a graphics card with 2 GB or more of dedicated on-board memory. kinect fusion has been tested for high-end scenarios on a NVIDIA geforce gtx680 and AMD radeon HD 7850.
Note: It is possible to use Kinect fusion on laptop class GPU hardware, but this typically runs significantly slower than desktop-class hardware. in general, aim to process at the same frame rate as the Kinect sensor (30fps) to enable the most robust camera pose tracking.
Getting started with Kinect fusion (important !)
- Ensure you have compatible hardware (see tech specs section above ).
Download and install the latest graphics display drivers for your GPU.
Kinect sensor chooser-native
The Kinect sensor chooser is a native component that allows simplified management of the Kinect sensor lifetime, and an enhanced user experience when dealing with missing sensors, unpowered sensors, or sensors that get unplugged while an application is running. it provides similar capabilities to the kinectsensorchooser in the Microsoft. kinect. toolkit component. A nuisensorchooserui control is also provided for use in native applications. it provides a user experience similar to the managed kinectsensorchooserui.
Introducing new samples!
- Controls basics-WPF: demonstrates the new kinectinteraction controls, including hands-free button pressing and scrolling through large lists. This replaces the basic interactions sample from previous releases.
- Interaction gallery-WPF: demonstrates basic interactions using the new kinectinteraction controls.
- Kinectbridge with MATLAB basics-D2d: demonstrates how to do image processing with the Kinect sensor using Matlab API.
- Kinectbridge with opencv basics-D2d: demonstrates how to do image processing with the Kinect sensor using opencv API.
- Kinect Explorer-D2d: demonstrates how to use the Kinect's colorimagestream, depthimagestream, skeletonstream, and audiosource with C ++ and direct2d. This replaces the skeletalviewer C ++ sample.
- Kinect fusion basics-WPF, Kinect fusion basics-D2d: demonstrates basic use of the Kinect fusion APIs for 3D reconstruction.
- Kinect fusion Explorer-WPF, Kinect fusion Explorer-D2d: demonstrates advanced 3D reconstruction features of Kinect fusion, allowing adjustment of parameter reconstruction parameters, and export of reconstructed meshes.