throbber
ee
`
`CHAPTER & MULTL-RAIH GESTURE RECOGNITION
`
`4 multi-path gesture classes
`
`p
`
`8
`ie
`ql
`4 cantnenentincettetton
`no
`pi
`1
`™~.
`i
`Ones Peer i anne
`
`po
`
`Q
`
`R
`
`Multi-path
`
`sion Tree
`
`\p
`
`‘gl (chosen gesture)
`
`Input
` _oee
`
`_f
`
`pif
`
`.
`
`este
`Figure 5.3: Classifying multi-path ge
`
`At the top are examples offour two-pathgestures expectcdivthis class:‘ferf alandatthe Icita two-pathgesture
`These path classaificatons are usedto traverse the decision TCL, aS shown by the dottedfines, The tree nade
`thegesture is recognizedas class6
`
`ia be classified. Path Gofthis gesture is classified (hy the path O classifier]
`
`reachedis ambiguous (having children Q and S) so g
`
`as pati 0, and palh 7 as qt.
` te
`
`thal features are usedto resolve the discrepancy, and
`
`Page 1251 of 1714
`
`SAMSUNG EXHIBIT 1006 (Part 7 of 8)
`
`Page 1251 of 1714
`
`
`
`SAMSUNG EXHIBIT 1006 (Part 7 of 8)
`
`

`

`44 TRAINING A MULTIPATHCLASSIFIER
`
`a
`
`Fa
`
`5.4 Training a Multi-path Classifier
`
`The training algorithm for a multi-path classifier uses examples of each nmulti-path gesture class
`(typically ten to twenty examples of each class) to create a classifier The creation of a multi-path
`classifier consists of the creation of a global classifier, a wumber of path classifiers, and a decision
`tree.
`
`5.4.1 Creating the statistical classifiers
`
`The path classifiers and the global classifiers arc created using the statistical algorithmdescribed in
`Chapter 3. The paths of each example are sorted, the paths for a given sorting index im each class
`forming a class used to train the path classifier for that index.
`For example, consider training a multi-path classifier to discriminate between two orelti-path
`gesture classes, A and 8, each consisting of two paths. Gesture class A consists of two path classes,
`A; and Aj, the sabscript indicating the sorting indices of the paths. Similarly, class & consists of
`path classes A; and B;. The first path in all the A examples form the class 4;, and so on. The
`examples arc used to train path claasificr 1 ta discriminate betwoen A, and &,, and path classifier
`2 to discriminate between Ay and &:. The global features af A and § are used to create the global
`classifier, noroinally able to discriminate between twoclasses of global features, Ay and Bg.
`Within a given sorting index, it is quite possible and legitimate for paths fromdifferent gesture
`classes to be indistinguishable. For example, path classes A; and B, may both be siraight right
`strokes. (Presurnably A and 8 are distinguishable by their second paths or global features.) In this
`case itis likely that examples of class Ay will he raisclassified as 6; or vice versa. Tt is desirable to
`removethese ambiguities from the path classifier by combining all classes which could be mistaken
`for each other into a single class.
`Asumiber of approaches could be taken for detecting and removing ambiguities fromastatistical
`classifier, One possible approach wouldbe to compute the Mahalanchis distance between cach pair
`of classes, merging thase belowa given threshold. Another approachinvolves applying a clustering
`algorithm[74] to all the examples, merging those classes whose members are just as likely to cluster
`with examples from other classes as their own. A third approachis to actually evaluate the actual
`performance of a classificr which attempts to distinguish between passibly ambiguous classes; the
`misclassi fications of the classifier then indicate which classes are to be merged. The latter approach
`was the one pursued here.
`A native approach for evaluating the performance of a classifier would be to construct the
`classifier using a set of examples, and then testing the performance afthe classifier on those very
`same examples. This approach obviously underestimates the ambiguities of the classes since the
`classifier will be biased toward correctly classifying its training examples [62]. Instead, a classifier
`is constructed using only a small number of the examples (typically five per class) and then uses
`the remaming examples to evaluate the constructed classifiers. Misclassifications of the examples
`then indicate classes which are ambiguous and should be merged.
`In practice, thresholds mast be
`established so that a single or very small percentage of ousclassifications does not cause a merger.
`Mathematically, carbine classes is a sinmple operation. The mean vector of the combined
`class is computed as the average of the mean vectors of the component classes, each weighted by
`
`Page 1252 of 1714
`
`Page 1252 of 1714
`
`

`

