|
HandVu: Vision-based Hand Gesture Recognition and User Interface
Development on this project is still active. With almost any color camera
and sufficient processing power, this software collection
implements a hand gesture interface. HandVu detects the hand
in a standard posture, then tracks it and recognizes key
postures - all in real-time and without the need for camera
or user calibration. The output is accessible through a
client-server infrastructure in a custom format and as OSC
packets. Read more about HandVu
or even download the software.
|
|
|
Hand gesture input for Battuta
Project
Battuta is an interdisciplinary research initiative to
investigate the potential of emerging technologies and
geospatial information resources to bring new
functionalities to mobile field data collection. At the UCSB
CS department, we research novel user interfaces for
wearable computing environments, in particular vision-based
hand gesture input. A head-mounted display (HMD) provides a
screen for data output, and a head-mounted camera (HMC)
allows for data input via hand gestures, performed in front
of the body of the HMC's wearer. These two videos give an
idea of the focus for our contribution: more current (15MB,
Windows Media File), and older (17MB DivX movie).
|
|
|
Postural Comfort
While human factors research gives advice on the range in
which humans can operate without experiencing
musculoskeletal strain, fatigue or discomfort, no objective
measure for "comfort" is known. In this project, we defined
a measurable foundation for comfort, which is usually simply
defined as the absence of discomfort. Our work suggests that
human-computer interfaces should be designed within the
limits of a comfort zone. Otherwise, using
the interface can prompt the adoption of alternative use
patterns, which are often less favorable because they trade
off the unnoticeable potential of injury for comfort. We
also conducted a user study on the range in
which humans prefer to operate their hands when carrying out
free-hand gestures. This study also served as an example for
how to design studies for comfort evaluation.
|
|
|
Pervasive tracking and tracker data fusion
A scenario was developed to demonstrate the interplay of
various trackers with different characteristics of accuracy,
precision, drift, and temporal resolution. A tracker reports
the position and/or orientation of a person to facilitate
mixed-reality enviroments. A novel algorithm for data fusion
integrated the readings from multiple trackers into a
single, more precise, and more reliable result.
(This was during an intership at
HRL.)
|
|
|
Navigation and interaction in immersive VEs
We developed and implemented several methods for navigation
in and manipulation of a Virtual Environment (VE). The VE was
fully immersive with an HMD and included text-to-speech
audio. A multimodal user interface allowed natural
interaction with voice and gesture commands. Hand and head
were tracked with a 6DOF tracker and hand postures (finger
joint angles) were observed with a CyberGlove. Hand gestures
were then recognized with a Hidden Markov Model (HMM)
network. Visual output was generated in realtime with
fairly low latency by a giant SGI.
(This was during an intership at
HRL.)
|
|
|
The Retroactively Interactive Seminar
"Lectures and seminars can yield a much richer and deeper
experience for both the speaker and the audience with the
aid of readily available technologies"
This experimental seminar setup was aimed at proving this
hypothesis. By means of online video annotations the audience
could augment a lecture with personal remarks and also give the
speaker valuable feedback. Questions to the speaker could be asked
anonymously and were then referenced by a moderator. The lecture or
seminar was distributed via the
Digital Classroom
and it became interactive with the aid of audience feedback through
connected handheld computers.
For more information on the organization and the multimedia
background, as well as to access stored lectures, please see
this
publication and the web site for
the Retroactively
Interactive Seminar (server offline now, sorry).
|
|
|
Index structures for service discovery
SLPsim is a simulation of a database backend for service
discovery systems, defined for example by the Service
Location Protocol (SLP). A service discovery
system allows services to advertise arbitrary properties in
lookup directories. Clients query for a set of properties
and get matching services. The goal was to evaluate various
index structures that can handle the huge dimensionality of
the data set, even for a global SLP zone. Services and
queries are read from XML files which can be generated
automatically. In the service discovery context we also
investigated "attribute-based routing". (This work was with
Anurag Acharya.)
|
|
|
Java JIT Compiler for Sun Majc
This project asked for re-targeting the Java HotSpot
Just-in-time (JIT) compiler to the Sun UltraSPARC MAJC
dual-processor single-chip processor. The difficulties laid
in a non-existent interpreter and the VLIW-characteristics
of the target architecture. The majority of instructions and
function calls were successfully translated and partially
parallelized.
(This was during an intership at
Sun Microelectronics.)
|
|
|
Surfer's Paradise
Surfer's Paradise was a fun project in 1995 for web-based
classifieds (free ads) for surfing and windsurfing gear. It
was actually used by many people in Europe until my user
account at the ISP expired:-( Simple HTML pages and Perl
scripts served content from a text-based database. The focus
was on technology exploration, fail-safe text handling, and
user friendliness.
|
|
|
Miscellaneous Projects and Reports
- windows-style extension for emacs shift-mark
(now obsolete because the functionality is part of the
regular xemacs)
- Java JIT compiler for the JDK 1.1.5 JVM, here is
the report with benchmarks (speedup of up to 12 times):
JIT compiler and the
"diff'ed" code
- SOAP interface for landmarks for geo-referencing application
- porthole: web-page fusion for location-dependent services,
using Wrens,
- a framework for rapidly evolving network services
- detailed performance analysis of media players under
WinNT using
VTune (report on request)
- Java MPI: all-Java implementation of parts of the Message
Passing Interface (MPI)
- raytracer (n-order reflections, shadows, transparency,
refraction), implemented in C++ and later ported to
JavaParty
- two FFT implementations on SGI Origin 2000: shared memory
and MPI
- physically realistic "rigid body" particle simulation,
parallelized with MPI
(report)
|
|