distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant -...

29

Upload: others

Post on 27-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

Distinctive-touchgesture-based authentication for touch-screen displaysmax van kleek : mas.622j : dec.7.2004

Page 2: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

“smart” digital touch-screendisplays in places peoplecongregate, accidentallymeet one another mostoften

located in high-traffic spaces:building entrances, elevatorlobbies, hallways, lounges,kitchenettes, cafeterias,

ok-net

Page 3: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

personalization requires user identification

biometrics violate privacy -users can’t change theirbiologies

RFID requires user to carryaround a badge

usernames/passwords arecumbersome, slow

these techniquesare overkill,and not scalable

Page 4: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

distinctive touch:recognizes you by your “passdoodle”a multi-stroke gesture-based signature

users train 5-10 training examples: < 5 seconds each

Page 5: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

>> min(times)

1.0290 0.4060 1.5410 0.5180 0.3540 1.1390 1.39901.0310 2.2330 1.0930

>> mean(times)

1.3309 0.9380 2.4711 0.9367 0.5284 1.4328 1.56741.1913 2.4735 1.3355

>> max(times)

2.0140 1.5030 2.9120 1.3070 0.6900 1.8130 1.91801.3330 2.8690 1.7490

>> std(times)

1.2539 0.3313 1.1927 4.3841 2.1382 0.3453 2.23510.3209 0.7660 1.6609

>> mean(mean(times))

1.4206

>> vstd(times)

0.6467

< 5 seconds

Page 6: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

building a dt classifier

trainedclassifier

“max!”

Page 7: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

trainedclassifier

“max!”

(1) (2) (3) (4)

talk outline

Page 8: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

training set

trainedclassifier

“max!”

Page 9: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

training set: hiragana character set

Page 10: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

training set: hiragana character set

train set:45 classes10 ex each1-5 strokes

test set:45 classes5 ex each

Page 11: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

training set: hiragana character set

train set:45 classes10 ex each1-5 strokes

test set:45 classes5 ex each

Page 12: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

training set: hiragana character set

train set:45 classes10 ex each1-5 strokes

test set:45 classes5 ex each

Page 13: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

dt versus handwriting recognition

•stroke order•rejection

•velocity and timing•# ex / # of classes

Page 14: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

trainedclassifier

“max!”

feature extraction

Page 15: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

feature extractiondean rubine: specifying gestures by example13 unistroke features: 11 geometric, 2 time

total time duration of a strokef13f13fv

max instantaneous velocity within a strokef12f12fv

sum of squared angles traversed by stroke(“jagginess”)

f11f11fv

sum of absolute angle traversed by thestroke (“curviness”)

f10f10fv

sum of angle traversed by the strokef9f9fv

sine and cosine of start and end angles of astroke

f1,f2,f6,f7f1fv

euclidean distance between start and end ptsof a stroke

f5startendfv

stroke bounding box aspect ratiof4f4fv

dimension of bounding box of a strokef3bboxfv2

total euclidean distance traversed by a strokef8distfv

descriptionrubine extrdt extractor

Page 16: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

generalizing unistroke feature vectors tovariable #s of strokes

f13

...

f4

f3

f2

f1

f13s1f13s2f13s3

...

f4s1f4s2f4s3

f3s1f3s2f3s3

f2s1f2s2f2s3

f1s1f1s2f1s3

for fld,svm, nnets, glds..

f13s100

...

f4s100

f3s100

f2s100

f1s100

f13s1f13s20

...

f4s1f4s20

f3s1f3s20

f2s1f2s20

f1s1f1s20

f13s100

...

f4s100

f3s100

f2s100

f1s100

perils:

sparse vectors

“0” sentinelunintentionallymisinformative?

allocate space for all stroke features in each “feature frame”; preserve frame alignment

try & see..!

Page 17: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

generalizing unistroke feature vectors tovariable #s of strokes

solution #2:

represent each stroke as a sequence; useappropriate techniques

Page 18: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

trainedclassifier

“max!”

(1) (2) (3) (4)comparing classifiers

Page 19: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

k-nearest neighbors - all features

Page 20: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

k-nearest neighbors - individual features

Page 21: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

k-nearest neighbors - combinations

Page 22: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

strokewise ML -

simplest multistrokegenerative model

represent each classas separate sequencesof states, each representinga stroke.

Each state thus has anassociated parametricdistribution overthe values of that stroke’sfeature vector

strictly encodes ourprevious assumption thatstrokes of the same classalways arrive in the sameorder... otherwise, we’dneed an HMM.

