Showing posts with label Kinect. Show all posts
Showing posts with label Kinect. Show all posts

Sunday, June 19, 2011

Installing and Using the Kinect Sensor

Installing the Kinect for Windows SDK
Download the 32-bit or 64-bit version of the Kinect for Windows SDK at http://research.microsoft.com/kinectsdk
Kinect Hardware Basics
image_thumb%5B3%5D.png

The Kinect Sensor consists of the following:
RGB Camera – A regular video camera that has a resolution of 640x480 at 30 frames per second
3D Depth Sensors – This is a combination of a depth projector (left reticule) and sensor (right reticule) to calculate distance. For more information, see the Tech behind Kinect video
Motorized Tilt – The motorized tilt enables you to adjust the camera up or down 27 degrees to ensure that the camera has the best possible view of you
Multi-Array Microphone – A four-microphone array that is mounted as a single microphone in Windows
Device manager

After installing the Kinect for Windows SDK and plugging in the Kinect to a USB port on your computer. Click Control Panel –> Device Manager. You should see Microsoft Kinect as shown below

image2.png

Read more: Channel9

The Minority Report Kinect SDK hacks begin

6432-minorityreport_600_super.jpg

Mark the date. This is the beginning of what I can only imagine to be a long stream of Minority Report-inspired Kinect SDK experiments.

Barely two days after the Kinect for Windows SDK beta was released, .NET developer Kevin Connolly has already successfully implemented a primitive but inspiring demo that hooks into the Windows 7 Flip 3D window management functionality, activated by gestures not from the ones used in the movie. Granted, it didn’t work perfectly, but Rome wasn’t built in a day either.

It’s funny to think just how much influence a movie nearly a decade old has had and is still having on natural user interfaces. Luckily for us, the movie was set in 2054 which means the Kinect for Windows SDK just gave us a 43-year head start. In the words of this developer, “imagine what we’ll see in a few months”.

Kinect For Windows SDK BETA Now Available

6763.960x200_5F00_EVENT_5F00_thumb_5F00_5044DFA6.jpg


It’s official! You can now start developing Windows applications that make use of Kinect! The live launch event is actually still on Channel 9 right now! Go check it out. If you’ve missed parts of the event (it started at 9:30 AM PST this morning), they’ll be available in the Channel 9 Live Events Area within 24 hours.
Want to jump right in and start playing with the SDK? Here’s what you need:

Download the SDK
Kinect Quick Starts 
   Installing and Using the Kinect Sensor 
   Setting Up Your Development Environment 
   Skeletal Tracking Fundamentals 
   Camera Fundamentals 
   Working with Depth Data 
   Audio Fundamentals

Kinect Project Gallery
Last but not least, here are some cool examples of using Kinect for Windows:
Coding4Fun Kinect Toolkit
Kinect Mouse Cursor
Kinect Paint

Read more: Dev Pulse

Monday, June 06, 2011

Want to develop for Kinect (before the SDK) with .NET - what are the options?

Let's face it - you can't wait to develop application with Kinect. The official SDK is not out yet, but you have an abundance of ideas and you have experience developing .NET applications for Windows. Do you still have to wait for the official SDK to be able to try what Kinect is capable of? Nope. There are two options you have in order to be able to build your dream application.

OpenNI.NET
OpenNI.NET is definitely the most complete framework you can get. It is a wrapper around the standard OpenNI libraries, developed by PrimeSense - the guys that sold their IR depth recognition hardware patent to Microsoft. It has everything you need, other than support for the Xbox Motor. You would need the KinectMOD for proper drivers on top of existing OpenNI libraries for proper Kinect interactions.
It might seem a bit too complicated to configure and use in the context of a .NET application, but eventually it is totally worth it given that the depth sensor and the camera are the primary components you need. The wrapper is distributed as a part of the open-source distributable package of OpenNI (if you need the source-code itself) or as a DLL (part of the binary distribution). 
One problem I found about OpenNI is the lack of decent documentation. But with enough experimentation and "challenge accepted" attitude, this can easily be dropped as an issue (hint: learn to use Reflector).

You can download OpenNI here.

OpenKinect
The most active Kinect-related project. It heavily relies on libfreenect as the foundation for everything it provides. The older version of the OpenKinect wrapper is able to provide support for the hardware motor while the newer versions don't work so well in the Windows environment. Because of compatibility problems, libfreenect is not exactly compatible with the .NET invocation scheme. That being said, trying to use the .NET build in Visual Studio will most likely cause this problem:

Read more: .NET zone

Thursday, May 19, 2011

Two for one day - A cool Kinect hack and open source 3D development platform for interactive real time 3D projects

OpenSpace3D is a free and Open Source development platform for interactive real time 3D projects. Its mains advantages are :
User friendly, you can create a whole interactive 3D scene, with great graphical quality, without writing any code.

