Hand Tracking, Finger Identification, and Chordic Manipulation on
Hand Tracking, Finger Identification, and Chordic Manipulation on
Hand Tracking, Finger Identification, and Chordic Manipulation on
- 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