Microsoft is looking to
bring motion capture and gesture capabilities to the business world via its
Kinect platform. The company has released a software development kit (SDK) that
enables the USB connectable device to be plugged into any Windows PC, allowing
software developers to motion-enable their applications.
The Kinect software development kit will give software developers tools to
create applications that use motion-sensing and hand gestures. Microsoft
expects developers to come up with ideas that could be applied in a business
environment and generate huge paydays.
"I think it could be a
meaningful business," said Anoop Gupta, a scientist in Microsoft Research
who is overseeing the project.
Microsoft’s Kinect was
originally released as an add-on for the company’s XBOX 360 gaming system, with
the intention of replacing game controllers with intelligent motion capture. To
accomplish that, Microsoft designed the Kinect device to capture and understand
3D movements in real-time and to associate a user’s movements with a particular
action. Kinect’s success was almost instantaneous, with a total of 8 million
units sold within 60 days of launch in November 2010, earning it a Guinness
World Record for the fastest-selling consumer electronics device, with an
average of 133,333 units sold per day.
To date, sales have
surpassed 10 million units. The device’s potential beyond a game controller is
significant — the motion controller opens doors to application across multiple
fields, from advances in robotics, to enhanced presentations, to medical
research. In the past, sensors and cameras used for capturing the motion of 3-D
objects were either cumbersome and expensive, or cheap and unreliable. At just
$150, the lightweight, compact Kinect is capable of capturing real-time 3-D
motion at an affordable price.
With the SDK, software
developers can access the Kinect’s video, microphone and depth sensors to build
applications that work with the low-level data streams taken in by the
hardware. The SDK also allows coders to access some of the more high-level
capabilities, such as noise and echo cancellation, and skeletal tracking –
which make gesture-navigation in applications possible.
However, the opportunity to
create commercial applications is somewhat limited by the SDK’s EULA, which
clearly states that the SDK is for non-commercial use. That limits solution providers
to creating prototype solutions and learning about the devices functionality.
However, that will not be the end with Kinect, Microsoft will be releasing a
commercial SDK in the near future, allowing software developers to fully
commercialize their solutions.
The opportunity for the
channel can be significant, especially when one considers the vertical market
opportunities. Software developers will have the ability to use motion and
gesture control in most any custom application. Take presentations, for
example, where a presenter could advance slides, control applications on a
projected screen or change the focus of a presentation using natural gestures.
Other applications include the ability to use gestures to move objects on a
screen (think CAD) or enhance video conferencing capabilities. Consider the
recent acquisition of Skype.
If developed and deployed
properly, a Kinect-enabled solution could become a viable alternative to touch
screen technologies, physical pointing devices and perhaps even keyboards. The
Kinect device incorporates a high quality microphone, as well as a high quality
video camera, which could be paired with voice recognition software to enhance
the interactivity of an application.
Of course, solution providers will need to come up with their own ideas to
build a profitable application based upon Kinect. The idea here is to innovate
and be the first to market with that innovation, or better yet, build a custom
solution that leverages Kinect’s capabilities for a vertical market.
With that in mind, Microsoft
has positioned the Kinect for Windows SDK beta as a programming toolkit for
application developers, allowing academic and enthusiast communities to access
the capabilities offered by the Microsoft Kinect device connected to computers
running the Windows 7 operating system.
The Kinect for Windows SDK
beta includes drivers, rich APIs for raw sensor streams and human motion
tracking, installation documents, and resource materials. However, the SDK is
focused on Microsoft-sourced application development tools, basically working
only with C++, C#, or Visual Basic by using Microsoft Visual Studio 2010.
This SDK includes the
following features:
-
Raw sensor streams: Access to raw data streams from the depth sensor, color
camera sensor, and four-element microphone array enables developers to build
upon the low-level streams that are generated by the Kinect sensor. -
Skeletal tracking: The capability to track the skeleton image of one or two
people moving within the Kinect field of view make it easy to create
gesture-driven applications. -
Advanced audio capabilities: Audio processing capabilities include
sophisticated acoustic noise suppression and echo cancellation, beam formation
to identify the current sound source, and integration with the Windows speech
recognition API. -
Sample code and documentation: The SDK includes more than 100 pages of
technical documentation. In addition to built-in help files, the documentation
includes detailed walkthroughs for most samples provided with the SDK. -
Easy installation: The SDK installs quickly, requires no complex configuration,
and the complete installer size is less than 100 MB.
Developers can get up and
running in just a few minutes with a standard standalone Kinect sensor unit
(widely available at retail outlets).
Microsoft has not yet offered
an official release date for the commercial version of the SDK, however the
company has stated it will be available in the near future.