Power, lots of functionality are directly included, realizing an OpenSpace3D application consist in linking functionalities together, and defining theirs mutual interactions.
Technological advance, our team keep searching for and integrates the last technologies in domains of virtual reality, speech recognition, and computer graphics.

Story:
As a demo, we had developed K’AndyNect, a small tunnel game, where the goal is to catch with your hand some gems coming front to you. The player got one minute at the beginning of the game, and everytime you catch a gems, you grab some points and a few more seconds to play. There’s also red colored gems which must be avoided by the player because they drops 5 seconds of the timer (this adds fun, some players were making great and fast movement to avoid them!).
...
Note that this game was created without writing any line of code: OpenSpace3D is an 3D editor which goal is to add some interactivity to a 3d scene without code. It works with logical blocks, which triggers events and receives actions.
We also package all kinect redist (OpenNi/driver/Nite), so it’s easier for end-user to use a Kinect on pc (it’s much more like clicking “next/next/next” on a unified setup instead of manually install those 3 setups, and configuring them by hand).

Thursday, April 28, 2011

InfoStrat Motion Framework

Project Description
InfoStrat Motion Framework enables you to easily use motion tracking in your WPF applications with depth sensors such as Kinect and PrimeSensor.

Read more: Codeplex

Wednesday, April 27, 2011

Real World Mapping with the Kinect

   A real-time data capture application for generating real-world coloured point clouds with the Xbox Kinect and GPS capable Android phone.
This is very immature and hacky - done entirely as a proof-of-concept. Please don't expect anything at all from this. No warranty of any kind is expressed or implied.
Some of the initialisation code used in the application is courtesy of a tutorial on the C# libfreenect wrapper at SwitchOnTheCode.
The project uses libfreenect and the .NET wrapper for same, along with OpenTK for the Matrix maths and Proj.NET for the spatial transforms.
...
...
Putting those together, one can take the depth image from the Kinect and turn it in to a metric point cloud with real distances. Then, those points can be projected back to the RGB camera centre to determine which RGB pixel corresponds to each depth point, and hence arrive a colour for each point in the cloud. This lets the surfaces captured in the image appear textured. With a bit of coding I came up with this:

screen-shot-2011-01-20-at-10-19-09-pm.png?w=600&h=565

Read more: KinectMapper

Wednesday, April 13, 2011

Kinect framework (WPF) by Tequilarapido

Project Description
This project helping people to develop with Microsoft Kinect device.
It's based on OpenNi and NITE, and allow you to develop with WPF "natively".
Giving you controls to build your UI :
- KinectPointer
- KinectButton
- KinectListbox
- KinectScrollViewer
- KinectContextMenu

Installation notes
Here's a tutorial to install kinect on your PC
Once you've installed it, just run our sample project /Kinect.ShowCase, showing you all gesture, and controls included.

Don't miss to install the Kinect Project template located here : /Visual.Studio.2010.Addins you will have a "Kinect Projet Template" to create your window and begin playing with them.

Tips
If you want to use multiple hand tracking modify your config file located there : C:\{Program Files}\Prime Sense\NITE\Hands\Data\Nite.ini

Read more: Codeplex

Monday, April 11, 2011

Silverlight Kinect Demos

Project Description
This is a set of demos that show how to integrate Kinect into your Silverlight applications.
We are using the OpenNI libraries and drivers. Microsoft are yet to release there drivers and framework.
Please see this blog post that describes in more detail these samples. http://advertboy.wordpress.com/2011/04/10/silverlight-kinect-apps-of-tomorrow/
quick vid of Silverlight responding to the Kinect :


Read more: Codeplex

Sunday, March 27, 2011

Introducing the Kinect WPF Toolkit

Kinect is fun. Kinect is new. Kinect is awesome. However, doing anything in Kinect right now requires developer work – and even with the available building blocks to rely on, for a developer to get up to speed takes a long time. This means that interaction designers cannot do Kinect development without a top-notch developer, and developers are needed even to finetune gesture settings (tolerance, timers, etc) and visualizations. In essence, designers cannot “play” with their design, cannot just turn a knob and see the end result.

Luckily, there are quite a lot of great examples in XBOX game menus that provide great interaction models. If the Kinect WPF Toolkit (KWT) allows creating similar experiences, without deep knowledge of Kinect or even coding, it has reached its goal. At this stage, we are only dealing with single-user scenarios.

Below you can read the first draft of the first draft of the main idea.
note: The Kinect WPF Toolkit borrows code from Joshua Blake’s amazing InfoStrat Motion Framework, but does not build on it as of now. I am especially grateful for Joshua’s encouragement, and for the huuge amount of time his image processing and DirectCanvas code saved me so far.