`86
`
`CHAPTER & MULTI-PATH GESTURE RECOGNITION
`
`the relative number of examples in the class. A similar operation computes a composite average
`covariance matrix from the covariance matrices of the classes being combined.
`The above algorithm, which removes ambiguities by cornbining classes, is apphed to each path
`classifier as well as the global classifier. Tt remains now only to constract the decision tree for the
`nxnlti-path classifier.
`
`5.4.2 Creating the decision tree
`
`A decision tree node has two fields: mclags, a pointer to a niulti-path gesture class, and next,
`a pounler lo an array of pouders to its subnades. To construct ihe decision tree, a root nade is
`allocated. Then, during the class phase, each multi-path gesture class is considered in turn. For
`each, a sequence of path classes Ga sort index order}, with ifs glohal feature class appended
`consimicted. Nades are ercated in the decision tree in such a way that by following the sequence
`a feaf node whose mclags vahue is the current multi-path gesture class is reached. This creates a
`decision tree which will correctlyclassify all multi-class gesture whose component paths and global
`features are correctly classified.
`Next, during the examplephase, cach example gesture is considered in turn. The paths are sorted
`and classified, as are the global features. A sequence is constructed and the class of the gesture is
`added to the decision tree at the location corresponding to this sequence as before. Normally, the
`paths and global features of the gesture will have been classified correctly, so there would already be
`a nodein the tree correspondingto this sequence. However, if one of the paths or the global feature
`vector of the gesture was classtiied incorrectly, a mew node maybe created in the decision trec, and
`s the same classification mistake in the future will stul result in a correct classification for the
`
`etuee
`
`When attempting ta add a class using 4 sequence whose components are misclassifications,
`it is possible that the decision tree node reached already bas a non-null melass field referring
`to a different mmulti-path gesture class than the cne whose example is currently being considered.
`This is a confict and is resofved by ignoring the current example (though a warning message is
`printed). [gnoring all but the first instance of a Sean’© insures that the sequences generated during
`the class phase will take precedence over those generated during the example phase. anCORESE,
`
`a conflict occurring during the class phase indicates a serious problem, namely a pair of
`classes between which the multi-path classifier is anable to discriminate.
`During decision tree construction, nodes that have only one global feature class entry with a
`subnode have theirmclass value set to the same gesture class as the molass vahie of that subnode.
`in other words, sequences that can be classified without referring to their global feature class are
`marked as such. ‘Uhis avoids the extra work (and potential for error) of global feature classification.
`
`gesture
`
`5.5 Path Features and Global Features
`
`‘The classification of the individual paths and of the global features of a multi-path gesture are
`central to the multi-path gesture recognition aleorithodiscussed thus far. This section describes the
`particular feature vectors used in more detail.
`
`Page 1253 of 1714
`
`Page 1253 of 1714
`
`

`

`S@ AFURTHER IMPROVEMENT
`
`37
`
`The classification algorithm usedto classify paths and global features is the statistical algorithm
`discussed in Chapter 3, thus the criteria for feature selection discussed in section 3.3 must be
`addressed.
`[Tn particular, oaly features with Gaussian-like distributions thal can be calculated
`
`he path featares include all the features mentioned in Chapter 3. One additional featare was
`
`tneremnentally are considered.
`addesd the starting time ofthe path relative to the starting time of the gesture. Thus, for example,
`a gesture consisting of two fingers, one above the other, which enter thehell of view of the Sensor
`
`Prame simultancously and move right in parallel can be distinguished from a gesture in which a
`single finger enters the field first, and whue it is moving right a second finger is brought into the
`viewfickd and moves right. In particular, the classifier Gorthe secondsorting index) would be able
`to discriminate between a path which begins at the start of the gesture and anc which begins later,
`The path start timeis also used for path sorting, as describedin section $.2.
`The main purpose of the global feature vector is to discriminate between multi-path gesture
`classes whose corresponding individual component paths are indistinguishable. Por example, two
`gestures both consisting of two fingers moving right, one having the fingers oriented vertically, the
`other honzontally. Gr, one having the Gingers about one half inch apart, the olher twa inches apart.
`Theglobal features are the duration ofthe entire gesture, the length of the bounding box diagonal,
`
`the bounding box diagonal angle (always between 0 and 7/2 so there are no wrap-around problems),
`the length, sine and casine between the first point of the first path andthe first paint of the last path
`(referring to the path sorting order), and the length, sine, and cosine between the first point of the
`first path and the last point of thelast path.
`Another noulti-path gesture attribute, which may be considered a global feature, is the actual
`number of pathsin the gesture. The numberof paths was not includedin the abovelist, since itis not
`included in the vector inputto thestatistical classifier. Instead, it is required that all the gestures of a
`given class have the sanic numberof paths. The aumberof paths must match cxactly fora gesture to
`be classified as a given class. This restriction has an additional advantage, in that knowing exactly
`the number of paths simplifies specifying the semantics of the gesture (see Section 8.3.2}
`The global features, crude as hey might appear, in most cases enable elective discrimination
`between gesture classes which cannot be classified solely on the basis of their constituent paths.
`
`5.6 A Further lmprovement
`
`As mentioned, the multi-pathclassifier has a path classifier for each sorting index. The path classifier
`for the first path needs to distinguish between all the gestures consisting only of a single path, as
`well as the first path m those gestures having two or more paths. Similarly, the secondpath classifier
`miust discriminate nat only between the second path of the two-path gestures, but also the second
`path of the three path gestures, andso on. This places an teimecessary burden on the path classifiers.
`Sinec gesture classes with different numbers of paths will never be confused, there is no necdto
`have a path classifier ableto discriminate between their constituent paths. This observation leads to
`a further improvernent in the multi-path recognizer.
`‘The improvement is instead of having a single multi-path recogniver for discriminatimgbetween
`rufti-path gestures with differing nembers of paths, to have one roulti-path gesture recognizer, as
`
`Page 1254 of 1714
`
`Page 1254 of 1714
`
`

`

`‘
`36
`
`CHAPTER & MULTI-PATH GESTURE RECOGNITION
`
`described above, for cach possible number of paths. There is a multi-path recognizer for gestures
`consisting of only one path, another for two-path gestures, and so on, up until the maximum qumber
`of paths expected. Each path classifier now deals only with those paths with a given sorting index
`fromthose gestures with a given oumber of paths. The result is that many of the path classifiers
`have fewer paths to deal with, and improve their recognition ability accordingly.
`Of course, for input devices in which the number of paths is fixed, such as the DataGlove, this
`Lprovement does not apply.
`
`5.7 An Alternate Approach: Path Clustering
`
`The multi-path gesture recognition implementation for the Sensor Frame relies heavily on path
`sorting. Path sorting is used to decide which paths are submitted to which classifiers, as well as in the
`mlobal feature calculation. Errors in the path sarting G.e. sinular gestures having their corresponding
`paths end up in different places in the path ordering) are a potential source of musclassifications.
`Thus, it was thoughtthat a raultt-path recognition method that avoided path sorting might potentially
`be more accurate.
`
`5.7.1 Giohal features without path sorting
`
`The first step was to create a global feature set which did nai rely on path sortimg. As usual, a niajor
`design criterion was that a small change in a gesture should result in a small change in its global
`features. Thus, features which depend largely upon the precise order that paths begin cannot be
`used, since two paths whichstart almost sirnultaneously may appear in either order. However, such
`features can be weighted bythe difference in starting times between successive paths, and thus vary
`smoothly as paths change order. Another approach which avoids the problemis to create global
`features which depend on, say, every pair of paths; these tog would be immune to the problems of
`path sorting.
`The global features are based on the previous global features discussed. However, for each
`featare which relied on path ordering there, two features were used here. The first was the previous
`featarc weighted by path start hime differcnees. Far cxampic, one feature is the length fromthe first
`point of the first path to thefirst point of thelast path, multiplied by the difference between the start
`times of the first and second path, and again multiplied by the difference betweenthe start times of
`the last and next to last path. The second was the surn of the feature between every pair path, such
`as the sumof the length between the start points of every pair of paihs. For the sine and cosine
`features, the sura of the absohite values was used.
`
`5.7.2 Multi-path reeegnition using one singie-path classifier
`
`Path sorting allows there to be a numberofdifferent path classtfers, onefor the first path, one for the
`second, and sc on. ‘lo avoid path sorting, a single classifier is used to classify all paths. Referring
`to the example in Section 5.4, a single classifier would be used to distinguish beiween Ay, Ao, Bi,
`and By.
`
`Page 1255 of 1714
`
`Page 1255 of 1714
`
`

`

`4&7 ANALTERNATE APPROACH PATH CLUSTERING
`
`89
`
`Once all the paths in a gestare are classified, the class information needs to be combined to
`produce a classification for the gesture as a whole. As before, a decision tree is used. However,
`simce path sorting has been elimunated, there is aow no apparent order of the classes which will
`make up the sequence submitted ta the decision tree. To remedythis, each path class is assigned an
`arbitrary distinct integer duringtraining. The path class sequenceis sorted accordingto this infegerr
`ranking (the global feature classification remains last in the sequence) and then the decision tree is
`examined. The net result is that each node in the decision tree corresponds to a set (rather than a
`sequence) of path classifications. (Actually, as will be explained later, each node corresponds to a
`maultiset.)
`
`the lone path classifier determines the
`In essence, the recognition algorithm is very simple:
`classes ofall the paths in the gesture; this sct of path classes, together with the global feature class,
`determines the class of the gesture. Unfortunately, this explanation glosses over a serious conceptual
`difficulty: In order to train the path classifier, known instances of each path class are required. But,
`without path sorting, how is it possible to know which of the two paths in an instance of gesture
`class Ais A; and which is 49? One ofthe paths of the first A example canarbitrarily be called Aj.
`Once this is done, which of the paths in cach of the other examples of class Aare in A)?
`
`Awhich is semtlar to the path previously called A, should also be called A).Ifa gesture class has
`
`Once asked, the answer to this question is straightforward. The path in ne second instance of
`Nopaths,
`tthe goal is to divule the set of paths used inall the training svaanplesofthe class inte NV’
`
`groups, each group cantaining exactly one path frarn each example. Hdeally, the paths forming a
`group are similar to each other, or, in other wards, they correspond to one another.
`Note that path sorting produces exactly this set of groups. Within all the examples of a given
`gesture class, all paths with the same sorting uidex form a group. However, if the parpose of the
`endeavorts to build a multi-path recognizer which does not use path sorting, if seenis Inappropriate
`to resort to it during the training phase. Errors in sorting the example paths would get built
`intothe
`path classifier, likely nullifying any beneficial effects of avoiding path sorting during recognition.
`Another waytc proceedis by analogy. Within a given gestureclass, the paths in one exampleare
`compared to those of another example, and the corresponding pathsare identified. The coniparsons
`could conceivably be based on the featere of the path as well as the location and timing ofthe path.
`This approach was not tried, thoughin retrospect it seems the simplest and most likely to work well.
`
`=“e
`oe! 4 Chistering
`
`Instead, the grouping of similar paths was attempted. The definition of similarity here only refers
`to the feature vector ofthe path. In particular, the relative location of the paths to one another was
`ignored,
`‘lo group similar paths together solely on the basis of their feature vectors, a statistical
`procedure known as hierarchical cluster analysis {74] was apphed.
`‘The first step in chister analysis is to create a triangular matrix containing the distance between
`every pair of samples, in this case the samples being every path of every example ofa given class.
`‘The distance was computed byfirst normalizing each feature by dividing bythe standard deviation.
`(The typical normalvation step offirst subtracting out the feature orean was omitied since il has
`
`no effect on the difference between two instances of a featere.) The distances between each“pair of
`
`Page 1256 of 1714
`
`Page 1256 of 1714
`
`

