21.02.2013 Views

Hand Tracking, Finger Identification, and Chordic Manipulation on

Hand Tracking, Finger Identification, and Chordic Manipulation on

Hand Tracking, Finger Identification, and Chordic Manipulation on

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

HAND TRACKING,<br />

FINGER IDENTIFICATION,<br />

AND CHORDIC MANIPULATION<br />

ON A MULTI-TOUCH SURFACE<br />

by<br />

Wayne Westerman<br />

A dissertati<strong>on</strong> submitted to the Faculty of the University of Delaware in<br />

partial ful llment of the requirements for the degree of Doctor of Philosophy in<br />

Electrical Engineering<br />

Spring 1999<br />

c 1999 Wayne Westerman<br />

All Rights Reserved


Approved:<br />

Approved:<br />

Approved:<br />

HAND TRACKING,<br />

FINGER IDENTIFICATION,<br />

AND CHORDIC MANIPULATION<br />

ON A MULTI-TOUCH SURFACE<br />

by<br />

Wayne Westerman<br />

Neal Gallagher, Ph.D.<br />

Chair of the Department of Electrical Engineering<br />

Andras Z. Szeri, Ph.D.<br />

Interim Dean of the College of Engineering<br />

John C. Cavanaugh, Ph.D.<br />

Vice Provost for Academic Programs <str<strong>on</strong>g>and</str<strong>on</strong>g> Planning


Signed:<br />

Signed:<br />

Signed:<br />

Signed:<br />

Signed:<br />

I certify that I have read this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> that in my opini<strong>on</strong> it meets<br />

the academic <str<strong>on</strong>g>and</str<strong>on</strong>g> professi<strong>on</strong>al st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard required by the University as a<br />

dissertati<strong>on</strong> for the degree of Doctor of Philosophy.<br />

John Elias, Ph.D.<br />

Professor in charge of dissertati<strong>on</strong><br />

I certify that I have read this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> that in my opini<strong>on</strong> it meets<br />

the academic <str<strong>on</strong>g>and</str<strong>on</strong>g> professi<strong>on</strong>al st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard required by the University as a<br />

dissertati<strong>on</strong> for the degree of Doctor of Philosophy.<br />

Charles B<strong>on</strong>celet, Ph.D.<br />

Member of dissertati<strong>on</strong> committee<br />

I certify that I have read this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> that in my opini<strong>on</strong> it meets<br />

the academic <str<strong>on</strong>g>and</str<strong>on</strong>g> professi<strong>on</strong>al st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard required by the University as a<br />

dissertati<strong>on</strong> for the degree of Doctor of Philosophy.<br />

Phillip Christie, Ph.D.<br />

Member of dissertati<strong>on</strong> committee<br />

I certify that I have read this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> that in my opini<strong>on</strong> it meets<br />

the academic <str<strong>on</strong>g>and</str<strong>on</strong>g> professi<strong>on</strong>al st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard required by the University as a<br />

dissertati<strong>on</strong> for the degree of Doctor of Philosophy.<br />

Kenneth Barner, Ph.D.<br />

Member of dissertati<strong>on</strong> committee<br />

I certify that I have read this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> that in my opini<strong>on</strong> it meets<br />

the academic <str<strong>on</strong>g>and</str<strong>on</strong>g> professi<strong>on</strong>al st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard required by the University as a<br />

dissertati<strong>on</strong> for the degree of Doctor of Philosophy.<br />

John Scholz, Ph.D.<br />

Member of dissertati<strong>on</strong> committee


ACKNOWLEDGMENTS<br />

Abundant thanks go to my adviser, John Elias, whose f<strong>on</strong>d support, daily<br />

teamwork, <str<strong>on</strong>g>and</str<strong>on</strong>g> unfathomable hardware know-howgave me a unique foundati<strong>on</strong> up<strong>on</strong><br />

which to compose a dissertati<strong>on</strong>.<br />

Dr. Neal Gallagher, for inviting me to Delaware, ensuring my research in<br />

the Electrical Engineering Department <str<strong>on</strong>g>and</str<strong>on</strong>g> other parts of campus was always fully<br />

supported, o ering weekly spiritual advice, <str<strong>on</strong>g>and</str<strong>on</strong>g> challenging me with proclamati<strong>on</strong>s<br />

of what could <str<strong>on</strong>g>and</str<strong>on</strong>g> could not be d<strong>on</strong>e. May he c<strong>on</strong>tinue to carry his wisdom all<br />

across the country.<br />

Dr. Charles B<strong>on</strong>celet, Dr. Kenneth Barner, <str<strong>on</strong>g>and</str<strong>on</strong>g> Dr. John Scholz, for sug-<br />

gesting many helpful revisi<strong>on</strong>s to this manuscript.<br />

Dr. Phillip Christie, for many fascinating lectures, <str<strong>on</strong>g>and</str<strong>on</strong>g> for challenging me to<br />

nd the principles behind my inventi<strong>on</strong>s.<br />

Dr. Rakesh, for making me write <str<strong>on</strong>g>and</str<strong>on</strong>g> underst<str<strong>on</strong>g>and</str<strong>on</strong>g> mathematical proofs until<br />

they all look trivial.<br />

Chris Thomas, foramostenduring friendship.<br />

My piano teachers Beverly Stephens<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Ruth Anne Rich, for inspiring me<br />

with what the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s can do <strong>on</strong> a properly resp<strong>on</strong>sive instrument.<br />

My typing assistants, Sarah Ruth Budd, Sara Levin, Mark Parsia, Denise<br />

Lem<strong>on</strong>, Barbara Westog, my sister Ellen, <str<strong>on</strong>g>and</str<strong>on</strong>g> my mother Bessie, for helping me to<br />

c<strong>on</strong>tinue to program <str<strong>on</strong>g>and</str<strong>on</strong>g> publish for the past four years as I perfected less fatiguing<br />

methods for data entry.<br />

iv


Samuel Audet, for generously writing HotScroll, OS/2's <strong>on</strong>ly c<strong>on</strong>tinuous<br />

scrolling software.<br />

Brian Hall at Microedge, Inc., for adding a keystroke-saving variable-name-<br />

completi<strong>on</strong> feature to Visual Slickedit at my bequest.<br />

My fellow residents of Lovett Graduate House, for sharing the televisi<strong>on</strong> when<br />

my mind was too weary for anything else.<br />

I am so lucky to have such a loving, patient, <str<strong>on</strong>g>and</str<strong>on</strong>g> stable family, who always<br />

welcome me home twice a year even though I moved so far away. I thank my father<br />

for drawing me back to the farm for refreshing manual labor yet giving me time to<br />

develop <strong>on</strong>e crazy project after another <strong>on</strong> my vacati<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> also for enforcing the<br />

pragmatism <str<strong>on</strong>g>and</str<strong>on</strong>g> ethics of the fr<strong>on</strong>tier. I thank my mother for spicing my vacati<strong>on</strong><br />

diet with wholesome home-grown foods <str<strong>on</strong>g>and</str<strong>on</strong>g> swimming. I thank my gr<str<strong>on</strong>g>and</str<strong>on</strong>g>mother<br />

Edna <str<strong>on</strong>g>and</str<strong>on</strong>g> her family for bringing poetry, history, <str<strong>on</strong>g>and</str<strong>on</strong>g> gentleness to my summers�<br />

may she always whisper from above how her family almost got transplanted to<br />

California. I thank my gr<str<strong>on</strong>g>and</str<strong>on</strong>g>father Walt for introducing electricity to our home<br />

town with <strong>on</strong>ly a fth grade educati<strong>on</strong>� that was <strong>on</strong>ly the beginning.<br />

This work was partially funded by a Nati<strong>on</strong>al Science Foundati<strong>on</strong> Graduate<br />

Fellowship for Wayne Westerman.<br />

This manuscript is dedicated to:<br />

My mother, Bessie,<br />

who taught herself to ght chr<strong>on</strong>ic pain in numerous <str<strong>on</strong>g>and</str<strong>on</strong>g> clever ways,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> taught me to do the same.<br />

v


TABLE OF CONTENTS<br />

LIST OF FIGURES : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : xv<br />

LIST OF TABLES : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : xxiii<br />

GLOSSARY : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : xxiv<br />

ABSTRACT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : xxix<br />

Chapter<br />

1 INTRODUCTION : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1<br />

1.1 The State of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>-Computer Interacti<strong>on</strong> in 1998 : : : : : : : : : : : 1<br />

1.2 Summary of Final Device Operati<strong>on</strong> : : : : : : : : : : : : : : : : : : 5<br />

1.2.1 Typing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5<br />

1.2.1.1 Default Key Layout : : : : : : : : : : : : : : : : : : 5<br />

1.2.1.2 Key Activati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : 7<br />

1.2.2 <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g>s : : : : : : : : : : : : : : : : : : : : : : 7<br />

1.2.2.1 Pointing : : : : : : : : : : : : : : : : : : : : : : : : : 8<br />

1.2.2.2 Dragging : : : : : : : : : : : : : : : : : : : : : : : : 11<br />

1.2.2.3 Scrolling : : : : : : : : : : : : : : : : : : : : : : : : : 11<br />

1.2.2.4 Text Editing : : : : : : : : : : : : : : : : : : : : : : 11<br />

1.2.2.5 Menu Comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as Cut, Copy <str<strong>on</strong>g>and</str<strong>on</strong>g> Paste : : : 13<br />

1.3 Hardware Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13<br />

1.3.1 Sensing Hardware : : : : : : : : : : : : : : : : : : : : : : : : : 13<br />

1.3.2 Signal Processing Hardware : : : : : : : : : : : : : : : : : : : 15<br />

1.4 Summary of C<strong>on</strong>tributi<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : : 18<br />

vi


1.5 What is Not Covered : : : : : : : : : : : : : : : : : : : : : : : : : : : 21<br />

1.6 On the Design of Erg<strong>on</strong>omic Input Devices : : : : : : : : : : : : : : : 23<br />

1.6.1 What is the Role of Erg<strong>on</strong>omic Device Design? : : : : : : : : 23<br />

1.6.2 Erg<strong>on</strong>omic Design Objectives : : : : : : : : : : : : : : : : : : 25<br />

1.6.2.1 Minimize device activati<strong>on</strong> force : : : : : : : : : : : : 25<br />

1.6.2.2 Minimize repetitive acti<strong>on</strong> of the same muscles : : : 25<br />

1.6.2.3 Encourage neutral postures : : : : : : : : : : : : : : 26<br />

1.6.2.4 Allow variati<strong>on</strong> of posture : : : : : : : : : : : : : : : 26<br />

1.6.2.5 Minimize user anticipati<strong>on</strong> : : : : : : : : : : : : : : : 27<br />

1.6.2.6 Do not discourage rest breaks : : : : : : : : : : : : : 27<br />

1.6.3 Can so many erg<strong>on</strong>omic objectives be met at <strong>on</strong>ce? : : : : : : 27<br />

1.7 Outline : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28<br />

2 PROXIMITY IMAGE FORMATION AND TOPOLOGY : : : : : 30<br />

2.1 Related Methods for <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong> Sensing : : : : : : : : : : : : : : : 30<br />

2.1.1 Free-Space Gestures : : : : : : : : : : : : : : : : : : : : : : : 31<br />

2.1.2 Data Gloves : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31<br />

2.1.3 Video Gesture Recogniti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : 32<br />

2.1.4 Bene ts of Surface C<strong>on</strong>tact : : : : : : : : : : : : : : : : : : : 32<br />

2.1.5 Sensing <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Presence : : : : : : : : : : : : : : : : : : : : : 33<br />

2.1.6 Tactile Imaging : : : : : : : : : : : : : : : : : : : : : : : : : : 38<br />

2.1.7 Capacitance-Sensing Electrode Arrays : : : : : : : : : : : : : 38<br />

2.1.8 The MTS's Parallelogram Electrode Array : : : : : : : : : : : 40<br />

2.1.9 No Moti<strong>on</strong> Blur <strong>on</strong> MTS : : : : : : : : : : : : : : : : : : : : : 43<br />

2.2 Tactile Image Formati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Background Removal : : : : : : : : : : 43<br />

2.2.1 Optical Image Segmentati<strong>on</strong> : : : : : : : : : : : : : : : : : : : 44<br />

2.2.2 Methods for Proximity Image Formati<strong>on</strong> : : : : : : : : : : : : 45<br />

2.2.2.1 Binary Tree Scanning : : : : : : : : : : : : : : : : : 45<br />

2.2.2.2 Brute Array Scanning : : : : : : : : : : : : : : : : : 46<br />

2.2.2.3 Sensor O set Adaptati<strong>on</strong> : : : : : : : : : : : : : : : 46<br />

vii


2.2.2.4 Proximity Image Filtering : : : : : : : : : : : : : : : 47<br />

2.3 Topology of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Proximity Images : : : : : : : : : : : : : : : : : : : 48<br />

2.3.1 Flattened <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Image Properties : : : : : : : : : : : : : : : : 49<br />

2.3.2 Properties of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>s in the Neutral Posture : : : : : : : : : : : 51<br />

2.3.3 Partially Closed <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Image Properties : : : : : : : : : : : : 52<br />

2.3.4 Pen Grip Image Properties : : : : : : : : : : : : : : : : : : : : 54<br />

2.3.5 Comfortable Ranges of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong> : : : : : : : : : : : : : : 54<br />

2.4 C<strong>on</strong>clusi<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58<br />

3 HAND CONTACT SEGMENTATION AND PATH TRACKING 60<br />

3.1 Notati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Major Variable Types : : : : : : : : : : : : : : : : : : : 62<br />

3.2 C<strong>on</strong>tact Segmentati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : 63<br />

3.2.1 Introducti<strong>on</strong> to the C<strong>on</strong>tact Segmentati<strong>on</strong> Problem : : : : : : 63<br />

3.2.2 Overview of the Segmentati<strong>on</strong> Process : : : : : : : : : : : : : 64<br />

3.2.3 Proximity Image Smoothing : : : : : : : : : : : : : : : : : : : 67<br />

3.2.4 Segmentati<strong>on</strong> Strictness Regi<strong>on</strong>s : : : : : : : : : : : : : : : : : 68<br />

3.2.5 Segmentati<strong>on</strong> Search Pattern : : : : : : : : : : : : : : : : : : 72<br />

3.2.6 Segmentati<strong>on</strong> Boundary Tests : : : : : : : : : : : : : : : : : : 75<br />

3.2.6.1 Proximity Signi cance Tests : : : : : : : : : : : : : : 75<br />

3.2.6.2 Strict Segmentati<strong>on</strong> Regi<strong>on</strong> Partial Minima Tests : : 77<br />

3.2.6.3 Flattened <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Segmentati<strong>on</strong> : : : : : : : : : : : : 79<br />

3.2.6.4 C<strong>on</strong>tact Height Limitati<strong>on</strong> Test : : : : : : : : : : : : 80<br />

3.2.6.5 Sloppy Segmentati<strong>on</strong> Regi<strong>on</strong> Palm Heel Crease Test 80<br />

3.2.7 Combining Overlapping Groups : : : : : : : : : : : : : : : : : 82<br />

3.2.8 Extracting Group Parameters : : : : : : : : : : : : : : : : : : 83<br />

3.2.8.1 Centroid Computati<strong>on</strong> : : : : : : : : : : : : : : : : : 83<br />

3.2.8.2 Ellipse Fitting : : : : : : : : : : : : : : : : : : : : : 84<br />

3.2.9 Performance of the Segmentati<strong>on</strong> Methods : : : : : : : : : : : 85<br />

3.3 Persistent Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> : : : : : : : : : : : : : : : : : : : : : : : : : 105<br />

3.3.1 Introducti<strong>on</strong> to the Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> Problem : : : : : : : : : : : 105<br />

viii


3.3.2 Predicti<strong>on</strong> of C<strong>on</strong>tact Locati<strong>on</strong> : : : : : : : : : : : : : : : : : 107<br />

3.3.3 Mutually Closest Pairing Rule : : : : : : : : : : : : : : : : : : 109<br />

3.3.4 Path Parameters : : : : : : : : : : : : : : : : : : : : : : : : : 110<br />

3.3.5 Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> Results : : : : : : : : : : : : : : : : : : : : : : 112<br />

3.4 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 114<br />

4 FINGER IDENTIFICATION AND HAND POSITION<br />

ESTIMATION : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 116<br />

4.1 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Gesture Recogniti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : 117<br />

4.1.1 Communicative Gestures versus Manipulative Gestures : : : : 117<br />

4.1.2 Locating <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s within Remote Optical Images : : : : : : : : 119<br />

4.1.3 The Feasibility ofIdenti cati<strong>on</strong> from Proximity Images : : : : 120<br />

4.1.3.1 Rubine's Encounter with <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong> : : : 120<br />

4.1.3.2 Summary of C<strong>on</strong>straints <strong>on</strong> C<strong>on</strong>tact Identity : : : : 121<br />

4.1.3.3 Underc<strong>on</strong>strained Cases : : : : : : : : : : : : : : : : 124<br />

4.1.4 Pooling of <str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Combinati<strong>on</strong>s : : : : : : : : : : : : : : : 125<br />

4.2 Overview of the <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> Identi cati<strong>on</strong> System : : : : : : : 126<br />

4.3 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Positi<strong>on</strong> Estimati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : 130<br />

4.3.1 Measuring Current <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Positi<strong>on</strong> : : : : : : : : : : : : : : : : 131<br />

4.3.2 Identi cati<strong>on</strong> C<strong>on</strong> dence <str<strong>on</strong>g>and</str<strong>on</strong>g> Filter Delay : : : : : : : : : : : 133<br />

4.3.3 The Filter Equati<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : 135<br />

4.3.4 Enforcing <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Separati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : 135<br />

4.3.5 Interacti<strong>on</strong>s with Segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Identi cati<strong>on</strong> Modules : : 137<br />

4.4 <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : 138<br />

4.4.1 The Basic Attractor Ring : : : : : : : : : : : : : : : : : : : : 138<br />

4.4.2 Vor<strong>on</strong>oi Diagram for Single C<strong>on</strong>tact Identi cati<strong>on</strong> : : : : : : : 140<br />

4.4.3 Multiple C<strong>on</strong>tacts Compete for Vor<strong>on</strong>oi Cells : : : : : : : : : 142<br />

4.4.4 The Assignment Problem : : : : : : : : : : : : : : : : : : : : 143<br />

4.4.4.1 Localized Combinatorial Search : : : : : : : : : : : : 145<br />

4.4.4.2 Choosing Initial Assignments : : : : : : : : : : : : : 146<br />

4.4.4.3 The Swapping C<strong>on</strong>diti<strong>on</strong> : : : : : : : : : : : : : : : : 146<br />

ix


4.4.4.4 The k-exchange Sequence : : : : : : : : : : : : : : : 147<br />

4.4.5 Geometric Interpretati<strong>on</strong>s of the Swapping C<strong>on</strong>diti<strong>on</strong> : : : : : 148<br />

4.4.5.1 Geometric Interpretati<strong>on</strong> of Single C<strong>on</strong>tact Swapping 148<br />

4.4.5.2 Geometric Interpretati<strong>on</strong> of C<strong>on</strong>tact Pair Swapping : 150<br />

4.4.5.3 Summary of Swapping Behavior using<br />

Distance-Squared Metrics : : : : : : : : : : : : : : : 155<br />

4.4.5.4 C<strong>on</strong>tact Pair Swapping Behavior with Other Metrics 155<br />

4.4.5.5 Distance-Squared Assignment as Sorting : : : : : : : 158<br />

4.4.5.6 Analyzing Swaps <strong>on</strong> the Attractor Ring : : : : : : : 159<br />

4.4.6 Tuning the Attractor Ring with Weighted Vor<strong>on</strong>oi Diagrams : 165<br />

4.4.6.1 C<strong>on</strong>stant Additive Weighting to the Distance Matrix 166<br />

4.4.6.2 Static Palm Heel Weightings : : : : : : : : : : : : : : 167<br />

4.4.6.3 Dynamic Feature Weightings : : : : : : : : : : : : : 172<br />

4.4.6.4 Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> Inner Palm Orientati<strong>on</strong> Factor : : : : : : 173<br />

4.4.6.5 Thumb Size Factor : : : : : : : : : : : : : : : : : : : 174<br />

4.4.6.6 Palm Heel Size Factor : : : : : : : : : : : : : : : : : 175<br />

4.4.6.7 Palm Heel Separati<strong>on</strong> Factor : : : : : : : : : : : : : 176<br />

4.4.6.8 Forepalm Attractors <str<strong>on</strong>g>and</str<strong>on</strong>g> Weightings : : : : : : : : : 177<br />

4.4.6.9 The Fully Weighted Assignment Cost Matrix : : : : 178<br />

4.4.6.10 Tolerance of Di erent <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Sizes : : : : : : : : : : : 179<br />

4.4.7 Thumb Veri cati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : 180<br />

4.4.7.1 Inner <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Separati<strong>on</strong> Factor : : : : : : : : : : : : 181<br />

4.4.7.2 Inner <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Angle Factor : : : : : : : : : : : : : : : 183<br />

4.4.7.3 Thumb-<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Expansi<strong>on</strong> Factor : : : : : : : : : : 184<br />

4.4.7.4 Thumb-<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Rotati<strong>on</strong> Factor : : : : : : : : : : : 184<br />

4.4.7.5 Combining <str<strong>on</strong>g>and</str<strong>on</strong>g> Testing the Thumb Factors : : : : : 185<br />

4.4.8 Ratcheting Identi cati<strong>on</strong> Accuracy : : : : : : : : : : : : : : : 187<br />

4.4.9 <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong> Results : : : : : : : : : : : : : : : : : : : 189<br />

4.5 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Identi cati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : 202<br />

4.5.1 Checking for C<strong>on</strong>tact Stabilizati<strong>on</strong> : : : : : : : : : : : : : : : 203<br />

4.5.2 Placing Left <str<strong>on</strong>g>and</str<strong>on</strong>g> Right Attractor Rings : : : : : : : : : : : : : 205<br />

4.5.3 Generating Plausible Partiti<strong>on</strong> Hypotheses : : : : : : : : : : : 206<br />

x


4.5.4 The Optimizati<strong>on</strong> Search Loop : : : : : : : : : : : : : : : : : 208<br />

4.5.5 Partiti<strong>on</strong> Cost Modi ers : : : : : : : : : : : : : : : : : : : : : 209<br />

4.5.5.1 Clutching Directi<strong>on</strong> Factor : : : : : : : : : : : : : : : 209<br />

4.5.5.2 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>edness Factor : : : : : : : : : : : : : : : : : : : 210<br />

4.5.5.3 Palm Cohesi<strong>on</strong> Factor : : : : : : : : : : : : : : : : : 211<br />

4.5.5.4 Inter-<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Separati<strong>on</strong> Factor : : : : : : : : : : : : : 212<br />

4.5.6 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Identi cati<strong>on</strong> Results : : : : : : : : : : : : : : : : : : : 213<br />

4.6 C<strong>on</strong>clusi<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 223<br />

5 CHORDIC MANIPULATION : : : : : : : : : : : : : : : : : : : : : : 225<br />

5.1 Related Input Devices : : : : : : : : : : : : : : : : : : : : : : : : : : 226<br />

5.1.1 Fitts' Law <str<strong>on</strong>g>and</str<strong>on</strong>g> Pointing Performance : : : : : : : : : : : : : : 226<br />

5.1.1.1 <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> Delay : : : : : : : : : : : : : : : : : : : : : 227<br />

5.1.2 Integrating Typing <str<strong>on</strong>g>and</str<strong>on</strong>g> Pointing : : : : : : : : : : : : : : : : : 228<br />

5.1.2.1 Embedding Pointing Devices in Mechanical<br />

Keyboards : : : : : : : : : : : : : : : : : : : : : : : 228<br />

5.1.2.2 Detecting Pointing Gestures Above a Keyboard : : : 230<br />

5.1.2.3 One <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Points, the Other Types : : : : : : : : : : 231<br />

5.1.2.4 Touch Pads <str<strong>on</strong>g>and</str<strong>on</strong>g> Screens : : : : : : : : : : : : : : : : 231<br />

5.1.3 <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> in more than Two Degrees of Freedom : : : : : 232<br />

5.1.3.1 Integrality vs.Separability : : : : : : : : : : : : : : : 233<br />

5.1.3.2 Bimanual <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> : : : : : : : : : : : : : : : : 235<br />

5.1.4 Channel Selecti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : 236<br />

5.2 Synchr<strong>on</strong>izati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Typing Detecti<strong>on</strong> : : : : : : : : : : : : : : : : : 237<br />

5.2.1 Keypress Registrati<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : 237<br />

5.2.2 The Synchr<strong>on</strong>izati<strong>on</strong> Detector : : : : : : : : : : : : : : : : : : 240<br />

5.2.2.1 Sorting Paths by Press <str<strong>on</strong>g>and</str<strong>on</strong>g> Release Times : : : : : : 240<br />

xi


5.2.2.2 Searching for Synchr<strong>on</strong>ized <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Subsets : : : : : : 243<br />

5.2.2.3 Synchr<strong>on</strong>izati<strong>on</strong> Detector Decisi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> Acti<strong>on</strong>s : : : 244<br />

5.2.2.4 Issuing Chord Taps : : : : : : : : : : : : : : : : : : : 245<br />

5.2.2.5 Avoiding Accidental Mouse Clicks : : : : : : : : : : 247<br />

5.2.3 Keypress Acceptance <str<strong>on</strong>g>and</str<strong>on</strong>g> Transmissi<strong>on</strong> : : : : : : : : : : : : : 247<br />

5.2.3.1 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>ling Modi er Keys : : : : : : : : : : : : : : : : 249<br />

5.2.3.2 Alternatives to Full Taps from Suspended <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>s : : 250<br />

5.2.3.3 Potential Typing Speeds : : : : : : : : : : : : : : : : 251<br />

5.2.4 Typing Summary : : : : : : : : : : : : : : : : : : : : : : : : : 252<br />

5.3 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong> Extracti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : 252<br />

5.3.1 Inputs to the Extracti<strong>on</strong> Algorithm : : : : : : : : : : : : : : : 254<br />

5.3.2 Scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> Rotati<strong>on</strong> Comp<strong>on</strong>ent Extracti<strong>on</strong> : : : : : : : : : : 254<br />

5.3.3 Translati<strong>on</strong> Comp<strong>on</strong>ent Extracti<strong>on</strong> : : : : : : : : : : : : : : : 258<br />

5.3.4 Dead Z<strong>on</strong>e Filtering : : : : : : : : : : : : : : : : : : : : : : : 260<br />

5.3.5 Moti<strong>on</strong> Extracti<strong>on</strong> Results : : : : : : : : : : : : : : : : : : : : 261<br />

5.3.6 Moti<strong>on</strong> Extracti<strong>on</strong> C<strong>on</strong>clusi<strong>on</strong>s : : : : : : : : : : : : : : : : : 266<br />

5.4 Chord Moti<strong>on</strong> Recogniti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : 266<br />

5.4.1 Channel Selecti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : 266<br />

5.4.1.1 Channels Follow <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong>s : : : : : : : : 267<br />

5.4.1.2 Initial <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong> Sets Channel : : : : : : : 268<br />

5.4.2 MTS Chord Moti<strong>on</strong> State Machine : : : : : : : : : : : : : : : 269<br />

5.4.2.1 State C: Channel Selecti<strong>on</strong> : : : : : : : : : : : : : : 269<br />

5.4.2.2 State SC: Synced Subset Channel Selecti<strong>on</strong> : : : : : 271<br />

5.4.2.3 State M: <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> : : : : : : : : : : : : : : : : : 272<br />

5.4.3 Chord Mappings : : : : : : : : : : : : : : : : : : : : : : : : : 272<br />

5.5 C<strong>on</strong>clusi<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 275<br />

6 PRELIMINARY EVALUATION, FUTURE DIRECTIONS, AND<br />

xii


CONCLUSIONS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 276<br />

6.1 Testim<strong>on</strong>ial <str<strong>on</strong>g>and</str<strong>on</strong>g> Case Study of the Author : : : : : : : : : : : : : : : 276<br />

6.1.1 My Fitness as an Evaluator : : : : : : : : : : : : : : : : : : : 277<br />

6.1.2 Equipment <str<strong>on</strong>g>and</str<strong>on</strong>g> Methods : : : : : : : : : : : : : : : : : : : : : 278<br />

6.1.3 Typing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 279<br />

6.1.4 Weekly Symptoms : : : : : : : : : : : : : : : : : : : : : : : : 281<br />

6.1.4.1 First Two Weeks : : : : : : : : : : : : : : : : : : : : 281<br />

6.1.4.2 Third <str<strong>on</strong>g>and</str<strong>on</strong>g> Fourth Weeks : : : : : : : : : : : : : : : : 281<br />

6.1.4.3 Fifth <str<strong>on</strong>g>and</str<strong>on</strong>g> Sixth Weeks : : : : : : : : : : : : : : : : : 282<br />

6.1.4.4 Seventh <str<strong>on</strong>g>and</str<strong>on</strong>g> Eighth Weeks : : : : : : : : : : : : : : : 282<br />

6.1.4.5 Ninth <str<strong>on</strong>g>and</str<strong>on</strong>g> Tenth Weeks : : : : : : : : : : : : : : : : 284<br />

6.1.4.6 C<strong>on</strong>clusi<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : 284<br />

6.1.5 Recogniti<strong>on</strong> Errors <str<strong>on</strong>g>and</str<strong>on</strong>g> Accidental Activati<strong>on</strong>s : : : : : : : : : 285<br />

6.1.5.1 Bene ts of Higher Frame Rates : : : : : : : : : : : : 286<br />

6.1.6 <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> Performance : : : : : : : : : : : : : : : 287<br />

6.2 Future Evaluati<strong>on</strong>s : : : : : : : : : : : : : : : : : : : : : : : : : : : : 294<br />

6.2.1 Usability Trials : : : : : : : : : : : : : : : : : : : : : : : : : : 294<br />

6.2.2 RSI Case Studies : : : : : : : : : : : : : : : : : : : : : : : : : 296<br />

6.2.3 Typing Fatigue Studies : : : : : : : : : : : : : : : : : : : : : : 298<br />

6.3 Future Directi<strong>on</strong>s for MTS Development : : : : : : : : : : : : : : : : 299<br />

6.3.1 Increased Array Resoluti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : 299<br />

6.3.2 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>writing Recogniti<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : 300<br />

6.3.3 Universal Access : : : : : : : : : : : : : : : : : : : : : : : : : 301<br />

6.3.4 Fault Tolerant Segmentati<strong>on</strong> : : : : : : : : : : : : : : : : : : : 301<br />

6.3.5 Upgrading Operating Systems for High-DOF, Bimanual<br />

<str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> : : : : : : : : : : : : : : : : : : : : : : : : : : : 302<br />

6.4 C<strong>on</strong>clusi<strong>on</strong> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 303<br />

Appendix<br />

xiii


A ERGONOMICS FOR ENGINEERS : : : : : : : : : : : : : : : : : : : 305<br />

A.1 Risk Factors for RSI : : : : : : : : : : : : : : : : : : : : : : : : : : : 305<br />

A.2 The Role of Force Repetiti<strong>on</strong> in Soft Tissue Damage : : : : : : : : 306<br />

A.3 Activati<strong>on</strong> Forces of Input Devices : : : : : : : : : : : : : : : : : : : 307<br />

A.4 Relevance to the MTS : : : : : : : : : : : : : : : : : : : : : : : : : : 309<br />

B VERTICAL INTERPOLATION BIASES ON<br />

PARALLELOGRAM ELECTRODE ARRAYS : : : : : : : : : : : : 310<br />

B.1 N<strong>on</strong>linear Vertical Centroid for Parallelogram Interpolati<strong>on</strong> : : : : : : 312<br />

C CONVERGENCE TRAPS FOR LOCALIZED<br />

COMBINATORIAL SEARCH ON AN ATTRACTOR RING. : : 315<br />

BIBLIOGRAPHY : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 320<br />

xiv


LIST OF FIGURES<br />

1.1 Warped QWERTY key layout for the MTS. : : : : : : : : : : : : : 6<br />

1.2 Overall block diagram of the MTS hardware <str<strong>on</strong>g>and</str<strong>on</strong>g> software modules. 17<br />

2.1 The two basic multi-touch proximity sensor arrangements. : : : : : 33<br />

2.2 Projecti<strong>on</strong> sensor ambiguities for various diag<strong>on</strong>al arrangements of<br />

ngertips. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35<br />

2.3 Ambiguities in projective sensing caused by presence of the thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> palms in the same columns as ngertips. : : : : : : : : : : : : : 37<br />

2.4 Diagram of electrode layout for the entire 16 96 parallelogram<br />

electrode array. Row pitch is1.2 cm <str<strong>on</strong>g>and</str<strong>on</strong>g> column pitch is 0.4 cm, but<br />

electrodes are <strong>on</strong>ly 0.25 cm wide. : : : : : : : : : : : : : : : : : : : 41<br />

2.5 A 3 3 secti<strong>on</strong> a) of rectangular electrode array. Vertical<br />

interpolati<strong>on</strong> between top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom electrodes works in b)-c) but<br />

not in d)-e). : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42<br />

2.6 Vertical interpolati<strong>on</strong> <strong>on</strong> the parallelogram electrode array is uniform<br />

in a)-d) since ratio of hatched cross secti<strong>on</strong>s <strong>on</strong> top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom<br />

electrodes changes gradually. : : : : : : : : : : : : : : : : : : : : : : 42<br />

2.7 O set-corrected proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> attened <strong>on</strong>to the<br />

surface with ngers outstretched <str<strong>on</strong>g>and</str<strong>on</strong>g> all h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts labeled. : : : : 50<br />

2.8 Proximity image of both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s resting <strong>on</strong> the surface in their<br />

respective neutral or default postures. : : : : : : : : : : : : : : : : : 51<br />

2.9 Proximity image of a partially closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> with ngertips squished<br />

together. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 53<br />

xv


2.10 Proximity image of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> with inner ngers pinched <str<strong>on</strong>g>and</str<strong>on</strong>g> outer<br />

ngers curled under towards the palm heels as if gripping a pen. : : 55<br />

2.11 Proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> at far left of sensing surface <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotated counter-clockwise to its biomechanical limit. : : : : : : : : : 56<br />

2.12 Proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> at far right of sensing surface <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotated outward to its biomechanical limit. : : : : : : : : : : : : : : 57<br />

2.13 Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> up<br />

against it. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 57<br />

2.14 Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

moved down so <strong>on</strong>ly ngertips remain in active sensing area. : : : : 58<br />

2.15 Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

moved up so <strong>on</strong>ly thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palms remain in active sensing area. : 59<br />

3.1 System-level diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong><br />

modules. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61<br />

3.2 Data ow diagram of the proximity image segmentati<strong>on</strong> process. : : 65<br />

3.3 The positi<strong>on</strong>s of the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right sloppy segmentati<strong>on</strong> regi<strong>on</strong>s<br />

(boxes) in relati<strong>on</strong> to estimated nger positi<strong>on</strong>s (plus signs) : : : : : 70<br />

3.4 Typical search patterns starting at the group's local maximum ( lled<br />

circle) <str<strong>on</strong>g>and</str<strong>on</strong>g> proceeding al<strong>on</strong>g successive rows towards the c<strong>on</strong>tact<br />

edge, represented here as the curved, closed boundary. : : : : : : : : 73<br />

3.5 Flow chart summarizing the c<strong>on</strong>tact edge tests which are applied at<br />

each pixel encountered by a group's segmentati<strong>on</strong> search pattern. : : 76<br />

3.6 Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a attened h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

with the ngers squeezed against <strong>on</strong>e another rather than spread out. 86<br />

3.7 Segmentati<strong>on</strong> results for the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> using either a) strict<br />

segmentati<strong>on</strong> rules for both ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels or b) using sloppy<br />

segmentati<strong>on</strong> rules for the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g>. : : : : : : : : : : : : : : : : 88<br />

xvi


3.8 The correct segmentati<strong>on</strong> for the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> obtained by<br />

applying sloppy segmentati<strong>on</strong> rules in the box around the palm heels<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> strict segmentati<strong>on</strong> rules for the ngers. : : : : : : : : : : : : : 90<br />

3.9 This correct segmentati<strong>on</strong> of the neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture (Figure 2.8) is<br />

obtained regardless of where strict a) or sloppy b) segmentati<strong>on</strong> rules<br />

are applied since c<strong>on</strong>tacts are relatively small <str<strong>on</strong>g>and</str<strong>on</strong>g> well-separated. : : 92<br />

3.10 Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a partially<br />

closed right h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated clockwise 45 . : : : : : : : : : : : : : : : : 93<br />

3.11 Sloppy segmentati<strong>on</strong> a) of ngertips in a slanted row causes some of<br />

them to be merged. However, the diag<strong>on</strong>al minima tests of strict<br />

segmentati<strong>on</strong> b) keep ngertip groups properly separated even when<br />

the row of ngertips is slanted as much as 45 . : : : : : : : : : : : : 94<br />

3.12 Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a partially<br />

closed right h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated clockwise 90 , fully sideways. : : : : : : : 95<br />

3.13 All segmentati<strong>on</strong> rules fail to segment the column of ngertips<br />

because the vertical smearing by vertically interleaved parallelogram<br />

electrodes obscures the local proximity maxima normally caused by<br />

each ngertip. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96<br />

3.14 Unsmoothed proximity image <str<strong>on</strong>g>and</str<strong>on</strong>g> properly aligned segmentati<strong>on</strong><br />

map ofathumb passing about a centimeter behind the index<br />

ngertip. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98<br />

3.15 Unsmoothed proximity image <str<strong>on</strong>g>and</str<strong>on</strong>g> properly aligned segmentati<strong>on</strong><br />

map ofathumb touching the back of the index ngertip. : : : : : : 99<br />

3.16 Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attened <strong>on</strong>to the surface so hard that the forepalms are touching. : 100<br />

3.17 All sloppy segmentati<strong>on</strong> a) of the attened right h<str<strong>on</strong>g>and</str<strong>on</strong>g> of Figure<br />

3.16, <str<strong>on</strong>g>and</str<strong>on</strong>g> the correct segmentati<strong>on</strong> using properly aligned sloppy<br />

regi<strong>on</strong>s b). : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101<br />

3.18 Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a attened right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated counter-clockwise about 30 . : : : : : : : : : : : : : : 102<br />

xvii


3.19 Segmentati<strong>on</strong> maps for the rotated, attened h<str<strong>on</strong>g>and</str<strong>on</strong>g>. : : : : : : : : : 103<br />

3.20 Flow chart summarizing the c<strong>on</strong>tact path tracking algorithm. : : : : 108<br />

3.21 Trajectories of four left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips touching down<br />

asynchr<strong>on</strong>ously <strong>on</strong> the lower left of the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding in an arc<br />

to lift o at the lower right. : : : : : : : : : : : : : : : : : : : : : : 113<br />

4.1 System-level diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong><br />

modules. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127<br />

4.2 Flow chart of h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> process. : : : : : : : : : : : 132<br />

4.3 Filter diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator. : : : : : : : : : : : : : 136<br />

4.4 Flow chart of the nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm (within-h<str<strong>on</strong>g>and</str<strong>on</strong>g>) identi cati<strong>on</strong><br />

algorithm. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139<br />

4.5 Vor<strong>on</strong>oi cell diagram c<strong>on</strong>structed around ring of h<str<strong>on</strong>g>and</str<strong>on</strong>g> part attractor<br />

points. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141<br />

4.6 Geometric c<strong>on</strong>structi<strong>on</strong> showing possible assignments when two<br />

attractors compete for <strong>on</strong>e surface c<strong>on</strong>tact. : : : : : : : : : : : : : : 149<br />

4.7 Geometric c<strong>on</strong>structi<strong>on</strong> for comparing the costs of the two possible<br />

assignments between a pair of c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> a pair of attractors. : : 151<br />

4.8 Visual comparis<strong>on</strong> of distance-squared assignments via c<strong>on</strong>tact pair<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> attractor pair bisectors which are both perpendicular to the<br />

attractor pair. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154<br />

4.9 Special case when the attractor pair <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact pair form a right<br />

triangle illustrates di erences in assignment behavior for di erent<br />

distance metrics. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156<br />

4.10 Special case when the attractor pair <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact pair are collinear<br />

illustrates that unlike theL2 metric, the L1 metric does not preserve<br />

the c<strong>on</strong>tact ordering under lateral translati<strong>on</strong> of the c<strong>on</strong>tact pair. : : 157<br />

4.11 Tolerance of h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger pair deviati<strong>on</strong> in assignment<br />

of ve ngers to an attractor ring. : : : : : : : : : : : : : : : : : : : 160<br />

xviii


4.12 Identity swaps which occurs after the pinky nger c<strong>on</strong>tact is removed<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> replaced with adummy c<strong>on</strong>tact. : : : : : : : : : : : : : : : : : 163<br />

4.13 The dummy c<strong>on</strong>tact (D) propagates to the index nger attractor<br />

when the pinky nger is removed. It remains there because no real<br />

surface c<strong>on</strong>tacts lie in the index nger Vor<strong>on</strong>oi cell. : : : : : : : : : 164<br />

4.14 Vor<strong>on</strong>oi diagram with distances from c<strong>on</strong>tacts anywhere in the plane<br />

to palm heels weighted to be twice as far as normal. : : : : : : : : : 168<br />

4.15 Weighted Vor<strong>on</strong>oi diagram with exing nger trajectories<br />

superimposed. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 170<br />

4.16 Weighted Vor<strong>on</strong>oi diagram with rotating nger trajectories<br />

superimposed. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 171<br />

4.17 Right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm heel orientati<strong>on</strong> factor, Piworient[n],<br />

versus orientati<strong>on</strong> of the c<strong>on</strong>tact's tted ellipse, Pi [n]. : : : : : : : 173<br />

4.18 Thumb size factor, Piwthumb size[n] versus ac<strong>on</strong>tact's total proximity,<br />

Piz[n]. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 174<br />

4.19 Palm heel size factor, Piwpalm size versus the ratio of a c<strong>on</strong>tact's total<br />

proximity toits eccentricity, Pz[n]=P [n]. : : : : : : : : : : : : : : : 175<br />

4.20 Palm heel separati<strong>on</strong> factor, Piwpalm sep[n] versus the Euclidean<br />

distance between c<strong>on</strong>tact Pi <str<strong>on</strong>g>and</str<strong>on</strong>g> its nearest neighbor c<strong>on</strong>tact. : : : 176<br />

4.21 Flow chart of the thumb presence veri cati<strong>on</strong> algorithm. : : : : : : 182<br />

4.22 Right inner angle factor, angle fact, versus the vector angle between<br />

the two innermost c<strong>on</strong>tacts identi ed as ngers. : : : : : : : : : : : 183<br />

4.23 Thumb veri cati<strong>on</strong> cuto s versus inner separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> angle when<br />

other inter-c<strong>on</strong>tact features are not discriminating. : : : : : : : : : : 188<br />

4.24 Rolling touchdowns of pinky through thumb asright h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides<br />

down from top left of half surface. : : : : : : : : : : : : : : : : : : : 191<br />

xix


4.25 Instantaneously correct identi cati<strong>on</strong>s of four ngertip rows at far<br />

corners of surface shows that four ngertips arranged in a roughly<br />

horiz<strong>on</strong>tal row are su cient for perfect identi cati<strong>on</strong> anywhere. : : : 192<br />

4.26 A claw h<str<strong>on</strong>g>and</str<strong>on</strong>g> with pinky crossed under ring nger veri es nger<br />

rotati<strong>on</strong> tolerances of the attractor ring. : : : : : : : : : : : : : : : 193<br />

4.27 <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated fully clockwise to the limits of ulnar<br />

deviati<strong>on</strong> are always identi ed perfectly. : : : : : : : : : : : : : : : 194<br />

4.28 <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated fully counter-clockwise to the limits of<br />

radial deviati<strong>on</strong> are sometimes identi ed correctly. : : : : : : : : : : 195<br />

4.29 Absence or merging of both palm heels can cause thumb<br />

misidenti cati<strong>on</strong> when right h<str<strong>on</strong>g>and</str<strong>on</strong>g> is rotated fully counter-clockwise. 196<br />

4.30 <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a pen grip c<strong>on</strong> gurati<strong>on</strong> are identi ed correctly anywhere<br />

<strong>on</strong> the surface. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 197<br />

4.31 Palm heels al<strong>on</strong>e are identi ed correctly anywhere <strong>on</strong> the surface<br />

when they bottom out <str<strong>on</strong>g>and</str<strong>on</strong>g> reach full size. : : : : : : : : : : : : : : : 198<br />

4.32 Dependency of ngertip pair identi cati<strong>on</strong> in palm regi<strong>on</strong>s <strong>on</strong><br />

ngertip separati<strong>on</strong>. : : : : : : : : : : : : : : : : : : : : : : : : : : : 199<br />

4.33 Correct thumb identi cati<strong>on</strong> for a thumb-middle ngertip chord in<br />

the ngertip regi<strong>on</strong>s. : : : : : : : : : : : : : : : : : : : : : : : : : : 200<br />

4.34 Identi cati<strong>on</strong>s of a thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger which do not start<br />

uniquely separated but perform unique moti<strong>on</strong>s. : : : : : : : : : : : 201<br />

4.35 Flow chart of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm. : : : : : : : : : : : 204<br />

4.36 Vertical c<strong>on</strong>tours creating three di erent partiti<strong>on</strong>ing hypotheses for<br />

ac<strong>on</strong>tact arrangement. : : : : : : : : : : : : : : : : : : : : : : : : : 207<br />

4.37 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> clutching directi<strong>on</strong> factor versus the average of the right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s horiz<strong>on</strong>tal c<strong>on</strong>tact velocities. : : : : : : : : : : : : : : : : : : 209<br />

4.38 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>edness factor versus the vertical separati<strong>on</strong> between outermost<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> next outermost nger c<strong>on</strong>tacts. : : : : : : : : : : : : : : : : : : 210<br />

xx


4.39 Palm cohesi<strong>on</strong> factor versus the horiz<strong>on</strong>tal separati<strong>on</strong> between the<br />

innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost c<strong>on</strong>tacts identi ed as palms. : : : : : : : : 212<br />

4.40 Inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor versus the estimated distance between<br />

the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right thumbs. : : : : : : : : : : : : : : : : : : : : : : : 213<br />

4.41 Short-term memory of h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity as maintained by the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> estimate. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 214<br />

4.42 A right thumb placed in the left middle of the surface is identi ed<br />

correctly solely by virtue of its orientati<strong>on</strong>. : : : : : : : : : : : : : : 215<br />

4.43 E ect of clutching velocity factor <strong>on</strong> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> near middle<br />

of surface. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 216<br />

4.44 Right h<str<strong>on</strong>g>and</str<strong>on</strong>g> including thumb is robustly identi ed in middle of<br />

surface. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 217<br />

4.45 Right h<str<strong>on</strong>g>and</str<strong>on</strong>g> touching down well <strong>on</strong>to left side of surface is allowed to<br />

be misidenti ed as the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>. : : : : : : : : : : : : : : : : : : : : 218<br />

4.46 Two full h<str<strong>on</strong>g>and</str<strong>on</strong>g>s placed side by side <strong>on</strong> the left half of the surface are<br />

partiti<strong>on</strong>ed correctly. : : : : : : : : : : : : : : : : : : : : : : : : : : 219<br />

4.47 The entire left h<str<strong>on</strong>g>and</str<strong>on</strong>g> plus the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger placed<br />

side by side <strong>on</strong> the left half of the surface are partiti<strong>on</strong>ed correctly. : 220<br />

4.48 The ve left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers plus the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger<br />

placed side by side <strong>on</strong> the left half of the surface are not partiti<strong>on</strong>ed<br />

correctly. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 221<br />

4.49 The ve left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers plus the right thumb, index, <str<strong>on</strong>g>and</str<strong>on</strong>g> middle<br />

ngers placed side by side <strong>on</strong> the left half of the surface are<br />

partiti<strong>on</strong>ed correctly. : : : : : : : : : : : : : : : : : : : : : : : : : : 222<br />

5.1 Flow chart of the keypress registrati<strong>on</strong> process. : : : : : : : : : : : : 238<br />

5.2 Flow chart of the nger synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> process. : : : : : 241<br />

5.3 C<strong>on</strong>tinuati<strong>on</strong> of Figure 5.2 showing chord tap detecti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

transmissi<strong>on</strong>. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 242<br />

xxi


5.4 Flow chart of the keypress acceptance <str<strong>on</strong>g>and</str<strong>on</strong>g> transmissi<strong>on</strong> process. : : 248<br />

5.5 Flow chart of the algorithm for extracting h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, rotati<strong>on</strong>,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> velocities from individual nger velocities. : : : : : : 255<br />

5.6 Typical exing nger trajectories when performing a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling. : 256<br />

5.7 Velocity comp<strong>on</strong>ents extracted from simultaneous h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>,<br />

rotati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling. : : : : : : : : : : : : : : : : : : : : : : : : : : 262<br />

5.8 Velocity comp<strong>on</strong>ents extracted from whole-h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>. : : : : 264<br />

5.9 Velocity comp<strong>on</strong>ents extracted from separate h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

scaling moti<strong>on</strong>s. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 265<br />

5.10 State diagram for 3- nger touchpad tapping <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding. : : : : : : 267<br />

5.11 State diagram for the MTS chord moti<strong>on</strong> recognizer. : : : : : : : : : 270<br />

6.1 Modi ed Dvorak key layout adopted by the author starting in the<br />

fth week of the trial. : : : : : : : : : : : : : : : : : : : : : : : : : : 283<br />

B.1 Diagram illustrating the vertical interpolati<strong>on</strong> biases which can arise<br />

when small-to-medium-sized c<strong>on</strong>tacts are halfway between<br />

parallelogram electrode rows but not centered <strong>on</strong> or between<br />

columns. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 311<br />

C.1 Diagrams showing c<strong>on</strong>vergence failures for attractor rings which are<br />

not perfectly circular. : : : : : : : : : : : : : : : : : : : : : : : : : : 316<br />

C.2 Rotati<strong>on</strong>al local minimum assignments for a perfectly symmetric<br />

attractor ring. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 318<br />

xxii


LIST OF TABLES<br />

1.1 Legend for nger combinati<strong>on</strong>/channel ic<strong>on</strong>s. : : : : : : : : : : : : : 9<br />

1.2 Legend for chord moti<strong>on</strong> ic<strong>on</strong>s. : : : : : : : : : : : : : : : : : : : : : 10<br />

1.3 Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels. : : : : : : : : : : : : 12<br />

1.4 Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels. : : : : : : : : : 14<br />

4.1 <str<strong>on</strong>g>Finger</str<strong>on</strong>g> identity notati<strong>on</strong> for identi ed path data structures. : : : : : 128<br />

5.1 The seven unique nger chord channels. : : : : : : : : : : : : : : : : 246<br />

5.2 The simple manipulati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> lateral moti<strong>on</strong> gestures recognized by<br />

the MTS. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 273<br />

6.1 Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels. : : : : : : : : : : : : 289<br />

6.2 Mappings for left h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels. : : : : : : : : : : : : : 290<br />

6.3 Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels. : : : : : : : : : 291<br />

6.4 Mappings for left h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels. : : : : : : : : : : 292<br />

6.5 Schedule for MTS usability study. : : : : : : : : : : : : : : : : : : : 295<br />

xxiii


GLOSSARY<br />

assignment problem Finding the best <strong>on</strong>e-to-<strong>on</strong>e matching between sets of<br />

equal size.<br />

attractor ring A set of points xed in a ring around the h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <strong>on</strong>e per nger<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel, which are used to associate nearby unidenti ed<br />

c<strong>on</strong>tacts with particular ngers.<br />

bimanual manipulati<strong>on</strong> Using two h<str<strong>on</strong>g>and</str<strong>on</strong>g>s simultaneously to navigate, move,<br />

or stretch <strong>on</strong>screen objects.<br />

carpal tunnel syndrome Compressi<strong>on</strong> of the median nerve caused by in ammati<strong>on</strong><br />

of the tend<strong>on</strong>s which pass through the carpal tunnel at<br />

the underside of the wrist. Causes numbness, tingling, sharp<br />

wrist pains at night, <str<strong>on</strong>g>and</str<strong>on</strong>g> eventual degradati<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g> motor<br />

c<strong>on</strong>trol if untreated. Though <strong>on</strong>e of the most widely feared<br />

repetitive strain injuries, it appears in <strong>on</strong>ly about 20 percent of<br />

RSI cases [117].<br />

chord A combinati<strong>on</strong> of ngers <strong>on</strong> <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> which c<strong>on</strong>tact a surface<br />

simultaneously. Some combinati<strong>on</strong>s are easier for the user to<br />

perform or the system to recognize than others.<br />

chordic manipulati<strong>on</strong> 4-DOF c<strong>on</strong>trol of <strong>on</strong>screen graphical objects with slides<br />

of two or more ngers across a surface.<br />

channel selecti<strong>on</strong> Choosing <str<strong>on</strong>g>and</str<strong>on</strong>g> touching a particular combinati<strong>on</strong> of ngers<br />

to select between pointing, dragging, scrolling, etc., in analogy<br />

to pressing a subset of mouse butt<strong>on</strong>s.<br />

c<strong>on</strong>tact (noun) A general term for signals produced when a grounded c<strong>on</strong>ductive<br />

object such as a nger approaches a capacitance-sensing<br />

surface. The groups, paths, <str<strong>on</strong>g>and</str<strong>on</strong>g> ngers of Chapters 3 <str<strong>on</strong>g>and</str<strong>on</strong>g> 4 are<br />

each c<strong>on</strong>tacts at di erent stages of processing.<br />

cumulative trauma disorders (CTD) Slightly more general term than repetitive<br />

strain injury which includes occupati<strong>on</strong>al back injuries.<br />

xxiv


cubital tunnel syndrome Same as carpal tunnel syndrome except compresses<br />

ulnar nerve at the elbow (nearthe funny b<strong>on</strong>e).<br />

degrees of freedom (DOF) The number of independent directi<strong>on</strong>s a solid<br />

object or joint canmove. Three-dimensi<strong>on</strong>al free space has six-<br />

DOF, three for translati<strong>on</strong> al<strong>on</strong>g the x, y, <str<strong>on</strong>g>and</str<strong>on</strong>g> z axes, <str<strong>on</strong>g>and</str<strong>on</strong>g> three<br />

for rotati<strong>on</strong> in the xy, yz, <str<strong>on</strong>g>and</str<strong>on</strong>g> xz planes. The joints of the wrist<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers have over 20-DOF total.<br />

DeQuervain's Syndrome Entrapment of the tend<strong>on</strong>s which extend <str<strong>on</strong>g>and</str<strong>on</strong>g> raise<br />

the thumb where they pass through tend<strong>on</strong> sheaths at the wrist.<br />

Can be caused by holding thumbs too high when typing or<br />

pulling thumb backwards <strong>on</strong> thumb-operated trackballs.<br />

Dvorak key layout An alternative key layout designed by August Dvorak in<br />

the 1930's. Its primary advantage is that the most frequently<br />

typed characters are placed <strong>on</strong> home row, so nger excursi<strong>on</strong>s<br />

to the fr<strong>on</strong>t <str<strong>on</strong>g>and</str<strong>on</strong>g> back rows are greatly reduced.<br />

electrode A thin c<strong>on</strong>ductive plate, thous<str<strong>on</strong>g>and</str<strong>on</strong>g>s of which form the sensor array<br />

of the MTS. The sensed parameter is the change in electrode<br />

capacitance caused by approach of another c<strong>on</strong>ductive object<br />

such as ngertip esh. Precise c<strong>on</strong>tact locati<strong>on</strong>s are obtained<br />

by grouping <str<strong>on</strong>g>and</str<strong>on</strong>g> interpolating neighboring electrode measurements.<br />

nger Any of the thumb, index, middle, ring or pinky.<br />

nger identi cati<strong>on</strong> Determining which ngertip, palm heel or thumb <strong>on</strong> a<br />

given h<str<strong>on</strong>g>and</str<strong>on</strong>g> is causing a particular surface c<strong>on</strong>tact.<br />

ngertip The tip of any of the index, middle, ring or pinky ngers, but<br />

not the tip of the thumb.<br />

frame rate The frequency with which the electrode scanning hardware scans<br />

the whole proximity sensing array. Also known as the array<br />

scanning rate.<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> Determining which of the left or right h<str<strong>on</strong>g>and</str<strong>on</strong>g>s is causing<br />

a particular surface c<strong>on</strong>tact or cluster of c<strong>on</strong>tacts.<br />

oating nger A nger which is in detecti<strong>on</strong> range (less than 3 mm from the<br />

surface) but is not actually touching the surface.<br />

forearm pr<strong>on</strong>ati<strong>on</strong> Rotati<strong>on</strong> of the forearm so that the palm faces down.<br />

xxv


forearm supinati<strong>on</strong> Rotati<strong>on</strong> of the forearm so that the palm faces up.<br />

forepalms The mounds of often callused esh protecting the underside<br />

of the joint between the metacarpals <str<strong>on</strong>g>and</str<strong>on</strong>g> proximal phalanges,<br />

where the distal palm branches into the ngers.<br />

graphical manipulati<strong>on</strong> Direct c<strong>on</strong>trol of c<strong>on</strong>tinuous software parameters<br />

whose state changes are usually indicated by movement of something<br />

<strong>on</strong> the screen.<br />

graphical user interface (GUI) A modern software interface like the Windows<br />

95 desktop which has ic<strong>on</strong>s, menus, windows, butt<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

dialogue boxes operated principally by the mouse, as opposed to<br />

older comm<str<strong>on</strong>g>and</str<strong>on</strong>g> line interfaces which <strong>on</strong>ly required a keyboard.<br />

GUIs rely heavily <strong>on</strong> the mouse pointer locati<strong>on</strong> to determine<br />

c<strong>on</strong>text <str<strong>on</strong>g>and</str<strong>on</strong>g> mode.<br />

group In the c<strong>on</strong>text of Chapter 3, a set of electrodes which all appear<br />

to be a ected by the same distinguishable part of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

hunt <str<strong>on</strong>g>and</str<strong>on</strong>g> peck typing Novice typists typically strike keys with the index ngers<br />

<strong>on</strong>ly, visually searching the keyboard for each key. Trained<br />

typists use this method sporadically for unfamiliar or hard-toreach<br />

key sequences.<br />

integral C<strong>on</strong>trol devices or tasks in which it is possible to move al<strong>on</strong>g<br />

all axes or in all degrees of freedom simultaneously, e.g. moving<br />

diag<strong>on</strong>ally in a plane.<br />

inner Towards the thumb of a given h<str<strong>on</strong>g>and</str<strong>on</strong>g>, known more formally as<br />

medial.<br />

mouse cursor Usually denoted by an arrow pointer moving across the screen,<br />

this cursor has traditi<strong>on</strong>ally been c<strong>on</strong>trolled by a mouse.<br />

multi-touch surface (MTS) A surface with a proximity sensor array underneath<br />

capable of unambiguously measuring the positi<strong>on</strong>s of<br />

multiple nger c<strong>on</strong>tacts.<br />

<strong>on</strong>e-shot A comm<str<strong>on</strong>g>and</str<strong>on</strong>g> or key sequence which cannot easily be und<strong>on</strong>e or<br />

reversed <str<strong>on</strong>g>and</str<strong>on</strong>g> which is normally not repeated. One-shot comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

are therefore <strong>on</strong>ly issued <strong>on</strong>ce per h<str<strong>on</strong>g>and</str<strong>on</strong>g> slide across the<br />

surface.<br />

outer Towards the pinky of the given h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

xxvi


path In c<strong>on</strong>text of Chapters 3{5, the trajectory of a surface c<strong>on</strong>tact<br />

which is persistently tracked across successive proximity images.<br />

If it cannot be associated with an electrode group from the most<br />

recent array scan, it is deactivated, representing nger lifto .<br />

palm heels The pair of eshy mounds at the base of the palm near the wrist.<br />

pen grip A h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture or c<strong>on</strong> gurati<strong>on</strong> in which the middle, ring, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky ngers are curled under the palms <str<strong>on</strong>g>and</str<strong>on</strong>g> the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

index nger are pinched together as if holding a pen.<br />

puck A mouse-like device often used with electromagnetic drawing<br />

tablets [149]. The primary di erences from the c<strong>on</strong>venti<strong>on</strong>al<br />

mouse are that the puck can report its absolute positi<strong>on</strong> rather<br />

than just relative changes in positi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> pucks often have 4{<br />

16 butt<strong>on</strong>s rather than just 1{3. Pucks <str<strong>on</strong>g>and</str<strong>on</strong>g> drawing tablets are<br />

used most often by professi<strong>on</strong>al draftsmen for computer-aideddesign<br />

(CAD). These same tablets usually support styli as well.<br />

QWERTY key layout The alphabet key layout which has l<strong>on</strong>g been st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard<br />

<strong>on</strong> most English typewriters <str<strong>on</strong>g>and</str<strong>on</strong>g> computer keyboards. Character<br />

placement seems r<str<strong>on</strong>g>and</str<strong>on</strong>g>om, but speed is fairly good because<br />

typing of c<strong>on</strong>secutive characters often alternates between h<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

repetitive strain injury (RSI) L<strong>on</strong>g-term damage to tend<strong>on</strong>s, muscles, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

nerves caused by highly repetitive <str<strong>on</strong>g>and</str<strong>on</strong>g> forceful body moti<strong>on</strong>s.<br />

Tends to a ect smaller muscle groups such as those in the arm<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

separable C<strong>on</strong>trol devices or tasks in which movement is <strong>on</strong>ly possible<br />

al<strong>on</strong>g <strong>on</strong>e axis or degree of freedom at a time, e.g. driving in<br />

Manhattan geometry, or using orthog<strong>on</strong>al cursor mode in CAD<br />

programs.<br />

slide Coupled lateral moti<strong>on</strong> of all ngers in a chord across the surface.<br />

sliding tap A brief chord c<strong>on</strong>tact with the surface including fast lateral nger<br />

moti<strong>on</strong>.<br />

stylus A special pen whose moti<strong>on</strong>, pressure, <str<strong>on</strong>g>and</str<strong>on</strong>g> tilt can be sensed<br />

electromagnetically by drawing tablets (e.g. [149]). Most recent<br />

models are light <str<strong>on</strong>g>and</str<strong>on</strong>g> cordless, though older versi<strong>on</strong>s were encumbered<br />

with cords or heavy batteries. Styli <str<strong>on</strong>g>and</str<strong>on</strong>g> drawing tablets<br />

xxvii


are used most often by artists <str<strong>on</strong>g>and</str<strong>on</strong>g> graphics designers but can<br />

also be used with h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing recogniti<strong>on</strong> software. Many of<br />

these tablets support pucks as well.<br />

tap A quick press <str<strong>on</strong>g>and</str<strong>on</strong>g> release of the nger to the surface with minimal<br />

lateral moti<strong>on</strong>.<br />

tend<strong>on</strong>itis In ammati<strong>on</strong> of the tend<strong>on</strong>s, the collagenous tissues which c<strong>on</strong>nect<br />

muscle to b<strong>on</strong>e, due to overuse.<br />

tenosynivitis Swelling of the sheath which surrounds a tend<strong>on</strong> where the tend<strong>on</strong><br />

passes over b<strong>on</strong>es or curves.<br />

text cursor The cursor, usually denoted by a ashing bar or highlight block,<br />

at whichtyped characters are inserted. Can be moved incrementally<br />

by arrow <str<strong>on</strong>g>and</str<strong>on</strong>g> page keys.<br />

touch typing Skilled typing in which all ten ngers are used, nger moti<strong>on</strong>s<br />

are quick <str<strong>on</strong>g>and</str<strong>on</strong>g> ballistic, <str<strong>on</strong>g>and</str<strong>on</strong>g> the typist does not look for the keys.<br />

touchpad A credit-card-sized nger-sensing surface popular in notebook<br />

computers. Because touchpads c<strong>on</strong>tains l<strong>on</strong>g row <str<strong>on</strong>g>and</str<strong>on</strong>g> column<br />

electrodes rather than electrode arrays, they may detect two or<br />

three ngers but can <strong>on</strong>ly report a global positi<strong>on</strong> averaged over<br />

all nger c<strong>on</strong>tacts.<br />

ulnar deviati<strong>on</strong> Rotated posture of the wrist in which the pinky points outward<br />

away from the sides of the body.<br />

xxviii


ABSTRACT<br />

This research introduces methods for tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identifying multiple nger<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> palm c<strong>on</strong>tacts as h<str<strong>on</strong>g>and</str<strong>on</strong>g>s approach, touch, <str<strong>on</strong>g>and</str<strong>on</strong>g> slide across a proximity-sensing<br />

multi-touch surface (MTS). Though MTS proximity images exhibit special topo-<br />

logical characteristics such as absence of background clutter, techniques such as<br />

bootstrapping from h<str<strong>on</strong>g>and</str<strong>on</strong>g>-positi<strong>on</strong> estimates are necessary to overcome the invisi-<br />

bility of structures linking ngertips to palms. C<strong>on</strong>text-dependent segmentati<strong>on</strong> of<br />

each proximity image c<strong>on</strong>structs <str<strong>on</strong>g>and</str<strong>on</strong>g> parameterizes pixel groups corresp<strong>on</strong>ding to<br />

each distinguishable surface c<strong>on</strong>tact. Path-tracking links across successive images<br />

those groups which corresp<strong>on</strong>d to the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> part, reliably detecting touchdown<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> lifto of individual ngers. Combinatorial optimizati<strong>on</strong> algorithms use biome-<br />

chanical c<strong>on</strong>straints <str<strong>on</strong>g>and</str<strong>on</strong>g> anatomical features to associate each c<strong>on</strong>tact's path with<br />

a particular ngertip, thumb, or palm of either h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Assignment of c<strong>on</strong>tacts to a<br />

ring of h<str<strong>on</strong>g>and</str<strong>on</strong>g> part attractor points using a squared-distance cost metric e ectively<br />

sorts the c<strong>on</strong>tact identities with respect to the ring structure.<br />

Despite the ascensi<strong>on</strong> of the mouse into everyday computing, more advanced<br />

devices for bimanual <str<strong>on</strong>g>and</str<strong>on</strong>g> high degree-of-freedom (DOF) manipulati<strong>on</strong> have failed<br />

to enter the mainstream due to awkward integrati<strong>on</strong> with text entry devices. This<br />

work introduces a novel input integrati<strong>on</strong> technique which reserves synchr<strong>on</strong>ized<br />

moti<strong>on</strong>s of multiple ngers <strong>on</strong> the MTS for multi-DOF gestures <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting,<br />

leaving asynchr<strong>on</strong>ous single nger taps <strong>on</strong> the MTS to be recognized as typing <strong>on</strong><br />

a QWERTY key layout. The operator can then switch instantaneously between<br />

typing <str<strong>on</strong>g>and</str<strong>on</strong>g> several 4-DOF graphical manipulati<strong>on</strong> channels with a simple change in<br />

xxix


h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>. This integrati<strong>on</strong> technique depends up<strong>on</strong> reliable detecti<strong>on</strong> of<br />

synchr<strong>on</strong>ized nger touches, extracti<strong>on</strong> of independent h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>, scaling, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotati<strong>on</strong>al velocities, <str<strong>on</strong>g>and</str<strong>on</strong>g> the aforementi<strong>on</strong>ed nger <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>s. The<br />

MTS optimizes erg<strong>on</strong>omics by eliminating redundant pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> homing moti<strong>on</strong>s,<br />

minimizing device activati<strong>on</strong> force without removing support for resting h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

distributing tasks evenly over muscles in both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Based up<strong>on</strong> my daily use of a<br />

prototype to prepare this document, I have found that the MTS system as a whole<br />

is nearly as reliable, much more e cient, <str<strong>on</strong>g>and</str<strong>on</strong>g> much less fatiguing than the typical<br />

mouse-keyboard combinati<strong>on</strong>.<br />

xxx


Chapter 1<br />

INTRODUCTION<br />

1.1 The State of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>-Computer Interacti<strong>on</strong> in 1998<br />

In the rst paper to formally dem<strong>on</strong>strate the advantages of two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed<br />

graphical manipulati<strong>on</strong>, e.g. scrolling with <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> while pointing with the other,<br />

Buxt<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Myers [23] lament:<br />

To date, very few computer systems easily lend themselves to experimentati<strong>on</strong><br />

with the types of interacti<strong>on</strong> described in this paper.<br />

Twelve years later, further research [62, 86, 171] has veri ed the e ciency <str<strong>on</strong>g>and</str<strong>on</strong>g> in-<br />

tuitiveness of simultaneous two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> high degree-of-freedom<br />

(DOF) c<strong>on</strong>trols. Manually dem<str<strong>on</strong>g>and</str<strong>on</strong>g>ing tasks such as web browsing <str<strong>on</strong>g>and</str<strong>on</strong>g> computer-<br />

aided- design (CAD) have also become ubiquitous, but the requisite input devices<br />

have yet to appear <strong>on</strong> the pers<strong>on</strong>al computer market. As Leganchuk et al. [90] point<br />

out,<br />

One reas<strong>on</strong> for this may be the di culty in equipping systems with<br />

inexpensive <str<strong>on</strong>g>and</str<strong>on</strong>g> available input devices capable of capturing bimanual<br />

input.<br />

Enthusiastic investigati<strong>on</strong> of gesture recogniti<strong>on</strong> via alternative input devices has<br />

also lulled since pen computing, data gloves, <str<strong>on</strong>g>and</str<strong>on</strong>g> erg<strong>on</strong>omic keyboards failed to<br />

blossom in the early 1990s. Hope for improvement in human-computer interacti<strong>on</strong><br />

has shifted to speech recogniti<strong>on</strong>, but speech is clearly inappropriate for precise<br />

manipulati<strong>on</strong> of graphics. Computer manufacturers seem to have c<strong>on</strong>cluded that<br />

1


the combinati<strong>on</strong> of a keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> a two-dimensi<strong>on</strong>al pointing device, e.g. mouse<br />

or touchpad, cannot be outd<strong>on</strong>e in terms of overall practicality. This dissertati<strong>on</strong><br />

will challenge the status quo with an erg<strong>on</strong>omic, ec<strong>on</strong>omical, manual input device<br />

whichachieves the anticipated performance gains of two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed gestural interacti<strong>on</strong>,<br />

yet is practical enough to replace mice <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboards in general computer use.<br />

In currently popular graphical user interfaces, most computer users rely heav-<br />

ily up<strong>on</strong> the mouse to avoid memorizing keyboard comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s or n<strong>on</strong>-sensical hot-<br />

key sequences. These interfaces are very easy to learn because all possible acti<strong>on</strong>s<br />

are clearly displayed as butt<strong>on</strong>s or other visual c<strong>on</strong>trols <str<strong>on</strong>g>and</str<strong>on</strong>g> accessible with sim-<br />

ple mouse clicks, but this likeable reducti<strong>on</strong> in cognitive load ampli es dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong><br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> breaks the train of thought in other ways. Even the simple task of<br />

web browsing may involve a cumbersome sequence of clicking <strong>on</strong> page links, moving<br />

the mouse pointer to distant scrollbar c<strong>on</strong>trols, clumsily manipulating the scrollbar,<br />

then moving the pointer back to newly uncovered links. The homing distance be-<br />

tween keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse may also discourage users from moving h<str<strong>on</strong>g>and</str<strong>on</strong>g>s back to<br />

the keys for highly e cient keyboard methods. Once at the keyboard, however, the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s face further danger. Unless the keyboard is a truly erg<strong>on</strong>omic model, sti<br />

keys, ulnar deviati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> forearm pr<strong>on</strong>ati<strong>on</strong> exacerbate the risk of carpal tunnel<br />

syndrome <str<strong>on</strong>g>and</str<strong>on</strong>g> other painful repetitive strain injuries (RSI).<br />

In the past few years, the growth of the Internet has accelerated the pene-<br />

trati<strong>on</strong> of computers into our daily work <str<strong>on</strong>g>and</str<strong>on</strong>g> lifestyles. The shear amount of time<br />

students spend browsing the web, writing papers, sending e-mail, <str<strong>on</strong>g>and</str<strong>on</strong>g> playing com-<br />

puter games turns the annoying ine ciencies <str<strong>on</strong>g>and</str<strong>on</strong>g> poor erg<strong>on</strong>omic habits cited above<br />

into a rash of crippling illnesses [132]. In 1997, over 100 students at Harvard Uni-<br />

versity requested assistance because of RSI, compared to 1 in 1991. Over 200 cases<br />

were diagnosed at the MIT Student Health Center, up 44% from 1995. This author,<br />

too, has struggled throughout graduate school with tend<strong>on</strong>itis brought <strong>on</strong> by the<br />

2


volume of computer programming for this <str<strong>on</strong>g>and</str<strong>on</strong>g> other projects. RSI disproporti<strong>on</strong>-<br />

ately a ects high achievers because of the intensity with which theywork. Nature is<br />

imposing a strange limitati<strong>on</strong> <strong>on</strong> the best minds of the Internet Generati<strong>on</strong>, which<br />

says, \the harder you work <strong>on</strong> glorious new technology, the l<strong>on</strong>ger it will take your<br />

bodies to recover from the pain."<br />

The inadequacies of the mouse-keyboard interface may also hinder the qual-<br />

ity of artistic projects in which computers are the primary tool. Granting that<br />

computers enable amazing new audio <str<strong>on</strong>g>and</str<strong>on</strong>g> visual e ects, clumsy interfaces also en-<br />

sure the artist remains engrossed in the workings of the computer rather than in<br />

the artistic visi<strong>on</strong>. Pianos <str<strong>on</strong>g>and</str<strong>on</strong>g> paintbrushes do not c<strong>on</strong>tain arti cial intelligences to<br />

anticipate the intenti<strong>on</strong>s of the artist, yet they provide a subtlety <str<strong>on</strong>g>and</str<strong>on</strong>g> richness of<br />

c<strong>on</strong>trol which allow nuance to ow from the artist e ortlessly. Once a pianist has<br />

technically mastered a piece, he or she c<strong>on</strong>centrates during performance <strong>on</strong> perfect-<br />

ing the musical phrasing, which the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s can modulate subc<strong>on</strong>sciously. I easily<br />

experiences such <strong>on</strong>eness with the piano, but never with the computer, because I<br />

cannot sustain subc<strong>on</strong>scious mastery of the interface.<br />

My academic advisor, Prof. John Elias, <str<strong>on</strong>g>and</str<strong>on</strong>g> I began the present work when<br />

we realized that the c<strong>on</strong>venti<strong>on</strong>al mechanical keyboard, for all of its strengths, is<br />

physically incompatible with the rich graphical manipulati<strong>on</strong> dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s of modern<br />

software. Single or dual- nger devices such as pointing sticks <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads embed-<br />

ded in the keyboard overuse <strong>on</strong>e nger <str<strong>on</strong>g>and</str<strong>on</strong>g> cannot match the versatility of whole<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong>. Most operators will not adopt a drawing tablet with stylus or<br />

puck [90] or other bimanual manipulati<strong>on</strong> methods as l<strong>on</strong>g as frequent movements<br />

back to the keyboard are necessary. Speech recogniti<strong>on</strong> reduces dependence <strong>on</strong> the<br />

keyboard in some situati<strong>on</strong>s, but total reliance <strong>on</strong> speech for text <str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

input can strain the voice <str<strong>on</strong>g>and</str<strong>on</strong>g> annoy co-workers. Progress appears to be stymied<br />

by a Catch 22 in which typing cannot be eliminated, yet gesture capable devices<br />

3


cannot thrive in the same physical space as the keyboard.<br />

This dissertati<strong>on</strong> attempts a compromise by developing touch typing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong>s for a keyless, multi-touch-sensitive, smooth surface. The<br />

compromise hinges up<strong>on</strong> the hypothesis that since typing movements are essentially<br />

ballistic <str<strong>on</strong>g>and</str<strong>on</strong>g> do not carry the subtlety of musical keyboarding, the lack of tactile<br />

reference from mechanical keys can be compensated by other means. Though per-<br />

fecti<strong>on</strong> of these means will be left to future work, they can include depressi<strong>on</strong>s of the<br />

surface around home row, forming a raised dot at the center of each key, tracking<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> drift over the key layout using the redundancy of English, <str<strong>on</strong>g>and</str<strong>on</strong>g> issuing sounds<br />

to indicate when a surface tap has been recognized as a keypress. Giving up me-<br />

chanical keys provides clear erg<strong>on</strong>omic <str<strong>on</strong>g>and</str<strong>on</strong>g> ec<strong>on</strong>omic bene ts, as well as allowing<br />

detecti<strong>on</strong> of all ngers as they slide smoothly across the surface.<br />

By replacing the keyboard with a multi-touch-sensitive surface (MTS) <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

recognizing h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s as described in this dissertati<strong>on</strong>, h<str<strong>on</strong>g>and</str<strong>on</strong>g>-computer interac-<br />

ti<strong>on</strong> can be dramatically trans gured. Scrolling <str<strong>on</strong>g>and</str<strong>on</strong>g> panning need no l<strong>on</strong>ger inter-<br />

rupt the primary task, but can be accomplished with a slide of the ngers <strong>on</strong> the<br />

n<strong>on</strong>-dominant h<str<strong>on</strong>g>and</str<strong>on</strong>g> akin to ipping the corner of a page. Browser back <str<strong>on</strong>g>and</str<strong>on</strong>g> forward<br />

no l<strong>on</strong>ger require a trip to the butt<strong>on</strong>bar, but become a speedier versi<strong>on</strong> of the<br />

scrolling gesture. Cut, copy, <str<strong>on</strong>g>and</str<strong>on</strong>g> paste become quick pinch gestures. Object sizing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> in drawing programs no l<strong>on</strong>ger requires menu access, but becomes in-<br />

tegral with dragging by a simple c<strong>on</strong>tracti<strong>on</strong> of the ngers or rotati<strong>on</strong> of the wrist.<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>writing mode can be indicated by forming a pen grip with or without stylus, so<br />

the operator does not have to c<strong>on</strong>stantly pick up <str<strong>on</strong>g>and</str<strong>on</strong>g> put down the stylus to type.<br />

Because nearly all activity can be distinguished by relative positi<strong>on</strong> or velocity, a<br />

skilled operator seldom need look at the surface.<br />

Though operators may need acoupledays to get used to the di erent \feel"<br />

of interacting with a smooth surface, just as drivers must get used to the di erent<br />

4


esp<strong>on</strong>siveness of the c<strong>on</strong>trols <strong>on</strong> a new car, basic typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing skills transfer<br />

from c<strong>on</strong>venti<strong>on</strong>al keyboards <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads to the surface. Novices can hunt <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

peck <strong>on</strong> the warped QWERTY key layout printed <strong>on</strong> the sensing surface. For touch<br />

typing, users must learn to hold the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s fairly steady over the key layout <str<strong>on</strong>g>and</str<strong>on</strong>g> rest<br />

them <strong>on</strong> the surface during lulls in typing. They also must try not to grossly over-<br />

shoot key rows. To attain the performance gains of instantaneous mode switching,<br />

a few sensible nger chord gestures must be memorized, but this is not nearly as<br />

di cult as learning a chord keyboard typing scheme. And while the eliminati<strong>on</strong> of<br />

key activati<strong>on</strong> force makes the erg<strong>on</strong>omics of the surface excepti<strong>on</strong>al, users should<br />

still take rest breaks <str<strong>on</strong>g>and</str<strong>on</strong>g> vary their posture to prevent minute in ammati<strong>on</strong>s from<br />

accumulating into l<strong>on</strong>g-term injuries.<br />

1.2 Summary of Final Device Operati<strong>on</strong><br />

Obtaining basic keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse functi<strong>on</strong>ality fromtheMTS should be<br />

easier than operating a keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse, but is necessarily somewhat di er-<br />

ent. Only the more advanced functi<strong>on</strong>ality such as text cursor manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures, which c<strong>on</strong>venti<strong>on</strong>al pointing devices cannot support, requires<br />

substantial learning or adapti<strong>on</strong> <strong>on</strong> the user's part. Therefore it is assumed in the<br />

following that <strong>on</strong>ly the functi<strong>on</strong>ality necessary for an applicati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong> par with<br />

the user's skill level will be enabled atagiven time.<br />

1.2.1 Typing<br />

Though development of typing recogniti<strong>on</strong> software is not yet complete, the<br />

MTS strives to support both touch <str<strong>on</strong>g>and</str<strong>on</strong>g> hunt <str<strong>on</strong>g>and</str<strong>on</strong>g> peck styles of typing.<br />

1.2.1.1 Default Key Layout<br />

A default QWERTY key layout (Figure 1.1) is printed <strong>on</strong> the MTS with<br />

key columns morphed to t an average h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The layout is pre-morphed because<br />

5


6<br />

Figure 1.1: Warped QWERTY key layout for the MTS.


without indentati<strong>on</strong>s to force the ngers <strong>on</strong>to a straight home row, the ngertips will<br />

naturally fall al<strong>on</strong>g an arc. Future versi<strong>on</strong>s of the MTS may include indentati<strong>on</strong>s<br />

or depressi<strong>on</strong>s for the home row keys <str<strong>on</strong>g>and</str<strong>on</strong>g> raised dots at the centers of other keys.<br />

The alphabetic number <str<strong>on</strong>g>and</str<strong>on</strong>g> shift keys are all in their st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard relative locati<strong>on</strong>s.<br />

However, functi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> editing keys are rearranged (as is often d<strong>on</strong>e in laptops) to<br />

reduce l<strong>on</strong>g-distance h<str<strong>on</strong>g>and</str<strong>on</strong>g> excursi<strong>on</strong>s. Space is placed under the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

backspace under the left, so people who are used to spacing with either thumb will<br />

need to adjust. Enter <str<strong>on</strong>g>and</str<strong>on</strong>g> delete are accessed by extending the right <str<strong>on</strong>g>and</str<strong>on</strong>g> left thumbs,<br />

respectively, as <strong>on</strong> the Kinesis [29] key layout. The functi<strong>on</strong> keys are arranged in<br />

a pie [67, 85, 135, 145] at the center of the board where they can be reached easily<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> invoked with properly angled nger icks. Arrow <str<strong>on</strong>g>and</str<strong>on</strong>g> page keys can also be<br />

arranged in pies if they are not assigned to chord gestures.<br />

1.2.1.2 Key Activati<strong>on</strong><br />

The keys are not mechanical in the sense that they do not give when pressed.<br />

They are simply areas of the hard surface which are sensitive to quick, light taps<br />

by the nger. Thus a key is activated <strong>on</strong>ly when a nger touches the surface near<br />

a symbol <str<strong>on</strong>g>and</str<strong>on</strong>g> lifts back o the surface within half a sec<strong>on</strong>d. If the nger arrives<br />

synchr<strong>on</strong>ously with other ngers from the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> or slides around <strong>on</strong> the surface<br />

too much, then the keypress signal will not be generated. This allows the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

to rest <strong>on</strong> the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> lift o without invoking any acti<strong>on</strong>. An auto-repeat or<br />

typematic mode for sending identical keypresses is invoked by holding a single nger<br />

<strong>on</strong> a symbol for at least <strong>on</strong>e sec<strong>on</strong>d while all other ngers are lifted. The repeat<br />

rate can be c<strong>on</strong>trolled by nger pressure to prevent overshoot at high rates.<br />

1.2.2 <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g>s<br />

For editing comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> of graphics the MTS recognizes a<br />

variety ofchordic manipulati<strong>on</strong>s. <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> manipulati<strong>on</strong>s are performed by placing a<br />

7


combinati<strong>on</strong> of ngers <strong>on</strong> the surface at the same time <str<strong>on</strong>g>and</str<strong>on</strong>g> then sliding these ngers<br />

across the surface. The thumb- ngertip combinati<strong>on</strong> selects <strong>on</strong>e of the manipulati<strong>on</strong><br />

or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> channels shown in Table 1.1. Within each channel, the operator can<br />

perform:<br />

achord tap by quickly lifting all the ngers o the surface after they touch.<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>, sliding all the touching ngers in the same directi<strong>on</strong> across<br />

the surface at the same speed.<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> as if turning a jar lid or screw between the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> nger-<br />

tips.<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling which pinches the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips together or icks them<br />

apart.<br />

Table 1.2 describes ic<strong>on</strong>s for all these chord moti<strong>on</strong>s that the MTS recognizes. Ta-<br />

bles 6.1 <str<strong>on</strong>g>and</str<strong>on</strong>g> 1.4 show the most basic mappings between moti<strong>on</strong> channels <str<strong>on</strong>g>and</str<strong>on</strong>g> com-<br />

m<str<strong>on</strong>g>and</str<strong>on</strong>g> events. Additi<strong>on</strong>al mappings for the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> are shown in Tables 6.2 <str<strong>on</strong>g>and</str<strong>on</strong>g> 6.4<br />

of Chapter 6. An operator would start learning the mappings from a quick-reference<br />

card fashi<strong>on</strong>ed after these tables. These simple chord moti<strong>on</strong>s should quickly become<br />

automatic with use.<br />

1.2.2.1 Pointing<br />

Moving the mouse pointer <strong>on</strong> the MTS is just like moving it <strong>on</strong> a touchpad<br />

except two adjacent gures excluding the thumb must initially c<strong>on</strong>tact the surface,<br />

rather than a single nger. After the two- nger chord is initialized, i.e., after half<br />

a sec<strong>on</strong>d, all but <strong>on</strong>e nger can be lifted or the rest can drop to the surface while<br />

cursor positi<strong>on</strong>ing c<strong>on</strong>tinues. Once all ve ngers are <strong>on</strong> the surface the h<str<strong>on</strong>g>and</str<strong>on</strong>g> can<br />

be c<strong>on</strong>tracted to move in a third axis. Since the nger movements are averaged,<br />

stopping all but <strong>on</strong>e nger can cut the sensitivity to <strong>on</strong>e fth for very ne positi<strong>on</strong>ing.<br />

8


Table 1.1: Legend for nger combinati<strong>on</strong>/channel ic<strong>on</strong>s.<br />

Channel Ic<strong>on</strong> <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong><br />

Any 2 ngertips (excluding<br />

thumb).<br />

Any 3 ngertips (excluding<br />

thumb).<br />

All 4 ngertips (excluding<br />

thumb).<br />

Thumb<str<strong>on</strong>g>and</str<strong>on</strong>g>any ngertip.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> any 2 ngertips.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> any 3 ngertips.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> all 4 ngertips.<br />

9


Table 1.2: Legend for chord moti<strong>on</strong> ic<strong>on</strong>s.<br />

Moti<strong>on</strong> Ic<strong>on</strong> Type of Chord Moti<strong>on</strong><br />

Brief tap <strong>on</strong> surface (<strong>on</strong>eshot).<br />

Translati<strong>on</strong> (slide) in any<br />

directi<strong>on</strong>.<br />

Reversible translati<strong>on</strong> up<br />

or down.<br />

Reversible translati<strong>on</strong> left<br />

or right.<br />

Reversible up or down<br />

translati<strong>on</strong>, irreversible<br />

right translati<strong>on</strong>.<br />

Translati<strong>on</strong> in a particular<br />

directi<strong>on</strong> (<strong>on</strong>e-shot).<br />

C<strong>on</strong>tractive h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

(<strong>on</strong>e-shot).<br />

Expansive h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

(<strong>on</strong>e-shot).<br />

Clockwise h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong><br />

(<strong>on</strong>e-shot).<br />

Counter-clockwise h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotati<strong>on</strong> (<strong>on</strong>e-shot).<br />

10


Tapping these two ngers simultaneously <strong>on</strong> the surface produces a primary mouse<br />

click.<br />

1.2.2.2 Dragging<br />

On touchpads, tap-drag <str<strong>on</strong>g>and</str<strong>on</strong>g> double-tapping are rather clumsy operati<strong>on</strong>s.<br />

On the MTS, primary double-clicks can be sent by tapping a three ngertip chord<br />

just <strong>on</strong>ce. Primary dragging is invoked by sliding a three nger chord without the<br />

awkward preceding tap of touchpads. Objects can also be resized or rotated during<br />

drags by dropping the remaining thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> nger to the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tracting or<br />

rotating the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. On computers which utilize a sec<strong>on</strong>dary mouse butt<strong>on</strong>, sec<strong>on</strong>dary<br />

butt<strong>on</strong> clicks <str<strong>on</strong>g>and</str<strong>on</strong>g> drags can be generated from the thumb+two- ngertip channel.<br />

1.2.2.3 Scrolling<br />

Scrolling is initiated by a 4- nger chord, preferably <strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> opposite<br />

the pointing h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Again, by dropping the thumb to the surface, scrolling can be<br />

exp<str<strong>on</strong>g>and</str<strong>on</strong>g>ed into zooming or rotating the window background. Autoscroll (scrolling<br />

momentum) is easily invoked by sliding the four ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> lifting o the surface in<br />

a c<strong>on</strong>tinuous moti<strong>on</strong>, without decelerating. Browser back <str<strong>on</strong>g>and</str<strong>on</strong>g> forward is a further<br />

variati<strong>on</strong> of the four nger chord c<strong>on</strong>sisting of very quick, sliding taps to the left<br />

or right. In a graphical user interface (GUI) with a three-dimensi<strong>on</strong>al desktop, the<br />

thumb+three- ngertip channel could be used to pan <str<strong>on</strong>g>and</str<strong>on</strong>g> zoom the entire desktop<br />

or screen area, rather thanasinglewindow background.<br />

1.2.2.4 Text Editing<br />

In text editing or word processing c<strong>on</strong>texts, the chord assignments are split<br />

am<strong>on</strong>g h<str<strong>on</strong>g>and</str<strong>on</strong>g>s such that the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> chord c<strong>on</strong>trols a mouse cursor operati<strong>on</strong> while<br />

the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> chord c<strong>on</strong>trols the corresp<strong>on</strong>ding text cursor operati<strong>on</strong>. For example,<br />

the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> two nger chord would move the mouse cursor while the left h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

11


Table 1.3: Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels.<br />

Right<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Primary mouse butt<strong>on</strong><br />

click.<br />

Mouse cursor manipulati<strong>on</strong>.<br />

Primary mouse butt<strong>on</strong><br />

double-click.<br />

Dragging/Selecti<strong>on</strong> via<br />

primary mouse butt<strong>on</strong>.<br />

No mapping to avoid accidents.<br />

C<strong>on</strong>tinuous<br />

scrolling/panning of<br />

current window.<br />

Key layout homing.<br />

No mapping to tolerate<br />

shifts in resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture.<br />

12


two nger chord moves the text cursor with the arrow keys. Similarly, the right<br />

three ngers would select with the mouse, <str<strong>on</strong>g>and</str<strong>on</strong>g> the left three with the text cursor<br />

via arrow keys. The left four nger chord would c<strong>on</strong>trol the scrollbar while<br />

the right four nger chord emulated the page keys.<br />

1.2.2.5 Menu Comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as Cut, Copy <str<strong>on</strong>g>and</str<strong>on</strong>g> Paste<br />

Even after all this, some room remains in the chord space for comm<strong>on</strong> menu<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Setting the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> fore nger down apart <str<strong>on</strong>g>and</str<strong>on</strong>g> then pinching them<br />

together intuitively invokes cut. Copy becomes a simple, simultaneous tap of the<br />

thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> a ngertip. Setting thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> fore nger down together <str<strong>on</strong>g>and</str<strong>on</strong>g> icking them<br />

apart invokes paste. A clockwise rotati<strong>on</strong> as if turning a screw saves the current<br />

le, <str<strong>on</strong>g>and</str<strong>on</strong>g> a counter-clockwise rotati<strong>on</strong> pops up the open le dialog. Additi<strong>on</strong>al menu<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s could be invoked <strong>on</strong> future systems with h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing gestures.<br />

1.3 Hardware Summary<br />

All experiments in this dissertati<strong>on</strong> are c<strong>on</strong>ducted <strong>on</strong> aMTSprototype c<strong>on</strong>-<br />

sisting of separate processor <str<strong>on</strong>g>and</str<strong>on</strong>g> sensor circuit boards.<br />

1.3.1 Sensing Hardware<br />

The MTS prototype has approximately the same footprint as an enhanced<br />

IBM PC AT keyboard. Thus it is the rst multi-touch device with a sensing area<br />

wide enough (20 cm 40 cm) for simultaneous use by both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. An erg<strong>on</strong>omic<br />

arch across the middle of the surface tilts the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s sideways about 15 , reducing<br />

forearm pr<strong>on</strong>ati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> ensuring whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting is comfortable. The active<br />

sensing area is divided into 1600 electrode plates (see Figure 2.4 <strong>on</strong> Page 41). For<br />

electrical insulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> low fricti<strong>on</strong>, the electrodes are typically covered by a .1 mm<br />

thick polymer sheet.<br />

13


Table 1.4: Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels.<br />

Right<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Cut (to clipboard).<br />

Copy (to clipboard).<br />

Paste (from clipboard).<br />

Sec<strong>on</strong>dary mouse butt<strong>on</strong><br />

click (popupmenu).<br />

Dragging/Selecti<strong>on</strong> via<br />

sec<strong>on</strong>dary mouse butt<strong>on</strong>.<br />

Popup applicati<strong>on</strong> window<br />

list.<br />

Browser Back.<br />

New le.<br />

Open le dialog.<br />

Save the current le.<br />

Close the current le or<br />

subwindow.<br />

14


The proximity sensors measure the electrode self-capacitance, or capacitance<br />

from electrode to ground. This self-capacitance changes when a grounded c<strong>on</strong>-<br />

ductive object approaches the electrode <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>centrates electric eld lines. Note<br />

that some touchpads sense mutual-capacitance between electrodes, rather than self-<br />

capacitance, by measuring how a synchr<strong>on</strong>ous frequency couples from a drive elec-<br />

trodetoanoverlapping sense electrode. The processor scans all electrodes every 20<br />

ms, producing a 50 frames per sec<strong>on</strong>d (fps) stream of proximity images.<br />

With suitable array segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> interpolati<strong>on</strong> as described in Chap-<br />

ter 3, the centroid resoluti<strong>on</strong> for nger-sized objects c<strong>on</strong>tacting the surface is about<br />

.2 mm in the x directi<strong>on</strong> (width), <str<strong>on</strong>g>and</str<strong>on</strong>g> .5 mm in the y directi<strong>on</strong> (height). Objects<br />

separated by as little as 6 mm in the x directi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> 12 mm in the y directi<strong>on</strong> can<br />

be distinguished. As objects rise o the surface, positi<strong>on</strong> accuracy <str<strong>on</strong>g>and</str<strong>on</strong>g> distinguisha-<br />

bility degrade until 2 millimeters above the surface, whence small objects become<br />

undetectable.<br />

Note that the MTS's novel sensor technology is uniquely immune to parasitic<br />

capacitances <str<strong>on</strong>g>and</str<strong>on</strong>g> can therefore be scaled to very large dimensi<strong>on</strong>s without degrading<br />

the signal-to-noise ratio. The sensor technology is also compatible with very low cost<br />

thin- lm manufacturing techniques. This means that in high producti<strong>on</strong> volumes,<br />

MTSs could become as cheap as c<strong>on</strong>venti<strong>on</strong>al keyboards. If applied to a exible<br />

substrate, the sensor technology would also be suitable for h<str<strong>on</strong>g>and</str<strong>on</strong>g>held, portable, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

wearable computers.<br />

1.3.2 Signal Processing Hardware<br />

The processor boards c<strong>on</strong>tains a digital signal processor (DSP), static RAM<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> FLASH memory, scanning state machine, <str<strong>on</strong>g>and</str<strong>on</strong>g> communicati<strong>on</strong> ports. A 60 MHz<br />

Texas Instruments TMS320C32 oating point DSP is resp<strong>on</strong>sible for all scanning,<br />

ltering, recogniti<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> communicati<strong>on</strong> algorithms. With 60 MFLOPS peak oat-<br />

ing point performance, this DSP is well-matched to the computati<strong>on</strong>al dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s of<br />

15


the algorithms developed in this dissertati<strong>on</strong>. By 1999 st<str<strong>on</strong>g>and</str<strong>on</strong>g>ards, 60 MFLOPS is<br />

moderate performance available in quantities for less than $10 per processor. The<br />

DSP is resp<strong>on</strong>sible for:<br />

c<strong>on</strong>trolling the sensor array scan.<br />

forming <str<strong>on</strong>g>and</str<strong>on</strong>g> ltering the scanned proximity images.<br />

segmenting the proximity images into groups of pixels distinguishable as esh<br />

c<strong>on</strong>tacts.<br />

tracking moti<strong>on</strong> of each esh c<strong>on</strong>tact across the stream of images.<br />

identifying which part of which h<str<strong>on</strong>g>and</str<strong>on</strong>g>, i.e., ngertip, thumb, or palm, causes<br />

each esh c<strong>on</strong>tact.<br />

extracting h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s from the c<strong>on</strong>tacts identi ed as ngers.<br />

generating keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse events for the host computer in resp<strong>on</strong>se to<br />

moti<strong>on</strong>s of particular nger combinati<strong>on</strong>s.<br />

These steps are also summarized by the MTS block diagram in Figure 1.2.<br />

One megabyte of ash EEPROM stores the program <str<strong>on</strong>g>and</str<strong>on</strong>g> multiple user c<strong>on</strong>-<br />

gurati<strong>on</strong>s <strong>on</strong> board. Two 10 kbps PS/2 ports are available for emulating IBM PC<br />

keyboards <str<strong>on</strong>g>and</str<strong>on</strong>g> mice. With PS/2 c<strong>on</strong>verter boxes available from Kinesis Corp. [29],<br />

mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard emulati<strong>on</strong> for Sun workstati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> Macintosh computers is<br />

also supported. A 1.2kbps RS-232C serial mouse port is included for interfacing to<br />

older PCs. A 115kbps RS-232C serial port can exchange c<strong>on</strong> gurati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger<br />

tracking informati<strong>on</strong> with any host computer capable of running a Java 1.1 MTS<br />

m<strong>on</strong>itor applicati<strong>on</strong>.<br />

16


TYPING<br />

RECOGNIZER<br />

FINGER<br />

SYNCHRONIZATION<br />

DETECTOR<br />

CHORD MOTION<br />

RECOGNIZER<br />

ELECTRODE<br />

SCANNING<br />

HARDWARE<br />

CALIBRATION AND<br />

PROXIMITY IMAGE<br />

FORMATION<br />

CONTACT<br />

TRACKING AND<br />

IDENTIFICATION<br />

HAND MOTION<br />

COMPONENT<br />

EXTRACTION<br />

HOST<br />

COMMUNICATION<br />

INTERFACE<br />

PENGRIP<br />

DETECTOR<br />

Figure 1.2: Overall block diagram of the MTS hardware <str<strong>on</strong>g>and</str<strong>on</strong>g> software modules.<br />

17


1.4 Summary of C<strong>on</strong>tributi<strong>on</strong>s<br />

The work described in this dissertati<strong>on</strong> breaks ground in the following areas:<br />

segmentati<strong>on</strong> of surface c<strong>on</strong>tacts in proximity images.<br />

identi cati<strong>on</strong> of thumb, ngertip, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm c<strong>on</strong>tacts tracked across successive<br />

images.<br />

translati<strong>on</strong>-invariant sorting of c<strong>on</strong>tact points with respect to the inter-attractor<br />

angles of an attractor point template.<br />

partiti<strong>on</strong>ing of c<strong>on</strong>tacts into left <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g>clusters.<br />

extracti<strong>on</strong> of independent, 4-DOF velocity parameters from multiple nger<br />

paths.<br />

integrati<strong>on</strong> of typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing <strong>on</strong> the same surface via the distincti<strong>on</strong><br />

between simultaneous <str<strong>on</strong>g>and</str<strong>on</strong>g> asynchr<strong>on</strong>ous nger touchdown.<br />

While this is not the rst implementati<strong>on</strong> of a multi-touch device [15, 17, 88, 89, 107],<br />

it is the rst to fully develop the unique integrati<strong>on</strong> potential of such a system. I<br />

have encountered <str<strong>on</strong>g>and</str<strong>on</strong>g> overcome many problems unique to proximity sensing al<strong>on</strong>g<br />

the way.<br />

Though proximity image segmentati<strong>on</strong> is simpli ed by the fact that proxim-<br />

ity images lack thebackground clutter <str<strong>on</strong>g>and</str<strong>on</strong>g> lighting variati<strong>on</strong>s which plague optical<br />

images, the topology of proximity images also presents special challenges which<br />

have not been addressed in previous image processing research. The most di cult<br />

of these is the invisibility of h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts which oat above the surface. Also, the<br />

low resoluti<strong>on</strong> of the proximity sensing array compared to video cameras obscures<br />

boundaries between adjacent c<strong>on</strong>tacts. The c<strong>on</strong> icting segmentati<strong>on</strong> needs of n-<br />

gertips, thumbs, <str<strong>on</strong>g>and</str<strong>on</strong>g> palms are e ectively resolved via feedback of bootstrapped<br />

18


h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates. Though the segmentati<strong>on</strong> rules developed for the MTS<br />

are somewhat ad hoc, any segmentati<strong>on</strong> system will need to utilize the anatomical<br />

c<strong>on</strong>straints identi ed here to overcome proximity image ambiguities.<br />

Correct identi cati<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts from proximity sensing informati<strong>on</strong> al<strong>on</strong>e<br />

has not been attempted before, apparently because previous researchers of multi-<br />

touch devices [130] did not c<strong>on</strong>sider it possible. Nevertheless, distinguishing palm<br />

c<strong>on</strong>tacts from nger c<strong>on</strong>tacts <strong>on</strong> a large MTS is imperative for the moti<strong>on</strong> recogniti<strong>on</strong><br />

algorithms to ignore palm moti<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> allow palms to rest <strong>on</strong> the surface. While<br />

distinguishing ngers from <strong>on</strong>e another is not always necessary or entirely feasible,<br />

reliably distinguishing the thumb c<strong>on</strong>tact from the other ngers <strong>on</strong> a h<str<strong>on</strong>g>and</str<strong>on</strong>g> doubles<br />

the numberof ngerchords which can be recognized compared to just counting those<br />

ngers which touch the surface. Identifying the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> maintaining a c<strong>on</strong>sistent<br />

order for other nger c<strong>on</strong>tacts also aids extracti<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> parameters.<br />

Finding the minimum cost <strong>on</strong>e-to-<strong>on</strong>e assignment of surface c<strong>on</strong>tacts to a<br />

ring of attractor points is shown to be an elegant soluti<strong>on</strong> to the nger identi ca-<br />

ti<strong>on</strong> problem. Each attractor point represents the identity of <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> part such as<br />

ngertip, thumb or palm. The attractor points are placed in a ring at default nger<br />

locati<strong>on</strong>s to capture the shape of a relaxed h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Translating each h<str<strong>on</strong>g>and</str<strong>on</strong>g>'sattractor<br />

ring by a c<strong>on</strong>servative h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate helps stabilize identi cati<strong>on</strong>s of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

parts which temporarily lift o the surface. An illuminating property ofsuch attrac-<br />

tor rings is also proved. If the assignment cost is composed of the sum of squared<br />

distances between c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> their assigned attractor points, the identities of any<br />

pair of c<strong>on</strong>tacts will not be err<strong>on</strong>eously swapped unless the vector angle between<br />

the two c<strong>on</strong>tacts di ers from the angle between the pair of attractor points by more<br />

than 90 , regardless of whether the attractor ring is properly centered <strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

This property speci es for a given set of inter-attractor angles exactly how much<br />

nger pair rotati<strong>on</strong> will be tolerated before identities are err<strong>on</strong>eously swapped, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

19


it also captures in a manner independent of h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> size the biome-<br />

chanical c<strong>on</strong>straint that ngers tend not to cross over <strong>on</strong>e another. When extended<br />

to more than two c<strong>on</strong>tacts, this property causes the assignment algorithm to sort<br />

the c<strong>on</strong>tacts with respect to the attractor ring angles <str<strong>on</strong>g>and</str<strong>on</strong>g> orderings, again regardless<br />

of whether the attractor ring is aligned with the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. A fuzzy thumb classi cati<strong>on</strong><br />

routine veri es thumb presence with tests of inter-c<strong>on</strong>tact angles, separati<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

velocities which are not easily incorporated into the attractor framework.<br />

Determining which h<str<strong>on</strong>g>and</str<strong>on</strong>g> causes each surface c<strong>on</strong>tact is also a challenge <strong>on</strong><br />

surfaces which do not prevent h<str<strong>on</strong>g>and</str<strong>on</strong>g>s from sliding across the middle to the opposite<br />

side of the surface. Again, a combinatorial optimizati<strong>on</strong> approach isemployed which<br />

relies <strong>on</strong> independent attractor rings for each h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Since the number of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

partiti<strong>on</strong> hypotheses to be c<strong>on</strong>sidered is carefully limited to about a dozen, the<br />

evaluati<strong>on</strong> of each hypothesis can be quite extensive, incorporating the c<strong>on</strong>sistency<br />

of nger identi cati<strong>on</strong>s for each h<str<strong>on</strong>g>and</str<strong>on</strong>g>aswell as several h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> velocity<br />

c<strong>on</strong>straints.<br />

Even when positi<strong>on</strong> measurements are independent <str<strong>on</strong>g>and</str<strong>on</strong>g> unbiased, simultane-<br />

ous placement ofanobject using more than two degreesof freedom can be di cult<br />

for users [152]. As the user approaches the nal positi<strong>on</strong> al<strong>on</strong>g the x <str<strong>on</strong>g>and</str<strong>on</strong>g> y axes,<br />

spurious arm moti<strong>on</strong>s can disrupt the nal z positi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> vice versa. This prob-<br />

lem is exacerbated <strong>on</strong> the MTS by nger moti<strong>on</strong>s during h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, translati<strong>on</strong>,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> which do not cancel properly. When all ve ngers ex <strong>on</strong> a surface<br />

in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling manipulati<strong>on</strong>, the sum of their velocities gives a net translati<strong>on</strong><br />

toward the elbow. If h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling is to modulate a z-axis parameter at the same<br />

time as h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> c<strong>on</strong>trols x <str<strong>on</strong>g>and</str<strong>on</strong>g> y axes, the extracted scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> transla-<br />

ti<strong>on</strong> parameters must somehow be made independent. Biomechanical observati<strong>on</strong>s<br />

suggests that the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky translati<strong>on</strong>s during nger exi<strong>on</strong> cancel. Fin-<br />

ger velocity weightings carefully based <strong>on</strong> this <str<strong>on</strong>g>and</str<strong>on</strong>g> other c<strong>on</strong>siderati<strong>on</strong>s attempt to<br />

20


extract independent translati<strong>on</strong>, scaling, <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> comp<strong>on</strong>ents from sums <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

di erences of nger velocities. Dead z<strong>on</strong>e ltering with dead z<strong>on</strong>e widths dependent<br />

<strong>on</strong> the distributi<strong>on</strong> of moti<strong>on</strong> comp<strong>on</strong>ent speeds removes the remaining interference<br />

between moti<strong>on</strong> comp<strong>on</strong>ents.<br />

This research c<strong>on</strong>verges up<strong>on</strong> what is arguably the best possible way for<br />

mouse functi<strong>on</strong>ality to coexist with typing <strong>on</strong> a surface. Asynchr<strong>on</strong>ous single nger<br />

activity <str<strong>on</strong>g>and</str<strong>on</strong>g> the 5- nger chord are reserved for typing-related activities, requiring<br />

graphical manipulati<strong>on</strong> modes to begin with 2- to 4- nger chords. This is necessary<br />

to prevent glancing keystrokes or resting h<str<strong>on</strong>g>and</str<strong>on</strong>g>s from spuriously nudging the mouse<br />

cursor. But as an enormous fringe bene t, switching between keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse<br />

<strong>on</strong>ly need involve lifting the ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> putting them back down in a new chord<br />

c<strong>on</strong> gurati<strong>on</strong>, rather than hitting an explicit mode-switchbutt<strong>on</strong>ormoving between<br />

specialized areas of the surface. To encourage operators to rest the weight of their<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> the surface as much as possible, the chord selecti<strong>on</strong> state machine allows<br />

all ve ngers to drop <strong>on</strong>to the surface at any time during manipulati<strong>on</strong> after a<br />

nger subset has initially chosen the desired chord. New chord channels can also<br />

be selected by synchr<strong>on</strong>ously raising <str<strong>on</strong>g>and</str<strong>on</strong>g> touching a subset of the ngers while the<br />

others remain resting <strong>on</strong> the surface.<br />

1.5 What is Not Covered<br />

The proximity sensing <str<strong>on</strong>g>and</str<strong>on</strong>g> scanning hardware of the MTS was invented by<br />

Prof. John Elias <str<strong>on</strong>g>and</str<strong>on</strong>g> will not be analyzed in this dissertati<strong>on</strong>. However, some spec-<br />

i cati<strong>on</strong>s for the MTS prototype used in this work (designed by Elias with sugges-<br />

ti<strong>on</strong>s from myself), have been given in Secti<strong>on</strong> 1.3. Secti<strong>on</strong> 2.1.8 includes additi<strong>on</strong>al<br />

explanati<strong>on</strong> of the interleaved parallelogram electrodes composing the sensing ar-<br />

ray. Further details of the proximity sensing <str<strong>on</strong>g>and</str<strong>on</strong>g> array scanning technologies are<br />

disclosed in pending patents [159, 162].<br />

21


The chordic manipulati<strong>on</strong> gestures to be recognized in this work c<strong>on</strong>sist of<br />

simple linear slides, rotati<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> scalings involving multiple ngers. Much previ-<br />

ous research has investigated recogniti<strong>on</strong> of complex paths or h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing. With<br />

suitable preprocessing, <strong>on</strong>e of the nger chord or pen grip channels could easily<br />

be output to an existing h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing recogniti<strong>on</strong> engine such as IBM's Pen for<br />

OS/2 [142]. Thus no attempt will be made to recognize complex paths in this work.<br />

Though the pen grip h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> is brie y introduced, vertical smearing<br />

by the prototype electrode array prevents the pinched ngers of this c<strong>on</strong> gurati<strong>on</strong><br />

from being segmented reliably. Therefore the preprocessing of the pen grip images<br />

necessary to feed them to a h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing recognizer is not investigated here either.<br />

This research bucks the trend toward machine learning in pattern recogni-<br />

ti<strong>on</strong> systems. This is justi ed by the fact that h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> from<br />

proximity images involve previously unexplored patterns, yet these problems easily<br />

lend themselves to experimentati<strong>on</strong> through the author's own h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Throughout<br />

the development of the MTS, incorporati<strong>on</strong> of additi<strong>on</strong>al biomechanical or anatomi-<br />

cal observati<strong>on</strong>s into the algorithms has always been much more e ective at reducing<br />

recogniti<strong>on</strong> errors than parameter tweaking. Now that this research has identi ed<br />

the c<strong>on</strong>straints crucial to robust performance, future work can attempt to t them<br />

into a machine learning architecture for statistical optimizati<strong>on</strong> over a wide popu-<br />

lati<strong>on</strong> of MTS users. Since the attractor-based identi cati<strong>on</strong> algorithm is by design<br />

very tolerant of variati<strong>on</strong>s in h<str<strong>on</strong>g>and</str<strong>on</strong>g> size, <strong>on</strong>ly marginal performance gains are ex-<br />

pected from optimizing or adapting it to various h<str<strong>on</strong>g>and</str<strong>on</strong>g> sizes. A more fruitful line of<br />

inquiry would be extensi<strong>on</strong> of Rubine's automated gesture recogniti<strong>on</strong> work [130] to<br />

tolerate idiosyncrasies in h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> patterns during chordic manipulati<strong>on</strong>.<br />

Though the MTS utilizes sophisticated typing recogniti<strong>on</strong> algorithms to nd<br />

the most likely character sequences in resp<strong>on</strong>se to typing moti<strong>on</strong>s [158], these algo-<br />

rithms have not yet been perfected <str<strong>on</strong>g>and</str<strong>on</strong>g> are not included in this dissertati<strong>on</strong>. Only<br />

22


the nger synchr<strong>on</strong>izati<strong>on</strong> detector which distinguishes typing moti<strong>on</strong>s from chordic<br />

manipulati<strong>on</strong>s is covered.<br />

Since the MTS prototype was <strong>on</strong>ly completed recently, there has not been<br />

time to c<strong>on</strong>duct formal user studies. However, I do include my testim<strong>on</strong>ial <str<strong>on</strong>g>and</str<strong>on</strong>g> de-<br />

tailed observati<strong>on</strong>s from using the MTS as my primary graphics, text <str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

entry device during preparati<strong>on</strong> of this document. While this may not st<str<strong>on</strong>g>and</str<strong>on</strong>g> as a<br />

formal scienti c evaluati<strong>on</strong>, any<strong>on</strong>e who has written a dissertati<strong>on</strong> will appreciate<br />

that it is remarkable for such a radical new input device to meet all the diverse <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

intense interacti<strong>on</strong> dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s of dissertati<strong>on</strong> editing by <strong>on</strong>e who already su ers from<br />

RSI.<br />

1.6 On the Design of Erg<strong>on</strong>omic Input Devices<br />

Repetitive strain injury (RSI) causes loss of tend<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> muscle strength in<br />

severe cases, but more universally it causes painful loss of endurance [117]. Strength<br />

can usually be recovered in a few weeks with proper stretching <str<strong>on</strong>g>and</str<strong>on</strong>g> mild exercise, but<br />

endurance can take m<strong>on</strong>ths or years to recover [117]. Doctors tend to downplay the<br />

impact of device design <strong>on</strong> these injuries, placing most of the blame <strong>on</strong> improper<br />

use of devices, poor posture, <str<strong>on</strong>g>and</str<strong>on</strong>g> working c<strong>on</strong>tinuously to meet deadlines. As in<br />

any engineering eld, radical new device designs can have unforeseen c<strong>on</strong>sequences.<br />

One major source of unforeseen c<strong>on</strong>sequence in device design is shifting too much<br />

workload to previously dormant muscles [117].<br />

1.6.1 What is the Role of Erg<strong>on</strong>omic Device Design?<br />

While I agree with Pascarelli [117] that poor user habits play a largerolein<br />

most RSI cases, I have found that after my bad habits were corrected, I could still<br />

tolerate minimal activati<strong>on</strong> force devices several times l<strong>on</strong>ger than medium or high-<br />

force devices. This relati<strong>on</strong>ship has held for rollerball pens, optical mouse butt<strong>on</strong>s,<br />

capacitive touchpads, free-wheeling nger rollers, <str<strong>on</strong>g>and</str<strong>on</strong>g> low-force keyswitches. What<br />

23


these minimal force devices have in comm<strong>on</strong> is that they allow my h<str<strong>on</strong>g>and</str<strong>on</strong>g> to remain<br />

essentially relaxed during use. Note that unlike isometric pointing sticks [131], which<br />

actually seem to cause me tensi<strong>on</strong> buildup, these minimal force devices do not try<br />

to eliminate moti<strong>on</strong>. Note also that endurance problems are often so severe that not<br />

even zero-force devices allow work to c<strong>on</strong>tinue inde nitely without painful relapse.<br />

While my anecdotal evidence does not prove that minimal force devices similarly<br />

bene t all users, it is certainly c<strong>on</strong>sistent with the RSI causati<strong>on</strong> theories cited in<br />

Appendix A.<br />

In defense of those users with poor habits, the poor erg<strong>on</strong>omic design of<br />

st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard devices encourages people to compensate via awkward postures or excess<br />

e ort. For instance, to hold their h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> home row of a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboard, people<br />

often rotate their h<str<strong>on</strong>g>and</str<strong>on</strong>g>s outward <str<strong>on</strong>g>and</str<strong>on</strong>g> hold their elbows away from the body, straining<br />

their wrists <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulders. Or when faced with a mouse butt<strong>on</strong> which is hard to<br />

press, people will clench the mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> apply several times the necessary force<br />

to ensure that the butt<strong>on</strong> clicks. C<strong>on</strong>scientious users can learn proper techniques<br />

which limit the risk of injury <strong>on</strong> plain keyboards <str<strong>on</strong>g>and</str<strong>on</strong>g> mice, but this takes a lot of<br />

self-discipline [117].<br />

Devices can be designed so that even the most recalcitrant users gravitate<br />

toward proper postures <str<strong>on</strong>g>and</str<strong>on</strong>g> usage habits. For example, most people correct their<br />

wrist posture instantaneously when they adopt a split keyboard [65, 114]. As a<br />

hypothetical example, a compliant touchpad surface might soften ngertip impact<br />

but allow combative people to keep banging <strong>on</strong> the surface. If presented with a hard<br />

touchpad surface, the painful jarring of hard taps would force the same people to<br />

adopt a lighter, <str<strong>on</strong>g>and</str<strong>on</strong>g> ultimately healthier, touch. The problem shifts from getting<br />

people to c<strong>on</strong>sciously learn <str<strong>on</strong>g>and</str<strong>on</strong>g> apply proper technique to simply getting them to<br />

adopt <str<strong>on</strong>g>and</str<strong>on</strong>g> use a more erg<strong>on</strong>omic device.<br />

Unfortunately, moderating work intensity <str<strong>on</strong>g>and</str<strong>on</strong>g> taking frequent rest breaks are<br />

24


very important preventive measures which the device designer can do little to en-<br />

courage. Users may remain crouched all day at their terminals because of their own<br />

compulsi<strong>on</strong>, their bosses' whips, Internet addicti<strong>on</strong>, or other psychosocial factors.<br />

Once injured, the RSI patients who cope best are those who have the most c<strong>on</strong>trol<br />

over their work schedules, so they can slow down whenever pain reappears [117].<br />

The tendency for computers to suck up all allotted time also limits the actual ben-<br />

e ts of e cient devices. Clever devices may boost productivity or allow prol<strong>on</strong>ged<br />

activity, but if the e ective amount of h<str<strong>on</strong>g>and</str<strong>on</strong>g> usage remains the same, RSI patients<br />

will remain at the edge of their bodies' tolerances.<br />

1.6.2 Erg<strong>on</strong>omic Design Objectives<br />

The following erg<strong>on</strong>omic design objectives have been formulated based up<strong>on</strong><br />

the erg<strong>on</strong>omics research reviewed in Appendix A, recommendati<strong>on</strong>s gathered from<br />

doctors, <str<strong>on</strong>g>and</str<strong>on</strong>g> my own experience using many competing input devices <str<strong>on</strong>g>and</str<strong>on</strong>g> meth-<br />

ods. Though typical methods for meeting these objectives are given here, their<br />

justi cati<strong>on</strong> is left for Appendix A.<br />

1.6.2.1 Minimize device activati<strong>on</strong> force<br />

Muscular e ort is believed to be a major factor in RSI, but most input device<br />

designs do not try to minimize it. Though low-force mechanical mouse butt<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

keyswitches reduce tensi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> fatigue somewhat, the most dramatic bene ts come<br />

from zero-force capacitive or optical sensors.<br />

1.6.2.2 Minimize repetitive acti<strong>on</strong> of the same muscles<br />

Otherwise known as the art of distributing workload across body <str<strong>on</strong>g>and</str<strong>on</strong>g> time.<br />

I have encountered four general ways to avoid overuse of any particular muscle:<br />

customize software to automate redundant tasks E ective methods include<br />

aliases for l<strong>on</strong>g text comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s, comm<str<strong>on</strong>g>and</str<strong>on</strong>g>-line histories,<br />

word completi<strong>on</strong>, clever GUI design, writing scripts for frequent<br />

25


atch tasks, <str<strong>on</strong>g>and</str<strong>on</strong>g> macro recording <str<strong>on</strong>g>and</str<strong>on</strong>g> playback of repetitive<br />

mouse sequences.<br />

reduce homing moti<strong>on</strong>s If excessive, moti<strong>on</strong>s between devices or surface regi<strong>on</strong>s<br />

become annoying <str<strong>on</strong>g>and</str<strong>on</strong>g> discourage the user from switching<br />

to the most appropriate device for a task. Modes can be more<br />

e ciently indicated with h<str<strong>on</strong>g>and</str<strong>on</strong>g> or nger c<strong>on</strong> gurati<strong>on</strong>.<br />

support high-level gestures A complex sequence of low-level device acti<strong>on</strong>s<br />

can often be expressed in <strong>on</strong>e c<strong>on</strong>tinuous moti<strong>on</strong> if a device has<br />

alternative manipulati<strong>on</strong> channels available.<br />

alternate muscle or limb usage At the h<str<strong>on</strong>g>and</str<strong>on</strong>g> level this entails employing<br />

various ngers or nger combinati<strong>on</strong>s alternately, rather than<br />

the same nger all the time. At the body level, the feet are<br />

appropriate for mode-switching, the vocal cords for text input,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the eyes for indicating the focus of attenti<strong>on</strong>. Aworthy device<br />

must be either highly compatible with fellow devices which<br />

employ complementary muscle groups, or it must be a universal<br />

device which draws up<strong>on</strong> most limb muscles evenly.<br />

1.6.2.3 Encourage neutral postures<br />

The design space for comfortable keyboard, mouse, <str<strong>on</strong>g>and</str<strong>on</strong>g> trackball shapes<br />

has been explored aggressively. At the truly bene cial end of the spectrum, split<br />

keyboards o er quick relief for mild wrist pain, while thumb-operated trackballs can<br />

quickly cause DeQuervain's syndrome [117] if used for heavy mouse work such as<br />

drafting. Devices should not discriminate against left-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed users. Flat surfaces<br />

are literally the most neutral because they make no assumpti<strong>on</strong>s about h<str<strong>on</strong>g>and</str<strong>on</strong>g> size or<br />

shape.<br />

1.6.2.4 Allow variati<strong>on</strong> of posture<br />

Not even neutral postures should be held forever, as fancy device shapes en-<br />

courage. Changes in posture rejuvenate blood ow <str<strong>on</strong>g>and</str<strong>on</strong>g> shift loads to di erent mus-<br />

cles. Plain surfaces have the advantage here because they can be exible, portable,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> operated from a variety ofh<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s.<br />

26


1.6.2.5 Minimize user anticipati<strong>on</strong><br />

Rather than taking healthy micro-breaks, users may remain tense while ex-<br />

pecting a resp<strong>on</strong>se from the computer. Lags in visual feedback as small as 75 ms<br />

during direct manipulati<strong>on</strong> can reduce pointing performance [64, 99]. Open-loop,<br />

high-level c<strong>on</strong>trol gestures make the user less dependent <strong>on</strong> intermediate computer<br />

resp<strong>on</strong>ses.<br />

1.6.2.6 Do not discourage rest breaks<br />

Software is available to remind people to take a break after a certain amount<br />

of time or a certain number of keystrokes. All the device designer can do is avoid<br />

wires or gloves attached to the body which might discourage people from regularly<br />

leaving their workstati<strong>on</strong>s.<br />

1.6.3 Can so many erg<strong>on</strong>omic objectives be met at <strong>on</strong>ce?<br />

The healthiest existing devices address these criteria <strong>on</strong>ly piecemeal. For<br />

example, the c<strong>on</strong>cave-keywell keyboard from Kinesis Corp. [44] encourages neutral<br />

postures <str<strong>on</strong>g>and</str<strong>on</strong>g> distributes workload according to nger strength, but it does not elim-<br />

inate key activati<strong>on</strong> force or allow posture variability. Touchpads from Cirque [51]<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Synaptics [143] eliminate device activati<strong>on</strong> force but overuse <strong>on</strong>e or two ngers<br />

with ine cient, low-level mouse operati<strong>on</strong>s. Tablets with styli support high-level<br />

gestures <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing, but the stylus can also be an encumbrance which is in-<br />

compatible with simultaneous keyboard use.<br />

With a zero-activati<strong>on</strong>-force surface at the foundati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> abundant nger<br />

chords to distribute e ort <str<strong>on</strong>g>and</str<strong>on</strong>g> support gestures, this dissertati<strong>on</strong> aims to dem<strong>on</strong>-<br />

strate that all of these erg<strong>on</strong>omic objectives can be addressed simultaneously.<br />

27


1.7 Outline<br />

Organizati<strong>on</strong> of the dissertati<strong>on</strong> roughly follows the MTS block diagram of<br />

Figure 1.2 <strong>on</strong> Page 17, with the excepti<strong>on</strong> that the typing recognizer <str<strong>on</strong>g>and</str<strong>on</strong>g> pen grip<br />

detector will not be covered in full, nor will implementati<strong>on</strong> details of the electrode<br />

scanning hardware or host computer interface.<br />

Chapter 2, Proximity Image Formati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Topology, begins with a review<br />

of related h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> sensing technologies such as data gloves, video cameras, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

touchpads. It then describes calibrati<strong>on</strong> of the proximity sensors for the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

proximity image formati<strong>on</strong>. Chapter 2 c<strong>on</strong>cludes with examples of several important<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s captured by the prototype sensor array <str<strong>on</strong>g>and</str<strong>on</strong>g> points out the<br />

topological characteristics unique to such proximity images.<br />

Chapter 3, <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> C<strong>on</strong>tact Segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g>, presents the<br />

anatomical c<strong>on</strong>straints <str<strong>on</strong>g>and</str<strong>on</strong>g> segmentati<strong>on</strong> rules necessary to separate di erent parts<br />

of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> in proximity images. The discussi<strong>on</strong> also covers feature extracti<strong>on</strong> for<br />

segmented c<strong>on</strong>tacts. After explaining segmentati<strong>on</strong> results for a variety of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong> gurati<strong>on</strong>s, methods for tracking c<strong>on</strong>tacts across successive proximity images<br />

are discussed, including techniques to reliably detect nger touchdown <str<strong>on</strong>g>and</str<strong>on</strong>g> lifto .<br />

Chapter 4, <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Positi<strong>on</strong> Estimati<strong>on</strong>, begins with<br />

a review of h<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture recogniti<strong>on</strong> techniques. The chapter then introduces com-<br />

binatorial optimizati<strong>on</strong> algorithms which successfully identify the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger<br />

which cause each surface c<strong>on</strong>tact. A c<strong>on</strong>servative h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> algorithm<br />

helps to stabilize the identi cati<strong>on</strong>s.<br />

Chapter 5, <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g>, reviews the advantages of bimanual <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

high-DOF manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> explains how they are achieved <strong>on</strong> the MTS. A nger<br />

synchr<strong>on</strong>izati<strong>on</strong> detector distinguishes asynchr<strong>on</strong>ous taps intended as typing from<br />

synchr<strong>on</strong>ous nger chord moti<strong>on</strong>s intended as pointing or gesture comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Care-<br />

fully weighting the velocities of particular ngers ensures that velocity comp<strong>on</strong>ents<br />

28


extracted from h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>s, rotati<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> scalings remain independent.<br />

Chapter 6, Future Directi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> C<strong>on</strong>clusi<strong>on</strong>s, presents the author's pers<strong>on</strong>al<br />

testim<strong>on</strong>ial after using the rst fully functi<strong>on</strong>ing MTS prototype for three m<strong>on</strong>ths<br />

to prepare this document. This testim<strong>on</strong>ial underscores issues which deserve formal<br />

evaluati<strong>on</strong> by user studies <str<strong>on</strong>g>and</str<strong>on</strong>g> o ers suggesti<strong>on</strong>s for future MTS enhancements.<br />

Chapter 6 c<strong>on</strong>cludes with an outline of how software applicati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> operating<br />

systems should be modi ed to take full advantage of bimanual, 4-DOF input such<br />

as the MTS provides.<br />

Appendix A, Erg<strong>on</strong>omics for Engineers, reviews physiological <str<strong>on</strong>g>and</str<strong>on</strong>g> epidemio-<br />

logical evidence of how poor or xed posture, activati<strong>on</strong> force magnitude, repetiti<strong>on</strong>,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> lack of rest periods c<strong>on</strong>spire to cause RSI. It includes issues which have pre-<br />

viously arisen in the design of erg<strong>on</strong>omic keyboards, <str<strong>on</strong>g>and</str<strong>on</strong>g> is intended for engineers<br />

faced with input device design who wish to underst<str<strong>on</strong>g>and</str<strong>on</strong>g> the reas<strong>on</strong>ing behind the<br />

erg<strong>on</strong>omic principles of Secti<strong>on</strong> 1.6.<br />

Appendix B c<strong>on</strong>tains n<strong>on</strong>-linear interpolati<strong>on</strong> techniques for diminishing the<br />

vertical biases from interleaved parallelogram electrodes.<br />

Appendix C explains the c<strong>on</strong>vergence problems encountered when applying<br />

bubble sort to the attractor ring assignment problem.<br />

29


Chapter 2<br />

PROXIMITY IMAGE FORMATION AND TOPOLOGY<br />

Limited h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger tracking experiments have previously been c<strong>on</strong>-<br />

ducted with a variety of sensing technologies. This chapter begins with a review of<br />

these sensing technologies <str<strong>on</strong>g>and</str<strong>on</strong>g> explains whyproximity sensing arrays are particularly<br />

well-suited for everyday applicati<strong>on</strong>s of h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracking. Then the chapter discusses<br />

proximity image pre-processing such as background object removal, sensor o set<br />

adaptati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> electrical noise ltering. The chapter c<strong>on</strong>cludes with a sampling<br />

of proximity images which illustrate the typical features <str<strong>on</strong>g>and</str<strong>on</strong>g> arrangements of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong>tacts. This h<str<strong>on</strong>g>and</str<strong>on</strong>g> topology secti<strong>on</strong> is particularly important to the underst<str<strong>on</strong>g>and</str<strong>on</strong>g>-<br />

ing of the c<strong>on</strong>tact segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithms in Chapters 3 <str<strong>on</strong>g>and</str<strong>on</strong>g> 4,<br />

which rely heavily <strong>on</strong> relative c<strong>on</strong>tact shape <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> c<strong>on</strong>straints.<br />

2.1 Related Methods for <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong> Sensing<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> can c<strong>on</strong>ceivably be detected with mechanical or<br />

electromagnetic sensors attached to the h<str<strong>on</strong>g>and</str<strong>on</strong>g>, with remote optical or acoustical<br />

sensors, or with proximity or pressure sensors mounted <strong>on</strong> an object in the user's<br />

envir<strong>on</strong>ment. At rst glance the attached sensor methods seem advantageous be-<br />

cause they can capture three-dimensi<strong>on</strong>al h<str<strong>on</strong>g>and</str<strong>on</strong>g> activity in free space, unc<strong>on</strong>strained<br />

by the physical form factor of an interfacing object. Data gloves <str<strong>on</strong>g>and</str<strong>on</strong>g> computer vi-<br />

si<strong>on</strong> systems have been popular in virtual reality experiments for this reas<strong>on</strong>. Such<br />

systems are clearly appropriate for capturing the free-space h<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures <str<strong>on</strong>g>and</str<strong>on</strong>g> sign<br />

30


language as they appear in communicati<strong>on</strong> between humans, but several factors<br />

make them impractical for everyday human-computer interacti<strong>on</strong>.<br />

2.1.1 Free-Space Gestures<br />

The rst problem lies with holding or slowly adjusting h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> in free<br />

space. The quick, relative moti<strong>on</strong>s of sign language may be easy to perform, but<br />

holding the unsupported h<str<strong>on</strong>g>and</str<strong>on</strong>g>s out in fr<strong>on</strong>t of the body for extended periods is very<br />

tiring [152, 153]. In such postures ngertip positi<strong>on</strong>s are also somewhat unstable, so<br />

c<strong>on</strong>siderably less precisi<strong>on</strong> is possible than when some part of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> or arm rests<br />

against a rm object. Also, it is very di cult for a computer to distinguish moti<strong>on</strong>s<br />

intended to be instructi<strong>on</strong>s for the computer from postural adjustments or gestures<br />

to co-workers. This is known as the gesture saliency problem. To appreciate the<br />

di culty of this problem, c<strong>on</strong>sider how often we humans mistakenly think some<strong>on</strong>e<br />

is gesturing at us when the gesture is actually intended for some<strong>on</strong>e behind us or<br />

no <strong>on</strong>e at all. If the directi<strong>on</strong> of gaze of the sender is not known, determining the<br />

intended recipient of gestures is even more troublesome.<br />

2.1.2 Data Gloves<br />

Free-space moti<strong>on</strong> sensing technologies have limitati<strong>on</strong>s as well. Though<br />

DataGloves [148] can potentially capture the entire range of nger exi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> ex-<br />

tensi<strong>on</strong>, in practice the exi<strong>on</strong> sensors are imprecise yet expensive <str<strong>on</strong>g>and</str<strong>on</strong>g> cumbersome<br />

to wear. Furthermore, as a bodily attachment, gloves must often be removed when<br />

the user resumes n<strong>on</strong>-computer tasks. This is both a practical disadvantage <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

an erg<strong>on</strong>omic disadvantage because it discourages users from taking rest breaks<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> mixing in n<strong>on</strong>-computer tasks which rely <strong>on</strong> other muscle groups. FakeSpace,<br />

Inc. [36] markets pinch or chord gloves for virtual reality systems which detect c<strong>on</strong>-<br />

tact between electrically c<strong>on</strong>ducting ngertip pads rather than general exi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

extensi<strong>on</strong> of the ngers. The lack of exi<strong>on</strong> sensors reduces cost, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>sistent with<br />

31


the design philosophy of this dissertati<strong>on</strong>, such physical ngertip c<strong>on</strong>tact turns out<br />

to be more reliable <str<strong>on</strong>g>and</str<strong>on</strong>g> easier to learn than free-space nger moti<strong>on</strong> gestures [60].<br />

2.1.3 Video Gesture Recogniti<strong>on</strong><br />

Computer visi<strong>on</strong> technologies avoid the encumbrance of wearing gloves but<br />

cannot always infer ngertip locati<strong>on</strong>. Assuming decent lighting is available, much<br />

of the luminosity informati<strong>on</strong> that a video camera supplies is unnecessary for nger<br />

tracking, <str<strong>on</strong>g>and</str<strong>on</strong>g> must be ltered out with computati<strong>on</strong>ally intensive algorithms [115].<br />

The body of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> can occlude the ngertips at some camera <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> angles.<br />

Occlusi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> limited camera resoluti<strong>on</strong> also make it very di cult to determine<br />

exactly when the ngers touch a surface.<br />

2.1.4 Bene ts of Surface C<strong>on</strong>tact<br />

Most importantly, the emphasis <strong>on</strong> h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracking in three-dimensi<strong>on</strong>al free<br />

space ignores the l<strong>on</strong>g history of manipulating h<str<strong>on</strong>g>and</str<strong>on</strong>g> tools <str<strong>on</strong>g>and</str<strong>on</strong>g> musical instruments<br />

which provide rich haptic feedback as the tool is acquired. While ec<strong>on</strong>omics may<br />

preclude customizing the shapes of general-purpose input devices as much as h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

tools are customized, detecti<strong>on</strong> of c<strong>on</strong>tact with a physical surface provides, at the<br />

bare minimum, a clear demarcati<strong>on</strong> between moti<strong>on</strong>s <strong>on</strong> the surface that the com-<br />

puter is intended to recognize <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s away from the surface that the computer<br />

should ignore. Though individual nger activity <strong>on</strong> a surface is c<strong>on</strong>strained to two-<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g>-a-half dimensi<strong>on</strong>s, Chapter 5 will dem<strong>on</strong>strate that extra degrees of freedom<br />

can be extracted from rotati<strong>on</strong>al <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling moti<strong>on</strong>s of multiple ngers <strong>on</strong> a sur-<br />

face. For many applicati<strong>on</strong>s the improved clarity of user intent <str<strong>on</strong>g>and</str<strong>on</strong>g> tactile feedback<br />

that surface c<strong>on</strong>tact imparts will more than make up for the slight reducti<strong>on</strong> in<br />

movement freedom.<br />

32


2.1.5 Sensing <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Presence<br />

Technologies which have been applied to detecting nger or stylus c<strong>on</strong>tact<br />

include resistive membranes, surface acoustic wave, active optics <str<strong>on</strong>g>and</str<strong>on</strong>g> nger capaci-<br />

tance sensing (see Lee's 1984 Master's Thesis [88] for an early review). Most imple-<br />

mentati<strong>on</strong>s are limited to unambiguous locati<strong>on</strong> of a single nger because they rely<br />

<strong>on</strong> what Lee calls \projective" sensor matrices. In a projective matrix (Figure 2.1a),<br />

<strong>on</strong>e sensor element is allocated to each row <str<strong>on</strong>g>and</str<strong>on</strong>g> column at the edge of the active<br />

a) b)<br />

Figure 2.1: The two basic multi-touchproximity sensor arrangements. In a), \projective"<br />

row <str<strong>on</strong>g>and</str<strong>on</strong>g> column spanning sensors integrate across each row<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> column electrode <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ly need c<strong>on</strong>necti<strong>on</strong>s at the edges of the<br />

matrix. Touching ngertips can be counted by counting the maxima in<br />

the column signals assuming the ngertips lie in a roughly horiz<strong>on</strong>tal<br />

row unobstructed by thumb or palms. The square sensors in b) <strong>on</strong>ly<br />

integrate over the local square. The exact locati<strong>on</strong>s of any number<br />

of ngertip-sized c<strong>on</strong>tacts can be interpolated from the 2D array of<br />

square sensors, but a c<strong>on</strong>necti<strong>on</strong> matrix must be run underneath the<br />

sensor array to c<strong>on</strong>nect the sensors to signal processing circuitry.<br />

area. <str<strong>on</strong>g>Finger</str<strong>on</strong>g> presence anywhere al<strong>on</strong>g a row will register <strong>on</strong> that row's sensor, so<br />

that a nger a ects roughly <strong>on</strong>e row <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e column sensor. While the total number<br />

33


of sensors needed is related to <strong>on</strong>ly the square root of the active area, multiple nger<br />

c<strong>on</strong>tacts can c<strong>on</strong>fuse these systems [88]. As was true in 1984, the surface acoustic<br />

wave <str<strong>on</strong>g>and</str<strong>on</strong>g> infrared touchscreens as well as capacitive touchpads <strong>on</strong> the market still<br />

su er from this limitati<strong>on</strong>.<br />

Some devices <strong>on</strong> the market partially utilize multiple ngers despite the am-<br />

biguities of projective sensing. For example, touchpads manufactured by Logitech,<br />

Inc. [15, 78] for laptop computers are able to detect the presence of up to three n-<br />

gertips. The patent to Bisset <str<strong>on</strong>g>and</str<strong>on</strong>g> Kasser [15] explains that this is d<strong>on</strong>e by assuming<br />

the ngers lie in a row <str<strong>on</strong>g>and</str<strong>on</strong>g> counting the number of maxima in the column projec-<br />

ti<strong>on</strong>. However, as will be seen in Figures 2.2 <str<strong>on</strong>g>and</str<strong>on</strong>g> 2.3 below, this projecti<strong>on</strong> maxima<br />

counting method becomes ambiguous for larger touch surfaces in which <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

part can intersect the same column as another, such as when both ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palms<br />

touch the sensing area or the h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotates so ngers lie diag<strong>on</strong>ally or in a column.<br />

Figures 2.2 <str<strong>on</strong>g>and</str<strong>on</strong>g> 2.3 dem<strong>on</strong>strate the limitati<strong>on</strong>s of this projecti<strong>on</strong> approach<br />

compared to the two-dimensi<strong>on</strong>al arrays of sensors (Figure 2.1b) to be discussed<br />

in Secti<strong>on</strong> 2.1.7. <str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip, thumb, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel surface c<strong>on</strong>tacts are simulated<br />

with two-dimensi<strong>on</strong>al Gaussians of varying widths <strong>on</strong> the 2D square grid. The grid<br />

samples the Gaussians at 2.5 mm intervals such as would occur in a capacitive<br />

sensing array with moderate spatial resoluti<strong>on</strong>. The darkness of the squares is<br />

proporti<strong>on</strong>al to the nger capacitance or proximity sampled at the square. The<br />

projective signals which would be measured from the row <str<strong>on</strong>g>and</str<strong>on</strong>g> column spanning<br />

electrodes of Bisset <str<strong>on</strong>g>and</str<strong>on</strong>g> Kasser [15] are simulated by integrating over each row of<br />

the 2D array to obtain the horiz<strong>on</strong>tal bar plots to the left of each grid <str<strong>on</strong>g>and</str<strong>on</strong>g> by<br />

integrating over each column to obtain the vertical bar plots under each grid.<br />

Figure 2.2 shows the projecti<strong>on</strong> sensing ambiguities which can occur when<br />

the ngertip row is not horiz<strong>on</strong>tal, but lies diag<strong>on</strong>ally instead due to various h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

34


a) b)<br />

c) d)<br />

Figure 2.2: Projecti<strong>on</strong> sensor ambiguities for various diag<strong>on</strong>al arrangements of<br />

ngertips. The di erent ngertip c<strong>on</strong>tact arrangements shown <strong>on</strong> the<br />

square sensor grid in a)-c) all produce the same row <str<strong>on</strong>g>and</str<strong>on</strong>g> column projecti<strong>on</strong>s<br />

(horiz<strong>on</strong>tal <str<strong>on</strong>g>and</str<strong>on</strong>g> vertical bar plots), preventing the projecti<strong>on</strong><br />

method from determining the h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>, though it can still count<br />

the ngertip maxima. In d) the ngertips are so close together that<br />

the projecti<strong>on</strong> minima between ngertips disappear, preventing ngertip<br />

counting, though the diag<strong>on</strong>al minima are still discernable in<br />

the square sensor grid.<br />

35


otati<strong>on</strong>s. In Figure 2.2a-c four maxima appear in both the row <str<strong>on</strong>g>and</str<strong>on</strong>g> column pro-<br />

jecti<strong>on</strong>s (bar plots), indicating at least four objects are touching the surface, but<br />

the projecti<strong>on</strong>s are the same in each case even though the ngertip arrangements<br />

(grid) di er. The same projecti<strong>on</strong>s could be obtained from a 4 4 array of 16<br />

ngertips also, though most human operators will not have that many ngertips. In<br />

Figure 2.2d the ngertips are so close together in their diag<strong>on</strong>al row that the pro-<br />

jecti<strong>on</strong> maxima merge, though local maxima are still clearly separated by diag<strong>on</strong>al<br />

partial minima in the sampled 2D array.<br />

Figure 2.3 shows how ngertip counting from projecti<strong>on</strong> sensors is occluded<br />

by the presence of thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palms in a neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>. In Figure 2.3a<br />

four ngertips lie in a slight arc, producing four maxima in the column projecti<strong>on</strong>s<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e in the row projecti<strong>on</strong>. Figure 2.3b includes the thumb in nearly the same<br />

column as the index ngertip, causing an additi<strong>on</strong>al maximum in the row projecti<strong>on</strong><br />

(horiz<strong>on</strong>tal bars) <strong>on</strong>ly. The index ngertip is removed in Figure 2.3c� because the<br />

thumb is still in the same columns, the number of projecti<strong>on</strong> maxima does not<br />

change, though the amplitudes change somewhat. Because the amplitudes also<br />

depend <strong>on</strong> how lightly each nger touches the surface, the change in projecti<strong>on</strong><br />

amplitudes cannot reliably resolve thisambiguity� the amplitude changes could also<br />

be a result of a lightening in h<str<strong>on</strong>g>and</str<strong>on</strong>g> pressure. In Figure 2.3d the palms touch as<br />

well, leaving three maxima in the row projecti<strong>on</strong> but causing the column projecti<strong>on</strong><br />

maxima to merge into just two. Therefore from the row projecti<strong>on</strong> <strong>on</strong>e could surmise<br />

that some palms, the thumb, <str<strong>on</strong>g>and</str<strong>on</strong>g> some ngertips are touching, but <strong>on</strong>e can no<br />

l<strong>on</strong>ger tell how many ngertips are touching because the palm column projecti<strong>on</strong>s<br />

get integrated with <str<strong>on</strong>g>and</str<strong>on</strong>g> obscure the ngertip column signals.<br />

As Lee points out, measuring projecti<strong>on</strong>s from additi<strong>on</strong>al angles such as di-<br />

ag<strong>on</strong>als can help disambiguate multiple c<strong>on</strong>tacts, as is d<strong>on</strong>e in tomography systems,<br />

36


a) b)<br />

c) d)<br />

Figure 2.3: Ambiguities in projective sensing caused by presence of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

palms in the same columns as ngertips. a) simply c<strong>on</strong>tains a slightly<br />

arched row of ngertips producing four column projecti<strong>on</strong> maxima<br />

(vertical bars at bottom) <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e row projecti<strong>on</strong> maximum in the<br />

horiz<strong>on</strong>tal bars. Adding a thumb c<strong>on</strong>tact in b) adds a row maximum<br />

but not a column maximum because the thumb intersects nearly the<br />

same columns as the index ngertip. Removing the index ngertip<br />

in c) does not chance the number of projecti<strong>on</strong> maxima, meaning<br />

ngertips cannot be counted reliably in the presence of the thumb.<br />

Adding the palms in d) further obscures the ngertip row projecti<strong>on</strong><br />

maxima, which get merged with those of the palms.<br />

37


ut details inside c<strong>on</strong>cave c<strong>on</strong>tacts will still be undetectable [88]. The numberofun-<br />

ambiguously locatable c<strong>on</strong>tacts is generally <strong>on</strong>e less than the number of projecti<strong>on</strong><br />

angles utilized [88]. McAvinney's \Sensor Frame" [107, 108, 129], an attachment to<br />

the screen of a computer m<strong>on</strong>itor which senses intersecti<strong>on</strong> of ngers with infrared<br />

beams from four directi<strong>on</strong>s, utilizes this tomography approach to unambiguously<br />

locate up to three ngers.<br />

2.1.6 Tactile Imaging<br />

This complex tomography approach can be avoided with a regular two-<br />

dimensi<strong>on</strong>al array of individually addressable sensors (Figure 2.1b), in which each<br />

sensor corresp<strong>on</strong>ds to a pixel in a \tactile image." Layered resistive-membrane<br />

pressure sensors can be c<strong>on</strong>structed ec<strong>on</strong>omically in this c<strong>on</strong> gurati<strong>on</strong>, but their<br />

substantial activati<strong>on</strong> force is erg<strong>on</strong>omically inferior to zero-activati<strong>on</strong>-force prox-<br />

imity sensing. Another approach is to place a camera under a translucent tabletop<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> image the shadow of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s [81, 110]. Unfortunately the bulky optics under<br />

the table will limit portability <str<strong>on</strong>g>and</str<strong>on</strong>g>leg room, <str<strong>on</strong>g>and</str<strong>on</strong>g> such systems cannot di erentiate<br />

nger pressure [88]. Active optical imaging with an array of infrared transmitters<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> receivers <strong>on</strong> the surface could easily detect nger proximity, butwould be pro-<br />

hibitively expensive <str<strong>on</strong>g>and</str<strong>on</strong>g> power c<strong>on</strong>sumptive.<br />

2.1.7 Capacitance-Sensing Electrode Arrays<br />

The remaining opti<strong>on</strong> is to measure the capacitance between the ngers <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

an insulated array of metal electrodes. The presence of a nger e ectively increases<br />

the electrode capacitance to ground since the capacitance between the c<strong>on</strong>ductive<br />

ngertip esh <str<strong>on</strong>g>and</str<strong>on</strong>g> an electrode plate is typically a few pF but the capacitance of<br />

the human body with respect to earth ground is relatively large (about 100pF) [88].<br />

Since the capacitance between parallel plates drops quickly in inverse proporti<strong>on</strong><br />

to the distance between the plates, this technique can <strong>on</strong>ly detect ngers within a<br />

38


few millimeters of the electrodes. Spatial resoluti<strong>on</strong> increases dramatically as the<br />

ngers approach the electrodes. Precisi<strong>on</strong> of .2 mm can easily be obtained with 4<br />

mm electrode spacings by computing a nger centroid, i.e., interpolating between<br />

neighboring electrodes. The capacitive technique also indicates nger force up to a<br />

couple Newt<strong>on</strong>s because the e ective capacitor area increases as the ngertip pulp<br />

attens against the surface [134]. While the limited proximity sensing range of<br />

electrode arrays ensures ngertip proximity informati<strong>on</strong> is clear <str<strong>on</strong>g>and</str<strong>on</strong>g> uncluttered,<br />

it also prevents detecti<strong>on</strong> of the nger joints <str<strong>on</strong>g>and</str<strong>on</strong>g> palms unless the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> is<br />

attened against the surface.<br />

Lee built the rst such array in 1984 with 7mm by 4mm metal electrodes<br />

arranged in 32 rows <str<strong>on</strong>g>and</str<strong>on</strong>g> 64 columns. The \Fast Multiple-Touch-Sensitive Input<br />

Device (FMTSID)" total active area measured 12" by 16", with a .075mm Mylar<br />

dielectric to insulate ngers from electrodes. Each electrode had <strong>on</strong>e diode c<strong>on</strong>-<br />

nected to a row charging line <str<strong>on</strong>g>and</str<strong>on</strong>g> a sec<strong>on</strong>d diode c<strong>on</strong>nected to a column discharging<br />

line. Electrode capacitance changes were measured singly or in rectangular groups<br />

by raising the voltage <strong>on</strong> <strong>on</strong>e or more row lines, selectively charging the electrodes<br />

in those rows, <str<strong>on</strong>g>and</str<strong>on</strong>g> then timing the discharge of selected columns to ground through<br />

a discharge resistor. The principal disadvantage of Lee's design was that the column<br />

diode reverse bias capacitances allowed interference between electrodes in the same<br />

column. Even with 2048 electrodes <str<strong>on</strong>g>and</str<strong>on</strong>g> suitable interpolati<strong>on</strong> between electrodes,<br />

the electrode spacing was probably too coarse to reproduce the ne mouse posi-<br />

ti<strong>on</strong>ing achieved with current single- nger touchpads [46{48, 50, 51, 111]. Though<br />

its scanning rate depended irregularly <strong>on</strong> the number of <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s of surface<br />

c<strong>on</strong>tacts, for ten ngers it would have <strong>on</strong>ly been able to achieve 1-5 fps, which is<br />

much too slow foreither typing or gesture applicati<strong>on</strong>s.<br />

Rubine [129, 130] reports seeing another multi-touch tablet dem<strong>on</strong>strated at<br />

AT&T in 1988 by Robert Boie which could detect all ten ngers. It boasted a 30<br />

39


fps frame rate <str<strong>on</strong>g>and</str<strong>on</strong>g> resoluti<strong>on</strong> of 1 mil (.025 mm) in lateral positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> 10 bits in<br />

pressure. Possibly it measured sensor capacitance with the synchr<strong>on</strong>ous detecti<strong>on</strong><br />

technology in a 1995 patent by Boie et al. [17] that brie y menti<strong>on</strong>s multi-touch<br />

tablets as an applicati<strong>on</strong>.<br />

2.1.8 The MTS's Parallelogram Electrode Array<br />

The MTS c<strong>on</strong>tains a 16 96 electrode array (Figure 2.4) much like those<br />

in the above multi-touch tablets. It employs a special wedge electrode geometry to<br />

reduce the number of rows necessary by a factor of three without causing serious<br />

n<strong>on</strong>-uniformities in vertical positi<strong>on</strong> interpolati<strong>on</strong>. This reducti<strong>on</strong> in electrode count<br />

speeds fabricati<strong>on</strong> of research prototype arrays by lowering the discrete part count,<br />

but would not necessarily be bene cial for volume manufacturing techniques.<br />

Rectangular electrodes (Figure 2.5) like those used by Lee [88] are more<br />

sensitive to vertical positi<strong>on</strong> changes near the top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom of the electrodes,<br />

where it is possible to interpolate between two electrodes, than in the middle of an<br />

electrode. If a nger is in the middle, the electrode is so tall that the electrodes<br />

above <str<strong>on</strong>g>and</str<strong>on</strong>g> below d<strong>on</strong>ot register enough signal to get a reliable interpolati<strong>on</strong>.<br />

In c<strong>on</strong>trast, the vertically interleaved parallelogram electrodes interpolate via<br />

their physical geometry. The ratio of the horiz<strong>on</strong>tal cross-secti<strong>on</strong>s between electrodes<br />

in a column varies c<strong>on</strong>tinuously with vertical locati<strong>on</strong> of an object (Figure 2.6a-d)).<br />

Though this improves uniformity of vertical interpolati<strong>on</strong> compared to rectangular<br />

electrodes of the similar height, it also has the e ect of vertically smearing signals,<br />

making it di cult to distinguish objects which appear in the same electrode column<br />

less than <strong>on</strong>e row spacing apart. For research prototyping purposes this is tolerable<br />

because the ngers tend to lie in a row, no more than <strong>on</strong>e per column. However,<br />

<strong>on</strong>ce in awhile the thumb or pinky pass behind <str<strong>on</strong>g>and</str<strong>on</strong>g> intersect columns of the other<br />

ngertips, becoming indistinguishable from the ngertip in fr<strong>on</strong>t of them (see Sec-<br />

ti<strong>on</strong> 2.3.3). Also, as is discussed in Appendix B, vertical interpolati<strong>on</strong> biases do arise<br />

40


41<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.4: Diagram of electrode layout for the entire 16 96 parallelogram electrode array. Row pitch is 1.2 cm<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> column pitch is0.4cm, but electrodes are <strong>on</strong>ly 0.25 cm wide.


a) b) c) d) e)<br />

Figure 2.5: A3 3 secti<strong>on</strong> a) of rectangular electrode array. Vertical interpolati<strong>on</strong><br />

between top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom electrodes works in b)-c) but not in d)-e).<br />

for small c<strong>on</strong>tacts which are not centered <strong>on</strong> or between columns of the parallelo-<br />

gram electrode array. Thus a commercial product, especially <strong>on</strong>e which attempts to<br />

recognize a h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing grip or stylus, would have to ab<str<strong>on</strong>g>and</str<strong>on</strong>g><strong>on</strong> the electrode count<br />

savings of this scheme for traditi<strong>on</strong>al square electrodes <str<strong>on</strong>g>and</str<strong>on</strong>g> a smaller row spacing.<br />

a) b) c) d)<br />

Figure 2.6: Vertical interpolati<strong>on</strong> <strong>on</strong> the parallelogram electrode array is uniform<br />

in a)-d) since ratio of hatched cross secti<strong>on</strong>s <strong>on</strong> top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom electrodes<br />

changes gradually.<br />

42


2.1.9 No Moti<strong>on</strong> Blur <strong>on</strong> MTS<br />

Another important characteristic of the MTS is that the sensing array multi-<br />

plexes much of the integrati<strong>on</strong>, bu ering <str<strong>on</strong>g>and</str<strong>on</strong>g> quantizati<strong>on</strong> circuitry. Therefore the<br />

capacitance of each electrode is measured over a relatively short period of a few<br />

hundred microsec<strong>on</strong>ds compared to the total array scanning period of ten to twenty<br />

millisec<strong>on</strong>ds. This c<strong>on</strong>trasts with the CCD arrays typically used in video cameras<br />

which integrate incoming phot<strong>on</strong>s at each pixel over most of the period between<br />

readouts. An advantage of the MTS's relatively short integrati<strong>on</strong> time is that MTS<br />

proximity images do not exhibit moti<strong>on</strong> blur. However, if the scanning rate is not<br />

fast enough, quick nger taps over an electrode can occur entirely between mea-<br />

surements of that electrode <str<strong>on</strong>g>and</str<strong>on</strong>g> be completely missed. When tapping key regi<strong>on</strong>s<br />

during touch typing, ngers usually remain <strong>on</strong> the surface for at least 50 ms, but<br />

the scan period must be somewhat smaller than this for reliable detecti<strong>on</strong>. During<br />

the experiments c<strong>on</strong>ducted for this dissertati<strong>on</strong>, the array scan frequency or frame<br />

rate has been set to 50 fps (corresp<strong>on</strong>ding to a period of 20 ms), which ensures<br />

that each nger tap shows up in at least <strong>on</strong>e scan. However, at this rate the peak<br />

nger pressure as the ngertip bottoms out <strong>on</strong>to the surface in the middle of the<br />

tap cannot be measured accurately because the single scan detecting the tap might<br />

occur near the beginning or end of the tap cycle when the nger is barely touching<br />

the surface. Minor changes to the scanning hardware can easily push the frame rate<br />

to 100 fps, which will allow peak nger pressure to be measured fairly accurately<br />

even for extremely quick taps.<br />

2.2 Tactile Image Formati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Background Removal<br />

While designing a tactile sensor array for robotic ngertips nearly 20 years<br />

ago, Danny Hillis [59] realized how much easier touch imaging is than computer<br />

visi<strong>on</strong>:<br />

43


... analyzing a tactile image is like analyzing a visual image with c<strong>on</strong>trolled<br />

background, illuminati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> point of view ... the properties<br />

that we actually measure are very close, in kind, to the properties that<br />

we wish to infer.<br />

Comparing background segmentati<strong>on</strong> techniques in visi<strong>on</strong>-based <str<strong>on</strong>g>and</str<strong>on</strong>g> tactile h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

imaging systems will verify his insight.<br />

2.2.1 Optical Image Segmentati<strong>on</strong><br />

Ahmad's real-time 3D h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracker [3] segments the background by matching<br />

image patches to known skin color histograms, but to keep up with frame rates (30<br />

frames per sec<strong>on</strong>d) it must limit the skin search regi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> adaptively subsample<br />

the image. <str<strong>on</strong>g>Finger</str<strong>on</strong>g> positi<strong>on</strong>s are obtained by tting ellipses to the segmented h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

patches. The total h<str<strong>on</strong>g>and</str<strong>on</strong>g> patch area weighted with a centered Gaussian roughly<br />

indicates the distance between h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> camera. Ahmad also tries to recover nger<br />

joint angles, informati<strong>on</strong> which data gloves give directly, by nding ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

learning an inverse mapping from ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> palm positi<strong>on</strong> to intermediate joint<br />

angle. This feature of the tracker becomes unstable due to ngertip detecti<strong>on</strong> failure<br />

if the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not roughly normal to the camera.<br />

The Digital Desk [154{157] is a system pi<strong>on</strong>eered at Xerox for combining<br />

interacti<strong>on</strong> with paper <str<strong>on</strong>g>and</str<strong>on</strong>g> digital documents. The system c<strong>on</strong>tains both a computer<br />

screen projector <str<strong>on</strong>g>and</str<strong>on</strong>g> zoomable cameras mounted high above the user's desk. The<br />

cameras both track h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> recognize text from paper documents lying <strong>on</strong> the<br />

desk. Since the visi<strong>on</strong> system cannot determine exactly when ngers actually touch<br />

the desk surface, a microph<strong>on</strong>e is placed under the desk to \hear" nger taps <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

thus emulate mouse clicks. Crowley <str<strong>on</strong>g>and</str<strong>on</strong>g> Coutaz [30] c<strong>on</strong>sider color, correlati<strong>on</strong><br />

tracking, principal comp<strong>on</strong>ents <str<strong>on</strong>g>and</str<strong>on</strong>g> active c<strong>on</strong>tours for following a pointing object<br />

<strong>on</strong> a digital desk. In the correlati<strong>on</strong> method, a previous image of a ngertip is<br />

used as a reference template for correlati<strong>on</strong>s with the next image. The new nger<br />

44


positi<strong>on</strong> is indicated by the amount of template image shift which minimizes the<br />

sum of squared di erences between template <str<strong>on</strong>g>and</str<strong>on</strong>g> image. Again, the computati<strong>on</strong>al<br />

costs of the correlati<strong>on</strong> limit the template search regi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> thus the maximum<br />

trackable nger speed.<br />

2.2.2 Methods for Proximity Image Formati<strong>on</strong><br />

Background segmentati<strong>on</strong> of proximity images from electrode arrays is much<br />

easier because extraneous objects are not expected to be visible in the background.<br />

Paper or plastic left over the electrodes do not register <strong>on</strong> capacitive proximity<br />

sensors, nor do small metal objects unless they are deliberately grounded. However,<br />

spatial n<strong>on</strong>-uniformities in the parasitic capacitances of discrete comp<strong>on</strong>ents <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

signal lines may cause background measurements at each electrode to di er. Unlike<br />

background signals caused by extraneous external objects, such background n<strong>on</strong>-<br />

uniformities are not expected to change over time. A local o set calibrati<strong>on</strong> or<br />

adaptive thresholding scheme can cancel these xed sensor disparities. Once these<br />

sensor o sets are taken into account <str<strong>on</strong>g>and</str<strong>on</strong>g> electrical noise is ltered, the proximity<br />

image can simply be thresholded to identify regi<strong>on</strong>s of eshy c<strong>on</strong>tact. Note that<br />

single- nger projective touchpads do utilize o set adaptati<strong>on</strong> but do not have to<br />

segment the image into eshy c<strong>on</strong>tact regi<strong>on</strong>s� they simply compute a global centroid<br />

from measurements of all row <str<strong>on</strong>g>and</str<strong>on</strong>g> column electrodes.<br />

2.2.2.1 Binary Tree Scanning<br />

Lee's binary tree scanning algorithm [88] combines noise ltering <str<strong>on</strong>g>and</str<strong>on</strong>g> thresh-<br />

olding in hardware by analog grouping <str<strong>on</strong>g>and</str<strong>on</strong>g> summati<strong>on</strong> of electrode capacitance mea-<br />

surements. The array is recursively subdivided into rectangular electrode groups of<br />

decreasing size via bisecti<strong>on</strong> starting with the whole array. Thresholds are calibrated<br />

during device initializati<strong>on</strong> for each electrode group at each size, or level, in the re-<br />

cursi<strong>on</strong>. During subsequent scanning, subrectangles are scanned <strong>on</strong>ly if the parent<br />

45


ectangle's threshold is exceeded. Once the recursi<strong>on</strong> reaches a measurement which<br />

passes threshold at the single electrode level, a nger positi<strong>on</strong> is computed as the<br />

centroid of the recursed electrode capacitance <str<strong>on</strong>g>and</str<strong>on</strong>g> its eight neighboring electrode<br />

capacitances. Advantages of Lee's scheme are: not every electrode in the array need<br />

be separately scanned each pass, <str<strong>on</strong>g>and</str<strong>on</strong>g> grouping of many electrodes at the beginning<br />

of the scan tends to average out noise. The disadvantage is that small, light c<strong>on</strong>-<br />

tacts can be lost am<strong>on</strong>g the large electrode groups if the large group thresholds are<br />

marginally too high.<br />

2.2.2.2 Brute Array Scanning<br />

Both digital <str<strong>on</strong>g>and</str<strong>on</strong>g> analog processing speeds have increased enough since Lee's<br />

prototype was built that the scanning overhead c<strong>on</strong>cerns have become negligible,<br />

especially in light of the additi<strong>on</strong>al nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> gesture recogniti<strong>on</strong> algorithms<br />

which the MTS must execute. Keep in mind that though the number of discrete<br />

comp<strong>on</strong>ents necessary for an electrode array may make it seem large, the number of<br />

\pixels" is still small compared to even a low-resoluti<strong>on</strong> digital camera image. For<br />

this reas<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> to ensure even brief, light nger c<strong>on</strong>tacts are captured, the MTS<br />

employs a brute force electrode scan to form a complete proximity image before<br />

applying st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard digital ltering techniques.<br />

2.2.2.3 Sensor O set Adaptati<strong>on</strong><br />

Sensor o set calibrati<strong>on</strong> will fail during device initializati<strong>on</strong> if the user's h<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

are already <strong>on</strong> the board. Since there may not be a time when the ngers are known<br />

to be absent, the MTS c<strong>on</strong>tinuously updates each electrode o set with the minimum<br />

of readings from that electrode. Suppose Aij[n]istheraw tactile proximity measured<br />

from the electrode at row i, column j during scan cycle n. Then the local o sets<br />

Oij can be updated as:<br />

Oij[n] = min(Aij[n]�Oij[n ; 1]) (2.1)<br />

46


The o set-corrected image E is then:<br />

Eij[n] =Aij[n] ; Oij[n] 8i� j : 0


di usi<strong>on</strong> of each o set-corrected image to combat electrical noise. Then it applies<br />

signi cance threshold <str<strong>on</strong>g>and</str<strong>on</strong>g> local maximum tests to each di used pixel to detect the<br />

center of each h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact, as further described in Chapter 3.<br />

2.3 Topology of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Proximity Images<br />

To illustrate typical properties of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts as they appear in proximity<br />

images, Figures 2.7{2.10 c<strong>on</strong>tain sample images captured by the prototype array<br />

of parallelogram-shaped electrodes. Shading of each electrode darkens to indicate<br />

heightened proximity signals as esh gets closer to the surface, compresses against<br />

the surface due to h<str<strong>on</strong>g>and</str<strong>on</strong>g> pressure, <str<strong>on</strong>g>and</str<strong>on</strong>g> overlaps the parallelogram more completely.<br />

Notice that the proximity images are totally uncluttered by background objects�<br />

unlike optical images, <strong>on</strong>ly c<strong>on</strong>ductive objects within a couple millimeters of the<br />

surface show up at all. Background sensor o sets have already been removed from<br />

each image, <str<strong>on</strong>g>and</str<strong>on</strong>g> background electrical noise levels are so low as to not be visible<br />

with the given grayscale intensity map. Certain applicati<strong>on</strong>s such as h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing<br />

recogniti<strong>on</strong> will clearly require ner electrode arrays than indicated by the electrode<br />

size in these sample images. In the discussi<strong>on</strong> that follows, the proximity data<br />

measured at <strong>on</strong>e electrode during a particular scan cycle c<strong>on</strong>stitutes <strong>on</strong>e \pixel" of<br />

the proximity image captured in that scan cycle.<br />

In this secti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> the rest of this dissertati<strong>on</strong>, the term \proximity" will<br />

<strong>on</strong>ly be used in reference to the distance or pressure between a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

surface, not in reference to the distance between adjacent ngers. \Horiz<strong>on</strong>tal" <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

\vertical" refer to x <str<strong>on</strong>g>and</str<strong>on</strong>g> y directi<strong>on</strong>al axes within the surface plane. Proximity<br />

measurements are then interpreted as pressure in a z axis normal to the surface.<br />

The directi<strong>on</strong> \inner" means toward the thumb of a given h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the directi<strong>on</strong><br />

\outer" means towards the pinky nger of a given h<str<strong>on</strong>g>and</str<strong>on</strong>g>. For the purposes of this<br />

descripti<strong>on</strong>, the thumb is c<strong>on</strong>sidered a nger unless otherwise noted, but it does not<br />

count as a ngertip. \C<strong>on</strong>tact" is used as a general term for a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part when it<br />

48


touches the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> appears in the current proximity image, <str<strong>on</strong>g>and</str<strong>on</strong>g> for the group<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> path data structures which will represent it in Chapter 3.<br />

2.3.1 Flattened <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Image Properties<br />

Figure 2.7 shows aright h<str<strong>on</strong>g>and</str<strong>on</strong>g> attened against the surface with ngers out-<br />

stretched. This attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> image includes all of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts which can touch<br />

the surface from the bottom of <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g>, but in many instances <strong>on</strong>ly a few of these<br />

parts will be touching the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> the ngertips may roam widely in relati<strong>on</strong><br />

to the palms as ngers are exed <str<strong>on</strong>g>and</str<strong>on</strong>g> extended. At the far left is the obl<strong>on</strong>g thumb<br />

which tends to slant atabout 120 .<br />

The columnar blobs arranged in an arc across the top of the image are the<br />

index nger, middle nger, ring nger <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky nger. Since the ngers are fully<br />

extended, the creases at nger joints cause slight undulati<strong>on</strong>s in proximity al<strong>on</strong>g<br />

each column, though smearing by the parallelogram electrodes obscures this e ect<br />

somewhat. Flesh from the proximal nger joints, or proximal phalanges, appears as<br />

the particularly intense undulati<strong>on</strong>s at the bottom of the index, middle, <str<strong>on</strong>g>and</str<strong>on</strong>g> ring<br />

nger columns. Since the ngers are fully attened, esh from the forepalm calluses<br />

is also visible as small clusters below the proximal phalanges, near the vertical level<br />

of the thumb.<br />

The inner <str<strong>on</strong>g>and</str<strong>on</strong>g> outer palm heels cause the pair of very large c<strong>on</strong>tacts across<br />

the bottom of the image. These palm heels tend to be quite large, mildly obl<strong>on</strong>g, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

oriented diag<strong>on</strong>ally. Unless the center of the palm is intenti<strong>on</strong>ally pushed against the<br />

surface, a large crease or proximity valley clearly separates the inner <str<strong>on</strong>g>and</str<strong>on</strong>g> outer palm<br />

heels. Even though image resoluti<strong>on</strong> is fairly low, it is clear that the eshy c<strong>on</strong>tacts<br />

from di erent parts of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> have subtly c<strong>on</strong>trasting geometric properties. All the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts are roughly oval-shaped, but they di er in pressure, size, orientati<strong>on</strong>,<br />

eccentricity <str<strong>on</strong>g>and</str<strong>on</strong>g> spacing relative to<strong>on</strong>e another.<br />

49


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

Thumb<br />

Inner Palm Heel<br />

Index<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip<br />

Middle<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Ring<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip<br />

Proximal Phalanges<br />

Forepalms<br />

Pinky<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip<br />

Outer Palm Heel<br />

−6<br />

0 2 4 6 8 10 12 14 16 18<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.7: O set-corrected proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> attened <strong>on</strong>to the surface<br />

with ngers outstretched <str<strong>on</strong>g>and</str<strong>on</strong>g> all h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts labeled.<br />

50


2.3.2 Properties of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>s in the Neutral Posture<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

Figure 2.8 shows a proximity image for all ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palms of both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.8: Proximity image of both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s resting <strong>on</strong> the surface in their respective<br />

neutral or default postures.<br />

resting in what will be known hereafter as their default positi<strong>on</strong>s. Since these posi-<br />

ti<strong>on</strong>s corresp<strong>on</strong>d to the most neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger postures, with wrist straight<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers curled so ngernails are normal to the surface, gestures are most likely<br />

to start from this h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>. Note that since ngers are curled, the proxi-<br />

mal phalanges <str<strong>on</strong>g>and</str<strong>on</strong>g> forepalms are far above the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> not visible. Because the<br />

ngers are slightly spread in this neutral posture, all eshy c<strong>on</strong>tacts are clearly sepa-<br />

rated by at least <strong>on</strong>e electrode at the background or zero proximity level. Since <strong>on</strong>ly<br />

the tips rather than the lengths of the ngers are visible, the ngers appear much<br />

shorter than in Figure 2.7, <str<strong>on</strong>g>and</str<strong>on</strong>g> would appear circular if not for vertical smearing<br />

by the parallelogram electrodes. However, the nger widths remain fairly c<strong>on</strong>stant<br />

51


egardless of c<strong>on</strong>tact el<strong>on</strong>gati<strong>on</strong>. Also, the electrodes at the center of each nger-<br />

tip do not appear as dark as the central thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel electrodes because,<br />

in this case, the ngertips c<strong>on</strong>tacts are not tall enough to fully overlap any of the<br />

parallelograms, limiting the proximity signal regardless of their distance from the<br />

surface. The palm heels appear somewhat shorter than in Figure 2.7 since <strong>on</strong>ly the<br />

rear of the palm can touch the surface when ngers are exed, but the separati<strong>on</strong><br />

between the palm heels is unchanged.<br />

The fact that the intermediate nger joints c<strong>on</strong>necting ngertips to palms,<br />

i.e., the lengths of the ngers, do not appear in this comm<strong>on</strong>ly occurring proximity<br />

image has further c<strong>on</strong>sequences. While such lack of intermediate h<str<strong>on</strong>g>and</str<strong>on</strong>g> structure<br />

simpli es determinati<strong>on</strong> of the ngertip centroid, it is also the main shortcoming of<br />

capacitive proximity sensing in terms of h<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture recogniti<strong>on</strong>. Reliably estab-<br />

lishing nger or even h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity when intervening h<str<strong>on</strong>g>and</str<strong>on</strong>g> structure is missing from<br />

the proximity images poses the most challenging problem of the work described in<br />

this dissertati<strong>on</strong>. This challenge is the subject of Chapter 4.<br />

2.3.3 Partially Closed <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Image Properties<br />

For a tracking system to support a wide range of h<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures, it must<br />

tolerate c<strong>on</strong>tact shapes <str<strong>on</strong>g>and</str<strong>on</strong>g> juxtapositi<strong>on</strong>s which vary from the default. The two<br />

extremes to be c<strong>on</strong>sidered in this work are the previously discussed attened h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the partially closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> shown in Figure 2.9. Here the thumb is pushed<br />

directly behind the index nger, but vertical smearing by thewedge electrodes may<br />

cause thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> index nger to appear as a single unseparable c<strong>on</strong>tact. Unlike the<br />

default h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture in Figure 2.8, adjacent ngertips are so close together as to be<br />

distinguishable <strong>on</strong>ly by slight proximity valleys or saddle points between them. At<br />

the given horiz<strong>on</strong>tal electrode spacing, the saddle points between adjacent ngertips<br />

may <strong>on</strong>ly be separated by a single column wide. Any segmentati<strong>on</strong> algorithm must<br />

use the partial minima in the horiz<strong>on</strong>tal directi<strong>on</strong> to distinguish these ngertips. In<br />

52


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.9: Proximity image of a partially closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> with ngertips squished<br />

together.<br />

53


case the ngertip row is rotated, partial minima in diag<strong>on</strong>al directi<strong>on</strong>s must also be<br />

detected. This c<strong>on</strong> icts with the segmentati<strong>on</strong> needs of palms, which may c<strong>on</strong>tain<br />

spurious partial minima due to minor variati<strong>on</strong>s in sensor gain or esh proximity<br />

across their large areas. All partial minima within palm c<strong>on</strong>tacts should be ignored<br />

except the large crease between the palm heels.<br />

2.3.4 Pen Grip Image Properties<br />

Figure 2.10 is a proximity image of a right h<str<strong>on</strong>g>and</str<strong>on</strong>g> in a pen grip c<strong>on</strong> gurati<strong>on</strong>,<br />

which is particularly comfortable <str<strong>on</strong>g>and</str<strong>on</strong>g> dexterous for h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing or freeh<str<strong>on</strong>g>and</str<strong>on</strong>g> draw-<br />

ing. The thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> index ngertip are pinched together as if they were holding a<br />

pen, but in this case they are touching the surface instead. Actually the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

index nger appear the same here as in Figure 2.9. However, the middle, ring, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky ngers are curled under as if making a st, so the knuckles from the top of<br />

the ngers actually touch the surface instead of the nger tips. The curling under<br />

of the knuckles actually places them behind the pinched thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> index nger-<br />

tip, very close to the palm heels. The knuckles also appear larger than the curled<br />

ngertips of Figure 2.9 but the same size as the attened ngertips in Figure 2.7.<br />

These di erences in size <str<strong>on</strong>g>and</str<strong>on</strong>g> arrangement are su cient to distinguish the pen grip<br />

c<strong>on</strong> gurati<strong>on</strong> from the closed <str<strong>on</strong>g>and</str<strong>on</strong>g> attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s. Though the c<strong>on</strong>-<br />

tact segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> methods presented in this dissertati<strong>on</strong> extend<br />

to the pen grip c<strong>on</strong> gurati<strong>on</strong> with minimal modi cati<strong>on</strong>, a higher resoluti<strong>on</strong> sensor<br />

array without vertically smearing parallelogram electrodes is needed to accurately<br />

discern the pinched ngers.<br />

2.3.5 Comfortable Ranges of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong><br />

Given that the MTS prototype has the form factor of a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard computer<br />

keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> is similarly placed <strong>on</strong> a desk, lap or workbench to operate from a<br />

sitting or st<str<strong>on</strong>g>and</str<strong>on</strong>g>ing posture, the ranges of h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> expected during<br />

54


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.10: Proximity image of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> with inner ngers pinched <str<strong>on</strong>g>and</str<strong>on</strong>g> outer<br />

ngers curled under towards the palm heels as if gripping a pen.<br />

55


normal operati<strong>on</strong> are fairly limited. When <strong>on</strong>ly <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> is <strong>on</strong> the surface, its<br />

maximum inward rotati<strong>on</strong> can occur when it crosses to the opposite side of the<br />

surface, as shown in Figure 2.11. This situati<strong>on</strong> maximizes the inward rotati<strong>on</strong> of<br />

both the forearm about the elbow <str<strong>on</strong>g>and</str<strong>on</strong>g> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> about the wrist. The maximum<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.11: Proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> at far left of sensing surface <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotated counter-clockwise to its biomechanical limit.<br />

clockwise or outward rotati<strong>on</strong> occurs from the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> with forearm<br />

parallel to the vertical surface axis, as shown for the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> in Figure 2.12.<br />

Further rotati<strong>on</strong>s are <strong>on</strong>ly possible through c<strong>on</strong>torti<strong>on</strong>s of the whole body or if the<br />

operator's torso is not facing the apparatus.<br />

When both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are <strong>on</strong> the surface, h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> is even further limited by<br />

the fact that operators are not expected to let the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s cross over or overlap <strong>on</strong>e<br />

another. Figure 2.13 shows the maximum leftward positi<strong>on</strong> of the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> when<br />

the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> is in its default positi<strong>on</strong>. For some operati<strong>on</strong>s <strong>on</strong>ly part of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> may<br />

remain in the active sensing area, as shown for the row of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips at<br />

56


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.12: Proximity image of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> at far right of sensing surface <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotated outward to its biomechanical limit.<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.13: Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> up<br />

against it.<br />

57


the bottom middle of the surface in Figure 2.14. Though it is hard to imagine how<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.14: Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> moved<br />

down so <strong>on</strong>ly ngertips remain in active sensing area.<br />

this would be useful, the ngertips can also lie over the top of the active sensing<br />

area as in Figure 2.15, so <strong>on</strong>ly the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palms remain visible.<br />

2.4 C<strong>on</strong>clusi<strong>on</strong><br />

Capacitance-based proximity sensing has many advantages over other h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

moti<strong>on</strong> sensing techniques. These advantages include precise detecti<strong>on</strong> of esh c<strong>on</strong>-<br />

tact with a surface, zero-force activati<strong>on</strong>, avoidance of mechanical encumbrances,<br />

preventi<strong>on</strong> of ngertip occlusi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> absence of background scene clutter. An ar-<br />

ray of a few thous<str<strong>on</strong>g>and</str<strong>on</strong>g> electrodes is su cient to detect <str<strong>on</strong>g>and</str<strong>on</strong>g> uniquely determine the<br />

positi<strong>on</strong>s of any number of c<strong>on</strong>tacts from the undersides of both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Though<br />

each electrode has a c<strong>on</strong>stant sensor o set which must be removed, a large MTS<br />

can have signal-to-noise ratios as high as its tiny touchpad cousins.<br />

58


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 2.15: Proximity image of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> moved<br />

up so <strong>on</strong>ly thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palms remain in active sensing area.<br />

The MTS o ers a previously unexplored compromise between the rich tactile<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> force feedback of a mechanical keyboard or joystick <str<strong>on</strong>g>and</str<strong>on</strong>g> the feedback void of<br />

free space h<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures. The proximity signals measured by the MTS corresp<strong>on</strong>d<br />

almost exactly to the operator's own sensati<strong>on</strong>s of engaging <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

across the surface. Even though h<str<strong>on</strong>g>and</str<strong>on</strong>g> proximity images c<strong>on</strong>tain ambiguities due<br />

to the lack of sharp edges between esh c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> the absence of intervening<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> structure, the results of Chapters 3 <str<strong>on</strong>g>and</str<strong>on</strong>g> 4 will show that these ambiguities<br />

are surmountable. Ultimately such a unique, close corresp<strong>on</strong>dence between the<br />

sensati<strong>on</strong>s of the operator <str<strong>on</strong>g>and</str<strong>on</strong>g> the proximity imaging system can support much<br />

faster <str<strong>on</strong>g>and</str<strong>on</strong>g> more accurate gesture recogniti<strong>on</strong> than video-based systems.<br />

59


Chapter 3<br />

HAND CONTACT SEGMENTATION AND PATH<br />

TRACKING<br />

This chapter <str<strong>on</strong>g>and</str<strong>on</strong>g> the following chapter describe the nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> iden-<br />

ti cati<strong>on</strong> system of the MTS. In order to support resting or simultaneous chordic<br />

manipulati<strong>on</strong> by both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, the tracking system must be quite sophisticated. As<br />

the system diagram in Figure 3.1 shows, the overall system architecture resembles<br />

that of most computer visi<strong>on</strong> systems, including stages such as image segmenta-<br />

ti<strong>on</strong>, feature extracti<strong>on</strong>, path tracking across images, <str<strong>on</strong>g>and</str<strong>on</strong>g> object recogniti<strong>on</strong>, or<br />

in this case c<strong>on</strong>tact identi cati<strong>on</strong>. However, the algorithms presented here have<br />

been carefully chosen <str<strong>on</strong>g>and</str<strong>on</strong>g> adapted to meet the unique anatomical, biomechanical,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> topological c<strong>on</strong>straints available at each stage. The modules are highly inter-<br />

dependent: the accuracy of path tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> hinges up<strong>on</strong> c<strong>on</strong>sistent,<br />

carefully de ned segmentati<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> ambiguities which cannot be resolved within a<br />

module can often be bootstrapped with the help of feedback from other modules. As<br />

the feedback paths in Figure 3.1 indicate, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates described in<br />

Secti<strong>on</strong> 4.3 of the following chapter c<strong>on</strong>stitute the primary feedback between mod-<br />

ules. Thus while this chapter will c<strong>on</strong>centrate <strong>on</strong> the c<strong>on</strong>tact segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> path<br />

tracking modules, the functi<strong>on</strong>ing of the system as a whole can <strong>on</strong>ly be understood<br />

by study of both chapters.<br />

The segmentati<strong>on</strong> module is resp<strong>on</strong>sible for breaking up each proximity im-<br />

age into groups of electrodes underlying identi able porti<strong>on</strong>s of h<str<strong>on</strong>g>and</str<strong>on</strong>g> esh. It then<br />

60


PATHS FROM<br />

PREVIOUS IMAGES<br />

HAND<br />

IDENTIFICATION<br />

CURRENT<br />

PROXIMITY<br />

IMAGE<br />

IMAGE<br />

SEGMENTATION<br />

PARAMETERIZED<br />

ELECTRODE GROUPS<br />

CONTACT PATH<br />

TRACKING<br />

NEW PATHS &<br />

UPDATED PATH<br />

PARAMETERS<br />

IDENTIFIED<br />

CONTACT PATHS<br />

HAND POSITION<br />

ESTIMATION<br />

ESTIMATED HAND &<br />

FINGER OFFSETS<br />

z -1<br />

FINGER & PALM<br />

IDENTIFICATION<br />

Figure 3.1: System-level diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong><br />

modules.<br />

61


extracts geometric features from each group. The path tracking module links into<br />

trajectories the groups from successive proximity images which corresp<strong>on</strong>d to the<br />

same h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact. It then computes the velocity al<strong>on</strong>g each h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact tra-<br />

jectory. Though path tracking is a well-known problem <str<strong>on</strong>g>and</str<strong>on</strong>g> not terribly di cult<br />

for nger movements imaged at reas<strong>on</strong>able frame rates, the path tracking module<br />

has the important resp<strong>on</strong>sibility of detecting when individual ngers touch down <strong>on</strong><br />

or lift o the surface. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> module decides which h<str<strong>on</strong>g>and</str<strong>on</strong>g> causes<br />

each surface c<strong>on</strong>tact, <str<strong>on</strong>g>and</str<strong>on</strong>g> the nger identi cati<strong>on</strong> module assigns a unique thumb,<br />

ngertip, or palm heel identity toeachc<strong>on</strong>tact within a h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Finally, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> po-<br />

siti<strong>on</strong> estimator maintains a c<strong>on</strong>servative estimate of overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger positi<strong>on</strong><br />

o sets relative tothe default nger positi<strong>on</strong>s of Figure 2.8.<br />

3.1 Notati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Major Variable Types<br />

The mathematical notati<strong>on</strong> is designed to c<strong>on</strong>sistently describe both the c<strong>on</strong>-<br />

venti<strong>on</strong>al arrays which arise in low-level proximity image processing <str<strong>on</strong>g>and</str<strong>on</strong>g> the complex<br />

data types <str<strong>on</strong>g>and</str<strong>on</strong>g> instantiati<strong>on</strong>s needed to organize a variety of high-level h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> n-<br />

ger parameters. Global scaling c<strong>on</strong>stants <str<strong>on</strong>g>and</str<strong>on</strong>g> thresholds are speci ed in subscripts<br />

of K. There are four high-level object data types denoted by G for groups of elec-<br />

trodes, P for c<strong>on</strong>tact paths or trajectories, F for parts of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> such as thumb,<br />

ngers, or palms, <str<strong>on</strong>g>and</str<strong>on</strong>g> H for a h<str<strong>on</strong>g>and</str<strong>on</strong>g> as a whole. Particular parameters of these<br />

structures are speci ed by names in subscripts, e.g., Gx for a group's x centroid<br />

positi<strong>on</strong>. Parameters which are updated every scan cycle can include a bracketed<br />

time index, such as Px[n]�Py[n] for the time- ltered path centroid at scan cycle n.<br />

Particular group or path object instantiati<strong>on</strong>s are distinguished by a numerical in-<br />

dex immediately following the capital letter� e.g., P 1vx[n] < P 2vx[n] compares the<br />

horiz<strong>on</strong>tal velocities of two distinct paths. The index 0, e.g. G0�P0�F0isreserved<br />

for a null or default object instantiati<strong>on</strong> with all measurement parameters set to<br />

zero <str<strong>on</strong>g>and</str<strong>on</strong>g> feature parameters at their defaults of0or1as appropriate.<br />

62


3.2 C<strong>on</strong>tact Segmentati<strong>on</strong><br />

The objective of c<strong>on</strong>tact segmentati<strong>on</strong> is to group those electrodes or pixels<br />

which underly the same distinguishable h<str<strong>on</strong>g>and</str<strong>on</strong>g> part, i.e., the same nger or palm<br />

heel, <str<strong>on</strong>g>and</str<strong>on</strong>g> then to represent each group to higher levels of the tracking system via<br />

a compact parameterizati<strong>on</strong>. Though removing background objects from proximity<br />

images is trivial because n<strong>on</strong>e are expected, accurately segmenting eshy c<strong>on</strong>tacts<br />

which are variously shaped <str<strong>on</strong>g>and</str<strong>on</strong>g> separated from <strong>on</strong>e another remains challenging.<br />

3.2.1 Introducti<strong>on</strong> to the C<strong>on</strong>tact Segmentati<strong>on</strong> Problem<br />

For proper functi<strong>on</strong>ing of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identi cati<strong>on</strong> methods of Chap-<br />

ter 4, it is imperative that segmentati<strong>on</strong>s be awless for the entire range of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong> gurati<strong>on</strong>s which operators are expected to perform. The combinatorial opti-<br />

mizati<strong>on</strong> algorithms of the nger identi cati<strong>on</strong> process assume that the correct map-<br />

ping between segmentati<strong>on</strong> groups <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> part identities is a <strong>on</strong>e-to-<strong>on</strong>e mapping,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the algorithms attempt to nd the optimal <strong>on</strong>e-to-<strong>on</strong>e mapping. If the segmen-<br />

tati<strong>on</strong> process err<strong>on</strong>eously merges the c<strong>on</strong>tacts of two distinguishable h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts<br />

or splits the c<strong>on</strong>tact from <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> part into multiple groups, the correct identity<br />

mapping will no l<strong>on</strong>ger be a <strong>on</strong>e-to-<strong>on</strong>e mapping, <str<strong>on</strong>g>and</str<strong>on</strong>g> at least some of the c<strong>on</strong>tact<br />

identi cati<strong>on</strong>s will be wr<strong>on</strong>g. Designing the identi cati<strong>on</strong> process to be highly tol-<br />

erant of err<strong>on</strong>eous merging or splitting of groups would weaken the c<strong>on</strong>straints <strong>on</strong><br />

the combinatorial optimizati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> add undue complexity toidenti cati<strong>on</strong>. Luckily,<br />

this is not necessary. The segmentati<strong>on</strong> techniques presented here will dem<strong>on</strong>strate<br />

that with su cient tuning of segmentati<strong>on</strong> rules, h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact segmentati<strong>on</strong> can be<br />

nearly awless, even for low-resoluti<strong>on</strong> parallelogram electrode arrays. The failures<br />

that do occur are usually mild enough that feedback from partially correct identi ca-<br />

ti<strong>on</strong>s is su cient to adjust the segmentati<strong>on</strong> rules, producing correct segmentati<strong>on</strong>s<br />

for subsequent images.<br />

63


Since the electrodes at the center of each h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact invariably possess<br />

locally maximum proximity, an e cient approach to proximity image segmentati<strong>on</strong><br />

is to search outward from local maximum electrodes for c<strong>on</strong>tact edges, marking the<br />

edges as group boundary pixels. Algorithms which start at a seed pixel <str<strong>on</strong>g>and</str<strong>on</strong>g> search<br />

outward for similar pixels are generally known in computer visi<strong>on</strong> as regi<strong>on</strong> growing<br />

segmentati<strong>on</strong> methods [13, 68, 70, 172]. Local maxima are the obvious c<str<strong>on</strong>g>and</str<strong>on</strong>g>idates<br />

for seed pixels. The primary challenge of proximity image segmentati<strong>on</strong> is then to<br />

decide exactly what quali es as an edge between c<strong>on</strong>tacts. For reliable segmentati<strong>on</strong><br />

of a wide range of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s, this decisi<strong>on</strong> must depend <strong>on</strong> some sort of<br />

c<strong>on</strong>textual feedback about the types of c<strong>on</strong>tacts being segmented.<br />

Even if edge detecti<strong>on</strong> decisi<strong>on</strong>s are complex, this regi<strong>on</strong> growing process<br />

incurs surprisingly little computati<strong>on</strong>al overhead because searching outward from<br />

local maxima c<strong>on</strong> nes the edge detecti<strong>on</strong> computati<strong>on</strong>s to relatively small porti<strong>on</strong>s<br />

of the image c<strong>on</strong>taining about a dozen pixels per c<strong>on</strong>tact. Furthermore, since edges<br />

of c<strong>on</strong>vex c<strong>on</strong>tacts tend to be oriented perpendicularly to the vector passing from<br />

an edge pixel to the center of the c<strong>on</strong>tact, partial spatial derivatives <strong>on</strong>ly need be<br />

computed al<strong>on</strong>g the directi<strong>on</strong> of search relative to the c<strong>on</strong>tact center, not in all<br />

directi<strong>on</strong>s. Thus while the MTS segmentati<strong>on</strong> methods are related to watershed<br />

merging methods [42, 57, 151], the MTS does not have to compute the gradient of<br />

the whole image, <str<strong>on</strong>g>and</str<strong>on</strong>g> its merging is simply based up<strong>on</strong> regi<strong>on</strong> overlap. Likewise,<br />

proximity image segmentati<strong>on</strong> is not nearly as computati<strong>on</strong>ally expensive as prior<br />

segmentati<strong>on</strong> methods for optical images of h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. These prior methods compute<br />

complicated quantities such as spatiotemporal derivatives for optical ow [121], color<br />

histograms [3], or Gabor lters [115, 146] across most of each image.<br />

3.2.2 Overview of the Segmentati<strong>on</strong> Process<br />

The data ow diagram in Figure 3.2 provides an overview of the image<br />

segmentati<strong>on</strong> process. To avoid spurious extrema, a spatially smoothed copy of<br />

64


CURRENT<br />

PROXIMITY<br />

IMAGE<br />

DIFFUSE<br />

CURRENT IMAGE<br />

SMOOTHED<br />

PROXIMITY<br />

IMAGE<br />

SEARCH FOR<br />

SIGNIFICANT<br />

LOCAL MAXIMA<br />

LOCAL<br />

MAXIMUM<br />

PIXELS<br />

CONSTRUCT ELECTRODE<br />

GROUPS AROUND LOCAL<br />

MAXIMUM PIXELS<br />

COMBINE<br />

OVERLAPPING<br />

GROUPS<br />

FIT ELLIPSES TO<br />

COMBINED<br />

GROUPS<br />

PARAMETERIZED<br />

ELECTRODE GROUPS<br />

FLATTENED<br />

FINGERTIP<br />

FEEDBACK<br />

ESTIMATED HAND<br />

POSITION OFFSETS<br />

DEFINE SEGMENTATION<br />

STRICTNESS REGIONS<br />

Figure 3.2: Data ow diagram of the proximity image segmentati<strong>on</strong> process.<br />

65


the current proximity image is utilized in the search for local maximum pixels <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

in computati<strong>on</strong> of spatial derivatives. Any pixel whose smoothed proximity exceeds<br />

a signi cance threshold <str<strong>on</strong>g>and</str<strong>on</strong>g> the smoothed proximities of all eight nearest neighbor<br />

pixels is c<strong>on</strong>sidered a local maximum pixel. The system c<strong>on</strong>structs around each<br />

signi cant local maximum a semi-c<strong>on</strong>vex group of neighboring electrodes GE which<br />

corresp<strong>on</strong>ds to a unit eshy c<strong>on</strong>tact. Edges are always indicated at pixels where<br />

the undi used proximity falls to background levels� but in case ngertips are <strong>on</strong>ly<br />

separated by a slight proximity valley, a partial minimum or saddle point between<br />

adjacent ngers is also c<strong>on</strong>sidered an edge. Large palm heel c<strong>on</strong>tacts, <strong>on</strong> the other<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>, may exhibit partial minima due to minor n<strong>on</strong>-uniformities in esh proximity<br />

or electrode sensitivity across the c<strong>on</strong>tact, so it is not su cient to have the same<br />

edge detecti<strong>on</strong> rules across the whole image.<br />

To resolve the c<strong>on</strong> icting edge detecti<strong>on</strong> needs of di erent types of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong>tacts, the segmentati<strong>on</strong> system bootstraps o of high-level analyses of previous<br />

images. These high-level analyses are supplied in the form of h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> esti-<br />

mates <str<strong>on</strong>g>and</str<strong>on</strong>g> nger c<strong>on</strong>tact height measurements. Given a h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate, the<br />

segmentati<strong>on</strong> system applies strict edge detecti<strong>on</strong> rules in regi<strong>on</strong>s of the image where<br />

ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g> thumb are expected to appear, but it applies sloppy edge detecti<strong>on</strong><br />

rules in regi<strong>on</strong>s of the image where palms are expected to appear. This ensures that<br />

adjacent ngertips are not joined into a single group <str<strong>on</strong>g>and</str<strong>on</strong>g> that each palm heel is not<br />

broken into multiple groups. In case smoothing fails to produce just <strong>on</strong>e local max-<br />

imum in each palm heel or attened nger, a merging stage combines overlapping<br />

groups which c<strong>on</strong>tain the local maxima of other groups.<br />

The last stage of the segmentati<strong>on</strong> process is to extract shape, size, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> parameters from each electrode group. If properly segmented, most groups<br />

will roughly resemble ovals, so each group can be meaningfully represented at higher<br />

system levels by a few tted-ellipse parameters: group centroid (Gx, Gy), total<br />

66


proximity signal Gz, orientati<strong>on</strong> G , <str<strong>on</strong>g>and</str<strong>on</strong>g> eccentricity G .<br />

3.2.3 Proximity Image Smoothing<br />

After the MTS fully scans a new proximity image <str<strong>on</strong>g>and</str<strong>on</strong>g> subtracts o back-<br />

ground sensor o sets, the segmentati<strong>on</strong> process begins by making a smoothed copy<br />

of the image via <strong>on</strong>e or more passes with a nearest neighbor di usi<strong>on</strong> operator, also<br />

known as a Gaussian kernel. One pass of the 2-D di usi<strong>on</strong> operator performs the<br />

following computati<strong>on</strong>:<br />

Sij[n] = (1 ; 2Dx ; 2Dy)Ei�j[n]<br />

+Dy(Ei;1�j[n]+Ei+1�j[n])<br />

+Dx(Ei�j;1[n]+Ei�j+1[n]) (3.1)<br />

where Dx <str<strong>on</strong>g>and</str<strong>on</strong>g> Dy are the di usi<strong>on</strong> rates in the x <str<strong>on</strong>g>and</str<strong>on</strong>g> y directi<strong>on</strong>s. For stability, the<br />

rates must satisfy Dx + Dy


indicated in Figure 3.6. Too much smoothing obscures the proximityvalleys between<br />

adjacent ngertips. Nevertheless, because smoothing is the <strong>on</strong>ly operati<strong>on</strong> besides<br />

the search for local maxima which is applied to the whole image, it incurs more com-<br />

putati<strong>on</strong>al cost than all other stages of the segmentati<strong>on</strong> process combined, taking<br />

2-3ms <strong>on</strong> the 60 MHz TSM320C32 DSP.<br />

3.2.4 Segmentati<strong>on</strong> Strictness Regi<strong>on</strong>s<br />

As hinted in Secti<strong>on</strong> 2.3.3, segmentati<strong>on</strong> needs are not uniform across the<br />

entire image or across all h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s. Regi<strong>on</strong>s of the image c<strong>on</strong>taining<br />

ngertips require strict segmentati<strong>on</strong>, i.e., establishment ofc<strong>on</strong>tact edges at all hor-<br />

iz<strong>on</strong>tal partial minima. This c<strong>on</strong> icts with the segmentati<strong>on</strong> needs in palm regi<strong>on</strong>s.<br />

Palms should be segmented sloppily� in other words, <strong>on</strong>ly large creases between palm<br />

heels or electrodes with background-level proximity should register as palm c<strong>on</strong>tact<br />

edges. How can the system decide where segmentati<strong>on</strong> should be strict versus sloppy<br />

when c<strong>on</strong>textual features such as relative c<strong>on</strong>tact shape <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> can <strong>on</strong>ly be<br />

measured after segmentati<strong>on</strong> has completed? A cumbersome <str<strong>on</strong>g>and</str<strong>on</strong>g> computati<strong>on</strong>ally<br />

expensive approach would be to form multiple segmentati<strong>on</strong> hypotheses <str<strong>on</strong>g>and</str<strong>on</strong>g> try to<br />

c<strong>on</strong>struct an evaluati<strong>on</strong> procedure to pick the most likely segmentati<strong>on</strong>.<br />

A simpler but e ective approach is to utilize c<strong>on</strong>tact juxtapositi<strong>on</strong> c<strong>on</strong>straints<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> expected h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>. The critical observati<strong>on</strong> is that for comfortable ranges<br />

of h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>, the ngertips always lie above the palms <str<strong>on</strong>g>and</str<strong>on</strong>g> usually appear above<br />

the thumb. If ngers, palm <str<strong>on</strong>g>and</str<strong>on</strong>g> thumb were all guaranteed to be touching the sur-<br />

face, the system could assume the local proximity maximum nearest the top of the<br />

board was a ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> the <strong>on</strong>e nearest the bottom was a palm. A horiz<strong>on</strong>tal<br />

dividing line could be envisi<strong>on</strong>ed in between, above which strict ngertip segmen-<br />

tati<strong>on</strong> rules would apply <str<strong>on</strong>g>and</str<strong>on</strong>g> below which sloppy palm segmentati<strong>on</strong> would apply.<br />

In practice the palms may not be touching the board, or in rare cases the palms<br />

may touchdown before the ngers, so the placement of this dividing line has to be<br />

68


guessed at. Since strict segmentati<strong>on</strong> should also apply to the thumbs to prevent<br />

thumb c<strong>on</strong>tacts from merging with ngertips or palms, the sloppy regi<strong>on</strong>s should be<br />

further c<strong>on</strong> ned by vertical dividers to exclude regi<strong>on</strong>s where thumbs are expected.<br />

In case the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are not positi<strong>on</strong>ed symmetrically, the sloppy regi<strong>on</strong> dividers should<br />

be placed independently for each h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

Positi<strong>on</strong> estimates are available as top-level feedback from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

estimati<strong>on</strong> module (Figure 3.1) in the form of o sets from the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s<br />

(Figure 2.8). Secti<strong>on</strong> 4.3 describes in detail how the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> module<br />

derives c<strong>on</strong>servative estimates using c<strong>on</strong>tact positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> identities from previous<br />

images. Basically each h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate is initialized to the default h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong>, tracks the average positi<strong>on</strong>s of identi ed nger c<strong>on</strong>tacts relative to their<br />

default nger positi<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> decays back toward the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> when all<br />

ngers lift o the surface.<br />

Figure 3.3 illustrates how the segmentati<strong>on</strong> regi<strong>on</strong>s translate with the esti-<br />

mated h<str<strong>on</strong>g>and</str<strong>on</strong>g> o sets. In Figure 3.3a the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are in their default positi<strong>on</strong>s, zeroing<br />

the estimated o sets for both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Plus signs in the diagram indicate the esti-<br />

mated positi<strong>on</strong> of each nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel in each h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Rectangular outlines in<br />

the lower corners represent the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right sloppy segmentati<strong>on</strong> regi<strong>on</strong>s, where<br />

partial minima are largely ignored. The T-shaped regi<strong>on</strong> remaining is the strict<br />

segmentati<strong>on</strong> regi<strong>on</strong>, where proximity saddle points must serve as c<strong>on</strong>tact edges.<br />

The best positi<strong>on</strong>s of the vertical dividing lines has been found empirically to be<br />

just inside of the sensor array columns where the index ngers are expected to lie,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the horiz<strong>on</strong>tal dividing lines are placed near the estimated vertical positi<strong>on</strong>s of<br />

their respective thumbs. The outside edges of the surface form the outer <str<strong>on</strong>g>and</str<strong>on</strong>g> lower<br />

boundaries of the sloppy regi<strong>on</strong>s. Due to the decay in estimated o sets after h<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

leave the surface, the sloppy segmentati<strong>on</strong> regi<strong>on</strong>s return to the positi<strong>on</strong>s shown in<br />

Figure 3.3a after the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s have stayed o the surface a few sec<strong>on</strong>ds, regardless of<br />

69


Left Sloppy<br />

Vertical Surface Positi<strong>on</strong> (cm)<br />

15<br />

10<br />

5<br />

0<br />

Strict Segmentati<strong>on</strong> Regi<strong>on</strong><br />

Left Sloppy Right Sloppy<br />

−5<br />

−20 −15 −10 −5 0<br />

a)<br />

5 10 15 20<br />

15<br />

10<br />

5<br />

0<br />

Left Sloppy<br />

Strict Segmentati<strong>on</strong> Regi<strong>on</strong><br />

Right Sloppy<br />

−5<br />

−20 −15 −10 −5 0<br />

b)<br />

5 10 15 20<br />

15<br />

10<br />

5<br />

0<br />

Strict Segmentati<strong>on</strong> Regi<strong>on</strong><br />

Right Sloppy<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

c) Horiz<strong>on</strong>tal Surface Positi<strong>on</strong> (cm)<br />

Figure 3.3: The positi<strong>on</strong>s of the left <str<strong>on</strong>g>and</str<strong>on</strong>g> rightsloppy segmentati<strong>on</strong> regi<strong>on</strong>s (boxes)<br />

in relati<strong>on</strong> to estimated nger positi<strong>on</strong>s (plus signs) for a) both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

in their default positi<strong>on</strong>s or lifted o the board a l<strong>on</strong>g time, b) the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s in asymmetrical positi<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> c) the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> crossing to the<br />

left side of the board, pushing the left sloppy regi<strong>on</strong> out of the way<br />

since the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> is o the board.<br />

70


h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> at lifto .<br />

As the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s move away from the default positi<strong>on</strong>s, the dividing lines of<br />

the left sloppy regi<strong>on</strong> are translated by the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set estimate (LHeox[n ;<br />

1]�LHeoy[n ; 1]), <str<strong>on</strong>g>and</str<strong>on</strong>g> the dividing lines of the right sloppy regi<strong>on</strong> are translated<br />

by the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set estimate (RHeox[n ; 1]�RHeoy[n ; 1]). Figure 3.3b shows<br />

how the sloppy regi<strong>on</strong>s follow the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s as the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>moves<br />

toward the upper left <str<strong>on</strong>g>and</str<strong>on</strong>g> the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> moves toward the lower left. This ensures<br />

that the palms <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ly the palms fall in the sloppy regi<strong>on</strong>s as l<strong>on</strong>g as the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> estimates are correct.<br />

Figure 3.3c shows that the left sloppy regi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate<br />

move o the surface entirely when the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> remains o the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides to the left side of the surface. This prevents the ngers of <strong>on</strong>e<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> from entering the sloppy segmentati<strong>on</strong> regi<strong>on</strong> of the opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g>. This<br />

e ect is implemented by imposing a minimum horiz<strong>on</strong>tal separati<strong>on</strong> between the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates <str<strong>on</strong>g>and</str<strong>on</strong>g>, should the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right regi<strong>on</strong>s get too close to <strong>on</strong>e<br />

another, letting the h<str<strong>on</strong>g>and</str<strong>on</strong>g> with the most surface c<strong>on</strong>tacts override the estimated<br />

positi<strong>on</strong> of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> with fewer c<strong>on</strong>tacts.<br />

Though the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator is generally very good at keeping the<br />

sloppy regi<strong>on</strong>s under the palms as the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s moves around the board, errors are<br />

possible if parts of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> unexpectedly touch down too far above or below their<br />

estimated positi<strong>on</strong>s. If <strong>on</strong>ly a palm heel touches down in the strict segmentati<strong>on</strong><br />

regi<strong>on</strong> at the top of the board, it can be segmented into multiple groups which will<br />

be misidenti ed as a row of overlapping ngertips. However, if the size <str<strong>on</strong>g>and</str<strong>on</strong>g> shape<br />

of these groups becomes so large as to be inc<strong>on</strong>sistent with their identi cati<strong>on</strong> as<br />

ngertips, the nger identi cati<strong>on</strong> module will reidentify them as palms <str<strong>on</strong>g>and</str<strong>on</strong>g> even-<br />

tually correct the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate. Likewise, if squished together ngertips<br />

touch down in the sloppy segmentati<strong>on</strong> regi<strong>on</strong> at the bottom of the board, they<br />

71


can be joined into <strong>on</strong>e c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g> misidenti ed as a palm heel. Secti<strong>on</strong> 3.2.9 will<br />

further examine the segmentati<strong>on</strong> errors which can occur if the sloppy segmentati<strong>on</strong><br />

regi<strong>on</strong>s get out of place.<br />

3.2.5 Segmentati<strong>on</strong> Search Pattern<br />

Once the local maxima pixels have been found <str<strong>on</strong>g>and</str<strong>on</strong>g> the sloppy segmentati<strong>on</strong><br />

regi<strong>on</strong>s de ned, the segmentati<strong>on</strong> process searches around each local maximum pixel<br />

for pixels which register signi cant proximity. Figure 3.4 depicts typical outward<br />

search patterns which start from a group's local maximum pixel <str<strong>on</strong>g>and</str<strong>on</strong>g> proceed in four<br />

directi<strong>on</strong>s testing for the c<strong>on</strong>tact boundary. For a given group G, let Glocalmaxrow <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Glocalmax col be the row <str<strong>on</strong>g>and</str<strong>on</strong>g> column indices of group G's local maximum. Searching<br />

for c<strong>on</strong>tact boundaries starts at these indices ( lled circles in Figure 3.4) <str<strong>on</strong>g>and</str<strong>on</strong>g> ini-<br />

tially proceeds al<strong>on</strong>g the Glocalmaxrow row toward the right <str<strong>on</strong>g>and</str<strong>on</strong>g> left until <strong>on</strong>e of the<br />

applicable horiz<strong>on</strong>tal or diag<strong>on</strong>al boundary tests comes up positive. Each electrode<br />

encountered before reaching the boundary is added to the local maximum's group.<br />

While searching to the right, the additi<strong>on</strong>al indices jprev = j ; 1 <str<strong>on</strong>g>and</str<strong>on</strong>g> jnext = j +1<br />

are maintained for use referring to neighboring electrodes in horiz<strong>on</strong>tal minimum<br />

tests. When searching toward the left, jprev = j +1<str<strong>on</strong>g>and</str<strong>on</strong>g> jnext = j ; 1. The indices<br />

of the columns just inside the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right columns where boundary tests turn<br />

positive are stored in Gfirstcol[i] <str<strong>on</strong>g>and</str<strong>on</strong>g> Glastcol[i], where in this case i = Glocalmaxrow.<br />

The electrode within the row with maximum smoothed reading,<br />

Gmaxcol[i] = argmax Sij<br />

Gf irstcol[i]


A)<br />

B)<br />

Figure 3.4: Typical search patterns starting at the group's local maximum ( lled<br />

circle) <str<strong>on</strong>g>and</str<strong>on</strong>g> proceeding al<strong>on</strong>g successive rows towards the c<strong>on</strong>tact edge,<br />

represented here as the curved, closed boundary. Each arrowhead<br />

represents a pixel which is added to the group as the search encounters<br />

it. Notice that the search does not proceed outside the boundary.<br />

Because the search can <strong>on</strong>ly advance into the next row from the pixel<br />

with maximum proximity in the current row, it will advance past<br />

c<strong>on</strong>cavities into multiple horiz<strong>on</strong>tal o shoots a) but can <strong>on</strong>ly nd <strong>on</strong>e<br />

of the vertical o shoots b).<br />

73


least three rows will be available in each group for vertical centroid interpolati<strong>on</strong>.<br />

Before advancing rows the index of the previously searched row must be recorded as<br />

iprev to aid in vertical <str<strong>on</strong>g>and</str<strong>on</strong>g> diag<strong>on</strong>al partial minimum tests. For these rows directly<br />

above or below the row of the local maximum, iprev = Glocalmaxrow. The index of<br />

future rows to be searched inext may also be needed, <str<strong>on</strong>g>and</str<strong>on</strong>g> will in this case be either<br />

Glocalmaxrow +2or Glocalmaxrow ; 2. The horiz<strong>on</strong>tal search within subsequent rows<br />

always starts at the previous row's maximum column, i.e., j = Gmaxcol[iprev], <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

proceeds horiz<strong>on</strong>tally outward in both directi<strong>on</strong>s as it does for the row of the local<br />

maximum. Thus subsequent rows tend to be entered al<strong>on</strong>g the vertical or diag<strong>on</strong>al<br />

ridge of the c<strong>on</strong>tact. Advancement of the search to additi<strong>on</strong>al rows occurs recursively<br />

as l<strong>on</strong>g as vertical boundary tests are negative. These tests are <strong>on</strong>ly applied in<br />

the column Gmaxcol[i] to electrodes directly above or below. The rows immediately<br />

previous to those in which vertical boundary tests rst come up positive are recorded<br />

as Gtoprow <str<strong>on</strong>g>and</str<strong>on</strong>g> Gbotrow.<br />

Note that partial minima electrodes at the bottom of proximity valleys are<br />

never included in any group because it is not known in what proporti<strong>on</strong> the two<br />

adjacent c<strong>on</strong>tacts c<strong>on</strong>tributed their signals. Assuming an equal, 50-50 split in c<strong>on</strong>tri-<br />

buti<strong>on</strong>s from each c<strong>on</strong>tact was found to cause more instabilities in c<strong>on</strong>tact centroids<br />

as the partial minima shift from <strong>on</strong>e electrode to another than leaving partial minima<br />

electrodes out of both adjacent groups altogether.<br />

Let e be an electrode of the electrode set E with row index ei <str<strong>on</strong>g>and</str<strong>on</strong>g> column<br />

index ej. When boundaries have been encountered in all directi<strong>on</strong>s, the resulting<br />

semi-c<strong>on</strong>vex group of electrodes can be described as:<br />

GE = fe 2E: Gbotrow


with excluded electrodes in between (Figure 3.4b). On the other h<str<strong>on</strong>g>and</str<strong>on</strong>g>, multiple, un-<br />

c<strong>on</strong>nected column segments are allowed within a group (Figure 3.4a) since Gfirstcol[]<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Glastcol[] are arrays whose elements can di er across rows, whereas Gbotrow <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Gtoprow are scalar. The semi-c<strong>on</strong>vexity c<strong>on</strong>straint <strong>on</strong> the search pattern has minor<br />

c<strong>on</strong>sequences such as tolerating undulati<strong>on</strong>s in nger width. The semi-c<strong>on</strong>vexity<br />

c<strong>on</strong>straint also discourages multiple vertical o shoots (such as ngers) of wide elec-<br />

trode clusters (such as palms) from being combined into <strong>on</strong>e group. The key pointis<br />

that since electrode groups need not be rectangular, they can closely t the typical<br />

oval shape of esh c<strong>on</strong>tacts without leaving electrodes out or including those from<br />

adjacent c<strong>on</strong>tacts.<br />

3.2.6 Segmentati<strong>on</strong> Boundary Tests<br />

The c<strong>on</strong>tact edge tests c<strong>on</strong>sist of two rule classes: directi<strong>on</strong>al minimum tests<br />

which di er for sloppy versus strict segmentati<strong>on</strong> regi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> the proximity signi -<br />

cance test which is applied the same to both strict <str<strong>on</strong>g>and</str<strong>on</strong>g> sloppy segmentati<strong>on</strong> regi<strong>on</strong>s.<br />

Positive results <strong>on</strong> any applicable test cause a pixel to be marked as a group bound-<br />

ary <str<strong>on</strong>g>and</str<strong>on</strong>g> the search to resume in another directi<strong>on</strong>, as indicated by the ow chart<br />

in Figure 3.5. Naturally, the edge of the electrode array always establishes a group<br />

boundary.<br />

3.2.6.1 Proximity Signi cance Tests<br />

The signi cance threshold test is true for an electrode at row i, column j if the<br />

unsmoothed pixel proximity islessthan a signi cance threshold, Kpixel significance:<br />

Eij[n]


START<br />

RAW PIXEL<br />

PROXIMITY ><br />

BACKGROUND<br />

LEVEL ?<br />

Y<br />

IN STRICT<br />

SEGMENTATION<br />

REGION?<br />

N<br />

SEARCHING<br />

HORIZONTAL ?<br />

Y<br />

HORIZ.<br />

DIST. TO LOCAL MAX<br />

> 2cm ?<br />

Y<br />

TALL<br />

HORIZONTAL<br />

MINIMUM ?<br />

Y<br />

MARK EDGE<br />

BETWEEN PALM<br />

HEELS<br />

N<br />

Y<br />

N<br />

N<br />

N<br />

A<br />

GET NEXT ELECTRODE IN<br />

DIRECTION OF SEARCH<br />

MARK<br />

BACKGROUND<br />

LEVEL EDGE AS<br />

GROUP<br />

BOUNDARY<br />

B<br />

N<br />

B<br />

SEARCHING<br />

HORIZONTAL ?<br />

Y<br />

HORIZ.<br />

OR DIAGONAL<br />

MINIMUM ?<br />

RETURN &<br />

SWITCH<br />

DIRECTION OF<br />

SEARCH<br />

Y<br />

N<br />

A<br />

N VERTICAL<br />

MINIMUM ?<br />

Y<br />

MARK EDGE<br />

BETWEEN<br />

FINGERTIP AND<br />

THUMB OR PALM<br />

MARK EDGE<br />

BETWEEN<br />

FINGERS<br />

Figure 3.5: Flow chart summarizing the c<strong>on</strong>tact edge tests which are applied at<br />

each pixel encountered by a group's segmentati<strong>on</strong> search pattern.<br />

76<br />

B<br />

B


threshold Kmaxima significance. Using the unsmoothed rather than smoothed proxim-<br />

ity in this test ensures that di usi<strong>on</strong> of proximity outside of the true c<strong>on</strong>tact area<br />

(see Figure 3.6b) does not cause pixels outside the c<strong>on</strong>tact edge to be included in<br />

the group.<br />

Using the unsmoothed proximity in the signi cance test also prevents merging<br />

of adjacent ngertips (Figure 2.9) which unexpectedly touch down in a sloppy seg-<br />

mentati<strong>on</strong> regi<strong>on</strong> yet still have at least <strong>on</strong>e electrode at background proximity level<br />

in the proximity valley between them. Though such valleys are not totally obscured<br />

by smoothing, di usi<strong>on</strong> from the c<strong>on</strong>tact centers causes the smoothed proximity of<br />

such electrodes to remain above any reas<strong>on</strong>ably low signi cance threshold. Since<br />

sloppy regi<strong>on</strong> tests ignore the horiz<strong>on</strong>tal partial minima of such valleys, <strong>on</strong>ly this<br />

thresholding of the unsmoothed proximity image can keep ngertips which w<str<strong>on</strong>g>and</str<strong>on</strong>g>er<br />

into sloppy segmentati<strong>on</strong> regi<strong>on</strong>s reliably separated. If the adjacent ngertips can<br />

be kept segmented into separate groups for a few images, proper identi cati<strong>on</strong> of<br />

them will eventually cause correcti<strong>on</strong>s in the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates to move the<br />

sloppy segmentati<strong>on</strong> regi<strong>on</strong>s away from the ngertips.<br />

3.2.6.2 Strict Segmentati<strong>on</strong> Regi<strong>on</strong> Partial Minima Tests<br />

Strict-segmentati<strong>on</strong>-regi<strong>on</strong> partial-minima tests apply to horiz<strong>on</strong>tal, vertical<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> diag<strong>on</strong>al neighbors depending <strong>on</strong> the current directi<strong>on</strong> of search. Since the<br />

search always proceeds away from a local maximum (Figure 3.4), a partial minimum<br />

or saddle point is generally indicated whenever proximity starts increasing in the<br />

directi<strong>on</strong> of search. The tests have evolved empirically to detect diag<strong>on</strong>al minima<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> segment diag<strong>on</strong>ally adjacent ngertips <strong>on</strong> the parallelogram electrode array.<br />

Therefore they may appear somewhat ad hoc� no doubt they could be simpli ed for<br />

a higher resoluti<strong>on</strong> array ofsquare electrodes.<br />

As a horiz<strong>on</strong>tal search begins in a row at the column of the previous row's<br />

maximum pixel Gmaxcol[iprev], the current row's maximum pixel is expected to occur<br />

77


in the same column or a column immediately adjacent to Gmaxcol[iprev]. For these<br />

columns j such that Gmaxcol[iprev] ; 1


or Si�j[n]


phalange ( ngertip) to the center of the proximal phalange. The vertical locati<strong>on</strong><br />

of the partial minimum must also be a couple centimeters above the horiz<strong>on</strong>tal<br />

dividing line of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s sloppy segmentati<strong>on</strong> regi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ly the rst vertical<br />

partial minimum encountered will be ignored. These c<strong>on</strong>diti<strong>on</strong>s all di erentiate the<br />

proximal phalanges from the forepalms. Finally, the vertical partial minima should<br />

be in the same column or a column adjacent to the ngertip local maximum. If<br />

all of these c<strong>on</strong>diti<strong>on</strong>s are met, search from a ngertip will c<strong>on</strong>tinue past a vertical<br />

partial minimum to engulf a proximal phalange.<br />

3.2.6.4 C<strong>on</strong>tact Height Limitati<strong>on</strong> Test<br />

Despite all of the above precauti<strong>on</strong>s to prevent merging of ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palms,<br />

when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is attened against the board very hard, images occasi<strong>on</strong>ally arise<br />

in which the <strong>on</strong>ly vertical minimum between a ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel is either in<br />

the sloppy segmentati<strong>on</strong> regi<strong>on</strong> or between the ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> proximal phalange. In<br />

either case it will be ignored, merging a ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel into <strong>on</strong>e group.<br />

The simplest way to prevent this is to observe that no h<str<strong>on</strong>g>and</str<strong>on</strong>g> part, nger, thumb or<br />

palm <strong>on</strong> the average adult h<str<strong>on</strong>g>and</str<strong>on</strong>g> is l<strong>on</strong>ger than about 8 cm. Therefore regardless of<br />

strict or sloppy segmentati<strong>on</strong> regi<strong>on</strong>, search should stop <str<strong>on</strong>g>and</str<strong>on</strong>g> a vertical boundary be<br />

established whenever the next row to be searched is farther than about 8 cm from<br />

the row of the local maximum, Glocalmaxrow, where search started. This completely<br />

lls the chinks in the armor of the vertical c<strong>on</strong>tact boundary tests, preventing search<br />

from a palm heel local maximum from ever reaching an outstretched ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

vice versa.<br />

3.2.6.5 Sloppy Segmentati<strong>on</strong> Regi<strong>on</strong> Palm Heel Crease Test<br />

The goal of sloppy regi<strong>on</strong> segmentati<strong>on</strong> is to get as many of the electrodes<br />

in uenced by the palms as possible into precisely two palm heels. This maximizes<br />

palm heel size <str<strong>on</strong>g>and</str<strong>on</strong>g> guarantees that the relatively xed separati<strong>on</strong> of about 5 cm<br />

80


etween palm heels can be measured. The relatively large palm heel sizes <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

relatively large separati<strong>on</strong>s between palm heel centers help the identi cati<strong>on</strong> sys-<br />

tem reliably distinguish ngers from palms. As l<strong>on</strong>g as the identi cati<strong>on</strong> system<br />

has clear indicati<strong>on</strong> of two palm heels it cannot err<strong>on</strong>eously assign <strong>on</strong>e of the palm<br />

heel identities to a thumb or pinky nger� i.e., thecombinatorial optimizati<strong>on</strong> c<strong>on</strong>-<br />

straints are str<strong>on</strong>ger if the palm is c<strong>on</strong>sistently segmented into two parts. The palm<br />

heel separati<strong>on</strong> is particularly critical in distinguishing a pair of adjacent ngertips<br />

starting a nger chord from a pair of palm heels when the ngertips are in the lower<br />

regi<strong>on</strong>s of the surface where palms are also expected. The identi cati<strong>on</strong> system has<br />

means for identifying separate forepalms if necessary, but when possible they should<br />

be merged with <strong>on</strong>e of the palm heels. Therefore, all partial minima in sloppy seg-<br />

mentati<strong>on</strong> regi<strong>on</strong>s are ignored to maximize palm heel size except the large proximity<br />

valley or crease between the palm heels.<br />

When the palm heels <strong>on</strong>ly touch the surface lightly,theproximity signi cance<br />

test will detect this crease <str<strong>on</strong>g>and</str<strong>on</strong>g> keep the two palm heel electrode groups separate. But<br />

as more pressure is applied, no electrode between them will remain at the background<br />

proximity level, <str<strong>on</strong>g>and</str<strong>on</strong>g> they will be separated <strong>on</strong>ly by a tall proximityvalley with partial<br />

minima electrodes above the signi cance threshold. Fairly stringent tests are needed<br />

to detect this crease <str<strong>on</strong>g>and</str<strong>on</strong>g> not any other partial minima. First, anatomical c<strong>on</strong>straints<br />

place the crease at least 2 cm from the center of either palm heel, so qualifying partial<br />

minima must be at a column j at least 2 cm from the column of the local maximum<br />

electrode where the search originated. Sec<strong>on</strong>d, the proximity of the partial minimum<br />

electrode should be less than about half that of the local maximum, which requires<br />

that the proximity valley be fairly deep. Finally, the proximity valley must be fairly<br />

wide, so the partial minimum must extend past electrodes in next nearest neighbor<br />

columns, Si�j;2[n] > Si�j;1[n] > Si�j[n] < Si�j+1[n] < Si�j+2[n]. These c<strong>on</strong>diti<strong>on</strong>s<br />

allow horiz<strong>on</strong>tal boundaries between palm heels to be established in all rows which<br />

81


the crease crosses. The <strong>on</strong>ly time the crease is not detected is when the entire center<br />

of the palm is pushed hard <strong>on</strong>to the surface, but when this is d<strong>on</strong>e the palm c<strong>on</strong>tacts<br />

are so large that the palm heel separati<strong>on</strong> measurement is unimportant.<br />

3.2.7 Combining Overlapping Groups<br />

In sloppy segmentati<strong>on</strong> regi<strong>on</strong>s it is possible for groups to overlap signi cantly<br />

because partial minima between local maxima do not act as boundaries. Typically<br />

when this happens the overlapping groups are part of a large eshy c<strong>on</strong>tact such<br />

as a palm which, even after smoothing, has multiple local maxima. However, it is<br />

also necessary to get rid of the separate group around the local maxima of proximal<br />

phalanges when these are subsumed by ngertip groups. In the interest of presenting<br />

<strong>on</strong>ly <strong>on</strong>e group per distinguishable eshy c<strong>on</strong>tact to the rest of the system, the group<br />

combinati<strong>on</strong> stage of Figure 3.2 combines overlapping groups into single supergroups<br />

before parameter extracti<strong>on</strong>.<br />

Two groups are de ned to be overlapping if the search originating local max-<br />

imum electrode of <strong>on</strong>e group is also an element of the other group. Two groups are<br />

c<strong>on</strong>nected if there is a sequence of overlapping groups between <str<strong>on</strong>g>and</str<strong>on</strong>g> including them�<br />

i.e., overlap is transitive. A set of c<strong>on</strong>nected groups fG1::GNg is combined into a<br />

supergroup GS by forming the semi-c<strong>on</strong>vex hull of the c<strong>on</strong>nected groups:<br />

GStoprow = max<br />

K GKtoprow (3.5)<br />

GSbotrow =min<br />

K GKbotrow (3.6)<br />

GSfirstcol[i] = min<br />

K GKfirstcol[i] 8i : GSbotrow


3.2.8 Extracting Group Parameters<br />

The last stage of the segmentati<strong>on</strong> process extracts shape, size, <str<strong>on</strong>g>and</str<strong>on</strong>g> posi-<br />

ti<strong>on</strong> parameters from each electrode group. Group centroid re ects h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact<br />

positi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> changes in c<strong>on</strong>tact positi<strong>on</strong> between successive images re ect nger<br />

velocity. The identi cati<strong>on</strong> system utilizes geometric features of c<strong>on</strong>tacts such as<br />

total group proximity, eccentricity, <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> to help distinguish nger, palm,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> thumb c<strong>on</strong>tacts.<br />

Though image smoothing does not a ect the center of mass of a c<strong>on</strong>tact's<br />

proximity signal as measured over the whole image, it can di use some of the c<strong>on</strong>-<br />

tact's signal outside of a group boundary into adjacent c<strong>on</strong>tacts or the image back-<br />

ground. Di usi<strong>on</strong> can also increase the apparent radius or tted ellipse axis lengths<br />

of a group. Therefore, to prevent biases during extracti<strong>on</strong>, the parameterizati<strong>on</strong><br />

process utilizes the undi used image proximities Eij[n] instead of the smoothed<br />

proximities Sij[n] for all computati<strong>on</strong>s.<br />

3.2.8.1 Centroid Computati<strong>on</strong><br />

Given that GE is the set of electrodes in group G, let ez = Eei�ej[n] be<br />

the unsmoothed proximity of an electrode or pixel e, <str<strong>on</strong>g>and</str<strong>on</strong>g> let ex <str<strong>on</strong>g>and</str<strong>on</strong>g> ey be the<br />

coordinates <strong>on</strong> the surface of the electrode center in centimeters. To give a basic<br />

indicator of group positi<strong>on</strong>, the proximity-weighted center, or centroid, is computed<br />

from positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> proximities of the group's electrodes:<br />

Gz = X<br />

e2GE<br />

Gx = X<br />

e2GE<br />

Gy = X<br />

e2GE<br />

ez<br />

ezex<br />

Gz<br />

ezey<br />

Gz<br />

(3.9)<br />

(3.10)<br />

(3.11)<br />

Note that since the total group proximity Gz integrates proximity over each pixel<br />

in the group, it depends up<strong>on</strong> both the size of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part, since large h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts<br />

83


tend to cause groups with more pixels, <str<strong>on</strong>g>and</str<strong>on</strong>g> up<strong>on</strong> the proximity to or pressure <strong>on</strong><br />

the surface of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part.<br />

Appendix B c<strong>on</strong>tains n<strong>on</strong>linear interpolati<strong>on</strong> methods used to ameliorate<br />

vertical interpolati<strong>on</strong> biases <str<strong>on</strong>g>and</str<strong>on</strong>g> oscillati<strong>on</strong>s caused by the parallelogram electrodes.<br />

3.2.8.2 Ellipse Fitting<br />

While the user typically will not vary c<strong>on</strong>tact shape or orientati<strong>on</strong> intenti<strong>on</strong>-<br />

ally, such parameters will assist nger <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> in Chapter 4. Since<br />

most groups are c<strong>on</strong>vex, their shape is well approximated by ellipse parameters. The<br />

ellipse tting procedure requires a unitary transformati<strong>on</strong> of the group covariance<br />

matrix Gcov of sec<strong>on</strong>d moments Gxx�Gxy�Gyy:<br />

Gcov =<br />

Gxx = X<br />

2<br />

6<br />

4 Gxx Gxy<br />

Gyx Gyy<br />

e2GE<br />

Gyx = Gxy = X<br />

e2GE<br />

Gyy = X<br />

e2GE<br />

ez(Gx ; ex) 2<br />

3<br />

7<br />

5 (3.12)<br />

(3.13)<br />

ez(Gx ; ex)(Gy ; ey) (3.14)<br />

ez(Gy ; ey) 2<br />

(3.15)<br />

The eigenvalues 0 <str<strong>on</strong>g>and</str<strong>on</strong>g> 1 of the covariance matrix Gcov determine the ellipse axis<br />

lengths <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> G :<br />

Gmajor =<br />

Gminor =<br />

G = arctan<br />

q<br />

q<br />

0<br />

1<br />

0 ; Gxx<br />

Gxy<br />

where G is uniquely wrapped into the range [0� 180 ).<br />

84<br />

!<br />

(3.16)<br />

(3.17)<br />

(3.18)


For c<strong>on</strong>venience while distinguishing ngertips from palms at higher system<br />

levels, the major <str<strong>on</strong>g>and</str<strong>on</strong>g> minor axis lengths are c<strong>on</strong>verted via their ratio into an eccen-<br />

tricity G :<br />

G = Gmajor<br />

Gminor<br />

(3.19)<br />

Note that since the major axis length is always greater than or equal to the minor<br />

axis length, the eccentricity willalways be greater than or equal to <strong>on</strong>e. Finally, the<br />

total group proximity is empirically renormalized so that the typical curled ngertip<br />

will have a total proximity around <strong>on</strong>e:<br />

Gz := Gz=ZaverageF ingertip<br />

(3.20)<br />

On low resoluti<strong>on</strong> parallelogram electrode arrays, the total group proximity Gz is a<br />

more reliable indicator of c<strong>on</strong>tact size as well as nger pressure than the tted ellipse<br />

parameters. Therefore, if proximity images have low resoluti<strong>on</strong>, the orientati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

eccentricity of small c<strong>on</strong>tacts are set to default values rather than their measured<br />

values, <str<strong>on</strong>g>and</str<strong>on</strong>g> total group proximity Gz is used as the primary measure of c<strong>on</strong>tact size<br />

instead of major <str<strong>on</strong>g>and</str<strong>on</strong>g> minor axis lengths.<br />

3.2.9 Performance of the Segmentati<strong>on</strong> Methods<br />

Daily typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong> <strong>on</strong> the MTS by the author has veri ed<br />

that segmentati<strong>on</strong>s are awless for the most comm<strong>on</strong>ly utilized h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s,<br />

at least as performed by a skilled operator. Anyquantitativeevaluati<strong>on</strong> of segmenta-<br />

ti<strong>on</strong> performance would depend highly <strong>on</strong> the relative frequency of easily segmented<br />

versus di cult to segment h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s which arise in the applicati<strong>on</strong> being<br />

studied. Rather than attempt an applicati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> operator-dependent quantitative<br />

evaluati<strong>on</strong>, this secti<strong>on</strong> presents a sampling of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s which illustrate<br />

the importance of the more complex segmentati<strong>on</strong> rules <str<strong>on</strong>g>and</str<strong>on</strong>g> the rare cases in which<br />

segmentati<strong>on</strong> fails.<br />

85


A attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> with ngers squeezed together includes most of the c<strong>on</strong>tact<br />

juxtapositi<strong>on</strong>s which require proper alignment of the sloppy segmentati<strong>on</strong> regi<strong>on</strong>s<br />

for correct segmentati<strong>on</strong>. Figure 3.6 includes both the unsmoothed <str<strong>on</strong>g>and</str<strong>on</strong>g> di used<br />

a) b)<br />

Figure 3.6: Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a attened h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

with the ngers squeezed against <strong>on</strong>e another rather than spread out.<br />

Note that smoothed proximities of pixels near the center of each c<strong>on</strong>tact<br />

are more even but proximity has also bled outward around c<strong>on</strong>tact<br />

edges, as is especially noticeable for the thumb c<strong>on</strong>tact.<br />

images of a attened, squeezed h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Note that the ngers are very close together,<br />

the proximal phalanges are touching the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> the outer palm heel causes two<br />

local maxima (darkest electrodes at lower left <str<strong>on</strong>g>and</str<strong>on</strong>g> upper right of c<strong>on</strong>tact) which are<br />

not merged by smoothing. Only the center of the palm <str<strong>on</strong>g>and</str<strong>on</strong>g> the forepalms remain<br />

suspended above the surface.<br />

86


Note that usually each palm heel will <strong>on</strong>ly cause <strong>on</strong>e local maximum, espe-<br />

cially in the smoothed image. Multiple maxima which are distinct enough to remain<br />

separate during di usi<strong>on</strong> <strong>on</strong>ly appear sporadically due to odd distributi<strong>on</strong>s of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pressure. Several images which <strong>on</strong>ly had <strong>on</strong>e local maximum per palm heel were<br />

discarded before a h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture was found which produced the dual maxima of Fig-<br />

ure 3.6. Nevertheless, multiple maxima appear often enough that it is worthwhile to<br />

combine overlapping groups whenever possible. This avoids c<strong>on</strong>fusing the identi -<br />

cati<strong>on</strong> system with more than two palm heel groups per h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> avoids additi<strong>on</strong>al<br />

smoothing which could jeopardize segmentati<strong>on</strong> of adjacent ngertips.<br />

To dem<strong>on</strong>strate the types of segmentati<strong>on</strong> failures which can occur when the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate is incorrect, the image of Figure 3.6 was segmented <strong>on</strong>ce with<br />

the strict segmentati<strong>on</strong> regi<strong>on</strong> covering the whole image <str<strong>on</strong>g>and</str<strong>on</strong>g> again with the sloppy<br />

segmentati<strong>on</strong> regi<strong>on</strong> covering the whole image. The former case will show what can<br />

happen when the palms unexpectedly touch down in the strict segmentati<strong>on</strong> regi<strong>on</strong>,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the latter case will show what happens when ngertips unexpectedly touch<br />

down in the sloppy segmentati<strong>on</strong> regi<strong>on</strong>, c<strong>on</strong>tradicting the last known h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

retained by the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator. Figure 3.7 displays segmentati<strong>on</strong> maps in<br />

which electrodes numbered the same are members of the same segmentati<strong>on</strong> group�<br />

the ordering of the numbers is arbitrary. Note that these segmentati<strong>on</strong> maps <str<strong>on</strong>g>and</str<strong>on</strong>g> all<br />

that follow include <strong>on</strong>ly the nal combined supergroups, not individual overlapping<br />

groups before they are combined.<br />

Figure 3.7a shows the segmentati<strong>on</strong> map obtained when the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> is<br />

processed with strict segmentati<strong>on</strong> rules, i.e., when the sloppy segmentati<strong>on</strong> regi<strong>on</strong><br />

is moved o the palms down to the lower right corner of the image. Since strict<br />

segmentati<strong>on</strong> rules establish boundaries al<strong>on</strong>g the proximityvalley between the dual<br />

outer palm heel local maxima, preventing each local maximum's group from over-<br />

lapping the other, the outer palm heel c<strong>on</strong>tact remains err<strong>on</strong>eously broken into two<br />

87


6666<br />

22 000 111<br />

22220001111<br />

2222 000 111 44<br />

222 3 5 444<br />

222 33 555 4444<br />

22 33 555 444<br />

66 2 555 4<br />

STRICT<br />

000<br />

6666 7777<br />

66 777777<br />

88888888 7777777<br />

88888888888 999 7777<br />

88888888888 999 7777<br />

88888888888 9999997777<br />

888888888 99997777<br />

SLOPPY<br />

STRICT SEGMENTATION REGION<br />

000<br />

0000000000<br />

00000000000<br />

2222 333 000 44<br />

222 33 000 444<br />

222 33 000 4444<br />

22 33 000 444<br />

66 2 000 4<br />

6666<br />

SLOPPY SEGMENTATION REGION<br />

6666 7777<br />

66 777777<br />

88888888 7777777<br />

88888888888 77777777<br />

88888888888 77777777777<br />

88888888888 7777777777<br />

888888888 77777777<br />

a) b)<br />

Figure 3.7: Segmentati<strong>on</strong> results for the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> using either a) strict segmentati<strong>on</strong><br />

rules for both ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels or b) using sloppy<br />

segmentati<strong>on</strong> rules for the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g>. In a) the outer palm heel c<strong>on</strong>tact<br />

err<strong>on</strong>eously maintains two separate groups corresp<strong>on</strong>ding to the<br />

dual local maxima, <str<strong>on</strong>g>and</str<strong>on</strong>g> some of the electrodes at the edge of the palm<br />

heel c<strong>on</strong>tacts are excluded from all groups. Tolerance of attened nger<br />

vertical minima is also disabled, causing splits in the segmentati<strong>on</strong><br />

between proximal <str<strong>on</strong>g>and</str<strong>on</strong>g> distal porti<strong>on</strong>s of the middle <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngers.<br />

In b) the lack of horiz<strong>on</strong>tal partial minimum detecti<strong>on</strong> causes the index,<br />

middle, <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngertips to err<strong>on</strong>eously merge into <strong>on</strong>e group.<br />

Electrodes in uenced by thethumb or pinky are grouped correctly in<br />

both a) <str<strong>on</strong>g>and</str<strong>on</strong>g> b).<br />

88


groups. Comparing the size of the palm c<strong>on</strong>tacts of the original image (Figure 3.6a)<br />

to the segmentati<strong>on</strong> map suggests that the strict segmentati<strong>on</strong> rules have caused a<br />

few palm c<strong>on</strong>tact electrodes to be entirely left out of all the palm groups. Though<br />

not many electrodes have been excluded for this example image, sometimes this can<br />

cause the extracted group size <str<strong>on</strong>g>and</str<strong>on</strong>g> total proximity parameters to be err<strong>on</strong>eously<br />

low, making it harder for the identi cati<strong>on</strong> system to distinguish ngertips from<br />

palms when the palms unexpectedly escape the sloppy segmentati<strong>on</strong> regi<strong>on</strong>. The<br />

improper alignment of the sloppy segmentati<strong>on</strong> regi<strong>on</strong> also disables tolerance of at-<br />

tened nger vertical minima. This in turn causes proximal phalanges with distinct<br />

local maxima (those from the middle <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngers in this case) to fail to merge<br />

with their respective ngertip groups.<br />

Figure 3.7b shows the opposite extreme in which the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> lies within<br />

the sloppy segmentati<strong>on</strong> regi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> is segmented with sloppy segmentati<strong>on</strong> rules. In<br />

this case the palm is properly segmented into two large heel groups which c<strong>on</strong>tain<br />

all palm c<strong>on</strong>tact electrodes. This occurs because sloppy segmentati<strong>on</strong> rules allow<br />

the groups from each of the outer palm heel dual local maxima to overlap <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

thus be combined via their semi-c<strong>on</strong>vex hull. However, since sloppy segmentati<strong>on</strong><br />

rules do not include horiz<strong>on</strong>tal partial minima tests, the horiz<strong>on</strong>tally adjacent index,<br />

middle, <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngertips merge. Such incorrect ngertip merging can occur any<br />

time the ngertips touch down squeezed-together in a sloppy segmentati<strong>on</strong> regi<strong>on</strong>.<br />

The proximal phalanges of the index <str<strong>on</strong>g>and</str<strong>on</strong>g> middle ngers remain separate from the<br />

merged ngertip group not because of the vertical minima between ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

proximal phalanges but because the semi-c<strong>on</strong>vex search pattern can <strong>on</strong>ly follow <strong>on</strong>e<br />

vertical o shoot from each row, <str<strong>on</strong>g>and</str<strong>on</strong>g> in this case the search always traversed the<br />

proximal phalange of the ring nger.<br />

Figure 3.8 shows the segmentati<strong>on</strong> map when the sloppy segmentati<strong>on</strong> regi<strong>on</strong><br />

is properly aligned <strong>on</strong> the palm c<strong>on</strong>tacts. This segmentati<strong>on</strong> regi<strong>on</strong> alignment or<br />

89


7 7 7 7<br />

1 1 1<br />

3 3 1 1 1 2 2 2<br />

3 3 3 3 1 1 1 2 2 2 2<br />

3 3 3 3 1 1 1 2 2 2 5 5<br />

3 3 3 1 2 5 5 5<br />

3 3 3 1 1 2 2 2 5 5 5 5<br />

3 3 1 1 2 2 2 5 5 5<br />

7 7 3 2 2 2 5<br />

STRICT SEGMENTATION REGION<br />

7 7 7 7 8 8 8 8<br />

7 7 8 8 8 8 8 8<br />

SLOPPY SEGMENTATION REGION<br />

9 9 9 9 9 9 9 9 8 8 8 8 8 8 8<br />

9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8<br />

9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8<br />

9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8<br />

9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8<br />

Figure 3.8: The correct segmentati<strong>on</strong> for the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> obtained by applying<br />

sloppy segmentati<strong>on</strong> rules in the box around the palm heels <str<strong>on</strong>g>and</str<strong>on</strong>g> strict<br />

segmentati<strong>on</strong> rules for the ngers. All electrodes proximal to the palm<br />

heels are included in their groups, yet the palm groups are split by the<br />

crease halfway between the palm heels. The whole of each nger, i.e.,<br />

both the distal tip <str<strong>on</strong>g>and</str<strong>on</strong>g> proximal phalange, combines into <strong>on</strong>e group<br />

separate from the adjacent ngers.<br />

90


any alignment within a couple centimeters of it achieves the correct segmentati<strong>on</strong><br />

for both ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels. By the time the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> has attened <strong>on</strong>to the<br />

surface, nger identi cati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> thus the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate will surely have<br />

stabilized to their correct values, invariably producing this correct segmentati<strong>on</strong><br />

under actual operating c<strong>on</strong>diti<strong>on</strong>s.<br />

In c<strong>on</strong>trast to the squeezed, attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> which requires proper alignment<br />

of the sloppy regi<strong>on</strong> for correct segmentati<strong>on</strong>, the default or neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture<br />

of Figure 2.8 is segmented correctly regardless of where strict or sloppy rules are<br />

applied. The segmentati<strong>on</strong> map for the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> in the sloppy regi<strong>on</strong> is shown in<br />

Figure 3.9, but the same map is obtained with the sloppy regi<strong>on</strong> over palms <strong>on</strong>ly or<br />

with strict segmentati<strong>on</strong> everywhere, with the excepti<strong>on</strong> that with strict segmenta-<br />

ti<strong>on</strong> of the palm heels a few of the electrodes <strong>on</strong> the periphery of the palm c<strong>on</strong>tacts<br />

can be excluded from the palm heel groups. The image can be segmented correctly<br />

regardless of segmentati<strong>on</strong> regi<strong>on</strong> alignment because each distinguishable c<strong>on</strong>tact<br />

has <strong>on</strong>ly <strong>on</strong>e local maximum <str<strong>on</strong>g>and</str<strong>on</strong>g> the c<strong>on</strong>tacts are all separated from <strong>on</strong>e another<br />

by electrodes at background proximity levels. Thus the proximity signi cance test<br />

comm<strong>on</strong> to both strict <str<strong>on</strong>g>and</str<strong>on</strong>g> sloppy segmentati<strong>on</strong> regi<strong>on</strong>s is su cient to establish<br />

group boundaries. Note also that this easily segmented h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture <str<strong>on</strong>g>and</str<strong>on</strong>g> variati<strong>on</strong>s<br />

up<strong>on</strong> it comprise the most comm<strong>on</strong>ly performed h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s.<br />

A rotated variati<strong>on</strong> (Figure 3.10) of this neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> dem<strong>on</strong>-<br />

strates the need for diag<strong>on</strong>al partial minima detecti<strong>on</strong>. Sloppy segmentati<strong>on</strong> (Fig-<br />

ure 3.11a) of the diag<strong>on</strong>ally adjacent ngertips causes them to be merged into two<br />

groups. Strict segmentati<strong>on</strong> of them (Figure 3.11b) detects the diag<strong>on</strong>al partial<br />

minima between them <str<strong>on</strong>g>and</str<strong>on</strong>g> keeps them in four separate groups. As will be shown in<br />

Figure 3.12, any further rotati<strong>on</strong> causes ngertips to merge despite strict segmenta-<br />

ti<strong>on</strong>.<br />

In Figure 3.12 the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is rotated a full 90 from the neutral or default pos-<br />

91


5555<br />

5555<br />

5555<br />

66666666<br />

1 22 3<br />

111 222 333 44<br />

111 22 333 444<br />

STRICT<br />

66666666666 7777<br />

444<br />

66666666 777777777<br />

SLOPPY<br />

STRICT SEGMENTATION REGION<br />

5555<br />

55555<br />

5555<br />

1 22 3<br />

111 222 333 44<br />

111 22 333 444<br />

SLOPPY SEGMENTATION REGION<br />

a) b)<br />

444<br />

6666666666 777777<br />

66666666666 77777777<br />

66666666666 777777777<br />

Figure 3.9: This correct segmentati<strong>on</strong> of the neutral h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture (Figure 2.8) is<br />

obtained regardless of where strict a) or sloppy b) segmentati<strong>on</strong> rules<br />

are applied since c<strong>on</strong>tacts are relatively small <str<strong>on</strong>g>and</str<strong>on</strong>g> well-separated.<br />

92


a) b)<br />

Figure 3.10: Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a partially closed<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated clockwise 45 .<br />

93


STRICT SEGMENTATION REGION<br />

66<br />

333 111111<br />

3333 111111<br />

333 11111<br />

6666666<br />

6666666<br />

6666666<br />

666666 777777777<br />

777777777777<br />

77777777777<br />

1<br />

1111<br />

111<br />

SLOPPY SEGMENTATION REGION<br />

66<br />

333 112244<br />

333 224455<br />

STRICT SEGMENTATION REGION<br />

333 44555<br />

6666666<br />

6666666<br />

6666666<br />

666666 777777777<br />

777777777777<br />

77777777777<br />

a) b)<br />

1<br />

1122<br />

555<br />

SLOPPY SEGMENTATION REGION<br />

Figure 3.11: Sloppy segmentati<strong>on</strong> a) of ngertips in a slanted row causes some<br />

of them to be merged. However, the diag<strong>on</strong>al minima tests of strict<br />

segmentati<strong>on</strong> b) keep ngertip groups properly separated even when<br />

the row of ngertips is slanted as much as 45 .<br />

94


a) b)<br />

Figure 3.12: Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a partially closed<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated clockwise 90 , fully sideways.<br />

95


ture. As the segmentati<strong>on</strong> map with properly aligned sloppy regi<strong>on</strong>s in Figure 3.13<br />

indicates, vertical smearing by the parallelogram electrodes hides the proximity val-<br />

leys between the ngertips, causing unavoidable merging even with strict segmenta-<br />

ti<strong>on</strong> rules. Note that performing this sideways h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> from the normal<br />

111<br />

3 22<br />

STRICT SEGMENTATION REGION<br />

333333 22<br />

3333333 222<br />

3333333 222<br />

33333 222<br />

6666666666 2<br />

6666666666666<br />

66666666666666<br />

6666666666666<br />

111 22<br />

111 22<br />

SLOPPY SEGMENTATION REGION<br />

Figure 3.13: All segmentati<strong>on</strong> rules fail to segment the column of ngertips because<br />

the vertical smearing by vertically interleaved parallelogram<br />

electrodes obscures the local proximity maxima normally caused by<br />

each ngertip.<br />

sitting posture requires awkward c<strong>on</strong>torti<strong>on</strong>s of the body, so the c<strong>on</strong> gurati<strong>on</strong> would<br />

<strong>on</strong>ly be encountered regularly if the MTS was mounted <strong>on</strong> a pedestal so it could be<br />

approached from all sides.<br />

The parallelogram electrode smearing also causes segmentati<strong>on</strong> errors when<br />

the thumb passes just behind a ngertip. Figure 3.14a shows the thumb as close as<br />

96


it can get to the index ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> still be segmented correctly with strict rules<br />

(Figure 3.14b). Figure 3.15a is an image of a closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> with the thumb tip fully<br />

pushed up against the back of the ngertip. In this case the thumb tip <str<strong>on</strong>g>and</str<strong>on</strong>g> nger-<br />

tip are so close that parallelogram electrode smearing obscures the vertical partial<br />

minima between them, causing them to be merged into <strong>on</strong>e group (Figure 3.15b).<br />

Since the pen grip h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> (Secti<strong>on</strong> 2.3.4) c<strong>on</strong>tains this same juxtapo-<br />

siti<strong>on</strong> of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> index ngertip, it cannot be segmented properly with the<br />

current parallelogram electrode row spacing either. Note that if proximal phalange<br />

merging for attened nger segmentati<strong>on</strong> (Secti<strong>on</strong> 3.2.6.3) was err<strong>on</strong>eously enabled<br />

during segmentati<strong>on</strong> of Figure 3.14a, the vertical partial minimum would have been<br />

ignored, causing thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertip to be merged as in Figure 3.15b.<br />

Figure 3.17 is the correct segmentati<strong>on</strong> map for the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> with<br />

outstretched ngers of Figure 3.16. This map illustrates that a forepalm c<strong>on</strong>tact<br />

gets its own group if it has a separate local maximum <str<strong>on</strong>g>and</str<strong>on</strong>g> cannot be combined with<br />

the palm heels through mutual overlap. This is not c<strong>on</strong>sidered an error because the<br />

identi cati<strong>on</strong> system can reliable identify forepalms when the rest of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is<br />

attened <strong>on</strong>to the surface. Note also that even though the proximity images show<br />

that the index nger is c<strong>on</strong>nected to the inner palm heel <str<strong>on</strong>g>and</str<strong>on</strong>g> the pinky nger is<br />

c<strong>on</strong>nected to the outer palm heel, the segmentati<strong>on</strong> groups for ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palms<br />

remain separate.<br />

Figure 3.18 exposes the shortcomings of attened nger segmentati<strong>on</strong> when<br />

the ngers are not oriented near vertical. If the ngers lie at a slant of more than<br />

about 25 o vertical, each nger begins breaking into multiple groups due to de-<br />

tecti<strong>on</strong> of diag<strong>on</strong>al partial minima instead of vertical partial minima. Figure 3.19b<br />

shows the resulting segmentati<strong>on</strong> map with ngertip groups separated from proxi-<br />

mal phalange groups even when the sloppy segmentati<strong>on</strong> regi<strong>on</strong> is aligned properly.<br />

This failure is a c<strong>on</strong>sequence of the assumpti<strong>on</strong> that proximity ridges will always be<br />

97


555<br />

555<br />

1 2<br />

11 22 333 44<br />

55 22 33 44<br />

55 3 4<br />

STRICT SEGMENTATION REGION<br />

SLOPPY SEGMENTATION REGION<br />

6666 777777<br />

66666 77777777<br />

6666666 777777777<br />

66666 777777777<br />

a) b)<br />

Figure 3.14: Unsmoothed proximity image <str<strong>on</strong>g>and</str<strong>on</strong>g> properly aligned segmentati<strong>on</strong><br />

map of a thumb passing about a centimeter behind the index ngertip.<br />

98


444<br />

444<br />

11<br />

444 1111 222 33<br />

44 1111 222 33<br />

444 2 333<br />

SLOPPY SEGMENTATION REGION<br />

55555 666<br />

555555 666666<br />

555555 66666666<br />

a) b)<br />

STRICT SEGMENTATION REGION<br />

66666666<br />

Figure 3.15: Unsmoothed proximity image <str<strong>on</strong>g>and</str<strong>on</strong>g> properly aligned segmentati<strong>on</strong><br />

map of a thumb touching the back of the index ngertip.<br />

99


a) b)<br />

Figure 3.16: Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attened <strong>on</strong>to the surface so hard that the forepalms are touching.<br />

100


STRICT SEGMENTATION REGION<br />

22<br />

111 2222 33<br />

1111 2222 333<br />

111 22 333 44<br />

111 22 333 444<br />

111 222 333 444<br />

1111 22 333 44<br />

111111 2222 33<br />

aaaaa 11111 22222 ccc<br />

SLOPPY SEGMENTATION REGION<br />

aaaaa 11111 222 cccccc<br />

aaa 111111 cccccccc<br />

111111111 cccccccc<br />

111111111111 cccccccc<br />

111111111111 ccccccccc<br />

11111111111 cccccccc<br />

aaaaa 88888 99999 ccc<br />

aaaa 88888 999 cccccc<br />

SLOPPY SEGMENTATION REGION<br />

aaa 888888 cccccccc<br />

a) b)<br />

22<br />

111 2222 33<br />

1111 2222 333<br />

111 22 333 44<br />

111 22 33 444<br />

STRICT SEGMENTATION REGION<br />

1 222 333 444<br />

111 22 333 44<br />

11 888 2 99 33<br />

888888888 cccccccc<br />

888888888888 cccccccc<br />

888888888888 ccccccccc<br />

88888888888 cccccccc<br />

Figure 3.17: All sloppy segmentati<strong>on</strong> a) of the attened right h<str<strong>on</strong>g>and</str<strong>on</strong>g> of Figure 3.16,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the correct segmentati<strong>on</strong> using properly aligned sloppy regi<strong>on</strong>s<br />

b).<br />

101


a) b)<br />

Figure 3.18: Unsmoothed a) <str<strong>on</strong>g>and</str<strong>on</strong>g> di used b) proximity images of a attened right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated counter-clockwise about 30 .<br />

102


STRICT SEGMENTATION REGION<br />

111 222<br />

22222222222222222 4<br />

222222222222222222 444<br />

222222222222222222 444<br />

2222222222222222222 4444<br />

22222222222222222 444<br />

2222222222222222 44<br />

2222222222222222222222<br />

SLOPPY SEGMENTATION REGION<br />

222222222222222222222<br />

22222222222222222222<br />

1 1 1 1 11 22222222222222222222<br />

1 1 1 1 1 11 22222222222222222222<br />

1 1 11 222222222222222222222<br />

222222222222222222222<br />

2222222222222222222<br />

111 222<br />

33 1111 222 4<br />

3333 1111 222 444<br />

3333 111 222 444<br />

333 1555 2 66 4444<br />

777 555 666 444<br />

7777 5 86 44<br />

STRICT SEGMENTATION REGION<br />

7888888888888888888888<br />

888888888888888888888<br />

88888888888888888888<br />

1 1 1 1 11 88888888888888888888<br />

SLOPPY SEGMENTATION REGION<br />

1 1 1 11 88888888888888888888<br />

1 1 11 888888888888888888888<br />

a) b)<br />

888888888888888888888<br />

8888888888888888888<br />

Figure 3.19: Segmentati<strong>on</strong> maps for the rotated, attened h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Sloppy segmentati<strong>on</strong><br />

everywhere a) causes all groups to overlap. A single supergroup<br />

forms from the semi-c<strong>on</strong>vex hull around these groups <str<strong>on</strong>g>and</str<strong>on</strong>g> encloses<br />

the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g>. With sloppy segmentati<strong>on</strong> <strong>on</strong>ly over the palms b),<br />

the diag<strong>on</strong>al partial minima detecti<strong>on</strong> of strict segmentati<strong>on</strong> keeps<br />

the ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> proximal phalange groups err<strong>on</strong>eously split.<br />

103


c<strong>on</strong>nected through nearest diag<strong>on</strong>al neighbors. Su ciently oblique ridges such as<br />

these which cause maxima in every other column are broken up by diag<strong>on</strong>al minima<br />

tests. Occasi<strong>on</strong>ally this type of failure splits a diag<strong>on</strong>ally-oriented thumb pressed<br />

hard <strong>on</strong>to the surface into two groups. This failure would be less likely with a smaller<br />

row spacing which increases the angle between nearest diag<strong>on</strong>al neighbors to 45 .<br />

Combinati<strong>on</strong> via semi-c<strong>on</strong>vex hull of the entire attened palm into a single group<br />

(Figure 3.19b) can be h<str<strong>on</strong>g>and</str<strong>on</strong>g>led by the identi cati<strong>on</strong> system <str<strong>on</strong>g>and</str<strong>on</strong>g> is not c<strong>on</strong>sidered an<br />

error as l<strong>on</strong>g as the merging remains stable across successive proximity images.<br />

Another measure of segmentati<strong>on</strong> performance is the c<strong>on</strong>sistency of group<br />

membership across successive proximity images of a stati<strong>on</strong>ary h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Segmentati<strong>on</strong><br />

c<strong>on</strong>sistency has a major impact <strong>on</strong> the path tracking to be discussed in secti<strong>on</strong> 3.3. If<br />

segmentati<strong>on</strong>s of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact are not c<strong>on</strong>sistent across images, the measured h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong>tact centroid can err<strong>on</strong>eously shift between images <str<strong>on</strong>g>and</str<strong>on</strong>g> cause jitter in the c<strong>on</strong>tact<br />

velocity computed by the path tracking module. If large c<strong>on</strong>tacts suddenly merge or<br />

break apart in a new image the centroids may move so much that the path tracker<br />

c<strong>on</strong>cludes a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part has lifted o or newly touched down. As l<strong>on</strong>g as these unstable<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are identi ed as forepalms or palm heels such spurious touchdowns will<br />

have no deleterious e ects, but if the unstable h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are identi ed as ngers<br />

whose centroids are near keys of the key layout, the system can falsely interpret<br />

them as keypresses.<br />

The segmentati<strong>on</strong> of most un attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> postures is perfectly c<strong>on</strong>sistent,<br />

but when palms are fully attened, forepalm-in uenced electrodes can unstably shift<br />

between nger, palm heel, <str<strong>on</strong>g>and</str<strong>on</strong>g> independent forepalm groups, or the palm heels can<br />

unstably merge together for <strong>on</strong>e image <str<strong>on</strong>g>and</str<strong>on</strong>g> break up in the next due to subtle<br />

changes in palm c<strong>on</strong>tact topology. Though such instabilities have been observed<br />

to perturb nger centroids enough to cause spurious key activati<strong>on</strong>s during h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attening tests, full h<str<strong>on</strong>g>and</str<strong>on</strong>g> attening does not occur during normal MTS operati<strong>on</strong><br />

104


or h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting. Therefore, like the other rare cases of segmentati<strong>on</strong> failure, this<br />

problem will not be investigated further untilitisknown whether lower noise, higher<br />

resoluti<strong>on</strong> sensor arrays will make itdisappear entirely.<br />

3.3 Persistent Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g><br />

3.3.1 Introducti<strong>on</strong> to the Path <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> Problem<br />

Electrode groups are transitory in the sense that the segmentati<strong>on</strong> algorithm<br />

rec<strong>on</strong>structs them from scratch for each proximity image. It is then the resp<strong>on</strong>sibility<br />

of the path tracking process to chain together those groups from successive proximity<br />

images which corresp<strong>on</strong>d to the same physical h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact. To determine where<br />

each h<str<strong>on</strong>g>and</str<strong>on</strong>g> part has moved since the last proximity image, the tracking algorithm<br />

must decide which current groups should be matched with which existing c<strong>on</strong>tact<br />

paths. As a general rule, a group <str<strong>on</strong>g>and</str<strong>on</strong>g> path arising from the same c<strong>on</strong>tact will<br />

be closer to <strong>on</strong>e another than to other groups <str<strong>on</strong>g>and</str<strong>on</strong>g> paths. Also, biomechanical<br />

c<strong>on</strong>straints <strong>on</strong> lateral nger velocity <str<strong>on</strong>g>and</str<strong>on</strong>g> accelerati<strong>on</strong> limit how far a nger can<br />

travel between images. Therefore a group <str<strong>on</strong>g>and</str<strong>on</strong>g> path should not be matched unless<br />

they are within a distance known as the tracking radius of <strong>on</strong>e another. <str<strong>on</strong>g>Tracking</str<strong>on</strong>g><br />

performance can be improved by incorporating velocities measured al<strong>on</strong>g existing<br />

paths in previous images into the predicti<strong>on</strong> of current surface c<strong>on</strong>tact locati<strong>on</strong>.<br />

The path tracking process must also determine when a physical h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact<br />

newly touches down or lifts o the surface. Since the typical lateral separati<strong>on</strong><br />

between ngers is greater than the tracking radius for reas<strong>on</strong>able image scan rates,<br />

nger touchdown <str<strong>on</strong>g>and</str<strong>on</strong>g> lifto are easily detected by the fact that touchdown usually<br />

causes a new group to appear outside the tracking radii of existing paths, <str<strong>on</strong>g>and</str<strong>on</strong>g> lifto<br />

will leave an active path without a group within its tracking radius. To prevent<br />

improper breaking of paths at high nger speeds, each path's tracking radius Prtrack<br />

is made dependent <strong>on</strong> its existing speed <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact size.<br />

105


Rubine [130] addressed the path tracking problem for up to three ngers<br />

detected by a \Sensor Frame" [107, 108]. He did not nd it necessary to predict<br />

current c<strong>on</strong>tact locati<strong>on</strong>s from past path velocity or accelerati<strong>on</strong>. He simply used<br />

the last known path positi<strong>on</strong> as the predicted positi<strong>on</strong>. Since Rubine <strong>on</strong>ly dealt with<br />

3 ngers, i.e., six possible <strong>on</strong>e-to-<strong>on</strong>e assignments of groups to paths, he simply<br />

evaluated all possible pairings <str<strong>on</strong>g>and</str<strong>on</strong>g> picked the <strong>on</strong>e which minimized the sum of<br />

the distances between each path <str<strong>on</strong>g>and</str<strong>on</strong>g> its assigned group. However, counting all<br />

ngers, thumbs, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel <str<strong>on</strong>g>and</str<strong>on</strong>g> forepalm c<strong>on</strong>tacts from both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, up to 20<br />

groups can be present at any <strong>on</strong>e time <strong>on</strong> the MTS. Clearly the MTS cannot do a<br />

brute force enumerati<strong>on</strong> of all 20! possible assignments, but the same assignment<br />

optimizati<strong>on</strong> algorithms invoked for nger identi cati<strong>on</strong> in Secti<strong>on</strong> 4.4 could be<br />

utilized to e ciently minimize the assignment sum.<br />

Any group-path pairing method must perform a global optimizati<strong>on</strong> in the<br />

sense that it must h<str<strong>on</strong>g>and</str<strong>on</strong>g>le both the case that several groups are clustered around a<br />

single path, wherein <strong>on</strong>ly the closest group in the cluster should be assigned to the<br />

path, <str<strong>on</strong>g>and</str<strong>on</strong>g> the case that several paths are clustered around a single group, wherein<br />

<strong>on</strong>ly the closest path in the cluster should be assigned to the group. Thus the<br />

decisi<strong>on</strong> to pair a group <str<strong>on</strong>g>and</str<strong>on</strong>g> path cannot be made based solely up<strong>on</strong> the distance<br />

between them without c<strong>on</strong>sidering the pairing distances of other groups or paths<br />

nearby. The pairing method presented here utilizes a rule related to the shared<br />

near neighbors clustering technique introduced by Jarvis <str<strong>on</strong>g>and</str<strong>on</strong>g> Patrick [72] instead<br />

of explicitly minimizing the sum of pairing distances. This rule <strong>on</strong>ly accepts as-<br />

signments between groups <str<strong>on</strong>g>and</str<strong>on</strong>g> paths that are closest to <strong>on</strong>e another. The nearest<br />

neighbor clustering rule <str<strong>on</strong>g>and</str<strong>on</strong>g> assignment sum minimizati<strong>on</strong> may produce slightly<br />

di erent pairings for very tight clusters of groups <str<strong>on</strong>g>and</str<strong>on</strong>g> paths, but given reas<strong>on</strong>able<br />

frame rates, adult nger spacings, <str<strong>on</strong>g>and</str<strong>on</strong>g> velocity-based path predicti<strong>on</strong>, groups re-<br />

main so much closer to their actual paths than other paths that the behavior of the<br />

106


pairing method for marginal cases does not matter.<br />

C<strong>on</strong>sult Figure 3.20 for a summary of the steps in the path tracking process<br />

described below.<br />

3.3.2 Predicti<strong>on</strong> of C<strong>on</strong>tact Locati<strong>on</strong><br />

Whether the predicti<strong>on</strong> of path c<strong>on</strong>tact locati<strong>on</strong>s needs to include past path<br />

velocity depends <strong>on</strong> the minimum possible nger separati<strong>on</strong>, maximum expected<br />

nger speed <str<strong>on</strong>g>and</str<strong>on</strong>g> accelerati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the array scan or frame rate. If segmented prop-<br />

erly, group centroids are usually separated by at least 1.5 cm. The MTS frame rate<br />

is currently 50 fps, but can easily be raised to 100 fps. Because h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger<br />

moti<strong>on</strong>s tend to be smooth, accelerati<strong>on</strong> is quite low except at the beginning <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

end of slides. At typical mouse manipulati<strong>on</strong> speeds a nger will travel less than 1<br />

mm between frames. However, c<strong>on</strong>siderati<strong>on</strong> of Fitts' Law [25] suggests h<str<strong>on</strong>g>and</str<strong>on</strong>g> point-<br />

ing speeds can reach 180 cm/s. The fastest h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides observed across the MTS<br />

have <strong>on</strong>ly reached 100 cm/s, but these still cause each nger to travel up to 2 cm<br />

between frames, a value comparable to the nominal ngertip separati<strong>on</strong>. If a row of<br />

ngers quickly slides horiz<strong>on</strong>tally, <strong>on</strong>e ngertip can thus appear right over the last<br />

known locati<strong>on</strong> of an adjacent ngertip unless this last known locati<strong>on</strong> is updated<br />

with past nger velocities.<br />

Including previously measured velocity in the locati<strong>on</strong> predicti<strong>on</strong> improves<br />

the predicti<strong>on</strong> except when a nger suddenly starts or stops or changes directi<strong>on</strong>.<br />

Since such high accelerati<strong>on</strong> events occur less often than zero accelerati<strong>on</strong> events, the<br />

bene ts of velocity-based predicti<strong>on</strong> outweigh the potentially bad predicti<strong>on</strong>s during<br />

nger accelerati<strong>on</strong>. Let Px[n ; 1]�Py[n ; 1] be the positi<strong>on</strong> of path P from time step<br />

n ; 1 <str<strong>on</strong>g>and</str<strong>on</strong>g> Pvx[n ; 1]�Pvy[n ; 1] the last known velocity. The velocity-predicted path<br />

c<strong>on</strong>tinuati<strong>on</strong> is then:<br />

Ppredx[n] = Px[n ; 1] + 4tPvx[n ; 1] (3.21)<br />

107


START<br />

PREDICT CURRENT POSITIONS<br />

OF EXISTING PATHS<br />

FOR EACH GROUP<br />

FIND CLOSEST PATH<br />

FOR EACH PATH, FIND<br />

CLOSEST GROUP WITHIN<br />

TRACKING RADIUS<br />

FORM GROUP-PATH PAIRS IF<br />

GROUP & ACTIVE PATH ARE<br />

CLOSEST TO ONE ANOTHER<br />

ATTEMPT TO PAIR REMAINING<br />

GROUPS WITH RECENTLY<br />

DEACTIVATED PATHS<br />

ALLOCATE NEW PATHS FOR ANY<br />

REMAINING UNPAIRED GROUPS<br />

DEACTIVATE ANY<br />

REMAINING<br />

UNPAIRED PATHS<br />

UPDATE PATH<br />

PARAMETERS<br />

END<br />

Figure 3.20: Flow chart summarizing the c<strong>on</strong>tact path tracking algorithm.<br />

108


Ppredy[n] = Py[n ; 1] + 4tPvy[n ; 1] (3.22)<br />

Possibly the reas<strong>on</strong> Rubine found velocity-based predicti<strong>on</strong>s unnecessary was<br />

that the Sensor Frame had a higher frame rate or that he was <strong>on</strong>ly tracking nger<br />

moti<strong>on</strong> with the h<str<strong>on</strong>g>and</str<strong>on</strong>g> in a relatively xed positi<strong>on</strong> over a small area. The MTS is<br />

large enough for lateral slides of the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> forearm. These easily reach<br />

speeds several times higher than individual nger moti<strong>on</strong>s from a stati<strong>on</strong>ary h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

3.3.3 Mutually Closest Pairing Rule<br />

Let the set of paths active in the previous image be PA, <str<strong>on</strong>g>and</str<strong>on</strong>g> let the set of<br />

electrode groups c<strong>on</strong>structed in the current image be G. For each active group Gk,<br />

nd the closest active path <str<strong>on</strong>g>and</str<strong>on</strong>g> record the distance to it:<br />

GkclosestP = argmin d<br />

Pl2PA<br />

2 (Gk� P l) 8 Gk 2G (3.23)<br />

Gk 2 closestP dist = min d<br />

Pl2PA<br />

2 (Gk� P l) 8 Gk 2G (3.24)<br />

where the squared Euclidean distance is an easily computed distance metric:<br />

d 2 (Gk� P l) =(Gkx ; Plpredx) 2 +(Gky ; Plpredy) 2<br />

(3.25)<br />

Then for each active path Pl, nd the closest active group <str<strong>on</strong>g>and</str<strong>on</strong>g> record the<br />

distance to it:<br />

PlclosestG = argmin d<br />

Gk2G<br />

2 (Gk� P l) 8 Pl 2PA (3.26)<br />

Pl 2 closestGdist = min d<br />

Gk2G<br />

2 (Gk� P l) 8 Pl 2PA (3.27)<br />

A group Gk <str<strong>on</strong>g>and</str<strong>on</strong>g> path Pl are <strong>on</strong>ly paired with <strong>on</strong>e another if they are closest<br />

to <strong>on</strong>e another, i.e., GkclosestP <str<strong>on</strong>g>and</str<strong>on</strong>g> PlclosestG refer to <strong>on</strong>e another, <str<strong>on</strong>g>and</str<strong>on</strong>g> the distance<br />

between them is less than the tracking radius. The nominal tracking radius is about<br />

1 cm. All of the following c<strong>on</strong>diti<strong>on</strong>s must hold:<br />

GkclosestP Pl (3.28)<br />

PlclosestG Gk (3.29)<br />

PlclosestGdist2 < Pl2 rtrack<br />

109<br />

(3.30)


Any active group which cannot be paired with an active path under these c<strong>on</strong>straints<br />

is allocated a new path, representing touchdown of a new nger <strong>on</strong>to the surface.<br />

Any active path which cannot be so paired with an active group is deactivated,<br />

representing h<str<strong>on</strong>g>and</str<strong>on</strong>g> part lifto from the surface.<br />

To aid nger tap debouncing <str<strong>on</strong>g>and</str<strong>on</strong>g> detecti<strong>on</strong> of repetitive nger taps, it is<br />

useful to preservec<strong>on</strong>tinuity of path assignmentbetween taps over the same locati<strong>on</strong>.<br />

When a new path needs to be allocated for an isolated group, i.e., the group cannot<br />

be assigned to any active path, priority is given to any recently deactivated paths<br />

within the tracking radius of the group. The closest path which has been deactivated<br />

within the last sec<strong>on</strong>d or so is reactivated, assigned to the group, <str<strong>on</strong>g>and</str<strong>on</strong>g> specially<br />

marked as reactivated. It's release time is stored in Ptpreviousrelease to aid in detecti<strong>on</strong><br />

of double-click timing. If no recently deactivated paths exist nearby, a totally new<br />

path is started.<br />

3.3.4 Path Parameters<br />

The nal step of path tracking is to incorporate the extracted parameters<br />

of each group into its assigned path via st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard ltering techniques. The MTS<br />

applies the simple autoregressive lter equati<strong>on</strong>s shown below to update the path<br />

positi<strong>on</strong> (Px[n]�Py[n]�Pz[n]), velocity(Pvx[n]�Pvy[n]), <str<strong>on</strong>g>and</str<strong>on</strong>g> shape P [n]�P [n] param-<br />

eters from corresp<strong>on</strong>ding group parameters. If a path P has just been started by<br />

group G at time step n, i.e., a h<str<strong>on</strong>g>and</str<strong>on</strong>g> part has just touched down, its parameters are<br />

initialized as follows:<br />

Ppresst = t (3.31)<br />

Ppressx = Gx (3.32)<br />

Ppressy = Gy (3.33)<br />

Px[n] = Gx (3.34)<br />

Py[n] = Gy (3.35)<br />

110


Pz[n] = Gz (3.36)<br />

P [n] = G (3.37)<br />

P [n] = G (3.38)<br />

Pvx[n] = 0 (3.39)<br />

Pvy[n] = 0 (3.40)<br />

Pvz[n] = Gz=4t (3.41)<br />

else if group G is a c<strong>on</strong>tinuati<strong>on</strong> of active path P [n ; 1] to time step n:<br />

Px[n] = G Gx +(1; G )(Ppredictx[n ; 1]) (3.42)<br />

= G Gx +(1; G )(Px[n ; 1] + 4tPvx[n ; 1]) (3.43)<br />

= G Gx +(1; G )(2Px[n ; 1] ; Px[n ; 2]) (3.44)<br />

Py[n] = G Gy +(1; G )(Ppredicty[n ; 1]) (3.45)<br />

= G Gy +(1; G )(Py[n ; 1] + 4tPvy[n ; 1]) (3.46)<br />

= G Gy +(1; G )(2Py[n ; 1] ; Py[n ; 2]) (3.47)<br />

Px[n] = G Gx +(1; G )(Ppredx[n ; 1]) (3.48)<br />

Py[n] = G Gy +(1; G )(Ppredy[n ; 1]) (3.49)<br />

Pz[n] = G Gz +(1; G )Pz[n ; 1] (3.50)<br />

P [n] = G G +(1; G )P [n ; 1] (3.51)<br />

P [n] = G G +(1; G )P [n ; 1] (3.52)<br />

Pvx[n] = (Px[n] ; Px[n ; 1])=4t (3.53)<br />

Pvy[n] = (Py[n] ; Py[n ; 1])=4t (3.54)<br />

Pvz[n] = (Pz[n] ; Pz[n ; 1])=4t (3.55)<br />

It is also useful to compute the magnitude Pspeed[n] <str<strong>on</strong>g>and</str<strong>on</strong>g> angle Pdir[n] fromtheveloc-<br />

ity vector (Pvx[n]�Pvx[n]). The lters are rst or sec<strong>on</strong>d order autoregressive where<br />

the amount of lter memory increases with (1 ; G ). The sec<strong>on</strong>d-order positi<strong>on</strong><br />

111


lter has zero tracking delay during c<strong>on</strong>stant velocity moti<strong>on</strong>, but positi<strong>on</strong> lter<br />

output can lag behind actual nger positi<strong>on</strong> during accelerati<strong>on</strong>s or slightly over-<br />

shoot during decelerati<strong>on</strong>s. Since the reliability of positi<strong>on</strong> measurements increases<br />

c<strong>on</strong>siderably with total proximity Pz, the low-pass lter pole G is decreased for<br />

groups with total proximities lower than normal:<br />

G<br />

8<br />

><<br />

>:<br />

:8 if Pz > 1<br />

:4+:4Pz else if Pz


113<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

7<br />

9<br />

9<br />

6<br />

6<br />

6<br />

3<br />

3<br />

3<br />

3<br />

−15 −10 −5 0 5 10 15<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 3.21: Trajectories of four left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips touching down asynchr<strong>on</strong>ously <strong>on</strong> the lower left of the surface<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> sliding in an arc to lift o at the lower right. Arrow tips <str<strong>on</strong>g>and</str<strong>on</strong>g> tails represent ltered c<strong>on</strong>tact positi<strong>on</strong>s<br />

(Pix[n]�Piy[n]) in successive proximity images n. The four path indices i are printed at touchdown<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> lifto to prove c<strong>on</strong>tinuity ofthetracking algorithm. Index order is arbitrary. To indicate relative<br />

timing of the trajectories, dotted lines c<strong>on</strong>nect all current c<strong>on</strong>tacts at certain timesteps.<br />

7<br />

9<br />

9<br />

9<br />

9<br />

6<br />

6<br />

6<br />

3<br />

3


paths <strong>on</strong>ly due to extreme decelerati<strong>on</strong> or nger touch down. Figure 3.21 gives a<br />

representative example of tracking for four sliding ngers. The <strong>on</strong>ly case in which<br />

paths are known to get reshu ed or err<strong>on</strong>eously broken is when forepalm c<strong>on</strong>tact<br />

segmentati<strong>on</strong>s for fully attened h<str<strong>on</strong>g>and</str<strong>on</strong>g>s become unstable.<br />

3.4 Summary<br />

The centers of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts invariably cause local maxima in smoothed<br />

proximity images, so proximity image segmentati<strong>on</strong> algorithms can be very e cient<br />

by starting segmentati<strong>on</strong> group growth at signi cant local maxima. Since most<br />

c<strong>on</strong>tacts are c<strong>on</strong>vex, semi-c<strong>on</strong>vex group search patterns <str<strong>on</strong>g>and</str<strong>on</strong>g> data structures can<br />

e ciently encapsulate each c<strong>on</strong>tact's electrodes without including electrodes from<br />

neighboring c<strong>on</strong>tacts. Though in the most comm<strong>on</strong>ly used h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s<br />

c<strong>on</strong>tacts are well-separated <str<strong>on</strong>g>and</str<strong>on</strong>g> easy to segment, other important c<strong>on</strong> gurati<strong>on</strong>s<br />

c<strong>on</strong>tain c<strong>on</strong>tacts separated <strong>on</strong>ly by ambiguous partial minima. C<strong>on</strong>textual feedback<br />

of past h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> attened nger status is necessary to decide which of<br />

these partial minima should be treated as c<strong>on</strong>tact edges. Careful tuning of the edge<br />

detecti<strong>on</strong> rules <str<strong>on</strong>g>and</str<strong>on</strong>g> segmentati<strong>on</strong> regi<strong>on</strong>s so that electrode groups reliably corresp<strong>on</strong>d<br />

to functi<strong>on</strong>ally distinct h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts such as ngertips, thumbs, or palm heels allows<br />

the c<strong>on</strong>tact identi cati<strong>on</strong> system of the following chapter to be relatively simple yet<br />

robust. Vertical smearing by interleaved parallelogram electrodes causes most of the<br />

rare segmentati<strong>on</strong> failures, so these failures can be best addressed by improvements<br />

in vertical sensor density which phase out parallelogram electrodes, rather than by<br />

improvements in the segmentati<strong>on</strong> algorithms.<br />

Path tracking is not terribly di cult given typical nger spacings <str<strong>on</strong>g>and</str<strong>on</strong>g> frame<br />

rates above 50 fps, especially if velocity-based predicti<strong>on</strong> is utilized. Nevertheless,<br />

its awlessness also simpli es the jobs of the identi cati<strong>on</strong> system in the following<br />

chapter <str<strong>on</strong>g>and</str<strong>on</strong>g> the synchr<strong>on</strong>izati<strong>on</strong> system in Chapter 5. Once the nger <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

identi cati<strong>on</strong> system has correctly assigned an identity to a c<strong>on</strong>tact, c<strong>on</strong>tinuati<strong>on</strong><br />

114


of that c<strong>on</strong>tact's path by the path tracking system will be su cient to retain the<br />

identity until the c<strong>on</strong>tact lifts o , thus avoiding computati<strong>on</strong>ally expensive <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

potentially destabilizing reidenti cati<strong>on</strong> in every successive proximity image. Accu-<br />

rate c<strong>on</strong>tact tracking also ensures the validity of the path life cycle markers used<br />

to debounce key presses <str<strong>on</strong>g>and</str<strong>on</strong>g> detect synchr<strong>on</strong>ous touchdowns or lifto s of multiple<br />

ngers.<br />

115


Chapter 4<br />

FINGER IDENTIFICATION AND HAND POSITION<br />

ESTIMATION<br />

This chapter will tackle the main shortcoming of capacitive proximity sens-<br />

ing, establishing ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel identities for surface c<strong>on</strong>tacts when most<br />

of the intervening h<str<strong>on</strong>g>and</str<strong>on</strong>g> structure is missing from the proximity images. <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

identi cati<strong>on</strong> has not been necessary for interacti<strong>on</strong>s with commercial touchpads or<br />

touchscreens because most cannot track more than <strong>on</strong>e nger at a time, <str<strong>on</strong>g>and</str<strong>on</strong>g> those<br />

that can detect two or three ngers <strong>on</strong>ly utilize the c<strong>on</strong>tact count. If the MTS was<br />

<strong>on</strong>ly to be used for typing, trying to identify each surface c<strong>on</strong>tact might not be<br />

worthwhile because key taps should be distinguished by their spatial locati<strong>on</strong>, not<br />

which nger strikes the key. But recogniti<strong>on</strong> of the rich, bimanual chordic manipula-<br />

ti<strong>on</strong>s dem<strong>on</strong>strated in Chapter 5 dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s reliable clustering of surface c<strong>on</strong>tacts with<br />

their originating h<str<strong>on</strong>g>and</str<strong>on</strong>g> as well as reliable nger ordering <str<strong>on</strong>g>and</str<strong>on</strong>g> thumb identi cati<strong>on</strong><br />

within each h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Also, palm c<strong>on</strong>tacts must be properly identi ed so that operators<br />

can safely rest the entire h<str<strong>on</strong>g>and</str<strong>on</strong>g> anywhere <strong>on</strong> the surface without palm moti<strong>on</strong> being<br />

misinterpreted as typing or chordic manipulati<strong>on</strong>.<br />

This chapter begins with a discussi<strong>on</strong> of how the identi cati<strong>on</strong> problem for<br />

the MTS relates to previous research <strong>on</strong> recogniti<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures captured by<br />

optical sensing systems. Then the chapter presents the algorithms <str<strong>on</strong>g>and</str<strong>on</strong>g> biomechan-<br />

ical c<strong>on</strong>straints which the MTS utilizes for h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong>, nger iden-<br />

ti cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>. <str<strong>on</strong>g>Finger</str<strong>on</strong>g> identi cati<strong>on</strong> is posed as an assignment<br />

116


problem which must optimally match nger c<strong>on</strong>tacts to a ring of nger attractor<br />

points. The identi cati<strong>on</strong> of single, isolated c<strong>on</strong>tacts is solely determined from the<br />

weighted Vor<strong>on</strong>oi diagram formed by the attractor points. It is shown that with a<br />

c<strong>on</strong>tact-attractor distance-squared cost metric, the assignment algorithm e ectively<br />

sorts multiple h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts around the ring with respect to the attractor orderings<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> inter-attractor angles, regardless of whether the attractor ring is at all centered<br />

<strong>on</strong> the c<strong>on</strong>tact cluster. Results will illustrate how intricate feedback between track-<br />

ing system modules over successive scanning cycles causes quick c<strong>on</strong>vergence up<strong>on</strong><br />

correct identi cati<strong>on</strong>s for the comfortable range of h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s.<br />

Remember during the following discussi<strong>on</strong>s that the term \ ngertip" can refer<br />

to any nger except the thumb. Thus the thumb never counts as a \ ngertip," though<br />

the thumb is c<strong>on</strong>sidered <strong>on</strong>e of the ve ngers. Also, palm heels never count as<br />

ngertips or ngers.<br />

4.1 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Gesture Recogniti<strong>on</strong><br />

Techniques as diverse as rule-based inference [121], elastic graph match-<br />

ing [146], <str<strong>on</strong>g>and</str<strong>on</strong>g> Koh<strong>on</strong>en Feature Maps [16] have been utilized to recognize the free-<br />

space h<str<strong>on</strong>g>and</str<strong>on</strong>g> postures of various sign languages. Because the objective of these sys-<br />

tems has been to recognize an alphabet of communicative gestures, most of the<br />

systems have <strong>on</strong>ly been designed to recognize representative static h<str<strong>on</strong>g>and</str<strong>on</strong>g> postures,<br />

though Wexelblat [163] <str<strong>on</strong>g>and</str<strong>on</strong>g> Boehm et al. [16] have c<strong>on</strong>centrated <strong>on</strong> recogniti<strong>on</strong> of<br />

dynamic, c<strong>on</strong>tinuous gestures sensed by DataGloves [148].<br />

4.1.1 Communicative Gestures versus Manipulative Gestures<br />

In c<strong>on</strong>trast to these communicative gesture recognizers, the primary objec-<br />

tive of the MTS is to recognize a variety of simple c<strong>on</strong>trol gestures for manipulating<br />

graphical objects in two or three dimensi<strong>on</strong>s. The recogniti<strong>on</strong> task can then be<br />

separated into three parts: recognizing which graphical manipulati<strong>on</strong> channel the<br />

117


operator is selecting, tracking the manipulative h<str<strong>on</strong>g>and</str<strong>on</strong>g><str<strong>on</strong>g>and</str<strong>on</strong>g> nger moti<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>-<br />

tinuously extracting multiple degree-of-freedom (DOF) object c<strong>on</strong>trol signals from<br />

the tracked moti<strong>on</strong>s. Compared to a mouse, recognizing the channel selecti<strong>on</strong> cor-<br />

resp<strong>on</strong>ds to checking which butt<strong>on</strong>s are being held down, tracking h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s<br />

corresp<strong>on</strong>ds to measuring the rotati<strong>on</strong> of the mouse ball, <str<strong>on</strong>g>and</str<strong>on</strong>g> extracting indepen-<br />

dent moti<strong>on</strong> comp<strong>on</strong>ents has no analogue since measurements from orthog<strong>on</strong>al ball<br />

rotati<strong>on</strong> sensors are already independent. This chapter will tackle the channel selec-<br />

ti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> tracking problems in the c<strong>on</strong>text of proximity imaging devices by reliably<br />

attaching nger <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identities to the c<strong>on</strong>tact paths c<strong>on</strong>structed in the previous<br />

chapter. Multi-DOF extracti<strong>on</strong> will not be addressed until Chapter 5.<br />

The graphical manipulati<strong>on</strong> objective places very di erent requirements <strong>on</strong><br />

the recogniti<strong>on</strong> algorithm than the symbolic communicati<strong>on</strong> objective. A central<br />

tenet of this dissertati<strong>on</strong> is that operator e ciency in rich graphical envir<strong>on</strong>ments<br />

can increase tremendously by having several manipulati<strong>on</strong> channels which the oper-<br />

ator can switch between instantaneously with simple changes in h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>.<br />

However, not nearly as many channels or distinct h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s are necessary<br />

for improved graphical manipulati<strong>on</strong> as are necessary to support a symbolic ges-<br />

ture language c<strong>on</strong>taining dozens of distinct signs. Operators may <strong>on</strong>ly be willing<br />

to memorize the h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s which select a few di erent graphical manip-<br />

ulati<strong>on</strong> channels, <str<strong>on</strong>g>and</str<strong>on</strong>g> it may be hard to memorize mappings for or even imagine<br />

uses for more than a dozen channels. Fundamental manipulati<strong>on</strong>s such as mouse<br />

cursor pointing, mouse cursor dragging, text cursor pointing, text cursor selecti<strong>on</strong>,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> window scrolling <strong>on</strong>ly dem<str<strong>on</strong>g>and</str<strong>on</strong>g> ve channels. A few more h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s<br />

might be utilized to select particular paintbrush, stylus, or eraser tools in drawing<br />

programs, avoiding frequent excursi<strong>on</strong>s to the drawing tool palette to select di er-<br />

ent tools. Any remaining h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s not needed for graphical manipulati<strong>on</strong><br />

118


channels can still be reserved for symbol or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures. The MTS can rec-<br />

ognize up to eight distinct symbol or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures per channel by mapping<br />

opposing moti<strong>on</strong>s in the rotati<strong>on</strong>al, scaling, <str<strong>on</strong>g>and</str<strong>on</strong>g> two translati<strong>on</strong>al DOFs to di erent<br />

symbols or comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

4.1.2 Locating <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s within Remote Optical Images<br />

Another important di erence between recogniti<strong>on</strong> of manipulati<strong>on</strong> versus<br />

symbolic gestures is that symbol recognizers <strong>on</strong>ly need to discern the pattern of<br />

each h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> as a whole, while manipulati<strong>on</strong> recognizers must also be<br />

able to precisely extract h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> in several dimensi<strong>on</strong>s. To do this, manip-<br />

ulati<strong>on</strong> recognizers must locate <str<strong>on</strong>g>and</str<strong>on</strong>g> track speci c points <strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> such as the<br />

ngertips. In the c<strong>on</strong>text of passive optical sensing, several researchers have adapted<br />

their systems to recognize index nger pointing gestures <str<strong>on</strong>g>and</str<strong>on</strong>g> track the center of a<br />

ngertip. Crowley <str<strong>on</strong>g>and</str<strong>on</strong>g> Coutaz [30] track a nger <strong>on</strong> a digital desk by nding the<br />

peak in cross-correlati<strong>on</strong> between each video image <str<strong>on</strong>g>and</str<strong>on</strong>g> a reference ngertip tem-<br />

plate image.<br />

Ahmad [3] rst locates the palm by assuming the palm center is the center of<br />

mass of the video image. Then he ts a circle around the palm, nds the center of<br />

the wrist from overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> the palm-enclosing circle, <str<strong>on</strong>g>and</str<strong>on</strong>g> applies a<br />

Hough transform [9] to the angles with respect to wrist center of pixel groups outside<br />

the palm circle. The peaks of the Hough transform histogram then represent the<br />

nger angles, <str<strong>on</strong>g>and</str<strong>on</strong>g> the pixel groups farthest from the palm al<strong>on</strong>g these angles are<br />

assumed to represent the ngertip locati<strong>on</strong>s. Clearly this approach <strong>on</strong>ly works for<br />

an outstretched h<str<strong>on</strong>g>and</str<strong>on</strong>g> which approximately faces the camera.<br />

Nolker <str<strong>on</strong>g>and</str<strong>on</strong>g> Ritter [115] successfully train a local linear mapping network to<br />

locate all ve ngertips in a wide variety of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s, including when the<br />

ngers are curled in touching the palms so that the background of the ngertips<br />

119


c<strong>on</strong>sists of low c<strong>on</strong>trast palm esh. Nolker <str<strong>on</strong>g>and</str<strong>on</strong>g> Ritter also successfully extract the<br />

pointing directi<strong>on</strong> of an index nger.<br />

4.1.3 The Feasibility of Identi cati<strong>on</strong> from Proximity Images<br />

The problem of locating <str<strong>on</strong>g>and</str<strong>on</strong>g> identifying ngertips from proximity image infor-<br />

mati<strong>on</strong> is substantially di erent than ngertip locati<strong>on</strong> from remote optical images.<br />

As described in the previous chapter, accurately measuring c<strong>on</strong>tact centroids <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

tracking c<strong>on</strong>tacts across proximity images are relatively easy <strong>on</strong>ce the c<strong>on</strong>tacts are<br />

properly segmented. However, determining which c<strong>on</strong>tact comes from which n-<br />

gertip is greatly complicated by the invisibility oftheintermediate nger structure<br />

which c<strong>on</strong>nects ngertips to the center of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

4.1.3.1 Rubine's Encounter with <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong><br />

The <strong>on</strong>ly researcher known to have encountered the nger identi cati<strong>on</strong> prob-<br />

lem for proximity sensing systems is Rubine [130], who was trying to recognize<br />

complex multi-path gestures <strong>on</strong> the Sensor Frame. As an active optical system<br />

which sensed obstructi<strong>on</strong> of light beams, the Sensor Frame (see further descripti<strong>on</strong><br />

<strong>on</strong> Page 38) [107, 108, 129] su ered the same limitati<strong>on</strong>s in detecting intermediate<br />

nger structure as nger capacitance sensing systems. Rubine's objective was to<br />

recognize complex gestures involving two or three ngers by feeding each nger's<br />

path into his path classi er <str<strong>on</strong>g>and</str<strong>on</strong>g> identifying the gestures by the resulting combinati<strong>on</strong><br />

of path classi cati<strong>on</strong>s. He c<strong>on</strong>sidered general nger identi cati<strong>on</strong> infeasible:<br />

For multi-path input devices which are actually attached to the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

or body, such as the DataGlove, there is no problem determining which<br />

path corresp<strong>on</strong>ds to which nger. Thus, it would be possible to build<br />

<strong>on</strong>e classi er for thumb paths, another for fore nger paths, etc. The<br />

characteristics of the device are such that the questi<strong>on</strong> of path sorting<br />

does not arise.<br />

However, the Sensor Frame (<str<strong>on</strong>g>and</str<strong>on</strong>g> multi nger tablets) cannot tell which<br />

of the ngers is the thumb, which is the fore nger, <str<strong>on</strong>g>and</str<strong>on</strong>g> so <strong>on</strong>. Thus there<br />

is no a priori soluti<strong>on</strong> to the path sorting. The soluti<strong>on</strong> adopted here was<br />

120


to impose an ordering relati<strong>on</strong> between paths. The c<strong>on</strong>sistency property<br />

is required of this ordering relati<strong>on</strong>: the ordering of corresp<strong>on</strong>ding paths<br />

in similar gestures must be the same. Rubine [130], Page 81.<br />

Rubine resorted to simple sorting of paths according to the temporal <str<strong>on</strong>g>and</str<strong>on</strong>g> spatial<br />

coordinates of their starting points. He claimed this was su cient for most of the<br />

multi-path gestures he was trying to recognize, though it could be c<strong>on</strong>fused by<br />

similar gestures whose path starting points did not always have the same ordering.<br />

Rubine went <strong>on</strong> to develop a path clustering technique for complex multi-<br />

path gesture recogniti<strong>on</strong> which avoided path sorting [130]. This clustering technique<br />

computed global features from the sums <str<strong>on</strong>g>and</str<strong>on</strong>g> di erences of all combinati<strong>on</strong>s of path<br />

pairs. Instead of training a di erent path classi er for each sorted path, a single<br />

classi er was applied to all the global features. During training of the classi er,<br />

hierarchical cluster analysis grouped similar feature vectors, irrespective of path<br />

sorting.<br />

4.1.3.2 Summary of C<strong>on</strong>straints <strong>on</strong> C<strong>on</strong>tact Identity<br />

Up<strong>on</strong> closer examinati<strong>on</strong>, there actually turn out to be quite a few anatom-<br />

ical <str<strong>on</strong>g>and</str<strong>on</strong>g> biomechanical c<strong>on</strong>straints <strong>on</strong> the relative features <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong>tacts. Many have already been discussed in Secti<strong>on</strong> 2.3 <strong>on</strong> proximity image<br />

topology. The challenge will be that sometimes very few c<strong>on</strong>straints are available<br />

in the current proximity image or system tracking state. Since some c<strong>on</strong>straints are<br />

weak <str<strong>on</strong>g>and</str<strong>on</strong>g> ambiguous, they can <strong>on</strong>ly make up for the invisibility of h<str<strong>on</strong>g>and</str<strong>on</strong>g> structure<br />

when several are combined.<br />

For example, the sizes <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong>s of thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm c<strong>on</strong>tacts are<br />

usually but not always unique <str<strong>on</strong>g>and</str<strong>on</strong>g> distinguishable from the ngertips. Sometimes<br />

the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels are not touching the surface at all <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore do not<br />

appear in the proximity image. Though thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels are usually larger<br />

than ngertips normal to the surface, they do not become larger instantaneously.<br />

121


Unless they impact the surface impulsively, the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels can be just<br />

as small as normal ngertips for the rst few images after touchdown, until their<br />

esh compresses <str<strong>on</strong>g>and</str<strong>on</strong>g> attens out. Likewise, if the operator intenti<strong>on</strong>ally touches the<br />

thumb or palm heel <strong>on</strong> the surface <strong>on</strong>ly lightly, actively suspending their weight,<br />

the c<strong>on</strong>tacts will never reach a large size. Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm c<strong>on</strong>tact orientati<strong>on</strong>s, in<br />

turn, cannot be measured reliably until a c<strong>on</strong>tact is as big or bigger than a normal<br />

ngertip, <str<strong>on</strong>g>and</str<strong>on</strong>g> these orientati<strong>on</strong>s will not always di er from ngertip orientati<strong>on</strong>.<br />

The rest of the c<strong>on</strong>straints apply to inter-c<strong>on</strong>tact relati<strong>on</strong>ships <str<strong>on</strong>g>and</str<strong>on</strong>g> cannot<br />

simply be measured from geometric features of individual c<strong>on</strong>tacts. The interacti<strong>on</strong><br />

of nger joint kinematics <str<strong>on</strong>g>and</str<strong>on</strong>g> a surface greatly c<strong>on</strong>strains the locati<strong>on</strong>s of ngers<br />

relative to <strong>on</strong>e another. As is apparent in most of the sample images of Secti<strong>on</strong> 2.3,<br />

the ngertips tend to settle into a horiz<strong>on</strong>tal arc whose radius varies as ngers are<br />

exed <str<strong>on</strong>g>and</str<strong>on</strong>g> extended (Figures 2.7{2.10). Although it is possible to make some of<br />

the ngers ex while the others remain extended, c<strong>on</strong>current, uniform exi<strong>on</strong> as<br />

when gripping a foam ball is more natural. Most people can <strong>on</strong>ly cross their ngers<br />

when the ngers are fully extended, so nger crossover should not occur during<br />

typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong> because these activities are normally performed<br />

with the ngers partially exed. The <strong>on</strong>ly possibility of partial crossover occurs<br />

under extreme rotati<strong>on</strong> of the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> in the surface plane. Thus the ordering<br />

of ngertip identities within their arc should coincide with the ordering of their<br />

horiz<strong>on</strong>tal coordinates.<br />

However, the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels can be interspersed nearly anywhere in<br />

this horiz<strong>on</strong>tal ordering. When c<strong>on</strong>sidered all together, the thumb, ngertips, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

palm heels from <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> tend to be arranged in a circular cluster with a limited<br />

radius. As more h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts touch the surface, more inter-c<strong>on</strong>tact relati<strong>on</strong>ships<br />

become available to evaluate. By the time the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g>, i.e., ve ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> two<br />

palm heels, touches the surface, the inter-c<strong>on</strong>tact c<strong>on</strong>straints al<strong>on</strong>e are enough to<br />

122


eliably identify all of a h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s c<strong>on</strong>tacts.<br />

As discussed in Secti<strong>on</strong> 2.3.5, the positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> of each h<str<strong>on</strong>g>and</str<strong>on</strong>g> as a<br />

whole are also fairly well c<strong>on</strong>strained. Although h<str<strong>on</strong>g>and</str<strong>on</strong>g> crossover occurs during ad-<br />

vanced piano performance, it is hard to imagine how it would be of use in MTS<br />

gestures. Therefore h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are not expected to cross over <strong>on</strong>e another, though they<br />

may slide to the other side of the surface. A split key layout <str<strong>on</strong>g>and</str<strong>on</strong>g> a slight arch in<br />

the surface about the vertical axis encourage operators to keep the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s well sepa-<br />

rated. Assuming the operator's torso faces the MTS at a xed angle, the maximum<br />

expected range of h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> is about 90 .<br />

A nal important observati<strong>on</strong> is that when not actively engaged in graphical<br />

manipulati<strong>on</strong>, both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s tend to return to neutral postures with wrists straight<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

ngers slightly exed. Thus the variati<strong>on</strong> in posture or deviati<strong>on</strong> from neutral tends<br />

to be less at the start of a manipulati<strong>on</strong> than towards the end. A system which can<br />

extend throughout a gesture the correct identi cati<strong>on</strong>s of the initial, neutral posture<br />

may get by without needing to identify the extreme, c<strong>on</strong>fusing nger arrangements<br />

which occur at the end of the gesture.<br />

ti<strong>on</strong>:<br />

In summary, the following c<strong>on</strong>straints are sometimes available for identi ca-<br />

diag<strong>on</strong>al orientati<strong>on</strong> of thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm heel.<br />

moderate size of attened thumb c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g> large size of attened palm heels<br />

relative to ngertips.<br />

expected angles <str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong>s between multiple c<strong>on</strong>tacts depend <strong>on</strong> identity<br />

of involved h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts.<br />

each identi able h<str<strong>on</strong>g>and</str<strong>on</strong>g> part can <strong>on</strong>ly cause <strong>on</strong>e surface c<strong>on</strong>tact.<br />

crossover or overlap of ngers or h<str<strong>on</strong>g>and</str<strong>on</strong>g>s unlikely.<br />

123


ange of comfortable h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s fairly limited.<br />

gestures usually start from neutral postures rather than extreme postures.<br />

4.1.3.3 Underc<strong>on</strong>strained Cases<br />

As this chapter will show, the identi cati<strong>on</strong> problem is not insurmountable,<br />

at least not with the help of the c<strong>on</strong>straints noted above. However, there will still<br />

be instances in which the system will not be able to tell ngertips apart, usually<br />

because <strong>on</strong>ly some parts of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> are touching the surface, limiting the e cacy of<br />

inter-c<strong>on</strong>tact c<strong>on</strong>straints. For example, unless the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is assumed to be hovering<br />

over home row, i.e., the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>, there is no sure way to tell which<br />

ngertip caused an isolated tap <strong>on</strong> the surface when no other h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are touch-<br />

ing the surface. However, as l<strong>on</strong>g as isolated nger taps are <strong>on</strong>ly interpreted as<br />

keystrokes <strong>on</strong> a c<strong>on</strong>venti<strong>on</strong>ally distributed key layout, there is no real need to know<br />

the nger identity. The intended key symbol should be indicated by the positi<strong>on</strong><br />

of the nger tap relative to the key regi<strong>on</strong>s in the layout, not by nger identity.<br />

Indeed, it would be unnecessarily restrictive to activate keys <strong>on</strong>ly if the operator<br />

struck them with a particular nger. Only chord typing schemes make rigid asso-<br />

ciati<strong>on</strong>s between single nger identities <str<strong>on</strong>g>and</str<strong>on</strong>g> key symbols, but in such schemes the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> remains in a relatively static positi<strong>on</strong> over the home row keys. Given the rea-<br />

s<strong>on</strong>able assumpti<strong>on</strong> that overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s are fairly xed during chord typing,<br />

the nger identi cati<strong>on</strong> methods presented in this chapter are accurate enough to<br />

support chord typing <strong>on</strong> the MTS.<br />

Since the actual purpose of nger identi cati<strong>on</strong> <strong>on</strong> the MTS is to support<br />

chordic manipulati<strong>on</strong>, not chord typing, the c<strong>on</strong>trasting dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s each places <strong>on</strong> an<br />

identi cati<strong>on</strong> system should be further emphasized. Since chordic manipulati<strong>on</strong>s<br />

will involve slides over the entire surface, chordic manipulati<strong>on</strong>s cannot be assumed<br />

to start from any <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>, though they will often start from the neutral<br />

124


or default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>. While c<strong>on</strong>tact size, orientati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> relative velocity fea-<br />

tures will be su cient to distinguish the thumb from ngertips even in the face of<br />

such initial h<str<strong>on</strong>g>and</str<strong>on</strong>g> displacements, these features tend not to di er between ngertips.<br />

Therefore, unless all ngertips <strong>on</strong> a h<str<strong>on</strong>g>and</str<strong>on</strong>g> are touching the surface, the MTS will<br />

have no sure way to tell exactly which ngertips are touching if the ngertips de-<br />

viate more than a centimeter from the horiz<strong>on</strong>tal locati<strong>on</strong>s predicted by the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> estimate. Such deviati<strong>on</strong>s occur often enough that the MTS will not be<br />

able to reliably distinguish those chordic manipulati<strong>on</strong>s c<strong>on</strong>sisting of the same num-<br />

ber of ngertips but di erent combinati<strong>on</strong>s of them, such as the index <str<strong>on</strong>g>and</str<strong>on</strong>g> middle<br />

ngertips versus ring <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky ngertips.<br />

4.1.4 Pooling of <str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Combinati<strong>on</strong>s<br />

Careful design of the chord gesture set in Chapter 5 will pool potentially<br />

ambiguous nger combinati<strong>on</strong>s so that minor identi cati<strong>on</strong> failures do not a ect<br />

the MTS operator. As already discussed, far fewer chords are necessary to cover<br />

all c<strong>on</strong>ceivable graphical manipulati<strong>on</strong> channels than to cover an entire symbolic<br />

alphabet. While the identi cati<strong>on</strong> system will do its best to identify ngers correctly<br />

in all cases, the chordic manipulati<strong>on</strong> recognizer will <strong>on</strong>ly depend up<strong>on</strong> correct<br />

detecti<strong>on</strong> of thumb presence <str<strong>on</strong>g>and</str<strong>on</strong>g> proper ordering <str<strong>on</strong>g>and</str<strong>on</strong>g> counting of the other ngertips.<br />

This will support selecti<strong>on</strong> of seven di erent chordic manipulati<strong>on</strong> channels (see<br />

Table 5.1 <strong>on</strong> Page 246) <strong>on</strong> each h<str<strong>on</strong>g>and</str<strong>on</strong>g> by multiple- nger chords, as opposed to 26<br />

which would be available <strong>on</strong> each h<str<strong>on</strong>g>and</str<strong>on</strong>g> if all combinati<strong>on</strong>s of two or more ngers<br />

were distinguished.<br />

This pooling of performable ngertip combinati<strong>on</strong>s should not be c<strong>on</strong>sidered<br />

an unhappy compromise� c<strong>on</strong>siderati<strong>on</strong> of human factors also argues for it. Memo-<br />

rizati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>trol of particular combinati<strong>on</strong>s of ngertips rather than particular<br />

numbers of ngertips may be just as cognitively <str<strong>on</strong>g>and</str<strong>on</strong>g> biomechanically dem<str<strong>on</strong>g>and</str<strong>on</strong>g>ing for<br />

the operator as identi cati<strong>on</strong> is for the MTS. Given the freedom to choose <str<strong>on</strong>g>and</str<strong>on</strong>g> vary<br />

125


which ngertips are used in chords composed of <strong>on</strong>ly <strong>on</strong>e, two or three ngertips,<br />

operators naturally prefer to pick combinati<strong>on</strong>s in which all touching ngertips are<br />

adjacent rather than combinati<strong>on</strong>s in which a nger such as the ring nger is lifted<br />

but the surrounding ngers such as the middle <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky must touch. In a chord<br />

typing study, Fukumoto <str<strong>on</strong>g>and</str<strong>on</strong>g> T<strong>on</strong>omura [41] found that users can tap these nger<br />

chords in which all touching ngertips are adjacent twice as fast as other chords.<br />

Trained pianists could perform all chords about twice as fast as normal subjects,<br />

but awkward chords still took twice as l<strong>on</strong>g as chords composed of a c<strong>on</strong>tiguous<br />

group of ngertips.<br />

Allowing the MTS operator to interchange ngertip combinati<strong>on</strong>s when ac-<br />

cessing comm<strong>on</strong> manipulati<strong>on</strong> channels such aspointing also helps avoid overuse of<br />

the nger muscles which press or suspend a particular set of ngers. The uniquely<br />

opposable moti<strong>on</strong> of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> relatively large regi<strong>on</strong> of sensory-motor cor-<br />

tex devoted to the thumb also suggest that the thumb may be cognitively distinct<br />

from the ngertips. The gesture set will abide by this distincti<strong>on</strong>: chords including<br />

the thumb will be reserved for selecti<strong>on</strong> of comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels, <str<strong>on</strong>g>and</str<strong>on</strong>g> chords<br />

initially composed solely of ngertips will select graphical manipulati<strong>on</strong> channels,<br />

though the thumb can be added to these chords after the initial channel selecti<strong>on</strong><br />

to capture its unique opposable moti<strong>on</strong>s.<br />

4.2 Overview of the <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> Identi cati<strong>on</strong> System<br />

For the reader's c<strong>on</strong>venience, the tracking system ow diagram of Figure 3.1<br />

is repeated in Figure 4.1. The image segmentati<strong>on</strong> module described in Chapter 3<br />

segments the current proximity image into groups of electrodes corresp<strong>on</strong>ding to<br />

the distinguishable h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts. The path tracking module, also described in the<br />

previous chapter, links the groups from successive proximity images corresp<strong>on</strong>ding<br />

to the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> part into persistent c<strong>on</strong>tact paths. It also computes parameters<br />

126


PATHS FROM<br />

PREVIOUS IMAGES<br />

HAND<br />

IDENTIFICATION<br />

CURRENT<br />

PROXIMITY<br />

IMAGE<br />

IMAGE<br />

SEGMENTATION<br />

PARAMETERIZED<br />

ELECTRODE GROUPS<br />

CONTACT PATH<br />

TRACKING<br />

NEW PATHS &<br />

UPDATED PATH<br />

PARAMETERS<br />

IDENTIFIED<br />

CONTACT PATHS<br />

HAND POSITION<br />

ESTIMATION<br />

ESTIMATED HAND &<br />

FINGER OFFSETS<br />

z -1<br />

FINGER & PALM<br />

IDENTIFICATION<br />

Figure 4.1: System-level diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong><br />

modules.<br />

127


Table 4.1: <str<strong>on</strong>g>Finger</str<strong>on</strong>g> identity notati<strong>on</strong> for identi ed path data structures.<br />

Notati<strong>on</strong> Comm<strong>on</strong> <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Part Name<br />

F 0 The Null/Dummy <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>Part<br />

F 1 Thumb <str<strong>on</strong>g>Finger</str<strong>on</strong>g> (not a ngertip)<br />

F 2 Index <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

F 3 Middle <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

F 4 Ring <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

F 5 Pinky <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

F 6 Outer (lateral) Palm Heel<br />

F 7 Inner (medial) Palm Heel<br />

F 8 :::F11 Forepalm Calluses/Over ow C<strong>on</strong>tacts<br />

related to the c<strong>on</strong>tact trajectories such as the instantaneous lateral velocity al<strong>on</strong>g<br />

each path.<br />

The nger identi cati<strong>on</strong>, h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong><br />

modules are the focus of this chapter. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> module will determine<br />

which h<str<strong>on</strong>g>and</str<strong>on</strong>g> causes each c<strong>on</strong>tact, <str<strong>on</strong>g>and</str<strong>on</strong>g> the nger identi cati<strong>on</strong> module will establish<br />

a unique nger or palm heel identity for each c<strong>on</strong>tact within a h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The nger <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> modules are hierarchically related, <str<strong>on</strong>g>and</str<strong>on</strong>g> both will employ combi-<br />

natorial optimizati<strong>on</strong> methods to nd the most biomechanically <str<strong>on</strong>g>and</str<strong>on</strong>g> anatomically<br />

c<strong>on</strong>sistent set of c<strong>on</strong>tact identi cati<strong>on</strong>s. The output of the identi cati<strong>on</strong> modules<br />

will be n<strong>on</strong>-zero h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger indices attached to all c<strong>on</strong>tact paths. The identi ed<br />

c<strong>on</strong>tact paths will be referred to with the notati<strong>on</strong> of Table 4.1. To denote a par-<br />

ticular h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity this notati<strong>on</strong> can be pre xed with an L for left h<str<strong>on</strong>g>and</str<strong>on</strong>g> or Rfor<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g>� for example, RF2 denotes the right index nger path. When referring<br />

to a particular h<str<strong>on</strong>g>and</str<strong>on</strong>g> as a whole, LH denotes the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> RH denotes the right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

The h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator will use c<strong>on</strong>tact positi<strong>on</strong>s as well as the assigned<br />

c<strong>on</strong>tact identities to maintain a c<strong>on</strong>servative estimate of overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> even<br />

128


when a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not touching the surface. Feedback of the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s<br />

to the nger identi cati<strong>on</strong> process will help identify c<strong>on</strong>tacts when so few c<strong>on</strong>tacts<br />

appear in the image that the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s c<strong>on</strong>tact cluster has no apparent structure. To<br />

aid h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>, the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> will temporarily retain the last<br />

measured h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger positi<strong>on</strong>s after a h<str<strong>on</strong>g>and</str<strong>on</strong>g> completely lifts o the surface.<br />

Then, if the ngers quickly touch back down in the same regi<strong>on</strong>, they will more<br />

likely regain their previous identi cati<strong>on</strong>s. Because this estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

feedback is essential to the accurate functi<strong>on</strong>ing of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identi cati<strong>on</strong><br />

algorithms, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> algorithm will be described rst.<br />

Again, this overall system architecture grossly resembles that of most com-<br />

puter visi<strong>on</strong> systems, with the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identi cati<strong>on</strong> modules corresp<strong>on</strong>ding<br />

to the object recogniti<strong>on</strong> stage. In this case, the object recogniti<strong>on</strong> stage is more c<strong>on</strong>-<br />

strained than in most computer visi<strong>on</strong> applicati<strong>on</strong>s because upper limits are known<br />

<strong>on</strong> the number <str<strong>on</strong>g>and</str<strong>on</strong>g> type of objects which can appear in the image, i.e., thumb,<br />

ngertip, or palm c<strong>on</strong>tacts from a left or right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Rather than picking the best<br />

match from a library of object templates, the object recogniti<strong>on</strong> problem reduces to<br />

an assignment problem of nding the optimal <strong>on</strong>e-to-<strong>on</strong>e mapping between surface<br />

c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identities. When fewer c<strong>on</strong>tacts are present <strong>on</strong> the surface than<br />

possible identities, dummy c<strong>on</strong>tacts will be created to keep the mapping <strong>on</strong>e-to-<strong>on</strong>e.<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g>s whose identities end up mapped to a dummy c<strong>on</strong>tact are assumed to be<br />

lifted o the surface.<br />

Unlike the path tracker, which is expected to create <str<strong>on</strong>g>and</str<strong>on</strong>g> maintain perfect<br />

c<strong>on</strong>tinuity of each nger path from the rst image frame in which the nger ap-<br />

pears, the identi cati<strong>on</strong>s are not required to be correct in the rst frame. As a<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches down, its individual parts may gradually appear over several image<br />

frames, gradually increasing the c<strong>on</strong>straints available for identi cati<strong>on</strong>. Given that<br />

129


the segmentati<strong>on</strong>, identi cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> modules may beun-<br />

derc<strong>on</strong>strained without the feedback between them, they can <strong>on</strong>ly be expected to<br />

c<strong>on</strong>verge <strong>on</strong> a coherent soluti<strong>on</strong> over a few iterati<strong>on</strong>s of feedback between <strong>on</strong>e an-<br />

other. Reshu ing of identi cati<strong>on</strong>s early in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture is allowed so the system<br />

does not commit to an assignment before h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> clues have accumu-<br />

lated.<br />

However, reshu ing back <str<strong>on</strong>g>and</str<strong>on</strong>g> forth during ambiguous cases is still undesir-<br />

able, so the system must also have some assignment hysteresis. For images which<br />

c<strong>on</strong>tain no new informati<strong>on</strong> pertinent to identi cati<strong>on</strong>, the identities of existing<br />

c<strong>on</strong>tacts are simply extended via path c<strong>on</strong>tinuati<strong>on</strong>. The identi cati<strong>on</strong> algorithm<br />

need not even execute for such images, avoiding the risk that identities will get<br />

reshu ed. As so<strong>on</strong> as a proximity image appears with new c<strong>on</strong>straints such as an<br />

additi<strong>on</strong>al c<strong>on</strong>tact or clearer features, the identi cati<strong>on</strong> algorithm executes again.<br />

As will become apparent, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates provide a weaker, analog form<br />

of hysteresis while ngers are temporarily lifted o the surface.<br />

4.3 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Positi<strong>on</strong> Estimati<strong>on</strong><br />

As indicated in Figure 4.1, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator provides important<br />

biasing feedback to the identi cati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> segmentati<strong>on</strong> processes. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

estimates are intended to be a c<strong>on</strong>servative guess of lateral h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> under<br />

all c<strong>on</strong>diti<strong>on</strong>s, including when a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is oating above the surface with no esh<br />

visible in the proximity images. In case a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not touching the surface, its<br />

positi<strong>on</strong> estimate represents a best guess of where it will touch down again. When<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> partially touches the surface, the estimate combines current h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

measurements based up<strong>on</strong> the centroids <str<strong>on</strong>g>and</str<strong>on</strong>g> identities of its c<strong>on</strong>tacts with previous<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates based up<strong>on</strong> earlier identi cati<strong>on</strong>s which may have been<br />

more or less reliable than the current measurements.<br />

130


4.3.1 Measuring Current <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Positi<strong>on</strong><br />

Figure 4.2 shows the individual steps of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> process,<br />

which must be repeated for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> separately. First, an overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

must be measured from the c<strong>on</strong>tact positi<strong>on</strong>s in the current proximity image. The<br />

simplest method of obtaining a h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> measurement would be to average the<br />

positi<strong>on</strong>s of all the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s c<strong>on</strong>tacts regardless of identity. If all h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts were<br />

always touching the surface, as in the attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> of Figure 2.7, the resulting<br />

centroid would be a decent estimate, lying somewhere under the center of the palm<br />

since the ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels typically form a ring around the center of the palm.<br />

However, c<strong>on</strong>sider when <strong>on</strong>ly <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact is available for the average. The<br />

measurement would wr<strong>on</strong>gly assume the h<str<strong>on</strong>g>and</str<strong>on</strong>g> center is at the positi<strong>on</strong> of this l<strong>on</strong>e<br />

c<strong>on</strong>tact. A l<strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact is very unlikely to be from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> center because<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> center usually does not even touch the surface until the rest of the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

is attened <strong>on</strong>to the surface. If the l<strong>on</strong>e c<strong>on</strong>tact is actually from the right thumb,<br />

the true h<str<strong>on</strong>g>and</str<strong>on</strong>g> center would be 4-8 cm to the right, or if the c<strong>on</strong>tact is actually from<br />

a palm heel, the true h<str<strong>on</strong>g>and</str<strong>on</strong>g> center would be 4-6 cm higher, or if the l<strong>on</strong>e c<strong>on</strong>tact is<br />

from the middle nger, the true h<str<strong>on</strong>g>and</str<strong>on</strong>g> center would be 4-6 cm lower.<br />

Instead of assuming each c<strong>on</strong>tact comes from the center of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> when<br />

computing the average, the MTS's h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> measurement utilizes the within-<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>s to compute for each c<strong>on</strong>tact an o set between its measured<br />

positi<strong>on</strong>, (Fix[n]�Fiy[n]), <str<strong>on</strong>g>and</str<strong>on</strong>g> the default positi<strong>on</strong> (Fidefx�Fidefy) of the particular<br />

nger or palm heel with its identity i. These default positi<strong>on</strong>s corresp<strong>on</strong>d to nger<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> palm positi<strong>on</strong>s when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is in a neutral posture with ngers partially<br />

closed (see Figure 2.8), as when resting <strong>on</strong> home row of the key layout. With this<br />

identity-dependent o set computati<strong>on</strong>, the positi<strong>on</strong> of a single, properly identi ed<br />

surface c<strong>on</strong>tact will be su cient to sustain a fairly accurate h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate.<br />

The next step averages the individual c<strong>on</strong>tact o sets to obtain the measured<br />

131


START<br />

GET HAND'S<br />

IDENTIFIED PATHS<br />

COMPUTE OFFSETS BETWEEN<br />

EACH FINGER'S MEASURED AND<br />

DEFAULT POSITIONS<br />

COMPUTE AVERAGE OF<br />

OFFSETS WEIGHTED BY<br />

CONTACT PROXIMITY<br />

ADJUST FILTER POLE TO<br />

CURRENT IDENTIFICATION<br />

CONFIDENCE<br />

COMPUTE WEIGHTED<br />

AVERAGE OF HAND<br />

CONTACT VELOCITIES<br />

AUTOREGRESSIVELY UPDATE HAND<br />

OFFSET ESTIMATES FROM MEASURED<br />

OFFSETS AND VELOCITIES<br />

UPDATE FINGER<br />

OFFSET ESTIMATES<br />

IMPOSE MINIMUM SEPARATION<br />

BETWEEN HANDS<br />

CONVERT ESTIMATED OFFSETS<br />

TO ABSOLUTE POSITIONS<br />

END<br />

Figure 4.2: Flow chart of h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong> process.<br />

132


h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set (Hmox[n]�Hmoy[n]):<br />

Hmox[n] =<br />

Hmoy[n] =<br />

P i=7<br />

i=1 Fimow[n](Fix[n] ; Fidefx)<br />

P i=7<br />

i=1 Fimow[n]<br />

P i=7<br />

i=1 Fimow[n](Fiy[n] ; Fidefy)<br />

P i=7<br />

i=1 Fimow[n]<br />

(4.1)<br />

(4.2)<br />

Preferably the weighting Fimow[n] of each nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel is approximately<br />

its measured total proximity, i.e., Fimow[n] Fiz[n]. This ensures that lifted<br />

ngers, whose proximity is zero, have no in uence <strong>on</strong> the average, <str<strong>on</strong>g>and</str<strong>on</strong>g> that c<strong>on</strong>tacts<br />

with lower than normal proximity, whose measured positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> identities are less<br />

accurate, have low in uence. Furthermore, if palm heels are touching, their large<br />

total proximities will dominate the average. This is bene cial because the palm<br />

heels, being immobile relative to the h<str<strong>on</strong>g>and</str<strong>on</strong>g> center compared to the highly exible<br />

ngers, supply a more reliable indicati<strong>on</strong> of overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>.<br />

When a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not touching the surface, i.e., when all proximities are zero,<br />

the measured o sets are set to zero. This will cause the ltered h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

estimate below to decay toward the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>.<br />

4.3.2 Identi cati<strong>on</strong> C<strong>on</strong> dence <str<strong>on</strong>g>and</str<strong>on</strong>g> Filter Delay<br />

As l<strong>on</strong>g as the c<strong>on</strong>tact identi cati<strong>on</strong>s are correct, this identi cati<strong>on</strong>-dependent<br />

method for h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> measurement eliminates the large errors caused by assum-<br />

ing l<strong>on</strong>e c<strong>on</strong>tacts originate from the center of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Flexing of ngers from their<br />

default positi<strong>on</strong>s will not perturb the measurement more than a couple centime-<br />

ters. However, this method is susceptible to c<strong>on</strong>tact misidenti cati<strong>on</strong>. It assumes<br />

identi cati<strong>on</strong>s are always correct, which is not always the case, especially if the<br />

identi cati<strong>on</strong> system <strong>on</strong>ly has a couple of c<strong>on</strong>tacts to optimize over. For example,<br />

if <strong>on</strong>ly <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> part is touching the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> it is assigned the wr<strong>on</strong>g nger or<br />

palm identity, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> measurement can be o by as much as 8 cm. If<br />

the l<strong>on</strong>e c<strong>on</strong>tact is attributed to the wr<strong>on</strong>g h<str<strong>on</strong>g>and</str<strong>on</strong>g>, it can easily cause Hmox[n] to be<br />

133


in error by 20cm. Therefore the current measured o sets are not used directly, but<br />

are averaged with previous o set estimates (Heox[n ; 1]�Heoy[n ; 1]) using a simple<br />

rst-order autoregressive lter, forming current o set estimates (Heox[n]�Heoy[n]).<br />

The lter pole Ho [n] should be adjusted according to c<strong>on</strong> dence in the cur-<br />

rent c<strong>on</strong>tact identi cati<strong>on</strong>s. Since nger identi cati<strong>on</strong>s accumulate reliability as<br />

more parts of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact the surface, <strong>on</strong>e simple measure of identi cati<strong>on</strong><br />

c<strong>on</strong> dence is the number of ngers which have touched down from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> since<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> last left the surface. C<strong>on</strong>tacts with large total proximities also improve<br />

identi cati<strong>on</strong> reliability because they have str<strong>on</strong>g disambiguating features such as<br />

size <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong>. Therefore Ho [n] is set roughly proporti<strong>on</strong>al to the sum of<br />

c<strong>on</strong>tact proximities for the h<str<strong>on</strong>g>and</str<strong>on</strong>g>:<br />

Ho [n] = min(1� + 1<br />

7<br />

Xi=7<br />

i=1<br />

Fiz[n]) (4.3)<br />

Ho [n] must of course be normalized to be between zero <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e or the lter will<br />

be unstable. Thus when c<strong>on</strong> dence in c<strong>on</strong>tact identi cati<strong>on</strong>s is high, i.e., when<br />

many parts of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> rmly touch the surface, the autoregressive lter favors<br />

the current o set measurements. However, when <strong>on</strong>ly <strong>on</strong>e or two c<strong>on</strong>tacts have<br />

reappeared since h<str<strong>on</strong>g>and</str<strong>on</strong>g> lifto , the lter emphasizes previous o set estimates in the<br />

hope that they were based up<strong>on</strong> more reliable identi cati<strong>on</strong>s.<br />

To encourage correct segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> up<strong>on</strong> touchdown for a<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> which has temporarily lifted o the surface, the ltered o sets must hold a<br />

c<strong>on</strong>servative estimate of h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> while the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is oating above the surface.<br />

If a h<str<strong>on</strong>g>and</str<strong>on</strong>g> lifts o the surface in the middle of a complex sequence of operati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

must quickly touch down again, it will probably touch down close to where it lifted<br />

o . However, if the operati<strong>on</strong> sequence has ended, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is likely to eventually<br />

return to the neutral posture, or default positi<strong>on</strong>, to rest. Therefore, the term in<br />

Equati<strong>on</strong> 4.3 is made small enough that while a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not touching the surface,<br />

the estimated o sets gradually decay to zero at about the same rate as a h<str<strong>on</strong>g>and</str<strong>on</strong>g> lazily<br />

134


eturns to default positi<strong>on</strong>. Alternatively, the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> o sets can be made<br />

to decay toward zero at a c<strong>on</strong>stant speed rather than exp<strong>on</strong>entially.<br />

4.3.3 The Filter Equati<strong>on</strong>s<br />

When Ho [n] issmallduetolow identi cati<strong>on</strong> c<strong>on</strong> dence, the lter tracking<br />

delay becomes large enough to lag behind a pair of quickly moving ngers by several<br />

centimeters. The purpose of the lter is to react slowly to questi<strong>on</strong>able changes in<br />

c<strong>on</strong>tact identity, not to smooth c<strong>on</strong>tact moti<strong>on</strong>. Measurement of the current c<strong>on</strong>tact<br />

velocities (Fivx[n]�Fivy[n]) occurs in the path tracking process (3.3.4) independent<br />

of nger identity. Therefore this moti<strong>on</strong> tracking delay can be safely eliminated<br />

by adding the c<strong>on</strong>tact moti<strong>on</strong> measured between images to the old o set estimate.<br />

Again the h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> (Hmvx[n]�Hmvy[n]) is averaged over the individual c<strong>on</strong>tact<br />

velocities:<br />

Hmvx[n] =<br />

Hmvy[n] =<br />

P i=7<br />

i=1 Fimow[n]Fivx[n]<br />

Pi=7 i=1 Fimow[n]<br />

P i=7<br />

i=1 Fimow[n]Fivy[n]<br />

P i=7<br />

i=1 Fimow[n]<br />

(4.4)<br />

(4.5)<br />

The estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> o sets (Heox[n]�Heoy[n]) can now be computed using the com-<br />

plete lter equati<strong>on</strong>s:<br />

Heox[n] = Ho [n]Hmox[n]+(1; Ho [n])(Heox[n ; 1] + Hmvx[n]4t) (4.6)<br />

Heoy[n] = Ho [n]Hmoy[n]+(1; Ho [n])(Heoy[n ; 1] + Hmvy[n]4t) (4.7)<br />

The overall lter structure captured by these equati<strong>on</strong>s is also illustrated in Fig-<br />

ure 4.3.<br />

4.3.4 Enforcing <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Separati<strong>on</strong><br />

While the o set computati<strong>on</strong>s for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> have been independent as de-<br />

scribed so far, it is advantageous to impose a minimum horiz<strong>on</strong>tal separati<strong>on</strong> between<br />

135


Current<br />

C<strong>on</strong>tact<br />

Identities<br />

Current<br />

C<strong>on</strong>tact<br />

Positi<strong>on</strong>s<br />

Default<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

Positi<strong>on</strong>s<br />

Current<br />

C<strong>on</strong>tact<br />

Vlocities<br />

Predicted<br />

Offsets<br />

Measured<br />

Offsets<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>’s Current<br />

<str<strong>on</strong>g>Identificati<strong>on</strong></str<strong>on</strong>g><br />

C<strong>on</strong>fidence<br />

Filter<br />

Pole<br />

1<br />

z<br />

Unit Delay<br />

Estimated<br />

Offsets<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Separati<strong>on</strong><br />

Enforcer<br />

Updated<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> & <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

Positi<strong>on</strong><br />

Estimates<br />

Segmentati<strong>on</strong><br />

& <str<strong>on</strong>g>Identificati<strong>on</strong></str<strong>on</strong>g><br />

Modules<br />

Figure 4.3: Filter diagram for h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimator. Note that the default<br />

nger positi<strong>on</strong>s are subtracted o in the rst stage <str<strong>on</strong>g>and</str<strong>on</strong>g> added back in<br />

at the last stage so that the signals at intermediate stages are in the<br />

form of relative o sets from default.<br />

136


the estimated left h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> estimated right h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> such that when<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> such as the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides to the opposite side of the board while the<br />

other h<str<strong>on</strong>g>and</str<strong>on</strong>g> is lifted, the estimated positi<strong>on</strong> of the other h<str<strong>on</strong>g>and</str<strong>on</strong>g> is displaced. In this<br />

case the estimated positi<strong>on</strong> of the lifted left h<str<strong>on</strong>g>and</str<strong>on</strong>g> would be forced from default to<br />

the far left of the surface, possibly o the surface completely. If the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> is<br />

lifted <str<strong>on</strong>g>and</str<strong>on</strong>g> the left is not, an equati<strong>on</strong> like the following can be applied to force the<br />

estimated right h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> out of the way:<br />

RHeox[n] :=min(RHeox[n]� (LF 1defx ;RF 1defx)+LHeox[n]+min h<str<strong>on</strong>g>and</str<strong>on</strong>g> sep) (4.8)<br />

where (LF 1defx ; RF 1defx) is the default separati<strong>on</strong> between left <str<strong>on</strong>g>and</str<strong>on</strong>g> right thumbs,<br />

min h<str<strong>on</strong>g>and</str<strong>on</strong>g> sep is the minimum horiz<strong>on</strong>tal separati<strong>on</strong> to be imposed, <str<strong>on</strong>g>and</str<strong>on</strong>g> LHeox[n]<br />

is the current estimated o set of the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

4.3.5 Interacti<strong>on</strong>s with Segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Identi cati<strong>on</strong> Modules<br />

The updated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates (Heox[n]�Heoy[n]) are fed back to the<br />

segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> processes during analysis of the next proximity im-<br />

age. If the other processes need the estimate in absolute coordinates, they can<br />

simply add the supplied o sets to the default nger positi<strong>on</strong>s, but in many cases<br />

the relative o set representati<strong>on</strong> is actually more c<strong>on</strong>venient.<br />

The updated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates tend to move so as to reinforce the<br />

current c<strong>on</strong>tact identi cati<strong>on</strong>s. Assuming the current identi cati<strong>on</strong>s are correct, this<br />

tends to stabilize them, to move the attractor ring so that the c<strong>on</strong>tacts line up better<br />

with their assigned attractors. But it can also reinforce incorrect identi cati<strong>on</strong>s,<br />

which iswhy it is so important to limit the rate of change in estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong><br />

with the lter pole Ho [n] when the c<strong>on</strong> dence in identi cati<strong>on</strong>s is low. On the other<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>, when c<strong>on</strong> dence in identi cati<strong>on</strong>s is high but the positi<strong>on</strong> estimate c<strong>on</strong>tradicts<br />

them, the positi<strong>on</strong> estimate should be allowed to change quickly to become c<strong>on</strong>sistent<br />

with the identi cati<strong>on</strong>s.<br />

137


4.4 <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong><br />

On surfaces large enough for multiple h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, the c<strong>on</strong>tacts of each h<str<strong>on</strong>g>and</str<strong>on</strong>g> tend<br />

to form a circular cluster, <str<strong>on</strong>g>and</str<strong>on</strong>g> the clusters tend to remain separate because oper-<br />

ators like to avoid entangling the ngers of opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Because the arrange-<br />

ment of ngers within a h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster is usually independent of the locati<strong>on</strong> of <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

arrangement within the other h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s cluster, the c<strong>on</strong>tact identi cati<strong>on</strong> system is<br />

hierarchically split. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> process rst decides to which cluster<br />

each c<strong>on</strong>tact bel<strong>on</strong>gs. Then a within-cluster identi cati<strong>on</strong> process analyzes the ar-<br />

rangement of c<strong>on</strong>tacts within each h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s cluster, independent of the other h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s<br />

cluster. Because within-cluster or nger identi cati<strong>on</strong> works the same for each h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

regardless of how many h<str<strong>on</strong>g>and</str<strong>on</strong>g>s can t <strong>on</strong> the surface, it will be described rst. The<br />

descripti<strong>on</strong> below is for identi cati<strong>on</strong> within the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>� mirror symmetry must<br />

be applied to some parameters before identifying left h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts.<br />

4.4.1 The Basic Attractor Ring<br />

For the c<strong>on</strong>tacts assigned to each h<str<strong>on</strong>g>and</str<strong>on</strong>g>, the nger identi cati<strong>on</strong> process (Fig-<br />

ure 4.4) attempts to match c<strong>on</strong>tacts to a template of h<str<strong>on</strong>g>and</str<strong>on</strong>g> part attractor points, each<br />

attractor point having an identity which corresp<strong>on</strong>ds to a particular nger or palm<br />

heel. This matching between c<strong>on</strong>tact paths <str<strong>on</strong>g>and</str<strong>on</strong>g> attractors should be <strong>on</strong>e-to-<strong>on</strong>e,<br />

but in the case that some h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are not touching the surface, some attractors<br />

will be left un lled, i.e., assigned to dummy paths.<br />

The relative locati<strong>on</strong>s of the attractor points are set to the approximate<br />

positi<strong>on</strong>s of their corresp<strong>on</strong>ding ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> palms when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is in the default<br />

posture with ngers partially curled (Figure 2.8). These should be the same default<br />

nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm locati<strong>on</strong>s (Fidefx�Fidefy) employed in h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimati<strong>on</strong>.<br />

The default ngertip positi<strong>on</strong>s should also match the centers of the home row keys<br />

in the key layout. Setting the distances <str<strong>on</strong>g>and</str<strong>on</strong>g> angles between attractor points from<br />

the half-closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture causes the attractors to lie in a ring with a radius<br />

138


START<br />

DEFINE IDENTITY<br />

ATTRACTORS AT DEFAULT<br />

CONTACT POSITIONS<br />

TRANSLATE ATTRACTOR<br />

TEMPLATE BY ESTIMATED<br />

HAND OFFSET<br />

COMPUTE MATRIX OF<br />

DISTANCES FROM EACH PATH<br />

TO EACH ATTRACTOR<br />

COMPUTE ATTRACTOR<br />

WEIGHTING FACTORS FROM<br />

FEATURES OF EACH PATH<br />

FIND ASSIGNMENT BETWEEN<br />

PATHS AND ATTRACTORS<br />

WHICH MINIMIZES SUM OF<br />

WEIGHTED DISTANCES<br />

HAND<br />

ASSIGNMENTS<br />

TENTATIVE ?<br />

END<br />

N<br />

Y N<br />

UPDATE FINGER<br />

COUNTS AND<br />

SUBSETS<br />

# FINGER<br />

ATTRACTORS<br />

ASSIGNED > 1<br />

OR < 5 ?<br />

Y<br />

VERIFY THUMB<br />

ASSIGNMENT<br />

Figure 4.4: Flow chart of the nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm (within-h<str<strong>on</strong>g>and</str<strong>on</strong>g>) identi cati<strong>on</strong> algorithm.<br />

139


about halfway between that of an outstretched, attened h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> a st. This will<br />

allow the matching algorithm to perform well for a wide variety of nger exi<strong>on</strong>s<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> extensi<strong>on</strong>s.<br />

For optimal accuracy of c<strong>on</strong>tact-attractor matching, the ring should be kept<br />

roughly centered <strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster. Therefore, the attractor ring for a given h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

is translated as a whole by the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s estimated positi<strong>on</strong> o set. The nal attractor<br />

positi<strong>on</strong>s (Ajx[n]�Ajy[n]) are then:<br />

Ajx[n] = Heox[n]+Fjdefx (4.9)<br />

Ajy[n] = Heoy[n]+Fjdefy (4.10)<br />

4.4.2 Vor<strong>on</strong>oi Diagram for Single C<strong>on</strong>tact Identi cati<strong>on</strong><br />

Figure 4.5 displays both the ring-like structure formed by the attractor points<br />

for the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> the Vor<strong>on</strong>oi polyg<strong>on</strong> or cell around each attractor. If the<br />

given h<str<strong>on</strong>g>and</str<strong>on</strong>g> is a left h<str<strong>on</strong>g>and</str<strong>on</strong>g>, the attractor ring must be mirrored about the vertical<br />

axis from that shown. Every geometric point within an attractor's Vor<strong>on</strong>oi cell is<br />

closer to that attractor than any other attractor in the ring [116]. When there is<br />

<strong>on</strong>ly <strong>on</strong>e c<strong>on</strong>tact in the h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster <str<strong>on</strong>g>and</str<strong>on</strong>g> its features are not distinguishing, i.e.,<br />

when <strong>on</strong>ly a single small part of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> is touching the surface, the identi cati<strong>on</strong><br />

algorithm can simply determine whichVor<strong>on</strong>oi cell the c<strong>on</strong>tact lies within <str<strong>on</strong>g>and</str<strong>on</strong>g> assign<br />

the c<strong>on</strong>tact to that cell's attractor. Thus the size <str<strong>on</strong>g>and</str<strong>on</strong>g> shape of each Vor<strong>on</strong>oi cell<br />

indicates the range over which a particular h<str<strong>on</strong>g>and</str<strong>on</strong>g> part can touch down with respect<br />

to estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> center <str<strong>on</strong>g>and</str<strong>on</strong>g> still be identi ed correctly. Given that the Vor<strong>on</strong>oi<br />

cells for ngertips are rather tall <str<strong>on</strong>g>and</str<strong>on</strong>g> narrow, <strong>on</strong>e can c<strong>on</strong>clude that the Vor<strong>on</strong>oi<br />

cells will tolerate a high degree of nger exi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> extensi<strong>on</strong> but not so much h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotati<strong>on</strong> or unexpected horiz<strong>on</strong>tal displacement.<br />

In the unweighted Vor<strong>on</strong>oi diagram of Figure 4.5, the palm attractors are<br />

actually a couple centimeters lower than the measured default palm heel positi<strong>on</strong>s.<br />

140


Vertical Surface Positi<strong>on</strong> (cm)<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Surface Positi<strong>on</strong> (cm)<br />

Figure 4.5: Vor<strong>on</strong>oi cell diagram c<strong>on</strong>structed around ring of h<str<strong>on</strong>g>and</str<strong>on</strong>g> part attractor<br />

points (x's labeled with nger identity indices). In this gure, the estimated<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> o sets are zero, so the ring is not translated<br />

from the default nger positi<strong>on</strong>s.<br />

141


Moving these attractors forward to their proper vertical positi<strong>on</strong>s of -4 cm would<br />

have enlarged the palm heel Vor<strong>on</strong>oi cells too much at the cost of thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky<br />

Vor<strong>on</strong>oi cell size. The palm heel Vor<strong>on</strong>oi cells are so large that an abducted thumb<br />

or exed pinky is occasi<strong>on</strong>ally misidenti ed as a palm heel. This can actually cause<br />

typing errors when hitting pinky keys in the lowest row suchasor <br />

(see Figure 1.1 <strong>on</strong> Page 6) because the tapping nger can be misidenti ed as a palm<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> therefore ignored. Secti<strong>on</strong> 4.4.6.2 will introduce palm heel weightings which<br />

shrink the palm heel Vor<strong>on</strong>oi cells, allowing the true default palm heel positi<strong>on</strong>s to<br />

be used.<br />

4.4.3 Multiple C<strong>on</strong>tacts Compete for Vor<strong>on</strong>oi Cells<br />

When multiple parts of a hard touch the surface, more than <strong>on</strong>e may lie<br />

within the same Vor<strong>on</strong>oi cell. Since <strong>on</strong>ly <strong>on</strong>e of the c<strong>on</strong>tacts can be assigned to<br />

any Vor<strong>on</strong>oi cell's attractor at <strong>on</strong>e time, the c<strong>on</strong>tacts lying in the same cell must<br />

compete for the cell's attractor <str<strong>on</strong>g>and</str<strong>on</strong>g> neighboring attractors. A global optimizati<strong>on</strong> is<br />

necessary to determine which of the c<strong>on</strong>tacts goes to the attractor of the occupied<br />

Vor<strong>on</strong>oi cell <str<strong>on</strong>g>and</str<strong>on</strong>g> which goes to neighboring attractors.<br />

This global optimizati<strong>on</strong> nds the <strong>on</strong>e-to-<strong>on</strong>e assignment between attractors<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts which minimizes the sum of weighted, squared distances between each<br />

attractor <str<strong>on</strong>g>and</str<strong>on</strong>g> its assigned c<strong>on</strong>tact. When there are fewer surface c<strong>on</strong>tacts than<br />

attractors, i.e., whenany h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are oating above the surface, the null path P 0,<br />

which has zero distance to each attractor, acts as adummyc<strong>on</strong>tact in place of any<br />

missing c<strong>on</strong>tacts. This ensures a <strong>on</strong>e-to-<strong>on</strong>e mapping can be found by making the<br />

total number of surface plus dummy c<strong>on</strong>tacts the same as the number of attractors.<br />

Let the squared distances in the surface plane between each c<strong>on</strong>tact path Pi <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

each translated attractor point Aj form a square matrix [d 2<br />

ij]:<br />

d 2<br />

ij =(Ajx[n] ; Pix[n]) 2 +(Ajy[n] ; Piy[n]) 2<br />

142<br />

(4.11)


The optimizati<strong>on</strong> can then be stated as nding the permutati<strong>on</strong> f 1�:::� 7g of<br />

integer h<str<strong>on</strong>g>and</str<strong>on</strong>g> part identities f1�:::�7g which minimizes:<br />

7X<br />

i=1<br />

di i<br />

(4.12)<br />

where c<strong>on</strong>tact i <str<strong>on</strong>g>and</str<strong>on</strong>g> attractor j are c<strong>on</strong>sidered assigned to <strong>on</strong>e another when i j.<br />

This combinatorial optimizati<strong>on</strong> problem, known more speci cally in mathematics<br />

as an assignment problem, can be e ciently solved by avariety ofwell-known math-<br />

ematical techniques. The following secti<strong>on</strong>s will review the soluti<strong>on</strong> techniques for<br />

the assignment problem, the reas<strong>on</strong> the squared Euclidean distance is preferred<br />

over other distance metrics for nger identi cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> how feature-dependent<br />

weightings of particular c<strong>on</strong>tact-attractor distances sustains correct identi cati<strong>on</strong><br />

over wider ranges of nger moti<strong>on</strong>.<br />

4.4.4 The Assignment Problem<br />

The assignment problem is a special case from the classes of linear program-<br />

ming problems <str<strong>on</strong>g>and</str<strong>on</strong>g> integer programming problems. Its more general formulati<strong>on</strong> as<br />

a linear programming problem [35] is to minimize over the parameters xij the sum:<br />

subject to the c<strong>on</strong>straints:<br />

MX<br />

j=1<br />

MX<br />

i=1<br />

MX<br />

MX<br />

i=1 j=1<br />

cijxij<br />

(4.13)<br />

xij =1 8i =1�::M (4.14)<br />

xij =1 8j =1�::M (4.15)<br />

xij =0 or 1 8i� j =1�::M (4.16)<br />

where cij is an arbitrary cost of assigning c<strong>on</strong>tact i to attractor j, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact i is<br />

c<strong>on</strong>sidered assigned to attractor j <strong>on</strong>ly when xij = 1. Since there are M! possible<br />

soluti<strong>on</strong> matrices xij, brute force enumerati<strong>on</strong> is inappropriate unless M is very<br />

143


small. Since this is a linear programming problem, it also has a dual formulati<strong>on</strong><br />

as a maximizati<strong>on</strong> problem, <str<strong>on</strong>g>and</str<strong>on</strong>g> specialized versi<strong>on</strong>s of the primal <str<strong>on</strong>g>and</str<strong>on</strong>g> dual simplex<br />

method can nd the optimal soluti<strong>on</strong> [8, 10, 109]. However, the specially c<strong>on</strong>strained<br />

structure of the soluti<strong>on</strong> matrix xij supports other e cient soluti<strong>on</strong> techniques.<br />

Kuhn [83] was the rst to develop the Hungarian Method for solving the<br />

assignment problem. This method was based <strong>on</strong> special matrix properties dis-<br />

covered by Egervary [34] <str<strong>on</strong>g>and</str<strong>on</strong>g> K<strong>on</strong>ig [80] which guide manipulati<strong>on</strong>s of matrix<br />

rows <str<strong>on</strong>g>and</str<strong>on</strong>g> columns similar to Gaussian eliminati<strong>on</strong>. Its worst case performance is<br />

O(M 3 ), though performance varies widely for large M depending <strong>on</strong> implementati<strong>on</strong><br />

tricks [27, 102]. The Hungarian Method <str<strong>on</strong>g>and</str<strong>on</strong>g> improvements up<strong>on</strong> it have been the<br />

preferred soluti<strong>on</strong> method in the eld of operati<strong>on</strong>s research, where the assignment<br />

problem often arises when trying to match workers' various skills to a variety of<br />

tasks or machines requiring di erent skills. In most of these applicati<strong>on</strong>s the cost<br />

matrix is not derived from the distances between points in a plane. However, some<br />

operati<strong>on</strong>s research problems do c<strong>on</strong>struct a cost matrix from a set of matching<br />

distances. An example would be trying to assign M taxis to M passengers given the<br />

locati<strong>on</strong> where each passenger is to be picked up, the starting locati<strong>on</strong> of each taxi,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the assumpti<strong>on</strong> that the overhead for each taxi increases in proporti<strong>on</strong> to the<br />

distance from last drop o (starting locati<strong>on</strong>) to next pick up. In these real-world<br />

operati<strong>on</strong>s research problems the unsquared rather than squared distance is usually<br />

the more relevant cost parameter.<br />

As an integer programming problem, the assignment problem can be solved<br />

with the branch <str<strong>on</strong>g>and</str<strong>on</strong>g> bound heuristic [58], relaxati<strong>on</strong> [11, 12] or network ow min-<br />

imizati<strong>on</strong> techniques based up<strong>on</strong> the Shortest Augmenting Path Method [7, 31, 33,<br />

75]. As a combinatorial optimizati<strong>on</strong> problem, localized [1] combinatorial search<br />

heuristics can be applied, though these do not guarantee the global minimum will<br />

be found. For the relatively small size of the nger assignment problem, any of these<br />

144


soluti<strong>on</strong> techniques should be e cient enough for real-time nger identi cati<strong>on</strong>.<br />

Localized combinatorial search was the rst technique implemented in the<br />

MTS software, <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ce methods to avoid c<strong>on</strong>vergence failures for it were understood<br />

(see Appendix C), there seemed to be no need to try an alternate implementati<strong>on</strong><br />

with any of the other well-known techniques. Moreover, localized combinatorial<br />

search has a couple advantages within the c<strong>on</strong>text of real-time nger identi cati<strong>on</strong>.<br />

First, it can verify very quickly that a previous set of identi cati<strong>on</strong>s is still at least<br />

locally optimum. Though its worst case performance will turn out to be O(M 3 ) as<br />

well, it nds the global minimum fairly fast given an initializati<strong>on</strong> near the global<br />

minimum. Sec<strong>on</strong>d, it o ers important insights into the design <str<strong>on</strong>g>and</str<strong>on</strong>g> analysis of the<br />

attractor ring when assignments costs are proporti<strong>on</strong>al to c<strong>on</strong>tact-attractor distances<br />

squared.<br />

4.4.4.1 Localized Combinatorial Search<br />

Combinatorial problems such as the assignment problem can be incrementally<br />

optimized using k-exchange neighborhoods [1]. In the case of the nger identi cati<strong>on</strong><br />

problem, a k-exchange neighborhood is a subset of attractors from the attractor ring.<br />

If k is 2, the subset will usually be a pair of adjacent attractors. Minimizing the<br />

sum of assignment distances within this subset by c<strong>on</strong>diti<strong>on</strong>ally swapping the two<br />

c<strong>on</strong>tact-attractor assignments will always improve the total assignment sum. This is<br />

a c<strong>on</strong>sequence of the fact that the total cost, i.e., the assignment sum, is a m<strong>on</strong>ot<strong>on</strong>ic<br />

increasing functi<strong>on</strong> of the individual costs, i.e., c<strong>on</strong>tact-attractor distances. Picking<br />

a sequence of k-exchange neighborhoods, i.e., successive adjacent attractor pairs,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> optimizing them with c<strong>on</strong>diti<strong>on</strong>al swapping causes the total assignment sumto<br />

decrease toward a local minimum. Whether the local minimum found is actually the<br />

global minimum depends <strong>on</strong> the initial assignments <str<strong>on</strong>g>and</str<strong>on</strong>g> the ordering of the exchange<br />

neighborhood sequence.<br />

145


4.4.4.2 Choosing Initial Assignments<br />

After each sensor array scan, the paths of h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts which have newly<br />

touched down are assigned to the closest available attractors in the ring. This<br />

operati<strong>on</strong> is equivalent topicking a new path, c<strong>on</strong>structing a Vor<strong>on</strong>oi diagram from<br />

<strong>on</strong>ly the un lled attractors, <str<strong>on</strong>g>and</str<strong>on</strong>g> assigning the path to the un lled attractor whose<br />

Vor<strong>on</strong>oi cell the c<strong>on</strong>tact lies within. This does not ensure that the initializati<strong>on</strong> puts<br />

the new c<strong>on</strong>tact with the best attractor since the best attractor might be <strong>on</strong>e that<br />

is already lled with a pre-existing path, but this usually puts the new path close<br />

to its correct attractor <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore close to the global minimum.<br />

4.4.4.3 The Swapping C<strong>on</strong>diti<strong>on</strong><br />

Let Aa <str<strong>on</strong>g>and</str<strong>on</strong>g> Ab be adjacent attractors in the ring, i.e., a = b 1, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

let Pg <str<strong>on</strong>g>and</str<strong>on</strong>g> Ph, corresp<strong>on</strong>dingly, be their currently assigned c<strong>on</strong>tact paths. The<br />

<strong>on</strong>e-to-<strong>on</strong>e nature of the matching assignments is enforced with the double-links<br />

Aaassignedpath () Pgassignedfinger <str<strong>on</strong>g>and</str<strong>on</strong>g> Abassignedpath () Phassignedfinger. These as-<br />

signments are swapped, making Aaassignedpath () Phassignedfinger <str<strong>on</strong>g>and</str<strong>on</strong>g> Abassociated ()<br />

Pgassignedfinger, ifswapping reduces the sum of the c<strong>on</strong>tact-attractor distances:<br />

d 2<br />

ha + d 2<br />

?<br />

gb


4.4.4.4 The k-exchange Sequence<br />

The exchange neighborhood sequences utilized by localized combinatorial<br />

search heuristics are often applicati<strong>on</strong> speci c [1]. For nger identi cati<strong>on</strong>, the<br />

roughly circular structure of the attractor ring supports a simple nearest neighbor<br />

traversal around the ring, as would a linear structure. The sequence simply proceeds<br />

around the attractor ring in either clockwise or counter-clockwise order, pausing for<br />

a c<strong>on</strong>diti<strong>on</strong>al swap at each attractor encountered. Each swap test is applied between<br />

the current attractor <str<strong>on</strong>g>and</str<strong>on</strong>g> the next adjacent attractor around the ring. Travel around<br />

the ring repeats until <strong>on</strong>e complete traversal is made without accepting any swaps.<br />

This basically amounts to a bubble sort <strong>on</strong> the ring, utilizing the swapping<br />

c<strong>on</strong>diti<strong>on</strong> for the current attractor pair as the bubble sort ordering relati<strong>on</strong>. Notice<br />

that though a bubble sort has O(M 2 ) performance [79], i.e., M traversals of the<br />

ring are required in the worst case, a single traversal of the ring can verify that the<br />

sorting of c<strong>on</strong>tacts based <strong>on</strong> their positi<strong>on</strong>s in previous proximity images is still the<br />

correct sorting for their current positi<strong>on</strong>s. Also, the initializati<strong>on</strong> of new c<strong>on</strong>tacts<br />

assignments as described in Secti<strong>on</strong> 4.4.4.2 tends to put c<strong>on</strong>tacts within a couple<br />

attractors of their proper attractor, so usually not more than two orthreetraversals<br />

of the ring are necessary. Worst case performance can be improved by utilizing a<br />

bidirecti<strong>on</strong>al bubble sort [79], i.e., reversing the directi<strong>on</strong> of the exchange sequence<br />

after each complete traversal of the ring.<br />

Because transitivity of the ordering relati<strong>on</strong>s described in the next secti<strong>on</strong><br />

will not always extend between opposite sides of the ring, c<strong>on</strong>tacts can get stuck in<br />

attractors <strong>on</strong> the opposite side of the ring. Such c<strong>on</strong>vergence failures are explained<br />

further in Appendix C. They can be avoided <str<strong>on</strong>g>and</str<strong>on</strong>g> the global minimum reached<br />

by exp<str<strong>on</strong>g>and</str<strong>on</strong>g>ing the exchange neighborhoods to include c<strong>on</strong>tact pair swaps between<br />

attractors <strong>on</strong> opposite sides of the ring instead of <strong>on</strong>ly between adjacent attrac-<br />

tors <strong>on</strong> the ring. This expansi<strong>on</strong> of the exchange neighborhood reduces worst case<br />

147


performance to O(M 3 ).<br />

4.4.5 Geometric Interpretati<strong>on</strong>s of the Swapping C<strong>on</strong>diti<strong>on</strong><br />

This secti<strong>on</strong> explores geometric interpretati<strong>on</strong>s of the pair swapping c<strong>on</strong>diti<strong>on</strong><br />

of Equati<strong>on</strong> 4.17 which aid in design of the attractor ring <str<strong>on</strong>g>and</str<strong>on</strong>g> underst<str<strong>on</strong>g>and</str<strong>on</strong>g>ing of its<br />

assignments.<br />

4.4.5.1 Geometric Interpretati<strong>on</strong> of Single C<strong>on</strong>tact Swapping<br />

The simplest case is when <strong>on</strong>e of the c<strong>on</strong>tacts, say Ph, is a dummy or null<br />

c<strong>on</strong>tact. By de niti<strong>on</strong> of dummy c<strong>on</strong>tact, dha =0<str<strong>on</strong>g>and</str<strong>on</strong>g> dhb =0. Then the swapping<br />

inequality reduces to:<br />

which is equivalent to:<br />

d 2<br />

gb<br />

dgb<br />

?<br />


Pg<br />

o<br />

Pg<br />

o<br />

D D<br />

x x<br />

x x<br />

g'<br />

a<br />

Ab<br />

g'<br />

Aa<br />

Ab<br />

a) b)<br />

Figure 4.6: Geometric c<strong>on</strong>structi<strong>on</strong> showing possible assignments (heavy arrows)<br />

when two attractors (crosses) compete for <strong>on</strong>e real surface c<strong>on</strong>tact<br />

(circle). The losing attractor is always assigned a dummy c<strong>on</strong>tact (D)<br />

which has zero distance to every attractor. The swapping c<strong>on</strong>diti<strong>on</strong><br />

prefers case b) in which the assignment link does not cross the perpendicular<br />

bisector (dotted arrows) of the attractors.<br />

149


horiz<strong>on</strong>tal positi<strong>on</strong> of the projecti<strong>on</strong> g 0 relative to the center point between the<br />

attractors:<br />

g 0<br />

x<br />

?<br />

< (ax + bx)<br />

2<br />

(4.20)<br />

The comparis<strong>on</strong> of the c<strong>on</strong>tact projecti<strong>on</strong> with absolute attractor pair positi<strong>on</strong> in<br />

Equati<strong>on</strong> 4.20 should be c<strong>on</strong>trasted to the ordering relati<strong>on</strong> which will arise for<br />

c<strong>on</strong>tact pairs in Equati<strong>on</strong> 4.35. Note Equati<strong>on</strong> 4.35 does not depend up<strong>on</strong> absolute<br />

horiz<strong>on</strong>tal alignment ofthe attractor pair.<br />

4.4.5.2 Geometric Interpretati<strong>on</strong> of C<strong>on</strong>tact Pair Swapping<br />

Though Figure 4.6 <str<strong>on</strong>g>and</str<strong>on</strong>g> its generalizati<strong>on</strong> to Vor<strong>on</strong>oi diagrams explain swap-<br />

ping behavior when two or more attractors are <strong>on</strong>ly competing for <strong>on</strong>e real surface<br />

c<strong>on</strong>tact, the case when two attractors are competing for two c<strong>on</strong>tacts, as when the<br />

attractor ring is full of c<strong>on</strong>tacts, is not as straightforward unless a Euclidean distance<br />

squared metric is used. With the distance-squared metric, the swapping decisi<strong>on</strong><br />

depends <strong>on</strong>ly <strong>on</strong> the ordering of the c<strong>on</strong>tacts as projected <strong>on</strong>to the line c<strong>on</strong>necting<br />

the attractor pair.<br />

This interesting property of the distance-squared metric can be proved with<br />

the help of the geometric c<strong>on</strong>structi<strong>on</strong>s in Figure 4.7. Without loss of generality,<br />

assume attractors a <str<strong>on</strong>g>and</str<strong>on</strong>g> b lie al<strong>on</strong>g a horiz<strong>on</strong>tally oriented line. Now, form perpen-<br />

diculars from each c<strong>on</strong>tact g <str<strong>on</strong>g>and</str<strong>on</strong>g> h to the line ab <str<strong>on</strong>g>and</str<strong>on</strong>g> mark the projected intersecti<strong>on</strong>s<br />

g 0 <str<strong>on</strong>g>and</str<strong>on</strong>g> h 0 , respectively. The swapping Inequality 4.17 can be restated in terms of<br />

the lengths of the vectors c<strong>on</strong>necting pairs of these points:<br />

jj ~ ahjj 2 + jj ~ ?<br />

2<br />

bgjj < jj ~agjj 2 + jj ~ bhjj 2<br />

(4.21)<br />

where the left side of the inequality represents the sum of the squared assignment<br />

lengths (heavy arrows) of Figure 4.7a, <str<strong>on</strong>g>and</str<strong>on</strong>g> the right side of the inequality represents<br />

the sum of the squared lengths for the opposite assignments in Figure 4.7b. By the<br />

150


g<br />

o<br />

h'<br />

x x<br />

a g'<br />

b<br />

g<br />

o<br />

h'<br />

x x<br />

a g'<br />

b<br />

o o<br />

h h<br />

a) b)<br />

Figure 4.7: Geometric c<strong>on</strong>structi<strong>on</strong> for comparing the costs of the two possible<br />

assignments (heavy arrows) between a pair of c<strong>on</strong>tacts (circles) <str<strong>on</strong>g>and</str<strong>on</strong>g> a<br />

pair of attractors (crosses). If squared-distance is the assignment cost<br />

metric, the swapping decisi<strong>on</strong> reduces to comparing the ordering of<br />

the c<strong>on</strong>tacts' projecti<strong>on</strong>s (dotted perpendiculars) <strong>on</strong>to the (solid) line<br />

between the attractors. For the relative c<strong>on</strong>tact positi<strong>on</strong>s shown, the<br />

assignments of b) have lower cost than those of a) under the distancesquared<br />

metric.<br />

151


Pythagorean theorem, these potentially diag<strong>on</strong>al vector lengths can be restated in<br />

terms of purely horiz<strong>on</strong>tal or vertical vector comp<strong>on</strong>ents:<br />

jj ~agjj 2 = g 0 a 2<br />

x + g 0 g 2<br />

y<br />

jj ~ bhjj 2 = h 0 b 2<br />

x + h 0 h 2<br />

y<br />

jj ~ ahjj 2 = h 0 a 2<br />

x + h 0 h 2<br />

y<br />

jj ~ bgjj 2 = g 0 b 2<br />

x + g 0 g 2<br />

y<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> substituted into the inequality to obtain:<br />

h 0 a 2<br />

x + h 0 h 2<br />

y + g 0 b 2<br />

x + g 0 g 2<br />

?<br />

y


This simple c<strong>on</strong>diti<strong>on</strong> ensures that regardless of the c<strong>on</strong>tacts' orthog<strong>on</strong>al displace-<br />

ment from the line c<strong>on</strong>necting attractors a <str<strong>on</strong>g>and</str<strong>on</strong>g> b, if c<strong>on</strong>tact g as projected <strong>on</strong>to line<br />

ab is to the left of the projecti<strong>on</strong> h 0 of c<strong>on</strong>tact h, c<strong>on</strong>tact g gets assigned to the left<br />

attractor a, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact h gets assigned to the right attractor b. For the relative<br />

positi<strong>on</strong>s of h <str<strong>on</strong>g>and</str<strong>on</strong>g> g shown in Figure 4.7, Equati<strong>on</strong> 4.33 is not true, <str<strong>on</strong>g>and</str<strong>on</strong>g> the swap<br />

to the assignments of Figure 4.7a is not taken because the existing assignments of<br />

Figure 4.7b already minimize the total distance.<br />

Note that though the simpli cati<strong>on</strong> to Equati<strong>on</strong> 4.33 depends <strong>on</strong> the as-<br />

sumpti<strong>on</strong>s that the attractors lie <strong>on</strong> a horiz<strong>on</strong>tal line <str<strong>on</strong>g>and</str<strong>on</strong>g> attractor a is to the left<br />

of attractor b, the ordering relati<strong>on</strong> is independent of the horiz<strong>on</strong>tal alignment of<br />

the attractor pair or the separati<strong>on</strong> between the attractors. Rotati<strong>on</strong> of the coordi-<br />

nate space trivially extends the result to attractor pairs lying <strong>on</strong> a n<strong>on</strong>-horiz<strong>on</strong>tal<br />

line. This ordering relati<strong>on</strong> can therefore provide translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scale invariance<br />

to identi cati<strong>on</strong> of multiple nger c<strong>on</strong>tacts.<br />

For comparis<strong>on</strong> to the case when the attractor pair competed for <strong>on</strong>ly <strong>on</strong>e real<br />

c<strong>on</strong>tact, Figure 4.8 c<strong>on</strong>tains examples of two c<strong>on</strong>tact arrangements with the relevant<br />

bisectors shown. In Figure 4.8a <str<strong>on</strong>g>and</str<strong>on</strong>g> b, both c<strong>on</strong>tacts are between the attractors,<br />

but in Figure 4.8c <str<strong>on</strong>g>and</str<strong>on</strong>g> d <strong>on</strong>e c<strong>on</strong>tact is to the left of the leftmost attractor. In<br />

additi<strong>on</strong> to the perpendicular bisector Bab?ab of ab, a bisector Bgh?ab of the segment<br />

gh between the c<strong>on</strong>tacts is c<strong>on</strong>structed perpendicular to ab in each case. Again,<br />

the distance-squared swapping criteri<strong>on</strong> (Equati<strong>on</strong> 4.17) ensures that if the c<strong>on</strong>tact-<br />

attractor links cross the c<strong>on</strong>tact bisector as in Figure 4.8a or c, the assignments will<br />

be swapped so that the c<strong>on</strong>tact to the right of the c<strong>on</strong>tact bisector Bgh?ab always<br />

ends up assigned (Figure 4.8b or d) to the attractor to the right of the attractor<br />

bisector Bab?ab, <str<strong>on</strong>g>and</str<strong>on</strong>g> the c<strong>on</strong>tact to the left of the c<strong>on</strong>tact bisector Bgh?ab always<br />

ends up assigned to the attractor which is left of the attractor bisector Bab?ab.<br />

153


g<br />

o<br />

B gh⊥ab<br />

x x<br />

a b<br />

B ab⊥ab<br />

g<br />

o<br />

B gh⊥ab<br />

x x<br />

a b<br />

o o<br />

h h<br />

a) b)<br />

o g<br />

B<br />

h gh⊥ab<br />

h<br />

o o<br />

B gh⊥ab<br />

B ab⊥ab<br />

x x<br />

x x<br />

a<br />

B ab⊥ab<br />

b<br />

a<br />

B ab⊥ab<br />

b<br />

c) d)<br />

Figure 4.8: Visual comparis<strong>on</strong> of distance-squared assignments via c<strong>on</strong>tact pair<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> attractor pair bisectors (dotted arrows) which are both perpendicular<br />

to the segment between the attractor (solid line). The assignments<br />

(heavy arrows) in b) <str<strong>on</strong>g>and</str<strong>on</strong>g> d) have lower distance-squared cost<br />

because they preserve the projected ordering. In other words, the c<strong>on</strong>tact<br />

to the left of the c<strong>on</strong>tact bisector, Bgh?ab, goes with the attractor<br />

to the left of the attractor bisector, Bab?ab, <str<strong>on</strong>g>and</str<strong>on</strong>g> vice versa, regardless<br />

of the c<strong>on</strong>tact pair's displacement relative totheattractor pair.<br />

154<br />

o g


4.4.5.3 Summary of Swapping Behavior using Distance-Squared Metrics<br />

In summary, swapping behavior under distance-squared cost is quite di erent<br />

depending <strong>on</strong> whether the two attractors compete for <strong>on</strong>e or two surface c<strong>on</strong>tacts.<br />

In the <strong>on</strong>e surface c<strong>on</strong>tact case, the real c<strong>on</strong>tact simply goes to the closest<br />

attractor according to the absolute positi<strong>on</strong> of the bisector between attractors:<br />

gx<br />

?<br />

< (ax + bx)<br />

2<br />

A dummy c<strong>on</strong>tact is assigned to the farther attractor.<br />

(4.34)<br />

With two competing surface c<strong>on</strong>tacts, the c<strong>on</strong>tacts are ordered with respect to<br />

the inter-attractor angle, but the absolute positi<strong>on</strong> of the attractor pair does<br />

not matter:<br />

gx<br />

?<br />


h<br />

o<br />

x ox<br />

a b,g<br />

a) b)<br />

Figure 4.9: Special case when <strong>on</strong>e c<strong>on</strong>tact (g) is perfectly aligned <strong>on</strong> an attractor<br />

(b) so that the attractor pair (crosses) <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact pair (circles) form<br />

a right triangle. Note the ~ bg link in a) is invisible <str<strong>on</strong>g>and</str<strong>on</strong>g> has zero cost.<br />

Under the unsquared-Euclidean metric, a) has a lower total assignment<br />

cost than b). With the distance-squared metric, the assignment costs<br />

of a) <str<strong>on</strong>g>and</str<strong>on</strong>g> b) are the same, <str<strong>on</strong>g>and</str<strong>on</strong>g> with the distance-quadrupled metric,<br />

b) has the lower total cost.<br />

Figure 4.9, in which <strong>on</strong>e c<strong>on</strong>tact g is right <strong>on</strong> top of <strong>on</strong>e attractor b, <str<strong>on</strong>g>and</str<strong>on</strong>g> the other h<br />

lies <strong>on</strong> the perpendicular passing through the same attractor b. Thus the c<strong>on</strong>tacts<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> attractors form a right triangle with both c<strong>on</strong>tact g <str<strong>on</strong>g>and</str<strong>on</strong>g> attractor b at the<br />

perpendicular corner, making jj ~ bgjj = 0. The triangle inequality ensures that for<br />

the unsquared-Euclidean distance metric, the hypotenuse jj ~ ahjj is shorter than the<br />

sum of the lengths of the sides jj ~agjj + jj ~ bhjj, so the assignments will be g () b <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

a () h as in Figure 4.9a.<br />

x<br />

a<br />

h<br />

o<br />

ox<br />

b,g<br />

For the distance-squared case, the Pythagorean theorem ensures that jj ~ ahjj 2 =<br />

jj ~agjj 2 + jj ~ bhjj 2 . Therefore neither Figure 4.9a nor Figure 4.9b is preferred since they<br />

both produce the same total assignment costs. In other words, both c<strong>on</strong>tacts project<br />

<strong>on</strong>to ab at the same point, so their order must be chosen arbitrarily.<br />

For the Euclidean-distance-quadrupled metric, the Pythagorean theorem can<br />

be invoked again to prove that Figure 4.9b has the lower assignment cost:<br />

jj ~ ahjj 4 = (jj ~agjj 2 + jj ~ bhjj 2 ) 2<br />

156<br />

(4.38)


= jj ~agjj 4 +2jj ~agjj 2 jj ~ bhjj 2 + jj ~ bhjj 4<br />

< jj ~agjj 4 + jj ~ bhjj 4<br />

(4.39)<br />

(4.40)<br />

Note that in this case c<strong>on</strong>tact g gets assigned to attractor a even though its distance<br />

to attractor b is zero!<br />

Another important case occurs when all attractors <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts are collinear<br />

yet the c<strong>on</strong>tact pair is shifted away from the attractor pair as in Figure 4.10. Under<br />

x x<br />

a b<br />

o<br />

g<br />

o x x<br />

h a b<br />

a) b)<br />

Figure 4.10: Special case when the attractor pair (crosses) <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact pair (circles)<br />

are collinear illustrates that unlike theL2 metric, the L1 metric<br />

does not preserve the c<strong>on</strong>tact ordering under lateral translati<strong>on</strong> of<br />

the c<strong>on</strong>tact pair. Under the unsquared-Euclidean metric, the sum of<br />

the lengths of the assignment arrows is the same in a) <str<strong>on</strong>g>and</str<strong>on</strong>g> b) even<br />

though the assignments (heavy arrows) of a) reverse the horiz<strong>on</strong>tal<br />

ordering of the c<strong>on</strong>tacts with respect to their assigned attractors.<br />

The distance-squared metric produces a lower total cost for more<br />

uniform arrow lengths as in b). This causes the horiz<strong>on</strong>tal ordering<br />

of the c<strong>on</strong>tacts to be c<strong>on</strong>sistent with that of the attractors under<br />

arbitrary horiz<strong>on</strong>tal translati<strong>on</strong> of the c<strong>on</strong>tact pair.<br />

the unsquared-Euclidean metric, the total of the assignment arrow lengths is the<br />

same in Figure 4.10a as in Figure 4.10b even though the lengths within Figure 4.10a<br />

are disparate <str<strong>on</strong>g>and</str<strong>on</strong>g> reverse the horiz<strong>on</strong>tal ordering of the c<strong>on</strong>tacts with respect to the<br />

attractors. The sum of squared lengths favors the more uniform arrow lengths of<br />

Figure 4.10b because the l<strong>on</strong>g assignment in Figure 4.10a between c<strong>on</strong>tact a <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attractor h produces a disproporti<strong>on</strong>ately large cost.<br />

This preference for more uniform combinati<strong>on</strong>s of lengths or costs is <strong>on</strong>e<br />

reas<strong>on</strong> squared error is chosen as an error metric for awidevariety of optimizati<strong>on</strong><br />

157<br />

o<br />

g<br />

o<br />

h


problems. This secti<strong>on</strong> has shown that in the c<strong>on</strong>text of an assignment problem,<br />

the preference for uniform lengths has the additi<strong>on</strong>al c<strong>on</strong>sequence of picking the<br />

permutati<strong>on</strong> which preserves ordering even when the cluster of c<strong>on</strong>tacts is translated<br />

with respect to the attractors. This is particularly bene cial for nger identi cati<strong>on</strong><br />

because the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates will sometimes be very wr<strong>on</strong>g, causing total<br />

misalignment ofthe attractor ring with the cluster of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts.<br />

4.4.5.5 Distance-Squared Assignment as Sorting<br />

In analogy to Figure 4.10, c<strong>on</strong>sider the case when a row of four ngertip<br />

c<strong>on</strong>tacts is horiz<strong>on</strong>tally misaligned with a row of four collinear ngertip attractors.<br />

Since the distance-squared swapping c<strong>on</strong>diti<strong>on</strong> for any c<strong>on</strong>tact pair <str<strong>on</strong>g>and</str<strong>on</strong>g> attractor<br />

pair reduces to an ordering relati<strong>on</strong> (Equati<strong>on</strong> 4.35) <strong>on</strong> the c<strong>on</strong>tact horiz<strong>on</strong>tal co-<br />

ordinates, an appropriate exchange neighborhood sequence will sort the c<strong>on</strong>tacts<br />

with respect to the attractor ordering, producing the same result as a c<strong>on</strong>venti<strong>on</strong>al<br />

sorting algorithm [79] applied <strong>on</strong>ly to the horiz<strong>on</strong>tal coordinates of the ngertips.<br />

Sorting under distance-squared assignment also tolerates scaling of ngertip spacings<br />

as easily as straight horiz<strong>on</strong>tal coordinate sorting.<br />

However, assignment to the attractor ring using the distance-squared metric<br />

is more general than either horiz<strong>on</strong>tal coordinate sorting or assignment using the<br />

unsquared Euclidean metric. Recall that with the distance-squared c<strong>on</strong>tact pair<br />

swapping c<strong>on</strong>diti<strong>on</strong>, the c<strong>on</strong>tacts are ordered according to their projecti<strong>on</strong> <strong>on</strong>to a<br />

line whose angle matches the angle between two given attractors. Thus when three<br />

or more attractors are not collinear, the ordering relati<strong>on</strong> changes to t the angle<br />

of the local attractor pair, providing sorting al<strong>on</strong>g arbitrary arcs or around a ring.<br />

Technically, the pairwise ordering relati<strong>on</strong>s will cease to be transitive when the<br />

attractors are not collinear, i.e. f


fairly gradual. Though the unsquared-Euclidean metric can also sort al<strong>on</strong>g arcs or<br />

around the ring when the ring is perfectly aligned with the c<strong>on</strong>tacts, the example<br />

of Figure 4.10 shows that the unsquared-Euclidean metric has no preference for the<br />

proper ngertip ordering <strong>on</strong>ce the attractor ring becomes misaligned by more than<br />

<strong>on</strong>e attractor spacing.<br />

Unfortunately, these translati<strong>on</strong>-invariant sorting properties of distance-squared<br />

assignment are <strong>on</strong>ly e ective when the attractor ring is full or nearly full of c<strong>on</strong>tacts,<br />

i.e., when most of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts are touching the surface. On the edges of a cluster<br />

of <strong>on</strong>ly two tofour nger c<strong>on</strong>tacts, empty attractors will compete for real c<strong>on</strong>tacts,<br />

potentially giving up dummy c<strong>on</strong>tacts. As was shown in Secti<strong>on</strong> 4.4.5.1, when two<br />

attractors compete for <strong>on</strong>e real c<strong>on</strong>tact, the swapping c<strong>on</strong>diti<strong>on</strong> is equivalent for both<br />

squared- <str<strong>on</strong>g>and</str<strong>on</strong>g> unsquared- distance metrics <str<strong>on</strong>g>and</str<strong>on</strong>g> o ers no special protecti<strong>on</strong> against<br />

attractor ring misalignment. The absolute positi<strong>on</strong> comparis<strong>on</strong> of Equati<strong>on</strong> 4.34<br />

causes dummy c<strong>on</strong>tacts to propagate toward those attractors which are farthest<br />

from the real c<strong>on</strong>tacts, leaving err<strong>on</strong>eous shifts in ngertip assignment, but the c<strong>on</strong>-<br />

tact pair ordering relati<strong>on</strong> still holds within groups of adjacent attractors retaining<br />

real surface c<strong>on</strong>tacts, ensuring that the ngertips are at least ordered correctly.<br />

4.4.5.6 Analyzing Swaps <strong>on</strong> the Attractor Ring<br />

When applied to an attractor ring which is full of ngertips, the geometric<br />

interpretati<strong>on</strong>s of the c<strong>on</strong>tact pair swapping c<strong>on</strong>diti<strong>on</strong>s indicate exactly how much<br />

local deviati<strong>on</strong> in nger arrangement will be tolerated before nger identities are<br />

err<strong>on</strong>eously swapped. For example, c<strong>on</strong>sider the attractor ring <str<strong>on</strong>g>and</str<strong>on</strong>g> ve ngers in<br />

Figure 4.11. The ngers are arranged with the same relative angles as the attractors<br />

except the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> is translated about three centimeters toward the upper right<br />

with respect to the attractor ring. Since the c<strong>on</strong>tact pair swapping c<strong>on</strong>diti<strong>on</strong> for<br />

the distance-squared metric is invariant to translati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> since the c<strong>on</strong>tact pairs<br />

159


A1<br />

x<br />

F1<br />

o<br />

x<br />

A7<br />

x<br />

D<br />

A2<br />

F2<br />

o<br />

x<br />

A3<br />

F3<br />

o<br />

x<br />

A4<br />

A6<br />

x<br />

Figure 4.11: Tolerance of h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger pair deviati<strong>on</strong> in assignment<br />

of ve ngers to an attractor ring. Under the distance-squared<br />

metric, the correct assignments (heavy arrows) of ve ngers will be<br />

produced for any translati<strong>on</strong>. Furthermore, up to 90 of rotati<strong>on</strong> of<br />

the pinky (F5) about the ring nger (F4) from the default angle is<br />

guaranteed to be tolerated. Err<strong>on</strong>eous identity swapping commences<br />

when the angle of the perpendicular bisector (l<strong>on</strong>g dotted arrow)<br />

between A4 <str<strong>on</strong>g>and</str<strong>on</strong>g> A5 is reached. Even though the palm heels are<br />

not touching, the open (or dummy- lled) palm attractors are too far<br />

down to receive any nger c<strong>on</strong>tacts.<br />

160<br />

D<br />

F4<br />

o<br />

x<br />

A5<br />

F5<br />

o


c<strong>on</strong>strain <strong>on</strong>e another within the arc of nger attractors, the exchange sequence will<br />

nd the correctly ordered nger assignments as shown.<br />

Now suppose the pinky nger (F5) c<strong>on</strong>tact begins to rotate clockwise around<br />

the ring nger (F4). The pinky's identity willbemaintained correctly for a rotati<strong>on</strong><br />

of up to 90 from the default ring-pinky angle. After a rotati<strong>on</strong> of 90 both the<br />

ring (F4) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (F5) c<strong>on</strong>tacts will be aligned <strong>on</strong> their bisector, perpendicular<br />

to the segment joining the ring (A4) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (A5) attractors <str<strong>on</strong>g>and</str<strong>on</strong>g> parallel to the<br />

Vor<strong>on</strong>oi cell wall (perpendicular bisector of (A4-A5) segment) between the ring <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky attractors. In other words, the ring (F4) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (F5) c<strong>on</strong>tact projecti<strong>on</strong>s<br />

<strong>on</strong>to the ring-pinky attractor segment will be the same point, <str<strong>on</strong>g>and</str<strong>on</strong>g> their identities<br />

may swap unstably. Any rotati<strong>on</strong> past 90 would de nitely cause the ring ngertip<br />

(F4) to be assigned to the pinky attractor (A5) <str<strong>on</strong>g>and</str<strong>on</strong>g> the pinky ngertip (F5) to be<br />

assigned to the ring attractor (A4).<br />

Thus even in the face ofattractor ring misalignment, the tolerance for nger<br />

pair crossover can be determined precisely. Basically, the identi cati<strong>on</strong>s are most<br />

stable when the inter-c<strong>on</strong>tact angles match the inter-attractor angles. Identities of<br />

two ngers will begin to be swapped err<strong>on</strong>eously as the angle between them ap-<br />

proaches the angle of the perpendicular bisector between their attractors, which is<br />

usually available from the Vor<strong>on</strong>oi diagram. With the unsquared-Euclidean met-<br />

ric, this rule would <strong>on</strong>ly hold when the c<strong>on</strong>tacts were roughly centered between<br />

their attractor pair <strong>on</strong> the attractor bisector. Given the amount of translati<strong>on</strong> in<br />

Figure 4.11, the Euclidean metric probably would not produce the proper nger<br />

ordering even without nger pair rotati<strong>on</strong>.<br />

To underst<str<strong>on</strong>g>and</str<strong>on</strong>g> the identi cati<strong>on</strong>s which will result when <strong>on</strong>ly two to four<br />

ngers are touching the surface, leaving some nger attractors open, <strong>on</strong>e must com-<br />

bine the geometric interpretati<strong>on</strong> of assignment of <strong>on</strong>e c<strong>on</strong>tact to an attractor pair<br />

(Secti<strong>on</strong> 4.4.5.1, Figure 4.6, Equati<strong>on</strong> 4.20) with that of c<strong>on</strong>tact pair assignment<br />

161


(Secti<strong>on</strong> 4.4.5.2, Figure 4.8, Equati<strong>on</strong> 4.35). Since the single c<strong>on</strong>tact swapping c<strong>on</strong>-<br />

diti<strong>on</strong> is not as tolerant of translati<strong>on</strong> as the c<strong>on</strong>tact pair swapping c<strong>on</strong>diti<strong>on</strong>, the<br />

identi cati<strong>on</strong>s will become more <str<strong>on</strong>g>and</str<strong>on</strong>g> more vulnerable to corrupting translati<strong>on</strong>s as<br />

more attractors are left un lled. In general, nger identi cati<strong>on</strong>s can be err<strong>on</strong>eously<br />

shifted to the right or left by as many attractors as the number of open nger<br />

attractors (5 - number of touching ngers) under su cient horiz<strong>on</strong>tal translati<strong>on</strong>.<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g> c<strong>on</strong>tacts are rarely shifted into open palm attractors (Figure 4.11) because<br />

the palm attractors are so far below, meaning err<strong>on</strong>eous identi cati<strong>on</strong> would require<br />

a vertical misalignment ofmore than ve centimeters. Also, palm heels have fairly<br />

unique features which will be used to discriminately weight assignment to them in<br />

Secti<strong>on</strong> 4.4.6.<br />

Suppose the pinky nger c<strong>on</strong>tact (F5) is removed from Figure 4.11 <str<strong>on</strong>g>and</str<strong>on</strong>g> a<br />

dummy c<strong>on</strong>tact (D) is assigned to the pinky attractor (A5) in its place. This situ-<br />

ati<strong>on</strong> is shown in Figure 4.12. As so<strong>on</strong> as the swapping test is applied to the ring<br />

(A4) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (A5) attractor pair, the ring nger (F4) will be assigned to the pinky<br />

attractor (A5) since it is closer to the pinky attractor, i.e., <strong>on</strong> the right side of the<br />

perpendicular bisector of the attractor pair. The ring attractor (A4) will receive<br />

the dummy c<strong>on</strong>tact (D). When swap testing proceeds to the A3-A4 attractor pair,<br />

A3 will receive the dummy c<strong>on</strong>tact (D) <str<strong>on</strong>g>and</str<strong>on</strong>g> A4 will receive F3 for similar reas<strong>on</strong>s.<br />

After swap testing of the A2-A3 pair, the dummy c<strong>on</strong>tact (D) will arrive at A2, the<br />

index nger attractor, <str<strong>on</strong>g>and</str<strong>on</strong>g> stay there as shown in Figure 4.13. It will stay because<br />

for the given amount of h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>, the thumb (F1) is still closer to the thumb<br />

attractor (A1) than the index nger attractor (A2). In other words, no real c<strong>on</strong>tacts<br />

lie in the index nger Vor<strong>on</strong>oi cell, so the dummy c<strong>on</strong>tact remains there.<br />

Notice that though the assignments of the three remaining ngertips have<br />

been err<strong>on</strong>eously shifted to the right, the distance-squared c<strong>on</strong>tact pair swapping<br />

c<strong>on</strong>diti<strong>on</strong> will still maintain their proper ordering. The ordering is still governed by<br />

162


A1<br />

x<br />

F1<br />

o<br />

A7<br />

x<br />

x<br />

A2<br />

D<br />

F2<br />

o<br />

A3<br />

x<br />

o<br />

A4<br />

x<br />

A6<br />

x<br />

Figure 4.12: Identity swaps which occurs after the pinky nger c<strong>on</strong>tact is removed<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> replaced with a dummy c<strong>on</strong>tact (D). The assignments of the remaining<br />

ngertip c<strong>on</strong>tacts will shift right due to the h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong><br />

as the dummy c<strong>on</strong>tact propagates toward the index nger attractor.<br />

163<br />

F3<br />

D<br />

D<br />

o F4<br />

x<br />

A5


A1<br />

x<br />

o<br />

F1<br />

D<br />

A7<br />

x<br />

x<br />

A2<br />

D<br />

o<br />

x<br />

A3<br />

o<br />

x<br />

A4<br />

A6<br />

x<br />

Figure 4.13: The dummy c<strong>on</strong>tact (D) propagates to the index nger attractor<br />

when the pinky nger is removed. It remains there because no real<br />

surface c<strong>on</strong>tacts lie in the index nger Vor<strong>on</strong>oi cell.<br />

164<br />

F2<br />

F3<br />

D<br />

F4<br />

o<br />

x<br />

A5


inter-c<strong>on</strong>tact angles in the same way as in Figure 4.11, except that in this case the<br />

middle (F3) <str<strong>on</strong>g>and</str<strong>on</strong>g> ring (F4) nger identities will be swapped if the ring nger rotates<br />

more than 90 past the angle between the ring (A4) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (A5) attractors.<br />

4.4.6 Tuning the Attractor Ring with Weighted Vor<strong>on</strong>oi Diagrams<br />

As presented so far the attractors have been unweighted, which causes the<br />

Vor<strong>on</strong>oi cells formed from perpendicular bisectors to be shaped like polyg<strong>on</strong>s. Mul-<br />

tiplicatively weighting the distances to particular attractors causes the equidistant<br />

bisectors between c<strong>on</strong>tacts with di erent weightings to be circles instead of straight<br />

lines [116]. The center of these Apoll<strong>on</strong>ius circles lies al<strong>on</strong>g the line between the two<br />

attractors but to the outside of the attractor with the smaller weight [116]. Weighted<br />

Vor<strong>on</strong>oi cells can therefore be composed of arcs as well as straight lines, <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

Apoll<strong>on</strong>ius circles of attractors with large weights can c<strong>on</strong>tain \holes" caused by<br />

attractors with tiny weights [116]. By c<strong>on</strong>venti<strong>on</strong>, the distances are divided by the<br />

weightings wij, e.g. cij = d 2<br />

ij =wij, so that as the weighting of an attractor gets<br />

smaller, the attractor's Vor<strong>on</strong>oi cell does too, <str<strong>on</strong>g>and</str<strong>on</strong>g> vice versa.<br />

Static weightings of particular attractors can warp <str<strong>on</strong>g>and</str<strong>on</strong>g> resize the Vor<strong>on</strong>oi<br />

cells to better match the range of moti<strong>on</strong> of each h<str<strong>on</strong>g>and</str<strong>on</strong>g>part.For instance, since the<br />

thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky have a much wider range of moti<strong>on</strong> than the palm heels, it will<br />

be advantageous to shrink the palm heel Vor<strong>on</strong>oi cells <str<strong>on</strong>g>and</str<strong>on</strong>g> exp<str<strong>on</strong>g>and</str<strong>on</strong>g> the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky Vor<strong>on</strong>oi cells into space vacated by the palm cells.<br />

Dynamic weightings of particular attractors in proporti<strong>on</strong> to the strengths<br />

of distinguishing c<strong>on</strong>tact features will also enlarge or shrink certain Vor<strong>on</strong>oi cells<br />

in relati<strong>on</strong> to those of neighboring attractors. Attractor points whose Vor<strong>on</strong>oi cells<br />

appear dynamically enlarged to c<strong>on</strong>tacts with appropriate features are more likely to<br />

be assigned those c<strong>on</strong>tacts even in the face of large attractor ring alignment errors.<br />

While individual attractors can be weighted independently <str<strong>on</strong>g>and</str<strong>on</strong>g> the attractor ring as<br />

165


a whole can be translated from the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>, note that the positi<strong>on</strong>s of<br />

individual attractors with respect to the rest of the ring never need to be changed.<br />

4.4.6.1 C<strong>on</strong>stant Additive Weighting to the Distance Matrix<br />

Before applying any multiplicativeweights to the c<strong>on</strong>tact-attractor distances,<br />

a c<strong>on</strong>stant additive weight of about 2 cm 2 is added to each distance matrix entry,<br />

d 2<br />

ij. Since this o set is applied uniformly to every distance, it has no e ect when<br />

assignments are unweighted except adding 2M to all assignment sums. Thus it does<br />

not a ect the structure of the unweighted Vor<strong>on</strong>oi diagram. Its purpose will be<br />

to ensure dynamic c<strong>on</strong>tact feature weightings are e ective even when a c<strong>on</strong>tact is<br />

precisely <strong>on</strong> top of an attractor, that is when d 2<br />

ij<br />

0. This e ectiveness depends<br />

<strong>on</strong> the fact that in such \compound-weighted" Vor<strong>on</strong>oi diagrams, the combinati<strong>on</strong><br />

of the c<strong>on</strong>stant o set <str<strong>on</strong>g>and</str<strong>on</strong>g> a tiny weighting can cause a Vor<strong>on</strong>oi cell to disappear<br />

entirely [116]. Likewise, the combinati<strong>on</strong> of the c<strong>on</strong>stant o set<str<strong>on</strong>g>and</str<strong>on</strong>g>ahuge weighting<br />

can cause the Vor<strong>on</strong>oi cell of <strong>on</strong>e attractor to take over the entire surface.<br />

To illustrate this, suppose a c<strong>on</strong>tact's features are inc<strong>on</strong>sistent with an at-<br />

tractor, causing its feature weighting wij for that attractor to be small, yet the<br />

c<strong>on</strong>tact lies right <strong>on</strong>top of the attractor. Without the c<strong>on</strong>stant distance o set, the<br />

weighted distance will still approach zero, i.e., d 2<br />

ij =wij 0, not re ecting the feature<br />

mismatch. With the c<strong>on</strong>stant o set, the weighted distance (d 2<br />

ij +2)=wij<br />

2=wij<br />

will always re ect the weighting somewhat, even as the Euclidean distance goes to<br />

zero. The choice of 2 cm 2 re ects both empirical testing <str<strong>on</strong>g>and</str<strong>on</strong>g> the argument that since<br />

attractor ring alignment errors average acentimeter or two <str<strong>on</strong>g>and</str<strong>on</strong>g> ngers have ranges<br />

of moti<strong>on</strong> of several centimeters from their default positi<strong>on</strong>s, precise alignment ofa<br />

c<strong>on</strong>tact over an attractor is more happenstance than a str<strong>on</strong>g indicator of c<strong>on</strong>tact<br />

identity.<br />

What does it mean for a Vor<strong>on</strong>oi cell to shrink <str<strong>on</strong>g>and</str<strong>on</strong>g> vanish? If the Vor<strong>on</strong>oi<br />

cell is from the diagram of the entire attractor ring, it simply means that a sole<br />

166


h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact will not be assigned to the vanished cell's attractor, regardless of the<br />

c<strong>on</strong>tact's positi<strong>on</strong> <strong>on</strong> the surface. However, when multiple c<strong>on</strong>tacts are competing<br />

for attractors, an attractor whose cell has vanished from the Vor<strong>on</strong>oi diagram can<br />

still receive a c<strong>on</strong>tact simply because all other nearby attractors may already be<br />

assigned to other c<strong>on</strong>tacts.<br />

4.4.6.2 Static Palm Heel Weightings<br />

In the unweighted attractor ring of Figure 4.5 <strong>on</strong> Page 141, the palm attrac-<br />

tors had to be placed a couple centimeters lower than the measured default palm<br />

heel positi<strong>on</strong>s. Moving these attractors forward to their proper vertical positi<strong>on</strong>s<br />

of -4 cm would have enlarged the palm heel Vor<strong>on</strong>oi cells too much at the cost of<br />

thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky Vor<strong>on</strong>oi cell sizes. Since the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky have much wider<br />

ranges of moti<strong>on</strong> with respect to h<str<strong>on</strong>g>and</str<strong>on</strong>g> center than the palm heels, it would make<br />

much more sense for the palm heel Vor<strong>on</strong>oi cells to be more compact than the thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> pinky cells.<br />

The MTS achieves compact palm heel Vor<strong>on</strong>oi cells by including a small<br />

weighting <strong>on</strong> all squared distances between c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel attractors. This<br />

weighting has been empirically chosen to be .25, i.e., wi6 = wi7 = :25. Since the<br />

weights modify the squared distance, this e ectively doubles the unsquared Eu-<br />

clidean distance to a palm heel attractor compared to distances to other attractors.<br />

As shown in Figure 4.14, this causes the bisectors between the inner palm heel <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> between the outer palm heel <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky to c<strong>on</strong>tract into circles around<br />

the palm heels. Since the relative weightings between the palm heels are the same,<br />

the bisector between inner <str<strong>on</strong>g>and</str<strong>on</strong>g> outer palm heels c<strong>on</strong>tinues to be a perpendicular<br />

line. Because the weightings limit the lateral <str<strong>on</strong>g>and</str<strong>on</strong>g> upward extent of the palm heel<br />

Vor<strong>on</strong>oi cells, with the weightingsitissafetomove the palm heel attractors forward<br />

to their actual measured default positi<strong>on</strong>s, as is d<strong>on</strong>e in Figure 4.14.<br />

167


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

A1<br />

A2 A3 A4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

Figure 4.14: Vor<strong>on</strong>oi diagram with distances from c<strong>on</strong>tacts anywhere in the plane<br />

to palm heels weighted to be twice as far as normal.<br />

168<br />

A7<br />

A6<br />

A5


With these weighted palm heel attractors, the weighted Vor<strong>on</strong>oi cells match<br />

the range of moti<strong>on</strong> of each nger quite well. This is shown by the nger moti<strong>on</strong> tra-<br />

jectories superimposed <strong>on</strong> the weighted Vor<strong>on</strong>oi diagram in Figures 4.15 <str<strong>on</strong>g>and</str<strong>on</strong>g> 4.16.<br />

Figure 4.15 c<strong>on</strong>tains the entire range of nger exi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> extensi<strong>on</strong>, from out-<br />

stretched h<str<strong>on</strong>g>and</str<strong>on</strong>g> to st, for the author's h<str<strong>on</strong>g>and</str<strong>on</strong>g>. At the end of the trajectories the<br />

ngertips are actually curled under so the knuckles begin to touch the surface. The<br />

palms remain xed <strong>on</strong> the surface throughout the exing.<br />

Note that each nger remains within its Vor<strong>on</strong>oi cell over the entire moti<strong>on</strong><br />

range. This dem<strong>on</strong>strates that the isolated touchdown of any nger anywhere al<strong>on</strong>g<br />

its exi<strong>on</strong> range will result in correct identi cati<strong>on</strong> as l<strong>on</strong>g as the horiz<strong>on</strong>tal align-<br />

ment of the attractor ring is correct. The horiz<strong>on</strong>tal alignment as determined by the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set estimates will generally be perfect as shown when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is centered<br />

<strong>on</strong> its default positi<strong>on</strong> or if both palm heels are resting anywhere <strong>on</strong> the surface.<br />

If some other ngers are or were recently touching the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> were properly<br />

identi ed, the horiz<strong>on</strong>tal o set estimate will still be within a couple centimeters of<br />

the correct alignment but probably will not be quite as good as shown. When all<br />

four ngertips are touching the surface, the global assignment optimizati<strong>on</strong> will nd<br />

their correct identities by exclusi<strong>on</strong> from the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm attractors, regardless<br />

of attractor ring alignment.<br />

Figure 4.16 dem<strong>on</strong>strates the superb t of the weighted Vor<strong>on</strong>oi diagram<br />

when <strong>on</strong>e nger at a time sweeps out its circular range of moti<strong>on</strong> while all oth-<br />

ers remain resting in their default positi<strong>on</strong>s. Note how the circular sweeps of the<br />

thumb, index, <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky ngers are closely circumscribed by their Vor<strong>on</strong>oi cells.<br />

Though the h<str<strong>on</strong>g>and</str<strong>on</strong>g> started in default positi<strong>on</strong>, the author did not look at the Vor<strong>on</strong>oi<br />

diagram while sweeping out the circles, so it is surprising that the nger sweeps so<br />

closely match aVor<strong>on</strong>oi diagram c<strong>on</strong>structed <strong>on</strong>ly from default nger positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

empirically determined palm heel weightings.<br />

169


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

A1<br />

A2 A3 A4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

Figure 4.15: Weighted Vor<strong>on</strong>oi diagram with exing nger trajectories (tiny arrows)<br />

superimposed. The ngers of the author's h<str<strong>on</strong>g>and</str<strong>on</strong>g> started fully<br />

extended <str<strong>on</strong>g>and</str<strong>on</strong>g> outstretched <str<strong>on</strong>g>and</str<strong>on</strong>g> then exed simultaneously into a st.<br />

Note that the palm heels remain stati<strong>on</strong>ary over their attractors <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

each nger remains within its Vor<strong>on</strong>oi cell over the entire moti<strong>on</strong><br />

range.<br />

170<br />

A7<br />

A6<br />

A5


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

A1<br />

A2 A3 A4<br />

−6<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (cm)<br />

Figure 4.16: Weighted Vor<strong>on</strong>oi diagram with rotating nger trajectories (tiny arrows)<br />

superimposed. All ngers of the author's h<str<strong>on</strong>g>and</str<strong>on</strong>g> started in their<br />

default positi<strong>on</strong>s rightover the attractors. One at a time, the thumb,<br />

index <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky ngers were picked up <str<strong>on</strong>g>and</str<strong>on</strong>g> made to sweep out their<br />

range of moti<strong>on</strong> while the other ngers remained resting in their<br />

default positi<strong>on</strong>s. Note that the palms were allowed to lift o the<br />

surface <str<strong>on</strong>g>and</str<strong>on</strong>g> shift laterally to capture the full thumb range, but the<br />

palms remained <strong>on</strong> the surface at all other times. Because the middle<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngers havelittleroomtomove laterally while their adjacent<br />

ngers are resting, they were left out of the sweeping experiment.<br />

171<br />

A7<br />

A6<br />

A5


4.4.6.3 Dynamic Feature Weightings<br />

The dynamic c<strong>on</strong>tact-attractor distance weightings depend <strong>on</strong> whether the<br />

geometric features of the given c<strong>on</strong>tact match those expected from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> part<br />

that the attractor represents. Since the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels exhibit the most<br />

distinguishing geometric features, weighting functi<strong>on</strong>s are computed for the thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel attractors, <str<strong>on</strong>g>and</str<strong>on</strong>g> distances to ngertip attractors are unchanged. Each<br />

weighting functi<strong>on</strong> is the product of several factor versus feature relati<strong>on</strong>ships. Each<br />

weighting factor is designed to take <strong>on</strong> a default value of 1 when its feature measure-<br />

ment provides no distinguishing informati<strong>on</strong>, take <strong>on</strong> larger values if the measured<br />

c<strong>on</strong>tact feature uniquely resembles the given thumb or palm heel, <str<strong>on</strong>g>and</str<strong>on</strong>g> take<strong>on</strong>smaller<br />

values if the measured feature is inc<strong>on</strong>sistent with the given attractor's h<str<strong>on</strong>g>and</str<strong>on</strong>g> part.<br />

Thus the larger a particular feature factor for a particular c<strong>on</strong>tact-attractor pair,<br />

the larger the attractor's Vor<strong>on</strong>oi cell will appear to the c<strong>on</strong>tact, <str<strong>on</strong>g>and</str<strong>on</strong>g> the more likely<br />

the c<strong>on</strong>tact will fall within that cell <str<strong>on</strong>g>and</str<strong>on</strong>g> be assigned to its attractor.<br />

Since each c<strong>on</strong>tact can have a di erent feature weighting for matching to the<br />

same attractor, each c<strong>on</strong>tact can encounter a di erently warped Vor<strong>on</strong>oi diagram.<br />

For example, a su ciently large thumb weighting for a c<strong>on</strong>tact could make the<br />

thumb attractor so powerful that the Vor<strong>on</strong>oi diagram encountered by the c<strong>on</strong>tact<br />

could c<strong>on</strong>tain <strong>on</strong>ly <strong>on</strong>e Vor<strong>on</strong>oi cell, a thumb Vor<strong>on</strong>oi cell covering the whole sur-<br />

face. In actuality, thumb c<strong>on</strong>tact features are never unambiguous enough to warrant<br />

weightings this large.<br />

The weighting functi<strong>on</strong>s were arrived at by trial <str<strong>on</strong>g>and</str<strong>on</strong>g> error. Since each weight-<br />

ing functi<strong>on</strong> can move the boundaries of <strong>on</strong>e Vor<strong>on</strong>oi cell, the experimenter typically<br />

decides from nger moti<strong>on</strong> ranges where each boundary should be. The current<br />

boundary positi<strong>on</strong>s can be determined by repeatedly lifting <str<strong>on</strong>g>and</str<strong>on</strong>g> touching a nger<br />

over di erent spots until a surface positi<strong>on</strong> is found where nger identity becomes<br />

unstable, alternating between two Vor<strong>on</strong>oi cells each time the nger touches. The<br />

172


experimenter then adjusts the amplitude of the weighting functi<strong>on</strong> until the bound-<br />

ary moves to the desired locati<strong>on</strong>. Care must be taken to balance the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

palm weightings or the boundary between thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm heel Vor<strong>on</strong>oi cells<br />

may shift unintenti<strong>on</strong>ally.<br />

4.4.6.4 Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> Inner Palm Orientati<strong>on</strong> Factor<br />

Right Orientati<strong>on</strong> Factor<br />

1<br />

Figure 4.17 shows the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> right inner palm heel orientati<strong>on</strong><br />

0<br />

0 20 40 60 80 100 120 140 160 180<br />

C<strong>on</strong>tact Orientati<strong>on</strong> (degrees)<br />

Figure 4.17: Right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm heel orientati<strong>on</strong> factor, Piworient[n],<br />

versus orientati<strong>on</strong> of the c<strong>on</strong>tact's tted ellipse, Pi [n].<br />

factor versus orientati<strong>on</strong> of a c<strong>on</strong>tact's tted ellipse. Orientati<strong>on</strong> of these h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts<br />

tends to be about 120 , whereas ngertip <str<strong>on</strong>g>and</str<strong>on</strong>g> outer palm heel c<strong>on</strong>tacts are usually<br />

very close to vertical (90 ), <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> of the left thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> left inner palm<br />

heel averages 60 . The right orientati<strong>on</strong> factor therefore approaches a maximum at<br />

120 . It approaches the default value of 1 at 0 , 90 , <str<strong>on</strong>g>and</str<strong>on</strong>g> 180 where orientati<strong>on</strong> is<br />

inc<strong>on</strong>clusive of identity, <str<strong>on</strong>g>and</str<strong>on</strong>g> reaches a minimum at 60 , the favored orientati<strong>on</strong> of<br />

173


the opposite thumb or palm heel. The corresp<strong>on</strong>ding relati<strong>on</strong>ship for the left thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm heel orientati<strong>on</strong> factor is ipped about 90 .<br />

4.4.6.5 Thumb Size Factor<br />

Thumb Size Factor<br />

1<br />

Figure 4.18 approximately plots the thumb size factor. Since thumb size as<br />

0<br />

0 1 2 3 4 5 6<br />

C<strong>on</strong>tact Size (Normalized Total Proximity)<br />

Figure 4.18: Thumb size factor, Piwthumb size[n] versus a c<strong>on</strong>tact's total proximity,<br />

Piz[n].<br />

indicated by total proximity tends to peak at two or three times the size of the<br />

typical curled ngertip, the thumb size factor peaks at these sizes. Unlike palm<br />

heels, thumb c<strong>on</strong>tacts cannot be much larger than two or three times the default<br />

ngertip size, so the thumb factor drops back down for larger sizes. Since any h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

part can appear small when touching the surface very lightly or just starting to<br />

touchdown, small size is not distinguishing, so the size factor defaults to 1 for very<br />

small c<strong>on</strong>tacts.<br />

174


4.4.6.6 Palm Heel Size Factor<br />

Palm Heel Size Factor<br />

1<br />

Figure 4.19 approximately plots the palm heel size factor. As more pressure<br />

0<br />

0 1 2 3 4 5 6<br />

Total Proximity Divided by Eccentricity<br />

Figure 4.19: Palm heel size factor, Piwpalm size versus the ratio of a c<strong>on</strong>tact's total<br />

proximity to its eccentricity, Pz[n]=P [n].<br />

is applied to the palms, the palm heel c<strong>on</strong>tacts can grow quite large, remaining fairly<br />

round as they do so. Thus the palm heel size factor is much like the thumb size<br />

factor except the palm factor is free to increase inde nitely. For palm heels larger<br />

than the maximum expected thumb size, the palm heel size factor becomes so large<br />

that the palm heel Vor<strong>on</strong>oi cells engulf the entire surface. Thus if the full weight<br />

of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s rests <strong>on</strong> the palm heels <str<strong>on</strong>g>and</str<strong>on</strong>g> fully attens them, they will be correctly<br />

identi ed anywhere <strong>on</strong> the surface, regardless of attractor ring alignment.<br />

However, ngertip c<strong>on</strong>tacts can grow by becoming taller as the ngers are<br />

attened. But since nger width is c<strong>on</strong>stant, the eccentricity of an ellipse tted to a<br />

growing ngertip c<strong>on</strong>tact increases in proporti<strong>on</strong> to the height. To prevent attened<br />

ngers from having a large palm factor, the size measure is modi ed to be the ratio<br />

of total c<strong>on</strong>tact proximity to c<strong>on</strong>tact eccentricity. This has little e ect for palms,<br />

175


whose eccentricity remains near 1, but cancels the high proximities of attened<br />

ngertips. Though directly using the width from the c<strong>on</strong>tact's tted ellipse would<br />

be less accurate for low resoluti<strong>on</strong> electrode arrays, the proximity to eccentricity<br />

ratio basically indicates c<strong>on</strong>tact width.<br />

4.4.6.7 Palm Heel Separati<strong>on</strong> Factor<br />

Another important distinguishing feature of the palm heels is that wrist<br />

anatomy keeps the centroids of their c<strong>on</strong>tacts separated from <strong>on</strong>e other <str<strong>on</strong>g>and</str<strong>on</strong>g> from<br />

the ngers by several centimeters. This is not true of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips,<br />

which can be moved within a centimeter of <strong>on</strong>e another via exible joints. Min-<br />

imum c<strong>on</strong>tact separati<strong>on</strong> can be measured without knowing c<strong>on</strong>tact identities by<br />

searching all c<strong>on</strong>tacts for the nearest neighbor c<strong>on</strong>tact of a given c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g> mea-<br />

suring the distance to that neighbor. As plotted approximately in Figure 4.20, the<br />

Palm Separati<strong>on</strong> Factor<br />

1<br />

0<br />

0 1 2 3 4 5 6 7 8<br />

Distance to Nearest Neighbor C<strong>on</strong>tact (cm)<br />

Figure 4.20: Palm heel separati<strong>on</strong> factor, Piwpalm sep[n] versus the Euclidean distance<br />

between c<strong>on</strong>tact Pi <str<strong>on</strong>g>and</str<strong>on</strong>g> its nearest neighbor c<strong>on</strong>tact.<br />

176


palm separati<strong>on</strong> factor quickly decreases as the separati<strong>on</strong> between the c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

its nearest neighbor falls below a few centimeters, indicating that the given c<strong>on</strong>tact<br />

(<str<strong>on</strong>g>and</str<strong>on</strong>g> its nearest neighbor) are not palm heels.<br />

Unlike the size <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> factors, which <strong>on</strong>ly become reliable as the<br />

weight oftheh<str<strong>on</strong>g>and</str<strong>on</strong>g>s fully compresses the palms, the palm separati<strong>on</strong> factor is espe-<br />

cially helpful in distinguishing pairs of adjacent ngertips from palm heels because<br />

it applies equally well to light, small c<strong>on</strong>tacts. For small separati<strong>on</strong>s, this weighting<br />

factor becomes so small that the palm heel Vor<strong>on</strong>oi cells vanish. Therefore, a pair of<br />

c<strong>on</strong>tacts which arewithinabout3cmof<strong>on</strong>eanother will not be identi ed as palm<br />

heels, regardless of their positi<strong>on</strong> <strong>on</strong> the surface or the alignment of the attractor<br />

ring. However, the palm separati<strong>on</strong> factor should <strong>on</strong>ly be made this in uential if the<br />

segmentati<strong>on</strong> system always either merges the two palm heels into <strong>on</strong>e huge palm<br />

c<strong>on</strong>tact or divides the palm across its central vertical crease into exactly two heel<br />

c<strong>on</strong>tacts. If the segmentati<strong>on</strong> system err<strong>on</strong>eously splits <strong>on</strong>e of the palm heels into<br />

two c<strong>on</strong>tacts which are less than 3 cm apart, the small separati<strong>on</strong> factor which re-<br />

sults can cause both c<strong>on</strong>tacts to be identi ed err<strong>on</strong>eously as ngers, again regardless<br />

of the alignment oftheattractor ring.<br />

4.4.6.8 Forepalm Attractors <str<strong>on</strong>g>and</str<strong>on</strong>g> Weightings<br />

The MTS includes four additi<strong>on</strong>al attractors near the center of the attractor<br />

ring to h<str<strong>on</strong>g>and</str<strong>on</strong>g>le forepalms c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> other extra groups from segmentati<strong>on</strong> of<br />

attened palms. This increases the size of the c<strong>on</strong>tact attractor distance matrix<br />

to 11 11. Since the forepalms typically do not touch the surface unless the rest<br />

of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is attened <strong>on</strong>to the surface as well, the forepalm attractors must be<br />

weighted such that c<strong>on</strong>tacts near h<str<strong>on</strong>g>and</str<strong>on</strong>g> center are assigned to them <strong>on</strong>ly when the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> is attened. When the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not attened, c<strong>on</strong>tacts near h<str<strong>on</strong>g>and</str<strong>on</strong>g> center might<br />

be ngers accessing keys <strong>on</strong> the bottom row of the key layout <str<strong>on</strong>g>and</str<strong>on</strong>g> should not be<br />

identi ed as forepalms.<br />

177


The easiest way to determine if the h<str<strong>on</strong>g>and</str<strong>on</strong>g> or palm is attening is to measure<br />

the total proximity of all c<strong>on</strong>tacts assigned to the h<str<strong>on</strong>g>and</str<strong>on</strong>g>, Htotalz[n]. A forepalm<br />

weighting functi<strong>on</strong> is devised to be so small when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not attened that the<br />

forepalm Vor<strong>on</strong>oi cells totally vanish:<br />

wi�8;11 =<br />

1<br />

max (2� (8 ; Htotalz[n]))<br />

(4.41)<br />

Only when the total h<str<strong>on</strong>g>and</str<strong>on</strong>g> proximity Htotalz[n] becomes large due to nger or palm<br />

attening will the forepalm weightings be large enough that their Vor<strong>on</strong>oi cells<br />

appear near the center of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. To discourage ngers or palms away fromh<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

center from being assigned to forepalm attractors, forepalm entries in the c<strong>on</strong>tact-<br />

attractor distance matrix are squared again, making forepalm assignment costs vary<br />

with the fourth power of Euclidean distance. The nal forepalm assignment costs<br />

[ci�8;11] canthen be written:<br />

ci�8;11 =max(2� (8 ; Htotalz[n])) (d 2<br />

i�8;11 +2) 2<br />

4.4.6.9 The Fully Weighted Assignment Cost Matrix<br />

(4.42)<br />

All of the static <str<strong>on</strong>g>and</str<strong>on</strong>g> dynamic weightings are combined to form a fully weighted<br />

assignment costmatrix [cij], where:<br />

cij =<br />

8<br />

><<br />

>:<br />

(d 2<br />

ij +2)=(Piwthumb size[n]Piworient[n]) if j == 1<br />

(d 2<br />

ij +2) if 2


where cij is the weighted distance from c<strong>on</strong>tact i to attractor j, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact i <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attractor j are c<strong>on</strong>sidered assigned to <strong>on</strong>e another when i j. Though the various<br />

weightings can warp the Vor<strong>on</strong>oi cells in complex ways which were not anticipated<br />

in the design of the combinatorial search exchange sequence (Secti<strong>on</strong> 4.4.4.4), no<br />

c<strong>on</strong>vergence failures have been noticed as l<strong>on</strong>g as palm attractors are allowed to<br />

swap with any other attractor <strong>on</strong> the ring. Making the exchange neighborhoods of<br />

palm attractors include all other attractors ensures that when a palm Vor<strong>on</strong>oi cell<br />

vanishes it can give up its c<strong>on</strong>tact to any nger attractor, or when a palm Vor<strong>on</strong>oi<br />

cell engulfs the surface it can accept ac<strong>on</strong>tact from any nger attractor.<br />

4.4.6.10 Tolerance of Di erent <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Sizes<br />

Though the default nger positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> thus the attractor positi<strong>on</strong>s were<br />

determined from the author's medium-sized male h<str<strong>on</strong>g>and</str<strong>on</strong>g>, anthropomorphic data sug-<br />

gests that the given attractor ring will perform well for most adult h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Wagner's<br />

study [150] of anthopometry <str<strong>on</strong>g>and</str<strong>on</strong>g> biomechanics in the pianist's h<str<strong>on</strong>g>and</str<strong>on</strong>g> found less than<br />

a 10% st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard deviati<strong>on</strong> in all h<str<strong>on</strong>g>and</str<strong>on</strong>g> shape parameters except the prominences (rel-<br />

ative lengths with h<str<strong>on</strong>g>and</str<strong>on</strong>g> attened) of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky. While male h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are<br />

<strong>on</strong> average nearly 10% larger than female h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, the range of adult h<str<strong>on</strong>g>and</str<strong>on</strong>g> sizes for a<br />

given h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture is much narrower than the range of nger exi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> extensi<strong>on</strong><br />

tolerated in Figure 4.15. Thus the <strong>on</strong>ly people for which the attractor ring might<br />

need to be resized or reshaped would be very small children.<br />

The feature weighting functi<strong>on</strong>s are more sensitive to h<str<strong>on</strong>g>and</str<strong>on</strong>g> size variati<strong>on</strong> than<br />

the attractor ring itself. For example, the palm heel separati<strong>on</strong> factor cuts o sharply<br />

at 4 cm <str<strong>on</strong>g>and</str<strong>on</strong>g> might become err<strong>on</strong>eously small for smaller h<str<strong>on</strong>g>and</str<strong>on</strong>g>s whose palm heels<br />

are as close as 3 cm to <strong>on</strong>e another. Luckily, palm heel separati<strong>on</strong> would actually<br />

be much easier to measure <str<strong>on</strong>g>and</str<strong>on</strong>g> adapt to for individual operators than nger lengths<br />

since the palm heels are immobile relative to <strong>on</strong>e another. The system could power<br />

up assuming a small palm heel separati<strong>on</strong> to accomodate operators with small h<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

179


Then, the actual palm heel separati<strong>on</strong> could be measured up<strong>on</strong> the rst c<strong>on</strong> rmed<br />

touchdown of both palm heels, <str<strong>on</strong>g>and</str<strong>on</strong>g> this measured palm heel separati<strong>on</strong> could then<br />

be used to calibrate the in ecti<strong>on</strong> points of the palm heel separati<strong>on</strong> functi<strong>on</strong> of<br />

Figure 4.20.<br />

Fatter ngers cause larger total proximities for all c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g> thus cause<br />

the proximity in ecti<strong>on</strong> points of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heel size factors to become<br />

misaligned. Modi cati<strong>on</strong>s to the thickness of the surface dielectric can also scale all<br />

proximities <str<strong>on</strong>g>and</str<strong>on</strong>g> thus disrupt the calibrati<strong>on</strong> of the proximity in ecti<strong>on</strong> points. Such<br />

variati<strong>on</strong>s in proximity scaling can potentially be dealt with by adapting the average<br />

ngertip proximity, ZaverageF ingertip in Equati<strong>on</strong> 3.20, to peak ngertip proximities<br />

when the ngertips are normal to the surface.<br />

4.4.7 Thumb Veri cati<strong>on</strong><br />

The identi cati<strong>on</strong>s produced by this attractor assignment method are highly<br />

reliable when all ve ngers are touching the surface or when thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm<br />

features are unambiguous. Checking that the horiz<strong>on</strong>tal coordinates for identi ed<br />

ngertip c<strong>on</strong>tacts are in increasing order easily veri es that ngertip identities are<br />

not err<strong>on</strong>eously swapped. However, when <strong>on</strong>ly two to four ngers are touching,<br />

yet no nger str<strong>on</strong>gly exhibits thumb size or orientati<strong>on</strong> features, the assignment<br />

of the innermost nger c<strong>on</strong>tact may wr<strong>on</strong>gly indicate whether this c<strong>on</strong>tact is the<br />

thumb because distance-squared assignment is sometimes too lenient aboutthumb-<br />

ngertip angles <str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong>s. In this case, the MTS employs a thumb veri cati<strong>on</strong><br />

process to take further measurements between the innermost nger c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

other ngers. If these further measurements str<strong>on</strong>gly suggest the innermost nger<br />

c<strong>on</strong>tact identity is wr<strong>on</strong>g, the thumb veri cati<strong>on</strong> process changes the assignment<br />

of the innermost nger c<strong>on</strong>tact. Once the nger assignments are veri ed, statistics<br />

about the assignments within each h<str<strong>on</strong>g>and</str<strong>on</strong>g> such as the number of touching ngertips<br />

180


are compiled. These statistics provide c<strong>on</strong>venient summaries of identi cati<strong>on</strong> results<br />

for other modules.<br />

Figure 4.21 shows the steps within the thumb veri cati<strong>on</strong> process. The rst<br />

is to compute several velocity, separati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> angle factors for the innermost c<strong>on</strong>-<br />

tact identi ed as a nger relative to the other c<strong>on</strong>tacts identi ed as ngers. Since<br />

these inter-path measurements presuppose a c<strong>on</strong>tact identity ordering, they could<br />

not have easily been included as attractor distance weightings because c<strong>on</strong>tact iden-<br />

tities are not known until the attractor distance minimizati<strong>on</strong> is complete. For the<br />

descripti<strong>on</strong>s below, let FI be the innermost c<strong>on</strong>tact tentatively identi ed as a nger,<br />

FN be the next innermost nger c<strong>on</strong>tact, <str<strong>on</strong>g>and</str<strong>on</strong>g> FO be the outermost nger c<strong>on</strong>tact.<br />

4.4.7.1 Inner <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Separati<strong>on</strong> Factor<br />

The separati<strong>on</strong> between thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> index nger is often larger than the sep-<br />

arati<strong>on</strong>s between ngertips, but all separati<strong>on</strong>s tend to grow asthe ngers are out-<br />

stretched. Therefore an inner separati<strong>on</strong> factor inner separati<strong>on</strong> fact is de ned<br />

as the ratio of the distance between the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> next innermost nger c<strong>on</strong>-<br />

tacts to the average of the distances between other adjacent ngertip c<strong>on</strong>tacts,<br />

avg separati<strong>on</strong>:<br />

q<br />

(FIx ; FNx)<br />

inner separati<strong>on</strong> fact =min(1�<br />

2 +(FIy ; FNy) 2<br />

) (4.45)<br />

avg separati<strong>on</strong><br />

The factor is clipped to be greater than <strong>on</strong>e since an innermost separati<strong>on</strong> less than<br />

the average can occur regardless of whether thumb or index nger is the innermost<br />

nger touching the surface. In case there are <strong>on</strong>ly two nger c<strong>on</strong>tacts, a default<br />

average separati<strong>on</strong> of 2-3 cm is used. This factor tends to become larger than <strong>on</strong>e if<br />

the innermost c<strong>on</strong>tact is actually the thumb but remains near <strong>on</strong>e if the innermost<br />

c<strong>on</strong>tact is a ngertip.<br />

181


START<br />

COMPUTE INTER-PATH<br />

THUMB FACTORS<br />

COMBINE WITH THUMB SIZE<br />

& ORIENTATION FACTORS<br />

OF INNERMOST AND NEXT<br />

INNERMOST CONTACT<br />

combined_thumb_fact ><br />

is_thumb_thresh?<br />

Y<br />

combined_thumb_fact <<br />

not_thumb_thresh?<br />

Y<br />

INNERMOST<br />

ASSIGNED TO<br />

THUMB?<br />

Y<br />

SHIFT INNERMOST<br />

PATHS AWAY FROM<br />

THUMB ATTRACTOR<br />

N<br />

N<br />

N<br />

INNERMOST<br />

ASSIGNED TO<br />

THUMB?<br />

EXISTING<br />

ASSIGNMENTS<br />

OK<br />

END<br />

Y<br />

N<br />

SHIFT INNERMOST<br />

PATH TO THUMB<br />

ATTRACTOR<br />

Figure 4.21: Flow chart of the thumb presence veri cati<strong>on</strong> algorithm.<br />

182


183<br />

pinch gesture, the thumb may start pinched against the index or middle ngertip,<br />

when performing h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling or rotati<strong>on</strong> gestures. For instance, during an anti-<br />

thumb postures, but users often exceed the above cited separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> angle ranges<br />

The inner separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> angle factors are highly discriminating of neutral<br />

between 30 <str<strong>on</strong>g>and</str<strong>on</strong>g> minus 60 , producing a very small angle factor.<br />

measured angle between innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> next innermost c<strong>on</strong>tact would probably be<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> 120 . If the innermost nger c<strong>on</strong>tact is actually from the index ngertip, the<br />

Figure 4.22: Right inner angle factor, angle fact, versus the vector angle between<br />

the two innermost c<strong>on</strong>tacts identi ed as ngers.<br />

−150 −100 −50 0 50 100 150<br />

0<br />

Right Inner Angle Factor<br />

1<br />

inner angle factor in Figure 4.22, which peaks at 60 <str<strong>on</strong>g>and</str<strong>on</strong>g> approaches 0 toward 0<br />

the thumb adducts under the palm. This is re ected in the approximate plot of the<br />

most often 60 , though it ranges to 0 as the thumb moves forward <str<strong>on</strong>g>and</str<strong>on</strong>g> to 120 as<br />

For the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> the angle of the vector from the thumb to the index nger is<br />

nger c<strong>on</strong>tacts can help indicate whether the innermost nger c<strong>on</strong>tact is the thumb.<br />

the ngers are curled into a st, the angle between the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> next innermost<br />

Since the thumb rarely moves further forward than the ngertips except when<br />

4.4.7.2 Inner <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Angle Factor


ut then the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertip slide away from <strong>on</strong>e another. This causes the<br />

inner separati<strong>on</strong> factor to be relatively small at the start of the gesture. Similarly,<br />

the thumb-index angle can also exceed the range expected by the inner angle factor<br />

at the beginning or end of h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> gestures, wherein the ngers rotate as if<br />

turning a screw. To compensate, the inner separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> angle factors are fuzzy<br />

OR'ed with expansi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> factors which are selective for symmetric nger<br />

scalings or rotati<strong>on</strong>s centered <strong>on</strong> a point between the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips.<br />

4.4.7.3 Thumb-<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Expansi<strong>on</strong> Factor<br />

When de ned by the following approximate equati<strong>on</strong>, the expansi<strong>on</strong> factor<br />

peaks as the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost nger c<strong>on</strong>tacts slide at approximately the<br />

same speed <str<strong>on</strong>g>and</str<strong>on</strong>g> in opposite directi<strong>on</strong>s, parallel to the vector between them:<br />

expansi<strong>on</strong> factor[n]<br />

q<br />

; FIspeed[n] FOspeed[n]<br />

cos (FIdir[n] ; 6 (FI[n]�FO[n]))<br />

cos (FOdir[n] ; 6 (FI[n]�FO[n])) (4.46)<br />

clipped expansi<strong>on</strong> fact[n] = max (0� expansi<strong>on</strong> factor[n]) (4.47)<br />

where 6 (FI[n]�FO[n]) is the angle between the ngers:<br />

6 (FI[n]�FO[n]) = arctan<br />

FIy[n] ; FOy[n]<br />

FIx[n] ; FOx[n]<br />

!<br />

(4.48)<br />

Translati<strong>on</strong>al moti<strong>on</strong>s of both ngers in the same directi<strong>on</strong> produce negative factor<br />

values which are clipped to zero by the max operati<strong>on</strong>. Computing the geometric<br />

rather than arithmetic mean of the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost speeds aids selectivity<br />

by producing a large expansi<strong>on</strong> factor <strong>on</strong>ly when speeds of both c<strong>on</strong>tacts are high.<br />

4.4.7.4 Thumb-<str<strong>on</strong>g>Finger</str<strong>on</strong>g>tip Rotati<strong>on</strong> Factor<br />

The rotati<strong>on</strong> factor must also be very selective. If the rotati<strong>on</strong> factor was<br />

simply proporti<strong>on</strong>al to changes in the angle between innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost nger,<br />

184


it would err<strong>on</strong>eously grow in resp<strong>on</strong>se to asymmetries in nger moti<strong>on</strong> such as when<br />

the innermost nger starts translating downward while the outermost c<strong>on</strong>tact is<br />

stati<strong>on</strong>ary. To be more selective, the rotati<strong>on</strong> factor must favor symmetric rotati<strong>on</strong><br />

about an imaginary pivot between the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips. The approximate<br />

rotati<strong>on</strong> factor equati<strong>on</strong> below peaks as the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost nger move<br />

in opposite directi<strong>on</strong>s, but in this case the c<strong>on</strong>tacts should move perpendicularly to<br />

the vector between them:<br />

q<br />

rotati<strong>on</strong> factor[n] ; FIspeed[n] FOspeed[n]<br />

sin (FIdir[n] ; 6 (FI[n]�FO[n]))<br />

sin (FOdir[n] ; 6 (FI[n]�FO[n])) (4.49)<br />

clipped rotati<strong>on</strong> fact[n] = max (0� rotati<strong>on</strong> factor[n]) (4.50)<br />

Since moti<strong>on</strong>s which maximize this rotati<strong>on</strong> factor are easy to perform between the<br />

opposable thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> another nger but di cult to perform between two ngertips,<br />

the rotati<strong>on</strong> factor is a robust indicator of thumb presence.<br />

4.4.7.5 Combining <str<strong>on</strong>g>and</str<strong>on</strong>g> Testing the Thumb Factors<br />

The following expressi<strong>on</strong> essentially ORs these inter-c<strong>on</strong>tact factors with the<br />

innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> next innermost c<strong>on</strong>tacts' thumb features:<br />

combined thumb factor[n] clipped expansi<strong>on</strong> fact[n]<br />

+clipped rotati<strong>on</strong> fact[n]<br />

+inner separati<strong>on</strong> factor[n] angle factor[n]<br />

(FIworient=F Nworient)<br />

(FIwthumb size=F Nwthumb size) (4.51)<br />

The feature weighting ratios of this expressi<strong>on</strong> attempt to compare the features of<br />

the innermost c<strong>on</strong>tact to current features of the next innermost c<strong>on</strong>tact, which is<br />

185


already known to be a ngertip. If the innermost c<strong>on</strong>tact is also a ngertip its<br />

features should be similar to the next innermost, causing the ratios to remain near<br />

<strong>on</strong>e. However, thumb-like features <strong>on</strong> the innermost c<strong>on</strong>tact will cause the ratios to<br />

be large.<br />

The acti<strong>on</strong> taken by thethumb veri cati<strong>on</strong> module (Figure 4.21) depends <strong>on</strong><br />

tests of combined thumb factor[n] against two thresholds, producing three cases:<br />

1. If combined thumb factor[n] exceeds the high threshold, the innermost c<strong>on</strong>-<br />

tact is de nitely a thumb. If the assignment algorithm has not already put the<br />

innermost c<strong>on</strong>tact with the thumb attractor, the assignment algorithm must<br />

be overridden. Thumb veri cati<strong>on</strong> shifts the innermost c<strong>on</strong>tact's assignment<br />

inward <strong>on</strong> the attractor ring to the thumb attractor.<br />

2. If combined thumb factor[n] is between the low <str<strong>on</strong>g>and</str<strong>on</strong>g> high thresholds, the<br />

thumb veri cati<strong>on</strong> test is ambiguous. The identi cati<strong>on</strong> of the innermost c<strong>on</strong>-<br />

tact made by the assignment algorithm is left unchanged since the assignment<br />

algorithm takes into account h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate clues, but thumb veri -<br />

cati<strong>on</strong> does not.<br />

3. If combined thumb factor[n] is less than the low threshold, the innermost<br />

c<strong>on</strong>tact is de nitely not the thumb. For this c<strong>on</strong>clusi<strong>on</strong> to be reached, the<br />

expansi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> velocity factors must essentially be zero, the innermost<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> next innermost c<strong>on</strong>tact sizes <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong>s must match, <str<strong>on</strong>g>and</str<strong>on</strong>g> either<br />

the inner angle must be near horiz<strong>on</strong>tal or the inner separati<strong>on</strong> must be less<br />

than 2.5 cm. If the assignment algorithm has put the innermost c<strong>on</strong>tact with<br />

the thumb, thumb veri cati<strong>on</strong> overrides it by shifting the innermost c<strong>on</strong>tact<br />

outward to the index nger attractor. N<strong>on</strong>-innermost c<strong>on</strong>tacts may need to<br />

be shifted outward as well to make the index nger attractor available.<br />

186


Like the Vor<strong>on</strong>oi cells of the assignment algorithm, the thumb veri cati<strong>on</strong><br />

expressi<strong>on</strong> (Equati<strong>on</strong> 4.51) <str<strong>on</strong>g>and</str<strong>on</strong>g> thresholds establish clear cuto s for thumb identity.<br />

Instead of utilizing h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates, thumb veri cati<strong>on</strong> imposes stricter<br />

tests <strong>on</strong> inter-c<strong>on</strong>tact velocity, angles, <str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong>s. Since Equati<strong>on</strong> 4.51 adds<br />

or essentially ORs the various feature measurements, thumb veri cati<strong>on</strong> is most<br />

di cult when <strong>on</strong>ly <strong>on</strong>e of the features is discriminating. Figure 4.23 plots the inner<br />

separati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> angle cuto s when the velocity factors are zero <str<strong>on</strong>g>and</str<strong>on</strong>g> the size <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

orientati<strong>on</strong> ratios are <strong>on</strong>e, providing no discriminating informati<strong>on</strong>. Likewise, for<br />

the expansi<strong>on</strong> or rotati<strong>on</strong> factors acting al<strong>on</strong>e to surpass the high threshold <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

trigger identi cati<strong>on</strong> of the innermost c<strong>on</strong>tact as the thumb, thumb- nger moti<strong>on</strong>s<br />

must be properly symmetric <str<strong>on</strong>g>and</str<strong>on</strong>g> exceed speeds of 1.5 cm/sec. For size ratios al<strong>on</strong>e<br />

to trigger identi cati<strong>on</strong> of the innermost as the thumb, the innermost c<strong>on</strong>tact must<br />

be at least twice as large as the next innermost. When several features act in<br />

combinati<strong>on</strong>, they need not be as str<strong>on</strong>g as cited here to force identi cati<strong>on</strong> of the<br />

innermost as the thumb.<br />

4.4.8 Ratcheting Identi cati<strong>on</strong> Accuracy<br />

The quality ofthe c<strong>on</strong>straints available for nger identi cati<strong>on</strong> uctuates as<br />

palm pressures change, ngers lift o , or more h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts touch down <strong>on</strong> the sur-<br />

face. Running the assignment algorithm from scratch after segmenting each image<br />

could discard accurate assignments made when the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s started in a neutral pos-<br />

ture or when more h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts were touching the surface. Therefore the assignment<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> thumb veri cati<strong>on</strong> algorithms for a h<str<strong>on</strong>g>and</str<strong>on</strong>g> are <strong>on</strong>ly executed for images in which<br />

the total h<str<strong>on</strong>g>and</str<strong>on</strong>g> proximity is increasing or when a touchdown has recently been at-<br />

tributed to the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Reassignment is not triggered by nger lifto . This prevents<br />

degradati<strong>on</strong> of identi cati<strong>on</strong>s up<strong>on</strong> nger lifto such as the dummy c<strong>on</strong>tact propa-<br />

gati<strong>on</strong> up<strong>on</strong> pinky lifto in Figure sequence 4.11{4.13. This also prevents err<strong>on</strong>eous<br />

187


180<br />

210<br />

8 cm<br />

6<br />

240<br />

4 cm<br />

Keep Ring‘s<br />

Innermost<br />

Definitely<br />

Thumb<br />

2<br />

4<br />

2<br />

Next<br />

Innermost<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

Innermost<br />

Definitely<br />

Not Thumb<br />

Innermost<br />

Assignment<br />

6 cm<br />

8<br />

10 cm<br />

270<br />

300<br />

Figure 4.23: Thumb veri cati<strong>on</strong> cuto s for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> versus inner separati<strong>on</strong><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> angle when other inter-c<strong>on</strong>tact features are not discriminating.<br />

This is a polar plot of the decisi<strong>on</strong> regi<strong>on</strong>s relative to the positi<strong>on</strong> of<br />

the next innermost nger c<strong>on</strong>tact (circle at center). If the innermost<br />

c<strong>on</strong>tact lies to the lower left of the solid diag<strong>on</strong>al line, it is de nitely a<br />

thumb. If the innermost c<strong>on</strong>tact lies to the upper right of the dashed<br />

line, it is most likely not a thumb. If the innermost c<strong>on</strong>tact lies in<br />

the b<str<strong>on</strong>g>and</str<strong>on</strong>g> between the solid <str<strong>on</strong>g>and</str<strong>on</strong>g> dashed lines, the thumb veri cati<strong>on</strong><br />

test is inc<strong>on</strong>clusive. In this case, the innermost identi cati<strong>on</strong> based<br />

up<strong>on</strong> assignment to the attractor ring is left unchanged to retain<br />

weak clues from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate.<br />

188


shifting of assignments for h<str<strong>on</strong>g>and</str<strong>on</strong>g>s which touchdown in a neutral orientati<strong>on</strong> but then<br />

undergo extreme rotati<strong>on</strong>, past the h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> tolerances of the attractor ring.<br />

Persistent path tracking extends previous identi cati<strong>on</strong>s of existing c<strong>on</strong>tacts<br />

to images for which the assignment algorithm will not be executed. The h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> estimates then <strong>on</strong>ly need be relied up<strong>on</strong> to ensure accurate reidenti cati<strong>on</strong><br />

of ngers which lift o the surface temporarily. Such a system which <strong>on</strong>ly reassigns<br />

ngers when image informati<strong>on</strong> increases substantially, such as when another nger<br />

touches down, produces much more stable <str<strong>on</strong>g>and</str<strong>on</strong>g> reliable identi cati<strong>on</strong>s.<br />

4.4.9 <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Identi cati<strong>on</strong> Results<br />

Since the nger identi cati<strong>on</strong> system is deterministic in the sense that it<br />

usually provides repeatable results for moti<strong>on</strong> patterns having roughly the same ge-<br />

ometry, identi cati<strong>on</strong> c<strong>on</strong>vergence will be dem<strong>on</strong>strated up<strong>on</strong> a variety of extreme<br />

c<strong>on</strong>diti<strong>on</strong>s, each ofwhichreveals the importance of a particular identi cati<strong>on</strong> mech-<br />

anism. The trivial cases of isolated nger touchdown <str<strong>on</strong>g>and</str<strong>on</strong>g> touchdown of the whole<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> in default positi<strong>on</strong> are note shown since they can be predicted entirely from<br />

the weighted, static Vor<strong>on</strong>oi diagram of Figure 4.14.<br />

Figures 4.24{4.34 plot nger trajectories (blue arrowheads) which are se-<br />

lectively labeled with the nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm identities (F#) which the identi cati<strong>on</strong><br />

system has assigned to the paths at each time step (in each proximity image). The<br />

identity labels, shown as an 'F' followed by the h<str<strong>on</strong>g>and</str<strong>on</strong>g> part number (see Table 4.1 <strong>on</strong><br />

Page 4.1 for h<str<strong>on</strong>g>and</str<strong>on</strong>g> part number list), are printed up<strong>on</strong> h<str<strong>on</strong>g>and</str<strong>on</strong>g> part touchdown, h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

part lifto , <str<strong>on</strong>g>and</str<strong>on</strong>g> any time step in between that the identi cati<strong>on</strong> system changes<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> part identity. Thus arrows without identity labels retain the identity last<br />

shown al<strong>on</strong>g the given trajectory. Usually when a trajectory has the same label at<br />

its beginning <str<strong>on</strong>g>and</str<strong>on</strong>g> end <str<strong>on</strong>g>and</str<strong>on</strong>g> no labels in between, it was identi ed correctly in the<br />

image in which it rsttouched down, possibly while the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate was<br />

still at default, so its identity never had to be changed.<br />

189


Except for rotati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> scalings in thumb veri cati<strong>on</strong>, nger velocity has<br />

little or no e ect <strong>on</strong> the results, but the h<str<strong>on</strong>g>and</str<strong>on</strong>g> will be moved in some cases to spread<br />

out the labels <str<strong>on</strong>g>and</str<strong>on</strong>g> make changes in identity easily visible. To indicate relative<br />

timing of the trajectories, blue dotted lines c<strong>on</strong>nect all nger c<strong>on</strong>tacts at selected<br />

time steps, especially when any h<str<strong>on</strong>g>and</str<strong>on</strong>g>parttouches down or lifts o . Ellipses (cyan)<br />

are also centered <strong>on</strong> each h<str<strong>on</strong>g>and</str<strong>on</strong>g> part at selected time steps to indicate orientati<strong>on</strong>,<br />

eccentricity, <str<strong>on</strong>g>and</str<strong>on</strong>g> relative size of the c<strong>on</strong>tacts.<br />

Figures 4.24, 4.26, 4.31, 4.32 also include the moti<strong>on</strong>s of selected h<str<strong>on</strong>g>and</str<strong>on</strong>g> part<br />

attractors as caused by changes in the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>. Since all attractors<br />

in the ring translate together, <strong>on</strong>ly those attractors relevant to the h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts being<br />

identi ed or the involved regi<strong>on</strong> of the surface are shown. Attractors are labeled<br />

with an 'A' followed by their associated h<str<strong>on</strong>g>and</str<strong>on</strong>g> part number at the rst time step<br />

<strong>on</strong>ly. Attractor arrows are plotted in red <str<strong>on</strong>g>and</str<strong>on</strong>g> have a diam<strong>on</strong>d at their head.<br />

The right h<str<strong>on</strong>g>and</str<strong>on</strong>g> is used <strong>on</strong> the right half of the multi-touch surface in every<br />

experiment, avoiding h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> issues. For every plot, the right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong> estimate is allowed to drift back to the default h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> before starting<br />

the experiment. Then the h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches down in the indicated regi<strong>on</strong> of the surface<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> attempts begin immediately. Trajectory capture is halted before<br />

or immediately after lifto , so the drift of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates back to the<br />

default is never shown, but this typically takes just a sec<strong>on</strong>d or two.<br />

The results of Figures 4.24{4.34 can be summarized as follows. Single, iso-<br />

lated ngers are <strong>on</strong>ly identi ed correctly if h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates are c<strong>on</strong>sistent<br />

with actual h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>, i.e., the attractor ring is aligned horiz<strong>on</strong>tally within a<br />

centimeter <str<strong>on</strong>g>and</str<strong>on</strong>g> vertically within about 5 cm. Isolated palm heels, <strong>on</strong> the other h<str<strong>on</strong>g>and</str<strong>on</strong>g>,<br />

will be properly identi ed regardless of their positi<strong>on</strong> or that of the attractor ring<br />

if their c<strong>on</strong>tacts reach a uniquely large size. Multiple ngers are always ordered<br />

properly around the ring <str<strong>on</strong>g>and</str<strong>on</strong>g> never misidenti ed as palms unless they are separated<br />

190


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F1 F1<br />

F2<br />

F2<br />

F2<br />

F3<br />

F3<br />

F2<br />

F3<br />

F4<br />

F4<br />

−5<br />

0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

F2<br />

F3<br />

F4<br />

F5<br />

RA2<br />

Figure 4.24: The h<str<strong>on</strong>g>and</str<strong>on</strong>g> starts at the top left with pinky touching down rst <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

the other ngers rolling <strong>on</strong>to the surface at regular time intervals as<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> as a whole slides down. Since the original pinky touchdown<br />

occurs in the index nger Vor<strong>on</strong>oi cell while there are no feature or<br />

inter-c<strong>on</strong>tact c<strong>on</strong>straints, the pinky is initially misidenti ed as the<br />

index nger (F2), <str<strong>on</strong>g>and</str<strong>on</strong>g> the index nger attractor (A2) starts moving<br />

up to meet it. The sorting behavior of distance-squared assignment<br />

forces identi cati<strong>on</strong>s of the pinky to shift as ngers touch down to<br />

the left of it, with all identi cati<strong>on</strong>s corrected <strong>on</strong>ce all four ngertips<br />

touch. As identities are corrected, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate<br />

corrects left <str<strong>on</strong>g>and</str<strong>on</strong>g> follows the h<str<strong>on</strong>g>and</str<strong>on</strong>g> down so the A2 attractor ends up<br />

near the actual index nger.<br />

191<br />

F5


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F2<br />

F2<br />

F2<br />

F3<br />

F3<br />

F3<br />

F4<br />

F4<br />

F4<br />

A1<br />

F5<br />

F5<br />

F5<br />

−5<br />

0<br />

F2<br />

2<br />

F3<br />

4<br />

F4<br />

6<br />

F5<br />

8<br />

A7<br />

10<br />

F2<br />

12<br />

A6<br />

F3<br />

F4<br />

14 16<br />

F5<br />

18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.25: Row of four ngertips is placed successively at the four corners with<br />

attractors always starting at their defaults (red x's). Correct identicati<strong>on</strong><br />

throughout every placement shows that four ngertips in a<br />

roughly horiz<strong>on</strong>tal row are su cient for perfect, instantaneous identicati<strong>on</strong><br />

anywhere� from this it follows that ve ngers or four ngertips<br />

plus palm heels will be identi ed perfectly anywhere. All cases<br />

rely <strong>on</strong> the translati<strong>on</strong>-invariant sorting behavior of distance-squared<br />

assignment. At the bottom corners the palm heel separati<strong>on</strong> factor<br />

comes into play. At the left corners, the assignment algorithm may<br />

attribute the leftmost c<strong>on</strong>tact to the thumb, but thumb veri cati<strong>on</strong><br />

nds the inner angle <str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> not indicative of the thumb (see<br />

Figure 4.23) <str<strong>on</strong>g>and</str<strong>on</strong>g> shifts all identities to the right, correctly attributing<br />

F2 to the leftmost c<strong>on</strong>tact.<br />

192<br />

A2<br />

A3<br />

F2<br />

F2<br />

F2<br />

F3<br />

A4<br />

F3<br />

F3<br />

F4<br />

F4<br />

F4<br />

A5<br />

F5<br />

F5<br />

F5


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F1<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.26: A claw h<str<strong>on</strong>g>and</str<strong>on</strong>g> with the pinky crossed under the ring nger veri es<br />

the nger rotati<strong>on</strong> tolerances postulated for the attractor ring in<br />

Figure 4.11 <strong>on</strong> Page 160. The pinky c<strong>on</strong>tact (bottom right) is always<br />

identi ed correctly, regardless of attractor translati<strong>on</strong>, since the angle<br />

between ring <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky does not quite become perpendicular to the<br />

A4-A5 attractor angle (red dotted-segments). Simple sorting of the<br />

horiz<strong>on</strong>tal c<strong>on</strong>tact coordinates would fail in this case, swapping the<br />

F4 <str<strong>on</strong>g>and</str<strong>on</strong>g> F5 identities. Further cross-under of the pinky would pass<br />

the perpendicular <str<strong>on</strong>g>and</str<strong>on</strong>g> also cause swapping, but the h<str<strong>on</strong>g>and</str<strong>on</strong>g> twisted as<br />

shown is already at the maximum range of ulnar deviati<strong>on</strong> (wrist<br />

rotati<strong>on</strong>).<br />

193<br />

F2<br />

A4<br />

F3<br />

A5<br />

F5<br />

F4


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F1<br />

F7<br />

F6<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

F6<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.27: <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated fully clockwise to the limits of ulnar deviati<strong>on</strong><br />

at the wrist are always identi ed perfectly. Presence of the palm<br />

heels is not needed for this correct result. However, the ngertips are<br />

kept well spread to avoid parallelogram-electrode-induced segmentati<strong>on</strong><br />

merging as occurred for the sideways h<str<strong>on</strong>g>and</str<strong>on</strong>g> in Figure 3.13 <strong>on</strong><br />

Page 96 of Chapter 3.<br />

194<br />

F2<br />

F3<br />

F4<br />

F5


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F2<br />

F1<br />

F3<br />

F4<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.28: <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotated fully counter-clockwise to the limits of<br />

radial deviati<strong>on</strong> are identi ed correctly in this experiment, but not<br />

always. As will be seen in the next gure, absence or merging of both<br />

palm heels will open up the inner palm heel attractor (A7) which can<br />

then grab the thumb c<strong>on</strong>tact which is at the lower left.<br />

195<br />

F7F7<br />

F5<br />

F6


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F2<br />

F2<br />

F3<br />

F3<br />

F7<br />

F1<br />

F1<br />

F1<br />

F4<br />

F4<br />

F6 F7<br />

F7<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.29: Absence or merging of both palm heels can cause thumb misidenticati<strong>on</strong><br />

when right h<str<strong>on</strong>g>and</str<strong>on</strong>g> is rotated fully counter-clockwise. In this<br />

case, all identi cati<strong>on</strong>s are initially correct, but as the palm heels<br />

press <strong>on</strong>to the surface they merge into <strong>on</strong>e huge c<strong>on</strong>tact, leaving the<br />

inner palm heel attractor (A7) un lled. This causes the identity attributed<br />

to the thumb c<strong>on</strong>tact at lower left to change temporarily<br />

to F7 until pressure is released from the palms <str<strong>on</strong>g>and</str<strong>on</strong>g> they split back<br />

into two heels. Identities of the ngertips are una ected. This sort<br />

of failure can also occur if the palm heels never touch down because,<br />

under this much rotati<strong>on</strong>, the positi<strong>on</strong> of the thumb relative to the<br />

index nger is the positi<strong>on</strong> normally expected for the inner palm heel<br />

when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is not rotated.<br />

196<br />

F5<br />

F5<br />

F6<br />

F6<br />

F6 F7 F5<br />

F6


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F1<br />

F1<br />

F2<br />

F7<br />

F3<br />

F4<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.30: <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s in a pen grip c<strong>on</strong> gurati<strong>on</strong> are always identi ed correctly<br />

anywhere <strong>on</strong> the surface as l<strong>on</strong>g as they are segmented properly. In<br />

this experiment the ngers were kept a little looser than they would<br />

be in practice to prevent the thumb c<strong>on</strong>tact from merging with the<br />

index ngertip or the other ngers from merging with the palms.<br />

Note that the outer nger c<strong>on</strong>tacts labeled F3-F5 are actually caused<br />

by the knuckles of ngers curled under the palm, not the tips of the<br />

ngers.<br />

197<br />

F5<br />

F6


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F7<br />

F7<br />

F2<br />

F6<br />

F6<br />

F2<br />

F3<br />

A7<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.31: Palm heels al<strong>on</strong>e are identi ed correctly anywhere <strong>on</strong> surface when<br />

they bottom out <str<strong>on</strong>g>and</str<strong>on</strong>g> reach full size. In this experiment the palms<br />

touch down gradually <strong>on</strong> the middle left <str<strong>on</strong>g>and</str<strong>on</strong>g> slide toward the top<br />

of the surface. Initially they are misidenti ed as ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

palm attractors (A6,A7) begin moving left. But by the third image<br />

they grow enough that the palm heel size factor kicks in to exp<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

their Vor<strong>on</strong>oi cells over the whole surface. The identi cati<strong>on</strong>s are corrected<br />

to F6<str<strong>on</strong>g>and</str<strong>on</strong>g>F7<str<strong>on</strong>g>and</str<strong>on</strong>g>the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate shoots upward,<br />

bringing the sloppy segmentati<strong>on</strong> regi<strong>on</strong>s (Secti<strong>on</strong> 3.2.6.5, Page 80<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Figure 3.3 Page 70) with it to ensure the two enlarging palm<br />

heel c<strong>on</strong>tacts do not get split into three or four c<strong>on</strong>tacts.<br />

198<br />

A6


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

5<br />

0<br />

−5<br />

−10<br />

−15<br />

A7<br />

F2<br />

F2<br />

F5<br />

F5<br />

A6<br />

10 12<br />

a)<br />

14 16<br />

5<br />

0<br />

−5<br />

−10<br />

A7<br />

F2<br />

F2<br />

F1 F7<br />

F4<br />

F4 F5 F6<br />

A6<br />

−5<br />

−10<br />

−15<br />

10 12 14 16<br />

−15<br />

b) Horiz<strong>on</strong>tal Positi<strong>on</strong> (X axis cm)<br />

5<br />

0<br />

F7<br />

A7<br />

F7<br />

F6<br />

F6<br />

A6<br />

10 12<br />

c)<br />

14 16<br />

Figure 4.32: Dependency of ngertip pair identi cati<strong>on</strong> in palm regi<strong>on</strong>s <strong>on</strong> ngertip<br />

separati<strong>on</strong>. In each case, middle <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngers touch down <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

slide upward between the palm heel attractors near the bottom edge<br />

(horiz<strong>on</strong>tal black line) of the sensing area. In a) the adjacent ngertips<br />

are about 2 cm apart like normal. This causes a low palm heel<br />

separati<strong>on</strong> factor which causes the palm heel Vor<strong>on</strong>oi cells to vanish<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the c<strong>on</strong>tacts to be identi ed as ngertips (but not adjacent <strong>on</strong>es)<br />

up<strong>on</strong> touchdown. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate, palm heel attractors<br />

(A6,A7), <str<strong>on</strong>g>and</str<strong>on</strong>g> sloppy segmentati<strong>on</strong> regi<strong>on</strong> all shoot downward to stabilize<br />

these identi cati<strong>on</strong>s. In b) the ngertips remain separated by<br />

3 cm but do not touch down synchr<strong>on</strong>ously. The rst down is initially<br />

misidenti ed as a palm heel (F7) because the separati<strong>on</strong> factor<br />

cannot be computed until both are touching. However, the identicati<strong>on</strong>s<br />

are so<strong>on</strong> corrected, <str<strong>on</strong>g>and</str<strong>on</strong>g> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate again<br />

shoots downward <strong>on</strong>ly to follow the ngertips back up somewhat.<br />

In c) the ngertips are separated by 4 cm, the nominal palm heel<br />

separati<strong>on</strong>, the separati<strong>on</strong> factor is ine ective, the ngertips remain<br />

misidenti ed as palm heels, <str<strong>on</strong>g>and</str<strong>on</strong>g> the palm heel attractors (A6,A7)<br />

stay with them.<br />

199


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

A1<br />

F4<br />

A2 A3 A4<br />

F1<br />

−5<br />

0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.33: Correct thumb identi cati<strong>on</strong> for a thumb-middle ngertip chord in<br />

the ngertip regi<strong>on</strong>s. Note how the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertip attractors<br />

jump to the upper right to align with the nger c<strong>on</strong>tacts. The thumb<br />

veri cati<strong>on</strong> module is able to distinguish a thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> a ngertip<br />

from two ngertips anywhere <strong>on</strong> the surface as l<strong>on</strong>g as the interc<strong>on</strong>tact<br />

separati<strong>on</strong> is more than about 4 cm <str<strong>on</strong>g>and</str<strong>on</strong>g> the inter-c<strong>on</strong>tact<br />

angle is not near horiz<strong>on</strong>tal. Without it, the assignment algorithm<br />

probably would have left these c<strong>on</strong>tacts identi ed as two ngertips.<br />

Note that because of identi cati<strong>on</strong> ratcheting (Secti<strong>on</strong> 4.4.8), the<br />

ngertip identity never gets corrected from F4 to F3 even though<br />

the A3 attractor ends up nearest the ngertip.<br />

200


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F2<br />

F1 F1<br />

F2<br />

F1<br />

F2<br />

F3 F4<br />

F4<br />

F1<br />

F2 F3 F2 F4<br />

−5<br />

0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

F3<br />

F2 F3<br />

Figure 4.34: Identi cati<strong>on</strong>s of a thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger which do not start<br />

uniquely separated but perform unique moti<strong>on</strong>s. In a) at the top,<br />

the thumb is initially misidenti ed as F2, but the expansi<strong>on</strong> factor<br />

(Secti<strong>on</strong> 4.4.7.3) quickly resp<strong>on</strong>ds to the anti-pinch scaling moti<strong>on</strong><br />

between the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertip, correcting the thumb identity to<br />

F1. In b) the thumb identi cati<strong>on</strong> is corrected as the thumb attens<br />

out <str<strong>on</strong>g>and</str<strong>on</strong>g> its c<strong>on</strong>tact becomes much taller than that of the ngertip. In<br />

c) <strong>on</strong>ly the tip of the thumb touches lightly, giving it a small c<strong>on</strong>tact,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> it does not move, so it remains misidenti ed as F2. In d) the<br />

c<strong>on</strong>tacts are initially identi ed as F4 <str<strong>on</strong>g>and</str<strong>on</strong>g> F5, but when the thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> pinky rotate counter-clockwise as if loosening a screw, the rotati<strong>on</strong><br />

factor (Secti<strong>on</strong> 4.4.7.4) detects this <str<strong>on</strong>g>and</str<strong>on</strong>g> corrects the thumb<br />

c<strong>on</strong>tact identity toF1.<br />

201<br />

F3<br />

F1<br />

F5


y more than 4 cm, but if there are less than four ngertips touching, the ngertip<br />

identi cati<strong>on</strong>s may be shifted improperly. Even with less than four ngertips touch-<br />

ing, the thumb will always be identi ed properly as l<strong>on</strong>g as it is well-separated from<br />

the ngertips, attens <strong>on</strong>to the surface when they do not, or is involved in expansive<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling or rotati<strong>on</strong>al moti<strong>on</strong>s about a point centered between it <str<strong>on</strong>g>and</str<strong>on</strong>g> the nger-<br />

tips. With four ngertips plus any combinati<strong>on</strong> of thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels touching,<br />

all identi cati<strong>on</strong>s are perfect except possibly under extreme h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s.<br />

4.5 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Identi cati<strong>on</strong><br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> identi cati<strong>on</strong> is needed for multi-touch surfaces which are large enough<br />

to accomodate both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s simultaneously <str<strong>on</strong>g>and</str<strong>on</strong>g> which have the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right halves<br />

of the surface joined such that a h<str<strong>on</strong>g>and</str<strong>on</strong>g> can roam freely across the middle to either<br />

half of the surface. The simplest method of h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> would be to assign<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity to each c<strong>on</strong>tact according to whether the c<strong>on</strong>tact initially touched<br />

down in the left or right half of the surface. However, if a h<str<strong>on</strong>g>and</str<strong>on</strong>g> touched down in<br />

the middle, straddling the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right halves, some of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s c<strong>on</strong>tacts would<br />

end up assigned to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> others to the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Therefore, more<br />

sophisticated methods which take into account the clustering properties of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

c<strong>on</strong>tacts must be applied to ensure all c<strong>on</strong>tacts from the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> get the same<br />

identity. Once all surface c<strong>on</strong>tacts are initially identi ed, the path tracking module<br />

can reliably retain existing identi cati<strong>on</strong>s as a h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides from <strong>on</strong>e side of the<br />

surface to the other.<br />

The thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> inner palm c<strong>on</strong>tact orientati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> the relativethumb place-<br />

ment are the <strong>on</strong>ly c<strong>on</strong>tact features independent of cluster positi<strong>on</strong> which distinguish<br />

a l<strong>on</strong>e cluster of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts from a cluster of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts. If the thumb<br />

is lifted o the surface, aright h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact cluster appears indistinguishable from<br />

a left h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster. In this case cluster identi cati<strong>on</strong> must still depend heavily <strong>on</strong><br />

which side of the board the cluster starts <strong>on</strong>, but the identity of c<strong>on</strong>tacts which<br />

202


ecently lifted o nearby also proves helpful. For example, if the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> moves<br />

from the right side to the middle of the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> lifts o , the next c<strong>on</strong>tacts which<br />

appear in the middle will most likely be from the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> touching back down,<br />

not from the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> moving to the middle <str<strong>on</strong>g>and</str<strong>on</strong>g> displacing the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The<br />

divisi<strong>on</strong> between left <str<strong>on</strong>g>and</str<strong>on</strong>g> right halves of the surface should therefore be dynamic,<br />

shifting toward the right or left according to which h<str<strong>on</strong>g>and</str<strong>on</strong>g> was most recently near<br />

the middle. Since the h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set estimates temporarily retain the last known h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

positi<strong>on</strong>s after lifto , such a dynamic divisi<strong>on</strong> is implemented by tying the positi<strong>on</strong>s<br />

of left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> attractor templates to the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>s.<br />

Though cases remain in which the operator can fool the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong><br />

system with sudden placements of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> in unexpected locati<strong>on</strong>s, the operator<br />

may actually wish to fool the system in these cases. For example, operators with<br />

<strong>on</strong>ly <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> free to use the surface may intenti<strong>on</strong>ally place that h<str<strong>on</strong>g>and</str<strong>on</strong>g> far <strong>on</strong>to<br />

the opposite half of the surface to access the chord input operati<strong>on</strong>s of the opposite<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Therefore, when a h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster suddenly touches down well into the opposite<br />

half of the surface, it can safely be given the opposite half's identity, regardless of its<br />

true identity. Arching the surface across the middle can also discourage users from<br />

sliding a h<str<strong>on</strong>g>and</str<strong>on</strong>g> to the opposite side by causing awkward forearm pr<strong>on</strong>ati<strong>on</strong> should<br />

users do so.<br />

4.5.1 Checking for C<strong>on</strong>tact Stabilizati<strong>on</strong><br />

Figure 4.35 shows process details within the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> module. The<br />

MTS rst determines whether the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm actually needs to<br />

be executed for the current sensor array scan cycle by checking whether all path<br />

proximities have stabilized. To maximize stability of the identi cati<strong>on</strong>s, h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

nger identities need <strong>on</strong>ly be reevaluated when a new h<str<strong>on</strong>g>and</str<strong>on</strong>g> part touches down<br />

or disambiguating features of existing c<strong>on</strong>tacts become str<strong>on</strong>ger. The c<strong>on</strong>tact size<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> features are unreliable until the esh fully compresses against the<br />

203


PICK FIRST<br />

CONTOUR<br />

PICK NEXT<br />

CONTOUR<br />

N<br />

LAST<br />

CONTOUR<br />

?<br />

Y<br />

CHOOSE<br />

LOWEST<br />

COST HAND<br />

PARTITION<br />

START<br />

CONTACT<br />

PROXIMITIES<br />

STABILIZED ?<br />

DEFINE & TRANSLATE LEFT &<br />

RIGHT ATTRACTOR TEMPLATES<br />

GENERATE PARTITIONING<br />

CONTOURS<br />

TENTATIVELY DIVIDE HAND<br />

IDENTITIES ACROSS CONTOUR<br />

TENTATIVELY ASSIGN FINGER<br />

IDENTITIES WITHIN EACH HAND<br />

EVALUATE BIOMECHANICAL<br />

COHERENCE OF PARTITION<br />

N<br />

COST<br />

LOWEST SO FAR<br />

?<br />

N<br />

ASSIGN FINAL<br />

CONTACT IDENTITIES<br />

WITHIN EACH HAND<br />

Y<br />

Y<br />

RETAIN PREVIOUS<br />

IDENTIFICATIONS VIA<br />

PATH EXTENSION<br />

END<br />

RECORD PARTITION<br />

AS LOWEST COST<br />

END<br />

Figure 4.35: Flow chart of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm.<br />

204


surface a few dozen millisec<strong>on</strong>ds after initial surface c<strong>on</strong>tact. Therefore, the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

identi cati<strong>on</strong> algorithm executes for each proximity image in which a new c<strong>on</strong>tact<br />

appears <str<strong>on</strong>g>and</str<strong>on</strong>g> for subsequent proximity images in which the total proximityofany new<br />

c<strong>on</strong>tacts c<strong>on</strong>tinues to increase. For images in which proximities of existing c<strong>on</strong>tacts<br />

have stabilized <str<strong>on</strong>g>and</str<strong>on</strong>g> no new c<strong>on</strong>tacts appear, path c<strong>on</strong>tinuati<strong>on</strong> as performed by the<br />

path tracking process (Secti<strong>on</strong> 3.3) is su cient to retain <str<strong>on</strong>g>and</str<strong>on</strong>g> extend the c<strong>on</strong>tact<br />

identi cati<strong>on</strong>s computed from previous images.<br />

4.5.2 Placing Left <str<strong>on</strong>g>and</str<strong>on</strong>g> Right Attractor Rings<br />

Should the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm be invoked for the current image,<br />

the rst step is to de ne <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> left <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> attractor templates. These<br />

should be basically the same as the attractor templates (Figure 4.5) used for nger<br />

identi cati<strong>on</strong>, except that both left <str<strong>on</strong>g>and</str<strong>on</strong>g> right rings must now be utilized at <strong>on</strong>ce.<br />

The default placement of the rings relative to <strong>on</strong>e another should corresp<strong>on</strong>d to<br />

the default left <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact positi<strong>on</strong>s shown in Figure 3.3a. Each ring<br />

translates to follow the estimated positi<strong>on</strong> of its h<str<strong>on</strong>g>and</str<strong>on</strong>g>, just like the sloppy segmenta-<br />

ti<strong>on</strong> regi<strong>on</strong>s follow the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s in Figure 3.3b. Individual attractor points can safely<br />

be translated by their corresp<strong>on</strong>ding estimated nger o sets. Therefore the nal<br />

attractor positi<strong>on</strong>s (Ajx[n]�Ajy[n]) for the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> L <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> R attractor<br />

rings are:<br />

LAjx[n] = LHeox[n]+LF jeox[n]+LF jdefx (4.52)<br />

LAjy[n] = LHeoy[n]+LF jeoy[n]+LF jdefy (4.53)<br />

RAjx[n] = RHeox[n]+RF jeox[n]+RF jdefx (4.54)<br />

RAjy[n] = RHeoy[n]+RF jeoy[n]+RF jdefy (4.55)<br />

Basically the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm will compare the cost of assigning c<strong>on</strong>-<br />

tacts to attractors in <strong>on</strong>e ring versus the other, the cost depending <strong>on</strong> the sum of<br />

weighted distances between each c<strong>on</strong>tact <str<strong>on</strong>g>and</str<strong>on</strong>g> its assigned attractor. Adjusting the<br />

205


attractor ring with the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger o sets lowers the relative costs for<br />

assignment hypotheses which resemble recent h<str<strong>on</strong>g>and</str<strong>on</strong>g> assignments, helping to stabilize<br />

identi cati<strong>on</strong>s across successive proximity images even when h<str<strong>on</strong>g>and</str<strong>on</strong>g>s temporarily lift<br />

o .<br />

4.5.3 Generating Plausible Partiti<strong>on</strong> Hypotheses<br />

Next a set of assignment hypotheses must be generated <str<strong>on</strong>g>and</str<strong>on</strong>g> compared. The<br />

most e cient way to generate sensible hypotheses is to de ne a set of roughly ver-<br />

tical c<strong>on</strong>tour lines, <strong>on</strong>e between each horiz<strong>on</strong>tally adjacent c<strong>on</strong>tact. This is d<strong>on</strong>e<br />

by ordering all surface c<strong>on</strong>tacts by their horiz<strong>on</strong>tal coordinates <str<strong>on</strong>g>and</str<strong>on</strong>g> establishing a<br />

vertical c<strong>on</strong>tour halfway between each pair of adjacent horiz<strong>on</strong>tal coordinates. Fig-<br />

ures 4.36a{c show examples of three di erent c<strong>on</strong>tours <str<strong>on</strong>g>and</str<strong>on</strong>g> their associated assign-<br />

ment hypotheses for a xed set of c<strong>on</strong>tacts. Each c<strong>on</strong>tour corresp<strong>on</strong>ds to a separate<br />

hypothesis, known also as a partiti<strong>on</strong>, in which all c<strong>on</strong>tacts to the left of the c<strong>on</strong>tour<br />

are from the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> all c<strong>on</strong>tacts to the right of the c<strong>on</strong>tour are from the right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>. C<strong>on</strong>tours are also necessary at the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right ends of the surface to h<str<strong>on</strong>g>and</str<strong>on</strong>g>le<br />

the hypotheses that all c<strong>on</strong>tacts <strong>on</strong> the surface are from the same h<str<strong>on</strong>g>and</str<strong>on</strong>g>. C<strong>on</strong>tours<br />

which hypothesize more c<strong>on</strong>tacts <strong>on</strong> a given h<str<strong>on</strong>g>and</str<strong>on</strong>g> than can be caused by a single<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> are immediately eliminated.<br />

Generating partiti<strong>on</strong>s via vertical c<strong>on</strong>tours avoids all hypotheses in which<br />

c<strong>on</strong>tacts of <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> horiz<strong>on</strong>tally overlap or cross over c<strong>on</strong>tacts of the opposite<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>. C<strong>on</strong>sidering that each h<str<strong>on</strong>g>and</str<strong>on</strong>g> can cause seven or more distinct c<strong>on</strong>tacts, this<br />

reduces the number of h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity permutati<strong>on</strong>s to examine from thous<str<strong>on</strong>g>and</str<strong>on</strong>g>s to at<br />

most a dozen. With fewer hypotheses to examine, the evaluati<strong>on</strong> of each partiti<strong>on</strong><br />

can be much more sophisticated, <str<strong>on</strong>g>and</str<strong>on</strong>g> if necessary, computati<strong>on</strong>ally costly.<br />

206


Vertical Surface Positi<strong>on</strong> (cm)<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Left<br />

Partiti<strong>on</strong><br />

Right<br />

Partiti<strong>on</strong><br />

−2<br />

−20 −15 −10 −5 0<br />

a)<br />

5 10 15 20<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Left<br />

Partiti<strong>on</strong><br />

Right<br />

Partiti<strong>on</strong><br />

−2<br />

−20 −15 −10 −5 0<br />

b)<br />

5 10 15 20<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Left<br />

Partiti<strong>on</strong><br />

Right<br />

Partiti<strong>on</strong><br />

−2<br />

−20 −15 −10 −5 0 5 10 15 20<br />

c) Horiz<strong>on</strong>tal Surface Positi<strong>on</strong> (cm)<br />

Figure 4.36: Vertical c<strong>on</strong>tours (dividing lines) creating three di erent partiti<strong>on</strong>ing<br />

hypotheses. C<strong>on</strong>tours are always placed halfway between horiz<strong>on</strong>tally<br />

adjacent c<strong>on</strong>tacts (circles). The partiti<strong>on</strong>ing of b) is probably<br />

the correct partiti<strong>on</strong>ing for this arrangement of c<strong>on</strong>tacts, meaning<br />

that the two c<strong>on</strong>tacts in the middle of the surface are from the right<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the rest are from the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

207


4.5.4 The Optimizati<strong>on</strong> Search Loop<br />

The goal of the optimizati<strong>on</strong> search is to determine which of the c<strong>on</strong>tours<br />

partiti<strong>on</strong>s the c<strong>on</strong>tacts into left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> clusters such that the cluster<br />

positi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact arrangements within clusters best satisfy known anatomical<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> biomechanical c<strong>on</strong>straints. The optimizati<strong>on</strong> begins by picking a rst c<strong>on</strong>tour<br />

divider such as the leftmost <str<strong>on</strong>g>and</str<strong>on</strong>g> tentatively assigning any c<strong>on</strong>tacts to the left of the<br />

c<strong>on</strong>tour to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> the rest to the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The nger identi cati<strong>on</strong><br />

algorithm (Figure 4.4) then attempts to assign nger <str<strong>on</strong>g>and</str<strong>on</strong>g> palm identities to c<strong>on</strong>tacts<br />

within each h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

Returning to Figure 4.35, the next step is to compute a cost for the parti-<br />

ti<strong>on</strong>. This cost is meant to evaluate how well the tentatively identi ed c<strong>on</strong>tacts t<br />

their assigned attractor ring <str<strong>on</strong>g>and</str<strong>on</strong>g> how well the partiti<strong>on</strong> meets between-h<str<strong>on</strong>g>and</str<strong>on</strong>g> sepa-<br />

rati<strong>on</strong> c<strong>on</strong>straints. This is d<strong>on</strong>e by computing for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> the sum of weighted<br />

distances from each tentatively identi ed c<strong>on</strong>tact to its assigned attractor point as<br />

in Equati<strong>on</strong> 4.44 of nger identi cati<strong>on</strong>, including size <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> feature fac-<br />

tors for thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm attractors. This sum represents the basic template tting<br />

cost for a h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Each h<str<strong>on</strong>g>and</str<strong>on</strong>g> cost is then weighted as a whole with the reciprocals<br />

of its clutching velocity, h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm cohesi<strong>on</strong> factors. These factors, to<br />

be described below, represent additi<strong>on</strong>al c<strong>on</strong>straints which are underemphasized by<br />

the weighted attractor distances. Finally, theweighted left <str<strong>on</strong>g>and</str<strong>on</strong>g> right h<str<strong>on</strong>g>and</str<strong>on</strong>g> costs are<br />

added together <str<strong>on</strong>g>and</str<strong>on</strong>g> scaled by the reciprocal of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor to obtain a<br />

total cost for the partiti<strong>on</strong>.<br />

This process is repeated for each partiti<strong>on</strong>ing c<strong>on</strong>tour until the costs of all<br />

hypothesized partiti<strong>on</strong>s have been evaluated. The partiti<strong>on</strong> which has the lowest<br />

cost overall is chosen as the actual h<str<strong>on</strong>g>and</str<strong>on</strong>g> partiti<strong>on</strong>ing, <str<strong>on</strong>g>and</str<strong>on</strong>g> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> identities of all<br />

c<strong>on</strong>tact paths are updated accordingly. The within-h<str<strong>on</strong>g>and</str<strong>on</strong>g> or nger identi cati<strong>on</strong> al-<br />

gorithm is invoked <strong>on</strong>ce more so that the thumb veri cati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> statistics gathering<br />

208


processes can execute using the actual h<str<strong>on</strong>g>and</str<strong>on</strong>g> assignments.<br />

4.5.5 Partiti<strong>on</strong> Cost Modi ers<br />

4.5.5.1 Clutching Directi<strong>on</strong> Factor<br />

Users often perform clutching moti<strong>on</strong>s in which the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>, for example,<br />

lifts o from a slide at the right side of the surface, touches back down in the<br />

middle of the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> resumes sliding toward the right. Therefore when a<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> is detected touching down in the middle of the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding toward <strong>on</strong>e<br />

side, it probably came from that side. A h<str<strong>on</strong>g>and</str<strong>on</strong>g> clutching directi<strong>on</strong> factor, plotted<br />

approximately in Figure 4.37, captures this phenomen<strong>on</strong> by slightly increasing in<br />

Clutching Directi<strong>on</strong> Factor<br />

1<br />

0<br />

−50 −40 −30 −20 −10 0 10 20 30 40 50<br />

Figure 4.37: <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> clutching directi<strong>on</strong> factor versus the average of the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s<br />

horiz<strong>on</strong>tal c<strong>on</strong>tact velocities.<br />

value when a h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster's c<strong>on</strong>tacts are moving toward the cluster's assigned side<br />

of the board, thus decreasing the basic cost of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The factor is a functi<strong>on</strong> of<br />

the average of the c<strong>on</strong>tacts' horiz<strong>on</strong>tal velocities <str<strong>on</strong>g>and</str<strong>on</strong>g> the side of the surface the given<br />

cluster is assigned. Since high speeds do not necessarily give a str<strong>on</strong>ger indicati<strong>on</strong><br />

of user intent, the factor saturates at moderate speeds.<br />

209


4.5.5.2 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>edness Factor<br />

Though the thumb orientati<strong>on</strong> factors help identify which h<str<strong>on</strong>g>and</str<strong>on</strong>g> a thumb is<br />

from when the thumb lies in the ambiguous middle regi<strong>on</strong> of the surface, the vertical<br />

positi<strong>on</strong> of the thumb relative to other ngers in the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> also gives a str<strong>on</strong>g<br />

indicati<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness. The thumb tends to be positi<strong>on</strong>ed much lower than the<br />

ngertips, but the pinky tends to be <strong>on</strong>ly slightly lower than the other ngertips.<br />

The h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factor, plotted approximately in Figure 4.38, takes advantage of this<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>edness Factor<br />

1<br />

0<br />

−12 −10 −8 −6 −4 −2 0 2<br />

Figure 4.38: <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>edness factor versus the vertical separati<strong>on</strong> between outermost<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> next outermost nger c<strong>on</strong>tacts.<br />

c<strong>on</strong>straint by boosting the h<str<strong>on</strong>g>and</str<strong>on</strong>g> cost when the c<strong>on</strong>tact identi ed as the outermost<br />

ngertip is more than a couple centimeters lower than the next outermost ngertip<br />

c<strong>on</strong>tact. In such cases the tentative h<str<strong>on</strong>g>and</str<strong>on</strong>g> assignment for all c<strong>on</strong>tacts in the cluster<br />

is probably wr<strong>on</strong>g. Since this causes the within-h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithm to<br />

t the c<strong>on</strong>tacts to the wr<strong>on</strong>g attractor ring, nger identities become reversed such<br />

that the supposedly lowered pinky is truly a lowered thumb of the opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

Unfortunately, limited c<strong>on</strong> dence can be placed in the h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factor. Though<br />

the pinky should not appear lowered as much as the thumb, the outer palm heel<br />

210


can, creating an ambiguity inwhich the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertips of <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> have the<br />

same c<strong>on</strong>tact arrangement as the ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g> outer palm heel of the opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

(Figure 4.45). This ambiguity can cause the h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factor to be err<strong>on</strong>eously<br />

low for an accurately identi ed h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster, so the h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factor is <strong>on</strong>ly used<br />

<strong>on</strong> clusters in the middle of the surface where h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> is ambiguous.<br />

4.5.5.3 Palm Cohesi<strong>on</strong> Factor<br />

Distinguishing c<strong>on</strong>tact clusters is challenging because a cluster can become<br />

quite sparse <str<strong>on</strong>g>and</str<strong>on</strong>g> large when the ngers are outstretched, with the pinky <str<strong>on</strong>g>and</str<strong>on</strong>g> thumb<br />

of the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> spanning up to 20cm. However, the palm can stretch very little<br />

in comparis<strong>on</strong>, placing useful c<strong>on</strong>straints <strong>on</strong> how far apart palm heel c<strong>on</strong>tacts <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

forepalms from the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> can be. The entire palm regi<strong>on</strong> of an outstretched<br />

adult h<str<strong>on</strong>g>and</str<strong>on</strong>g> is about 10 cm square, so palm c<strong>on</strong>tact centroids should not be scattered<br />

over a regi<strong>on</strong> larger than about 8 cm. When a partiti<strong>on</strong> wr<strong>on</strong>gly includes ngers from<br />

the opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g> in a cluster, the within-cluster identi cati<strong>on</strong> algorithm tends to<br />

assign the extra ngers from the opposite h<str<strong>on</strong>g>and</str<strong>on</strong>g> to palm heel <str<strong>on</strong>g>and</str<strong>on</strong>g> forepalm attractors.<br />

This usually causes the c<strong>on</strong>tacts assigned to the cluster's palm attractors to be<br />

scattered across the surface wider than is plausible for true palm c<strong>on</strong>tacts from<br />

a single h<str<strong>on</strong>g>and</str<strong>on</strong>g>. To punish such partiti<strong>on</strong>s, the palm cohesi<strong>on</strong> factor quickly drops<br />

below <strong>on</strong>e for a tentative h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster in which the supposed palm c<strong>on</strong>tacts are<br />

scattered over a regi<strong>on</strong> larger than 8 cm. Therefore its reciprocal will greatly increase<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s basic cost. Figure 4.39 shows the value of the palm cohesi<strong>on</strong> factor<br />

versus horiz<strong>on</strong>tal separati<strong>on</strong> between palm c<strong>on</strong>tacts. The horiz<strong>on</strong>tal spread can be<br />

e ciently measured by nding the maximum <str<strong>on</strong>g>and</str<strong>on</strong>g> minimum horiz<strong>on</strong>tal coordinates<br />

of all c<strong>on</strong>tacts identi ed as palm heels or forepalms <str<strong>on</strong>g>and</str<strong>on</strong>g> taking the di erence between<br />

the maximum <str<strong>on</strong>g>and</str<strong>on</strong>g> minimum. The measurement <str<strong>on</strong>g>and</str<strong>on</strong>g> factor value lookup are repeated<br />

for the vertical separati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the horiz<strong>on</strong>tal <str<strong>on</strong>g>and</str<strong>on</strong>g> vertical factors are multiplicatively<br />

combined to obtain the nal palm cohesi<strong>on</strong> factor.<br />

211


212<br />

separati<strong>on</strong> factor is not applicable to partiti<strong>on</strong>s in which all surface c<strong>on</strong>tacts are<br />

drop starting with positive separati<strong>on</strong>s of a few centimeters or less. The inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

ters of <strong>on</strong>e another to the same cluster, the separati<strong>on</strong> factor gradually begins to<br />

the plot. To encourage assignment of c<strong>on</strong>tacts which are within a couple centime-<br />

becomes very small. Such overlap corresp<strong>on</strong>ds to a negative thumb separati<strong>on</strong> in<br />

surface while either touching the surface or oating above it, the separati<strong>on</strong> factor<br />

small enough to suggest the thumbs are overlapping the same columnar regi<strong>on</strong> of the<br />

fault nger positi<strong>on</strong>s is found. If the di erence between these h<str<strong>on</strong>g>and</str<strong>on</strong>g> o set extrema is<br />

horiz<strong>on</strong>tal o sets of the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts with respect to their corresp<strong>on</strong>ding de-<br />

spect to their corresp<strong>on</strong>ding default nger positi<strong>on</strong>s. Similarly the maximum of the<br />

by nding the minimum of the horiz<strong>on</strong>tal o sets of right h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts with re-<br />

z<strong>on</strong>tal positi<strong>on</strong>s of the thumbs from each h<str<strong>on</strong>g>and</str<strong>on</strong>g> approach or overlap. It is measured<br />

factor increases the total costs of partiti<strong>on</strong>s in which the estimated or actual hori-<br />

Figure 4.40 is an approximate plot of the inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor. This<br />

4.5.5.4 Inter-<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Separati<strong>on</strong> Factor<br />

Figure 4.39: Palm cohesi<strong>on</strong> factor versus the horiz<strong>on</strong>tal separati<strong>on</strong> between the<br />

innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost c<strong>on</strong>tacts identi ed as palms.<br />

0<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Palm Cohesi<strong>on</strong> Factor<br />

1


213<br />

is present or if the cluster slides quickly to the correct h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s side of the board<br />

clustered together properly <str<strong>on</strong>g>and</str<strong>on</strong>g> will be attributed to the correct h<str<strong>on</strong>g>and</str<strong>on</strong>g> if the thumb<br />

Parts of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> which touch down in the middle of the surface will always be<br />

correctly if the h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches back down within a couple sec<strong>on</strong>ds (Figure 4.41).<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> which slides to the opposite side of the board <str<strong>on</strong>g>and</str<strong>on</strong>g> lifts o will be identi ed<br />

The h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> results can be summarized as follows. Parts from a<br />

positi<strong>on</strong>s in their default positi<strong>on</strong>s <strong>on</strong> opposite sides of the board.<br />

nger identi cati<strong>on</strong> experiments, each experiment starts with the estimated h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s, nger <str<strong>on</strong>g>and</str<strong>on</strong>g> attractor labels are preceded with an 'L' or an 'R.' As in the<br />

both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are shown. To distinguish ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> attractors from left <str<strong>on</strong>g>and</str<strong>on</strong>g> right<br />

as nger identi cati<strong>on</strong> results (Secti<strong>on</strong> 4.4.9) except both halves of the surface <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> identi cati<strong>on</strong> results (Figures 4.41{4.48) are presented the same way<br />

4.5.6 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Identi cati<strong>on</strong> Results<br />

assigned to the same h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> takes <strong>on</strong> the default value of <strong>on</strong>e in this case.<br />

Figure 4.40: Inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor versus the estimated distance between<br />

the left <str<strong>on</strong>g>and</str<strong>on</strong>g> right thumbs.<br />

0<br />

−6 −4 −2 0 2 4 6 8 10 12<br />

Inter−<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Separati<strong>on</strong> Factor<br />

1


214<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LA4 LF2 RA4<br />

LF4LF3<br />

LF3<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.41: Short-term memory of h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity as maintained by the h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate. In this experiment,<br />

a left h<str<strong>on</strong>g>and</str<strong>on</strong>g> nger pair starts in left default positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> slides well into the right side of the surface,<br />

then lifts o for a sec<strong>on</strong>d <str<strong>on</strong>g>and</str<strong>on</strong>g> taps the surface a few cm lower. Because the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate<br />

follows the ngers, brings left h<str<strong>on</strong>g>and</str<strong>on</strong>g> attractors (e.g. LA4) al<strong>on</strong>g, <str<strong>on</strong>g>and</str<strong>on</strong>g> eventually pushes right h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

attractors (e.g. RA4) o the right edge, the tapping nger pair is correctly attributed to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

even though its temporary lifto <str<strong>on</strong>g>and</str<strong>on</strong>g> downward shift caused a break in path tracking. Note that<br />

during the temporary lifto , LA4 began drifting back to the left side, then swerved back right during<br />

the tap before drifting all the way back to default after nal pair lifto .<br />

LF4<br />

LF3


215<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LA4 LA3 LA2<br />

LA5<br />

LA1<br />

RF1<br />

−5<br />

−20<br />

LA6<br />

−15<br />

LA7<br />

−10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.42: A right thumb (RF1) placed in the left middle of the surface is correctly identi ed solely by virtue<br />

of its orientati<strong>on</strong>. Note that the c<strong>on</strong>tact ellipse's major angle is about 120 . Even though this<br />

right thumb is placed quite near the left thumb attractor (LA1), the right thumb orientati<strong>on</strong> factor<br />

(Secti<strong>on</strong> 4.4.6.4) is str<strong>on</strong>g enough to override attracti<strong>on</strong> by LA1 <str<strong>on</strong>g>and</str<strong>on</strong>g> cause immediate attributi<strong>on</strong> to<br />

the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> up<strong>on</strong> touchdown. The right h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimate moves left in resp<strong>on</strong>se, bringing<br />

the right thumb attractor (RA1) with it to stabilize the identi cati<strong>on</strong> should the unique orientati<strong>on</strong><br />

informati<strong>on</strong> disappear in future time steps. Similarly, al<strong>on</strong>e c<strong>on</strong>tact with a 60 orientati<strong>on</strong> placed in<br />

the right middle of the surface would be identi ed as the left thumb.<br />

RA1


216<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF3<br />

LF2<br />

LF3RF3<br />

LF3RF2<br />

LF2 RF3<br />

LF2RF2 RF2<br />

RF2 RF3<br />

−5<br />

−20 −15 −10 −5<br />

LF3 LF2<br />

0<br />

d)<br />

5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.43: E ect of clutching velocity factor <strong>on</strong> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> near middle of surface. For the stati<strong>on</strong>ary<br />

ngertip pairs in c) <str<strong>on</strong>g>and</str<strong>on</strong>g> d), both ngertips get the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> identity but the pair identity depends<br />

<strong>on</strong> whether the pair touches down just to the left d) or right c) of board center. Without the interh<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

separati<strong>on</strong> factor, the ngertip pairs in c) <str<strong>on</strong>g>and</str<strong>on</strong>g> d) would be misidenti ed as left <str<strong>on</strong>g>and</str<strong>on</strong>g> right thumbs.<br />

However, in a) (top) the pair touches down <strong>on</strong> the right half but up<strong>on</strong> detecti<strong>on</strong> of its leftward velocity<br />

the clutching velocity factor causes it to be reattributed to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The opposite occurs in b),<br />

with initial identi cati<strong>on</strong> as left ngers but a quick reversal to identi cati<strong>on</strong> as right ngers.<br />

RF3<br />

a)<br />

c)<br />

b)


217<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

RF1<br />

RF3<br />

RF2<br />

RF7<br />

RF4<br />

RF5<br />

RF6<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.44: A right h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches down straddling the middle of the surface. The inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor<br />

ensures all c<strong>on</strong>tacts are attributed to the same h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> since the thumb is present, the thumb<br />

orientati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factors ensure the c<strong>on</strong>tacts are correctly identi ed as a right h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster.<br />

However, if the thumb had not been present, the cluster would have had a 50-50 chance of being<br />

attributed to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> since the ngertips <str<strong>on</strong>g>and</str<strong>on</strong>g> palm heels straddle the middle.


218<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF5<br />

LF6<br />

LF4 LF3<br />

LF7<br />

LF2<br />

LF1<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.45: A right h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches down well into the left half of the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> is misidenti ed as the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>. To<br />

avoid potentially destabilizing ambiguities, the strength of a h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s thumb orientati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness<br />

factors is intenti<strong>on</strong>ally limited at the far side, <str<strong>on</strong>g>and</str<strong>on</strong>g> in this case they are unable to override the nearness of<br />

the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> attractors. The <strong>on</strong>ly thing that could possibly distinguish this right h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tact cluster<br />

from a left h<str<strong>on</strong>g>and</str<strong>on</strong>g> cluster is the relatively large size of the outer palm heel c<strong>on</strong>tact (err<strong>on</strong>eously labeled<br />

LF1) compared to the thumb (err<strong>on</strong>eously labeled LF6), but this comparis<strong>on</strong> is <strong>on</strong>ly distinguishing<br />

when the weight of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> fully rests <strong>on</strong> the outer palm heel.


219<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF5<br />

LF3<br />

RF3<br />

LF4 RF4<br />

LF2 RF2<br />

LF1 RF1<br />

RF5<br />

LF6 LF7<br />

RF7<br />

RF6<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.46: Two full h<str<strong>on</strong>g>and</str<strong>on</strong>g>s placed side by side <strong>on</strong> the left half of the surface are partiti<strong>on</strong>ed correctly, the clusters<br />

being split right between the thumbs. The inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor, h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factors, thumb<br />

orientati<strong>on</strong> factors, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm cohesi<strong>on</strong> factors all compete to provide this correct result.


220<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF5<br />

LF3<br />

LF4<br />

LF2<br />

LF1<br />

RF1<br />

RF2<br />

−5<br />

−20<br />

LF6<br />

−15<br />

LF7<br />

−10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.47: The entire left h<str<strong>on</strong>g>and</str<strong>on</strong>g> plus the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger placed side by side <strong>on</strong> the left half of<br />

the surface are partiti<strong>on</strong>ed correctly, the clusters being split right between the thumbs. The interh<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

separati<strong>on</strong> factor, h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness factors, thumb orientati<strong>on</strong> factors, <str<strong>on</strong>g>and</str<strong>on</strong>g> palm cohesi<strong>on</strong> factors all<br />

compete to provide this correct result. However, the presence of the left palm heels is critical to<br />

e ectiveness of the palm cohesi<strong>on</strong> factor, as will be seen when the palm heels do not touch in the<br />

Figure 4.48.


221<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF5<br />

LF4 LF3 LF2<br />

LF7<br />

LF1<br />

RF1<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.48: The ve left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers plus the right thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> middle nger placed <strong>on</strong> the left half of the surface<br />

are not partiti<strong>on</strong>ed correctly. Since the left palm heels do not actually touch <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore leave their<br />

attractors open, the system nds a bad partiti<strong>on</strong> in which the left thumb is misidenti ed as the left<br />

inner palm heel (LF7) <str<strong>on</strong>g>and</str<strong>on</strong>g> the right thumb is misidenti ed as the left thumb (LF1). Since <strong>on</strong>ly <strong>on</strong>e<br />

c<strong>on</strong>tact is attributed to a palm heel, the palm cohesi<strong>on</strong> cannot be measured, <str<strong>on</strong>g>and</str<strong>on</strong>g> its weighting factor<br />

is ine ective.


222<br />

Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

LF5<br />

LF3 LF4<br />

LF2<br />

LF1<br />

RF1<br />

RF3<br />

RF2 RF2<br />

−5<br />

−20 −15 −10 −5 0 5 10 15 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 4.49: The ve left h<str<strong>on</strong>g>and</str<strong>on</strong>g> ngers plus the right thumb, index, <str<strong>on</strong>g>and</str<strong>on</strong>g> middle ngers placed side by side <strong>on</strong> the<br />

left half of the surface are partiti<strong>on</strong>ed correctly. The <strong>on</strong>ly di erence between this <str<strong>on</strong>g>and</str<strong>on</strong>g> Figure 4.49 is<br />

that the right index nger has been added <str<strong>on</strong>g>and</str<strong>on</strong>g> the thumbs are spaced apart a bit more, weakening<br />

the inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor. Nevertheless, the system h<str<strong>on</strong>g>and</str<strong>on</strong>g>les this h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> correctly.


(Figures 4.43, 4.44).<br />

Since thumb orientati<strong>on</strong>, h<str<strong>on</strong>g>and</str<strong>on</strong>g>edness, <str<strong>on</strong>g>and</str<strong>on</strong>g> clutching velocity features are<br />

fairly ambiguous even when the thumb is present, they are <strong>on</strong>ly used in the middle<br />

of the surface where h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> is often not distinguishing, not at the far sides<br />

of the surface, where false positive reversals could cause, for example, a left h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<strong>on</strong> the left side of the surface to be misidenti ed as a right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Therefore any<br />

sudden touchdown well to the left side of the surface which was not preceded by<br />

a h<str<strong>on</strong>g>and</str<strong>on</strong>g> sliding over from the right side will always be attributed to the left h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

(Figure 4.45).<br />

The c<strong>on</strong>tacts of two h<str<strong>on</strong>g>and</str<strong>on</strong>g>s which touch down uncrossed yet close together will<br />

be partiti<strong>on</strong>ed correctly if palm heels are touching (Figures 4.46, 4.47). However,<br />

the inter-h<str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> factor needed for clustering a h<str<strong>on</strong>g>and</str<strong>on</strong>g> which straddles the<br />

middle also tends to cause ngers from two adjacent, partially touching h<str<strong>on</strong>g>and</str<strong>on</strong>g>s to<br />

be clustered into <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g>, often err<strong>on</strong>eously lling the <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g>'s available palm<br />

attractors (Figure 4.48). Though the palm cohesi<strong>on</strong> factor addresses this in some<br />

cases, additi<strong>on</strong>al methods of detecting n<strong>on</strong>sensical nger-palm arrangements will be<br />

needed to cover all combinati<strong>on</strong>s of nger/palm presence.<br />

4.6 C<strong>on</strong>clusi<strong>on</strong>s<br />

Though individual proximity images are often under-c<strong>on</strong>strained, the iden-<br />

ti cati<strong>on</strong> system employs somewhat redundant stabilizati<strong>on</strong> mechanisms to achieve<br />

robust performance [161]. Ratcheting of identi cati<strong>on</strong> accuracy up<strong>on</strong> the very de-<br />

pendable path tracking system stabilizes the discrete system state, i.e., the nger<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identities. Basing h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> estimates up<strong>on</strong> these identities rather<br />

than just a centroid of h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tacts also ensures that the c<strong>on</strong>tinuous system state<br />

held in the estimates has a stabilizing e ect <strong>on</strong> new identi cati<strong>on</strong>s. When at least<br />

the four ngertips of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> touch the surface, distance-squared assignment is c<strong>on</strong>-<br />

strained well enough that attractor ring alignment is irrelevant, making the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

223


positi<strong>on</strong> estimates redundant in this case as well. Similarly, while the various at-<br />

tractor <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> partiti<strong>on</strong> weighting factors are designed to improve identi cati<strong>on</strong><br />

accuracy when c<strong>on</strong>tact arrangements or h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> is ambiguous, the weighting<br />

factors become redundant when the surface is fully populated with c<strong>on</strong>tacts from<br />

both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

The most surprising aspect of the architecture is that so many identi ca-<br />

ti<strong>on</strong> mechanisms coexist so peacefully, rarely c<strong>on</strong>tradicting <strong>on</strong>e another. Manual<br />

tuning of system parameters is practical because each identi cati<strong>on</strong> mechanism or<br />

weighting factor tends to dominate disambiguati<strong>on</strong> of a speci c h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>.<br />

Though balance with other mechanisms must be kept in mind, the selected mecha-<br />

nism's parameters can be tuned for its speci c h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> without causing<br />

unmanageably complex side e ects.<br />

Though slight improvements could be made to thumb veri cati<strong>on</strong> for the case<br />

that a thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> ngertip are close together or to h<str<strong>on</strong>g>and</str<strong>on</strong>g> partiti<strong>on</strong>ing for the case<br />

when ngers from both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are close together, the system distinguishes ngertips<br />

from palm heels <str<strong>on</strong>g>and</str<strong>on</strong>g> thumbs almost perfectly under operating c<strong>on</strong>diti<strong>on</strong>s. Since<br />

the chordic manipulati<strong>on</strong> system of the next chapter will be susceptible to human<br />

performance errors as well as recogniti<strong>on</strong> errors in segmentati<strong>on</strong>, identi cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

moti<strong>on</strong> extracti<strong>on</strong>, such identi cati<strong>on</strong> awlessness is crucial to keeping the overall<br />

error rate tolerable.<br />

224


Chapter 5<br />

CHORDIC MANIPULATION<br />

This chapter will dem<strong>on</strong>strate how the tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> capabilities<br />

developed in previous chapters are applied to integrate typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipu-<br />

lati<strong>on</strong> <strong>on</strong> the MTS. This integrati<strong>on</strong> of techniques for entry of text, comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

graphics is founded up<strong>on</strong> a novel c<strong>on</strong>cept: synchr<strong>on</strong>ous touchdown of multiple ngers<br />

should initiate pointing, comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures, or h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting, while asynchr<strong>on</strong>ous ac-<br />

tivity of individual ngers should be reserved for typing <strong>on</strong> a c<strong>on</strong>venti<strong>on</strong>al key layout.<br />

This c<strong>on</strong>cept <str<strong>on</strong>g>and</str<strong>on</strong>g> its implementati<strong>on</strong> as described in this chapter enable the MTS<br />

operator to switch instantaneously between typing, pointing, <str<strong>on</strong>g>and</str<strong>on</strong>g> gesturing with a<br />

simple change in h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>, avoiding heavyweight mode switches such as<br />

reaching for another device, a mode-switch butt<strong>on</strong>, or a certain regi<strong>on</strong> of the surface.<br />

Surprisingly, no <strong>on</strong>e is known to have derived more than 2-DOF of c<strong>on</strong>trol<br />

from h<str<strong>on</strong>g>and</str<strong>on</strong>g> or nger moti<strong>on</strong> <strong>on</strong> a proximity-sensing surface such as a touchpad or<br />

touchscreen. This can probably be attributed to the small form factor of touchpads<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> to the scarcity of multi-touch sensing technologies for independently tracking<br />

moti<strong>on</strong>s of multiple ngers. This chapter will present techniques for weighting <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

ltering moti<strong>on</strong>s of particular ngers to integrally extract rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling de-<br />

grees of freedom from unbalanced nger moti<strong>on</strong>s.<br />

The chapter starts with a review of input devices which o er high-DOF ma-<br />

nipulati<strong>on</strong> or integrati<strong>on</strong> of typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing. This review also explains the<br />

human-computer interacti<strong>on</strong> principles <str<strong>on</strong>g>and</str<strong>on</strong>g> design criteria which in uenced the de-<br />

velopment of chordic manipulati<strong>on</strong> <strong>on</strong> the MTS. Next, the four modules of the<br />

225


integrati<strong>on</strong> system are introduced: the nger subset synchr<strong>on</strong>izati<strong>on</strong> detector, the<br />

typing detector, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> extractor, <str<strong>on</strong>g>and</str<strong>on</strong>g> the chord moti<strong>on</strong> recognizer.<br />

The nger subset synchr<strong>on</strong>izati<strong>on</strong> detector feeds the typing detector <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

chord moti<strong>on</strong> recognizers with signals necessary to distinguish chordic manipula-<br />

ti<strong>on</strong> from typing. The typing recognizer initially registers all nger touchdowns<br />

as keypresses but cancels those which are later found to be synchr<strong>on</strong>ized, sliding,<br />

or resting. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> extractor lters four independent yet simultaneously<br />

accessible degrees of freedom from nger moti<strong>on</strong> <strong>on</strong> each h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The chord moti<strong>on</strong><br />

recognizer detects moti<strong>on</strong> of particular nger chords in particular directi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

generates the appropriate comm<str<strong>on</strong>g>and</str<strong>on</strong>g> or manipulati<strong>on</strong> signals. <str<strong>on</strong>g>Finger</str<strong>on</strong>g> subset syn-<br />

chr<strong>on</strong>izati<strong>on</strong> signals also gate selecti<strong>on</strong> of chordic manipulati<strong>on</strong> channels within the<br />

chord moti<strong>on</strong> recognizer. This gating improves erg<strong>on</strong>omics <str<strong>on</strong>g>and</str<strong>on</strong>g> mapping exibility<br />

by allowing operators to drop all ngers to the surface after selecting a channel. Op-<br />

erators can also select a new channel from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting posture by momentarily<br />

lifting a new nger subset instead of lifting the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

5.1 Related Input Devices<br />

5.1.1 Fitts' Law <str<strong>on</strong>g>and</str<strong>on</strong>g> Pointing Performance<br />

The basic targeting speeds of pointing devices are usually compared within<br />

the frameworkofFitts'law[140]. Fitts' law states that the movement timeMT for<br />

a targeting task is proporti<strong>on</strong>al to the index of di culty ID for the task divided<br />

by the index of performance IP for a particular appendage operating a particular<br />

pointing device:<br />

MT = ID=IP (5.1)<br />

Normally the movement time is measured in sec<strong>on</strong>ds, the index of di culty in bits<br />

of positi<strong>on</strong> informati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the index of performance in bits per sec<strong>on</strong>d. For the<br />

226


task of moving the h<str<strong>on</strong>g>and</str<strong>on</strong>g> sideways toward a tall, columnar target area, Fitts [38]<br />

originally found that the index of di culty could be expressed as:<br />

ID = log2( 2A<br />

) (5.2)<br />

W<br />

where A is the horiz<strong>on</strong>tal distance from the starting h<str<strong>on</strong>g>and</str<strong>on</strong>g> or nger positi<strong>on</strong> to the<br />

target, <str<strong>on</strong>g>and</str<strong>on</strong>g> W is the horiz<strong>on</strong>tal width of the target. Other formulati<strong>on</strong>s such as<br />

Mackenzie's [93]:<br />

ID =log 2( A<br />

W<br />

have been proposed for the index of task di culty.<br />

+1) (5.3)<br />

Pointing device performance studies typically t targeting time data to some<br />

versi<strong>on</strong> of Fitts' Law to obtain the index of performance for the given device [97].<br />

A large body of research has extended Fitts' Law tovariously shaped targets in two<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> three dimensi<strong>on</strong>s [2, 49, 76, 94{96], compared performance of devices which are<br />

c<strong>on</strong>trolled by exing of di erent appendages such as ngers, wrist, <str<strong>on</strong>g>and</str<strong>on</strong>g> forearm [6,<br />

97], <str<strong>on</strong>g>and</str<strong>on</strong>g> compared performance with di erent c<strong>on</strong>trol-to-display gains [73], known<br />

more comm<strong>on</strong>ly as mouse cursor sensitivity <str<strong>on</strong>g>and</str<strong>on</strong>g> accelerati<strong>on</strong>. Some of the more<br />

notable results have been that n<strong>on</strong>linear mouse moti<strong>on</strong> to cursor moti<strong>on</strong> transfer<br />

functi<strong>on</strong>s which causes disproporti<strong>on</strong>ately large cursor moti<strong>on</strong>s at faster h<str<strong>on</strong>g>and</str<strong>on</strong>g> speeds<br />

do not decrease total targeting times but do decrease the distance the h<str<strong>on</strong>g>and</str<strong>on</strong>g> must<br />

move. Also, a higher index of performance is achieved with a stylus manipulated<br />

between the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> fore nger than by devices which sense <strong>on</strong>ly lateral moti<strong>on</strong><br />

generated at a single nger, the wrist, or forearm [6].<br />

5.1.1.1 <str<strong>on</strong>g>Tracking</str<strong>on</strong>g> Delay<br />

Temporal lags in tracking introduced by moti<strong>on</strong> sensors <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> process-<br />

ing can also have a signi cant e ect <strong>on</strong> manipulati<strong>on</strong> performance. Mackenzie <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Ware [96] found that lags as small as 75 ms increased time to target 10% <str<strong>on</strong>g>and</str<strong>on</strong>g> target<br />

227


selecti<strong>on</strong> errors 36%, while lags of 225 ms increased movement time 64% <str<strong>on</strong>g>and</str<strong>on</strong>g> selec-<br />

ti<strong>on</strong> errors by 214%. Ho man [64] had similar results, <str<strong>on</strong>g>and</str<strong>on</strong>g> both authors propose<br />

extensi<strong>on</strong>s to Fitts' Law to model these performance degradati<strong>on</strong>s. In light of this,<br />

the MTS chord moti<strong>on</strong> recognizer is designed to keep moti<strong>on</strong> initiati<strong>on</strong> or channel<br />

selecti<strong>on</strong> lags less than 100 ms from the rst nger touchdown of a chord. The ac-<br />

tual lags depend <strong>on</strong> the rate of nger proximity stabilizati<strong>on</strong>, c<strong>on</strong>vergence of nger<br />

identi cati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the lateral nger velocities, but generally they hover under 100<br />

ms. However, <strong>on</strong>ce the channel is selected <str<strong>on</strong>g>and</str<strong>on</strong>g> the rst moti<strong>on</strong> c<strong>on</strong>trol signals are<br />

generated, lag drops to at most two image frames, or 40 ms.<br />

5.1.2 Integrating Typing <str<strong>on</strong>g>and</str<strong>on</strong>g> Pointing<br />

A fundamental, di cult to circumvent, dichotomy exists between manipula-<br />

ti<strong>on</strong> tasks, e.g. pointing, dragging, or scrolling, <str<strong>on</strong>g>and</str<strong>on</strong>g> discrete speci cati<strong>on</strong> tasks such<br />

as comm<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> text entry. <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> involves c<strong>on</strong>tinuous, bidirecti<strong>on</strong>al adjust-<br />

ment of parameters in some coordinate space, such as the positi<strong>on</strong>, size, <str<strong>on</strong>g>and</str<strong>on</strong>g> hue of<br />

an <strong>on</strong>-screen object. In discrete speci cati<strong>on</strong>, speech or a preordained h<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture<br />

must specify a character, word, or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> from a nite set. Though graphical user<br />

interface software has evolved so that users can freely intermix these approaches,<br />

the input devices which support each approach, typically mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard, have<br />

remained substantially separate. This review will outline the capabilities of existing<br />

direct manipulati<strong>on</strong> devices <str<strong>on</strong>g>and</str<strong>on</strong>g> analyze past attempts to support manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

discrete speci cati<strong>on</strong> in an integrated device.<br />

5.1.2.1 Embedding Pointing Devices in Mechanical Keyboards<br />

Though people have l<strong>on</strong>g lamented the need to reach back <str<strong>on</strong>g>and</str<strong>on</strong>g> forth be-<br />

tween the mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard, the most visible attempts at integrating typing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pointing have been driven by the miniaturizati<strong>on</strong> dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s of laptop computers.<br />

Most manufacturers have replaced the tiny thumb-operated trackballs of the early<br />

228


1990s with credit-card-sized touchpads located below the spacebar. While this is<br />

certainly an improvement, some users have a tendency to accidentally tap the pad<br />

with their thumbs while typing, causing r<str<strong>on</strong>g>and</str<strong>on</strong>g>om mouse clicks. Synaptics, Inc., the<br />

primary touchpad OEM, claims to have developed special lters which address this<br />

problem [143].<br />

IBM <str<strong>on</strong>g>and</str<strong>on</strong>g> Toshiba laptops c<strong>on</strong>tinue to feature the Trackpoint pointing stick,<br />

a tiny force-sensitive joystick embedded between the 'g', 'h', <str<strong>on</strong>g>and</str<strong>on</strong>g> 'b' keys. Mouse<br />

pointer velocity is proporti<strong>on</strong>al to the directi<strong>on</strong>al force applied to the stick by the<br />

ngertips, <str<strong>on</strong>g>and</str<strong>on</strong>g> physical butt<strong>on</strong>s below the spacebar serve as mouse butt<strong>on</strong>s. Rut-<br />

ledge <str<strong>on</strong>g>and</str<strong>on</strong>g> Selker [131] were the rst to study the pointing stick, <str<strong>on</strong>g>and</str<strong>on</strong>g> they expected to<br />

nd that tasks involving a mixture of pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> typing would be faster with the<br />

embedded stick since reaching o the key layout for the pointing device was unnec-<br />

essary. They actually found that though the homing time to switch from pointing<br />

to the keyboard was reduced to 90 ms, switching from typing to pointing still took<br />

about 400ms, 2/3 as l<strong>on</strong>g as for the mouse, because the pointing stick issuch a small<br />

target for the nger to nd. The mouse also remained 25% faster than the pointing<br />

stick for pure pointing tasks.<br />

Similar joysticks have been built into a key of the keyboard such as the 'j'<br />

key [40]. Pointing mode is entered after holding the key down for a short time<br />

interval such as 200 ms. Clicking is accomplished by pressing another key while<br />

still in pointing mode, e.g. while the 'j' key is pressed. Douglas <str<strong>on</strong>g>and</str<strong>on</strong>g> Mithal [32]<br />

found that though the homing time for the key joystick was again about 2/3 that of<br />

the mouse (438 ms compared to 667 ms), the mouse was still about twice as fast at<br />

pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> dragging <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore performed better overall even in mixed pointing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> typing tasks. Several subjects also complained of fatigue from having to hold<br />

the 'j' key down to remain in pointing mode.<br />

Though the MTS integrati<strong>on</strong> method will also be susceptible to accidental<br />

229


activati<strong>on</strong>s, pointing mode can be entered at any time, anywhere <strong>on</strong> the surface<br />

(including directly over home row) by placing two adjacent ngertips <strong>on</strong> the surface<br />

synchr<strong>on</strong>ously. Similarly, dragging can be initiated by synchr<strong>on</strong>ously placing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

sliding three adjacent ngertips. Typing can resume any time after these ngertips<br />

lift o the surface. Therefore the homing time for the MTS going both from typing<br />

to pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> from pointing to typing is simply the time needed to lift the ngers<br />

o the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> put them back down again. This time ranges between 150 ms<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> 300 ms depending <strong>on</strong> how hurried the operator is. Because the MTS o ers such<br />

a wide range of h<str<strong>on</strong>g>and</str<strong>on</strong>g> movement, its pointing speed <str<strong>on</strong>g>and</str<strong>on</strong>g> accuracy should be much<br />

closer to that of a mouse than these tiny joysticks <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads. Therefore <strong>on</strong>e<br />

would expect better overall performance in mixed typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing tasks <strong>on</strong> the<br />

MTS as l<strong>on</strong>g as its typing performance is not degraded.<br />

5.1.2.2 Detecting Pointing Gestures Above a Keyboard<br />

An interesting but less commercially successful approach has been to sense<br />

nger pointing either remotely or with ring attachments while the h<str<strong>on</strong>g>and</str<strong>on</strong>g> oats above<br />

the keyboard. For example, Levine [91] attached a stylus ring to the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> a<br />

palette ring to the index nger. Users could wear the rings while typing <str<strong>on</strong>g>and</str<strong>on</strong>g> rub<br />

the stylus ring against the palette ring to move the pointer <str<strong>on</strong>g>and</str<strong>on</strong>g> click. Sibert <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Gokturk [136] similarly placed an infrared-emitting ring <strong>on</strong> the index nger. Four<br />

infrared sensors mounted at the corners of a laptop display inferred the directi<strong>on</strong> the<br />

ring is pointing. Thus users would point their nger directly at the desired object<br />

<strong>on</strong> the display.<br />

Quek [121] applied his sophisticated video-based h<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture recogniti<strong>on</strong><br />

system to track pointing gestures over a keyboard. The camera was mounted to look<br />

down at the keyboard, <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing mode began when the user extended the index<br />

ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> curled all the others. Pointing performance was <strong>on</strong>ly 18% poorer than<br />

with a mouse. Without a blue dot to demarcate the ngertip, Quek's video-based<br />

230


approach could <strong>on</strong>ly track the nger at 7 fps <strong>on</strong> a 150-MHz Silic<strong>on</strong> Graphics Indigo<br />

2 workstati<strong>on</strong>. Clearly the ring attachments, camera, or intensive computati<strong>on</strong>s<br />

required with these approaches are undesirable if not impractical.<br />

5.1.2.3 One <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Points, the Other Types<br />

Typing or issuing key comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s with <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> while manipulating a mouse<br />

or drawing tablet puck with the other is a natural approach often adopted by op-<br />

erators of computer-aided-design (CAD) software [82, 166]. A few companies [56,<br />

69, 103{106, 119, 153] have devised <strong>on</strong>e-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed keyboards for this purpose which use<br />

unique chording schemes or layouts to ensure all letters are within easy reach of<strong>on</strong>e<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The primary disadvantage of these devices is that the operator must learn a<br />

new key layout or chord typing scheme.<br />

A strict allocati<strong>on</strong> of manipulati<strong>on</strong> tasks to <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> discrete speci ca-<br />

ti<strong>on</strong> to the other has more organizati<strong>on</strong>al clarity than the MTS mappings, which<br />

spread both manipulati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> typing equally over both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. However, even if the<br />

operator's task requires equal amounts of typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing, the risk of overuse<br />

injuries in the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s is presumably greater for the <strong>on</strong>e-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed keyboards because<br />

the typing load for <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> is doubled, <str<strong>on</strong>g>and</str<strong>on</strong>g> the mousing h<str<strong>on</strong>g>and</str<strong>on</strong>g> will use <strong>on</strong>ly the<br />

mousing muscles over <str<strong>on</strong>g>and</str<strong>on</strong>g> over. Assuming that typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing do not load<br />

exactly the same muscles, spreading these activities evenly over both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s as the<br />

MTS does decreases the likelihood that any subset of muscles or tend<strong>on</strong>s in <strong>on</strong>e<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> will be overused. Finally, the <strong>on</strong>e-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed typing, <strong>on</strong>e-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed pointing ap-<br />

proach precludes bimanual manipulati<strong>on</strong>s such as panning the background with the<br />

n<strong>on</strong>-dominant h<str<strong>on</strong>g>and</str<strong>on</strong>g> while pointing with the dominant h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

5.1.2.4 Touch Pads <str<strong>on</strong>g>and</str<strong>on</strong>g> Screens<br />

Touch screens <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads often distinguish pointing moti<strong>on</strong>s from em-<br />

ulated butt<strong>on</strong> clicks or keypresses by assuming very little lateral ngertip moti<strong>on</strong><br />

231


will occur during taps <strong>on</strong> the touch surface which areintended as clicks. Inherent in<br />

these methods is the assumpti<strong>on</strong> that tapping will usually be straight down from the<br />

suspended nger positi<strong>on</strong>, minimizing those comp<strong>on</strong>ents of nger moti<strong>on</strong> tangential<br />

to the surface. This is a valid assumpti<strong>on</strong> if the surface is not nely divided into<br />

distinct key areas or if the user does aslow, \hunt <str<strong>on</strong>g>and</str<strong>on</strong>g> peck" visual search for each<br />

key before striking. For example, in a patent to Logan [92], taps with less than<br />

about 1/16" lateral moti<strong>on</strong> activate keys <strong>on</strong> a small keypad while lateral moti<strong>on</strong><br />

in excess of 1/16" activates cursor c<strong>on</strong>trol mode. In both patents cursor mode is<br />

invoked by default when a nger stays <strong>on</strong> the surface a l<strong>on</strong>g time.<br />

However, fast touch typing <strong>on</strong> a surface divided into a large array of key re-<br />

gi<strong>on</strong>s tends to produce more tangential moti<strong>on</strong>s al<strong>on</strong>g the surface than thresholding<br />

of lateral nger moti<strong>on</strong> can tolerate. Such an array c<strong>on</strong>tains keys in multiple rows<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> columns which may not be directly under the ngers, so the user must often<br />

reach with the h<str<strong>on</strong>g>and</str<strong>on</strong>g> or ex or extend ngers to touch key regi<strong>on</strong>s. Quick reaching<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> extending imparts signi cant lateral nger moti<strong>on</strong> while the nger is in the air<br />

which may still be present when the nger c<strong>on</strong>tacts the surface. Glancing taps with<br />

as much as 1/4" lateral moti<strong>on</strong> measured at the surface can easily result. Attempt-<br />

ing to lter or suppress this much moti<strong>on</strong> would make the cursor seem sluggish<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> unresp<strong>on</strong>sive. The MTS gets around this problem by <strong>on</strong>ly mapping pointing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> other manipulati<strong>on</strong>s to chords of two or more ngers, basically ignoring lateral<br />

moti<strong>on</strong> by l<strong>on</strong>e ngers.<br />

5.1.3 <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> in more than Two Degrees of Freedom<br />

Each h<str<strong>on</strong>g>and</str<strong>on</strong>g> o ers a total of 29 degrees of freedom (DOF) of moti<strong>on</strong> [141], 23<br />

of which come from the nger joints above the wrist. The remaining 6 come from<br />

the overall h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> as measured from the palm center. A wide<br />

range of devices have been developed to capture <str<strong>on</strong>g>and</str<strong>on</strong>g> reduce this wide range of h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> nger exibility into 3-6-DOF of moti<strong>on</strong> c<strong>on</strong>trol for two <str<strong>on</strong>g>and</str<strong>on</strong>g> three-dimensi<strong>on</strong>al<br />

232


graphical manipulati<strong>on</strong> tasks. Such devices include 6-DOF force-sensitive balls such<br />

as the Spaceball <str<strong>on</strong>g>and</str<strong>on</strong>g> Elastic General Purpose Grip C<strong>on</strong>troller [169], the 6-DOF<br />

Polhemus [19] <str<strong>on</strong>g>and</str<strong>on</strong>g> Bat [153] free-space h<str<strong>on</strong>g>and</str<strong>on</strong>g> trackers, the 4-DOF Rockin' mouse [5],<br />

4-DOF tilt-sensitive styli [149], <str<strong>on</strong>g>and</str<strong>on</strong>g> the 3-DOF two-ball mouse [98].<br />

Human-computer interacti<strong>on</strong> researchers have devised various classi cati<strong>on</strong><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> evaluati<strong>on</strong> schemes for these devices. For example, Mackinlay et al. argue that:<br />

...input devices are transducers of any combinati<strong>on</strong> of linear <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotary, absolute <str<strong>on</strong>g>and</str<strong>on</strong>g> relative, positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> force, in any of the six spatial<br />

degrees of freedom. [100], Page 145<br />

The performance evaluati<strong>on</strong> research, in turn, can be summarized by the asserti<strong>on</strong><br />

of Jacob et al. that:<br />

performance improves when the perceptual structure of the task matches<br />

the c<strong>on</strong>trol structure of the device. [71], Page 6<br />

Thus positi<strong>on</strong>-sensing devices perform best for positi<strong>on</strong> c<strong>on</strong>trol tasks [167], force-<br />

sensitive devices perform best for rate or velocity c<strong>on</strong>trol tasks [167], rotati<strong>on</strong>-sensing<br />

devices perform best for rotati<strong>on</strong> c<strong>on</strong>trol tasks [63], <str<strong>on</strong>g>and</str<strong>on</strong>g> so <strong>on</strong>. This suggests that the<br />

MTS will be particularly adept at rotating <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling two-dimensi<strong>on</strong>al documents<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> objects. While such 2D document manipulati<strong>on</strong> may not be as glamorous as<br />

full 6-DOF navigati<strong>on</strong> in 3D virtual worlds, almost all existing software applicati<strong>on</strong>s<br />

could bene t from more accessible rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling capabilities.<br />

5.1.3.1 Integrality vs. Separability<br />

The corresp<strong>on</strong>dence between device c<strong>on</strong>trol structure <str<strong>on</strong>g>and</str<strong>on</strong>g> task perceptual<br />

structure is particularly important with regard to bimanual manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> in-<br />

tegrality of degrees of freedom. Integral degrees of freedom are those that can be<br />

c<strong>on</strong>trolled simultaneously with a device to transmit diag<strong>on</strong>al moti<strong>on</strong>. Separable de-<br />

grees of freedom can <strong>on</strong>ly be accessed <strong>on</strong>e at a time, limiting movement to directi<strong>on</strong>s<br />

al<strong>on</strong>g an axis like the orthog<strong>on</strong>al drawing mode of many CAD programs. Jacob et<br />

233


al. [71] found that integral tasks such as simultaneously sizing <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>ing an<br />

object in two dimensi<strong>on</strong>s are best c<strong>on</strong>trolled with a device providing three integral<br />

degrees of freedom. This is not surprising since <strong>on</strong>e can usually reach a target more<br />

quickly if allowed to travel al<strong>on</strong>g the diag<strong>on</strong>al if the target is in a diag<strong>on</strong>al directi<strong>on</strong>.<br />

However, Jacob et al. also found that for cognitively separable tasks such<br />

as changing object color <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>ing the object in two dimensi<strong>on</strong>s, a separable<br />

device such as a 2DOF mouse with a butt<strong>on</strong> to switch between color adjustment<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> adjustment performed better. Thus the integrality of separability of<br />

the device should be matched with that of the task. Other researchers have also<br />

found in some cases that having too many integral degrees of freedom available<br />

simultaneously can hurt performance because as users zero in <strong>on</strong> the target in <strong>on</strong>e<br />

set of axes, instabilities in h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> may nudge the cursor away from the target<br />

al<strong>on</strong>g the other axes.<br />

For example, auxiliary scrolling c<strong>on</strong>trols for mice such as the pointing stick<br />

<strong>on</strong> the IBM ScrollPoint mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> the middle nger roller <strong>on</strong> the Roller Mouse of<br />

Gillick <str<strong>on</strong>g>and</str<strong>on</strong>g> Lam [52] provide more than the two degrees of freedom st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard for mice.<br />

However, these scrolling degrees of freedom should be c<strong>on</strong>sidered separable from the<br />

two pointing degrees of freedom because, as Zhai et al. [170] note, manipulati<strong>on</strong><br />

of more than two degrees of freedom at a time is very di cult with these devices,<br />

preventing simultaneous panning, zooming <str<strong>on</strong>g>and</str<strong>on</strong>g> rotating.<br />

Like the recent dual-pointing-stick bulldozer-interface of Zhai et al. [168],<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> extractor presented in this chapter will try to strike a compro-<br />

mise between integrity <str<strong>on</strong>g>and</str<strong>on</strong>g> separability. The moti<strong>on</strong> lters will pass simultaneous<br />

moti<strong>on</strong>s in multiple comp<strong>on</strong>ents or degrees of freedom which are truly in diag<strong>on</strong>al<br />

directi<strong>on</strong>s, thus allowing fast manipulati<strong>on</strong> across shortest path diag<strong>on</strong>als. But when<br />

<strong>on</strong>e of the rotati<strong>on</strong>, scaling, or translati<strong>on</strong> degrees of freedom dominates, indicating<br />

the directi<strong>on</strong> of moti<strong>on</strong> is nearly al<strong>on</strong>g an axis, the n<strong>on</strong>-dominant comp<strong>on</strong>ents will<br />

234


e suppressed so that c<strong>on</strong>trol occurs exactly al<strong>on</strong>g the axis. Thus operators should<br />

receive the speed gains of diag<strong>on</strong>al moti<strong>on</strong> for coarse movements but be automati-<br />

cally switched to a separable mode <strong>on</strong> the nal approach to a target, protected from<br />

the instabilities <str<strong>on</strong>g>and</str<strong>on</strong>g> n<strong>on</strong>-uniformities of their own h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s.<br />

5.1.3.2 Bimanual <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g><br />

Bimanual manipulati<strong>on</strong> refers to simultaneous manipulati<strong>on</strong> using both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

Guiard's kinematic chain model [55], which posits that the coarse moti<strong>on</strong>s of the<br />

n<strong>on</strong>-preferred h<str<strong>on</strong>g>and</str<strong>on</strong>g> have evolved to functi<strong>on</strong> as a dynamic frame of reference for<br />

the ne moti<strong>on</strong>s of the preferred (right) h<str<strong>on</strong>g>and</str<strong>on</strong>g>, has stimulated c<strong>on</strong>siderable exper-<br />

imentati<strong>on</strong> in the human-computer interacti<strong>on</strong> community. Noticing that people<br />

normally use their left h<str<strong>on</strong>g>and</str<strong>on</strong>g> to keep the positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> orientati<strong>on</strong> of a piece of paper<br />

optimal for h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing with the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>, Guiard <str<strong>on</strong>g>and</str<strong>on</strong>g> Athenes [55] found that<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing speed drops up to 20% if subjects are instructed not to manipulate the<br />

page with the n<strong>on</strong>-preferred h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

In <strong>on</strong>e of the earliest studies, Buxt<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Myers found a 15-25% performance<br />

increase in a mixed scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>ing task when <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong>ed with a<br />

puck while the other scaled with a slider, <str<strong>on</strong>g>and</str<strong>on</strong>g> subjects actually adapted the parallel<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> usage strategy without prompting. Kabbash et al. [77] veri ed that the left<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> is faster at l<strong>on</strong>g-distance pointing with mouse, trackball, or stylus, <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

right h<str<strong>on</strong>g>and</str<strong>on</strong>g> is faster at precisi<strong>on</strong> movements toward small targets. Leganchuk et<br />

al. [90] found 15-30% better performance sweeping out rectangles with two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>s,<br />

i.e., each h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>trolling an opposite corner. Hinckley et al. [63] claim that users<br />

can internally sense the positi<strong>on</strong> of the preferred h<str<strong>on</strong>g>and</str<strong>on</strong>g> with respect to the other <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

manipulate accordingly without visual feedback.<br />

Most of these experiments have been carried out with combinati<strong>on</strong>s of c<strong>on</strong>-<br />

venti<strong>on</strong>al devices for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> such asastylus <str<strong>on</strong>g>and</str<strong>on</strong>g> puck<strong>on</strong>aWacom tablet [86, 90],<br />

a mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> a touchpad [61], a mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> a pointing stick [170, 171], or two pointing<br />

235


sticks [168]. While such bimanual manipulati<strong>on</strong> techniques have not been explored<br />

yet <strong>on</strong> the MTS, its wide surface <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> ability are perfectly suited<br />

for them. Moreover, the MTS is the <strong>on</strong>ly device known to be able to support typing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> bimanual manipulati<strong>on</strong> in the same space. This could make bimanual manipu-<br />

lati<strong>on</strong> practical for a much wider populati<strong>on</strong> of computer users.<br />

5.1.4 Channel Selecti<strong>on</strong><br />

Channel selecti<strong>on</strong> corresp<strong>on</strong>ds to pressing butt<strong>on</strong>s <strong>on</strong> a mouse to activate<br />

alternative modes such as dragging or scrolling. Most mice have <strong>on</strong>e to three butt<strong>on</strong>s<br />

which, when used in chorded combinati<strong>on</strong>, can select up to 7 channels. Specialized<br />

pucks for CAD systems may o er many more buut<strong>on</strong>s. The nger identi cati<strong>on</strong><br />

system of the MTS can distinguish seven channels, but the seventh is reserved for<br />

whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting. The primary advantage of MTS channel selecti<strong>on</strong> over mouse<br />

channel selecti<strong>on</strong> is that the MTS does not require any sustained butt<strong>on</strong>-pressing<br />

forces.<br />

The multiple channel capability oftheMTS also allows it to avoid the cum-<br />

bersome tap-drag sequence of single nger touchpads. Unlike drawing tablets, which<br />

can sense the di erence between a stylus hovering over the tablet <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e pressing<br />

<strong>on</strong> the tablet, touchpads can <strong>on</strong>ly track a nger when it is touching the surface [61].<br />

Thus they require a special tap-drag timing sequence to distinguish nger moti<strong>on</strong>s<br />

meant for pointing from those meant for dragging. The MTS is free to allocate<br />

dragging to <strong>on</strong>e of its extra nger chord channels, avoiding the awkward tap-drag<br />

sequences.<br />

Fitzmaurice <str<strong>on</strong>g>and</str<strong>on</strong>g> Buxt<strong>on</strong> [39] essentially argue that the device structure/perceptual<br />

structure corresp<strong>on</strong>dence should extend to channel selecti<strong>on</strong> as well. They advocate<br />

distinct graspable tools, each withaphysical transducer, which are shaped as rulers,<br />

236


stretchable squares, bricks, or rotor to match thetask of manipulating a set of cor-<br />

resp<strong>on</strong>ding virtual objects which look the same <strong>on</strong>screen. They nd that subjects<br />

are faster at tracking four r<str<strong>on</strong>g>and</str<strong>on</strong>g>omly moving objects <strong>on</strong>screen with these special-<br />

ized, space-multiplexed devices than with generic space-multiplexed devices such as<br />

labeled pucks. Time-multiplexing by using <strong>on</strong>e device to manipulate the cursor,<br />

select, <str<strong>on</strong>g>and</str<strong>on</strong>g> drag each virtual object is also signi cantly slower. Again, the Wacom<br />

tablet technology, which can track <str<strong>on</strong>g>and</str<strong>on</strong>g> identify multiple, cordless devices such as<br />

pucks, styli, <str<strong>on</strong>g>and</str<strong>on</strong>g> airbrushes <strong>on</strong> the same tablet at the same time, was used for this<br />

experiment.<br />

This capacity tophysically pick from multiple, specialized tools is commend-<br />

able <str<strong>on</strong>g>and</str<strong>on</strong>g> well-suited for certain applicati<strong>on</strong>s such as virtual painting <str<strong>on</strong>g>and</str<strong>on</strong>g> character<br />

keyframe animati<strong>on</strong> [39]. In c<strong>on</strong>trast, the MTS's chordic channel selecti<strong>on</strong> is closest<br />

to generic space multiplexing <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore may require additi<strong>on</strong>al cognitive load<br />

to memorize the functi<strong>on</strong> of each channel. However, switching between channels <strong>on</strong><br />

the MTS is comparably instantaneous since there is no need to put down <strong>on</strong>e tool<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> pick up another. Thus if MTS operators are faced with the same tasks day<br />

in <str<strong>on</strong>g>and</str<strong>on</strong>g> day out, they will likely achieve better tool or mode-switching performance,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> again they will not have toworry about tools impeding typing by cluttering the<br />

work surface when put down.<br />

5.2 Synchr<strong>on</strong>izati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Typing Detecti<strong>on</strong><br />

This secti<strong>on</strong> will explain how the MTS uses the timings of nger touchdowns<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> lifto s to distinguish between asynchr<strong>on</strong>ous key taps <str<strong>on</strong>g>and</str<strong>on</strong>g> synchr<strong>on</strong>ous chord<br />

taps or h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting.<br />

5.2.1 Keypress Registrati<strong>on</strong><br />

Figure 5.1 c<strong>on</strong>tains a owchart of the keypress registrati<strong>on</strong> loop. As each new<br />

237


GET ANY PATH RECENTLY<br />

CREATED BY HAND PART<br />

TOUCHDOWN<br />

N<br />

N<br />

START<br />

PATH<br />

PROXIMITY<br />

JUST CROSSED<br />

KEYPRESS<br />

THRESH ?<br />

PATH<br />

IDENTIFIED<br />

AS FINGER NOT<br />

PALM?<br />

Y<br />

Y PATH'S<br />

HAND SLIDING/<br />

WRITING ?<br />

N<br />

Y<br />

APPEND KEYPRESS<br />

QUEUE ELEMENT TO<br />

TAIL OF FIFO<br />

KEYPRESS QUEUE<br />

DEBOUNCE<br />

OK ?<br />

CREATE KEYPRESS<br />

QUEUE ELEMENT<br />

CONTAINING PATH ID,<br />

CLOSEST KEY &<br />

PRESS TIMESTAMP<br />

N<br />

FIND CLOSEST<br />

KEY REGION<br />

ANY KEY<br />

REGION<br />

NEARBY ?<br />

Figure 5.1: Flow chart of the keypress registrati<strong>on</strong> process.<br />

238<br />

N<br />

Y<br />

Y


h<str<strong>on</strong>g>and</str<strong>on</strong>g> part touches down <str<strong>on</strong>g>and</str<strong>on</strong>g> its c<strong>on</strong>tact proximity surpasses a small threshold, it is<br />

registered in a keypress queue unless any of the following c<strong>on</strong>diti<strong>on</strong>s are true:<br />

its c<strong>on</strong>tact path has been identi ed as a palm instead of a nger.<br />

the h<str<strong>on</strong>g>and</str<strong>on</strong>g> it is associated with is currently involved in a chordic manipulati<strong>on</strong>.<br />

it fails debounce testing, i.e., the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> part lifted o the surface less<br />

than 100{150 ms prior to the current touchdown.<br />

In these cases the touchdown must be ignored by the typing detector to avoid<br />

generati<strong>on</strong> of keypresses from h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s clearly not intended as typing. The<br />

path tracking module (Secti<strong>on</strong> 3.3.3) facilitates debounce testing by reactivating a<br />

nger's old path if the nger lifts o <str<strong>on</strong>g>and</str<strong>on</strong>g> quickly touches back down over the same<br />

spot. Up<strong>on</strong> reactivati<strong>on</strong> the timestamp of the last lifto by the old path is preserved<br />

for comparis<strong>on</strong> with the timestamp of the new touchdown.<br />

Assuming the nger touchdown passes these registrati<strong>on</strong> tests, the current<br />

positi<strong>on</strong> of the ngertip centroid (Fix[n], Fiy[n]) is used to nd the nearest key in a<br />

prede ned QWERTY key layout (e.g. see Figure 1.1 <strong>on</strong> Page 6). The touchdown<br />

may be ignored if there are no key regi<strong>on</strong>s within a centimeter of the ngertip.<br />

Assuming a key regi<strong>on</strong> is close to the nger, a keypress element data structure is<br />

created c<strong>on</strong>taining the path index <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identity, the closest key regi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

a timestamp indicating when the nger crossed the keypress proximity threshold.<br />

The nal step then appends this keypress element data structure to the tail of the<br />

FIFO ( rst-in rst-out) keypress queue. This accomplished, the loop c<strong>on</strong>tinues to<br />

process or wait for touchdowns by other ngers.<br />

Note that the keypress queue e ectively orders nger touchdowns by when<br />

they pass the keypress proximity threshold. It thus xes the order in which key<br />

symbols from each nger tap will be transmitted to the host. However, an element's<br />

key symbol is not assured transmissi<strong>on</strong> to the host <strong>on</strong>ce in the keypress queue. Any<br />

239


of a number of c<strong>on</strong>diti<strong>on</strong>s to be discussed in the following secti<strong>on</strong>s such as being<br />

part of a synchr<strong>on</strong>ized subset of ngers can cause an element to be deleted from<br />

the queue before being transmitted to the host. In this sense the keypress queue<br />

should be c<strong>on</strong>sidered a keypress c<str<strong>on</strong>g>and</str<strong>on</strong>g>idate queue. Unlike the ordered lists of nger<br />

touchdowns <str<strong>on</strong>g>and</str<strong>on</strong>g> releases maintained for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> separately in the synchr<strong>on</strong>izati<strong>on</strong><br />

detector below, the keypress queue includes <str<strong>on</strong>g>and</str<strong>on</strong>g> orders the nger touchdowns from<br />

both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

5.2.2 The Synchr<strong>on</strong>izati<strong>on</strong> Detector<br />

Figure 5.2 shows a owchart of the nger synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> algo-<br />

rithm. The owchart c<strong>on</strong>tinues into Figure 5.3 to show chord tap detecti<strong>on</strong>. This<br />

synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> process is repeated independently for the c<strong>on</strong>tacts as-<br />

signed to each h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Within each h<str<strong>on</strong>g>and</str<strong>on</strong>g>, the process takes as input the current<br />

nger identi cati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> life cycle markers (Ppresst <str<strong>on</strong>g>and</str<strong>on</strong>g> Preleaset in Secti<strong>on</strong> 3.3.4)<br />

of each c<strong>on</strong>tact path. The identities are needed to ignore palm paths <str<strong>on</strong>g>and</str<strong>on</strong>g> distin-<br />

guish di erent chords or combinati<strong>on</strong>s of synchr<strong>on</strong>ized ngers, while the life cycle<br />

markers record the time at which each c<strong>on</strong>tact path rst exceeds a press proximity<br />

threshold <str<strong>on</strong>g>and</str<strong>on</strong>g> the time at which each c<strong>on</strong>tact path drops below a release proximity<br />

threshold prior to total lifto . These proximity thresholds are currently set to about<br />

<strong>on</strong>e- fth the average ngertip proximity. Higher thresholds should be tolerable with<br />

faster image frame rates (see Secti<strong>on</strong> 6.1.5.1), but with lower proximity thresholds,<br />

the measured press <str<strong>on</strong>g>and</str<strong>on</strong>g> release times become imprecise, making comparis<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

sorting of them unreliable.<br />

5.2.2.1 Sorting Paths by Press <str<strong>on</strong>g>and</str<strong>on</strong>g> Release Times<br />

After the path identities <str<strong>on</strong>g>and</str<strong>on</strong>g> life cycle markers for the current proximity<br />

image have been retrieved, the synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> algorithm rst searches<br />

for subsets of ngers which touch down at about the same time <str<strong>on</strong>g>and</str<strong>on</strong>g> for subsets of<br />

240


GET HAND'S CURRENT<br />

PATH PARAMETERS & ID'S<br />

N<br />

SEARCH FOR FINGER<br />

SUBSETS PRESSED OR<br />

RELEASED<br />

SIMULTANEOUSLY<br />

SYNC<br />

MARKER<br />

PENDING<br />

?<br />

# FINGER<br />

PRESSES<br />

SYNCED > 2 ?<br />

DELETE ASSOCIATED<br />

KEY QUEUE ELEMS<br />

TOUCHING<br />

OR HALTED TOO<br />

LONG ?<br />

SYNCED<br />

FINGERS<br />

LIFTING ?<br />

ANY<br />

N PRESSES<br />

SYNCED<br />

?<br />

N<br />

Y<br />

SET SYNC TIME<br />

MARKER<br />

Y<br />

Y<br />

N<br />

N<br />

Y<br />

Y<br />

A<br />

PAUSE SENDING OF<br />

ASSOCIATED<br />

KEYPRESS QUEUE<br />

ELEMS<br />

DELETE<br />

ASSOCIATED KEY<br />

QUEUE ELEMENTS<br />

N<br />

LIFTING<br />

SIMULTANEOUSLY<br />

?<br />

DELETE<br />

ASSOCIATED<br />

KEYPRESS QUEUE<br />

ELEMENTS<br />

# FINGER<br />

RELEASES<br />

SYNCED > 2?<br />

RESUME<br />

KEY QUEUE<br />

SENDING<br />

Y<br />

C<br />

N<br />

A<br />

CLEAR<br />

SYNC<br />

MARKER<br />

Figure 5.2: Flow chart of the nger synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> process.<br />

241<br />

B<br />

Y


B<br />

DELETE ASSOCIATED<br />

KEYPRESS QUEUE<br />

ELEMENTS<br />

SYNCED<br />

FINGERS DOWN<br />

BRIEFLY ?<br />

SIGNIFICANT<br />

LATERAL MOTION ?<br />

LOOKUP CHORD<br />

FROM SYNCED<br />

FINGER ID'S<br />

CHORD HAS TAP<br />

EVENTS ?<br />

APPEND CHORD<br />

TAP EVENTS TO<br />

COMM QUEUE<br />

C<br />

Y<br />

N<br />

Y<br />

N<br />

Y<br />

N<br />

C<br />

RESTING<br />

CHORD: NO<br />

EVENTS<br />

GENERATED<br />

Figure 5.3: C<strong>on</strong>tinuati<strong>on</strong> of Figure 5.2 showing chord tap detecti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> transmissi<strong>on</strong>.<br />

242


ngers which lift o at about the same time. This can be d<strong>on</strong>e by recording each<br />

nger path al<strong>on</strong>g with its press time in a list as the nger crosses the press proximity<br />

threshold. The list will therefore be ordered according to path press times. A similar<br />

but separate list is maintained for path release times. Since the primary functi<strong>on</strong><br />

of the palms is to support the forearms while the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are resting, nottoactively<br />

participate in typing or chordic manipulati<strong>on</strong>, palm heel presses <str<strong>on</strong>g>and</str<strong>on</strong>g> releases are<br />

excluded from these lists <str<strong>on</strong>g>and</str<strong>on</strong>g> most other synchr<strong>on</strong>izati<strong>on</strong> tests.<br />

5.2.2.2 Searching for Synchr<strong>on</strong>ized <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Subsets<br />

To check for synchr<strong>on</strong>izati<strong>on</strong> between the two most recent nger presses,<br />

the press times of the two most recent entries in the list are compared. If the<br />

di erence between the two press times is less than a temporal threshold, the two<br />

nger presses are c<strong>on</strong>sidered synchr<strong>on</strong>ized. If not, the most recent nger press is<br />

c<strong>on</strong>sidered asynchr<strong>on</strong>ous. Synchr<strong>on</strong>izati<strong>on</strong> am<strong>on</strong>g three or more of the most recent<br />

ngers up to ve is found by comparing press times of the three, four, or ve most<br />

recent list entries. If the press time of the most recent entry is within a temporal<br />

threshold of the nth most recent entry, synchr<strong>on</strong>izati<strong>on</strong> am<strong>on</strong>g the n most recent<br />

nger presses is indicated.<br />

To accomodate imprecisi<strong>on</strong> in touchdown across the h<str<strong>on</strong>g>and</str<strong>on</strong>g>, the magnitude<br />

of the temporal threshold increases slightly in proporti<strong>on</strong> to the number of ngers<br />

being tested for synchr<strong>on</strong>izati<strong>on</strong>. To provide some hysteresis between typing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

chordic manipulati<strong>on</strong> modes, the threshold also depends <strong>on</strong> the time since the last<br />

typing-related touchdown or lifto <strong>on</strong> either h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The temporal threshold for<br />

press synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> can therefore vary between 0 ms <str<strong>on</strong>g>and</str<strong>on</strong>g> about 150 ms.<br />

The largest set of recent nger presses found to be synchr<strong>on</strong>ized is recorded as the<br />

synchr<strong>on</strong>ized subset, <str<strong>on</strong>g>and</str<strong>on</strong>g> the combinati<strong>on</strong> of nger identities comprising this subset<br />

is stored c<strong>on</strong>veniently as a nger identity bit eld. The term subset is used because<br />

the synchr<strong>on</strong>ized press subset may not include all ngers currently touching the<br />

243


surface, as happens when a nger touches down much earlier than other ngers yet<br />

remains touching as they simultaneously touch down. The list of path identities<br />

sorted by release times is searched similarly to check for synchr<strong>on</strong>ous release of any<br />

nger subset.<br />

5.2.2.3 Synchr<strong>on</strong>izati<strong>on</strong> Detector Decisi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> Acti<strong>on</strong>s<br />

The acti<strong>on</strong>s taken by the synchr<strong>on</strong>izati<strong>on</strong> detector in Figure 5.2 can be sum-<br />

marized as follows:<br />

Synchr<strong>on</strong>ized lifto of three or more ngers always causes the keypresses as-<br />

sociated with those ngers to be canceled, regardless of whether the original<br />

touchdowns of those ngers were synchr<strong>on</strong>ized.<br />

Synchr<strong>on</strong>ized touchdown of three or more ngers always causes the keypresses<br />

associated with those ngers to be canceled immediately, before anything is<br />

known about lifto synchr<strong>on</strong>izati<strong>on</strong>.<br />

Synchr<strong>on</strong>ized touchdown of two ngers is ambiguous in itself, so a hold is<br />

placed <strong>on</strong> the keypress processing queue which prevents either of the associ-<br />

ated keys from being transmitted until the ngers releases can be checked for<br />

synchr<strong>on</strong>izati<strong>on</strong>. In case of asynchr<strong>on</strong>ous lifto , the nger moti<strong>on</strong>s are most<br />

likely keypresses, so the hold <strong>on</strong> the keypress queue is released, allowing trans-<br />

missi<strong>on</strong> of the keypresses to the host computer. In case lifto of the two ngers<br />

is synchr<strong>on</strong>ized or both ngers remain <strong>on</strong> the surface more than about half a<br />

sec<strong>on</strong>d, the associated keypresses are canceled, indicating that the ngers are<br />

either just resting or part of a chord tap.<br />

Synchr<strong>on</strong>ized touchdown followed by synchr<strong>on</strong>ous lifto of a subset of two<br />

or more ngers without signi cant intervening lateral moti<strong>on</strong> is c<strong>on</strong>sidered a<br />

chord tap.<br />

244


Note that nger pair synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> must be treated as a special<br />

case because sometimes when striking adjacent keys, the ngers roll from <strong>on</strong>e key to<br />

another so quickly that either touchdown or lifto appears synchr<strong>on</strong>ized, but there<br />

will still be some asynchr<strong>on</strong>y in either touchdown or lifto . Such rolling does not,<br />

however, cause synchr<strong>on</strong>izati<strong>on</strong> of touchdown or lifto across more than two ngers,<br />

so either touchdown or lifto synchr<strong>on</strong>izati<strong>on</strong> of three or more ngers is a sure sign<br />

those ngers are not involved in typing. Instead of thresholding the touchdown time<br />

di erence <str<strong>on</strong>g>and</str<strong>on</strong>g> lifto time di erence separately, the nger pair lifto <str<strong>on</strong>g>and</str<strong>on</strong>g> touchdown<br />

time di erences are added together <str<strong>on</strong>g>and</str<strong>on</strong>g> thresholded <strong>on</strong>ce for more robust detecti<strong>on</strong>.<br />

However, even with such averaging of touchdown <str<strong>on</strong>g>and</str<strong>on</strong>g> lifto synchr<strong>on</strong>izati<strong>on</strong>, in a few<br />

borderline cases the 50 fps sensor array scanrate is simply too slow to di erentiate<br />

barely asynchr<strong>on</strong>ous adjacent key strikes from synchr<strong>on</strong>ized nger pair chord taps.<br />

This will be discussed further in Secti<strong>on</strong> 6.1.5.1.<br />

5.2.2.4 Issuing Chord Taps<br />

If the chord tap c<strong>on</strong>diti<strong>on</strong>s are met, the bit eld of nger identities for the<br />

synchr<strong>on</strong>ized subset is used to check a lookup table for any input events such as<br />

mouse clicks or keyboard comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s assigned to the combinati<strong>on</strong> of ngers in the<br />

chord tap. Though there are 26 possible combinati<strong>on</strong>s of identities for two or more<br />

ngers, combinati<strong>on</strong>s c<strong>on</strong>taining the same number of ngertips all refer to the same<br />

chord channel, <str<strong>on</strong>g>and</str<strong>on</strong>g> there are <strong>on</strong>ly seven unique channels per h<str<strong>on</strong>g>and</str<strong>on</strong>g>. The unique<br />

channels are illustrated in Table 5.1 below. The channel for all ve ngers is reserved<br />

for h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting, so chord taps of the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> will produce no input events.<br />

The chord tap event lists of many of the other channels (especially the three <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

four ngertip channels) may also be left empty to encourage h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting during<br />

typing by novices. Mouse clicks are the <strong>on</strong>ly events which absolutely need to be<br />

generated by chord taps, so <strong>on</strong>e channel must be allocated for each mouse butt<strong>on</strong><br />

to be emulated for a given operating system. See Tables 6.1{6.4 <strong>on</strong> Pages 289{292<br />

245


Table 5.1: The seven unique nger chord channels.<br />

Channel Ic<strong>on</strong> <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong><br />

Any 2 ngertips (excluding<br />

thumb).<br />

Any 3 ngertips (excluding<br />

thumb).<br />

All 4 ngertips (excluding<br />

thumb).<br />

Thumb<str<strong>on</strong>g>and</str<strong>on</strong>g>any ngertip.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> any 2 ngertips.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> any 3 ngertips.<br />

Thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> all 4 ngertips.<br />

246


for examples of other chord tap event mappings used by the author. Though event<br />

generati<strong>on</strong> from chord taps needs to be restricted to encourage h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting, a wide<br />

range of input events can safely be generated <strong>on</strong> most channels in resp<strong>on</strong>se to lateral<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s, as will be discussed in Secti<strong>on</strong> 5.4.3.<br />

5.2.2.5 Avoiding Accidental Mouse Clicks<br />

Asafurtherprecauti<strong>on</strong> against accidental generati<strong>on</strong> of mouse clicks during<br />

typing, the chord tap event generator ignores the rst chord tap which quickly<br />

follows a valid keypress without an intervening lateral chord slide. This avoids<br />

spurious mouse clicks which can r<str<strong>on</strong>g>and</str<strong>on</strong>g>omly repositi<strong>on</strong> the text cursor, yet it rarely<br />

causes intenti<strong>on</strong>al chord taps to be lost since usually after typing the user will need<br />

to repositi<strong>on</strong> the mouse cursor before clicking, requiring an intervening chord slide.<br />

If the mouse cursor happens to already be in place after typing, the user may have<br />

to tap the nger chord a sec<strong>on</strong>d time for the click to be sent, but this is much<br />

less aggravating than undoing unintenti<strong>on</strong>al mouse clicks in the middle of a typing<br />

sessi<strong>on</strong>.<br />

5.2.3 Keypress Acceptance <str<strong>on</strong>g>and</str<strong>on</strong>g> Transmissi<strong>on</strong><br />

Figure 5.4 shows the steps within the keypress acceptance <str<strong>on</strong>g>and</str<strong>on</strong>g> transmissi<strong>on</strong><br />

loop. This loop performs nal keypress timing <str<strong>on</strong>g>and</str<strong>on</strong>g> identity tests up<strong>on</strong> nger release<br />

before sending the key's symbol or associated events to the host computer. The<br />

rst step is to peek at the element at the head of the keypress queue. This head<br />

queue element represents the oldest nger touchdown which has neither transmitted<br />

its associated key symbol nor been deleted from the queue as an invalid keypress<br />

c<str<strong>on</strong>g>and</str<strong>on</strong>g>idate. This head queue element can be deleted at any time prior to lifto of its<br />

associated c<strong>on</strong>tact path if any of the following c<strong>on</strong>diti<strong>on</strong>s become true:<br />

the path's identity is changed by the identi cati<strong>on</strong> system from any nger<br />

identity toapalm heel or forepalm identity.<br />

247


PICK ELEMENT AT HEAD<br />

OF KEYPRESS QUEUE<br />

ELEMENT<br />

PATH STILL<br />

IDENTIFIED AS<br />

FINGER ?<br />

N<br />

APPEND PRECEDING<br />

MODIFIERS &<br />

ELEMENT'S KEY<br />

REGION SYMBOL TO<br />

HOST COMM QUEUE<br />

A<br />

B<br />

N<br />

A<br />

B<br />

Y<br />

TIME<br />

SINCE<br />

FINGER PRESS ><br />

TAP TIMEOUT<br />

?<br />

C<br />

Y<br />

N<br />

C<br />

Y<br />

DELETE CURRENT<br />

ELEMENT FROM<br />

KEYPRESS QUEUE<br />

Y<br />

PATH IN A<br />

SYNCHRONIZED<br />

SUBSET ?<br />

TIME<br />

SINCE PRESS <<br />

TAP TIMEOUT<br />

Y<br />

SKIP TO NEXT<br />

ELEMENT IN<br />

QUEUE<br />

PATH<br />

PROXIMITY<br />

PROFILE<br />

IMPULSIVE<br />

?<br />

N<br />

N<br />

Y<br />

Y<br />

Y<br />

FINGER SLID<br />

TOO FAR ?<br />

N<br />

FINGER<br />

LIFTED ?<br />

N<br />

KEY REGION<br />

A MODIFIER ?<br />

MOST<br />

FINGERS<br />

TOUCHING<br />

?<br />

Figure 5.4: Flow chart of the keypress acceptance <str<strong>on</strong>g>and</str<strong>on</strong>g> transmissi<strong>on</strong> process.<br />

248<br />

N<br />

B


the path is found to be a member of a synchr<strong>on</strong>ized nger subset as described<br />

in the previous secti<strong>on</strong>.<br />

the c<strong>on</strong>tact has been <strong>on</strong> the surface more than about half a sec<strong>on</strong>d without<br />

lifto <str<strong>on</strong>g>and</str<strong>on</strong>g> is clearly not a modi er key or typematic nger hold (see below).<br />

Because users may be touch typing <strong>on</strong> the surface, several millimeters of lateral mo-<br />

ti<strong>on</strong> are allowed to accommodate glancing ngertip moti<strong>on</strong>s which often occur when<br />

quickly reaching for keys. This is much more glancing tap moti<strong>on</strong> than is tolerated<br />

by touchpads which employ a single nger slide for mouse cursor manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

a single nger tap for key or mouse butt<strong>on</strong> click emulati<strong>on</strong>.<br />

Assuming the keypress element hasnot been deleted by the above tests, the<br />

algorithm next checks whether the nger whose touchdown created the keypress<br />

element has since lifted o the surface. If the nger has lifted o so<strong>on</strong> enough after<br />

touchdown to qualify as a normal key tap, the associated key symbol is transmitted<br />

to the host <str<strong>on</strong>g>and</str<strong>on</strong>g> the keypress element is deleted from the head of the queue. The<br />

MTS also generates a clicking sound for feedback to the operator as the key symbol<br />

is transmitted to the host. Note that a keypress is always deleted from the queue<br />

up<strong>on</strong> lifto , but even though it may have stayed <strong>on</strong> the surface for a time exceeding<br />

the tap timeout, it may have still caused transmissi<strong>on</strong> as a modi er key, as an<br />

impulsive press with h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting, or as atypematic press, as described below.<br />

5.2.3.1 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>ling Modi er Keys<br />

To h<str<strong>on</strong>g>and</str<strong>on</strong>g>le modi er keys such as , , or , if the head el-<br />

ement's nger has not yet lifted but the nger is over a modi er key, processing<br />

advances to the next element in the queue without deleting the head. If the next<br />

element isavalid key tap <str<strong>on</strong>g>and</str<strong>on</strong>g> successfully reaches the transmissi<strong>on</strong> stage, the trans-<br />

missi<strong>on</strong> stage will scan back toward the head of the queue for any modi er regi<strong>on</strong>s<br />

249


which are still pressed. The next element's key symbol can then be sent to the host<br />

al<strong>on</strong>g with the modi er ags of any preceding modi er regi<strong>on</strong>s.<br />

5.2.3.2 Alternatives to Full Taps from Suspended <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>s<br />

Normally operators must touch the nger <strong>on</strong> the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> lift back o<br />

within a few hundred millisec<strong>on</strong>ds for a key to be sent. Like the activati<strong>on</strong> force<br />

threshold of mechanical keyswitches, this timing c<strong>on</strong>straint provides a way for the<br />

operator to rest the nger <strong>on</strong> the key surface asynchr<strong>on</strong>ously without invoking a<br />

keypress. This is necessary because operators sometimes begin h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting by<br />

simultaneously placing the central ngertips <strong>on</strong> the surface, but they follow asyn-<br />

chr<strong>on</strong>ously with the pinky a sec<strong>on</strong>d later <str<strong>on</strong>g>and</str<strong>on</strong>g> the thumb a sec<strong>on</strong>d after that. These<br />

latter presses are essentially asynchr<strong>on</strong>ous <str<strong>on</strong>g>and</str<strong>on</strong>g> will not be invalidated by the syn-<br />

chr<strong>on</strong>izati<strong>on</strong> detector, but as l<strong>on</strong>g as they are not lifted within a couple hundred<br />

millisec<strong>on</strong>ds, they will essentially time out <str<strong>on</strong>g>and</str<strong>on</strong>g> be deleted without transmissi<strong>on</strong>.<br />

However, the requirement that ngers quickly lift o , i.e., crisply tap, the surface<br />

to cause key generati<strong>on</strong> makes it very di cult to type l<strong>on</strong>g sequences with most n-<br />

gers resting <strong>on</strong> the surface to support the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Basically, words cannot be typed<br />

quickly without oating the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s above the surface. This is acceptable typing<br />

posture except that the operators' arms will eventually tire if the operator fails to<br />

rest the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s back <strong>on</strong> the surface between sequences.<br />

To provide an alternative typing posture which does not encourage suspen-<br />

si<strong>on</strong> of the ngers above the surface, the MTS has a sec<strong>on</strong>d key acceptance mode<br />

which does not require quick nger lifto after each press. Instead, the user must<br />

start with all ve ngers of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting <strong>on</strong> the surface. Then each time a nger<br />

is asynchr<strong>on</strong>ously raised o the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> dropped <strong>on</strong>to a key regi<strong>on</strong>, that key's<br />

symbol will be transmitted, regardless of subsequent lifto timing. To allow the<br />

operator to gently set down a raised nger without generating a key, the impulsivity<br />

250


of the proximity pro le is measured according to the time taken for ngertip prox-<br />

imity to saturate. If the proximity pro le increases to its peak very slowly, sayover<br />

a 100 ms time interval, no key is generated from the nger touchdown. Such typing<br />

from a resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture requires minimal e ort to support the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s or strike<br />

keys, but this technique limits typing speed to about 20 words per minute (wpm)�<br />

thus it is intended mainly for people with repetitive strain injuries so severe that<br />

the slightest exerti<strong>on</strong> hurts.<br />

5.2.3.3 Potential Typing Speeds<br />

Though additi<strong>on</strong>al enhancements such as tactile feedback of key locati<strong>on</strong>s<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> typing sequence recogniti<strong>on</strong> algorithms will be necessary to make touch typing<br />

<strong>on</strong> the MTS as accurate as typing <strong>on</strong> a mechanical keyboard, afewremarks can be<br />

made about how interacti<strong>on</strong> of tapping moti<strong>on</strong>s with a hard surface ultimately limits<br />

typing speeds. The best typing speeds seem to be obtainable with an intermediate<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture in which the MTS is placed <strong>on</strong> the lap to slope downward by 5-10 ,<br />

the palms rest <strong>on</strong> the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> the ngertips oat very close to the surface.<br />

The downward slope reduces the exerti<strong>on</strong> by the wrist extensors needed to keep the<br />

ngertips oating when the palms are planted <strong>on</strong> the surface. The xed positi<strong>on</strong><br />

of the palms serves as a reference for more carefully regulating the height that<br />

ngertips oat above the surface without letting them accidentally touch. With the<br />

palms planted, average oating nger height can be as little as 1/4". This reduces<br />

the downward travel necessary to strike a key regi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> may eventually support<br />

typing speeds up to about 80 wpm. The closeness of the ngers to the surface also<br />

makes it all but impossible to strike the surface so hard that the ngertips get jarred.<br />

If the operator keeps palms oating above the surface, the regulati<strong>on</strong> of oat-<br />

ing ngertip heights is not so stable, <str<strong>on</strong>g>and</str<strong>on</strong>g> the ngertips must be kept oating about<br />

1/2" above the surface to avoid accidental touches. This appears to limit the max-<br />

imum typing rate attainable to about 60 wpm when h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are fully suspended<br />

251


above the surface. The increased <str<strong>on</strong>g>and</str<strong>on</strong>g> unstable variati<strong>on</strong>s in oating ngertip height<br />

also cause more variati<strong>on</strong> in the impulsiveness of nger impact. This may result in<br />

occasi<strong>on</strong>al ngertip jarring.<br />

5.2.4 Typing Summary<br />

The typing detecti<strong>on</strong> process described above thus allows the multi-touch<br />

surface to erg<strong>on</strong>omically emulate both the typing <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting capabilities of<br />

a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard mechanical keyboard. Crisp taps or impulsive presses <strong>on</strong> the surface<br />

generate key symbols as so<strong>on</strong> as the nger is released or the impulse has peaked,<br />

ensuring prompt feedback to the user. <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s intended to rest <strong>on</strong> the surface<br />

generate no keys as l<strong>on</strong>g as they are members of a synchr<strong>on</strong>ized nger press or<br />

release subset or are placed <strong>on</strong> the surface gently <str<strong>on</strong>g>and</str<strong>on</strong>g> remain there al<strong>on</strong>g with<br />

other ngers for a sec<strong>on</strong>d or two. Once resting, ngers can be lifted <str<strong>on</strong>g>and</str<strong>on</strong>g> tapped or<br />

impulsively pressed <strong>on</strong> the surface to generate key symbols without having to lift<br />

other resting ngers. Glancing moti<strong>on</strong>s of single ngers as they tap key regi<strong>on</strong>s are<br />

easily tolerated since chordic manipulati<strong>on</strong>s can <strong>on</strong>ly be initiated by synchr<strong>on</strong>ized<br />

slides of two or more ngers.<br />

5.3 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong> Extracti<strong>on</strong><br />

Technically, each h<str<strong>on</strong>g>and</str<strong>on</strong>g> has 23 degrees of freedom of movement in all nger<br />

joints combined, but as a practical matter, tend<strong>on</strong> linkage limitati<strong>on</strong>s make it dif-<br />

cult to move all of the joints independently. Measurements of nger c<strong>on</strong>tacts <strong>on</strong><br />

a surface yield ten degrees of freedom in moti<strong>on</strong> lateral to the surface, ve degrees<br />

of freedom in individual ngertip pressure or proximity to the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e de-<br />

gree of freedom of thumb orientati<strong>on</strong>. However, many of these degrees of freedom<br />

have limited ranges <str<strong>on</strong>g>and</str<strong>on</strong>g> would require unreas<strong>on</strong>able twisting <str<strong>on</strong>g>and</str<strong>on</strong>g> dexterity from the<br />

average user to be accessed independently.<br />

252


The purpose of the moti<strong>on</strong> comp<strong>on</strong>ent extracti<strong>on</strong> algorithm is to glean from<br />

the 16 observable degrees of freedom enough degrees of freedom for manipulati<strong>on</strong> of<br />

two-dimensi<strong>on</strong>al graphics. In two dimensi<strong>on</strong>s, the four basic degrees of freedom are<br />

horiz<strong>on</strong>tal translati<strong>on</strong>, vertical translati<strong>on</strong>, rotati<strong>on</strong> within the surface plane, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

zooming or resizing within the surface plane. For full 6-DOF manipulati<strong>on</strong> in three<br />

dimensi<strong>on</strong>s, two more rotati<strong>on</strong>al degrees of freedom are needed about the horiz<strong>on</strong>tal<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> vertical axes. Though these could plausibly be obtained from di erences in<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> tilt pressure across the surface, <strong>on</strong>ly 4 degrees of freedom in velocity will be<br />

extracted here.<br />

When <strong>on</strong>ly four degrees of freedom are needed, the basic h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> nger<br />

moti<strong>on</strong>s can be whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>, h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling by uniformly exing or ex-<br />

tending the ngers, <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> either about the wrist as when unscrewing a<br />

jar lid or between the ngers as when unscrewing a nut. Not <strong>on</strong>ly are these h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

moti<strong>on</strong>s easy to perform because they utilize moti<strong>on</strong>s which intuitively include the<br />

opposable thumb, they corresp<strong>on</strong>d cognitively to the graphical manipulati<strong>on</strong> tasks<br />

of object rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> sizing. Their <strong>on</strong>ly drawback is that the translati<strong>on</strong>al moti<strong>on</strong>s<br />

of all the ngers during h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> scalings do not cancel perfectly. As will<br />

be seen in Figure 5.6, usually they add up toanettranslati<strong>on</strong> in some directi<strong>on</strong> in<br />

additi<strong>on</strong> to the desired rotati<strong>on</strong> or scaling. This makes it di cult for translati<strong>on</strong><br />

to be integral with or performed simultaneously with scalings <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s. To<br />

prevent n<strong>on</strong>-uniformities in rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling moti<strong>on</strong>s from bleeding into the ex-<br />

tracted translati<strong>on</strong>s, the translati<strong>on</strong> extractor will preferentially weight ngers such<br />

as thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky whose translati<strong>on</strong>s cancel best. To provide uniform moti<strong>on</strong><br />

gain even when some ngers remain stati<strong>on</strong>ary, it will also n<strong>on</strong>linearly scale velocity<br />

comp<strong>on</strong>ents depending <strong>on</strong> the nger speeds relative to<strong>on</strong>e another.<br />

253


5.3.1 Inputs to the Extracti<strong>on</strong> Algorithm<br />

The steps of the moti<strong>on</strong> extracti<strong>on</strong> algorithm are shown in Figure 5.5. The<br />

algorithm takes as input the identi ed c<strong>on</strong>tact paths for the given h<str<strong>on</strong>g>and</str<strong>on</strong>g>. These<br />

paths c<strong>on</strong>tain the proximities <str<strong>on</strong>g>and</str<strong>on</strong>g> lateral velocities to be used in the moti<strong>on</strong> cal-<br />

culati<strong>on</strong>s. The identi cati<strong>on</strong>s are needed so that moti<strong>on</strong> of certain ngers or palm<br />

heels which would degrade particular moti<strong>on</strong> comp<strong>on</strong>ent calculati<strong>on</strong>s can be deem-<br />

phasized. Since thumb moti<strong>on</strong> is much more independent of the other ngers than<br />

the ngertips are of <strong>on</strong>e another, scalings <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s are easier for the operator<br />

to perform if <strong>on</strong>e of these paths is from the opposable thumb. However, the extrac-<br />

ti<strong>on</strong> algorithm really depends <strong>on</strong>ly up<strong>on</strong> proper ordering of the nger paths. It will<br />

c<strong>on</strong>tinue to functi<strong>on</strong> the same if the thumb is not present or is misidenti ed as a<br />

ngertip.<br />

5.3.2 Scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> Rotati<strong>on</strong> Comp<strong>on</strong>ent Extracti<strong>on</strong><br />

Since the weightings of particular ngers in the translati<strong>on</strong> velocity average<br />

will depend <strong>on</strong> the polar comp<strong>on</strong>ent speeds, the polar velocity comp<strong>on</strong>ents must be<br />

measured from scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>al moti<strong>on</strong>s before translati<strong>on</strong> is measured. Unless<br />

a rotati<strong>on</strong>al velocity is extracted from changes in thumb c<strong>on</strong>tact orientati<strong>on</strong>, at least<br />

two c<strong>on</strong>tacting ngers are necessary to compute h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling or rotati<strong>on</strong> velocities.<br />

If less than two ngers from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> are touching the surface, the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

scaling velocities are simply set to zero.<br />

To further illustrate the unbalanced nger moti<strong>on</strong>s which occur during scal-<br />

ing <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>, Figure 5.6 shows trajectories of each nger during a c<strong>on</strong>tractive<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling. The thumb (F1) <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky (F5) travel in nearly opposite directi<strong>on</strong>s<br />

at roughly the same speed, so that the sum of their moti<strong>on</strong>s cancels for zero net<br />

translati<strong>on</strong>, but the di erence in their moti<strong>on</strong>s is maximized for a large net scaling.<br />

The central ngers (F2-F4) also move toward a central point but the palm heels re-<br />

main stati<strong>on</strong>ary, failing to complement the exing of the central ngers. Therefore<br />

254


START<br />

GET HAND'S CURRENT<br />

PATH PARAMETERS & ID'S<br />

AT LEAST<br />

2 FINGERS<br />

DOWN ?<br />

GET CURRENT AND PREVIOUS<br />

POSITIONS OF INNERMOST AND<br />

OUTERMOST TOUCHING FINGERS<br />

COMPUTE SCALING VELOCITY<br />

FROM CHANGE IN SEPARATION<br />

BETWEEN INNERMOST AND<br />

OUTERMOST<br />

COMPUTE ROTATIONAL<br />

VELOCITY FROM SEPARATION<br />

AND<br />

CHANGE IN ANGLE BETWEEN<br />

INNERMOST AND OUTERMOST<br />

COMBINE WITH ROTATION AND<br />

SCALING ABOUT A FIXED POINT<br />

BETWEEN THUMB AND OTHER<br />

FINGERS<br />

Y<br />

N<br />

SET ROTATION AND SCALING<br />

VELOCITIES TO ZERO<br />

INIT TRANSLATION<br />

WEIGHTINGS TO FINGER<br />

PROXIMITIES<br />

DECREASE TRANSLATION<br />

WEIGHTING OF<br />

RELATIVELY SLOW<br />

FINGERS<br />

DECREASE TRANSLATION<br />

WEIGHTING OF CENTRAL<br />

FINGERS AS POLAR<br />

COMPONENT SPEEDS<br />

INCREASE<br />

COMPUTE TRANSLATION<br />

VELOCITY AS WEIGHTED<br />

AVERAGE OF FINGER<br />

VELOCITIES<br />

DEAD-ZONE FILTER ALL<br />

COMPONENTS<br />

BY FRACTION OF<br />

FASTEST COMPONENT<br />

Figure 5.5: Flow chart of the algorithm for extracting h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, rotati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

translati<strong>on</strong> velocities from individual nger velocities.<br />

255<br />

END


Vertical Positi<strong>on</strong> <strong>on</strong> Surface (Y axis cm)<br />

15<br />

10<br />

5<br />

0<br />

F1<br />

F2<br />

F2<br />

F7<br />

F7<br />

F1<br />

−5<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Horiz<strong>on</strong>tal Positi<strong>on</strong> <strong>on</strong> Surface (X axis cm)<br />

Figure 5.6: Typical exing nger trajectories when performing a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling.<br />

Note that if added as translati<strong>on</strong>s the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky moti<strong>on</strong>s cancel,<br />

but since the palms are stati<strong>on</strong>ary, the moti<strong>on</strong>s of the central (index,<br />

middle, <str<strong>on</strong>g>and</str<strong>on</strong>g> ring) ngers go uncanceled <str<strong>on</strong>g>and</str<strong>on</strong>g> result in a net downward<br />

translati<strong>on</strong>.<br />

256<br />

F3<br />

F3<br />

F4<br />

F5<br />

F6<br />

F4<br />

F5


the di erence between moti<strong>on</strong> of a central nger <str<strong>on</strong>g>and</str<strong>on</strong>g> any other nger is usually less<br />

than the di erence between the pinky <str<strong>on</strong>g>and</str<strong>on</strong>g> thumb moti<strong>on</strong>s, <str<strong>on</strong>g>and</str<strong>on</strong>g> the sum of central<br />

nger velocities during a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling adds up to a net vertical translati<strong>on</strong>. Similar<br />

phenomena occur during h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s, except that if the rotati<strong>on</strong> is centered at<br />

the wrist with forearm xed rather than centered at the forepalms, a net horiz<strong>on</strong>tal<br />

translati<strong>on</strong> will appear in the sum of moti<strong>on</strong>s from any combinati<strong>on</strong> of ngers.<br />

Since the di erences in nger moti<strong>on</strong> are usually greatest between thumb<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> pinky, <strong>on</strong>ly the current <str<strong>on</strong>g>and</str<strong>on</strong>g> previous positi<strong>on</strong>s of the innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost<br />

touching ngers are used for the initial h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> measurements.<br />

The h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling velocity Hvs is computed from the change in distance between the<br />

innermost nger FI <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost nger FO:<br />

Hvs[n] =<br />

d(FI[n]�FO[n]) ; d(FI[n ; 1]�FO[n ; 1])<br />

4t<br />

(5.4)<br />

where d(FI[n]�FO[n]) is the Euclidean distance between the ngers FI <str<strong>on</strong>g>and</str<strong>on</strong>g> FO.<br />

If <strong>on</strong>e of the innermost or outermost ngers was not touching during the previous<br />

proximity image, the change in separati<strong>on</strong> is assumed to be zero. Similarly, the h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotati<strong>on</strong>al velocity Hvr is computed from the change in angle between the innermost<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> outermost nger:<br />

Hvr[n] =<br />

6 (FI[n]�FO[n]) ; 6 (FI[n ; 1]�FO[n ; 1])<br />

4t<br />

!<br />

d(FI[n]�FO[n])<br />

!<br />

(5.5)<br />

The change in angle is multiplied by the current separati<strong>on</strong> to c<strong>on</strong>vert it to the<br />

same units as the translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling comp<strong>on</strong>ents. These equati<strong>on</strong>s capture any<br />

rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling comp<strong>on</strong>ents of h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> even if the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is also translating<br />

as a whole, thus making the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling degrees of freedom integral with<br />

translati<strong>on</strong>.<br />

Another reas<strong>on</strong> the computati<strong>on</strong>s above are restricted to the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky or innermost <str<strong>on</strong>g>and</str<strong>on</strong>g> outermost ngers is that operators may want to make ne<br />

257


translating manipulati<strong>on</strong>s with the central ngers, i.e., index, middle, <str<strong>on</strong>g>and</str<strong>on</strong>g> ring, while<br />

the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky remain stati<strong>on</strong>ary. If changes in distances or angles between<br />

the central ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> the thumb were averaged with Equati<strong>on</strong>s 5.4{5.5, this would<br />

not be possible because central nger translati<strong>on</strong>s would cause the appearance of<br />

rotati<strong>on</strong> or scaling with respect to the stati<strong>on</strong>ary thumb or pinky.<br />

However, Equati<strong>on</strong>s 4.46{4.50 applied in the thumb veri cati<strong>on</strong> process are<br />

<strong>on</strong>ly sensitive to symmetric rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling about a xed point between the<br />

ngers. They approach zero if any signi cant whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> is occurring<br />

or the nger moti<strong>on</strong>s are not complementary. In case the operator fails to properly<br />

move the outermost nger during a rotati<strong>on</strong> or scaling gesture, equati<strong>on</strong>s of the<br />

approximate form of Equati<strong>on</strong>s 4.46{4.50 are applied between the innermost FI<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> any touching ngers fFc : I


moti<strong>on</strong> or c<strong>on</strong>trol to display gain to be c<strong>on</strong>stant regardless of how many ngers are<br />

being moved, even if some are resting stati<strong>on</strong>ary. Furthermore, if the operator is<br />

simultaneously scaling or rotating the h<str<strong>on</strong>g>and</str<strong>on</strong>g>, a simple average is sensitive to spurious<br />

net translati<strong>on</strong>s caused by uncanceled central nger moti<strong>on</strong>s.<br />

Therefore the translati<strong>on</strong> comp<strong>on</strong>ent extractor carefully assigns weightings<br />

for each nger before computing the average translati<strong>on</strong>. The translati<strong>on</strong> weighting<br />

Fivw of each nger is rst initialized to its total c<strong>on</strong>tact proximity, i.e., Fivw[n]<br />

Fiz[n]. This ensures that ngers not touching the surface do not dilute the aver-<br />

age with their zero velocities. Similarly, ngers which <strong>on</strong>ly touch lightly have less<br />

in uence since their positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> velocity measurements may be more noisy. The<br />

next step decreases the weightings of ngers which are relatively stati<strong>on</strong>ary so that<br />

the c<strong>on</strong>trol to display gain of intenti<strong>on</strong>ally moving ngers is not diluted. This can<br />

be d<strong>on</strong>e by nding the fastest moving nger, recording its speed as a maximum n-<br />

ger speed <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling each nger's translati<strong>on</strong> weighting in proporti<strong>on</strong> to its speed<br />

divided by the maximum of the nger speeds:<br />

Fivw[n] :=Fivw[n]<br />

Fispeed[n]<br />

maxj Fjspeed[n]<br />

! ptw<br />

(5.8)<br />

where the power ptw adjusts the strength of the speed dependence. Note that this<br />

step can be skipped for applicati<strong>on</strong>s such as computer-aided-design in which users<br />

desire both a normal cursor moti<strong>on</strong> gain mode <str<strong>on</strong>g>and</str<strong>on</strong>g> a low gain mode. Lower cursor<br />

moti<strong>on</strong> gain is useful for ne, short range positi<strong>on</strong>ing, <str<strong>on</strong>g>and</str<strong>on</strong>g> would be accessed by<br />

moving <strong>on</strong>ly <strong>on</strong>e or two ngers while keeping the others resting <strong>on</strong> the surface but<br />

stati<strong>on</strong>ary.<br />

The nal weighting step decreases the translati<strong>on</strong> weightings for the central<br />

ngers during h<str<strong>on</strong>g>and</str<strong>on</strong>g> scalings <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>s, though it does not prevent the central<br />

ngers from making ne translati<strong>on</strong>al manipulati<strong>on</strong>s while the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky<br />

are stati<strong>on</strong>ary. The formulas below accomplish this seamlessly by downscaling the<br />

259


central translati<strong>on</strong> weightings as the magnitudes of the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling velocities<br />

become signi cant compared to a speed c<strong>on</strong>stant named Kpolarthresh:<br />

Fcvwx[n]<br />

Fcvwy[n]<br />

Fcvw[n] Kpolarthresh<br />

Kpolarthresh + jHvr[n]j<br />

Fcvw[n] Kpolarthresh<br />

Kpolarthresh + jHvr[n]j + jHvs[n]j<br />

(5.9)<br />

(5.10)<br />

These equati<strong>on</strong>s are applied <strong>on</strong>ly to the central ngers whose identities fc : I


ut produces output speeds in proporti<strong>on</strong> to the di erence between the input speed<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> the threshold for input velocities that exceed the threshold. However, the speed<br />

threshold or width of each dead z<strong>on</strong>e varies according to the distributi<strong>on</strong> of current<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> past comp<strong>on</strong>ent speeds.<br />

For instance, the width of the translati<strong>on</strong> dead z<strong>on</strong>e can be set to about 1/5<br />

of the rotati<strong>on</strong> or scaling speeds, whichever is greater. If the operator is primarily<br />

translating, this translati<strong>on</strong> dead z<strong>on</strong>e width will then be negligible compared to<br />

the actual translati<strong>on</strong> speed, <str<strong>on</strong>g>and</str<strong>on</strong>g> the <strong>on</strong>ly e ect will be to downscale the translati<strong>on</strong><br />

speed by a few percent. But if the operator is primarily rotating so that translati<strong>on</strong><br />

speeds are less than 1/5 of rotati<strong>on</strong> speeds, the translati<strong>on</strong> velocity comp<strong>on</strong>ent<br />

will be entirely suppressed to zero. Dependencies of the dead z<strong>on</strong>e width <strong>on</strong> past<br />

averages of comp<strong>on</strong>ent speeds relative to <strong>on</strong>e another provide lter hysteresis to<br />

ignore spurious transiti<strong>on</strong>s from h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> to translati<strong>on</strong> or scaling.<br />

5.3.5 Moti<strong>on</strong> Extracti<strong>on</strong> Results<br />

Figures 5.7{5.9 show the four moti<strong>on</strong> comp<strong>on</strong>ents for various whole-h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

slides across the surface. In each plot, the dotted (green) line represents a simple<br />

average of nger translati<strong>on</strong> velocities for the translati<strong>on</strong> comp<strong>on</strong>ents. For the rota-<br />

ti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling comp<strong>on</strong>ents, the dotted line represents the average of the changes in<br />

angle or separati<strong>on</strong> between all pairs of adjacent ngers, including the thumb-pinky<br />

pair. The dashed line (cyan) represents weighted averages in translati<strong>on</strong> velocity<br />

for the translati<strong>on</strong> comp<strong>on</strong>ents. For rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, the dashed line is derived<br />

<strong>on</strong>ly from the change in angle or separati<strong>on</strong> between thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky over time.<br />

The solid black line represents the nger-weighted (dashed) comp<strong>on</strong>ents after they<br />

have been passed through the variable-width deadz<strong>on</strong>e lters.<br />

In Figure 5.7, the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides in a circle with ngers exp<str<strong>on</strong>g>and</str<strong>on</strong>g>ing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotating counter-clockwise <str<strong>on</strong>g>and</str<strong>on</strong>g> then slides up while extending the ngers. Note how<br />

261


Horiz. Trans. Velocity (m/s)<br />

Vert. Trans. Velocity (m/s)<br />

Rotati<strong>on</strong> Velocity (m/s)<br />

Scaling Velocity (m/s)<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000<br />

Time (ms)<br />

1200 1400 1600 1800 2000<br />

Figure 5.7: Velocity comp<strong>on</strong>ents extracted from simultaneous h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>,<br />

rotati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling. Up to 700 ms, a right h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides in a circle<br />

with ngers exp<str<strong>on</strong>g>and</str<strong>on</strong>g>ing <str<strong>on</strong>g>and</str<strong>on</strong>g> rotating counter-clockwise. From 700{<br />

1300 ms, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tinues in a circle while ngers ex <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

wrist rotates back clockwise. From 1300{2000 ms, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides<br />

up <str<strong>on</strong>g>and</str<strong>on</strong>g> exp<str<strong>on</strong>g>and</str<strong>on</strong>g>s at the same time. Dotted lines are uniform averages<br />

of nger moti<strong>on</strong>s, dashed are nger-weighted averages, <str<strong>on</strong>g>and</str<strong>on</strong>g> solid are<br />

nger-weighted averages after dead-z<strong>on</strong>e ltering.<br />

262


the nger-weighted translati<strong>on</strong> comp<strong>on</strong>ents are much smaller than the simple aver-<br />

age translati<strong>on</strong>s because they ignore the unbalanced moti<strong>on</strong>s of the central ngers<br />

during the str<strong>on</strong>g rotati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> scalings. The dead z<strong>on</strong>e lters downscale the nger-<br />

weighted translati<strong>on</strong>s somewhat but never zero them altogether. For rotati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

scalings, the thumb-pinky di erences are actually str<strong>on</strong>ger than the average di er-<br />

ences even after dead-z<strong>on</strong>e ltering because they are not diluted by the relatively<br />

weak changes in angle <str<strong>on</strong>g>and</str<strong>on</strong>g> separati<strong>on</strong> between ngertips. Note that when <strong>on</strong>ly slid-<br />

ing up <str<strong>on</strong>g>and</str<strong>on</strong>g> extending the ngers, the dead-z<strong>on</strong>e ltered rotati<strong>on</strong> comp<strong>on</strong>ent remains<br />

zeroed most of the time.<br />

In Figure 5.8, the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides roughly in a circle from the elbow while<br />

ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> wrists remain relaxed. All versi<strong>on</strong>s of the translati<strong>on</strong> comp<strong>on</strong>ents are<br />

nearly the same, though there is still slight leakage into the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

comp<strong>on</strong>ents from slight shifts in relative nger posture. Nevertheless, dead-z<strong>on</strong>e<br />

ltering is able to keep the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling comp<strong>on</strong>ents zeroed most of the<br />

time.<br />

In Figure 5.9, the ngers rst extend <str<strong>on</strong>g>and</str<strong>on</strong>g> ex back smoothly. After being<br />

picked up brie y, the h<str<strong>on</strong>g>and</str<strong>on</strong>g> touches down again <str<strong>on</strong>g>and</str<strong>on</strong>g> rotates counter-clockwise <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

back clockwise. Though the nger extensi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> exi<strong>on</strong> cause noticeable interfer-<br />

ence in the translati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> comp<strong>on</strong>ents, dead-z<strong>on</strong>e ltering again suppresses<br />

this. Notice the large vertical translati<strong>on</strong> interference when the uniform average of<br />

all nger velocities is used. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> case is more troublesome. Filtering<br />

is <strong>on</strong>ly able to suppress interference with the other comp<strong>on</strong>ents about half the time.<br />

The thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky tend to separate as the h<str<strong>on</strong>g>and</str<strong>on</strong>g> becomes fully rotated clockwise,<br />

causing substantial crossover into the scaling comp<strong>on</strong>ents. Notice the large distur-<br />

bances in horiz<strong>on</strong>tal translati<strong>on</strong> when it is computed from the uniform average of<br />

nger translati<strong>on</strong>s.<br />

263


Horiz. Trans. Velocity (m/s)<br />

Vert. Trans. Velocity (m/s)<br />

Rotati<strong>on</strong> Velocity (m/s)<br />

Scaling Velocity (m/s)<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />

0.5<br />

0<br />

−0.5<br />

0 200 400 600 800 1000<br />

Time (ms)<br />

1200 1400 1600 1800 2000<br />

Figure 5.8: Velocity comp<strong>on</strong>ents extracted from whole-h<str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong>. The<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> moves in a rough circle, causing the horiz<strong>on</strong>tal <str<strong>on</strong>g>and</str<strong>on</strong>g> vertical comp<strong>on</strong>ents<br />

to resemble sine <str<strong>on</strong>g>and</str<strong>on</strong>g> cosine waves. The ngers are not exed<br />

nor the wrist rotated actively, but undoubtedly slight passive shifts<br />

occur in their posture as the h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides. Dotted lines are uniform<br />

averages of nger moti<strong>on</strong>s, dashed are nger-weighted averages, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

solid are nger-weighted averages after dead-z<strong>on</strong>e ltering.<br />

264


Horiz. Trans. Velocity (m/s)<br />

Vert. Trans. Velocity (m/s)<br />

Rotati<strong>on</strong> Velocity (m/s)<br />

Scaling Velocity (m/s)<br />

0.5<br />

0<br />

−0.5<br />

0 500 1000 1500 2000 2500 3000<br />

0.5<br />

0<br />

−0.5<br />

0 500 1000 1500 2000 2500 3000<br />

0.5<br />

0<br />

−0.5<br />

0 500 1000 1500 2000 2500 3000<br />

0.5<br />

0<br />

−0.5<br />

0 500 1000 1500<br />

Time (ms)<br />

2000 2500 3000<br />

Figure 5.9: Velocity comp<strong>on</strong>ents extracted from separate h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

moti<strong>on</strong>s. Up to 1000 ms, the ngers extend <str<strong>on</strong>g>and</str<strong>on</strong>g> ex back smoothly.<br />

From 1000{3000 ms, the whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotates counter-clockwise <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

then back clockwise. Dotted lines are uniform averages of nger<br />

moti<strong>on</strong>s, dashed are nger-weighted averages, <str<strong>on</strong>g>and</str<strong>on</strong>g> solid are ngerweighted<br />

averages after dead-z<strong>on</strong>e ltering.<br />

265


5.3.6 Moti<strong>on</strong> Extracti<strong>on</strong> C<strong>on</strong>clusi<strong>on</strong>s<br />

Favoring the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky moti<strong>on</strong>s while the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is rotating or scal-<br />

ing greatly improves the independence of the extracted moti<strong>on</strong> comp<strong>on</strong>ents. This<br />

will ultimately allow integral 4-DOF manipulati<strong>on</strong> <strong>on</strong> the MTS. Though the cur-<br />

rently implemented dead-z<strong>on</strong>e lters successfully prevent leakage from n<strong>on</strong>-uniform<br />

translati<strong>on</strong>al moti<strong>on</strong>s into rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling comp<strong>on</strong>ents, further optimizati<strong>on</strong> of<br />

dead-z<strong>on</strong>e width dependencies will be necessary to completely suppress leakage of<br />

imperfect h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong> or scaling moti<strong>on</strong>s into the extracted translati<strong>on</strong> compo-<br />

nents.<br />

5.4 Chord Moti<strong>on</strong> Recogniti<strong>on</strong><br />

The chord moti<strong>on</strong> recognizer is the nal module of the typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic<br />

manipulati<strong>on</strong> system. It has the resp<strong>on</strong>sibility of determining from the combinati<strong>on</strong><br />

of touching ngers which chordic manipulati<strong>on</strong> the operator has selected at the<br />

beginning of a h<str<strong>on</strong>g>and</str<strong>on</strong>g> slide. Then, <strong>on</strong>ce the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is in moti<strong>on</strong>, it sends out appropriate<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> or manipulati<strong>on</strong> events depending <strong>on</strong> the directi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> speeds of the<br />

extracted moti<strong>on</strong> comp<strong>on</strong>ents. Thus it requires as input the identities of all touching<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts <str<strong>on</strong>g>and</str<strong>on</strong>g> the extracted h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, rotati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> velocities. The<br />

chord moti<strong>on</strong> recognizer also receives nger subset synchr<strong>on</strong>izati<strong>on</strong> signals from the<br />

synchr<strong>on</strong>izati<strong>on</strong> detector. Note that the chord moti<strong>on</strong> recogniti<strong>on</strong> process is repeated<br />

for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> independently.<br />

5.4.1 Channel Selecti<strong>on</strong><br />

Am important questi<strong>on</strong> in the design of a chord moti<strong>on</strong> recognizer is whether<br />

the selected channel should change in the middle of a slide if the combinati<strong>on</strong> of<br />

ngers touching the surface changes, or whether the channel selecti<strong>on</strong> be xed at<br />

the beginning of a slide so later touchdowns or lifto s of a nger or two have no<br />

e ect.<br />

266


5.4.1.1 Channels Follow <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong>s<br />

The former soluti<strong>on</strong> is illustrated by the simple state diagram of Figure 5.10.<br />

This appears to be the chord moti<strong>on</strong> state machine used <strong>on</strong> recent Logitech touch-<br />

��� �������<br />

��������<br />

����������<br />

������ ��<br />

����� ���<br />

State T<br />

Any Touchdown<br />

State F State C<br />

All Liftoff<br />

Delayed<br />

���������<br />

�����<br />

�������<br />

Liftoff of All <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s<br />

All Liftoff<br />

Immediately<br />

Lateral Moti<strong>on</strong><br />

Additi<strong>on</strong>al<br />

Touchdowns/<br />

Some Liftoffs<br />

������������<br />

�������<br />

�������� �������<br />

State M<br />

Figure 5.10: State diagram for 3- nger touchpad tapping <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding.<br />

pads [15] which detect <str<strong>on</strong>g>and</str<strong>on</strong>g> count up to three ngertips. When a single nger touches<br />

down, a transiti<strong>on</strong> occurs from the oating state F to the channel selecti<strong>on</strong> state<br />

C. State C counts additi<strong>on</strong>al touchdowns until lateral moti<strong>on</strong> or total lifto is de-<br />

tected. If the nger or ngers lift o quickly, a transiti<strong>on</strong> occurs to the tap state T,<br />

where a butt<strong>on</strong> click is issued. The identity of the emulated mouse butt<strong>on</strong> depends<br />

<strong>on</strong> the maximum number of ngertips counted while in the channel selecti<strong>on</strong> state.<br />

Likewise, when lateral moti<strong>on</strong> is detected, a transiti<strong>on</strong> to the manipulati<strong>on</strong> state<br />

M occurs. If the single nger channel has been selected, pointing events are gener-<br />

ated in proporti<strong>on</strong> to the moti<strong>on</strong>� the two nger channel generates dragging events.<br />

However, the most notable characteristic of this state diagram is that if the number<br />

267


of touching ngers changes without total lifto , c<strong>on</strong>trol returns to state C for an<br />

update of the channel selecti<strong>on</strong>. Thus the operator can transiti<strong>on</strong> immediately from<br />

pointing to dragging by dropping a sec<strong>on</strong>d nger <strong>on</strong> the surface in the middle of a<br />

<strong>on</strong>e- nger slide.<br />

5.4.1.2 Initial <str<strong>on</strong>g>Finger</str<strong>on</strong>g> Combinati<strong>on</strong> Sets Channel<br />

While this is an appropriate design for a small touchpad which has <strong>on</strong>ly<br />

three channels, <str<strong>on</strong>g>and</str<strong>on</strong>g> this design may beadvantageous for certain applicati<strong>on</strong>, it was<br />

not chosen for chordic manipulati<strong>on</strong> <strong>on</strong> the MTS for a number of reas<strong>on</strong>s. First,<br />

the MTS o ers quite a few more chord channels (see Table 5.1) which are mapped<br />

to a much wider variety of comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong>s than just pointing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

dragging. Switching channels up<strong>on</strong> every change in touching nger identity could<br />

be very c<strong>on</strong>fusing <str<strong>on</strong>g>and</str<strong>on</strong>g> accident-pr<strong>on</strong>e. For example, an accidental touchdown of<br />

the thumb during a three- nger slide could switch from a horiz<strong>on</strong>tal drag to issuing<br />

the \Back" comm<str<strong>on</strong>g>and</str<strong>on</strong>g> for a web browser. Fearing such accidents, operators might<br />

suspend those ngers not included in the chord high above the surface. This could<br />

be bad erg<strong>on</strong>omically, as typists who suspend their thumbs high above the space<br />

bar are pr<strong>on</strong>e to overuse injuries such as DeQuervain's syndrome [117].<br />

Therefore, the MTS gives operators the freedom to drop any or all suspended<br />

ngers to the surface for whole h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> <strong>on</strong>ce their initial moti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

nger combinati<strong>on</strong> has selected a chord channel. Likewise, operators should be<br />

able to c<strong>on</strong>tinue translati<strong>on</strong>s <strong>on</strong> a selected channel as l<strong>on</strong>g as at least <strong>on</strong>e nger<br />

remains <strong>on</strong> the surface. Selecting a di erent channel always requires momentary<br />

lifto of all ngers. Though such lifto also requires some nger extensor e ort,<br />

the MTS design assumes the e ort of such lifto for 100-200 ms to switch channels<br />

pales in comparis<strong>on</strong> to the fatigue from holding certain ngers suspended above the<br />

surface for sec<strong>on</strong>ds at a time during slides. Another reas<strong>on</strong> for tolerating additi<strong>on</strong>al<br />

touchdowns is that for channels whose initiating chords do not include the thumb,<br />

268


operators can set the thumb down shortly after slide initiati<strong>on</strong> to access the full<br />

dynamic range of the rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> scaling degrees of freedom.<br />

5.4.2 MTS Chord Moti<strong>on</strong> State Machine<br />

The MTS's more tolerant state machine design is diagrammed in Figure 5.11.<br />

The rst di erence from Figure 5.10 is that to distinguish slides from glancing nger<br />

taps during typing, the transiti<strong>on</strong> from state F to state C requires at least two ngers<br />

from a h<str<strong>on</strong>g>and</str<strong>on</strong>g> to be touching the surface. Thus a channel cannot be selected nor a<br />

chordic manipulati<strong>on</strong> start from moti<strong>on</strong> of a single nger. Similarly, chord taps<br />

require quick, synchr<strong>on</strong>ous release following synchr<strong>on</strong>ous touchdown of two or more<br />

ngers as previously described in Secti<strong>on</strong> 5.2.2.3. Single nger taps are of course<br />

interpreted as typing, which is not shown in the diagram.<br />

5.4.2.1 State C: Channel Selecti<strong>on</strong><br />

State C c<strong>on</strong>tinually checks for changes in the combinati<strong>on</strong> of ngers touching<br />

the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> for lateral nger or h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>. As with chord tap recogniti<strong>on</strong> in<br />

Secti<strong>on</strong> 5.2.2.4, the channel selector uses the combinati<strong>on</strong> of nger identities to look<br />

up a channel from Table 5.1 al<strong>on</strong>g with the channel's event mappings <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong><br />

sensitivity parameters. The moti<strong>on</strong> sensitivity parameters include speed thresholds<br />

which determine how fast or how far the ngers must slide before triggering the<br />

transiti<strong>on</strong> to the manipulati<strong>on</strong> state M.<br />

When state C detects signi cant moti<strong>on</strong> <strong>on</strong> all touching ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> advances<br />

to the manipulati<strong>on</strong> state M, the channel selecti<strong>on</strong> is locked in. Additi<strong>on</strong>al nger<br />

touchdowns or lifto s will not a ect the channel selecti<strong>on</strong> during manipulati<strong>on</strong> unless<br />

they meet the special synchr<strong>on</strong>izati<strong>on</strong> sequence to be discussed below. To prevent<br />

premature lock in of the channel before all ngers in a chord have reached the<br />

surface, nger <str<strong>on</strong>g>and</str<strong>on</strong>g> extracted h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s are downscaled for about 50 ms after<br />

each new nger touchdown or release, making it less likely that the initiati<strong>on</strong> speed<br />

269


270<br />

��� �������<br />

��������<br />

State F<br />

����������<br />

����� ��� ����<br />

��� ��������<br />

�����<br />

State T<br />

Multiple Touching<br />

1 <str<strong>on</strong>g>Finger</str<strong>on</strong>g><br />

Touching<br />

All Liftoff<br />

Asynchr<strong>on</strong>ous/<br />

Delayed<br />

���������<br />

�����<br />

�������<br />

State C<br />

Liftoff of All <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s<br />

Synchr<strong>on</strong>izati<strong>on</strong>,<br />

All Liftoff<br />

Immediately<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong><br />

Some Liftoffs<br />

Additi<strong>on</strong>al<br />

Touchdowns State M<br />

Liftoff of All <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s<br />

������������<br />

�������<br />

�������� �������<br />

Additi<strong>on</strong>al<br />

Touchdowns<br />

Liftoff of All <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Moti<strong>on</strong><br />

Synchr<strong>on</strong>ized<br />

Liftoff &<br />

Touchdown of<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g> Subset<br />

��������� ���<br />

������� ����<br />

������������<br />

������<br />

Subset<br />

Touchdown<br />

����������<br />

����� ��� �����<br />

���� ������� �������<br />

State SC Synchr<strong>on</strong>ized<br />

Liftoff of<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g> Subset<br />

State ST<br />

Figure 5.11: State diagram for the MTS chord moti<strong>on</strong> recognizer. States C <str<strong>on</strong>g>and</str<strong>on</strong>g> T allowchannel selecti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> chord<br />

tapping when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> starts in state F oating above the surface. State M issues comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

manipulati<strong>on</strong> events in resp<strong>on</strong>se to h<str<strong>on</strong>g>and</str<strong>on</strong>g> slides, <str<strong>on</strong>g>and</str<strong>on</strong>g> states SC <str<strong>on</strong>g>and</str<strong>on</strong>g> ST allow a new chord channel to<br />

be selected <str<strong>on</strong>g>and</str<strong>on</strong>g> chord taps to be generated by synchr<strong>on</strong>ously lifting <str<strong>on</strong>g>and</str<strong>on</strong>g> dropping a subset of ngers<br />

when all or most ngers are resting <strong>on</strong> the surface.


threshold will be crossed until nger presence <str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong>s have stabilized.<br />

Also, the speeds of all touching ngers are required to pass the speed threshold <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

be within a fracti<strong>on</strong> of neighboring nger speeds to ensure chord moti<strong>on</strong> is initially<br />

coherent.<br />

Note that there is no touchdown synchr<strong>on</strong>izati<strong>on</strong> requirement for the tran-<br />

siti<strong>on</strong> from state C to state M. First of all, <strong>on</strong>e is not necessary because coherent<br />

moti<strong>on</strong> in all the touching ngers is su cient to distinguish sliding ngers from rest-<br />

ing ngers. Also, novice operators may err<strong>on</strong>eously try to start a slide by placing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> sliding <strong>on</strong>ly <strong>on</strong>e nger <strong>on</strong> the surface, forgetting that multiple ngers are neces-<br />

sary. Tolerance of asynchr<strong>on</strong>ous touchdowns allows them to seamlessly correct this<br />

by subsequently dropping <str<strong>on</strong>g>and</str<strong>on</strong>g> sliding the rest of the ngers desired for the chord.<br />

The manipulati<strong>on</strong> mode will then initiate without forcing the operator to pick up<br />

all ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> start over with synchr<strong>on</strong>ized nger touchdowns.<br />

5.4.2.2 State SC: Synced Subset Channel Selecti<strong>on</strong><br />

States SC <str<strong>on</strong>g>and</str<strong>on</strong>g> ST provide a way tochange channels when the h<str<strong>on</strong>g>and</str<strong>on</strong>g> is resting<br />

<strong>on</strong> the surface without lifting all ngers o the surface. This is important because<br />

otherwise operators may always tend to keep the h<str<strong>on</strong>g>and</str<strong>on</strong>g> suspended after being forced<br />

to lift it o to reset the state machine <str<strong>on</strong>g>and</str<strong>on</strong>g> change channels. The synchr<strong>on</strong>ized<br />

channel selecti<strong>on</strong> state SC can be entered from an existing channel manipulati<strong>on</strong><br />

mode M by synchr<strong>on</strong>ously lifting some of the ngers, usually just two or three out<br />

of ve, <str<strong>on</strong>g>and</str<strong>on</strong>g> synchr<strong>on</strong>ously dropping them back to the surface. It can also be entered<br />

after all ngers have been resting <strong>on</strong> the surface without sliding, i.e., from state C<br />

directly without going through M, but this transiti<strong>on</strong> is not shown in the diagram<br />

to avoid clutter.<br />

Once in state SC, the new channel is determined from the combinati<strong>on</strong> of<br />

ngers in the synchr<strong>on</strong>ized subset, not from the combinati<strong>on</strong> of all touching ngers.<br />

From state SC a chord tap can be issued <strong>on</strong> the new channel through state ST by<br />

271


<strong>on</strong>ce again raising <str<strong>on</strong>g>and</str<strong>on</strong>g> dropping the same nger subset. Likewise, coherent lateral<br />

moti<strong>on</strong> of the ngers in this subset will cause a transiti<strong>on</strong> back to the manipulati<strong>on</strong><br />

state, irrespective of the moti<strong>on</strong> of the resting ngers. This transiti<strong>on</strong> also locks in<br />

the new channel selecti<strong>on</strong> as before. Again, state SC o ers the advantage that the<br />

operator does not have to lift a whole resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> from the surface before starting<br />

a manipulati<strong>on</strong>, but can instead leave most of the weight of the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s resting <strong>on</strong><br />

the surface <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ly lift <str<strong>on</strong>g>and</str<strong>on</strong>g> press the two or three ngers necessary to choose the<br />

most comm<strong>on</strong> nger chords.<br />

5.4.2.3 State M: <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g><br />

The manipulati<strong>on</strong> mode operates in several di erent ways depending <strong>on</strong> the<br />

type of manipulati<strong>on</strong> or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> events which have been mapped to the selected<br />

channel. For mouse pointing or dragging events, it simply integrates the extracted<br />

velocity comp<strong>on</strong>ents over small, regular time intervals <str<strong>on</strong>g>and</str<strong>on</strong>g> sends mouse moti<strong>on</strong><br />

packets to the host computer just like a mouse or touchpad would. For editing<br />

keys whose acti<strong>on</strong>s are reversible such as the arrow keys, it integrates h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong><br />

in a particular directi<strong>on</strong>. The moti<strong>on</strong> recognizer then sends out the appropriate<br />

key when a threshold is reached, resets the integrators for each directi<strong>on</strong> or arrow<br />

key, <str<strong>on</strong>g>and</str<strong>on</strong>g> begins integrating again. For <strong>on</strong>e-shot comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as cut which are<br />

not easily reversible <str<strong>on</strong>g>and</str<strong>on</strong>g> which seldom need to be repeated, the moti<strong>on</strong> recognizer<br />

ceases integrating after the rst issuance of the comm<str<strong>on</strong>g>and</str<strong>on</strong>g>, ensuring such comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

are <strong>on</strong>ly issued <strong>on</strong>ce per slide. Thus the operator must pick up the h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> begin a<br />

new slide to perform a sec<strong>on</strong>d cut. Table 5.2 shows the directi<strong>on</strong>al moti<strong>on</strong> gestures<br />

which the chord moti<strong>on</strong> recognizer currently implements.<br />

5.4.3 Chord Mappings<br />

The chord moti<strong>on</strong> recognizers for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> functi<strong>on</strong> independently, <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

input events for each chord can be c<strong>on</strong> gured independently. This allows the system<br />

272


Table 5.2: The simple manipulati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> lateral moti<strong>on</strong> gestures recognized by<br />

the MTS. Moti<strong>on</strong> Ic<strong>on</strong> Type of Chord Moti<strong>on</strong><br />

Brief tap <strong>on</strong> surface (<strong>on</strong>eshot).<br />

Translati<strong>on</strong> (slide) in any<br />

directi<strong>on</strong>.<br />

Reversible translati<strong>on</strong> up<br />

or down.<br />

Reversible translati<strong>on</strong> left<br />

or right.<br />

Reversible up or down<br />

translati<strong>on</strong>, irreversible<br />

right translati<strong>on</strong>.<br />

Translati<strong>on</strong> in a particular<br />

directi<strong>on</strong> (<strong>on</strong>e-shot).<br />

C<strong>on</strong>tractive h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

(<strong>on</strong>e-shot).<br />

Expansive h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling<br />

(<strong>on</strong>e-shot).<br />

Clockwise h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong><br />

(<strong>on</strong>e-shot).<br />

Counter-clockwise h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotati<strong>on</strong> (<strong>on</strong>e-shot).<br />

273


to allocate tasks between h<str<strong>on</strong>g>and</str<strong>on</strong>g>s in many di erent ways <str<strong>on</strong>g>and</str<strong>on</strong>g> to support avariety of<br />

bimanual manipulati<strong>on</strong>s. For example, mouse cursor moti<strong>on</strong> could be allocated to<br />

the ngertip pair chord <strong>on</strong> both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse butt<strong>on</strong> drag to a three ngertip<br />

chord <strong>on</strong> both h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. This way either h<str<strong>on</strong>g>and</str<strong>on</strong>g> could point <str<strong>on</strong>g>and</str<strong>on</strong>g> drag <strong>on</strong> either half of<br />

the surface. Primary mouse clicks would be generated by a tap of a ngertip pair<br />

<strong>on</strong> either half of the surface, <str<strong>on</strong>g>and</str<strong>on</strong>g> double-clicks could be erg<strong>on</strong>omically generated by<br />

a single tap of three ngertips <strong>on</strong> the surface. Window scrolling could be allocated<br />

to slides of four ngers <strong>on</strong> either h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

Alternatively, mouse cursor manipulati<strong>on</strong>s could be allocated as discussed<br />

above to the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> right half of the surface, while corresp<strong>on</strong>ding text<br />

cursor manipulati<strong>on</strong>s are allocated to chords <strong>on</strong> the left h<str<strong>on</strong>g>and</str<strong>on</strong>g>. For instance, left<br />

ngertip pair movement would generate arrow key comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s corresp<strong>on</strong>ding to the<br />

directi<strong>on</strong> of moti<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> three ngertips would generate shift arrow combinati<strong>on</strong>s<br />

for selecti<strong>on</strong> of text.<br />

For host computer systems supporting manipulati<strong>on</strong>s in three or more degrees<br />

of freedom, a left h<str<strong>on</strong>g>and</str<strong>on</strong>g> chord could be selected to pan, zoom, <str<strong>on</strong>g>and</str<strong>on</strong>g> rotate the display<br />

background while a corresp<strong>on</strong>ding chord in the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> could translate, resize <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

rotate a foreground object. These chords would not have to include the thumb since<br />

the thumb can touch down anytime after initiating chord moti<strong>on</strong> without changing<br />

the selected chord. The operator need <strong>on</strong>ly add the thumb to the surface when<br />

attempting rotati<strong>on</strong> or scaling.<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g> chords which initially include the thumb can be reserved for <strong>on</strong>e-shot<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures. For example, the comm<strong>on</strong> editing comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s cut, copy <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

paste can be intuitively allocated to a pinch or c<strong>on</strong>tractive h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling, a chord<br />

tap, <str<strong>on</strong>g>and</str<strong>on</strong>g> an anti-pinch of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> an opposing ngertip. See Tables 6.1{6.4<br />

<strong>on</strong> Pages 289{292 for the mappings used by the author for text editing <str<strong>on</strong>g>and</str<strong>on</strong>g> general<br />

navigati<strong>on</strong> of st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard graphical user interfaces.<br />

274


5.5 C<strong>on</strong>clusi<strong>on</strong>s<br />

This chapter has dem<strong>on</strong>strated how a system for integrating typing <str<strong>on</strong>g>and</str<strong>on</strong>g> ver-<br />

satile chordic manipulati<strong>on</strong>s <strong>on</strong> the MTS can be built up<strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracking <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

nger identi cati<strong>on</strong> systems of Chapters 3 <str<strong>on</strong>g>and</str<strong>on</strong>g> 4. Robust path tracking from Chap-<br />

ter 3 is necessary for the nger press <str<strong>on</strong>g>and</str<strong>on</strong>g> release times used for nger subset syn-<br />

chr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> to be reliable. Palm c<strong>on</strong>tacts must be identi ed as such so<br />

that they can be fully ignored by the synchr<strong>on</strong>izati<strong>on</strong> detector, typing detector,<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> extractor, <str<strong>on</strong>g>and</str<strong>on</strong>g> chord moti<strong>on</strong> recognizer. Since manipulati<strong>on</strong> channel<br />

selecti<strong>on</strong> depends up<strong>on</strong> the presence of the thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> number of ngertips, nger<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> must also be robust <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>verge within about 100 ms of<br />

the rst nger's touchdown. The h<str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> extractor requires that the nger<br />

identi cati<strong>on</strong>s remain in proper order from innermost to outermost.<br />

This chapter has also introduced several novel c<strong>on</strong>cepts for human-computer<br />

interacti<strong>on</strong>, the most fundamental being that typing can be distinguished from<br />

chordic manipulati<strong>on</strong> over the key layout fairly reliably by checking for synchro-<br />

nizati<strong>on</strong> of nger moti<strong>on</strong>s <strong>on</strong> the same h<str<strong>on</strong>g>and</str<strong>on</strong>g> [160]. Full h<str<strong>on</strong>g>and</str<strong>on</strong>g> chords have been used<br />

here not for typing but to enhance graphical manipulati<strong>on</strong>, which led to the prob-<br />

lem of extracting four integral degrees of freedom from h<str<strong>on</strong>g>and</str<strong>on</strong>g> rotati<strong>on</strong>, scaling <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

translati<strong>on</strong>. Achannel selecti<strong>on</strong> state machine has been designed to encourage h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

resting <strong>on</strong> the surface. While the systems of this chapter are not yet bulletproof<br />

enough that any<strong>on</strong>e can walk up to the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g> use it without training or practice,<br />

they already work quite well for a skilled operator, as will be seen in a case study<br />

of this author in the next <str<strong>on</strong>g>and</str<strong>on</strong>g> nal chapter.<br />

275


Chapter 6<br />

PRELIMINARY EVALUATION, FUTURE DIRECTIONS,<br />

AND CONCLUSIONS<br />

This chapter begins with a detailed testim<strong>on</strong>ial of my experiences <str<strong>on</strong>g>and</str<strong>on</strong>g> a case<br />

study of my RSI symptoms while using the typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong> capa-<br />

bilities of the MTS to prepare this dissertati<strong>on</strong>. Next, I outline usability, l<strong>on</strong>g-term<br />

fatigue, <str<strong>on</strong>g>and</str<strong>on</strong>g> RSI case studies which could more formally <str<strong>on</strong>g>and</str<strong>on</strong>g> objectively evaluate<br />

the e ciency <str<strong>on</strong>g>and</str<strong>on</strong>g> erg<strong>on</strong>omics of the MTS in the future. I end with a discussi<strong>on</strong> of<br />

future enhancements to the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g> commercial operating systems which would<br />

be necessary to support h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing recogniti<strong>on</strong> or bimanual manipulati<strong>on</strong> <strong>on</strong> the<br />

MTS.<br />

6.1 Testim<strong>on</strong>ial <str<strong>on</strong>g>and</str<strong>on</strong>g> Case Study of the Author<br />

Though c<strong>on</strong>structi<strong>on</strong> of the MTS was completed in November 1998, the MTS<br />

software did not functi<strong>on</strong> well enough to support daily use until early January 1999.<br />

Since then I have used the MTS as the sole input device <strong>on</strong> my primary pers<strong>on</strong>al<br />

computer to edit this dissertati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> prepare results. My adviser, John Elias<br />

has also been using a sec<strong>on</strong>d prototype since February 1999 as his primary input<br />

device. Here I will o er my impressi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> observati<strong>on</strong>s from use of the MTS over<br />

this period, pointing out issues which should be examined in the future by more<br />

extensive, formal studies of user populati<strong>on</strong>s. Based up<strong>on</strong> the experiences of friends<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> colleagues who have tried the MTS momentarily, I will also discuss di culties<br />

which novice operators are likelytohave.<br />

276


6.1.1 My Fitness as an Evaluator<br />

As developer of the MTS software, I am undoubtedly somewhat biased, some-<br />

times in ways I cannot foresee. For example, because I have a noti<strong>on</strong> of how the<br />

typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong> are supposed to integrate, I unc<strong>on</strong>sciously avoid<br />

moti<strong>on</strong>s which c<strong>on</strong>fuse the MTS algorithms. Every new pers<strong>on</strong> who has tried the<br />

MTS has at least <strong>on</strong>e strange moti<strong>on</strong> habit which I never anticipated <str<strong>on</strong>g>and</str<strong>on</strong>g> which<br />

dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s enhancement of the moti<strong>on</strong> lters. Because I received less<strong>on</strong>s in classical<br />

piano performance for twelve years, my manual dexterity <str<strong>on</strong>g>and</str<strong>on</strong>g> precisi<strong>on</strong> is undoubt-<br />

edly above average. During my rst typing class as a freshman in high school, I<br />

gained speed <str<strong>on</strong>g>and</str<strong>on</strong>g> accuracy much faster than the rest of the class, so the ease with<br />

which Ihave learned to operate the MTS would not be representative of the general<br />

populati<strong>on</strong> even if I were not its designer.<br />

However, I do have a lot of experience evaluating input devices, especially<br />

for erg<strong>on</strong>omics. Over the years I have used the Kinesis c<strong>on</strong>toured keyboard models<br />

110-130, st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboards with various keyswitch sti nesses, thumb <str<strong>on</strong>g>and</str<strong>on</strong>g> palm<br />

operated track balls, mice <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads. During my struggles with RSI, I have<br />

become very attuned to my body's pain signals, so that I can tell the di erence<br />

between super cial muscle soreness, which can usually be ignored without c<strong>on</strong>se-<br />

quence, <str<strong>on</strong>g>and</str<strong>on</strong>g> the deep, burning pain in the forearms which warns that c<strong>on</strong>tinued use<br />

of the computer for another day can cause spiraling in ammati<strong>on</strong> that incapacitates<br />

my h<str<strong>on</strong>g>and</str<strong>on</strong>g>s for weeks.<br />

Much of this erg<strong>on</strong>omics awareness has been learned the hard way, as when<br />

three-<str<strong>on</strong>g>and</str<strong>on</strong>g>-a-half years ago I failed to x a malfuncti<strong>on</strong> in a left thumb roller device I<br />

had added to a Kinesis keyboard. After a week using this malfuncti<strong>on</strong>ing, unreliable<br />

roller intensely, I apparently tore a thumb adductor or index nger exor tend<strong>on</strong> or<br />

sheath, an injury which plagues me to this day. Though I asked two doctors <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

several physical therapists for an exact diagnosis of this injury, n<strong>on</strong>e were able to<br />

277


o er <strong>on</strong>e. For the rst few m<strong>on</strong>ths after the initial injury I could not extend my<br />

left wrist past the neutral positi<strong>on</strong>. In the years since I have regained full wrist<br />

exibility through stretching <str<strong>on</strong>g>and</str<strong>on</strong>g> strengthening exercises, but this old injury has<br />

remained troublesome, even as are-ups in my other tend<strong>on</strong>itis hot spots such as<br />

the epic<strong>on</strong>dylitis in both elbows have become less severe.<br />

Even after staying pain free for weeks <strong>on</strong> vacati<strong>on</strong>, I have not been able to<br />

type more than a page or two perday<strong>on</strong>any mechanical keyboard without causing<br />

pain <str<strong>on</strong>g>and</str<strong>on</strong>g> tenderness where the left index nger exor tend<strong>on</strong> passes through the<br />

wrist. Though otherwise I prefer the Kinesis keyboard to a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboard,<br />

the raised posture <str<strong>on</strong>g>and</str<strong>on</strong>g> editing keys it imposes <strong>on</strong> the thumbs seemed to exacerbate<br />

this injury more than a atkeyboard. Hence during the m<strong>on</strong>ths prior to this MTS<br />

trial, while I was writing the MTS software using the Kinesis, my index nger pain<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> tenderness were actually worsening. Thus I can clearly compare my symptoms<br />

during this MTS trial to l<strong>on</strong>g-term symptoms leading up to the trial which other<br />

alternative input devices, physical therapy, <str<strong>on</strong>g>and</str<strong>on</strong>g> time had failed to eliminate.<br />

Finally, a three-m<strong>on</strong>th case study such as this <strong>on</strong>e can provide informati<strong>on</strong><br />

<strong>on</strong> l<strong>on</strong>g-term use <str<strong>on</strong>g>and</str<strong>on</strong>g> e ects that a short trial with a populati<strong>on</strong> of novices cannot.<br />

For example, I have used the MTS l<strong>on</strong>g enough for frequently-performed gestures<br />

to enter motor memory. Thus I can easily distinguish the truly useful chordic ma-<br />

nipulati<strong>on</strong>s from those performed so rarely that I must still pause to remember<br />

them.<br />

6.1.2 Equipment <str<strong>on</strong>g>and</str<strong>on</strong>g> Methods<br />

The MTS was c<strong>on</strong>nected to an IBM-compatible PC with a 200 MHz Cyrix<br />

processor running IBM's OS/2 operating system. Since the MTS emulates PS/2<br />

keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> serial mouse protocols in hardware, no custom device drivers were<br />

necessary. However, an operating system extensi<strong>on</strong> called Hotscroll by Samual Au-<br />

det [4] enabled c<strong>on</strong>tinuous scrolling of windows via emulated mouse events.<br />

278


This dissertati<strong>on</strong> was written in the L ATEX typesetting language rather than<br />

with a c<strong>on</strong>venti<strong>on</strong>al word processor� therefore, formatting codes, references <str<strong>on</strong>g>and</str<strong>on</strong>g> text<br />

were all included in ASCII text les editable with any comm<strong>on</strong> text editor. I used an<br />

advanced programmer's editor, Visual SlickEdit by MicroEdge, for this purpose. It<br />

has a number of features which make editing more e cient, such asinteractive word<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> line completi<strong>on</strong>, in nite undo <str<strong>on</strong>g>and</str<strong>on</strong>g> redo, <str<strong>on</strong>g>and</str<strong>on</strong>g> cut or copy of the line c<strong>on</strong>taining<br />

the text cursor without rst selecting it.<br />

Though the MTS was the sole input device for my primary workstati<strong>on</strong>, at<br />

times I relied <strong>on</strong> other means to input text <str<strong>on</strong>g>and</str<strong>on</strong>g> graphical data. Many of the gures<br />

were plotted with Matlab running <strong>on</strong> a Sun workstati<strong>on</strong> with a Sun 4 keyboard<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Mouse-trak trackball attached. Also, I wrote out the rst draft of l<strong>on</strong>g secti<strong>on</strong>s<br />

of the text by h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> had a pers<strong>on</strong> type them in for me. Then I performed<br />

all editing <str<strong>on</strong>g>and</str<strong>on</strong>g> page-sized additi<strong>on</strong>s through the typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong><br />

capability of the MTS prototype. Because of the slowness <str<strong>on</strong>g>and</str<strong>on</strong>g> inaccuracy of the<br />

speech recogniti<strong>on</strong> software available for OS/2 (IBM's Voicetype discrete dictati<strong>on</strong><br />

software), I avoided use of speech recogniti<strong>on</strong> software during this period, preferring<br />

the MTS for entry of small-to-moderate amounts of text <str<strong>on</strong>g>and</str<strong>on</strong>g> a typing assistant for<br />

large new secti<strong>on</strong>s. Nevertheless, many days I typed 3-6 pages with the MTS, more<br />

than I had been able to type with a mechanical keyboard prior to the MTS trial<br />

without causing signi cant pain for several days.<br />

6.1.3 Typing<br />

I was able to touch type [158] at my normal speed of up to 60 words per<br />

minute <strong>on</strong> the MTS, making about twice as many errors as I would <strong>on</strong> a mechanical<br />

keyboard. Because it was so easy to edit <str<strong>on</strong>g>and</str<strong>on</strong>g> correct errors with the MTS, this<br />

increased error rate did not become an annoyance. However, entering text such as<br />

C code which c<strong>on</strong>tained a lot of numbers or punctuati<strong>on</strong> from the periphery of the<br />

279


key layout usually required a glance at the symbols printed <strong>on</strong> the MTS, which did<br />

become annoying at times.<br />

Figure 1.1 <strong>on</strong> Page 6 is a renditi<strong>on</strong> of the QWERTY key layout used for<br />

the rst m<strong>on</strong>th of the MTS trial. I drew the key symbols <strong>on</strong> the surface with a<br />

marker, but the surface was perfectly smooth, so there was no tactile indicati<strong>on</strong> of<br />

their locati<strong>on</strong>. Therefore, to type with decent accuracy, the ngers either had to<br />

remain resting <strong>on</strong> home row, picking up <str<strong>on</strong>g>and</str<strong>on</strong>g> placing <strong>on</strong>e nger at a time, or they<br />

had to be carefully suspended in the air above home row without drifting. With<br />

the MTS <strong>on</strong> my lap sloping downward it was also comfortable to rest my palms<br />

<strong>on</strong> the surface while the ngers hovered over home row. Both John Elias <str<strong>on</strong>g>and</str<strong>on</strong>g> I<br />

have successfully learned to do this, but it is apparently not natural. All the people<br />

who have momentarily tried to type <strong>on</strong> the MTS without any tactile feedback have<br />

been able to hunt <str<strong>on</strong>g>and</str<strong>on</strong>g> peck by looking at the symbols drawn <strong>on</strong> the surface but<br />

have not been able to touch type without looking. One c<strong>on</strong> ating issue is that the<br />

alphabetic key columns are straight vertical <strong>on</strong> the MTS, like <strong>on</strong> the Kinesis, rather<br />

than slanted as <strong>on</strong> a c<strong>on</strong>venti<strong>on</strong>al QWERTY keyboard. In any case, two issues need<br />

to be examined in the future:<br />

1. How hard is it for people to learn to keep their h<str<strong>on</strong>g>and</str<strong>on</strong>g>s steady over home row,<br />

i.e., how l<strong>on</strong>g does it take them to learn <str<strong>on</strong>g>and</str<strong>on</strong>g> can every<strong>on</strong>e learn?<br />

2. How much tactile feedback of the key <str<strong>on</strong>g>and</str<strong>on</strong>g> home row positi<strong>on</strong>s is necessary to<br />

speed adapti<strong>on</strong> to <str<strong>on</strong>g>and</str<strong>on</strong>g> accuracy of touch typing <strong>on</strong> the MTS?<br />

The sec<strong>on</strong>d questi<strong>on</strong> needs to be determined very precisely because more tactile<br />

feedback implies a rougher surface. Too rough a surface will impede smooth chordic<br />

manipulati<strong>on</strong>.<br />

280


6.1.4 Weekly Symptoms<br />

6.1.4.1 First Two Weeks<br />

During the rst week or two using the device, I was still recovering from prior<br />

use of the Kinesis keyboard. All-day use of the MTS would still cause super cial<br />

in ammati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> soreness by the end of the day, but deeper pain did not build up<br />

from <strong>on</strong>e day to the next like it recently had with the Kinesis. I had the feeling that<br />

Iwas just mildly irritating already-in amed tend<strong>on</strong>s with the MTS, not making the<br />

in ammati<strong>on</strong> worse in the l<strong>on</strong>g-term.<br />

However, during the rst week or two I experienced acute neck <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder<br />

pain. I attributed this to MTS software bugs which would not allow me to rest<br />

my h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> the surface without causing spurious key activati<strong>on</strong>s. Bugs in the<br />

chordic manipulati<strong>on</strong> system also made pointer manipulati<strong>on</strong> somewhat erratic or<br />

unresp<strong>on</strong>sive. I then spent a couple days xing these bugs <str<strong>on</strong>g>and</str<strong>on</strong>g> enabling all ve<br />

ngers to drop to the surface in the middle of manipulati<strong>on</strong> without switching or<br />

disabling the selected channel.<br />

6.1.4.2 Third <str<strong>on</strong>g>and</str<strong>on</strong>g> Fourth Weeks<br />

At this point my neck <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder sti ness went away. Unfortunately I<br />

cannot say whether this was because my body had nally adapted to the slightly<br />

di erent postural requirements of the MTS or if it was due to my improvements in<br />

system reliability <str<strong>on</strong>g>and</str<strong>on</strong>g> resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> tolerance. As I c<strong>on</strong>tinued use of the MTS over<br />

the next couple weeks, all the burning in my forearms which usually accompanies<br />

moderate typing went away except the tenderness in my left index nger exor.<br />

Because of this my index nger was reluctant to stretch o home row for keys such<br />

as the 't' key, <str<strong>on</strong>g>and</str<strong>on</strong>g> often made typing errors.<br />

281


6.1.4.3 Fifth <str<strong>on</strong>g>and</str<strong>on</strong>g> Sixth Weeks<br />

During the fth week of the trial I decided the <strong>on</strong>ly way to improve my<br />

typing endurance in the face of this nagging index nger injury would be to learn<br />

a key layout which utilized the index nger less. In the QWERTY layout, the left<br />

index nger h<str<strong>on</strong>g>and</str<strong>on</strong>g>les 17.75% of the English typing load, more than any other nger<br />

<strong>on</strong> either h<str<strong>on</strong>g>and</str<strong>on</strong>g> [101]. The Dvorak layout, <strong>on</strong> the other h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <strong>on</strong>ly allocates 12%<br />

of the typing load to the index nger, <str<strong>on</strong>g>and</str<strong>on</strong>g> most of that load is from home row<br />

keys. Changing the MTS layout <strong>on</strong>ly required swapping of key centroid positi<strong>on</strong>s<br />

in a c<strong>on</strong> gurati<strong>on</strong> le <str<strong>on</strong>g>and</str<strong>on</strong>g> redrawing the symbols <strong>on</strong> the surface with a marker.<br />

After the rst couple days I realized that the Dvorak layout places the 'i' key to<br />

the right of the index nger home key even though the letter 'i' appears twice as<br />

often in English as the index home key 'u'. Presumably, Dvorak did this to optimize<br />

digraphs involving either of these vowels, but since I wished to minimize index nger<br />

stretching, I swapped the 'u' <str<strong>on</strong>g>and</str<strong>on</strong>g> 'i' keys. To speed relearning in the transiti<strong>on</strong> from<br />

QWERTY to Dvorak, I also kept some of the rarer letter <str<strong>on</strong>g>and</str<strong>on</strong>g> punctuati<strong>on</strong> keys<br />

in their QWERTY positi<strong>on</strong>s. Figure 6.1 shows the modi ed versi<strong>on</strong> of the Dvorak<br />

layout which I nally settled up<strong>on</strong>.<br />

As most people who have learned Dvorak after QWERTY have noted, the<br />

rst week or two of the transiti<strong>on</strong> is quite disorienting. The lack of tactile feedback<br />

from the MTS probably exacerbated this. Having no motor memory yet of nger<br />

moti<strong>on</strong> sequences <strong>on</strong> the Dvorak layout <str<strong>on</strong>g>and</str<strong>on</strong>g> no key edges with which to feel around<br />

for keys, I <strong>on</strong>ce again found myself c<strong>on</strong>stantly holding my h<str<strong>on</strong>g>and</str<strong>on</strong>g>s above the surface<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> looking down to nd myway around the foreign layout. This caused a resurgence<br />

in my neck <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder sti ness <str<strong>on</strong>g>and</str<strong>on</strong>g> some arm fatigue.<br />

6.1.4.4 Seventh <str<strong>on</strong>g>and</str<strong>on</strong>g> Eighth Weeks<br />

However, within about two weeks, typing <strong>on</strong> the modi ed Dvorak layout<br />

started becoming automatic, <str<strong>on</strong>g>and</str<strong>on</strong>g> these neck <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder symptoms subsided. Most<br />

282


283<br />

Figure 6.1: Modi ed Dvorak key layout adopted by the author starting in the fth week of the trial. Note 'i' <str<strong>on</strong>g>and</str<strong>on</strong>g> 'u'<br />

are swapped from normal Dvorak to decrease frequency of reach by left index nger. Also, 'x' <str<strong>on</strong>g>and</str<strong>on</strong>g> 'q',<br />

'.' <str<strong>on</strong>g>and</str<strong>on</strong>g> ',', 'z' <str<strong>on</strong>g>and</str<strong>on</strong>g> '/' <str<strong>on</strong>g>and</str<strong>on</strong>g> ' <str<strong>on</strong>g>and</str<strong>on</strong>g> '�' are swapped to decrease di erences from QWERTY for punctuati<strong>on</strong><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> infrequent alphabetic keys.


importantly, the reduced index nger workload gave my index nger exor tend<strong>on</strong><br />

a chance to recover. Since the rst week after switching key layouts, my <strong>on</strong>ly mild<br />

recurrences of pain or tenderness in this nger or my other weak spots have occurred<br />

after typing 4-5 pages <strong>on</strong> c<strong>on</strong>secutive days.<br />

6.1.4.5 Ninth <str<strong>on</strong>g>and</str<strong>on</strong>g> Tenth Weeks<br />

Since I was nishing this document, but my typing assistant was unavailable,<br />

I typed 3-6 pages per day nearly every day of this two week period. This caused<br />

sporadic tenderness in my index nger tend<strong>on</strong> but no other pain, <str<strong>on</strong>g>and</str<strong>on</strong>g> the index<br />

nger never became so aggravated that I would have had to rest for days at a time,<br />

which I could not have a orded. This period was the rst time in four years that I<br />

felt free to compose large amounts of text through typing rather than h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing.<br />

6.1.4.6 C<strong>on</strong>clusi<strong>on</strong>s<br />

These experiences suggest that though I may not have in nite endurance<br />

typing <strong>on</strong> the MTS, I have two or three times as much endurance as <strong>on</strong> a mechanical<br />

keyboard. This is c<strong>on</strong>sistent with my previous experiences with zero-activati<strong>on</strong><br />

force devices such as optical mouse butt<strong>on</strong>s, Pilot rolling ball pens, <str<strong>on</strong>g>and</str<strong>on</strong>g> touchpads.<br />

Minimal force devices still do not allow inde nitely l<strong>on</strong>g, intense use or unlimited<br />

repetiti<strong>on</strong>s, but I can operate them 2-4 times as l<strong>on</strong>g per day before fatigue or<br />

in ammati<strong>on</strong> begins to build up.<br />

Though my brief spouts of neck <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder pain could have been brought<strong>on</strong><br />

by other activities such aswatching movies with my head propped against the high<br />

armrest of a couch, they suggest that postural loading <strong>on</strong> the shoulders may increase<br />

temporarily if operators cannot rest their h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> the surface or are unfamiliar with<br />

the key layout.<br />

284


6.1.5 Recogniti<strong>on</strong> Errors <str<strong>on</strong>g>and</str<strong>on</strong>g> Accidental Activati<strong>on</strong>s<br />

While the essentially zero activati<strong>on</strong> force of the MTS has obvious erg<strong>on</strong>omic<br />

advantages, it also makes accidental activati<strong>on</strong> by accidental c<strong>on</strong>tact with the surface<br />

more likely. Though <strong>on</strong>e can synchr<strong>on</strong>ously place palms <str<strong>on</strong>g>and</str<strong>on</strong>g> all ve ngers <strong>on</strong> the<br />

surface at any time without c<strong>on</strong>sequence, <strong>on</strong>e has to be careful not to accidentally<br />

tap the surface with a nger. As a skilled operator who knows how to undo any<br />

accidental activati<strong>on</strong>s, this has not really been a problem. For me, the number<br />

of errors due to accidental touches is about the same as the gesture recogniti<strong>on</strong><br />

error rate. For example, a few times a day the system will misinterpret a primary-<br />

clicking nger pair tap as a thumb- nger tap or a h<str<strong>on</strong>g>and</str<strong>on</strong>g> scaling gesture as a rotati<strong>on</strong><br />

gesture. Since the thumb- nger tap is mapped to copy, the former error will have<br />

no c<strong>on</strong>sequence unless <strong>on</strong>e is in the middle of a cut-paste sequence, in which the<br />

clipboard c<strong>on</strong>tents could be overwritten. Similarly, a couple of times a day I will<br />

accidentally touch the surface inserting a key while actually trying to oat above<br />

the surface. Since the comm<str<strong>on</strong>g>and</str<strong>on</strong>g> keys are in the middle of the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g> the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

are usually near home positi<strong>on</strong>, most such accidental activati<strong>on</strong>s involve inserti<strong>on</strong> of<br />

an alphabetic character rather than a comm<str<strong>on</strong>g>and</str<strong>on</strong>g> invocati<strong>on</strong> by a functi<strong>on</strong> key. Thus<br />

they are easy to correct as l<strong>on</strong>g as the error is noticed. Audible feedback from all<br />

key activati<strong>on</strong>s ensures such inserti<strong>on</strong>s will be noticed in most cases.<br />

The accidental activati<strong>on</strong> problem is potentially much more serious for novices.<br />

First, they may not know to precisely synchr<strong>on</strong>ize their chord taps or avoid acci-<br />

dental touches of less than ve ngers. Sec<strong>on</strong>d, when they do accidentally activate<br />

a key or chord comm<str<strong>on</strong>g>and</str<strong>on</strong>g>, they may become c<strong>on</strong>fused <str<strong>on</strong>g>and</str<strong>on</strong>g> not know how to undo<br />

their error. Several modi cati<strong>on</strong>s have already been made to the MTS software to<br />

address this, <str<strong>on</strong>g>and</str<strong>on</strong>g> undoubtedly more will be needed in the future.<br />

Disabling all but the most basic chordic manipulati<strong>on</strong>s when novices are rst<br />

learning MTS operati<strong>on</strong> will avoid many accidental activati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> much c<strong>on</strong>fusi<strong>on</strong>.<br />

285


It is especially important to disable most chord taps so novices can rest fewer than<br />

ve ngers without generating spurious comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s or mouse clicks. Novices trying<br />

the system have been observed to accidentally activate the 3- nger chords during<br />

typing <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting. I have these mapped to Escape <strong>on</strong> the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

double-click <strong>on</strong> the right, <str<strong>on</strong>g>and</str<strong>on</strong>g> while these may bec<strong>on</strong>venient for me, Escape is also<br />

a key <strong>on</strong> the key layout, <str<strong>on</strong>g>and</str<strong>on</strong>g> successive nger pair taps also emulate double-click,<br />

so novices can access these comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s more safely without having them mapped<br />

as chord taps. Only the right h<str<strong>on</strong>g>and</str<strong>on</strong>g> nger pair tap mapped to primary mouse<br />

clicking is really needed for basic operati<strong>on</strong>. The thumb- nger tap for the copy<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> is particularly useful <str<strong>on</strong>g>and</str<strong>on</strong>g> less likely to be activated accidentally than<br />

three or four nger chord taps. Once a pers<strong>on</strong> becomes more comfortable with<br />

the synchr<strong>on</strong>izati<strong>on</strong> requirements of MTS operati<strong>on</strong>, they can map <str<strong>on</strong>g>and</str<strong>on</strong>g> memorize<br />

additi<strong>on</strong>al chord taps as they see t.<br />

6.1.5.1 Bene ts of Higher Frame Rates<br />

More selective touch ltering can also prevent accidental activati<strong>on</strong>s. To be<br />

reliable, such ltering will require proximity image frame rates <strong>on</strong> the order of 100<br />

fps instead of the current 50 fps. For example, the proximity threshold for key<br />

activati<strong>on</strong> can be raised given higher frame rates without requiring more forceful<br />

ngertip impacts by the operator. This threshold is currently set to about <strong>on</strong>e-<br />

sixth the average ngertip tap proximity, not because some key taps are that light,<br />

but because the peaks in proximity of extremely quick taps can fall between the<br />

current 20 ms scanning cycles. Since the peaks in proximity as the nger bottoms<br />

out can be missed, sometimes <strong>on</strong>ly the slight proximities at the ends of the tap life<br />

cycle are detected. Raising this threshold will lower the likelihood that accidental<br />

brushes against the surface will be interpreted as keypresses. Other opti<strong>on</strong>s include<br />

measuring the impulsiveness of nger touchdown to ignore hesitant, unintenti<strong>on</strong>al<br />

286


taps or stringently adapting debounce timing requirements to the operator's average<br />

tap speed.<br />

Synchr<strong>on</strong>izati<strong>on</strong> detecti<strong>on</strong> (Secti<strong>on</strong> 5.2.2) can also bene t from a higher frame<br />

rate. Sometimes when tapping two horiz<strong>on</strong>tally adjacent keys in quick successi<strong>on</strong>,<br />

taps will be nearly synchr<strong>on</strong>ous, causing them to be err<strong>on</strong>eously interpreted as a<br />

nger pair chord tap. Since the most frequent characters are scattered so far apart<br />

in the QWERTY key layout, this does not happen that often. I observed it a couple<br />

times for the 'oi' bigram. However, in the Dvorak layout frequent bigrams are much<br />

closer together, the most notable being 'th' allocated to the middle <str<strong>on</strong>g>and</str<strong>on</strong>g> index nger<br />

of the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>. Therefore if I am not careful about my nger timings, the system<br />

often misinterprets 'the' as a primary mouse click followed by an `e`. The 50 fps<br />

frame rate is simply too slow to reliably determine that my 'th' taps are in fact<br />

slightly asynchr<strong>on</strong>ous.<br />

6.1.6 <str<strong>on</strong>g>Chordic</str<strong>on</strong>g> <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g> Performance<br />

Even though I have <strong>on</strong>ly used the chordic manipulati<strong>on</strong> system for editing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

desktop navigati<strong>on</strong> so far <str<strong>on</strong>g>and</str<strong>on</strong>g> have not yet explored its 3D navigati<strong>on</strong> potential, I<br />

have found it to be just as e ortless, e cient,<str<strong>on</strong>g>and</str<strong>on</strong>g> uidasIhadenvisi<strong>on</strong>ed. I quickly<br />

became so accustomed to the ability toswitch instantaneously between typing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pointing, dragging or scrolling as to take it for granted. I frequently used the<br />

channels for mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> text cursor pointing, selecti<strong>on</strong> by mouse or text cursor, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

scrolling. Though the channels for manipulati<strong>on</strong> of Visual Slickedit features such<br />

as word <str<strong>on</strong>g>and</str<strong>on</strong>g> line completi<strong>on</strong> or in nite undo <str<strong>on</strong>g>and</str<strong>on</strong>g> redo were not used as frequently,<br />

being able to \roll back" a document to any previous stage of editing as easily as<br />

moving a cursor was intriguing. Using a st<str<strong>on</strong>g>and</str<strong>on</strong>g>-al<strong>on</strong>e pointing device now seems<br />

oddly primitive <str<strong>on</strong>g>and</str<strong>on</strong>g>inhibiting.<br />

While I became unc<strong>on</strong>sciously dependent <strong>on</strong> the cursor manipulati<strong>on</strong> chan-<br />

nels, performing the <strong>on</strong>e-shot comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures is positively fun because they can<br />

287


accomplish so much withquick series of small, precise moti<strong>on</strong>s. In other words, they<br />

enable the \chunking <str<strong>on</strong>g>and</str<strong>on</strong>g> phrasing" of gestures espoused by Buxt<strong>on</strong> [20{22]. As a<br />

replacement for keyboard hotkeys <str<strong>on</strong>g>and</str<strong>on</strong>g> macros, they are just as easy to learn, but<br />

require much less e ort than pressing a key. Moreover, since recogniti<strong>on</strong> of chordic<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures is independent of absolute positi<strong>on</strong> <strong>on</strong> the surface, they can al-<br />

ways be performed at the current h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> without reaching or looking for a<br />

particular regi<strong>on</strong> of the surface.<br />

Tables 6.1{6.4 detail the chord tap <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> mappings for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> which<br />

were programmed into the MTS during my trial. Refer back to Pages 9{10 for<br />

Tables 1.1{1.2 c<strong>on</strong>taining legends for the chord channel <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong> ic<strong>on</strong>s.<br />

The mapping tables list the nger combinati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s necessary to<br />

generate the noted comm<str<strong>on</strong>g>and</str<strong>on</strong>g> or manipulati<strong>on</strong>. Each comm<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> is<br />

rated according to how useful it was for me, i.e., how frequently I performed it, how<br />

useful or necessary it might be for general GUI manipulati<strong>on</strong> by novices, <str<strong>on</strong>g>and</str<strong>on</strong>g> how<br />

safe it is for novices. By safety I mean how pr<strong>on</strong>e the nger combinati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong><br />

is to accidental activati<strong>on</strong> or recogniti<strong>on</strong> errors, not how erg<strong>on</strong>omic it is. Ratings<br />

are <strong>on</strong> a scale of 0-5, with 0 being the worst <str<strong>on</strong>g>and</str<strong>on</strong>g> 5 the best. Combinati<strong>on</strong>s which<br />

have a high novice necessity rating but alow novice safety rating de nitely require<br />

further improvements to the moti<strong>on</strong> or accidental activati<strong>on</strong> lters.<br />

Ihave used the <strong>on</strong>e-shot comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures for word search <str<strong>on</strong>g>and</str<strong>on</strong>g> replace, le<br />

save, window close, browser back <str<strong>on</strong>g>and</str<strong>on</strong>g> forward, <str<strong>on</strong>g>and</str<strong>on</strong>g> code compile often enough for<br />

them to become automatic. However, it is the cut, copy, <str<strong>on</strong>g>and</str<strong>on</strong>g> paste gestures which<br />

really transform the editing experience since they functi<strong>on</strong> so well in t<str<strong>on</strong>g>and</str<strong>on</strong>g>em with<br />

the cursor manipulati<strong>on</strong>s. For example, after performing a right h<str<strong>on</strong>g>and</str<strong>on</strong>g> 3- ngertip<br />

drag to emulate object selecti<strong>on</strong> via mouse or a left h<str<strong>on</strong>g>and</str<strong>on</strong>g> 3- ngertip drag to emulate<br />

text selecti<strong>on</strong> via arrowkeys, <strong>on</strong>e can copy the selected object with a thumb- ngertip<br />

chord tap, repositi<strong>on</strong> the mouse or text cursor with a ngertip pair manipulati<strong>on</strong> by<br />

288


Right<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Table 6.1: Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels.<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Useful<br />

for<br />

Author<br />

(0-5)<br />

Needed<br />

by<br />

Novices<br />

(0-5)<br />

Safe<br />

for<br />

Novices<br />

(0-5)<br />

Primary mouse butt<strong>on</strong><br />

click. 5 5 3<br />

Mouse cursor manipulati<strong>on</strong>.<br />

5 5 5<br />

Primary mouse butt<strong>on</strong><br />

double-click. 5 3 1<br />

Dragging/Selecti<strong>on</strong> via<br />

primary mouse butt<strong>on</strong>. 5 5 4<br />

No mapping to avoid accidents.<br />

- - 0<br />

C<strong>on</strong>tinuous<br />

scrolling/panning of<br />

current window. 5 4 4<br />

Key layout homing. 2 1 1<br />

No mapping to tolerate<br />

shifts in resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture.<br />

- - 0<br />

289


Left<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Table 6.2: Mappings for left h<str<strong>on</strong>g>and</str<strong>on</strong>g> manipulati<strong>on</strong> channels.<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Useful<br />

for<br />

Author<br />

(0-5)<br />

Needed<br />

by<br />

Novices<br />

(0-5)<br />

Safe<br />

for<br />

Novices<br />

(0-5)<br />

No mapping to avoid accidents.<br />

- - 1<br />

Text cursor manipulati<strong>on</strong><br />

via arrow keys. 4 3 3<br />

Escape key (cancel comm<str<strong>on</strong>g>and</str<strong>on</strong>g>).<br />

1 1 0<br />

Selecti<strong>on</strong> via text cursor<br />

(arrow keys). 4 3 3<br />

No mapping to avoid accidents.<br />

- - 0<br />

Page Up <str<strong>on</strong>g>and</str<strong>on</strong>g> Page Down<br />

keys. 4 3 2<br />

Home (beginning of line)<br />

key. 2 2 2<br />

End (of line) key. 2 2 2<br />

Key layout homing. 2 1 1<br />

No mapping to tolerate<br />

shifts in resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture.<br />

- - 0<br />

290


Right<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Table 6.3: Mappings for right h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels.<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Useful<br />

for<br />

Author<br />

(0-5)<br />

Needed<br />

by<br />

Novices<br />

(0-5)<br />

Safe<br />

for<br />

Novices<br />

(0-5)<br />

Cut (to clipboard). 4 4 5<br />

Copy (to clipboard). 5 5 3<br />

Paste (from clipboard). 5 5 5<br />

Interactive word completi<strong>on</strong>.<br />

4 2 2<br />

Popup word completi<strong>on</strong><br />

list. 1 1 2<br />

Sec<strong>on</strong>dary mouse butt<strong>on</strong><br />

click (popupmenu). 3 4 3<br />

Dragging/Selecti<strong>on</strong> via<br />

sec<strong>on</strong>dary mouse butt<strong>on</strong>. 3 3 5<br />

Popup applicati<strong>on</strong> window<br />

list. 3 2 2<br />

New le. 3 2 4<br />

Open le dialog. 1 2 4<br />

Save the current le. 4 2 4<br />

Close the current le or<br />

subwindow. 4 2 4<br />

291


Left<br />

<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g><br />

Channel<br />

Table 6.4: Mappings for left h<str<strong>on</strong>g>and</str<strong>on</strong>g> comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture channels.<br />

Chord<br />

Moti<strong>on</strong><br />

GUI<br />

Acti<strong>on</strong><br />

Useful<br />

for<br />

Author<br />

(0-5)<br />

Needed<br />

by<br />

Novices<br />

(0-5)<br />

Safe<br />

for<br />

Novices<br />

(0-5)<br />

Cut (to clipboard). 4 4 5<br />

Copy (to clipboard). 5 5 3<br />

Paste (from clipboard). 5 5 5<br />

Undo or Redo. 3 2 2<br />

Alt (to access menubar). 1 1 2<br />

-> (the pointer punctuati<strong>on</strong><br />

for C code). 3 0 4<br />

(the underscore character).<br />

3 1 4<br />

Find (F). 3 2 4<br />

Replace (R). 3 2 4<br />

Make project (compile<br />

code). 3 1 4<br />

Next or previous subwindow.<br />

1 1 3<br />

Next or previous virtual<br />

desktop. 1 1 3<br />

292


either h<str<strong>on</strong>g>and</str<strong>on</strong>g>, <str<strong>on</strong>g>and</str<strong>on</strong>g> paste the selecti<strong>on</strong> with a thumb- ngertip anti-pinch, all with the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> nearly staying in place. While this sequence may sound complex, the entire<br />

sequence can be performed in 3-5 sec<strong>on</strong>ds if the selecti<strong>on</strong> is <strong>on</strong>ly to be moved a<br />

short distance, about half the time it would take if cut <str<strong>on</strong>g>and</str<strong>on</strong>g> paste butt<strong>on</strong>s had to<br />

be accessed o a toolbar. These MTS editing gestures match the c<strong>on</strong>venience of<br />

the drag-<str<strong>on</strong>g>and</str<strong>on</strong>g>-drop capability of the Macintosh <str<strong>on</strong>g>and</str<strong>on</strong>g> the middle-mouse-butt<strong>on</strong> paste<br />

feature comm<strong>on</strong> to the X11 Windowing System, yet they are much more exible<br />

since <strong>on</strong>e can choose to either cut or copy the selected text to the clipboard <str<strong>on</strong>g>and</str<strong>on</strong>g> not<br />

worry about losing the clipboard after moving the text cursor.<br />

Replacing a word with another word from a di erent paragraph is a partic-<br />

ularly quick variati<strong>on</strong> of such copy <str<strong>on</strong>g>and</str<strong>on</strong>g> paste sequences. One simply performs a<br />

3- ngertip tap to emulate double-click <str<strong>on</strong>g>and</str<strong>on</strong>g> select the replacement word, copies the<br />

selecti<strong>on</strong> with a thumb- ngertip chord tap, moves the mouse over the word to be<br />

replaced, performs another 3- ngertip chord tap to select it, <str<strong>on</strong>g>and</str<strong>on</strong>g> a thumb- nger<br />

anti-pinch to paste. The <strong>on</strong>ly moti<strong>on</strong>s in the sequence limited by Fitts' law (Sec-<br />

ti<strong>on</strong> 5.1.1) involve positi<strong>on</strong>ing the mouse cursor over the words. The other moti<strong>on</strong>s<br />

are instantaneous, open-loop gestures una ected by Fitts' law.<br />

The best evidence I can give oftheintegrati<strong>on</strong> e ciency of cursor manipula-<br />

ti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> editing comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> the MTS is that I now relymuch more <strong>on</strong> the mouse<br />

cursor than I ever did before. Always before I shunned editing with the mouse<br />

cursor in favor of keyboard hotkeys <str<strong>on</strong>g>and</str<strong>on</strong>g> the text cursor manipulati<strong>on</strong> rollers I had<br />

installed <strong>on</strong> my Kinesis keyboard. Even using a touchpad next to the Kinesis was<br />

just too ine cient <str<strong>on</strong>g>and</str<strong>on</strong>g> tiring for c<strong>on</strong>stant manipulati<strong>on</strong>s. But since the <strong>on</strong>e-shot<br />

editing gestures integrate equally well with mouse or text cursor manipulati<strong>on</strong> <strong>on</strong><br />

the MTS, I am no l<strong>on</strong>ger reluctant to use the mouse cursor. The following factors<br />

may also c<strong>on</strong>tribute to my new tolerance for the mouse cursor:<br />

the MTS provides a much larger surface over which to manipulate than the<br />

293


tiny touchpads.<br />

the MTS dedicates a manipulati<strong>on</strong> channel to emulati<strong>on</strong> of double-clicks <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

tap drags so the operator need not perform these awkward moti<strong>on</strong>s.<br />

the MTS eliminates homing moti<strong>on</strong>s between the mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard.<br />

the 4- ngertip scrolling channels obviate tasks such as scrollbar manipulati<strong>on</strong><br />

which are awkward using the mouse cursor.<br />

The freedom to use any combinati<strong>on</strong> of two ngertips for pointing also turns<br />

out to be quite a bo<strong>on</strong>. I often alternate between the index <str<strong>on</strong>g>and</str<strong>on</strong>g> middle pair, the<br />

middle <str<strong>on</strong>g>and</str<strong>on</strong>g> ring ngertip pair, <str<strong>on</strong>g>and</str<strong>on</strong>g> the ring <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky ngertip pair to vary my<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> posture. Such alternati<strong>on</strong> does not seem to cause any cognitive c<strong>on</strong>fusi<strong>on</strong>�<br />

remembering to use a particular number of ngertips seems as easy or easier than<br />

remembering to use a particular set of ngertips. I often prefer using the ring <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

pinky pair because they require less forearm pr<strong>on</strong>ati<strong>on</strong> than sliding the index <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

middle ngers while holding up or curling under the ring <str<strong>on</strong>g>and</str<strong>on</strong>g> pinky ngers.<br />

6.2 Future Evaluati<strong>on</strong>s<br />

Formal evaluati<strong>on</strong> of the MTS can proceed al<strong>on</strong>g three tracks, the rst being<br />

short-term usability trials, the sec<strong>on</strong>d being RSI case studies, <str<strong>on</strong>g>and</str<strong>on</strong>g> the third being<br />

fatigue studies.<br />

6.2.1 Usability Trials<br />

The goal of usability trials would be to measure how quickly people learn<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> adapt to the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g> how e cient they become at interactive editing tasks.<br />

Depending <strong>on</strong> the target market, the tasks could involve editing term papers, Java<br />

source code, CAD drawings, or color images. A trial would c<strong>on</strong>sist of four ninety-<br />

minute sessi<strong>on</strong>s spread over four c<strong>on</strong>secutive days, plus a follow-up sessi<strong>on</strong> a week<br />

294


Table 6.5: Schedule for MTS usability study.<br />

Activity Day 1 Day 2 Day 3 Day 4 Day 11<br />

p<br />

Pretest: St<str<strong>on</strong>g>and</str<strong>on</strong>g>ard<br />

p p p p p<br />

MTS<br />

p<br />

Tutorial<br />

p p p p p<br />

Practice<br />

p p<br />

Post-test: St<str<strong>on</strong>g>and</str<strong>on</strong>g>ard<br />

p p p p p<br />

MTS<br />

later to measure retenti<strong>on</strong> [128, 133] of learned chordic manipulati<strong>on</strong> skills. About<br />

twelve students who were already familiar with software for the chosen editing task<br />

would participate in each study. To encourage uniformity in the subject's back-<br />

grounds, the students would preferably be members of the same compositi<strong>on</strong>, pro-<br />

gramming, drafting or art class, <str<strong>on</strong>g>and</str<strong>on</strong>g> the trial would take place in the middle of the<br />

semester when they were already familiar with the requisite editing software.<br />

Table 6.5 shows the daily sessi<strong>on</strong> schedules for the usability trials. At the<br />

beginning of the rst sessi<strong>on</strong>, subjects' performance with a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard mouse <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

keyboard would be evaluated for about 15 minutes. Then untrained performance<br />

<strong>on</strong> the MTS would be evaluated for the same amount of time. The performance<br />

measure would be the time taken to make pre-speci ed changes to a sample docu-<br />

ment. Err<strong>on</strong>eous mouse or key activati<strong>on</strong>s would also be logged. For the next 15<br />

minutes the subjects would participate in an interactive tutorial of MTS operati<strong>on</strong>s<br />

such as typing, pointing, dragging, <str<strong>on</strong>g>and</str<strong>on</strong>g> scrolling. They would also be taught <strong>on</strong>e-<br />

shot gestures for a few comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as cut, copy, paste, le save, <str<strong>on</strong>g>and</str<strong>on</strong>g> le close.<br />

For the following 30 minutes, subjects would be allowed to work <strong>on</strong> st<str<strong>on</strong>g>and</str<strong>on</strong>g>ardized<br />

class assignments using the MTS to develop familiarity withit. During the last 15<br />

minutes of the sessi<strong>on</strong>, subjects' performance <strong>on</strong> the MTS would be evaluated with<br />

another sample document.<br />

295


Each sessi<strong>on</strong> <strong>on</strong> subsequent days would begin with a 15-minute evaluati<strong>on</strong> <strong>on</strong><br />

the MTS, allow unc<strong>on</strong>trolled use of the MTS <strong>on</strong> class assignments for 60 minutes,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> end with another performance evaluati<strong>on</strong> in the last 15 minutes. To c<strong>on</strong>trol<br />

for learning of the editing task rather than learning of MTS operati<strong>on</strong>, the fourth<br />

sessi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> retenti<strong>on</strong> sessi<strong>on</strong>s would end with another evaluati<strong>on</strong> of performance<br />

<strong>on</strong> st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard. At the end of the rst, fourth, <str<strong>on</strong>g>and</str<strong>on</strong>g> retenti<strong>on</strong><br />

sessi<strong>on</strong>s, subjects would be asked to ll out a questi<strong>on</strong>naire with their impressi<strong>on</strong> of<br />

MTS operati<strong>on</strong>.<br />

To discourage growth in familiarity with the evaluati<strong>on</strong> tasks, a di erent sam-<br />

ple document requiring similar changes would be used in each successive evaluati<strong>on</strong>.<br />

Also, sample documents would be presented to each subject in di erent, r<str<strong>on</strong>g>and</str<strong>on</strong>g>om<br />

order across sessi<strong>on</strong>s to c<strong>on</strong>trol for variati<strong>on</strong>s in the di culty of edits to each docu-<br />

ment. To force subjects to adopt the most basic <strong>on</strong>e-shot comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gestures such<br />

as copy <str<strong>on</strong>g>and</str<strong>on</strong>g> paste, alternative methods for invoking the comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as menus<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> hotkeys would be disabled for all sessi<strong>on</strong>s.<br />

Such a study would establish the learning curve for MTS adopti<strong>on</strong> by people<br />

already familiar with computers. Logs of all h<str<strong>on</strong>g>and</str<strong>on</strong>g> activity <strong>on</strong> the MTS during the<br />

evaluati<strong>on</strong>s would also indicate which MTS activities are the most troublesome to<br />

learn. Finally, such astudywould determine if people can achieve greater e ciency<br />

<strong>on</strong> the MTS or some subset of MTS operati<strong>on</strong> than <strong>on</strong> a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboard-mouse<br />

combinati<strong>on</strong> in just a few days.<br />

6.2.2 RSI Case Studies<br />

The subjects in the RSI case studies would be composed of individuals like<br />

myself who have a history of moderate-to-severe repetitive strain injuries to the<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s or forearms. Subjects would maintain a daily log of pain symptoms through-<br />

out the study. They would also be asked to ll out using the computer a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard<br />

pain questi<strong>on</strong>naire or scale [18, 28, 124] at the beginning <str<strong>on</strong>g>and</str<strong>on</strong>g> end of each work day.<br />

296


Subjects would c<strong>on</strong>tinue to use their c<strong>on</strong>venti<strong>on</strong>al input devices during the rst week<br />

or two of the study to rmly establish reference symptom levels. Subjects would<br />

receive two <strong>on</strong>e-<strong>on</strong>-<strong>on</strong>e tutorial sessi<strong>on</strong>s to learn basic moti<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> postures so they<br />

could use the MTS to their best advantage. Then subjects would adopt the MTS<br />

for all computer use <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tinue to use it for several weeks.<br />

The MTS software would be adapted as necessary to accomodate particularly<br />

severe injuries such asmy left index nger tend<strong>on</strong>itis. <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> activity logging software<br />

<strong>on</strong> the MTS would keep track of total repetiti<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> intensity of usage each dayso<br />

subjects would not have to estimate their time at the computer each day. Such logs<br />

might expose phenomena such as increases in endurance or daily MTS usage while<br />

reported pain remained c<strong>on</strong>stant. After pain symptoms <str<strong>on</strong>g>and</str<strong>on</strong>g> MTS usage patterns<br />

had reached a plateau for at least two weeks, subjects would be asked to switch back<br />

to their former input devices for a week or two to check for recurrence or changes<br />

in symptoms.<br />

Unfortunately, c<strong>on</strong>ducting truly \blind" studies <strong>on</strong> the erg<strong>on</strong>omic e ective-<br />

ness of the MTS would be impossible because its shape <str<strong>on</strong>g>and</str<strong>on</strong>g> feel are radically di erent<br />

than those of other input devices. One way to root out possible placebo e ects from<br />

switching to a new device would be to have some subjects switch from their st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard<br />

keyboard to an equally radical keyboard such as the Kinesis instead of the MTS.<br />

Presumably all subjects would experience short-term worsening of symptoms while<br />

getting used to their new devices, but medium-term improvement from either device<br />

would probably follow. The hypothesis would be that in the l<strong>on</strong>g-term, the minimal<br />

activati<strong>on</strong> force of the MTS would allow more complete recovery, especially under<br />

heavy workloads.<br />

297


6.2.3 Typing Fatigue Studies<br />

One goal of the fatigue study would be to determine how the muscle work<br />

load during typing <strong>on</strong> the MTS is distributed about the body. Since chordic ma-<br />

nipulati<strong>on</strong>s can be performed with at least part of the h<str<strong>on</strong>g>and</str<strong>on</strong>g> weight supported by<br />

the surface most of the time, <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong>s require minimal activati<strong>on</strong><br />

force, they are expected to be less fatiguing than any other method of graphical<br />

manipulati<strong>on</strong> or comm<str<strong>on</strong>g>and</str<strong>on</strong>g> gesture entry. Similarly, nger exor exerti<strong>on</strong> will al-<br />

most surely be minimal when typing <strong>on</strong> the MTS. However, it is possible that nger<br />

extensor <str<strong>on</strong>g>and</str<strong>on</strong>g> shoulder muscle exerti<strong>on</strong> may be more than for a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboard<br />

during fast typing since the ngers must remain fully suspended above the surface<br />

to make quick strokes. This is likely to depend <strong>on</strong> whether subjects rest their palms<br />

<strong>on</strong> the surface while typing, <str<strong>on</strong>g>and</str<strong>on</strong>g>iftheydo rest their palms, the downward slope of<br />

the surface may be important. Therefore the study should measure through muscle<br />

electrical activity the relative exerti<strong>on</strong>s of various muscle groups during typing <strong>on</strong><br />

the MTS. It would also measure how patterns of h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting <str<strong>on</strong>g>and</str<strong>on</strong>g> nger impact<br />

forces change as subjects adapt to the MTS.<br />

Ten subjects with good typing skills such as secretaries or transcripti<strong>on</strong> typ-<br />

ists would be chosen. The study could be modeled closely after Gerard's l<strong>on</strong>g term<br />

studies [45] <strong>on</strong> the e ects of keyswitch sti ness <str<strong>on</strong>g>and</str<strong>on</strong>g> auditory feedback <strong>on</strong> typing<br />

forces. The MTS would be supported by load cells to m<strong>on</strong>itor nger impact force<br />

during typing <str<strong>on</strong>g>and</str<strong>on</strong>g> the degree of resting h<str<strong>on</strong>g>and</str<strong>on</strong>g> support. During evaluati<strong>on</strong> sessi<strong>on</strong>s,<br />

subjects would be out tted with EMG (electromyogram) sensors <strong>on</strong> selected nger<br />

exor, nger extensor, shoulder, <str<strong>on</strong>g>and</str<strong>on</strong>g> neck muscles to m<strong>on</strong>itor the electrical activity<br />

which drives muscles.<br />

During the rst <strong>on</strong>e hour evaluati<strong>on</strong>s sessi<strong>on</strong>, subjects would be trying to<br />

type <strong>on</strong> the MTS for the rst time. Muscle tensi<strong>on</strong> would likely be heightened<br />

298


during this sessi<strong>on</strong> while subjects were trying to adapt to surface typing. On fol-<br />

lowing days subjects would return for 15-minute EMG evaluati<strong>on</strong>s at the beginning<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> end of 90-minute MTS typing practice sessi<strong>on</strong>s. To reduce the accumulati<strong>on</strong> of<br />

high frequency EMG data, <strong>on</strong>ly the mean, st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard deviati<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> median EMG<br />

frequency computed over two-minute overlapping windows would be stored. De-<br />

creases in median EMG frequency are <strong>on</strong>e possible measure of fatigue in fast twitch<br />

muscle bers [144, 165]. Alternatively, near infrared spectroscopy [113] could mea-<br />

sure changes in tissue oxygenati<strong>on</strong> levels to infer fatigue. After a few days of such<br />

sessi<strong>on</strong>s, each subject would be given an MTS for use <strong>on</strong> the job at their pers<strong>on</strong>al<br />

workstati<strong>on</strong>s. They would return for two-hour evaluati<strong>on</strong>s at <strong>on</strong>e-week intervals for<br />

a m<strong>on</strong>th to measure l<strong>on</strong>g-term adapti<strong>on</strong> of muscle exerti<strong>on</strong> during typing <strong>on</strong> the<br />

MTS.<br />

Analysis of MTS load cell forces during successive evaluati<strong>on</strong> sessi<strong>on</strong>s would<br />

indicate whether subjects became more comfortable resting h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <strong>on</strong> the MTS over<br />

time. Analysis of muscle exerti<strong>on</strong> patterns versus h<str<strong>on</strong>g>and</str<strong>on</strong>g> resting patterns could es-<br />

tablish the strength of the link between h<str<strong>on</strong>g>and</str<strong>on</strong>g> suspensi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> muscle exerti<strong>on</strong>. This<br />

could also establish whether nger extensor exerti<strong>on</strong> is minimized with resting palms<br />

or oating palms. Typing activity patterns observed in subjects with especially low<br />

exerti<strong>on</strong> could suggest ways for all MTS operators to avoid fatigue from oating<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. Comparis<strong>on</strong> of EMG's between the rst <str<strong>on</strong>g>and</str<strong>on</strong>g> last sessi<strong>on</strong> would indicate how<br />

much extra tensi<strong>on</strong> people will experience during initial adapti<strong>on</strong> to the MTS <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

how quickly, if ever, such tensi<strong>on</strong> drops to negligible levels.<br />

6.3 Future Directi<strong>on</strong>s for MTS Development<br />

6.3.1 Increased Array Resoluti<strong>on</strong><br />

Higher resoluti<strong>on</strong> electrode arrays should permit segmentati<strong>on</strong> of more spe-<br />

cialized h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s such as pen grips or sts. The pen grip c<strong>on</strong> gurati<strong>on</strong><br />

(Figure 2.10), in which outer ngers curl under toward the palm so their knuckles<br />

299


touch the surface, may o er better index nger c<strong>on</strong>trol for h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing <str<strong>on</strong>g>and</str<strong>on</strong>g> draw-<br />

ing applicati<strong>on</strong>s than the \default" h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> (Figure 2.8), in which outer<br />

ngertips are normal to the surface. Preliminary experiments suggest that if the<br />

pinched ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> outer knuckles are segmented properly, the existing nger identi-<br />

cati<strong>on</strong> system will correctly identify knuckles in a pen grip. Simple c<strong>on</strong>tact size <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

vertical separati<strong>on</strong> measurements [162] can reliably distinguish the outer knuckles<br />

of the pen grip from the outer ngertips of the partially closed h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong><br />

(Figure 2.9). Knowing that pen grips are distinguishable from the h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gura-<br />

ti<strong>on</strong>s used in typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong>, <strong>on</strong>e can envisi<strong>on</strong> a system in which<br />

the operator switches to h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing mode with a h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong> change just<br />

as easy as the c<strong>on</strong> gurati<strong>on</strong> changes which switchbetween typing <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing with<br />

the current MTS prototype. Preferably the index nger would be tracked as the<br />

inking stylus so the operator would not even have to stop <str<strong>on</strong>g>and</str<strong>on</strong>g> pick up an external<br />

stylus.<br />

6.3.2 <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>writing Recogniti<strong>on</strong><br />

Integrati<strong>on</strong> of h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing recogniti<strong>on</strong> would assuage certain de ciencies in<br />

typing <str<strong>on</strong>g>and</str<strong>on</strong>g> chordic manipulati<strong>on</strong> <strong>on</strong> the MTS. Operators who have trouble typing<br />

<strong>on</strong> the MTS or who do not know how to touch type could rely <strong>on</strong> the h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing<br />

mode for text entry. Good typists might rely <strong>on</strong> it <strong>on</strong>ly for entry of punctuati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

symbols which are either hard to reach <strong>on</strong> the key layout without looking down or<br />

which do not exist at all <strong>on</strong> the key layout. Alternatively, h<str<strong>on</strong>g>and</str<strong>on</strong>g>writing mode could be<br />

used to invoke comm<str<strong>on</strong>g>and</str<strong>on</strong>g> macros by drawing particular alphabetic symbols as in Pen<br />

for OS/2 [142]. This could supplement thechordic manipulati<strong>on</strong> gestures which can<br />

be performed more simply <str<strong>on</strong>g>and</str<strong>on</strong>g> quickly but lack the mnem<strong>on</strong>ic associati<strong>on</strong>s possible<br />

with alphabetic symbols. Preferably, chordic manipulati<strong>on</strong>s would still invoke the<br />

most frequent comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s such as cut, copy, <str<strong>on</strong>g>and</str<strong>on</strong>g> paste, while h<str<strong>on</strong>g>and</str<strong>on</strong>g>written symbols<br />

would be mapped to a larger set of less-frequently-used comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s.<br />

300


6.3.3 Universal Access<br />

People with h<str<strong>on</strong>g>and</str<strong>on</strong>g>icaps such as loss of ne motor c<strong>on</strong>trol in the ngers may<br />

have trouble performing the precise chordic manipulati<strong>on</strong>s described in Chapter 5.<br />

For these people the system could be modi ed to recognize grosser manipulati<strong>on</strong>s<br />

such as rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> translati<strong>on</strong> of a st. Because the h<str<strong>on</strong>g>and</str<strong>on</strong>g> parts in a st are closer<br />

together than in a chording h<str<strong>on</strong>g>and</str<strong>on</strong>g>, the st would also require ner sensor arrays, at<br />

least in the vertical dimensi<strong>on</strong>, for reliable segmentati<strong>on</strong>.<br />

6.3.4 Fault Tolerant Segmentati<strong>on</strong><br />

Segmentati<strong>on</strong> algorithms which are more tolerant of individual sensor failures<br />

should also be investigated as ner sensor arrays become available. A single mal-<br />

functi<strong>on</strong>ing electrode sensor which produces r<str<strong>on</strong>g>and</str<strong>on</strong>g>om, zero, or full scale proximity<br />

measurements can easily disrupt the outward search for c<strong>on</strong>tact boundaries from<br />

local maxima (Secti<strong>on</strong> 3.2.5). This does not really matter <strong>on</strong> the relatively coarse<br />

sensor array of the current prototype because even if the segmentati<strong>on</strong> search man-<br />

aged to c<strong>on</strong>tinue past a bad electrode to nd the correct c<strong>on</strong>tact boundary, a single<br />

bad electrode could still perturb the c<strong>on</strong>tact centroid so much as to make accurate<br />

pointing or typing impossible near the faulty electrode. However, as electrodes be-<br />

come smaller in ner sensor arrays, any <strong>on</strong>e electrode will have a smaller in uence<br />

<strong>on</strong> the ngertip centroid. At sensor array pitches of 1 mm 1 mm, for example,<br />

failure of a single electrode should cause <strong>on</strong>ly barely noticeable biases in c<strong>on</strong>tact cen-<br />

troids. But with the current segmentati<strong>on</strong> search pattern which tests <strong>on</strong>ly nearest<br />

neighbor pixels, a single bad electrode under a nger could cause many electrodes<br />

in the same or adjacent rows to be falsely excluded from the search, precipitating<br />

major disturbances in the ngertip centroid even for ne arrays.<br />

301


6.3.5 Upgrading Operating Systems for High-DOF, Bimanual Manipu-<br />

lati<strong>on</strong><br />

The chordic manipulati<strong>on</strong>s introduced in Chapter 5 are <strong>on</strong>ly the most basic<br />

examples of the rich bimanual <str<strong>on</strong>g>and</str<strong>on</strong>g> high-DOF interacti<strong>on</strong>s enabled by the MTS.<br />

Though researchers have been dem<strong>on</strong>strating intuitive bimanual applicati<strong>on</strong>s such<br />

as tool glass menus [14], bezier curves [86, 147], <str<strong>on</strong>g>and</str<strong>on</strong>g> simultaneous pointing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

scrolling [171] for over a decade, few widely available input devices <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore few<br />

operating systems support them [61]. High-DOF devices such asdrawing tablets are<br />

currently supported by specialized drivers for drawing or pen computing applicati<strong>on</strong>.<br />

If the MTS can be manufactured cheaply enough, the MTS has the potential<br />

to bring bimanual manipulati<strong>on</strong> capability toamuch wider populati<strong>on</strong> of computer<br />

users. Totakefulladvantage of this capability, operating systems <str<strong>on</strong>g>and</str<strong>on</strong>g> graphical user<br />

interface frameworks should incorporate dual-stream manipulati<strong>on</strong> messages into<br />

event queues at the same level where mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard messages are currently<br />

processed. Current mouse messages in Windows 98, OS/2, XWindows, <str<strong>on</strong>g>and</str<strong>on</strong>g> Java<br />

support manipulati<strong>on</strong> in <strong>on</strong>ly two dimensi<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> selecti<strong>on</strong> by <strong>on</strong>ly three or four<br />

mouse butt<strong>on</strong>s. These message formats should be extended to at least six degrees of<br />

freedom of manipulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> at least ve independent butt<strong>on</strong>s, <strong>on</strong>e for each nger<br />

<strong>on</strong> a h<str<strong>on</strong>g>and</str<strong>on</strong>g>. For maximum exibility, a message format for absolute positi<strong>on</strong>ing<br />

should be opti<strong>on</strong>al as an alternative tovelocity or relative positi<strong>on</strong>ing formats. Such<br />

enhancements could aid acceptance of all 3D navigati<strong>on</strong>al devices, not just the MTS,<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> should be based <strong>on</strong> generalized classi cati<strong>on</strong>s of input devices such as Buxt<strong>on</strong>'s<br />

tax<strong>on</strong>omy [26]. These issues are partially addressed by drawing tablet protocols<br />

such as the XInput extensi<strong>on</strong>s [118] to XWindows. However, even the XInput format<br />

currently supports <strong>on</strong>ly 5DOF in a manner speci c to drawing tablets.<br />

The software enhancements necessary for dual stream input, i.e., simulta-<br />

neous two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed manipulati<strong>on</strong>, are more fundamental. Though most operating<br />

302


systems allow more than <strong>on</strong>e pointing device to be c<strong>on</strong>nected simultaneously, the<br />

moti<strong>on</strong> comm<str<strong>on</strong>g>and</str<strong>on</strong>g>s of each device are merged into <strong>on</strong>e stream so they all c<strong>on</strong>trol the<br />

same cursor. While having a mouse cursor for each h<str<strong>on</strong>g>and</str<strong>on</strong>g> would be even more c<strong>on</strong>-<br />

fusing than c<strong>on</strong>trolling the text cursor with the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> mouse with the right,<br />

research has shown [86] that it is useful <str<strong>on</strong>g>and</str<strong>on</strong>g> cognitively natural to pan, resize, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

orient the background with the n<strong>on</strong>-dominant h<str<strong>on</strong>g>and</str<strong>on</strong>g> while pointing with the dom-<br />

inant h<str<strong>on</strong>g>and</str<strong>on</strong>g>. People do this everyday without even noticing when they optimally<br />

orient a piece of paper with the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> while writing <strong>on</strong> it with the right.<br />

However, in current systems, the operator cannot scroll <str<strong>on</strong>g>and</str<strong>on</strong>g> move the pointer<br />

simultaneously yet independently because scrolling is usually activated as an aux-<br />

iliary butt<strong>on</strong> drag in the single pointer input stream. For such operati<strong>on</strong>s to be<br />

supported simultaneously, the input stream from the n<strong>on</strong>-dominant panning h<str<strong>on</strong>g>and</str<strong>on</strong>g><br />

needs to be kept separate <str<strong>on</strong>g>and</str<strong>on</strong>g> possibly processed <strong>on</strong> a separate thread from the<br />

dominant pointing stream, i.e., <strong>on</strong>e thread would move <str<strong>on</strong>g>and</str<strong>on</strong>g> redraw the background<br />

in resp<strong>on</strong>se to messages in the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> stream while the other thread moves <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

redraws the pointer or other foreground object being manipulated. Programmers<br />

will have to deal with interesting synchr<strong>on</strong>izati<strong>on</strong> issues such as arise when laying<br />

ink in a drawing applicati<strong>on</strong> by panning the background with the left h<str<strong>on</strong>g>and</str<strong>on</strong>g> while<br />

simultaneously sliding the inking tool with the right h<str<strong>on</strong>g>and</str<strong>on</strong>g>.<br />

6.4 C<strong>on</strong>clusi<strong>on</strong><br />

This dissertati<strong>on</strong> has dem<strong>on</strong>strated that, despite the limitati<strong>on</strong>s of proximity<br />

imaging, a large multi-touch surface can support a rich assortment of text entry,<br />

comm<str<strong>on</strong>g>and</str<strong>on</strong>g> entry, <str<strong>on</strong>g>and</str<strong>on</strong>g> graphical manipulati<strong>on</strong> methods in a precise <str<strong>on</strong>g>and</str<strong>on</strong>g> n<strong>on</strong>-fatiguing<br />

manner. Though the system occasi<strong>on</strong>ally misrecognizes the thumb or a palm or a<br />

directi<strong>on</strong>al slide, the frequency of these errors is already so small as to not frustrate<br />

the author under daily use. By phasing out parallelogram electrodes, increasing the<br />

frame rate, <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>tinuing to tune the nger <str<strong>on</strong>g>and</str<strong>on</strong>g> h<str<strong>on</strong>g>and</str<strong>on</strong>g> identi cati<strong>on</strong> algorithms,<br />

303


those errors which can be blamed <strong>on</strong> faulty recogniti<strong>on</strong> of somewhat ambiguous<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong> gurati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> moti<strong>on</strong>s will in all likelihood be eliminated entirely.<br />

Nevertheless, some human errors due to performance of the wr<strong>on</strong>g h<str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>-<br />

gurati<strong>on</strong> or moti<strong>on</strong> will always slip through. The price of integrating typing <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

4-DOF chordic manipulati<strong>on</strong>s so seamlessly is increased dem<str<strong>on</strong>g>and</str<strong>on</strong>g> for operator pre-<br />

cisi<strong>on</strong>: nger touchdowns must be better synchr<strong>on</strong>ized <str<strong>on</strong>g>and</str<strong>on</strong>g> nger exi<strong>on</strong>s more<br />

uniform than corresp<strong>on</strong>ding activities <strong>on</strong> st<str<strong>on</strong>g>and</str<strong>on</strong>g>-al<strong>on</strong>e devices. The author's expe-<br />

riences operating the MTS indicate that these requirements for precisi<strong>on</strong> are easy<br />

for a skilled-operator to meet <str<strong>on</strong>g>and</str<strong>on</strong>g> therefore well within the range of human capabil-<br />

ity. The questi<strong>on</strong>s that remain are: how hard will it be for novices to master these<br />

requirements for relatively precise nger moti<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> who will be willing to learn<br />

these chordic manipulati<strong>on</strong>s which can make interacti<strong>on</strong> with computers so much<br />

more uid? At the very least, the minimally-fatiguing nature of MTS activati<strong>on</strong><br />

o ers new hope for people su ering from repetitive strain injuries to ngers, wrists<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> forearms. At best, the combinati<strong>on</strong> of extensive graphical manipulati<strong>on</strong> capa-<br />

bility <str<strong>on</strong>g>and</str<strong>on</strong>g> support for legacy touch typing skill will make the MTS practical enough<br />

to replace both mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard in the pers<strong>on</strong>al computing tasks of the 21st<br />

Century.<br />

304


Appendix A<br />

ERGONOMICS FOR ENGINEERS<br />

Full evaluati<strong>on</strong> of any engineering design assumes an underst<str<strong>on</strong>g>and</str<strong>on</strong>g>ing of the<br />

physical limitati<strong>on</strong>s in each mechanism's materials. Human soft tissues are the most<br />

likely material to fail as a result of poor input device design <str<strong>on</strong>g>and</str<strong>on</strong>g> overuse. Therefore,<br />

the c<strong>on</strong>diti<strong>on</strong>s under which soft tissue damage accumulates should be understood<br />

before comparing device designs.<br />

A.1 Risk Factors for RSI<br />

Various epidemiological studies of industrial jobs have identi ed the following<br />

risk factors for repetitive strain injuries [87]: repeated <str<strong>on</strong>g>and</str<strong>on</strong>g> sustained exerti<strong>on</strong>s,<br />

forceful exerti<strong>on</strong>s, localized mechanical stress, posture, joint kinematics, recovery<br />

time, <str<strong>on</strong>g>and</str<strong>on</strong>g> exposure to low temperatures. Some of these risk factors apply <strong>on</strong>ly<br />

marginally to computer use. For example, localized mechanical force is not likely to<br />

be encountered unless the user rests the forearms <strong>on</strong> a sharp table edge or taps too<br />

hard <strong>on</strong> a surface. Likewise, low temperature is less of a c<strong>on</strong>cern now that computers<br />

no l<strong>on</strong>ger need to be kept in frigid rooms. However, repetitive <str<strong>on</strong>g>and</str<strong>on</strong>g> forceful exerti<strong>on</strong>,<br />

poor posture, <str<strong>on</strong>g>and</str<strong>on</strong>g> insu cient recovery time all c<strong>on</strong>tribute to input device overuse<br />

injuries such as tend<strong>on</strong>itis, tenosynovitis, epic<strong>on</strong>dylitis, DeQuervain's syndrome, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

carpal tunnel syndrome [37, 45, 117].<br />

A comm<strong>on</strong> comp<strong>on</strong>ent of these injuries is in ammati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> weakening of<br />

tend<strong>on</strong>s, which c<strong>on</strong>nect muscle to b<strong>on</strong>e, <str<strong>on</strong>g>and</str<strong>on</strong>g> of surrounding tissues. For exam-<br />

ple, tenosynovitis involves in ammati<strong>on</strong> of the tend<strong>on</strong> sheath. Epic<strong>on</strong>dylitis refers<br />

305


to in ammati<strong>on</strong> of the tissue where the nger exor <str<strong>on</strong>g>and</str<strong>on</strong>g> extensor muscles c<strong>on</strong>-<br />

nect to the elbow b<strong>on</strong>e. The painful nerve damage of tunnel syndromes can occur<br />

when swelling of nearby tend<strong>on</strong>s increases pressure <strong>on</strong> the nerves inside the tunnels<br />

through joints [120].<br />

A.2 The Role of Force Repetiti<strong>on</strong> in Soft Tissue Damage<br />

The tend<strong>on</strong> tissue itself is a viscoelastic matrix of collagen bers <str<strong>on</strong>g>and</str<strong>on</strong>g> ller<br />

cells. If too much tensile force is applied to the tend<strong>on</strong> or the tend<strong>on</strong> is stretched<br />

so often that the bers d<strong>on</strong>'t have timetosnapback, creep will occur, tearing some<br />

bers <str<strong>on</strong>g>and</str<strong>on</strong>g> weakening the matrix [37, 45]. Unlike b<strong>on</strong>es, which heal str<strong>on</strong>ger than<br />

the original when broken, damaged tend<strong>on</strong>s never fully regain their original strength<br />

because the replacement collagen bers are more elastic but weaker <str<strong>on</strong>g>and</str<strong>on</strong>g> oriented<br />

less e ectively than the originals.<br />

Because repetiti<strong>on</strong> prevents proper mechanical <str<strong>on</strong>g>and</str<strong>on</strong>g> physiological recovery,<br />

the degree of tend<strong>on</strong> damage is actually related to the product of the applied force<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> frequency, rather than the sum [37]. For example, risk of injury in jobs which<br />

require both high force <str<strong>on</strong>g>and</str<strong>on</strong>g> high repetiti<strong>on</strong> can be nearly thirty times higher than<br />

the risk from high-force/low-repetiti<strong>on</strong> or low-force/high-repetiti<strong>on</strong> jobs [137, 138].<br />

These data are thought to t a m<strong>on</strong>ot<strong>on</strong>ic increasing exposure-resp<strong>on</strong>se relati<strong>on</strong>-<br />

ship like the dose-resp<strong>on</strong>se relati<strong>on</strong>ship for pois<strong>on</strong>s, though the risk at intermediate<br />

activity levels has not been successfully measured [87]. Goldstein [53] hypothesizes<br />

that when the microtrauma from repetitive loads accumulates past a critical cumu-<br />

lative trauma threshold, l<strong>on</strong>g-term tissue damage <str<strong>on</strong>g>and</str<strong>on</strong>g> in ammatory processes set in.<br />

Resting allows the tissues to recover from microtrauma at an exp<strong>on</strong>ential rate, with<br />

partial recovery in sec<strong>on</strong>ds but full recovery taking days [84].<br />

The remaining risk factors amplify the e ects of repetiti<strong>on</strong> by further slowing<br />

recovery of tissue. Extreme joint postures compress tissues, thereby hindering blood<br />

circulati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> increasing fricti<strong>on</strong> between the tend<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> their sheaths [122]. For<br />

306


example, extreme wrist exi<strong>on</strong> or extensi<strong>on</strong> increases the uid pressure in the carpal<br />

canal. Sustained elevati<strong>on</strong> of canal pressure is in turn c<strong>on</strong>sidered both a sign <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

cause of carpal tunnel syndrome. Holding awkward postures may also require low-<br />

level static muscle c<strong>on</strong>tracti<strong>on</strong>. While dynamic muscle c<strong>on</strong>tracti<strong>on</strong> pumps blood<br />

in <str<strong>on</strong>g>and</str<strong>on</strong>g> out of the muscles, static c<strong>on</strong>tracti<strong>on</strong> keeps blood out, eventually causing<br />

oxygen <str<strong>on</strong>g>and</str<strong>on</strong>g> nutrient depleti<strong>on</strong> [54]. Strained tissue clearly cannot recover without<br />

ample oxygen <str<strong>on</strong>g>and</str<strong>on</strong>g> nutrients [113].<br />

While the gradual nature of these injuries makes the recovery rate <str<strong>on</strong>g>and</str<strong>on</strong>g> crit-<br />

ical cumulative trauma threshold very di cult to pinpoint, elevated physiological<br />

measures of fatigue have been observed at the moderate-force, high-repetiti<strong>on</strong> c<strong>on</strong>-<br />

diti<strong>on</strong>s typical of mouse <str<strong>on</strong>g>and</str<strong>on</strong>g> keyboard use. Johns<strong>on</strong> et al. [74] measured signi cant<br />

fatigue in the muscles which grip the sides of the mouse after 3 hours of mouse<br />

operati<strong>on</strong>. Even though the average gripping force was <strong>on</strong>ly 0.6% of maximum vol-<br />

untary c<strong>on</strong>tracti<strong>on</strong> (MVC), the \low frequency fatigue" persisted up to 40 minutes<br />

after mouse usage stopped. Murthy etal. [113] found mean oxygenati<strong>on</strong> of extensor<br />

carpi radialis brevis dropped to 89% of resting baseline after <strong>on</strong>e minute of 5% MVC<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> to 81% after 10% MVC. Gerard et al. [44] measured 5-9% MVC in nger exors<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> extensors during skilled typing <strong>on</strong> a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard keyboard, while exerti<strong>on</strong> dropped<br />

to 3-6% MVC <strong>on</strong> a Kinesis erg<strong>on</strong>omic keyboard. In both keyboards exerti<strong>on</strong> hovers<br />

around 5% MVC, a proposed threshold above which prol<strong>on</strong>ged exposure may cause<br />

overuse injury. A study of carpal tunnel pressure during ngertip loading by Rempel<br />

et al. [125] indicates that the peak ngertip forces encountered during typing can<br />

temporarily elevate carpal tunnel pressure as much as extreme wrist posture does.<br />

A.3 Activati<strong>on</strong> Forces of Input Devices<br />

The above analysis suggests that am<strong>on</strong>g c<strong>on</strong>venti<strong>on</strong>al input devices, the sus-<br />

tained force of gripping the mouse, sustained postural loads from reaching too far<br />

for the mouse, <str<strong>on</strong>g>and</str<strong>on</strong>g> the repetitive clicking of sti butt<strong>on</strong>s can c<strong>on</strong>tribute to overuse<br />

307


injuries. These c<strong>on</strong>cerns are addressed by capacitive touchpads which encourage<br />

neutral postures <str<strong>on</strong>g>and</str<strong>on</strong>g> extremely light tapping [24]. The splits in various erg<strong>on</strong>omic<br />

keyboards have successfully neutralized the awkward wrist postures of c<strong>on</strong>venti<strong>on</strong>al<br />

keyboards [44, 65, 66, 114, 164], but less progress has been made in minimizing typ-<br />

ing force.<br />

Human factors studies have uncovered interesting relati<strong>on</strong>ships between typ-<br />

ing force <str<strong>on</strong>g>and</str<strong>on</strong>g> keyswitch c<strong>on</strong>structi<strong>on</strong>. Though make force, the force which must<br />

be applied before the key makes electrical c<strong>on</strong>tact, ranges between .3 <str<strong>on</strong>g>and</str<strong>on</strong>g> 1.0 N <strong>on</strong><br />

most keyboards, users apply 2.5 to 7.9 times more force than necessary as a safety<br />

factor to ensure keys are always activated [43, 45, 126, 139]. The safety factor de-<br />

creases with increasing make force, but overall applied force is still minimized with<br />

lower make forces [45, 126]. Other keyswitch parameters such as make point travel,<br />

the distance the key depresses before making electrical c<strong>on</strong>tact, <str<strong>on</strong>g>and</str<strong>on</strong>g> overtravel, the<br />

distance the key depresses after making electrical c<strong>on</strong>tact but before bottoming out,<br />

can also a ect applied force. Radwin [123] found that peak applied force dropped<br />

24% as overtravel increased from 0.0 to 3.0 mm, while pretravel had no signi cant<br />

e ect. Gerard [45] found that typists applied roughly the same force to keyswitches<br />

with .72 N buckling springs, which produced an abrupt change in force feedback<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> an audible click, as they did to cheaper .28 N rubber dome keyswitches. Peak<br />

applied forces were 53% higher for rubber dome switches with .83 N make force.<br />

<str<strong>on</strong>g>Finger</str<strong>on</strong>g> exor EMG's were independent of pace as l<strong>on</strong>g as typists worked at or below<br />

their comfortable pace, possibly because faster typists make more e cient move-<br />

ments [45].<br />

Though these studies indicate which keyswitch designs will lessen typing<br />

force, the need to support resting h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> avoid accidental activati<strong>on</strong> of keys<br />

ultimately limits the reducti<strong>on</strong> of typing force [123] with mechanical keyswitches.<br />

Rose [127] suggests make forces less than .5 N may lead to accidental activati<strong>on</strong><br />

308


<str<strong>on</strong>g>and</str<strong>on</strong>g> an increase in static extensor c<strong>on</strong>tracti<strong>on</strong> for postural support, but .3 N seems<br />

tolerable <strong>on</strong> erg<strong>on</strong>omic keyboards such as the Kinesis which has rm wrist rests.<br />

A.4 Relevance to the MTS<br />

The approachtaken in this dissertati<strong>on</strong> has been to eliminate pressure switches<br />

altogether in favor of touchpad-like surface tapping <str<strong>on</strong>g>and</str<strong>on</strong>g> algorithmic discriminati<strong>on</strong><br />

between resting ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> keypresses. There is no doubt subjectively that nger<br />

impact <str<strong>on</strong>g>and</str<strong>on</strong>g> nger exi<strong>on</strong> forces are greatly reduced when typing <strong>on</strong> the MTS. Future<br />

research should verify that this translates to reducti<strong>on</strong> in pressure inside the carpal<br />

tunnel <str<strong>on</strong>g>and</str<strong>on</strong>g> avoidance of the critical cumulative trauma threshold. Also, future re-<br />

search should ensure that the MTS does not impose excessive postural dem<str<strong>on</strong>g>and</str<strong>on</strong>g>s<br />

since the h<str<strong>on</strong>g>and</str<strong>on</strong>g>s are sometimes suspended above its surface.<br />

309


Appendix B<br />

VERTICAL INTERPOLATION BIASES ON<br />

PARALLELOGRAM ELECTRODE ARRAYS<br />

Though the interspersed wedges of parallelogram electrode arrays introduced<br />

in Secti<strong>on</strong> 2.1.8 generally aid vertical interpolati<strong>on</strong> when row spacings are larger<br />

than ngertip c<strong>on</strong>tact heights, they can cause misleading vertical measurements for<br />

small, light c<strong>on</strong>tacts not centered exactly <strong>on</strong> or between electrodes. The interpo-<br />

lated vertical positi<strong>on</strong> is always unbiased if c<strong>on</strong>tacts are centered <strong>on</strong> a row, but as<br />

Figure B.1 illustrates, under certain c<strong>on</strong>diti<strong>on</strong>s it is biased when a c<strong>on</strong>tact is be-<br />

tween rows. The actual positi<strong>on</strong>s of all c<strong>on</strong>tacts in Figure B.1 are halfway between<br />

the top (light gray) <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom (dark gray) rows, <str<strong>on</strong>g>and</str<strong>on</strong>g> the interpolated positi<strong>on</strong>s of<br />

c<strong>on</strong>tacts a), c), d), <str<strong>on</strong>g>and</str<strong>on</strong>g> f) accurately re ect this because the c<strong>on</strong>tacts overlap equal<br />

porti<strong>on</strong>s of top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom electrodes. However, c<strong>on</strong>tact b) appears to overlap two<br />

to three times as much light gray as dark gray, which will cause a str<strong>on</strong>ger signal<br />

<strong>on</strong> the top middle electrode <str<strong>on</strong>g>and</str<strong>on</strong>g> the interpolated positi<strong>on</strong> to be about 3/4 of the<br />

way to the top row. For an electrode row spacing of 1.2 cm this corresp<strong>on</strong>ds to a<br />

positi<strong>on</strong> error of 3-5 mm.<br />

For the wider c<strong>on</strong>tact in Figure B.1e the c<strong>on</strong>tact overlaps of the middle <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

left columns are roughly equal, <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>ly the right column is severely biased because<br />

the c<strong>on</strong>tact <strong>on</strong>ly touches the top electrode there. When the right column inter-<br />

polati<strong>on</strong> is averaged with the unbiased middle <str<strong>on</strong>g>and</str<strong>on</strong>g> left column interpolati<strong>on</strong>s the<br />

nal reported positi<strong>on</strong> will be <strong>on</strong>ly 1-2 mm too high. For even larger c<strong>on</strong>tacts the<br />

310


a) b) c) d) e) f) g)<br />

Figure B.1: Diagram illustrating the vertical interpolati<strong>on</strong> biases which can arise<br />

when small-to-medium-sized c<strong>on</strong>tacts are halfway between parallelogram<br />

electrode rows but not centered <strong>on</strong> or between columns. In a)<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> d) small <str<strong>on</strong>g>and</str<strong>on</strong>g> medium c<strong>on</strong>tacts (ovals) are centered halfway between<br />

the left <str<strong>on</strong>g>and</str<strong>on</strong>g> middle columns <str<strong>on</strong>g>and</str<strong>on</strong>g> touchoroverlap equal porti<strong>on</strong>s<br />

of top row electrodes (light gray) <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom row electrodes (dark<br />

gray). In c) <str<strong>on</strong>g>and</str<strong>on</strong>g> f) the c<strong>on</strong>tacts are centered <strong>on</strong> the middle columns<br />

but still overlap equal porti<strong>on</strong>s of top <str<strong>on</strong>g>and</str<strong>on</strong>g> bottom rows, causing their<br />

vertical positi<strong>on</strong> to be correctly interpolated as halfway between the<br />

rows. But in b) <str<strong>on</strong>g>and</str<strong>on</strong>g> e) the c<strong>on</strong>tacts are just to the left of middle<br />

column center <str<strong>on</strong>g>and</str<strong>on</strong>g> overlap more of the top row electrodes than the<br />

bottom, causing their interpolated vertical positi<strong>on</strong> to be err<strong>on</strong>eously<br />

high. If they were just to the right of column center their interpolated<br />

vertical positi<strong>on</strong> would be err<strong>on</strong>eously low. The bias worsens<br />

for smaller c<strong>on</strong>tacts so that even though the tiny c<strong>on</strong>tacts in g) are<br />

centered between rows, the <strong>on</strong>e <strong>on</strong> the left will be interpolated to be<br />

centered <strong>on</strong> the bottom row while the <strong>on</strong>e <strong>on</strong> the right will be interpolated<br />

to be centered <strong>on</strong> the top row. Note that the parallelogram<br />

shadings in this gure are <strong>on</strong>ly meant to visually di erentiate the top<br />

row electrodes from bottom row electrodes where the c<strong>on</strong>tacts overlap<br />

them, not to indicate the relativeproximity measured in each row.<br />

The gaps between columns are necessary to route sensor wiring, but<br />

eliminating them would not eliminate the biases.<br />

311


errors caused by biased overlap <strong>on</strong> peripheral columns become minuscule because<br />

the correct interpolati<strong>on</strong>s by columns toward the center of the c<strong>on</strong>tact dominate the<br />

centroid average.<br />

Figure B.1g shows the worst case scenario, in which the positi<strong>on</strong> error can be<br />

as much as plus or minus half a row spacing. Here the c<strong>on</strong>tacts are so small that the<br />

left c<strong>on</strong>tact <strong>on</strong>ly overlaps the bottom left electrode, so its positi<strong>on</strong> will be reported<br />

as centered <strong>on</strong> the bottom row, a full 6 mm lower than the actual positi<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

right c<strong>on</strong>tact will be reported a full 6 mm too high.<br />

Note that the parallelograms cause no signi cant biases in horiz<strong>on</strong>tal centroid<br />

computati<strong>on</strong>. This is easily proved by summing the proximity signals in each column<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> then interpolating horiz<strong>on</strong>tally using the column sums. As l<strong>on</strong>g as the vertical<br />

gaps between parallelograms are minuscule <str<strong>on</strong>g>and</str<strong>on</strong>g> the proximity sensors are linear,<br />

these computed column sums are equivalent to the proximity signal which would<br />

be obtained from a physically c<strong>on</strong>tinuous rectangular electrode spanning the whole<br />

column, so they should produce exactly the same horiz<strong>on</strong>tal interpolati<strong>on</strong>.<br />

B.1 N<strong>on</strong>linear Vertical Centroid for Parallelogram Interpolati<strong>on</strong><br />

The MTS employs a number of methods to ameliorate the e ects of these<br />

vertical interpolati<strong>on</strong> biases. First, sensed electrode capacitance is inversely propor-<br />

ti<strong>on</strong>al to esh proximity, sousing a substantially thick dielectric cover between the<br />

ngers <str<strong>on</strong>g>and</str<strong>on</strong>g> electrodes weakens the signal at the center of a c<strong>on</strong>tact where it is rmly<br />

touching the dielectric, preventing the center from totally dominating the signals<br />

from the c<strong>on</strong>tact periphery. For very small, light c<strong>on</strong>tacts such as in Figure B.1g,<br />

this causes the c<strong>on</strong>tact to appear wider or more di use to the sensors <str<strong>on</strong>g>and</str<strong>on</strong>g> exhibit<br />

more moderate biases between those of Figure B.1b <str<strong>on</strong>g>and</str<strong>on</strong>g> Figure B.1e. When a nger<br />

is moving horiz<strong>on</strong>tally across the surface, the biases manifest themselves as vertical<br />

oscillati<strong>on</strong>s in the nger trajectory. Therefore during medium-to-high speed moti<strong>on</strong><br />

they can be removed with alow-pass moti<strong>on</strong> lter.<br />

312


For medium-sized c<strong>on</strong>tacts as in Figure B.1e, a n<strong>on</strong>linear centroid compu-<br />

tati<strong>on</strong> which de-emphasizes the potentially biased columns at the periphery of the<br />

c<strong>on</strong>tact in favor of those columns at the center which are overlapped evenly can<br />

further diminish the errors by at least a factor of two. Note that in the biased<br />

right column the c<strong>on</strong>tact <strong>on</strong>ly overlaps the left side of the column at the tip of<br />

the top electrode, so the total signal from the right column is much less than that<br />

from the left or middle columns. This is the most straightforward indicati<strong>on</strong> that<br />

the right column is <strong>on</strong> the c<strong>on</strong>tact periphery <str<strong>on</strong>g>and</str<strong>on</strong>g> may c<strong>on</strong>tribute a biased vertical<br />

interpolati<strong>on</strong>.<br />

Instead of linearly weighting the c<strong>on</strong>tributi<strong>on</strong> of each column's vertical inter-<br />

polati<strong>on</strong> by each column's total proximity as in a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard centroid (Equati<strong>on</strong> 3.11),<br />

the following n<strong>on</strong>linear centroid formulas square each column's total proximity to<br />

emphasize the str<strong>on</strong>ger, unbiased interpolati<strong>on</strong>s of the central columns. Let GEj be<br />

the electrodes in the intersecti<strong>on</strong> of group G <str<strong>on</strong>g>and</str<strong>on</strong>g> electrode column j, Gzj be the<br />

total proximity of GEj, <str<strong>on</strong>g>and</str<strong>on</strong>g> Gyj be the vertical centroid as measured within the<br />

electrodes of column j:<br />

GEj = GE \fe 2 jg (B.1)<br />

Gzj = X<br />

(B.2)<br />

e2GE j<br />

Gyj = X<br />

e2GE j<br />

Then the improved vertical centroid Gypar for parallelogram arrays is given by:<br />

Gzpar = X<br />

Gypar = X<br />

j<br />

j<br />

ez<br />

ezey<br />

Gzj<br />

G 2<br />

zj<br />

G 2<br />

zj Gyj<br />

Gzpar<br />

(B.3)<br />

(B.4)<br />

(B.5)<br />

Though these steps ameliorate the interpolati<strong>on</strong> biases to less than a millimeter,<br />

ensuring that they are not a nuisance during evaluati<strong>on</strong> of the MTS, they still<br />

313


cause noticeable oscillati<strong>on</strong>s in <strong>on</strong>-screen cursor moti<strong>on</strong> given high cursor moti<strong>on</strong><br />

sensitivity <str<strong>on</strong>g>and</str<strong>on</strong>g> light ngertip c<strong>on</strong>tacts. The <strong>on</strong>ly known way to eliminate the biases<br />

entirely is to decrease electrode row spacing so much that parallelograms are no<br />

l<strong>on</strong>ger needed.<br />

314


Appendix C<br />

CONVERGENCE TRAPS FOR LOCALIZED<br />

COMBINATORIAL SEARCH ON AN ATTRACTOR<br />

RING.<br />

Figures C.1 <str<strong>on</strong>g>and</str<strong>on</strong>g> C.2 dem<strong>on</strong>strate unfortunate cases in which a pairwise ex-<br />

change sequence like bubble sort can get trapped in assignments whose cost is <strong>on</strong>ly<br />

a local minimum. In Figure C.1, the attractors do not lie <strong>on</strong> a perfect circle, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

a single c<strong>on</strong>tact (circle) is poorly initialized to an attractor x <strong>on</strong> the opposite side<br />

of the ring from its closest attractor c. For the c<strong>on</strong>tact's assignment to propagate<br />

around the ring to the closest attractor c, there must be a subsequence of the pair-<br />

wise exchange sequence suchthatswapping in each pair of the subsequence decreases<br />

the c<strong>on</strong>tact's assignment distance. Moreover, this subsequence must c<strong>on</strong>nect the far<br />

attractor x to the c<strong>on</strong>tact's closest attractor c through overlapping attractor pairs.<br />

In the case of Figure C.1a, where the attractors are arranged around a perfect<br />

circle, this c<strong>on</strong>vergence c<strong>on</strong>diti<strong>on</strong> is met because the attractors a <str<strong>on</strong>g>and</str<strong>on</strong>g> d adjacent to<br />

the far attractor x are closer to the c<strong>on</strong>tact than x. This can be veri ed visually by<br />

noticing that they lie within the circle of points (heavy arc) the same distance from<br />

the c<strong>on</strong>tact as attractor x. It can also be veri ed by noticing that these attractors<br />

are <strong>on</strong> the same side of the relevant perpendicular bisector as the c<strong>on</strong>tact o, which<br />

will cause the c<strong>on</strong>tact to be swapped out of the far attractor <str<strong>on</strong>g>and</str<strong>on</strong>g> propagate toward<br />

the near attractor c.<br />

315


d<br />

d<br />

d<br />

c<br />

x<br />

a)<br />

c<br />

x<br />

b)<br />

c<br />

x<br />

c)<br />

Figure C.1: Diagrams showing c<strong>on</strong>vergence failures for attractor rings which are<br />

not perfectly circular. In a) the attractor ring is perfectly circular so<br />

pairwise swapping of adjacent attractors can propagate a c<strong>on</strong>tact's<br />

(o) assignment from an attractor (x) <strong>on</strong> the opposite side of the ring<br />

to the closest attractor (c) <strong>on</strong> the near side. But the c<strong>on</strong>cavity inthe<br />

ring of b) <str<strong>on</strong>g>and</str<strong>on</strong>g> the warping of the ring in c) trap the c<strong>on</strong>tact (o) in<br />

the far attractor (x) since attractors (a) <str<strong>on</strong>g>and</str<strong>on</strong>g> (d) adjacent to the far<br />

attractor are farther from the c<strong>on</strong>tact than (x).<br />

316<br />

a<br />

a<br />

a<br />

b<br />

b<br />

b


The case of Figure C.1b c<strong>on</strong>tains a c<strong>on</strong>cavity in the attractor ring at x. This<br />

causes attractor x to be closer to the c<strong>on</strong>tact o than its adjacent attractors a <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

d. Thus pairwise swaps with these adjacent attractors will not be accepted <str<strong>on</strong>g>and</str<strong>on</strong>g> the<br />

c<strong>on</strong>tact cannot escape from attractor x. Thisisveri ed visually by noting that the<br />

adjacent attractors a <str<strong>on</strong>g>and</str<strong>on</strong>g> d lie outside the equidistant arc which passes through x or<br />

noting that attractor x is <strong>on</strong> the same side of the adjacent perpendicular bisectors<br />

as the c<strong>on</strong>tact o.<br />

The elliptical attractor ring of Figure C.1c shows that a c<strong>on</strong>cavity is not<br />

necessary to prevent c<strong>on</strong>vergence. Again the attractors adjacent to the far attractor<br />

are outside of the equidistant arc <str<strong>on</strong>g>and</str<strong>on</strong>g> perpendicular bisectors, trapping the c<strong>on</strong>tact's<br />

assignment <strong>on</strong>the far attractor.<br />

Since the nger attractor ring is not perfectly circular, c<strong>on</strong>vergence failures<br />

similar to those of Figure C.1b <str<strong>on</strong>g>and</str<strong>on</strong>g> Figure C.1c have actually been observed in the<br />

identi cati<strong>on</strong> system. Typically a ngertip c<strong>on</strong>tact will get trapped in a palm attrac-<br />

tor <str<strong>on</strong>g>and</str<strong>on</strong>g> misidenti ed as a palm. This has been addressed successfully by increasing<br />

the size of the exchange neighborhood for palm attractors to include all attractors<br />

instead of just the next attractor in the ring. Thus when the exchange sequence<br />

reaches a palm attractor, pairwise swaps are c<strong>on</strong>sidered between the palm attractor<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> all other attractors, <str<strong>on</strong>g>and</str<strong>on</strong>g> the swap which produces the minimum assignment cost<br />

over all such pairs is taken. This increases the worst case number of comparis<strong>on</strong>s to<br />

O(M 3 ), the same as algorithms for general assignment problems.<br />

Figure C.2 shows that for attractor rings which are perfectly circular, sym-<br />

metric <str<strong>on</strong>g>and</str<strong>on</strong>g> full of c<strong>on</strong>tacts, pairwise exchange can get stuck in rotati<strong>on</strong>al local min-<br />

ima. The assignment of Figure C.2a clearly has the globally lowest total assignment<br />

cost, but the rotated assignments of Figure C.2b are also a local minimum. Under<br />

the distance-squared metric, the assignments of Figure C.2b all meet the local pair-<br />

wise ordering relati<strong>on</strong>. All pairwise swaps such as the swap <strong>on</strong> the bottom attractors<br />

317


X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

O<br />

O<br />

O<br />

O<br />

O<br />

O<br />

a)<br />

b)<br />

c)<br />

O<br />

O<br />

O<br />

Figure C.2: Rotati<strong>on</strong>al local minimum for a perfectly symmetric attractor ring full<br />

of c<strong>on</strong>tacts. The global minimum assignment is shown in a). However,<br />

the rotated assignments in b) are also a stable local minimum<br />

because no pairwise swap such as that in c) will be accepted under<br />

the distance-squared metric.<br />

318<br />

O<br />

O<br />

O<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X


in Figure C.2c would increase the assignment costs <str<strong>on</strong>g>and</str<strong>on</strong>g> will not be taken, trapping<br />

the assignments in this rotated state. However, this type of c<strong>on</strong>vergence failure<br />

has not been noticed in practice, presumably because the asymmetries in attractor<br />

spacings around the actual nger attractor ring discourage this type of c<strong>on</strong>vergence<br />

failure.<br />

319


BIBLIOGRAPHY<br />

[1] Emile Aarts <str<strong>on</strong>g>and</str<strong>on</strong>g> Jan Karel Lenstra. Local Search In Combinati<strong>on</strong>al Optimizati<strong>on</strong>.<br />

John Wiley <str<strong>on</strong>g>and</str<strong>on</strong>g> S<strong>on</strong>s, Chichester, 1997.<br />

[2] Johnny Accot <str<strong>on</strong>g>and</str<strong>on</strong>g> Shumin Zhai. Bey<strong>on</strong>d Fitts' Law: Models for trajectorybased<br />

hci tasks. In CHI '97, pages 295{302. ACM, March 1997.<br />

[3] Subutai Ahmad. A usable real-time 3D h<str<strong>on</strong>g>and</str<strong>on</strong>g> tracker. In Proceedings of the<br />

28th Asilomar C<strong>on</strong>ference <strong>on</strong> Signals, Systems, <str<strong>on</strong>g>and</str<strong>on</strong>g> Computers - Part 2 (of<br />

2), volume 2, Paci c Grove, CA, October 1994. IEEE.<br />

[4] Samuel Audet. Hot Scroll 1.0 for OS/2. http://www.cam.org/~guardia, 1998.<br />

[5] Ravin Balakrishnan, Thomas Baudel, Gord<strong>on</strong> Kurtenbach, <str<strong>on</strong>g>and</str<strong>on</strong>g> George Fitzmaurice.<br />

The Rockin' Mouse: Integral 3D manipulati<strong>on</strong> <strong>on</strong> a plane. In Proceedings<br />

of CHI '97, pages 311{318, Atlanta, GA USA, March 1997.<br />

[6] Ravin Balakrishnan <str<strong>on</strong>g>and</str<strong>on</strong>g> I. Scott MacKenzie. Performance di erences in the<br />

ngers, wrist, <str<strong>on</strong>g>and</str<strong>on</strong>g> forearm in computer output c<strong>on</strong>trol. In Proceedings of the<br />

CHI '97 C<strong>on</strong>ference <strong>on</strong> Human Factors in Computing Systems, pages 303{310,<br />

New York, 1997. ACM.<br />

[7] Eg<strong>on</strong> Balas, D<strong>on</strong>ald Miller, Joseph Pekny, <str<strong>on</strong>g>and</str<strong>on</strong>g>Paolo Toth. A parallel shortest<br />

path algorithm for the assignment problem. Technical Report EDRC 05-38-89,<br />

Carnegie Mell<strong>on</strong> University, April 1989.<br />

[8] M. Balinski. A competitive (dual) simplex method for the assignment problem.<br />

Mathematical Programming, 34:125{141, 1986.<br />

[9] D. H. Ballard. Generalizing the hough transform to detect arbitrary shapes.<br />

Pattern Recogniti<strong>on</strong>, 13(2):111{122, 1981.<br />

[10] R. S. Barr, F. Glover, <str<strong>on</strong>g>and</str<strong>on</strong>g> D. Klingman. The alternating basis algorithm for<br />

assignment problems. Mathematical Programming, 13:1{13, 1977.<br />

[11] D. P. Bertsekas. A new algorithm for the assignment problem. Mathematical<br />

Programming, 21:152{171, 1981.<br />

320


[12] D. P. Bertsekas. A distributed asynchr<strong>on</strong>ous relaxati<strong>on</strong> algorithm for the<br />

assignment problem. In Proceedings of the 24th IEEE C<strong>on</strong>ference <strong>on</strong>Decisi<strong>on</strong><br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> C<strong>on</strong>trol, 1987.<br />

[13] Paul J. Besl <str<strong>on</strong>g>and</str<strong>on</strong>g> Ramesh C. Jain. Range image segmentati<strong>on</strong>. In Herbert<br />

Freeman, editor, Machine Visi<strong>on</strong>: Algorithms, Architectures, <str<strong>on</strong>g>and</str<strong>on</strong>g> Systems,<br />

pages 221{256. Academic Press, Inc., New York, 1988.<br />

[14] Eric A. Bier, Maureen C. St<strong>on</strong>e, Ken Fishkin, William Buxt<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> Thomas<br />

Baudel. A tax<strong>on</strong>omy of see-through tools. In Proceedings of CHI '94, pages<br />

358{364, New York, 1994.<br />

[15] Sephen J. Bisset <str<strong>on</strong>g>and</str<strong>on</strong>g> Bernard Kasser. Multiple <str<strong>on</strong>g>Finger</str<strong>on</strong>g>s C<strong>on</strong>tact Sensing<br />

Method for Emulating Mouse Butt<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> Mouse Operati<strong>on</strong>s <strong>on</strong> a Touch Sensor<br />

Pad. U.S. Patent 5825352, October 20 1998.<br />

[16] Klaus Boehm, Wolfgang Broll, <str<strong>on</strong>g>and</str<strong>on</strong>g> Michael Sokolewicz. Dynamic gesture<br />

recogniti<strong>on</strong> using neural networks� a fundament for advanced interacti<strong>on</strong> c<strong>on</strong>structi<strong>on</strong>.<br />

In SPIE C<strong>on</strong>ference <strong>on</strong>Electr<strong>on</strong>ic Imaging Science <str<strong>on</strong>g>and</str<strong>on</strong>g> Technology,<br />

San Jose, California, February 1994.<br />

[17] Robert A. Boie, Laurence W. Ruedisueli, <str<strong>on</strong>g>and</str<strong>on</strong>g> Eric R. Wagner. Computer<br />

Mouse or Keyboard Input Device Utilizing Capacitive Sensors. U.S. Patent<br />

5463388, October 31 1995.<br />

[18] J. E. Bolt<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> R. C. Wilkers<strong>on</strong>. Resp<strong>on</strong>siveness of pain scales: a comparis<strong>on</strong><br />

of three pain intensity measures in chiropractic patients. Journal of<br />

Manipulative <str<strong>on</strong>g>and</str<strong>on</strong>g> Physiological Therapeutics, 21(1):1{7, January 1998.<br />

[19] Grigore Burdea <str<strong>on</strong>g>and</str<strong>on</strong>g> Philippe Coi et. Virtual Reality Technology. John Wiley<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> S<strong>on</strong>s, Inc., New York, 1994.<br />

[20] Bill Buxt<strong>on</strong>. Smoke <str<strong>on</strong>g>and</str<strong>on</strong>g> mirrors. BYTE, pages 205{210, July 1990.<br />

[21] William Buxt<strong>on</strong>. Chunking <str<strong>on</strong>g>and</str<strong>on</strong>g> phrasing <str<strong>on</strong>g>and</str<strong>on</strong>g> the design of human-computer<br />

dialogues. In Informati<strong>on</strong> Processing 86, pages 475{480, North Holl<str<strong>on</strong>g>and</str<strong>on</strong>g>, 1986.<br />

Elsevier Science Publishers B.V.<br />

[22] William Buxt<strong>on</strong>, Eugene Flume, Ralph Hill, Alis<strong>on</strong> Lee, <str<strong>on</strong>g>and</str<strong>on</strong>g> Cars<strong>on</strong> Woo.<br />

C<strong>on</strong>tinuous h<str<strong>on</strong>g>and</str<strong>on</strong>g>-gesture driven input. In Graphics Interface, pages 191{195,<br />

Tor<strong>on</strong>to, Ontario, 1983. Computer Systems Research Group, Department of<br />

Computer Science, University of Tor<strong>on</strong>to.<br />

[23] William Buxt<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Brad A. Myers. A study in two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed input. In Proceedings<br />

of CHI '86, pages 321{326, Tor<strong>on</strong>to, Ontario, 1986.<br />

321


[24] Ahmet E. Cakir, Gisela Cakir, Thomas Muller, <str<strong>on</strong>g>and</str<strong>on</strong>g> Pieter Unema. The Trackpad<br />

- a study <strong>on</strong> user comfort <str<strong>on</strong>g>and</str<strong>on</strong>g> performance. In Proceedings of CHI '95,<br />

http://www.acm.org/sigchi/chi95/Electr<strong>on</strong>ic/documnts/shortppr/aec1bdy.htm,<br />

1995. ACM.<br />

[25] S. K. Card, T. P. Moran, <str<strong>on</strong>g>and</str<strong>on</strong>g> A. Newell. The Psychology of Human-Computer<br />

Interacti<strong>on</strong>. Erlbaum, Hillsdale, NJ, 1983.<br />

[26] Stuart K. Card, Jock D. Mackinlay, <str<strong>on</strong>g>and</str<strong>on</strong>g> George G. Roberts<strong>on</strong>. The design<br />

space of input devices. In M.M. Blattner <str<strong>on</strong>g>and</str<strong>on</strong>g> R.B. Dannenberg, editors, Multimedia<br />

Interface Design, pages 217{232. ACM Press, New York, 1992.<br />

[27] G. Carpaneto <str<strong>on</strong>g>and</str<strong>on</strong>g> P. Toth. Primal-dual algorithms for the assignment problem.<br />

Discrete Applied Mathematics, 18:137{153, 1987.<br />

[28] K. C. Chung, M. S. Pillsbury, M.R.Walters, <str<strong>on</strong>g>and</str<strong>on</strong>g> R. A. Hayward. Reliability<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> validity testing of the Michigan <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Outcomes Questi<strong>on</strong>naire. Journal<br />

of <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Surgery, 23(4):575{587, July 1998.<br />

[29] Kinesis Corporati<strong>on</strong>. Revoluti<strong>on</strong>ary erg<strong>on</strong>omic keyboards & high performance<br />

input accessories for PC, Macintosh, <str<strong>on</strong>g>and</str<strong>on</strong>g> Sun. http://www.kinesis-ergo.com/,<br />

1999.<br />

[30] J. L. Crowley <str<strong>on</strong>g>and</str<strong>on</strong>g> J. Coutaz. Visi<strong>on</strong> for man machine interacti<strong>on</strong>. In Le<strong>on</strong>ard J.<br />

Bass <str<strong>on</strong>g>and</str<strong>on</strong>g> Claus Unger, editors, Engineering for Human-Computer Interacti<strong>on</strong>,<br />

pages 28{43. Chapman <str<strong>on</strong>g>and</str<strong>on</strong>g> Hall, New York, 1995.<br />

[31] U. Derigs. The shortest augmenting path method for solving assignment problems<br />

{ motivati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> computati<strong>on</strong>al experience. Annals of Operati<strong>on</strong>s Research,<br />

4:57{102, 1985.<br />

[32] Sarah A. Douglas <str<strong>on</strong>g>and</str<strong>on</strong>g> Anant Kartik Mithal. The Erg<strong>on</strong>omics of Computer<br />

Pointing Devices. Springer, L<strong>on</strong>d<strong>on</strong>, 1997.<br />

[33] J. Edm<strong>on</strong>ds <str<strong>on</strong>g>and</str<strong>on</strong>g> R. M. Karp. Theoretical improvements <strong>on</strong> algorithmic e -<br />

ciency of network ow problems. Journal of the ACM, 19:248{261, 1972.<br />

[34] J. Egervary. Matrixok kombinatorius tulajd<strong>on</strong>sagairol. Mathematikai es<br />

Fizikai Lapok, 38:16{26, 1931.<br />

[35] Horst A. Eiselt, Giorgio Pederzoli, <str<strong>on</strong>g>and</str<strong>on</strong>g> Carl-Louis S<str<strong>on</strong>g>and</str<strong>on</strong>g>blom. C<strong>on</strong>tinuous<br />

Optimizati<strong>on</strong> Models. Walter de Gruyter, New York, 1987.<br />

[36] FakeSpace, Inc. Pinch Gloves. http://www.fakespace.com/prod-pnch.html.<br />

322


[37] D<strong>on</strong>ald L. Fisher, Robert O. Andres, David Airth, <str<strong>on</strong>g>and</str<strong>on</strong>g> Stephen S. Smith.<br />

Repetitive moti<strong>on</strong> disorders: The design of optimal rate-rest pro les. Human<br />

Factors, 35(2):283{304, June 1993.<br />

[38] P. M. Fitts. The informati<strong>on</strong> capacity of the human motor system in c<strong>on</strong>trolling<br />

the amplitude of movement. Journal of Experimental Psychology,<br />

47:381{391, 1954.<br />

[39] George W. Fitzmaurice <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. An empirical evaluati<strong>on</strong> of graspable<br />

user interfaces: Towards specialized, space-multiplexed input. In Proceedings<br />

of CHI '97, pages 43{50, Tor<strong>on</strong>to, Ontario, March 1997.<br />

[40] Patrick J. Franz <str<strong>on</strong>g>and</str<strong>on</strong>g> David H. Straayer. Integrated Keyboard <str<strong>on</strong>g>and</str<strong>on</strong>g> Pointing<br />

Device System with Automatic Mode Change. U.S. Patent 5189403, February<br />

1993.<br />

[41] Masaaki Fukumoto <str<strong>on</strong>g>and</str<strong>on</strong>g> Yoshinobu T<strong>on</strong>omura. Body coupled ngering: Wireless<br />

wearable keyboard. In CHI 97, pages 147{154, Atlanta, GA, March 1997.<br />

ACM.<br />

[42] John M. Gauch. Image segmentati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> analysis via multiscale gradient<br />

watershed hierarchies. IEEE Transacti<strong>on</strong>s <strong>on</strong> Image Processing, 8(1):69{79,<br />

January 1999.<br />

[43] Michael J. Gerard, T. J. Armstr<strong>on</strong>g, J.A. Foulke, <str<strong>on</strong>g>and</str<strong>on</strong>g> B. J. Martin. E ects of<br />

key sti ness <strong>on</strong> force <str<strong>on</strong>g>and</str<strong>on</strong>g> the development of fatigue while typing. American<br />

Industrial Hygiene Associati<strong>on</strong> Journal, 57:849{854, 1996.<br />

[44] Michael J. Gerard, Stephen K. J<strong>on</strong>es, Leo A. Smith, Robert E. Thomas, <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Tai Wang. An erg<strong>on</strong>omic evaluati<strong>on</strong> of the kinesis erg<strong>on</strong>omic computer keyboard.<br />

Erg<strong>on</strong>omics, 37(10):1661{1668, 1994.<br />

[45] Michael James Gerard. E ects of Keyswitch Sti ness, Typing Pace, <str<strong>on</strong>g>and</str<strong>on</strong>g> Auditory<br />

Feedback <strong>on</strong> Typing Force, Muscle Activity, <str<strong>on</strong>g>and</str<strong>on</strong>g> Subjective Discomfort.<br />

Ph.D. dissertati<strong>on</strong>, University of Michigan, 1997.<br />

[46] George E. Gerpheide. Electrical Charge Transfer Apparatus. U.S. Patent<br />

5349303, September 20 1994.<br />

[47] George E. Gerpheide. Methods <str<strong>on</strong>g>and</str<strong>on</strong>g> Apparatus for Data Input. U.S. Patent<br />

5305017, April 19 1994.<br />

[48] George E. Gerpheide <str<strong>on</strong>g>and</str<strong>on</strong>g> Michael D. Layt<strong>on</strong>. Capacitance-Based Proximity<br />

with Interference Rejecti<strong>on</strong> Apparatus <str<strong>on</strong>g>and</str<strong>on</strong>g> Methods. U.S. Patent 5565658,<br />

October 15 1994.<br />

323


[49] Douglas J. Gillan, Kritina Holden, Susan Adam, Marianne Rudisill, <str<strong>on</strong>g>and</str<strong>on</strong>g> Laura<br />

Magee. How does Fitts' Law t pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> dragging? In CHI '90 Proceedings,<br />

pages 227{234. ACM, April 1990.<br />

[50] David Gillespie, Timothy P. Allen, Robert J. Miller, <str<strong>on</strong>g>and</str<strong>on</strong>g> Federico Faggin.<br />

Object Positi<strong>on</strong> Detector With Edge Moti<strong>on</strong> Feature. U.S. Patent 5543590,<br />

August 6 1996.<br />

[51] David Gillespie, Timothy P. Allen, <str<strong>on</strong>g>and</str<strong>on</strong>g> Ralph Wolf. Object Positi<strong>on</strong> Detector<br />

With Edge Moti<strong>on</strong> Feature <str<strong>on</strong>g>and</str<strong>on</strong>g> Gesture Recogniti<strong>on</strong>. U.S. Patent 5543591,<br />

August 6 1996.<br />

[52] William G. Gillick <str<strong>on</strong>g>and</str<strong>on</strong>g> Clement C. Lam. Roller Mouse for Implementing<br />

Scrolling in Windows Applicati<strong>on</strong>s. U.S. Patent 5530455, June 25 1996.<br />

[53] S. A. Goldstein. Biomechanical aspects of cumulative trauma to tend<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

tend<strong>on</strong> sheaths. Ph.D. dissertati<strong>on</strong>, University of Michigan, 1981.<br />

[54] Etienne Gr<str<strong>on</strong>g>and</str<strong>on</strong>g>jean. Erg<strong>on</strong>omic Design of VDT Workstati<strong>on</strong>s. Taylor <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Francis, Philadelphia, 1987.<br />

[55] Yves Guiard. Asymmetric divisi<strong>on</strong> of labor in hamn skilled bimanual acti<strong>on</strong>:<br />

The kinematic chain as a model. Journal of Motor Behavior, 19(4):486{517,<br />

1987.<br />

[56] <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>key Corporati<strong>on</strong>. Twiddler User's Manual. http://www.h<str<strong>on</strong>g>and</str<strong>on</strong>g>ykey.com/,<br />

1997.<br />

[57] Kostas Haris, Sera m N. Efstratiadis, Nicos Maglaveras, <str<strong>on</strong>g>and</str<strong>on</strong>g> Aggelos K. Katsaggelos.<br />

Hybrid image segmentati<strong>on</strong> using watersheds <str<strong>on</strong>g>and</str<strong>on</strong>g> fast regi<strong>on</strong> merging.<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Image Processing, 7(12):1684{1699, December<br />

1998.<br />

[58] Frederick S. Hillier <str<strong>on</strong>g>and</str<strong>on</strong>g> Gerald J. Lieberman. Introducti<strong>on</strong> to Operati<strong>on</strong>s Research.<br />

Holden-Day, Inc.,Oakl<str<strong>on</strong>g>and</str<strong>on</strong>g>, California, 1986.<br />

[59] W. Daniel Hillis. A high-resoluti<strong>on</strong> imaging touch sensor. The Internati<strong>on</strong>al<br />

Journal of Robotics, 1(2):33{44, 1982.<br />

[60] Ken Hinckley. Haptic Issues for Virtual <str<strong>on</strong>g>Manipulati<strong>on</strong></str<strong>on</strong>g>. Ph.D. dissertati<strong>on</strong>,<br />

University of Virginia, 1996.<br />

[61] Ken Hinckley, MaryCzerwinski, <str<strong>on</strong>g>and</str<strong>on</strong>g> Mike Sinclair. Interacti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> modeling<br />

techniques for desktop two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed input. In UIST '98 Symposium <strong>on</strong> User<br />

Interface Software <str<strong>on</strong>g>and</str<strong>on</strong>g> Technology, pages 49{58, 1998.<br />

324


[62] Ken Hinckley, R<str<strong>on</strong>g>and</str<strong>on</strong>g>yPausch, Dennis Pro tt, James Patten, <str<strong>on</strong>g>and</str<strong>on</strong>g> Neal Kassell.<br />

Cooperative bimanual acti<strong>on</strong>. In Proceedings of CHI '97, pages 27{34, Atlanta,<br />

GA, March 1997.<br />

[63] Ken Hinckley, Joe Tullio, R<str<strong>on</strong>g>and</str<strong>on</strong>g>y Pausch, Dennis Pro tt, <str<strong>on</strong>g>and</str<strong>on</strong>g> Neal Kassell.<br />

Usability analysis of 3D rotati<strong>on</strong> techniques. In Proceedings of UIST '97, pages<br />

1{10, Ban , Alberta, Canada, 1997.<br />

[64] E. R. Ho man. Fitts' Law with transmissi<strong>on</strong> delay. Erg<strong>on</strong>omics, 35:37{48,<br />

1992.<br />

[65] M. H<strong>on</strong>an, M. Jacobs<strong>on</strong>, R. Tal, <str<strong>on</strong>g>and</str<strong>on</strong>g> D. Rempel. Changes in wrist postures<br />

during a prol<strong>on</strong>ged typing task. In Proceedings of the Human Factors <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Erg<strong>on</strong>omics Society - 40th Annual Meeting, pages 629{631, 1996.<br />

[66] M. H<strong>on</strong>an, E. Serina, R. Tal, <str<strong>on</strong>g>and</str<strong>on</strong>g> D. Rempel. Wrist postures while typing<br />

<strong>on</strong> a st<str<strong>on</strong>g>and</str<strong>on</strong>g>ard <str<strong>on</strong>g>and</str<strong>on</strong>g> split keyboard. In Proceedings of the Human Factors <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Erg<strong>on</strong>omics Society - 39th Annual Meeting, volume 1, pages 366{368, 1995.<br />

[67] D<strong>on</strong> Hopkins. The design <str<strong>on</strong>g>and</str<strong>on</strong>g> implementati<strong>on</strong> of pie menus. Dr. Dobb's<br />

Journal, December 1991.<br />

[68] S. L. Horowitz <str<strong>on</strong>g>and</str<strong>on</strong>g> T. Pavlidis. A graph-theoretic approach to picture processing.<br />

Computer Graphics <str<strong>on</strong>g>and</str<strong>on</strong>g> Image Processing, 7:282{291, 1978.<br />

[69] Infogrip, Inc. The BAT Pers<strong>on</strong>al Keyboard.<br />

http://www.infogrip.com/bat.htm, 1993.<br />

[70] S. Inokuchi <str<strong>on</strong>g>and</str<strong>on</strong>g> R. Nevatia. Boundary detecti<strong>on</strong> in range pictures. In Proceedings<br />

of the 5th Internati<strong>on</strong>al C<strong>on</strong>ference Pattern Recogniti<strong>on</strong>, pages 1301{1303,<br />

Miami, Florida, November 1980.<br />

[71] Robert J. K. Jacob, Linda E. Sibert, Daniel C. McFarlane, <str<strong>on</strong>g>and</str<strong>on</strong>g> M. Prest<strong>on</strong><br />

Mullen Jr. Integrality <str<strong>on</strong>g>and</str<strong>on</strong>g> separability of input devices. ACM Transacti<strong>on</strong>s<br />

<strong>on</strong> Computer-Human Interacti<strong>on</strong>, 1:3{26, March 1994.<br />

[72] R. A. Jarvis <str<strong>on</strong>g>and</str<strong>on</strong>g> Edward A. Patrick. Clustering using a similarity measure<br />

based <strong>on</strong> shared near neighbors. IEEE Transacti<strong>on</strong>s <strong>on</strong> Computers, C-<br />

22(11):1025{1034, November 1973.<br />

[73] Herbert D. Jellinek <str<strong>on</strong>g>and</str<strong>on</strong>g> Stuart K. Card. Powermice <str<strong>on</strong>g>and</str<strong>on</strong>g> user performance. In<br />

CHI '90 Proceedings, pages 213{220. ACM, April 1990.<br />

325


[74] Peter W. Johns<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Steven Lehman David M. Rempel. Measuring muscle<br />

fatigue during computer mouse use. In Proceedings of the 1996 18th Annual<br />

C<strong>on</strong>ference of the IEEE Engineering in Medicine Biology Society, volume 4,<br />

pages 1454{1455, 1996.<br />

[75] R. J<strong>on</strong>kers <str<strong>on</strong>g>and</str<strong>on</strong>g> T. Volgenant. Shortest augmenting path method for dense<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> sparse linear assignment problems. Computing, 38:325{390, 1987.<br />

[76] Paul Kabbash <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. The 'Prince' Technique: Fitts' Law <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

selecti<strong>on</strong> using area cursors. In CHI '95 Mosaic of Creativity, pages 273{279.<br />

ACM, May 1995.<br />

[77] Paul Kabbash, I. Scott MacKenzie, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. Human performance<br />

using computer input devices in the preferred <str<strong>on</strong>g>and</str<strong>on</strong>g> n<strong>on</strong>-preferred h<str<strong>on</strong>g>and</str<strong>on</strong>g>s. In<br />

Proceedings of the InterCHI '93, pages 474{481, 1993.<br />

[78] Bernard Kasser, Bernhard Joss, <str<strong>on</strong>g>and</str<strong>on</strong>g> Sephen J. Bisset. Touch Sensing Method<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Apparatus. U.S. Patent 5790107, August 4 1998.<br />

[79] D<strong>on</strong>ald E. Knuth. The Art of Computer Programming: Sorting <str<strong>on</strong>g>and</str<strong>on</strong>g> Searching,<br />

volume 3. Addis<strong>on</strong>-Wesley, Reading, Massachusetts, 2nd editi<strong>on</strong>, 1973.<br />

[80] D. K<strong>on</strong>ig. Theorie der endlichen und unendlichen Graphen. Akademie-Verlag,<br />

Leipzig, 1936.<br />

[81] Myr<strong>on</strong> W. Krueger. Arti cial Reality II. Addis<strong>on</strong>-Wesley, New York, 1991.<br />

[82] Valerie Kucharewski. Technology evaluati<strong>on</strong>: One-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed typing devices.<br />

http://www.stanford.edu/~valya/hci.html, 1997.<br />

[83] H. W. Kuhn. The Hungarian Method for the assignment problem. Naval<br />

Research Quarterly, 2:83{97, 1955.<br />

[84] Shrawan Kumar. A c<strong>on</strong>ceptual model of overexerti<strong>on</strong>, safety <str<strong>on</strong>g>and</str<strong>on</strong>g> risk of injury<br />

in occupati<strong>on</strong>al settings. Human Factors, 36(2):197{209, June 1994.<br />

[85] Gord<strong>on</strong> Kurtenbach <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. The limits of expert performance<br />

using hierarchic marking menus. In Proceedings of INTERCHI '93, pages<br />

482{487, April 1993.<br />

[86] Gord<strong>on</strong> Kurtenbach, George Fitzmaurice, Thomas Baudel, <str<strong>on</strong>g>and</str<strong>on</strong>g> Bill Buxt<strong>on</strong>.<br />

The design of a gui paradigm based <strong>on</strong> tablets, two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> transparency.<br />

In Proceedings of CHI '97, pages 35{42, Atlanta, GA, March 1997.<br />

326


[87] Wendi Ann Latko. Development <str<strong>on</strong>g>and</str<strong>on</strong>g> Evaluati<strong>on</strong> of an Observati<strong>on</strong>al Method<br />

for Quantifying Exposure to <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Activity <str<strong>on</strong>g>and</str<strong>on</strong>g> Other Physical Stressors in<br />

Manual Work. Ph.D. dissertati<strong>on</strong>, University of Michigan, 1997.<br />

[88] Se<strong>on</strong>kyoo Lee. AFast Multiple-Touch-Sensitive Input Device. Master's thesis,<br />

University of Tor<strong>on</strong>to, 1984.<br />

[89] SK. Lee, W. Buxt<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> K.C. Smith. A multi-touch three dimensi<strong>on</strong>al touchsensitive<br />

tablet. In Proceedings of CHI '85, Tor<strong>on</strong>to, Ontario, April 1985.<br />

ACM.<br />

[90] Andrea Leganchuk, Shumin Zhai, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. Manual<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> cognitive bene ts of two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed input: An experimental<br />

study. ACM Transacti<strong>on</strong>s <strong>on</strong> Computer Human Interacti<strong>on</strong>,<br />

http://www.dgp.utor<strong>on</strong>to.ca/people/<str<strong>on</strong>g>and</str<strong>on</strong>g>rea/bimanual.html, 1999. in press.<br />

[91] Neil A. Levine. <str<strong>on</strong>g>Finger</str<strong>on</strong>g> worn graphic interface device. U.S. Patent 4954817,<br />

September 4 1990.<br />

[92] James D. Logan. System for Using A Touchpad Input Device for Cursor<br />

C<strong>on</strong>trol <str<strong>on</strong>g>and</str<strong>on</strong>g> Keyboard Emulati<strong>on</strong>. U.S. Patent 5666113, September 9 1997.<br />

[93] I. Scott Mackenzie. A note <strong>on</strong> the informati<strong>on</strong>-theoretical basis for Fitts' Law.<br />

Journal of Motor Behavior, 21:323{330, 1989.<br />

[94] I. Scott MacKenzie. Input devices <str<strong>on</strong>g>and</str<strong>on</strong>g> interacti<strong>on</strong> techniques for advanced<br />

computing. In W. Bar eld <str<strong>on</strong>g>and</str<strong>on</strong>g> T.A. Furness III, editors, Virtual Envir<strong>on</strong>ments<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Advanced Interface Design, pages 437{470. Oxford University Press, Oxford,<br />

UK, 1995.<br />

[95] I. Scott MacKenzie <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. Extending Fitts' Law to twodimensi<strong>on</strong>al<br />

tasks. In Proceedings of the CHI '92 C<strong>on</strong>ference <strong>on</strong> Human Factors<br />

in Computing Systems, pages 219{226, New York, 1992.<br />

[96] I. Scott MacKenzie <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. A tool for the rapid evaluati<strong>on</strong> of<br />

input devices using Fitts' Law models. SIGCHI Bulletin, 25(3):58{63, 1993.<br />

[97] I. Scott MacKenzie, Abigail Sellen, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. A comparis<strong>on</strong> of<br />

input devices in elemental pointing <str<strong>on</strong>g>and</str<strong>on</strong>g> dragging tasks. In Proceedings of<br />

the CHI '91 C<strong>on</strong>ference <strong>on</strong> Human Factors, pages 161{166, New York, 1991.<br />

ACM.<br />

[98] I. Scott MacKenzie, R. William Soukore , <str<strong>on</strong>g>and</str<strong>on</strong>g> Chris Pal. A two-ball mouse<br />

a ords three degrees of freedom. In Extended Abstracts of the CHI '97 C<strong>on</strong>ference<br />

<strong>on</strong> Human Factors in Computing Systems, pages 303{304, New York,<br />

1997.<br />

327


[99] I. Scott MacKenzie <str<strong>on</strong>g>and</str<strong>on</strong>g> Colin Ware. Lag as a determinant of human performance<br />

in interactive systems. In INTERCHI '93, pages 488{493. ACM, April<br />

1993.<br />

[100] Jock D. Mackinlay, George G. Roberts<strong>on</strong>, <str<strong>on</strong>g>and</str<strong>on</strong>g> Stuart K. Card. A semantic<br />

analysis of the design space of input devices. Human-Computer Interacti<strong>on</strong>,<br />

5:145{190, 1990.<br />

[101] Lillian G. Malt. Keyboard design in the electr<strong>on</strong>ic era. In<br />

PIRA Eurotype Forum, L<strong>on</strong>d<strong>on</strong> Hilt<strong>on</strong> Hotel, Park Lane, L<strong>on</strong>d<strong>on</strong><br />

http://www.teleprint.com/keyboard/history.html, September 14{15 1977.<br />

Malt Applied Systems, UK, Printing Industry Research Associati<strong>on</strong>.<br />

[102] S. Martello <str<strong>on</strong>g>and</str<strong>on</strong>g> P. Toth. Linear assignment problems. Annals of Discrete<br />

Mathematics, 31:259{282, 1987.<br />

[103] Edgar Matias, I. Scott MacKenzie, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. Half-qwerty: A <strong>on</strong>eh<str<strong>on</strong>g>and</str<strong>on</strong>g>ed<br />

keyboard facilitating skill transfer from qwerty. In Proceedings of the<br />

INTERCHI '93 C<strong>on</strong>ference <strong>on</strong> Human Factors in Computing Systems, pages<br />

88{94, New York, 1994. ACM.<br />

[104] Edgar Matias, I. Scott MacKenzie, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. Half-QWERTY:<br />

Typing with <strong>on</strong>e h<str<strong>on</strong>g>and</str<strong>on</strong>g> using your two-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed skills. In Compani<strong>on</strong> of the<br />

CHI '94 C<strong>on</strong>ference <strong>on</strong> Human Factors in Computing Systems, pages 51{52,<br />

New York, 1994. ACM.<br />

[105] Edgar Matias, I. Scott MacKenzie, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. One-h<str<strong>on</strong>g>and</str<strong>on</strong>g>ed touchtyping<br />

<strong>on</strong> a qwerty keyboard. Human-Computer Interacti<strong>on</strong>, 11:1{27, 1996.<br />

[106] Edgar Matias, I. Scott MacKenzie, <str<strong>on</strong>g>and</str<strong>on</strong>g> William Buxt<strong>on</strong>. A wearable computer<br />

for use in microgravity space <str<strong>on</strong>g>and</str<strong>on</strong>g> other n<strong>on</strong>-desktop envir<strong>on</strong>ments. In Compani<strong>on</strong><br />

of the CHI '96 C<strong>on</strong>ference <strong>on</strong> Human Factors in Computing Systems,<br />

pages 69{70, New York, 1996. ACM.<br />

[107] Paul McAvinney. The Sensor Frame-a gesture-based device for the manipulati<strong>on</strong><br />

of graphic objects. Available from SensorFrame, Inc., Pittsburgh, Pa.,<br />

December 1986.<br />

[108] Paul McAvinney. Telltale gestures. BYTE, 15(7):237{240, July 1990.<br />

[109] L. F. McGinnes. Implementati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> testing of a primal-dual algorithm for<br />

the assignment problem. Operati<strong>on</strong>s Research, 31:277{291, 1983.<br />

[110] Nimish Metha. A exible human machine interface. Master's thesis, University<br />

of Tor<strong>on</strong>to, 1982.<br />

328


[111] Robert J. Miller, Stephen Bisset, Timothy P. Allen, <str<strong>on</strong>g>and</str<strong>on</strong>g> Gunter Steinbach.<br />

Object Positi<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> Proximity Detector. U.S. Patent 5495077, February 27<br />

1996.<br />

[112] K.W. Mort<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> D. F. Mayers. Numerical Soluti<strong>on</strong> of Partial Di erential<br />

Equati<strong>on</strong>s. Cambridge University Press, Great Britain, 1994.<br />

[113] Gita Murthy, Norman J. Kahan, Alan R. Hargens, <str<strong>on</strong>g>and</str<strong>on</strong>g> David M. Rempel.<br />

Forearm muscle oxygenati<strong>on</strong> decreases with lowlevels of voluntary c<strong>on</strong>tracti<strong>on</strong>.<br />

Journal of Orthopaedic Research, 15(4):507{511, 1997.<br />

[114] M. Nakaseko, E. Gr<str<strong>on</strong>g>and</str<strong>on</strong>g>jean, W. Hunting, <str<strong>on</strong>g>and</str<strong>on</strong>g> R. Gierer. Studies <strong>on</strong> erg<strong>on</strong>omically<br />

designed alphanumeric keyboards. Human Factors, 27(2):175{187, 1985.<br />

[115] Claudia Nolker <str<strong>on</strong>g>and</str<strong>on</strong>g> Helge Ritter. Detecti<strong>on</strong> of ngertips in human h<str<strong>on</strong>g>and</str<strong>on</strong>g> movement<br />

sequences. In IpkeWachsmuth <str<strong>on</strong>g>and</str<strong>on</strong>g> Martin Frohlich, editors, Gesture <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Sign Language in Human-Computer Interacti<strong>on</strong>, Proceedings of the Internati<strong>on</strong>al<br />

Gesture Workshop, pages 209{218. Springer, New York, 1997.<br />

[116] A. Okabe, B. Boots, <str<strong>on</strong>g>and</str<strong>on</strong>g> K. Sugihara. Spatial Tessellati<strong>on</strong>s - C<strong>on</strong>cepts <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Applicati<strong>on</strong>s of Vor<strong>on</strong>oi Diagrams. John Wiley <str<strong>on</strong>g>and</str<strong>on</strong>g> S<strong>on</strong>s, Chichester, 1992.<br />

[117] Emil Pascarelli <str<strong>on</strong>g>and</str<strong>on</strong>g> Deborah Quilter. Repetitive Strain Injury: A Computer<br />

User's Guide. John Wiley <str<strong>on</strong>g>and</str<strong>on</strong>g> S<strong>on</strong>s, Inc., New York, 1994.<br />

[118] Mark Patrick <str<strong>on</strong>g>and</str<strong>on</strong>g> George Sachs. X11 Input Extensi<strong>on</strong><br />

Protocol Speci cati<strong>on</strong>. The X C<strong>on</strong>sortium,<br />

ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/Xi/proto ps.gz, versi<strong>on</strong> 1.0<br />

editi<strong>on</strong>, 1992.<br />

[119] P.C.D. Maltr<strong>on</strong> Ltd. Keyboards for people with special needs.<br />

http://www.maltr<strong>on</strong>.com, 1997.<br />

[120] Marko M. Pecina, Jelena Krmpotic-Nemanic, <str<strong>on</strong>g>and</str<strong>on</strong>g> Andrew D. Markiewitz.<br />

Tunnel Syndromes: Peripheral Nerve Compressi<strong>on</strong> Syndromes. CRC Press,<br />

New York, 2nd editi<strong>on</strong>, 1997.<br />

[121] Francis K.H. Quek. Unencumbered gestural interacti<strong>on</strong>. IEEE Multimedia,<br />

3:36{47, Winter 1996.<br />

[122] MD R. Werner, PhD T. J. Armstr<strong>on</strong>g, MS C. Bir, <str<strong>on</strong>g>and</str<strong>on</strong>g> M.K. Aylard. Intracarpal<br />

canal pressures: The role of nger, h<str<strong>on</strong>g>and</str<strong>on</strong>g>, wrist <str<strong>on</strong>g>and</str<strong>on</strong>g> forearm positi<strong>on</strong>.<br />

Clinical Biomechanics, 12(1):44{51, 1997.<br />

329


[123] Robert G. Radwin. Activati<strong>on</strong> force <str<strong>on</strong>g>and</str<strong>on</strong>g> travel e ects <strong>on</strong> overexerti<strong>on</strong> in<br />

repetitive key tapping. Human Factors, 39(1):130{140, March 1997.<br />

[124] Graham J. Reid, Cheryl A. Gilbert, <str<strong>on</strong>g>and</str<strong>on</strong>g> Patrick J. McGrath. The Pain Coping<br />

Questi<strong>on</strong>naire: preliminary validati<strong>on</strong>. Pain, 76:83{96, 1998.<br />

[125] David Rempel, Peter J. Keir, W. Paul Smutz, <str<strong>on</strong>g>and</str<strong>on</strong>g> Alan Hargens. E ects<br />

of static ngertip loading <strong>on</strong> carpal tunnel pressure. Journal of Orthopaedic<br />

Research, 15(3):422{426, 1997.<br />

[126] David Rempel, Elaine Serina, <str<strong>on</strong>g>and</str<strong>on</strong>g> Edward Klinenberg. The e ect of keyboard<br />

keyswitch make force <strong>on</strong> applied force <str<strong>on</strong>g>and</str<strong>on</strong>g> nger exor muscle activity.<br />

Erg<strong>on</strong>omics, 40(8):800{808, 1997.<br />

[127] M. J. Rose. Keyboard operating posture <str<strong>on</strong>g>and</str<strong>on</strong>g> activati<strong>on</strong> force: Implicati<strong>on</strong>s<br />

for muscle over-use. Applied Erg<strong>on</strong>omics, 2:198{203, 1991.<br />

[128] David A. Rosenbaum. Human Motor C<strong>on</strong>trol. Academic Press, Inc., New<br />

York, 1991.<br />

[129] Dean Rubine <str<strong>on</strong>g>and</str<strong>on</strong>g> Paul McAvinney. Programmable nger-tracking instrument<br />

c<strong>on</strong>trollers. Computer Music Journal, 14(1):26{41, 1990.<br />

[130] Dean Harris Rubine. The automatic recogniti<strong>on</strong> of gestures. Master's thesis,<br />

Carnegie Mell<strong>on</strong> University, 1991.<br />

[131] Joseph D. Rutledge <str<strong>on</strong>g>and</str<strong>on</strong>g> Ted Selker. Force-to-moti<strong>on</strong> functi<strong>on</strong>s for pointing.<br />

In D. Diaper et al., editor, Human-Computer Interacti<strong>on</strong> - INTERACT '90,<br />

pages 701{706, Yorktown N.Y., 1990. IBM T.J. Wats<strong>on</strong> Research Center.<br />

[132] Jacqueline L. Salm<strong>on</strong>. For students, a painful less<strong>on</strong> <strong>on</strong> computers. The<br />

Washingt<strong>on</strong> Post, Sunday:A01, May 17 1998.<br />

[133] Richard A. Schmidt. Motor C<strong>on</strong>trol <str<strong>on</strong>g>and</str<strong>on</strong>g> Learning. Human Kinetics Publishers,<br />

Inc., Champaign, Illinois, 1988.<br />

[134] Elaine R. Serina, C. D. Mote Jr., <str<strong>on</strong>g>and</str<strong>on</strong>g> David Rempel. Force resp<strong>on</strong>se of the<br />

ngertip pulp to repeated compressi<strong>on</strong> - e ects of loading rate, loading angle<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> anthropometry. J. Biomechanics, 30(10):1035{1040, 1997.<br />

[135] B. Shneiderman. An empirical comparis<strong>on</strong> of pie vs. linear menus. In Sparks of<br />

Innovati<strong>on</strong> in Human-Computer Interacti<strong>on</strong>, pages 79{88. Ablex Publishers,<br />

Norwood, N.J., 1993.<br />

330


[136] John L. Sibert <str<strong>on</strong>g>and</str<strong>on</strong>g> Mehmet Gokturk. A nger-mounted, direct pointing device<br />

for mobile computing. In Proceedings of UIST '97 Ban , pages 41{42, Alberta,<br />

Canada, 1997. ACM.<br />

[137] B. A. Silverstein, L. J. Fine, <str<strong>on</strong>g>and</str<strong>on</strong>g> T. J. Armstr<strong>on</strong>g. <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g>, wrist cumulative<br />

trauma disorders in industry. British Journal of Industrial Medicine, 43:779{<br />

784, 1986.<br />

[138] B. A. Silverstein, L. J. Fine, <str<strong>on</strong>g>and</str<strong>on</strong>g> T. J. Armstr<strong>on</strong>g. Occupati<strong>on</strong>al factors <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

carpal tunnel syndrome. American Journal of Industrial Medicine, 11:343{<br />

358, 1987.<br />

[139] Paula M. Sind. The e ects of structual <str<strong>on</strong>g>and</str<strong>on</strong>g> overlay design parameters of<br />

membrane switches <strong>on</strong> the force exerted by users. In Proceedings of the Human<br />

Factors Society - 34th Annual Meeting, pages 380{384. Department of<br />

Industrial Engineering <str<strong>on</strong>g>and</str<strong>on</strong>g> Operati<strong>on</strong>s Research, 1990.<br />

[140] R. William Soukore <str<strong>on</strong>g>and</str<strong>on</strong>g> I. Scott MacKenzie. Generalized Fitts' Law Model<br />

Builder. In Compani<strong>on</strong> Proceedings of the CHI '95 C<strong>on</strong>ference <strong>on</strong> Human<br />

Factors in Computing Systems, pages 113{114, New York, 1995.<br />

[141] David Joel Sturman. Whole-<str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> Input. Ph.D. dissertati<strong>on</strong>, Massachusetts<br />

Institute of Technology, 1992.<br />

[142] BJ Sumner. User's Guide to Pen for OS/2. IBM Corporati<strong>on</strong>, versi<strong>on</strong> 1.03<br />

editi<strong>on</strong>, 1995.<br />

[143] Synaptics, Inc. Synaptics touchpad software drivers <str<strong>on</strong>g>and</str<strong>on</strong>g> utilities.<br />

http://www.synaptics.com, 1998.<br />

[144] Esa-Pekka Takala, Sirna Lammi, Hannu Nieminin, <str<strong>on</strong>g>and</str<strong>on</strong>g> Eira Viikari-Juntura.<br />

Electromyographic changes in the static holding test of the arm. Internati<strong>on</strong>al<br />

Journal of Industrial Erg<strong>on</strong>omics, 12(1{2):85{90, 1993.<br />

[145] Mark A. Tapia <str<strong>on</strong>g>and</str<strong>on</strong>g> Gord<strong>on</strong> Kurtenbach. Some design re nements <str<strong>on</strong>g>and</str<strong>on</strong>g> principles<br />

<strong>on</strong> the appearance <str<strong>on</strong>g>and</str<strong>on</strong>g> behavior of marking menus. In Proceedings of<br />

UIST '95, pages 189{195, Pittsburgh, PA. USA, November 1995.<br />

[146] Jochen Triesch <str<strong>on</strong>g>and</str<strong>on</strong>g> Christoph v<strong>on</strong> der Malsburg. Robust classi cati<strong>on</strong> of<br />

h<str<strong>on</strong>g>and</str<strong>on</strong>g> postures against complex backgrounds. Proceedings of the 1996 2nd<br />

Internati<strong>on</strong>al C<strong>on</strong>ference <strong>on</strong> Automatic Face <str<strong>on</strong>g>and</str<strong>on</strong>g> Gesture Recogniti<strong>on</strong>, pages<br />

170{175, October 14{16 1996.<br />

331


[147] John Viega, Matthew C<strong>on</strong>way, George Williams, <str<strong>on</strong>g>and</str<strong>on</strong>g> R<str<strong>on</strong>g>and</str<strong>on</strong>g>y Pausch. 3D<br />

Magic Lenses. In Proceedings of UIST '96, pages 51{58, Seattle, Washingt<strong>on</strong>,<br />

1996.<br />

[148] Inc. VPL Research. Data Glove Model 2 User's Manual. Redwood City, CA,<br />

1987.<br />

[149] Wacom Technology Co. Intuos: the rst intelligent graphics tablet system.<br />

http://www.wacom.com/productinfo/intuos.html, 1998.<br />

[150] CH. Wagner. The pianist's h<str<strong>on</strong>g>and</str<strong>on</strong>g>: anthropometry <str<strong>on</strong>g>and</str<strong>on</strong>g> biomechanics. Erg<strong>on</strong>omics,<br />

31(1):97{129, 1988.<br />

[151] Demin Wang. A multiscale gradient algorithm for image segmentati<strong>on</strong> using<br />

watersheds. Pattern Recogniti<strong>on</strong>, 30(12):2043{2052, 1997.<br />

[152] Colin Ware. Using h<str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> for virtual object placement. The Visual<br />

Computer, 6:245{253, 1990.<br />

[153] Colin Ware <str<strong>on</strong>g>and</str<strong>on</strong>g> Danny R. Jessome. Using the Bat: A six-dimensi<strong>on</strong>al mouse<br />

for object placement. IEEE Computer Graphics <str<strong>on</strong>g>and</str<strong>on</strong>g> Applicati<strong>on</strong>s, pages 65{<br />

70, November 1988.<br />

[154] Pierre Wellner. The DigitalDesk Calculator: Tactile manipulati<strong>on</strong> <strong>on</strong> a desk<br />

top display. In Proceedings of UIST '91, pages 27{33. ACM, November 1991.<br />

[155] Pierre Wellner. Interacting with paper <strong>on</strong> the digitaldesk. Communicati<strong>on</strong>s<br />

of the ACM, pages 1{17, July 1993.<br />

[156] Pierre D. Wellner. Adaptive thresholding for the digitaldesk. Technical Report<br />

EPC-93-110, Rank Xerox EuroPARC, 1993.<br />

[157] Pierre D. Wellner. Self calibrati<strong>on</strong> for the digitaldesk. Technical Report EPC-<br />

93-109, Rank Xerox EuroPARC, 1993.<br />

[158] Wayne Westerman. Design <str<strong>on</strong>g>and</str<strong>on</strong>g> evaluati<strong>on</strong> of a touch typing recognizer for a<br />

multi-touch surface. in preparati<strong>on</strong>, 1999.<br />

[159] Wayne Westerman <str<strong>on</strong>g>and</str<strong>on</strong>g> John Elias. A method <str<strong>on</strong>g>and</str<strong>on</strong>g> apparatus for capacitive<br />

imaging of multiple nger c<strong>on</strong>tacts. U.S.PatentProvisi<strong>on</strong>al Applicati<strong>on</strong> Serial<br />

#60/072,509, January 26 1998.<br />

[160] Wayne Westerman <str<strong>on</strong>g>and</str<strong>on</strong>g> John Elias. Graphical manipulati<strong>on</strong> via nger chords<br />

<strong>on</strong> amulti-touch surface. in preparati<strong>on</strong>, 1999.<br />

332


[161] Wayne Westerman <str<strong>on</strong>g>and</str<strong>on</strong>g> John Elias. <str<strong>on</strong>g>H<str<strong>on</strong>g>and</str<strong>on</strong>g></str<strong>on</strong>g> tracking <str<strong>on</strong>g>and</str<strong>on</strong>g> nger identi cati<strong>on</strong> <strong>on</strong><br />

a multi-touch surface. in preparati<strong>on</strong>, 1999.<br />

[162] Wayne Westerman <str<strong>on</strong>g>and</str<strong>on</strong>g> John Elias. A method <str<strong>on</strong>g>and</str<strong>on</strong>g> apparatus for integrated<br />

manual input. U. S. Patent Applicati<strong>on</strong> Serial #09/236,513, January 25 1999.<br />

[163] Alan Daniel Wexelblat. A feature-based approach to c<strong>on</strong>tinuous-gesture analysis.<br />

Master's thesis, University of Pennsylvania, 1994.<br />

[164] Ph.D. William Hargreaves, M.D. David Rempel, Nachman (Manny) Halpern,<br />

M.D. Robert Markis<strong>on</strong>, Dr. Ing. Karl Kroemer, <str<strong>on</strong>g>and</str<strong>on</strong>g> Jack Litewka. Toward a<br />

more humane keyboard. In CHI '92, pages 365{368, May 1992.<br />

[165] Shaojun Xiao <str<strong>on</strong>g>and</str<strong>on</strong>g> Samy CS Leung. Muscle fatigue m<strong>on</strong>itoring using wavelet<br />

decompositi<strong>on</strong> of surface EMG. Biomedical Sciences Instrumentati<strong>on</strong>, 34:147{<br />

152, 1998.<br />

[166] Wayne Yacco. The BAT: Infogrip's keyboard good pick for alternative input<br />

device. MacWEEK, 6(27):71, July 27 1993.<br />

[167] Shumin Zhai. Human performance in six degree offreedom input c<strong>on</strong>trol. Ph.D.<br />

dissertati<strong>on</strong>, University of Tor<strong>on</strong>to, 1995.<br />

[168] Shumin Zhai, Eser K<str<strong>on</strong>g>and</str<strong>on</strong>g>ogan, Bart<strong>on</strong> A. Smith, <str<strong>on</strong>g>and</str<strong>on</strong>g> Ted Selker. In search of<br />

the "Magic Carpet": Design <str<strong>on</strong>g>and</str<strong>on</strong>g> experimentati<strong>on</strong> of a bimanual 3d navigati<strong>on</strong><br />

interface. Journal of Visual Languages <str<strong>on</strong>g>and</str<strong>on</strong>g> Computing, February 1999.<br />

[169] Shumin Zhai, Paul Milgram, <str<strong>on</strong>g>and</str<strong>on</strong>g> Anu Rastogi. Anisotropic performance in six<br />

degree-of-freedom tracking: An evaluati<strong>on</strong> of 3D display <str<strong>on</strong>g>and</str<strong>on</strong>g> c<strong>on</strong>trol interfaces.<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Systems, Man, <str<strong>on</strong>g>and</str<strong>on</strong>g> Cybernetics { part A: Systems <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

Humans., 27(4):518{528, July 1997.<br />

[170] Shumin Zhai, Bart<strong>on</strong> A. Smith, <str<strong>on</strong>g>and</str<strong>on</strong>g> Ted Selker. Dual stream input for pointing<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> scrolling. In Proceedings of CHI '97 Extended Abstracts, 1997.<br />

[171] Shumin Zhai, Bart<strong>on</strong> A. Smith, <str<strong>on</strong>g>and</str<strong>on</strong>g> Ted Selker. Improving browsing performance:<br />

A study of four input devices for scrolling <str<strong>on</strong>g>and</str<strong>on</strong>g> pointing tasks. In Proceedings<br />

of INTERACT '97: The Sixth IFIP C<strong>on</strong>ference <strong>on</strong> Human-Computer<br />

Interacti<strong>on</strong>, pages286{292, July 1997.<br />

[172] S. W. Zucker. Regi<strong>on</strong> growing: childhood <str<strong>on</strong>g>and</str<strong>on</strong>g> adolescence. Computer Graphics<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> Image Processing, 5:382{399, 1976.<br />

333

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!