Vision

The goal of the Toolkit is to give Interaction Designers the means to create Kinect-driven applications (not games!) with the similar ease they are creating mouse / touch driven UI today in Expression Blend.

Key components

There are two key component types in KWT. Recognition components and visualizers. Recognition components deal with detecting users, hands, gestures, poses and so on. Visualizer components aid in visualizing what the camera sees or the recognizers detected.

Recognition components

User recognition – events when a user enters / leaves the scene, number of users. Events for PrimeSense calibration. There is always only one “Active” User.
Pose recognition – XBOX equivalent: the 45 degree “Kinect Menu” gesture. 
The app should be notified if your body or parts of it enters or leaves a specified position, or stays there for a certain time. The app should also be able to visualize the time spent in the pose, and the time left for the pose to be acted upon. Ideally, the poses are defined by example – just performing the pose in Front of Kinect, or choosing a frame from a recording. The designer should also be able to set a “tolerance” value.
“Pointer” – XBOX Equivalent: the “Kinect experience, menu navigation in Kinectimals, Kinect Adventure”

One of the user’s body parts (mostly, but not neccessarily a hand) acts as the pointer on screen. When it is over interactive elements, they react, like a “mouseover” effect. Keeping the hand over such an element for a given time will activate it (click).

Two-hand gestures – Equivalent: multitouch pinch zoom and rotate on Surface 
The user’s both hands are tracked. When they are at a certain distance from the shoulder, they are considered “touching” the screen.

Gesture detector – detecting gestures such as Push, Swipe, Steady, Wave, Circle, etc. (NITE) with any body part. Thresholds should be configurable (relative to person’s size)

3D joystick 
Body parts (such as a hand, head or the center of mass) can be used as a simple 3D joystick. The zero point can be calibrated using a calibration gesture. The designer should be able to set dead zones, and a mapping function. The latter is needed for things like height mapping for center of mass – standing on tiptoe lifts COM a lot less than crouching.

Read more: VBandi's blog

Monday, March 21, 2011

Kinect for PS3

Ever. Awesome. Move over Move… Shantanu Goel has upped the ante in the motion controller game by taking Kinect, a collection of open source Kinect libraries and the DIY PS3 Controller, and mashed ‘em all together to create one righteous hack.

Read more: PS3-hacks.com

Sunday, March 06, 2011

InfoStrat Motion Framework

Project Description
InfoStrat Motion Framework enables you to easily use motion tracking in your WPF applications with depth sensors such as Kinect and PrimeSensor.

Read more: Codeplex

Tuesday, January 25, 2011

Kinect Hack Builds 3D Maps of the Real World

Noted Kinect-tinkerer Martin Szarski has used a car, a laptop, an Android smartphone and the aforementioned Xbox 360 peripheral to make a DIY-equivalent of Google Street View. The Kinect's multi-camera layout can be used to capture some fuzzy, but astonishingly effortless 3D maps of real world locations and objects. As we saw in Oliver Kreylos' early hack, you can take the data from Kinect's depth-sensitive camera to map out a 3D point-cloud, with real distances. Then use the colour camera's image to see which RGB pixel corresponds to each depth point, and eventually arrive at a coloured, textured model.

Read more: Slashdot

Sunday, January 16, 2011

Kinect hand tracking with WPF 4 and Bing Maps 3-D

I’ve been playing around with Kinect and PrimeSensor in WPF for a bit and have achieved a small technical success that I wanted to share in a new video from InfoStrat. Using the same techniques that allow us to use WPF 4 on Surface 1.0, we can now use depth camera hand tracking to control multi-touch applications.
Here is a very rough proof-of-concept where I’m controlling the InfoStrat.VE WPF 4 multi-touch control using a depth camera.

Read more: DECONSTRUCTING THE NUI

Wednesday, January 12, 2011

Kinect socket server hack brings gesture recognition to Flash, Silverlight, and more

Thanks to the clever work of Blitz, a marketing agency, you will soon be able to easily interface any program to Microsoft Kinect. Rather than having to hack at the low-level C++ OpenKinect driver, Blitz's solution is to create a socket server, which other programs -- including Flash and Silverlight websites -- can then interrogate.

The installation process is a bit finickity -- it's a very quick and dirty hack -- but the potential applications are immense. Take a look at the demo video from Blitz (after the break), and then imagine playing all of our Time Wasters with just a few hand gestures...

Read more: DownloadSquad

Tuesday, January 11, 2011

Avatar Kinect Chat …

Chat was yesterday. Kinect chat is the future, at least up to the Beaming properly.

Read more: o-LIVE-r

Wednesday, January 05, 2011

How Kinect works

07b8b5ed-4d19-4cb3-957f-d6e367f4c8a7.PNG