`

`30
`
`CHAPTER & MULTI-PATH GESTURE RECOGNITION
`
`example path feature vectors was then calculated as the surn of the squared differences between the
`normalized features.
`
`the clustering algorithm produces a chister tee, or dendrogram A den-
`Fromthis matrix,
`drogram is a binary tree with an additional linear ordering on the interior nodes. The clustering
`algorithm imitially considers each individual sarnple to be im a group {cluster} of its own, the distance
`pur. giving distances between every pair of groups. The two most similar groups. Le. the pair
`corresponding to the smallest entry in the maatrix, are combined into a single group, and a node
`representing the newgroup is created in the dendrogram, the sabnodes of which refer to the two
`constituent groups. Thedistance matrix is then updated, replacing the two rows and colurans of the
`constituent groups with a simgic row and cohimnrepresenting the composite group.
`The distance of the composite group to each other group is calculated as a function of the
`distances af the two constituents to the other group. Many such combining functions are possible;
`the particular onc used here is the group average mcthod, which computes the distanceofthe newly
`formed group to another groupas the average (weighted by group size) of the two constituent groups
`to the other group. After the matrix is updated, the process is repeated: the smallest matrix clement
`is found, the two corresponding groaps combined, and the matrix updated. This continnes until
`there is only one group left, representing the enlire saraple set. The order of node creation gives the
`linear order on the dendrogramnodes, nodes created early having subnodes whose groups are more
`similar than nodescreated later.
`
`Figure 3.4 shows the dendrogramfor the paths of 10 3-path clasp gestures, where {he thumb
`moves sliehtly right while the index and middle fingers move left. The leaves of the dendrogram
`are labeled with the mumbers of the paths of the examples. Notice howall the right strokes cluster
`together (one per example), as do all the loft strokes (twe per exampic).
`Using the dendrogram, the original samples can be broken into an arbitrary (between one and
`the number of samples) number of groups. To get A’groups, onesimply discards the top N-~- 1 nodes
`of the dendrogram. For example, to get two groups, the root node is discarded, and the two groups
`are represented bythe two branches of the root nadc.
`‘Taming back nowto the problem offinding corresponding paths in examples of the same mulu-
`path gesture class, the first step is to compute the dendrogramofall the paths in all examples of
`the gesturc, The dendrogram is then traversed in a hottom-up (post-order) fashion, and at cach
`node a histogram that indicates the count of the number ofpaths for each example is computed.
`The carmputation is straightforward: for each leaf node U.e. for each path) the count is zero forall
`examples except the one the path came from: for cach interior node, each element ofthe histogram
`is the sumofthe corresponding elements of the subnode’s histogram.
`ideally, there will be nodes in the tree whose histogramindicates that all the paths below this
`node come from different examples, and that cach example is represented exactly once. In practice,
`however, things do nat work out this nicely. First, errors in the clustering sometimes group two
`paths trom the same cxample together before grouping one path from every exaraple. This case
`is easily handled bysetting a threshold, eg. by accepting nodes in which paths from all but two
`examples appear exactly once in the cluster.
`It is possible that two or more paths im a single
`The second dilficully is more fundamental.
`gesture are quite similar (rememberthat relative path location is being ignored). This is actually
`
`Page 1257 of 1714
`
`Page 1257 of 1714
`
`

`

`4&7 ANALTERNATE APPROACH PATH CLUSTERING
`
`91
`
`waeeennnennnnnl
`
` {
`
`
`
`
`
`|
`
`!
`
`32 54
`
`80 42
`
`i
`
`bof
`
`O1 31
`
`92 7 82
`
`|
`
`60 24 92
`
`BC
`
`21
`
`12 62 G2
`
`30 40
`
`41 72 52
`
`22 91
`
`90 10
`
`70 9G €1
`
`Ri yy
`ny
`6
`etye-eom SL
`.
`“em 21 _ PPB20-O0E 21
`20 we
`tom Roux | ||
`ws Bee» 91
`
`
`coooo=K=K QF +epee-20e-te2 12 Bee 5 > ta se 42 ee aa
`
`
`
`
`12
`2
`mts
`seems 60
`
`Boao 5 Z
`51 esporene
`50
`
`Peresere 6
`aL POOPOKORE
`62
`Bd
`
`Semen 74
`‘70 aoe
`a
`cee 5
`
`ae
`
`ao
`
`wonnen-n-o-0- 5
`meeer—ee
`
`go Oi
`GD ros00%-=iF *
`90
`Leeaeeare
`
`Figure 5.4: Path Chuisters
`This shaws the resuit of clustering applied to the thirty paths of the ten three-path Clash gestures shown.
`
`
`The
`Fach clasp gesture has a short, rightward moving path and two similar Jongleftward moving paths.
`hierarchical clust
`eringalgorithin groups similar paths for groups ofpaths} together The height ofan interior
`o
`ee OF
`ut subti
`Note that the righ
`node indicates the similarity of its groups, lower nodes being more stinilar
`i
`tf is tf
`goodcluster (indicated
`the roof contains 10 paths, oue from each imulti-pail: gesture.
`qus ferred 4
`astituent paths correspond. The |
`eff subtree containing 20 paths,
`two
`by a circ
`ithe graph], and [ts co.
`Had one oftis descendants been anather goodcluster (containing
`approximately 10 paths, one from each gestre}, tt would have been conctudedthat all three paths ofthe
`
` clasp ,
`sture are diffe
`
`ding paths given by the good clusters As it happer
`with the correspon
`descendant of the left subtree was
`
`a good cluster, sa it is concluded that
`wo ofthe paths within the C
`gesture are similar and will thus be treated as examples ofone sfogle-path class.
`
`from nachgesture, 1s aiso a goodchuste
`
`Page 1258 of 1714
`
`Page 1258 of 1714
`
`

`

