github github
  • Pricing and Signup
  • Explore GitHub
  • Features
  • Blog
  • Login

doug / depthjs

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
    • 397
    • 23
  • Source
  • Commits
  • Network
  • Pull Requests (1)
  • Issues (5)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Switch Branches (1)
    • master ✓
  • Switch Tags (0)
  • Branch List
Sending Request…
Downloads

DepthJS allows any web page to interact with the Microsoft Kinect using Javascript. — Read more

  Cancel

depthjs.media.mit.edu

  Cancel
  • HTTP
  • Git Read-Only

This URL has Read+Write access

depthjs /

Dismiss Octotip: You've activated the file finder by pressing t Start typing to filter the file list. Use ↑ and ↓ to navigate, enter to view files.

 name
No matching files

Jump to Line

added 'detecting' event, changed regoster thresh to 20 frames, swipes wo... 
Roy Shilkrot (author)
Tue Apr 12 18:45:27 -0700 2011
commit  f1a36a00996a492483a0
tree    6d1aba2c221ccc3c6107
parent  365fe0d1c4fe0c87e52b
depthjs /
name age
history
message
directory chrome-extension-mac/ Thu Feb 17 23:05:40 -0800 2011 Reorged; Aaron branch becomes chrome extension (ma... [azinman]
directory developer-api/ Tue Apr 12 18:15:42 -0700 2011 Added API for web pages with basic demo [azinman]
directory extension-common/ Tue Apr 12 18:15:42 -0700 2011 Added API for web pages with basic demo [azinman]
directory new_cv/ Mon Apr 11 15:33:39 -0700 2011 blobs compare color frame-to-frame, blobs aware of... [Roy Shilkrot]
directory npapi_plugin/ Fri Feb 18 17:01:34 -0800 2011 ugh git is not hg; make npapi use static libs as w... [azinman]
directory old/ Thu Feb 17 23:02:47 -0800 2011 Reorg, bringing NPAPI implementation to the top of... [azinman]
directory safari-extension-mac/ Tue Apr 12 15:47:34 -0700 2011 make work in safari again [azinman]
directory site/ Wed Dec 15 13:04:52 -0800 2010 added google analytics to website [azinman]
directory webkit-plugin-mac/ Tue Apr 12 18:45:27 -0700 2011 added 'detecting' event, changed regoster thresh t... [Roy Shilkrot]
file .gitignore Tue Apr 12 11:34:40 -0700 2011 commit all the changes; we are in git not mercuria... [azinman]
file LICENSE Fri Nov 19 23:58:38 -0800 2010 First pass at a DepthJD chrome extension. [azinman]
file README.md Sat Jan 08 12:11:37 -0800 2011 NPAPI [doug]


README.md

DepthJS

DepthJS is a browser extension (currently Chrome) that allows the Microsoft Kinect to talk to any web page. It provides the low-level raw access to the Kinect as well as high-level hand gesture events to simplify development.

Current Status

Everything is VERY alpha. Hand detection and tracking are reasonably robust, but recognizing gestures is less reliable.

So far we can recognize the following:

  • Presence of hand (registration)
  • Removal of hand (unregistration)
  • Hand movement
  • Quick open and close of hand ("hand click")
  • Large swipe up/down/left/right

We want to recognize:

  • Two hands
  • Pushing and pulling
  • Z-depth in general
  • Individual fingers
  • Finger-based hand gestures (e.g. peace sign, etc)

Components

DepthJS is very modular. The Kinect driver and computer vision are written on top of Open Frameworks and OpenCV in C++. This component can output the raw RGB image, the raw depth map (filtered for the hand), as well as the high-level events that the computer vision recognizes. The three outputs are pumped out on three separate 0MQ TCP sockets. Next, a Torando web server (written in Python) takes the 0MQ data and wraps it into a WebSocket, which is what enables the web browser extension to receive the data. Finally a pure javascript-based extension connects to the WebSocket server to receive the events. Event handlers may be placed globally, in content scripts injected into each web page, or pushed via the content script to local DOM elements written by 3rd parties.

BACKEND: Kinect ====(libfreekinect)====> OpenFramework+OpenCV =====(0MQ)====> Tornado

FRONTEND: Torando <====(WebSocket)==== DepthJS extension ====(Javascript+DOM events)====> Any web page

Future work

In addition to the obvious improvements to our gesture recognition, we need to make the install process easier for end-users.

We like that the backend is very modular, so that anything (not just DepthJS) can connect via 0MQ or WebSockets to the C++ Kinect+OpenCV backend.

However, this is not a user friendly setup. We want to eventually integrate the entire driver+backend into an NPAPI-based native code extension such that we can distribute the extension "batteries-included" as a one-click install. Eventually it should be hosted on the various web browser (Safari, Firefox, and Chome) extension galleries.

Dedicated Server Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
  • Blog
  • Support
  • Training
  • Job Board
  • Shop
  • Contact
  • API
  • Status
  • © 2011 GitHub Inc. All rights reserved.
  • Terms of Service
  • Privacy
  • Security
  • English
  • Deutsch
  • Français
  • 日本語
  • Português (BR)
  • Русский
  • 中文
  • See all available languages

Your current locale selection: English. Choose another?

  • English
  • Afrikaans
  • Беларуская
  • Català
  • Čeština
  • Deutsch
  • Español
  • Français
  • Hrvatski
  • Magyar
  • Indonesia
  • Italiano
  • 日本語
  • Nederlands
  • Norsk
  • Polski
  • Português (BR)
  • Русский
  • Српски
  • Svenska
  • 中文

Keyboard Shortcuts (see all)

Site wide shortcuts

s
Focus site search
?
Bring up this help dialog

Commit list

j
Move selected down
k
Move selected up
t
Open tree
p
Open parent
c or o or enter
Open commit

Pull request list

j
Move selected down
k
Move selected up
o or enter
Open issue

Issues

j
Move selected down
k
Move selected up
x
Toggle select target
o or enter
Open issue
I
Mark selected as read
U
Mark selected as unread
e
Close selected
y
Remove selected from view
c
Create issue
l
Create label
i
Back to inbox
u
Back to issues
/
Focus issues search

Network Graph

← or h
Scroll left
→ or l
Scroll right
↑ or k
Scroll up
↓ or j
Scroll down
t
Toggle visibility of head labels
shift ← or shift h
Scroll all the way left
shift → or shift l
Scroll all the way right
shift ↑ or shift k
Scroll all the way up
shift ↓ or shift j
Scroll all the way down

Source Code Browsing

t
Activates the file finder
l
Jump to line