This homework is due at the beginning of class 22 on Tuesday, November 21, 2000. Note: K2.3 denotes homework problem 3 from chapter 2 of the class text.
hgs 120 84 345 183 ... hgs 138 48 483 181 ... hgs 118 57 423 151 ... hgs 129 77 413 174 ...
In the example, the pause between "T" and "h" in the first try is 120 ms. The list should have N-1 entries, where N is the number of characters in the test string (N=19 in our example.). The ... indicate omission of some of the numbers.
If your typing skills are not so great, you might want to do a "warm up" exercise before doing the measurements.
See if it is possible to compute a distance metric that reliably distinguishes you from your classmates, yet also recognizes you later on (on the same type of keyboard). A distance metric translates the vector difference between two people into a single number. As discussed in class, there are two modes: "confirmation", where the purported identity of the person is known and needs to be confirmed, and "identification" mode, where the system needs to pick the person from the database that most closely matches the input.
The choice of distance metric between training and measurement data is up to you, but you might want to investigate whether scaling helps or hurts recognition (in either "confirmation" or "identification" mode).
To provide enough data to everyone, please submit your measurements to the bulletin board soon, before you have finished the part that recognizes whether this is friend or foe.
Your program should take as input from a file a list of pause lists, one per line, as training material. The list of pauses for the unknown typist is provided on the command line. For example,
typeid -f training.txt 183 482 481 48 437The command prints out an an indication who it thinks is typing the sentence.
Hints:
#include <curses.h> ... initscr(); cbreak(); nonl(),intrflush(stdscr,FALSE),keypad(stdscr,TRUE); while (1) { ch = getch(); } endwin();(50 pts.)
Last updated by Henning Schulzrinne