`92
`
`CHAPTER & MULTI-PATH GESTURE RECOGNITION
`
`common for Sensor Frame gestures that are performed by moving the elbow and shoulder while
`keeping the wrist and fingers rigid. Por these paths, it is past as lukely that the two paths of the sare
`example be grouped together as u is that corresponding paths of different examples be grouped
`together Thus, mstead of a histogram that shows one path from each example, ilealby there will be
`a node with a histogramcontaining two paths per example. This is the case in figure 5.4.
`Call a node which has a histogram indicating an cqual (or almost equal) namber of paths from
`each example a good cluster. The search for good chusters proceeds top down. The root node is
`surely a good chister; eg. given examples from a three path gesture class, the root node histogram
`will indicate three paths from each example gesture. If no descendants of the root node are good
`clusters, that indicates that all the paths of the gesture are simular, However, if there are good clusters
`belowthe root Qvith fewer oxarnpies per path than the root), that indicates that not all the paths of
`the gesture are similar to cach other. In the three path example, if, say, one subnode of the root nade
`was @ good cluster with one path per example, thase paths forma distinct path class, different than
`the other path classes in the gesture class. The other subnode of the roor will alse be a good cluster,
`with two paths per example. If there does not exist a descendant of that node whichts a good cluster
`with one path per example, that indicates that the two gesture paths classes are similar. Otherwise,
`goodclusters below that node (there will likely be two) indicate that each path class in the gesture
`class is dilferent. The cluster analysis, somewhat like the path sorting, indicates which paths m each
`example of a given gesture class correspond. (Goodclusters are indicated bycircles in figure 5.4.)
`Occasionally, there are straggicrs, paths which are not in any of the good chisters identried
`by the analysis. An attempt is made to put the stragelers in an appropriate group. If an example
`contains a single straggler it can easily be placed in the group which is lacking an example from
`this class, If an example contains more than one straggler, they are currently ignored. Hf desired, a
`path classifier to discriminate between the good chisters could be created and then used to classity
`the stragglers. ‘his was not done in the current unaplementation since there was never a significant
`nurpber of stragglers.
`Once the path classes in each gesture class have been identified using the clustering technique, a
`path classifier is trained which can distinguish between every path class of every gesture class. Note
`that if is passibic for a path class to bc formed from two or more paths fromcach exampleofa singic
`gesture class, ithe cluster analysis indicated the two paths were similar Hf analogy techniques were
`used to separate such a class into multiple “one path per example” classes, the resulting classifier
`would ambiguously classify such paths.
`In any case, ambiguities are sul possible since different
`gesture classes may have similar gesture paths. As in Section 5.4, the ambiguities are removed from
`the classifier by combining ambiguous classes into a single class. Fach (Gaow unambiguous) class
`whichis recognized by the path classifier is numbered soas to establish a canonical order for sorting
`path class sequences during training and recognition.
`
`3.7.4 Creating the decision tree
`
`3
`After the single-path and global classifiers have been trained, the decision tree must be constructed.
`As before, in the class phase, for each multi-path gesture class, the (now unambiguous) classes of
`each constituent path are enumerated. Since two paths in a single gesture class may be similar,
`this enumeration of classes may list a single class more than onee, and thas may be considered a
`
`Page 1259 of 1714
`
`Page 1259 of 1714
`
`

`