How You Become the Controller
"You are the controller." If you've been following the buzz surrounding Kinect, you've probably heard this phrase tossed around. From plugging leaks with your hands and feet in Kinect Adventures! to changing songs with the flick of a wrist in Zune, Kinect opens up a new way to naturally experience your entertainment.

But once you get over the magic of opening the disc tray with the wave of a hand like you're a Jedi, you might start to wonder how it all works under the hood. In this blog post, I'll focus on the secret sauce behind the human tracking system and how it allows game developers to produce Kinect-enabled experiences. Then Arjun Dayal, a program manager on the team, will show you how Kinect enables a gesture-based approach to navigating the Xbox Dashboard and Kinect Hub. But before we get into any of that, let’s start with the conceptual principles that guided Kinect’s development.

It’s an Analog World We Live In
Traditional programming is based on sets of rules and heuristics: cause and effect, zero and one, true and false. Fortunately, this approach works well when modeling simple systems with a limited number of inputs and outputs. Take Halo for example (not a simple system by any means, but suitable for proving the point): pushing A causes Master Chief to jump; moving one stick causes him to walk forward; moving another causes him to look up. If A, then B. Unfortunately, the real world is not digital, but analog.

In the analog world, it’s not just about yes and no, but it’s about maybe. It’s not just about true or false, but it’s about probability. Think briefly about all of the possible variations of a human waving his hand: the range of physical proportions of the body, the global diversity of environmental conditions, differences in clothing properties, cultural nuances to performing even a simple gesture. Quickly, you end up with a search space around 10^23, an unrealistic problem domain to solve through conditional-based programming.

We knew early on that we had to invent a new way of approaching this problem, one that works like the human brain does. When you encounter someone in the world, your brain instantly focuses on him and recognizes him based on years of prior training. It doesn’t crawl a decision tree hundreds of levels deep to discern one human from another. It just knows. Where a baby would have a hard time telling the two apart, you’ve learned to do so in a split second. In fact, you could probably make a reasonable guess about their age, gender, ethnicity, mood, or even their identity (but that’s a blog post for another day). This is part of what makes us human.

Kinect was created in the same way. It sees the world around it. It focuses on you. And even though it’s never seen how you wave your hands before, it instantly approximates your movements to the terabytes of information it’s already learned.

The Kinect Sensor
At the heart of the skeletal tracking pipeline is a CMOS infrared sensor which allows Kinect to perceive the world, regardless of ambient lighting conditions. Think of this as seeing the environment in a monochrome spectrum of black and white: black being infinitely far away and white being infinitely close. The shades of gray in between these two extremes correspond to a physical distance from the sensor. The sensor gathers each point in its field of view and forms it into a depth image that represents the world. A stream of these depth images is produced at a rate of 30 frames per second, creating a real-time 3-D representation of the environment. Another way to think of this is like those pinpoint impression toys that used to be all the rage. By pushing up with your hands (or your face if you were really adventurous), you could create a simple 3-D model of a piece of your body.
Finding the Moving Parts

Read more: Xbox LIVE > Engineering Blog

Tuesday, January 04, 2011

World of Warcraft hits Kinect

184_22826_World-of-Warcraft-Kinect-Video.jpg?i=1294137945

University project allows gamers to play WoW with Microsoft’s motion controller. US researchers have managed to adapt Kinect and use it to control Blizzard’s MMO behemoth World of Warcraft. An Institute for Creative Technologies team working out of the University of Southern Carolina have developed FAAST – middleware that translates physical gestures to in-game actions through Microsoft’s motion controller, according to Wired. FAAST stands for Flexible Action and Articulated Skeleton Toolkit and works in a similar way to custom keyboard mappings. The build that has been demonstrated uses left hand motions to control the camera, right hand ones to select attacks, and hunching for character movement. However, the team’s leader Evan Suma admitted the system is limited and not ideally suited to prolonged WoW sessions.

Read more: MCV

R.U.S.E gets Kinect support

This video shows how the PC game R.U.S.E. is controlled by Microsoft Kinect based on the Evoluce multi-gesture software for depth-sensing sensors. Gamers will like the idea to control almost any PC game with the Kinect controller or similar devices.

Read more: Wolfgang Herfurtner

Tuesday, December 21, 2010

Minority Report Meets Visual Studio

One of the cool things I get to do here at DevExpress is explore new technologies to interface humans with machines, and more specifically, developers with their code. In the past you’ve seen us write code with chopsticks, super models, guitars, and our minds. With the release of Microsoft’s Kinect, we knew it wouldn’t be long before we’d be working on an interface for Visual Studio to let you write code with your hands, Minority Report style.
SelectPreview_11C21415.png

Read more: Mark Miller