Page 23: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

estimation - µs Σs obtained from ML estimate of mean, cov of feature vectors for each stroke in that class

classification - maximum log posterior prob over models(during comparison, models with different # of strokes

than a gesture are immediately rejected)

strokewise ML - 1 gaussian per stroke

easily generalizable to gaussian mixtures - just apply EM

Page 24: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

strokewise ML - 1 gaussian per stroke

0.41780.6378f13fv

0.12890.2756f12fv

0.33330.4311f11fv

0.42220.5467f10fv

0.58220.6511f9fv

0.75110.8889f1fv

0.44000.6067startendfv

0.42670.5156f4fv

0.67560.8067bboxfv2

0.34670.5422distfv

test performancel-o-o performancefeatures

performance with individual features

Page 25: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

strokewise ML - 1 gaussian per stroke

0.88000.9711all combined: distfv,bboxfv2, f4fv,startendfv, f1fv, f9fv,f10fv, f12fv, f13fv

0.96440.9778f1fv, f9fv, distfv,startendfv

0.88890.9644f1fv, startendfv, f9fv,distfv

0.91560.9733f9fv, bboxfv2,startendfv

test performancel-o-o performancefeatures

performance with multiple features

Page 26: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

fisher linear discriminant - (1-dimensional)OVA (one-versus-all):train C FLD binary classifiers on the fvsevaluate each one on the test point +1 if it gets the label right, 0 otherwise / (C*N)

0.84000.9333f13fv

0.70670.8467f12fv

0.55560.7867f11fv

0.57780.8467f10fv

0.76440.8711f9fv

0.90220.9244f1fv

0.8800.9600startendfv

0.75560.8444f4fv

0.87110.9356bboxfv2

0.83110.9422distfv

test performancel-o-o performancefeatures

Page 27: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

fisher linear discriminant -

combined features (warning: figures are a bit misleading; we’ll describe why in the next section)

0.96440.9778f1fv, f9fv, f11fv,distfv, startendfv

0.91560.9867f1fv, f12fv, distfv,startendfv, bboxfv2

0.97330.9533f1fv, f9fv, startendfv

0.84890.9822bbox2, f12fv,startendfv

test performancel-o-o performancefeatures

Page 28: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

support vector machines -

OSU SVM Toolkit for Matlab [ http://www.ece.osu.edu/~maj/osu_svm/ ]

0.99230.9923all combined

0.97780.9778f13fv

0.97750.9774f12fv

0.97780.9778f11fv

0.97780.9778f10fv

0.97780.9778f9fv

0.98310.9831f1fv

0.97780.9778startendfv

0.97840.9784f4fv

0.97890.9789bboxfv2

0.97900.9790distfv

quad k test perflinear k test perf.features

training took too long - no l-o-o

Page 29: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

trainingdoodles

featureextraction

build amodel/train

classifier

trainedclassifier

“max!”

(1) (2) (3) (4)

comparing results:classifier behavior

Page 30: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

comparison

k-nearest-neighbors - simple, most sensitive to choice of feature extractors

sequential ML - simple to estimate, strictly requires stroke order

fisher linear discriminant (1d) - performed well

support vector machines (lin, quad kernel) - outperformed other methods, took significant training time

Page 31: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

rejection

knn - greedily chooses k nearest neighborsstrokewise ML - chooses largest log likelihood

⇒ choose thresholds empirically using l-o-ovalidation (in theory, tricky in practice -soft thresholds difficult to manage)

FLD and SVMs - gauge ‘specificity’ of discriminantsby measuring performance as follows:

+1 iff all C FLDs/SVMs are correct0 otherwise=> “strict criterion”

Page 32: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

support vector machines - strict criterion

0.7511

0.7867

quartic k

0.8000

0.8311

cubic k

0.84000.6489f1fv, f9fv, f11fv,bboxfv2, distfv

0.84440.7244f1fv bboxfv2distfv, f9fvstartendfv

0.62220.6978all features

quad klinear kfeatures

test performance with polynomial kernel:

Page 33: Distinctive-touchpeople.csail.mit.edu/emax/dt/mas.622-dt.pdffisher linear discriminant - (1-dimensional) OVA (one-versus-all): train C FLD binary classifiers on the fvs evaluate each

comments?http://people.csail.mit.edu/~emax/dtwrite me: [email protected]

(by the way, matlab runs much faster + crashes less without the GUI! matlab -nodesktop )

..good night!