`&S& DISCUSSION
`
`93
`
`muluset. The list of classes is sequenced into canonical order, the global feature class appended, and
`the resulting sequence is used to add the omlti-path class to the decision tree. As before, a coniict,
`due to ihe fact that bvo dillereri gesture classes have the sanie muiluisei of path classes, is fatal.
`Next comes the example phase. The paths of each example gesture are classified bythe single
`path classifier, and the resulting sequence Gn canonical order with the global feature class appended}
`is used to add the class of the example to the decision tree. Usually no work needs to be done, as
`the same sequence has already been used to add this class (usually in the class phase}. However, if
`one of the paths in the sequence has been misclassified, adding it to the deciston tree can improve
`recognition, since this misclassification may occur again in the future. Conflicts here are not fatal,
`but are simply ignored on the assumption that the sequences added in the class phase are more
`important than those addedin the exaniple phase.
`
`5.8 Discussion
`
`‘Swo multi-path gesture recognition algorithms have been described, which are referred to as the
`“path sartmg” and the “path clustering” methods.
`In situations where there is no uncertainty as to
`the path index information (e.¢. a DataGlove, since the sensors are attached to the hand) then the
`path-sorting methodis certainly superior However, with input deviees such as the Sensor Frame,
`the path sorting has to be done heuristically, which increases the likelihood of recognition error.
`‘The path-clustering method avouls path sorting and its associated errors. However, other sources
`of misclassificationare introduced. One single-path classifier is used ta discriminate betweenall the
`path classes in the system, so will have to recognize a large numberof classes. Since the error rate
`of a classifier increases with the namber of classes, the path classifier in a path-clustering algonthm
`will never perform as well as those in a path-sorting algorithm. A second source of crror is in the
`clustering itself; errors there cause errors in the classifier aiming data, which cause the performance
`of the path classifier to degrade. One way around this is to cluster the paths by hand rather than
`by having a computer performit automatically. This needed to be done with some gesture classes
`from the Sensor Frame, which, because of glitches in the tracking hardware, could not be clustered
`reliably.
`¥n practice, the path-sorting method always performed better, The poor performance of the
`path-clastering method was generally due to the noisy Sensor Frame data. Itis however difficult to
`reach a general conclusion, as all the gesture sets upon whichthe methods were tested were designed
`with the path sorting algorithm in mind. Tt it easy to design a set of gestures that would perform
`poorly using sorted paths. Qne possibility for future work is to have a parameterizable algorithm
`for sorting paths, and choose the parameters based on the gesture set.
`‘The Sensor Frameitself was a significant source of classification errors. Sometimes, the knuckles
`of fingers curled so as not to be sensed would inadvertently break the scnsing planc, causing extra
`paths in the gesture Gvhich would typically then be rejected}. Also, three fingers in the sensing
`plane can easily occlude each other with respect to the sensors, making it difficult for the Sensor
`Frame to determine each finger’s location. The Sensor Prame hardware usually knewfrom recent
`historythai there were indeed three fingers present, and did its best to estimate the positions af each,
`However, the resulting date often had glitches that degraded classification, sometimes by canfasing
`
`Page 1260 of 1714
`
`Page 1260 of 1714
`
`

`

`o4
`
`CHAPTER & MULTI-PATH GESTURE RECOGNITION
`
`It is likely that additional preprocessing of the paths before recognition
`the tracking algorithm.
`would improve accuracy. Also, the Sensor Prame itself is still under development, and i is possible
`that such ghiches will be eliminated bythe hardware in the future.
`Another area for future work is to apply the single-path eager recognition work described in
`
`Chapter 4 to the eager recognition of multt-path gestures. Presumably this is simply a matter of
`eagerly recognizing cach path, and combining the results using the decision tree. Howwell this
`works remains to be seen.
`
`It woald also be possible to apply the raulti-path algorithm to the recognition of multi-stroke
`gestures. The path sorting im this case w

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket