Using Mobile Phones To Write In Air

advertisement
Using Mobile Phones To Write In Air
Sandip Agrawal and Romit Roy Choudhury
Dept. of Electrical and Computer Engineering, Duke University
Ionut Constandache
Dept. of Computer Science, Duke University
Shravan Gaonkar
Dept. of Computer Science, University of Illnois
Kevin Caves and Frank DeRuyter
Speech Pathology & Audiology, Duke Medical School
Proceeding MobiSys '11
Proceedings of the 9th international conference on
Mobile systems, applications, and services
Speaker: Yi-Ting Chen
Outline
Introduction
Use Cases
Core Challenges
System Design and Algorithms
Implementation and Evaluation
Limitation
Conclusion
2
A scenario
While driving to office, Leslie stops at a traffic light. She
remembers that she needs to call her friend, Jane, very soon.
She decides to make a note of this task.
She reaches for her phone from the pocket, and by holding it
like a pen, she writes “JANE” in the air. She also gestures a
checkmark to email the written note to herself.
Once in her office, she finds an email in her mailbox that
reads “PhonePoint Pen – JANE”.
3
Introduction
Typing an SMS, while popular among the youth, has been
unpopular among a moderate section of society.
Even if future keyboards improve the typing experience,
some problems may still persist.
While walking, or with one hand occupied, typing in
information may be inconvenient.
The ability to write without having to look at the phone
keypad may offer an added advantage.
4
Introduction
This paper proposes to use the in-built accelerometer in
modern mobile phones to capture (short) written information,
called PhonePoint Pen.
The PhonePoint Pen system aims to allow
humans to write messages or diagrams
in the air by using a phone as a pen.
Platform: Nokia N95
5
Use Case
Assistive Communications for Impaired Patients
One-handed Use
Equations and Sketching
Emergency Operations and First Responders
Other devices and applications
(e.g., a TV remote control could allow users to write number
to switch channel)
6
Core Challenge
1. Filtering Hand Rotation without Gyroscope
2. Coping with Background Vibration (Noise)
3. Computing Displacement of Phone
4. Differentiating an “A" from a Triangle
5. Identifying Character Transitions
7
Filtering Hand Rotation without Gyroscope
Issue:
Nokia N95 phones can measure linear movement along each
axis, but cannot detect rotation.
Proposed Approach:
(i) The simpler one is to pretend that one of the corners of
the phone is the pen tip, and to hold it in a non-rotating grip.
(ii) An accelerometer reading at this paused timepoint can
identify the components of gravity on each axes, and hence,
the angular orientation θ can be determined.
8
Filtering Hand Rotation without Gyroscope
9
Coping with Background Vibration
(Noise)
Issue: Accelerometers are sensitive to small vibrations.
10
Coping with Background Vibration
(Noise)
Proposed Approach:
First, we smooth the accelerometer readings by applying a
moving average over the last n readings (in our current
prototype, n=7).
11
Coping with Background Vibration
(Noise)
Proposed Approach:
Next, we mark as noise all acceleration values less than
0.5m/𝑠 2 .
12
Computing Displacement of Phone
Proposed Approach:
The displacement
we look at consecutive accelerometer readings marked as
noise in the previous step.
13
Differentiating an “A" from a Triangle
Issue:
While writing character “A”, the pen does not know the last
stroke “–” should be added in the center (to indicate an “A”),
or at the bottom(to indicate a triangle, ∆)
Proposed Approach:
The lifting of the pen generates an identifiable impulse on
the Z axis. Set a certain threshold, label that stroke as a
“lifting of the pen”.
It will be going off the record, not get included in the final
output, but still monitored for pen repositioning.
14
Identifying Character Transitions
Issue:
For instance, “B” and “13” may have the exact same handmovement, including the pen-lift.
Proposed Approach:
The simplest approach is to require the user to include a
special gesture between characters, like a “dot” or a
relatively longer pause.
15
System Design and Algorithm
The geometric version can be displayed or emailed as an
image.
Conversion to text is likely to be more useful (for browsing
and searching).
This section develops the algorithmic components towards
this goal.
16
Stroke Detection
Characters can be viewed as a sequence of strokes.
We have analyzed the English alphabets and characterized
the basic set of strokes.
17
Stroke Detection
To identify the strokes, computes a running variance of the
accelerometer readings. When this variance falls below a
threshold, the system marks those regions as a pause of the
hand.
18
Character Recognition
19
Character Recognition
The stroke grammar presents a number of ambiguities.
“O” and “S” :
If the hand is moving upwards, computed from the sign of
the Y-axis acceleration, the alphabet is declared as an “O”.
“D” and “P”:
If the ranges are comparable (second stroke being greater
than 0.75 of the first), the alphabet is deemed as a “D”.
“X” and “Y”
20
Word Recognition
First, we make the observation that while transitioning from
one alphabet to the next, users have a naturally longer pause.
Second, we observe that if the hand moves in a leftward
horizontal direction, it may be a hint about the start of a new
character.
Third, we ask the users to gesture a “dot” between characters.
For example, “13” should be written as “|.ƆƆ”, while the “B”
should be “|ƆƆ”.
21
Control Gestures
The PhonePoint Pen assigns a unique gesture:
The space is denoted by a long horizontal movement or two dots.
The deletion is like using an eraser – the users shakes her hand
at least four times briskly.
To email, the user must draw a check mark in the air.
22
Implementation and Evaluation
We prototyped the PhonePoint Pen on a Nokia N95 mobile
phone.
The system equips with a software accessible 3-axes
accelerometer.
The phone accelerometer was programmed to obtain 30-35
instantaneous acceleration readings per second.
We developed a server side implementation first on
MATLAB and ported this code on Python for on-phone
processing.
23
Evaluation Methodology
We define accuracy as the fraction of successful recognitions,
when a user writes individual alphabets/characters or words.
Compute character recognition accuracy
Compute word-recognition accuracy
24
Performance Evaluation
We present the evaluation results from the Duke University student
group.
25
Systematic Evaluation -- performance
We asked 2 expert users to draw each English alphabet 10 times.
The performances are comparable, except in some cases (D, G, Q, Y)
90.15%
77%
26
Systematic Evaluation -- performance
27
Systematic Evaluation
-- inexperienced users
Requested 4 trained users and 4 novice users to write all 26 alphabets
only one trial.
28
Systematic Evaluation – Speed to write
On average, correctly decoded characters were written in
around 4.5 seconds.
29
Systematic Evaluation – Word recognition
Randomly selected humans were able to read the words with
40% error.
30
Energy Measurements
We sampled the accelerometer at the same rate as
PhonePoint Pen on a fully charged Nokia N95 8GB phone.
The phone exhibited an average battery-lifetime of 40 hours.
We conclude that PhonePoint Pen’s impact on battery
lifetime is marginal, especially in light of its occasional
usage pattern.
31
Limitations
Drawing and Writing Long Words still Primitive
Writing while Moving
Cursive Handwriting
Smaller Alphabets and Quicker Writing
Realtime Character Display
Comment on Survey and Testing Population
32
Conclusion
This paper attempts to exploit the accelerometer in mobile
phones to develop a new input technology.
By holding the phone like a pen, the user should be able to
write short messages in the air.
The written message is displayed on the phone-screen, and
may also be emailed to the user if she desires.
33
Thanks for your listening!
34
Download