WO2003055119A2 - Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression - Google Patents

Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression Download PDF

Info

Publication number
WO2003055119A2
WO2003055119A2 PCT/US2002/039257 US0239257W WO03055119A2 WO 2003055119 A2 WO2003055119 A2 WO 2003055119A2 US 0239257 W US0239257 W US 0239257W WO 03055119 A2 WO03055119 A2 WO 03055119A2
Authority
WO
WIPO (PCT)
Prior art keywords
person
data elements
primitives
identity
tensor
Prior art date
Application number
PCT/US2002/039257
Other languages
French (fr)
Other versions
WO2003055119A3 (en
Inventor
Manuela O. Vasilescu
Original Assignee
New York University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New York University filed Critical New York University
Priority to AU2002357108A priority Critical patent/AU2002357108A1/en
Priority to EP02805553A priority patent/EP1466270A4/en
Priority to CA002469565A priority patent/CA2469565A1/en
Priority to JP2003555717A priority patent/JP2005514683A/en
Priority to US10/498,279 priority patent/US7280985B2/en
Publication of WO2003055119A2 publication Critical patent/WO2003055119A2/en
Publication of WO2003055119A3 publication Critical patent/WO2003055119A3/en
Priority to US11/868,852 priority patent/US7603323B2/en
Priority to US12/577,669 priority patent/US7822693B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • G06V40/25Recognition of walking or running movements, e.g. gait recognition

Definitions

  • Natural images are the composite consequence of multiple factors related to scene structure, illumination and imaging. Human perception of natural images remains robust despite significant variation of these factors. For example, people possess a remarkable ability to recognize faces given a broad variety of facial geometries, expressions, head poses and lighting conditions.
  • the storage medium including a software program, which when executed by a processing arrangement, is configured to cause the processing arrangement to execute a series of steps.
  • the series of steps can include can include a plurality of data elements which are defined by at least two primitives are collected. At least one of a plurality of object descriptors are obtained based on the information of the data elements.
  • the sample object descriptor is compared to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors.
  • Each of the object descriptors is associated with a respective one of a plurality of objects.
  • the method can include a plurality of data elements defined by at least two primitives are collected.
  • the one of the object descriptors based on the information of the data elements is obtained.
  • the dimensionality of the one of the object descriptors is reduced.
  • the storage medium including a software program, which when executed by a processing arrangement, is configured to cause the processing arrangement to execute a series of steps.
  • the series of steps can include can include a plurality of data elements defined by at least two primitives are collected.
  • the one of the object descriptors based on the information of the data elements is obtained.
  • the dimensionality of the one of the object descriptors is reduced.
  • the logic arrangement is adapted for an execution by a processing arrangement to perform a series of steps.
  • the series of steps can include a plurality of data elements defined by at least two primitives are collected.
  • the one of the object descriptors based on the information of the data elements is obtained.
  • the dimensionality of the one of the object descriptors is reduced.
  • Fig. 1 is a block diagram of a data analysis system according to an exemplary embodiment of the present invention
  • Fig. 2 which synthesizes the remaining actions for a new individual
  • Fig. 10 is a flow diagram of an exemplary embodiment of the expression recognition procedure of the process of Fig. 8 which recognizes of an unidentified expression being displayed by a known person;
  • Fig. 15 is a flow diagram of an exemplary embodiment of a process of
  • a singular value decomposition can be expressed as a rank decomposition as is shown in the following simple example:
  • FIG. 2 illustrates flow diagram of an exemplary embodiment of a process 200 which is indicative of the multilinear data analysis application.
  • the process 200 is configured to recognize the unknown subject or individual, recognize the unknown action being performed by the known subject, generate a known action never before recorded as being performed by the subject, etc.
  • the multilinear data analysis application utilizes the corpus of motion data, which is collected using the data capturing system 112 from different subjects.
  • This corpus of motion information is stored in the database 108 of the server 102, and describes angles of the joints in the legs of at least one subject performing at least one action.
  • the corpus of motion information can be organized as a tensor D.
  • the corpus of motion data is preferably collected from different subjects that perform at least one action which forms the tensor D. Each action can be repeated multiple times, and a motion cycle can be segmented from each motion sequence. For example, in order to suppress noise, the collected motion data can be passed through a low-pass fourth-order Butterworth filter at a cut off frequency of 6 Hz, and missing data may be interpolated with a cubic spline. Joint angles can be computed to represent the motion information of the limbs of various subjects (e.g., people).
  • the product Zx 3 J transforms the eigenmotions into tensormotions, a tensor representaion of the variation and co-variation of modes (subjects and action classes).
  • the product Z x 3 J also characterizes how the subject's parameters and action parameters interact with one another.
  • the tensor B Z x 2
  • a x 3 J is an action specific tensormotion, which contains a set of basis matrices for all the motions associated with particular actions.
  • C Z x ⁇ P x 3 J is a subject/signature specific tensormotion, which preferably contains a set of basis matrices for all the motions associated with particular subjects (with particular subject motion signatures).
  • the core tensor Z, the matrix A, and the matrix J generated by the N-mode SVD procedure of step 204 of the tensor D define a generative model.
  • a(su bject ) is generated, and in particular a row vector which we can denote as d ⁇ a is
  • step 508 the new action are obtained for the remainder of the subjects represented in the subject matrix P.
  • the procedure of step 212 is completed.
  • three expressions can be collected for each person: e.g., smile, neutral, and yawn.
  • Each expression may be captured in four different illuminations, i.e. light positions, and three different viewpoints.
  • the four different illuminations may be one light from the center, one light from the right, one light from the left, and two lights one from the right and one from the left.
  • the three different viewpoints may be center, 34 degrees to the right, and 34 degrees to the left.
  • further similar expressions are collected for each person such that each expression is captured in four different illuminations and two different viewpoints.
  • step 822 the multilinear data analysis application 800 determines whether the client interface application has instructed the multilinear data analysis application 800 to dimensionally reduce the amount of data describing illuminations. If the multilinear data analysis application 800 has received such instruction, the multilinear data analysis application 800 advances to a data reduction procedure of step 824, as shown in greater detail in Fig. 11 and described infra. Once the data reduction procedure of step 824 is complete, the multilinear data analysis application 800 advances to step 826. Finally, in step 826, the multilinear data analysis application 800 determines whether a data set for a new subject should be collected or if the client interface application transmitted new instruction.
  • the multilinear data analysis application 800 advances to step 802. If the multilinear data analysis application 800 has received a new instruction from the client interface application, the multilinear data analysis application 800 advances to step 814.
  • an expression e.g., a facial expression
  • Step 920 provides that the variable match is set to be equal to the index p.
  • the variable match signifies the index of the most closely matched subject, such that the set of candidate coefficient vectors z v e most closely matches the subject-specific coefficient vectors c mat ch-
  • step 930 it is determined if the index i is equal to I. If that is the case, the procedure of step 816 sets the index i equal to one (1) and advances to step 932; otherwise, the procedure of step 816 advances to step 936. In step 936, the index i is incremented by one (1), and the procedure of step 816 advances to step 908, such that the procedure tests each of the subjects in the subject matrix U,n un. from 1 to I.
  • step 1010 the subtensor B V ⁇ W is flattened along the expression mode.
  • the subtensor - ⁇ P)V , . is flattened along the expression mode to obtain the E x P matrix Bp.v.i (express)
  • step 1118 it is determined whether the index n is equal to N. If that is the case, the procedure step 824 advances to step 1122; otherwise the procedure step 824 advances to step 1120, in which the index n is incremented by one (1) and the procedure step 824 advances to step 1112. Then in step 1122, it is determined whether the mode matrices have converged. The mode matrices have converged if
  • the multilinear data analysis application 1300 is similar to the multilinear data analysis application 200 of Fig. 2, except that the data utilized by the multilinear data analysis application 1300 takes is organized as the matrix D, not as the tensor D.
  • the process 1300 collects motion information or data on various subjects (e.g., people) performing different actions, e.g., new motion data. If the action and individual are known, the data can be integrated into the matrix D. If the action or individual are not known, such data would likely not be integrated into the matrix D until those pieces of information are determined.
  • the data describing an unknown action or individual is organized as a new data matrix D p or a new data vector d.
  • the new data matrix D p can include more than one new data vector d. Each new data vector d p . a of the new data matrix D p describes the motion of subject p performing action a.
  • step 1305 the process 1300 analyzes the data collected in the step
  • the procedure of step 1304 begins in step 1402 by computing the matrix P by solving D - (Z VT P T ) VT A T .
  • y matr ⁇ y j s en truncated to the first r-columns of the matrix V.
  • Fig. 15 illustrates the details of the individual generation procedure of step 1308, which synthesizes the remaining actions, which were never before seen, for an new individual.
  • the remaining actions are generated given new motion data D new of the new subject performing an action.
  • the new signature model of the new subject is the matrix
  • step 1308 solves for the weight matrix W of the new subject using iterative gradient descent of the error function

Abstract

A data structure, method, storage medium and logic arrangement are provided for use in collecting and analyzing multilinear data describing various characteristics of different objects. In particular it is possible to recognize an unknown individual, an unknown object, an unknown action being performed by an individual, an unknown expression being formed by an individual, as well as synthesize a known action never before recorded as being performed by an individual, synthesize an expression never before recorded as being formed by an individual, an reduce the amount of stored data describing an object or action by using dimensionality reduction techniques, and the like (FIG. 2, 200, 202, 204, 205, 206).

Description

LOGIC ARRANGEMENT, DATA STRUCTURE, SYSTEM AND METHOD FOR
MILTILINEAR REPRESENTATION OF MULTIMODAL DATA ENSEMBLES
FOR SYNTHESIS, RECOGNITION AND COMPRESSION
Cross Reference to Related Applications
The present application claims priority from U.S. Patent Application Serial Nos. 60/337,912, 60/383,300 and 60/402,374, the entire disclosures of which are incorporated herein by reference.
Field of the Invention The present invention relates generally to a logic arrangement, data structure, system and method for acquiring data, and more particularly to a logic arrangement, data structure, system and method for acquiring data describing at least one characteristic of an object, synthesizing new data, recognizing acquired data and reducing the amount of data describing one or more characteristics of the object (e.g., a human being).
Background of the Invention
Natural images are the composite consequence of multiple factors related to scene structure, illumination and imaging. Human perception of natural images remains robust despite significant variation of these factors. For example, people possess a remarkable ability to recognize faces given a broad variety of facial geometries, expressions, head poses and lighting conditions.
Some past facial recognition systems have been developed with the aid of linear models such as principal component analysis ("PC A"), independent component analysis ("ICA"). Principal components analysis ("PC A") is a popular linear technique that has been used in past facial image recognition systems and processes. By their very nature, linear models work best when a single-factor varies in an image formation. Thus, linear techniques for facial recognition systems perform adequately when person identity is the only factor permitted to change. However, if other factors (such as lighting, viewpoint, and expression) are also permitted to modify facial images, the recognition rate of linear facial recognition systems can fall dramatically.
Similarly, human motion is the composite consequence of multiple elements, including the action performed and a motion signature that captures the distinctive pattern of movement of a particular individual. Human recognition of particular characteristics of such movement can be robust even when these factors greatly vary. In the 1960's, the psychologist Gunnar Kohansson performed a series of experiments in which lights were attached to people's limbs, and recorded a video of the people performing different activities (e.g., walking, running and dancing). Observers of these moving light videos in which only the lights are visible were asked to classify the activity performed, and to note certain characteristics of the movements, such as a limp or an energetic/tired walk. It was observed that this task can be performed with ease, and that the observer could sometimes determine even recognize specific individuals in this manner. This may coraborate the idea that the motion signature is a perceptible element of human motion.and that the signature of a motion is a tangible quantity that can be separated from the actual motion type.
However, there is a need to overcome at least some of the deficiencies of the prior art techniques.
OBJECTS AND SUMMARY OF THE INVENTION
Such need is addressed by the present invention. One of the objects of the present invention is to provide a logic arrangement, data structure, storage medium, system and method for generating an object descriptor. According to an exemplary embodiment of the present invention such data structure can include a plurality of first data elements that have information regarding at least one characteristic of the at least one object. The information of the first data elements is capable of being used to obtain the object descriptor. The object descriptor is related to the at least one characteristic and a further characteristic of the at least one object, and is capable of being used to generate a plurality of second data elements which contain information regarding the further characteristic of the at least one object based on the object descriptor.
In another exemplary embodiment of the present invention, the method can include a plurality of first data elements containing information regarding at least one characteristic of the at least one object. The object descriptor is obtained based on the information of the first data elements and is related to the at least one characteristic and a further characteristic of the object. A plurality of second data elements containing information regarding the further characteristic of the at least one object based on the object descriptor.
In still another exemplary embodiment of the present invention, the storage medium including a software program, which when executed by a processing arrangement, is configured to cause the processing arrangement to execute a series of steps. The series of steps can include a plurality of first data elements containing information regarding at least one characteristic of the at least one object. The object descriptor is obtained based on the information of the first data elements and is related to the at least one characteristic and a further characteristic of the object. A plurality of second data elements containing information regarding the further characteristic of the at least one object based on the object descriptor.
In a further exemplary embodiment of the present invention, the logic arrangement is adapted for an execution by a processing arrangement to perform a series of steps. The series of steps can include a plurality of first data elements containing information regarding at least one characteristic of the at least one object. The object descriptor is obtained based on the information of the first data elements and is related to the at least one characteristic and a further characteristic of the object. A plurality of second data elements containing information regarding the further characteristic of the at least one object based on the object descriptor.
Another of the objects of the present invention is to provide a logic arrangement, data structure, storage medium, system and method for identifying a sample object of a plurality of objects based upon a sample object descriptor. According to an exemplary embodiment of the present invention such data structure can include a plurality of first data elements that have information which is defined by at least two first primitives. The first data elements are capable of being used to obtain at least one of a plurality of object descriptors. The exemplary data structure may also include a plurality of second data elements that have information which is defined by at least two second primitives. The second data elements are capable of being used to obtain the sample object descriptor. The at least one obtained object descriptor configured to be compared to the sample object descriptor for determining whether the object is potentially identifiable as one of the object descriptors. Each of the plurality of object descriptors is associated with a respective one of a plurality of objects.
In another exemplary embodiment of the present invention, the method can include a plurality of data elements which are defined by at least two primitives are collected. At least one of a plurality of object descriptors are obtained based on the information of the data elements. The sample object descriptor is compared to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors. Each of the object descriptors is associated with a respective one of a plurality of objects.
In still another exemplary embodiment of the present invention, the storage medium including a software program, which when executed by a processing arrangement, is configured to cause the processing arrangement to execute a series of steps. The series of steps can include can include a plurality of data elements which are defined by at least two primitives are collected. At least one of a plurality of object descriptors are obtained based on the information of the data elements. The sample object descriptor is compared to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors. Each of the object descriptors is associated with a respective one of a plurality of objects.
In a further exemplary embodiment of the present invention, the logic arrangement is adapted for an execution by a processing arrangement to perform a series of steps. The series of steps can include a plurality of data elements which are defined by at least two primitives are collected. At least one of a plurality of object descriptors are obtained based on the information of the data elements. The sample object descriptor is compared to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors. Each of the object descriptors is associated with a respective one of a plurality of objects.
Yet another of the objects of the present invention is to provide a logic arrangement, data structure, storage medium, system and method for reducing the dimensionality of one of the at least two object descriptors. According to an exemplary embodiment of the present invention such data structure can include a plurality of data elements that have information defined by at least two primitives. The data elements are capable of being used to obtain one of the object descriptors. The one of the object descriptors is capable having a reduced dimensionality.
In another exemplary embodiment of the present invention, the method can include a plurality of data elements defined by at least two primitives are collected. The one of the object descriptors based on the information of the data elements is obtained. The dimensionality of the one of the object descriptors is reduced.
In still another exemplary embodiment of the present invention, the storage medium including a software program, which when executed by a processing arrangement, is configured to cause the processing arrangement to execute a series of steps. The series of steps can include can include a plurality of data elements defined by at least two primitives are collected. The one of the object descriptors based on the information of the data elements is obtained. The dimensionality of the one of the object descriptors is reduced.
In a further exemplary embodiment of the present invention, the logic arrangement is adapted for an execution by a processing arrangement to perform a series of steps. The series of steps can include a plurality of data elements defined by at least two primitives are collected. The one of the object descriptors based on the information of the data elements is obtained. The dimensionality of the one of the object descriptors is reduced.
BRIEF DESCRIPTION OF THE DRAWINGS
Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying figures showing illustrative embodiments of the invention, in which:
Fig. 1 is a block diagram of a data analysis system according to an exemplary embodiment of the present invention;
Fig. 2 is a flow diagram of an exemplary embodiment of a process according to the present invention which analyzes multilinear data;
Fig. 3 is a flow diagram of an exemplary embodiment of a core tensor computation procedure of the process of Fig. 2 which performs an N-mode SVD algorithm for decomposing an N-dimensional tensor;
Fig. 4 is a flow diagram of an exemplary embodiment of a process of
Fig. 2 which synthesizes the remaining actions for a new individual;
Fig. 5 is a flow diagram of an exemplary embodiment of an action generation procedure of the process of Fig. 2 which synthesizes an observed action for a set of individuals;
Fig. 6 is a flow diagram of an exemplary embodiment of an individual recognition procedure of the process of Fig. 2 which recognizes an unidentified individual performing a known actions as one of a group of individuals;
Fig. 7 is a flow diagram of an exemplary embodiment of an action recognition procedure of the process of Fig. 2 which recognizes an unknown action being performed by a known individual; Fig. 8 is a flow diagram of another exemplary embodiment of a process according to the present invention which analyzes multilinear data;
Fig. 9 is a flow diagram of an exemplary embodiment of the individual recognition procedure of the process of Fig. 8 which recognizes an unidentified individual given an unknown facial image;
Fig. 10 is a flow diagram of an exemplary embodiment of the expression recognition procedure of the process of Fig. 8 which recognizes of an unidentified expression being displayed by a known person;
Fig. 11 is a flow diagram of an exemplary embodiment of a data reduction process of the process of Fig. 8 which dimensionally reduces the amount of data describing an individual displaying an expression;
Figs. 12A -12F are block diagrams of sample tensors and equivalent mode-1, mode-2 and mode-3 flattened tensors according to an exemplary embodiment of the present invention;
Fig. 13 is a flow diagram of another exemplary embodiment of a process according to the present invention which analyzes multilinear data;
Fig. 14 is a flow diagram of an exemplary embodiment of a core matrix computation procedure of the process of Fig. 13 which performs an SVD matrix algorithm for decomposing a matrix; and
Fig. 15 is a flow diagram of an exemplary embodiment of a process of
Fig. 13 which synthesizes the remaining actions for a new individual.
Throughout the figures, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the present invention will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments. It is intended that changes and modifications can be made to the described embodiments without departing from the true scope and spirit of the subject invention as defined by the appended claims. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Figure 1 illustrates an exemplary embodiment of a data analysis system 100 for use in the collection and analysis of data describing various characteristics of different objects. In this embodiment, a central server 102 is provided in the system 100, which provides therein a central processing unit ("CPU") 104, a data storage unit 106 and a database 108. The central server 102 is connected to a communications network 110, which is in turn connected to an data capturing system 112. The data capturing system 112 can include at least one camera (not shown for the sake of clarity). A first client server 114 is provided in the system 100, which provides therein a CPU 116, a data storage unit 118, and a database 120. The first client server 114 is connected to the communications network 110. A second client server 124 is also provided in the system 100, which situates a CPU 126, a data storage unit 128, and a database 130. The second client server 124 is also connected to the communications network 110. It should be understood that the central server 102, the image capture system 112, the first client server 114 and the second client server 124 can forward data messages to each other over the communications network 110.
In a preferred embodiment of the present invention, the data capturing system 112 can be a "VICON" system which employs at least four video cameras. The VICON system can be used to capture human limb motion and the like.
A multilinear data analysis application can be stored in the data storage unit 106 of the central server 102. This multilinear data analysis application is capable of recognizing an unknown individual, an unknown object, an unknown action being performed by an individual, an unknown expression, an unknown illumination, an unknown viewpoint, and the like. Such application can also synthesize a known action that has never before recorded as being performed by an individual, as well as an expression which has previously not been recorded as being formed by an individual. Further the application can reduce the amount of stored data that describes an object or action by using dimensionality reduction techniques, and the like. It should be understood that dimensionality reduction is equivalent to compression and data reduction. The multilinear data analysis application preferably utilizes a corpus of data, which is collected using the data capturing system 112 from different subjects. The corpus of data is stored in the database 108 of the server 102, and can be organized as a tensor D, which shall be described in further detail as follows.
A tensor, also known as an n-way array or multidimensional matrix or n-mode matrix, is a higher order generalization of a vector (first order tensor) and a matrix (second order tensor). A tensor can be defined as a multi-linear mapping over a set of vector spaces. The tensor can be represented in the following manner:
A G JRI,XI2X-XIN where A is a tensor. The order of the tensor A is N. A tensor is formed by a group of primatives. Each primative is a set of mode vectors, such that a first primative is a set of mode-1 vectors, a second vector is a set of mode-2 vectors, an nth primative is a set of mode-n vectors, etc. In an alternate embodiment, the primatives can be row vectors of a matrix, column vectors of a matrix, index of a vector, etc. An element of tensor A is denoted as /, . „ . „ or a^ jn w or where 1 < in ≤ In- Scalars are denoted by lower case letters (a, b, ...), vectors by bold lower case letters (a, b ...), matrices by bold upper-case letters (A, B ...), and higher-order tensors by italicized bolded upper-case letters (A, B ...).
In tensor terminology, column vectors are referred to as mode-1 vectors, and row vectors are referred to as mode-2 vectors. Mode-rc vectors of an Νl order tensor A e IR lX 2X-XIN are the /„-dimensional vectors obtained from the tensor A by varying index i„ while maintaining the other indices as fixed. The mode-n vectors are the column vectors of matrix A, > e IR X' ' 2"' ""' n+l"' N' that can result from flattening the tensor A, as shown in Figures 12A - 12F. The flattening procedure shall be described in further detail below. The n-rank of tensor A e βi,χi 2 χ J_ denoted R„, is defined as the dimension of the vector space generated by the mode-n vectors:
R„ = rankn(A) - rank( n)). Figures 12A - 12C show third order tensors 1200, 1210, 1220, respectively, each having dimensions Ii x I2 x I . Figure 12D shows the third order tensor 1200 after having been mode-1 flattened to obtain a matrix 1250 containing mode-1 vectors of the third order tensor 1200. The third order tensor 1200 of Fig. 12A is a cube type structure, while the matrix 1250 is a two dimensional type structure having one index, i.e., I2, imbedded (to a certain degree) within the matrix 1250. Figure 12E shows a matrix 1260 containing mode-2 vectors of the third order tensor 1210 after it has been mode-2 flattened. This third order tensor 1210 is a cube type structure, while the matrix 1260 is a two dimensional type structure having one index, e.g., I , imbedded (to a certain degree) with the data. Figure 12F shows the third order tensor 1220 after having been mode-3 flattened to obtain a matrix 1270 containing mode-3 vectors of the third order tensor 1220. Such third order tensor 1220 is a cube type structure, while the matrix 1270 organizes is a two dimensional type structure having one index, e.g., Ii, imbedded (to a certain degree) with the data.
A generalization of the product of two matrices can be the product of the tensor and matrix. The mode-n product of tensor A e hxl2X ■ XI"*-XIN y a matrix M e IRJ"x , denoted by A x„ M, is a tensor B e
Figure imgf000012_0001
t whose entries are . The entries of the
Figure imgf000012_0002
tensor B are computed by
' " Λ VιΛ'..ι 'N ~ 2-ι Α'ι '-,-l>- '„.l N™j„>,
The mode-n product can be expressed as B = A x„ M, or in terms of flattened matrices as B() = MA(). The mode-n product of a tensor and a matrix is a special case of the inner product in multilinear algebra and tensor analysis. The mode-n product is often denoted using Einstein summation notation, but for purposes of clarity, the mode-n product symbol will be used. The mode-n product has the following properties:
1. Given a tensor Ae IR * x '"* x,m and two matrices, Ue IR*™* 1™ and
Ve IRJ»X I" the following property holds true: A xm U x„ V = (A xm U) x„V
= (A χ„ V) xm U = A x„ V χm U
2. Given a tensor Ae IR,, X * '" x x/" and two matrices, U e /Rj"x l" and Ve JR^"X'« the following property holds true:
Figure imgf000013_0001
An -VΛ-order tensor AelR'1 *'2 * x/" has a rank-1 when it is able to be expressed as the outer product of N vectors: _4=u, »u2 o • • • ouw . The tensor element is expressed as--,- m = u u2j ...uNm , where «., is the i'h component of u) 5 etc. The rank of a N order tensor , denoted R = rank(γ4), is the minimal number of rank-1 tensors that yield A in a linear combination:
" =Σ u (r)
(r u[r) . oil r=\
A singular value decomposition (SVD) can be expressed as a rank decomposition as is shown in the following simple example:
M =
= σ, [--[---. [-r
Figure imgf000013_0002
It should be noted that an SVD is a combinatorial orthogonal rank decomposition, but that the reverse is not true; in general, rank decomposition is not necessarily singular value decomposition. Also, the N-mode SVD can be expressed as an expansion of mutually orthogonal rank-1 tensors, as follows:
Figure imgf000013_0003
where U( n'n) is the in column vector of the matrix U„. This is analogous to the equation
R=.. R=2
∑ ∑σ, u(/> o u
1=/ j=/ A client interface application can be stored in the data storage units 118, 128 of the first and second client servers 114, 124, respectively. The client interface application preferably allows the user to control the multilinear data analysis application described previously. For example, the client interface application can instruct the multilinear data analysis application to generate new data describing a particular characteristic of a known object that may be different from those characteristics of the known object which were already observed. In addition, the client interface application can instruct the multilinear data analysis application to generate new data describing a particular characteristic of the remainder of the population of observed objects that are different from those characteristics of the remainder of the population already observed. Also, the client interface application can instruct the multilinear data analysis application to recognize an unknown object from the population of observed objects, recognize a characteristic of a known object from the characteristics of the known object already observed, dimensionally reduce the amount of data stored to describe a characteristic of a known object, etc. In one exemplary embodiment of the present invention, the object can be a person and the characteristic may be an action. In another embodiment of the present invention, the object could be a person's face, and the characteristic can be a facial expression. In response to the client interface application's instructions, the multilinear data analysis application may transmit to the client interface application certain information describing the requested characteristic or object.
A. Motion Signature Using A Tensor Representation Of A Corpus Of Data
Figure 2 illustrates flow diagram of an exemplary embodiment of a process 200 which is indicative of the multilinear data analysis application. As described above for the multilinear data analysis application, the process 200 is configured to recognize the unknown subject or individual, recognize the unknown action being performed by the known subject, generate a known action never before recorded as being performed by the subject, etc. In particular the multilinear data analysis application utilizes the corpus of motion data, which is collected using the data capturing system 112 from different subjects. This corpus of motion information is stored in the database 108 of the server 102, and describes angles of the joints in the legs of at least one subject performing at least one action. The corpus of motion information can be organized as a tensor D. It should be understood that the corpus of motion information can also be organized as a matrix D or a vector d. For example, if the information is organized as a matrix D, the process 200 preferably remains the same, but the underlying tensor procedures could be converted to matrix procedure equivalents. It should also be noted that representing the data contained in the tensor D may integrate multiple indices into a singular matrix index. Likewise, if the information is organized as a vector d, the process 200 preferably remains the same, but the underlying tensor procedures could be converted to vector procedure equivalents. It should also be noted that representing the data contained in the tensor D may integrate multiple indices into a singular vector index.
The corpus of motion data is preferably collected from different subjects that perform at least one action which forms the tensor D. Each action can be repeated multiple times, and a motion cycle can be segmented from each motion sequence. For example, in order to suppress noise, the collected motion data can be passed through a low-pass fourth-order Butterworth filter at a cut off frequency of 6 Hz, and missing data may be interpolated with a cubic spline. Joint angles can be computed to represent the motion information of the limbs of various subjects (e.g., people). To compute the joint angles, the frame coordinate transformation for each limb may be calculated with respect to an area in which the motion information is collected, the relative orientation of each limb in the kinematic chain can then be determined, and the inverse kinematic equations are thus obtained. The joint angles are thereafter stored in the tensor D. Such tensor D can have the form of a IRGXMXT . where G is the number of subjects, M is the number of action classes, and T is the number of joint angle time samples.
In an exemplary implementation of a preferred embodiment according to the present invention, three motions are collected for each person: e.g., walk, ascend-stairs, and descend stairs. In another exemplary implementation, each action can be repeated ten (10) times. In yet another exemplary implementation, human limb motion can be recorded using the VICON system that employs four infra-red video cameras. These cameras generally detect infra-red light which is reflected from 18 markers, 9 placed on each leg of a human subject. The system 112 then computes a three-dimensional position of the markers relative to a fixed coordinate frame. The video cameras can be positioned on one side of a 12 meter long walkway such that each marker can be observed by at least two cameras during the subject's motion. To extract the three angles spanned by a joint of the subject, a plane can be defined for each limb whose motion can be measured relative to the sagittal, frontal and transverse planes through the body of the subject. It should be noted that the joint angle time samples reflect the joint angles of various joints as they move over time.
Turning to further particulars of Fig. 2, in step 202, the process 200 collects motion information or data on various subjects (e.g., people) performing different actions, e.g., new motion data. The motion is collected as a group of vectors. Each of the group of vectors represents a subject performing an action. If each of the possible the actions and the individual are known, the data can be integrated into the tensor D. If the action or individual are not known, such data would likely not be integrated into the tensor D until those pieces of information are determined. The data describing an unknown action or individual is organized as a new data tensor -Dp-a of a new subject or a new data vector d of a new subject. The new data tensor -Dp-a includes more than one new data vector d. Each new data vector d of the new data tensor Z>p-a describes the motion of subject p performing action a.
At step 204, the process 200 solves for a core tensor Z which can be generally used for defining the inter-relationships between the orthonormal mode matrices. This step represents an N-mode singular value decomposition ("SVD") process 204, shown in Fig. 3, and described in further detail herein. It should be noted that the N-mode SVD procedure of step 204 is an orthonormal decomposition procedure. The N-mode SVD procedure of step 204 solves for the core tensor Z. When this procedure of step 204 determines the core tensor Z, the process 200 advances to step 205.
In an alternate embodiment of the present invention, an alternate n- mode orthonormal decomposition procedure is used in place of the n-mode SVD procedure. In step 205, the process 200 analyzes the data collected in the step 202. With the knowledge of motion sequences of several subjects, the tensor D can take the form of a JRGXMXT tensor, where G is the number of subjects or people, M is the number of action classes, and T is the number of joint angle time samples. The N- mode SVD procedure of step 204 decomposes the tensor D into the product of a core tensor Z, and three orthogonal matrices as follows: D - Z x\ P χ2 A χ 3 J ,
The subject matrix P = [pi ... P„...PG]Γ, whose subject-specific row vectors p τ span
the space of person parameters, encodes the per-subject invariance across actions. Thus, the matrix P contains the subject or human motion signatures. The action
matrix A = [ a. aTO &M]T, whose action specific row vectors a τ n span the space of
action parameters, encodes the invariance for each action across different subjects. The joint angle matrix J whose row vectors which span the space of joint angles are preferably the eigenmotions, the motion variation.
The product Zx3 J transforms the eigenmotions into tensormotions, a tensor representaion of the variation and co-variation of modes (subjects and action classes). The product Z x3 J also characterizes how the subject's parameters and action parameters interact with one another. The tensor B = Z x2 A x3 J is an action specific tensormotion, which contains a set of basis matrices for all the motions associated with particular actions. The tensor
C = Z x\ P x3 J is a subject/signature specific tensormotion, which preferably contains a set of basis matrices for all the motions associated with particular subjects (with particular subject motion signatures). The core tensor Z, the matrix A, and the matrix J generated by the N-mode SVD procedure of step 204 of the tensor D define a generative model.
In step 206, the process 200 determines whether it has been instructed by the client interface application to synthesize new data describing at least one known action that was never before recorded as being performed by a new subject. If the process 200 has received such instruction, step 208 is executed to perform advances to an individual generation procedure, as shown in further detail in Fig. 4 and described herein. When the individual generation procedure of step 208 is complete, the process 200 advances to step 226.
In step 210, the process 200 determines if it was instructed by the client interface application to synthesize new data describing a new action that was never before recorded as being performed by the remainder of the population of observed subjects. If the process 200 has received such instruction, the process 200 continues to an action generation procedure of step 212, as shown in further detail in Fig. 5 and described herein. When the action generation procedure of step 212 is completed, the process 200 is forwarded to step 226.
In step 214, the process 200 determines if it was instructed by the client interface application to recognize an unknown subject who has been observed to perform a known action as one of the population of observed known subjects. If the process 200 has received such instruction, the process 200 is directed to an individual recognition procedure of step 216, as shown in greater detail in Fig. 6 and described infra. Once the individual recognition process 216 is completed, the process 200 advances to step 226.
In a preferred embodiment, the process 200 is capable of recognizing an unknown subject who has been observed performing an unknown action as one of the population of observed known subjects.
In step 218, the process 200 determines if it was instructed by client interface application to recognize an unknown action being performed by a known subject as one of the actions already observed as being performed by the known subject. If the process 200 has received such an instruction, the process 200 continues to an action recognition procedure of step 220, as shown in Fig. 7 and described infra. When the individual recognition procedure of step 220 is completed, the process 200 is forwarded to step 226. Then in step 226, the process 200 determines whether a data set for a new subject should be integrated into the tensor D or if the client interface application has transmitted a new instruction. In particular, if a data set for a new subject is available, the process 200 advances to step 202. Otherwise, the process 200 received the new instruction from the client interface application, so the process 200 continues to step 206.
Fig. 3 illustrates the exemplary details N-mode SVD procedure of step 204 for performing an N-mode SVD algorithm to decompose the tensor D and compute the core tensor Z. The Ν-mode SVD procedure of step 204 is related to and grows out of a natural generalization of the SVD procedure for a matrix. For example, a matrix D e IR lX 2 is a two-mode mathematical object that has two associated vector spaces, e.g., a row space and a column space. The SVD procedure for a matrix orthogonalizes these two spaces, and decomposes the matrix as D = Ui
T
∑U , with the product of an orthogonal column-space represented by the left matrix
Uj e IRI>X ' . a diagonal singular value matrix ∑ e IR ,x 2 , and an orthogonal row
space represented by the right matrix U2 e IR 2X 2 - In terms of the mode-n products defined above, this matrix product can be rewritten as D = ∑xjUj X2 U2 • If the data contained within the tensor D is represented as a matrix D, the SVD procedure for a matrix can be used.
By extension, the tensor D can be an order-N tensor comprising N spaces, where N is preferrably greater than 2. N-mode SVD is a natural generalization of SVD that orthogonalizes these N spaces, and decomposes the tensor as the mode-n product of N-orthonormal spaces.
D = Zxi Ui x2 U2...xn U„...xΝ UN , A matrix representation of the N-mode SVD can be obtained by:
Dw = u„zw (uΛ+ι ®υ„+2®...®vN®jj ®...<g>u„--,)r where ® is the matrix Kronecker product. The core tensor Z, can be analogous to the diagonal singular value matrix in conventional matrix SVD. It is important to realize, however, that the core tensor does not have a diagonal structure; rather, Z is in general a full tensor. The core tensor Z governs the interaction between mode matrices U„, for n = 1, . . . , N. Mode matrix U„ contains the orthonormal vectors spanning the column space of the matrix D(n) that results from the mode-n flattening of the tensor D, as illustrated in Figs. 12A - 12F.
As shown in Fig. 3, the procedure of step 204 begins at step 302 by setting an index n to one (1). This allows the process 204 to begin computing an initial matrix from the tensor D. When the index n is set to one, the procedure of step 204 advances to step 304. In step 304, the procedure of step 204 computes the matrix U„ as defined by D = Z xi Ui X2 U2 . . . xn Un . . . XN UNJ by computing the SVD of the flattened matrix D(„;. Once the matrix Un is computed, the procedure of step 204 continues to step 306. In step 306 the procedure of step 204 sets the matrix U„ to be a left matrix of the SVD. Once the matrix Un is set appropriately, the procedure of step 204 goes on to step 308, in which it is determined whether the index n is equal to the order of the tensor, i.e. N. If the index n is equal to the order of the tensor, the procedure of step 204 advances to step 312. Otherwise, the process 204 is forwarded to step 310. In step 310, the index n is incremented by one, and then the procedure of step 204 is directed to step 304. In step 312, the core tensor Z is solved for as follows:
Z = JDx1 U x2 U2 r...x„ U ... xJV U^. When the core tensor Z is selected, the procedure of step 204 is completed.
It should be noted that when D(„ is a non-square matrix, the computation of U„ in the singular value decomposition D( l) = U„ Σ v can be performed, depending on which dimension of D(j is smaller, by decomposing either D («) D («) = u„ ∑ U and then computing Vn = ∑ U„D(Λ) , or by decomposing
D5ι)D(«) = yn ∑2 VI and then computing U„ = Dw V„∑+.
Fig. 4 illustrates the details of the individual generation procedure of step 208, which synthesizes the remaining actions, which were never before seen, for a new subject. The remaining actions are generated given the new motion data tensor -Dp.a of the new subject performing action a, which includes at least one action. The individual generation procedure of step 208 solves for the signature p of the new individual in the equation Dp a=Ba Xj p , where B„ = Z χ2 a τ a χ3 J . It should be
noted that new data tensor Dp a is a 1 x 1 x T tensor. In particular, step 402 of this procedure flattens the new data tensor -Dp a in the people (or subject) mode, yielding a
T • • • row vector da . By flattening this new data tensor in the subject mode, the matrix
)P,a(subject) is generated, and in particular a row vector which we can denote as d τ a is
produced. Therefore, in terms of the flattened tensors, the equation Dp a=Ba j p T
described above can be written as d a τ =pr B-.(subj-ct, or dfl =B τ a (people) p . Once the
tensor is flattened, the process advances to step 404, in which it is determined if the subject is observed performing a single action. If the subject is observed performing a single action, the procedure of step 208 is forwarded to step 406. If the individual is observed performing at least two actions, the procedure of step 208 advances to step 408. In step 406, the motion signature for the individual given a single observed action is computed. The motion signature for the individual can be defined as p T = When the motion signature for the individual is computed, the
Figure imgf000021_0001
procedure of step 208 is completed. Also in step 408, the motion signature for the individual given at least two observed actions is determined. If several different actions da,k are observed, the motion signature can be computed as follows:
p,= [ d ak ak(people)
Figure imgf000021_0002
In step 410, the procedure of step 208 synthesizes a complete set of motions for the subject or individual. The complete set of motions for the new subject can be synthesized as follows:
Figure imgf000021_0003
where B is defined as B = Z χ2 A χ 3 J, as described above. When the motion signature for the individual is computed, the process 208 exits. Fig. 5 illustrates details of the action generation procedure of step 212, which synthesizes an observed new action that has never before been seen for the remainder of the subjects represented in the subject matrix P. The observed action for the remainder of the subjects represented in the subject matrix P is generated given the new motion data tensor Z>p.a of at least one subject performing the new action a.
In particular, step 501 of this procedure flattens the new data tensor -Dp-a in the action mode, yielding a row vector dp τ. By flattening this new data tensor in the action mode, the matrix D O(actionj is generated, and in particular a row vector
which we can denote as d τ is produced. Therefore, in terms of the flattened tensors,
P
the equation Dp a= CPχ2 a described above can be written as d τ =nτ C t actions or
dp =CT (acύons) a . Once the tensor is flattened, this procedure determines as to whether
the new motion data tensor -Dp,a represents one subject performing the new action in step 502. If the new motion data tensor -_)p a represents one subject performing the new action, the procedure of step 212 advances to step 504. If the new motion data tensor -DPιa represents more than one individual performing the new action, the procedure of step 212 is forwarded to step 506. In step 504, the associated action parameters are determined based on the new motion data tensor DVA, which represents one subject performing the new action. If a known subject, e.g., a person who is already recorded in the motion database, performs a new type of action dp, it is
possible to compute the associated action parameters a =d τ C _1 . When the
^ /.('actions.! associated action parameters are computed, the procedure of step 212 is directed to step 508.
In step 506, the associated action parameters are computed based on the new motion data tensor -Dp,a, which represents more than one subject performing the new action. If several different subjects are observed performing the same new action Pk, the action parameters are computed as follows: ar =[ d Pk C P"k1 (actions)
When the associated action parameters are computed, the process 212 advances to step 508, in which the new action are obtained for the remainder of the subjects represented in the subject matrix P. The new action for all the subjects in the database can be synthesized as follows: Da = C x2 a , where C is given as C = Z χι P x3 J, supra. When the new action is synthesized, the procedure of step 212 is completed.
Fig. 6 illustrates an individual recognition procedure of step 216 for recognizing an unidentified subject performing a known action. Multilinear analysis, can provide basis tensors that map certain observed motions into the space of subject parameters (thereby enabling the recognition of people from motion data) or the space action parameters (thereby enabling the recognition of action from motion data). The individual recognition process 216 begins at step 602, in which the signature p of an unknown subject performing a known action is computed. The new motion vector d of a known action a can be mapped into the subject signature space, by computing the
signature p=B
Figure imgf000023_0001
d . Once the signature is computed, the process 216 advances
to step 604, in which an index variable n and a variable match are initialized. For example, the index variable n can be initialized to one (1) and the variable match may be initialized to negative one (-1). Once these variables are initialized, step 606 is performed in which, the signature p is compared to a subject signature pn. This signature is compared against each of the person signatures p„ in P. Then the magnitude of the difference between the signature p and the signature pn, i.e. |p-pM | is determined.
Thereafter, in step 608, it is determined whether a process-computed magnitude of the difference between the signature p and the signature pn is smaller than any magnitude computed up to this point. If the magnitude of the difference between the signature p and the signature pn is smaller than any difference computed up to this point, the process 216 advances to step 610. Otherwise, the process 216 is forwarded to step 612. In step 610, the variable match is set to be equal to the index n. The variable match generally signifies the index of the recognized subject, such that the signature p most closely matches the signature pmatch-
Then, in step 612, it is determined if the index n is equal to G. If that is the case, the procedure of step 216 advances to step 616, otherwise the procedure of step 216 is forwarded to step 614. In step 614, the index n is incremented by one (1), and the procedure is returned to step 606, such that each of the subjects in the subject matrix P from 1 to G is subjected to the comparison. Finally, in step 616, the signature pmatch is identified as the signature that most closely approximates the signature p. In a preferred embodiment of the present invention, the variable match is an indexed array, which records the indices of multiple signatures that most closely match the signature p. Once the signature pmatch is identified, the procedure of step 216 is completed.
Fig. 7 illustrates the details of an action recognition procedure of step
220 for recognizing an unknown action being performed by a known subject. Generally, a multilinear analysis yields basis tensors that map the observed motions into the space of action parameters, thus enabling the recognition of actions from the motion data. In particular, step 702 computes the vector a of a known individual performing an unknown action. The new motion data vector d of a known person/? can be mapped into the action parameter space by computing the vector
a = C ~T (actlons) d . When the vector a is determined, the procedure of step 220
advances to step 704, in which an index variable m and a variable match are initialized. The index variable m can be initialized to one (1), and the variable match may be initialized to negative one (-1). Once these variables are initialized, the process 220 is forwarded to step 706, in which the vector a is compared to an action parameter vector am. In particular, the vector a is compared against each of the action parameter vectors am in A, in turn, as the index m is incremented. The magnitude of the difference between the vector a and the action parameter vector am, i.e. ||a - am | , is also determined. In step 708, the procedure of step 220 determines whether process computed magnitude of the difference between the vector a and the action parameter vector am is smaller than any difference computed up to this point. If the magnitude of the difference between the vector a and the action parameter vector am is smaller than any difference computed up to this point, the procedure of step 220 advances to step 710. Otherwise, the procedure of step 220 is forwarded to step 712. In step 710, the procedure of step 220 sets the variable match is set to be equal to the index m. The variable match generally signifies the index of the recognized action, such that the vector a most closely matches the action parameter vector amatch-
Then, in step 712, it is determined if the index m is equal to M. If that is the case, the procedure of step 220 advances to step 716, otherwise the procedure is forwarded to step 714. Step 714, indicates that the index m is incremented by one (1), and the procedure advances to step 706, such that the index m increments through each of the actions in the action matrix A from 1 to M. In step 714, the action parameter vector amatch is identified as the signature that most closely approximates the vector a. In a preferred embodiment of the present invention, the variable match can be an indexed array, which records the indices of multiple actions that most closely match the vector a. Once the action parameter vector amatCh is identified, the procedure of step 220 is completed.
B. Facial Signatures Using A Tensor Representation Of A Corpus Of Data
Fig. 8 illustrates a flow diagram of an exemplary embodiment of a process implementing a multilinear data analysis application 800 according to the present invention. As described above, the multilinear data analysis application 800 may be configured to recognize the unknown subject, unknown expression, unknown viewpoint and unknown, and synthesize a known illumination never before recorded for the subject, dimensionally reduce the amount of data describing illuminations, etc. The multilinear data analysis application 800 utilizes a corpus of facial data, which is collected using the data capturing system 112 from different subjects. The corpus of facial information can be stored in the database 108 of the server 102. This corpus of facial information may describe the illuminations, the views, the expressions, and the subjects captured in images made of pixels. The corpus of facial information is organized as a tensor D. The tensor D takes the form of a JRGXVXIXEXP tensor, where G is the number of subjects, V is the number of viewpoints, I is the number of illuminations, E is the number of expressions, and P is the number of pixels. It should be understood that the corpus of motion information can also be organized as a matrix D or a vector d. For example, if the information is organized as a matrix D, the process 800 preferably remains the same, but the underlying tensor procedures could be converted to matrix procedure equivalents. It should also be noted that representing the data contained in the tensor D may integrate multiple indices into a singular matrix index. Likewise, if the information is organized as a vector d, the process 800 preferably remains the same, but the underlying tensor procedures could be converted to vector procedure equivalents. It should also be noted that representing the data contained in the tensor D may integrate multiple indices into a singular vector index.
In a preferred embodiment of the present invention, three expressions can be collected for each person: e.g., smile, neutral, and yawn. Each expression may be captured in four different illuminations, i.e. light positions, and three different viewpoints. The four different illuminations may be one light from the center, one light from the right, one light from the left, and two lights one from the right and one from the left. The three different viewpoints may be center, 34 degrees to the right, and 34 degrees to the left. In another preferred embodiment of the present invention, further similar expressions are collected for each person such that each expression is captured in four different illuminations and two different viewpoints. For example, the four different illuminations are one light from the center, one light from the right, one light from the left, and two lights one from the right and one from the left. The two different viewpoints are 17 degrees to the right, and 17 degrees to the left. In still another exemplary embodiment of the present invention, each expression is captured in three different illuminations and five different viewpoints. For example, the three different illuminations are one light from the center, one light from the right, and one light from the left. Also, the five different viewpoints are center, 17 degrees to the right, 17 degrees to the left, 34 degrees to the right, and 34 degrees to the left. As shown in Fig. 8 step 802 provides that the multilinear data analysis application 800 collects facial information describing the illumination, viewpoint, expression, and subject. New facial data is collected describing the illumination of individual pixels of views of expressions of subjects. If each of the illuminations, each of the views, each of the expressions and individual are known, the data is integrated to the tensor D. Otherwise, the data cannot be integrated into the tensor D until those pieces of information are determined. The data describing an unknown illumination, view, expression or individual is organized as a new data vector d. The new data vector d describes an image having certain illumination, view, and expression data. Then in step 804, the multilinear data analysis application 800 solves for the core tensor Z. For example, this step can be an N-mode SVD procedure 304 as shown in Fig. 3 and described below in relation to Fig. 3. The N-mode SVD procedure 304 solves for the core tensor Z with N being equal to 5. When the procedure 804 or 304 computes the core tensor Z, the multilinear data analysis application 800 advances to step 806. Given the tensor D takes the form of a jβGxVxixExP tensor? where G is the number of subjects, V is the number of viewpoints, I is the number of illuminations, E is the number of expressions, and P is the number of pixels. The N-mode SVD process 804 decomposed the tensor D as follows:
D — £ *X-\ ^subjects ^2 Uviews ^3 «Jιllum ^4 '-'express ^5 Upixels where the G x V x I x E x P core tensor Z governs the interaction between the factors represented in the 5 mode matrices: The G x G mode matrix USUbjects spans the space of subject parameters, the V x V mode matrix UvιeWs spans the space of viewpoint parameters, the I x I mode matrix U,πum spans the space of illumination parameters and the E x E mode matrix Uexpress spans the space of expression parameters. The P x P mode matrix Upιxeιs orthonormally spans the space of images.
The multilinear data analysis incorporates aspects of a linear principal component analysis ("PCA") analysis. Each column of Usubjects is an "eigenimage". These eigenimages are preferably identical to the conventional eigenfaces, since the eigenimages are computed by performing the SVD on the mode-5 flattened data tensor D so as to yield the matrix DSUbjects- One of the advantages of multilinear analysis is that the core tensor Z can transform the eigenimages in Upιxeιs into a set of eigenmodes, which represent the principal axes of variation across the various modes (subject, viewpoints, illuminations, expressions), and represent how the various factors interact with each other to create the facial images. This can be accomplished by generating the product Z x5 Upιxeιs. In contrast, the PCA basis vectors or eigenimages represent only the principal axes of variation across images.
The facial image database can include V I E images for each subject which vary with viewpoint, illumination and expression. The PCA output represents each subject as a set of V I E vector- valued co-efficients, one from each image in which the subject appears.
Multilinear analysis allows each subject to be represented, regardless of viewpoint, illumination, and expression, with the same coefficient vector of dimension G relative to the bases comprising the G x V x I x E x P tensor
D = Z 2 Uyiews x3 U,num x 4 Uexpress XS Uplxeιs.
Each column in the tensor D is a basis matrix that comprises N eigenvectors. In any column, the first eigenvector depicts the average subject, and the remaining eigenvectors capture the variability across subjects for the particular combination of viewpoint, illumination and expression associated with that column. Each image is represented with a set of coefficient vectors representing the subject, view point, illumination and expression factors that generated the image. Multilinear decomposition allows the multilinear data analysis application 800 to construct different types of basis depending on the instruction received from the client interface application.
In particular step 814 of Fig. 8 provides that the multilinear data analysis application 800 determines whether the client interface application has instructed the multilinear data analysis application 800 to recognize an unknown subject who has been observed displaying a known expression as one of the population of observed known subjects. If the multilinear data analysis application 800 has received such instruction, the multilinear data analysis application 800 advances to an individual recognition procedure of step 816, shown in greater detail in Fig. 9 and described infra. When the individual recognition procedure of step 816 is completed as the multilinear data analysis application 800 advances to step 826. In step 818, the multilinear data analysis application 800 determines whether the client interface application has instructed the multilinear data analysis application 800 to recognize an unknown expression being displayed by a known subject as one of the expressions already observed as being performed by such known subject. If the multilinear data analysis application 800 has received such instruction, the multilinear data analysis application 800 advances to an expression recognition procedure of step 820, as shown in greater detail in Fig. 10 and described infra. When the expression recognition procedure of step 820 is completed, the multilinear data analysis application 800 is forwarded to step 826.
Thereafter, in step 822, the multilinear data analysis application 800 determines whether the client interface application has instructed the multilinear data analysis application 800 to dimensionally reduce the amount of data describing illuminations. If the multilinear data analysis application 800 has received such instruction, the multilinear data analysis application 800 advances to a data reduction procedure of step 824, as shown in greater detail in Fig. 11 and described infra. Once the data reduction procedure of step 824 is complete, the multilinear data analysis application 800 advances to step 826. Finally, in step 826, the multilinear data analysis application 800 determines whether a data set for a new subject should be collected or if the client interface application transmitted new instruction. If a data set for a new subject displaying an expression (e.g., a facial expression) is available, the multilinear data analysis application 800 advances to step 802. If the multilinear data analysis application 800 has received a new instruction from the client interface application, the multilinear data analysis application 800 advances to step 814.
Fig. 9 illustrates a flow diagram of the details of the individual recognition procedure of step 816 for recognizing an unidentified subject given an unknown facial image: the new data vector d. The multilinear data analysis preferably yields a basis tensor (as defined below) that maps all images of a subject to the same point in the subject parameter space, thus creating a many-to-one mapping. The individual recognition procedure of step 816 begins at step 902, in which the matrix Usubjects is extracted. The N-mode SVD procedure of step 804 (or step 304) decomposes the tensor D resulting in the expression D = Z χ\ USUbjects χ2 Uvιews x3
U,ιium χ4 Uexpress χ 5 Upιxeιs, and the matrix Usubjects is extracted from this expression. In particular, the matrix Usubjects contains row vectors cτ p of coefficients for each person p. Once the matrix Usubjects is extracted, the procedure of step 816 advances to step 904, in which the basis tensor B is generated. The basis tensor B is constructed according to B = Z χ 2 Uvιews x 3 U,num χ Uexpress xs Upιxeιs. Upon the completion of the construction of the basis tensor B the procedure of step 816 advances to step 906 where this procedure initializes indexes v, i and e to one (1). At step 908, the individual recognition procedure of step 816 indexes into the basis tensor B to obtain a sub-tensor -δv,-,e- This is performed for a particular viewpoint v, illumination i, and expression e to obtain the subtensor Bv e having dimensions G x 1 x 1 χ 1 x P.
Then, in step 910, the subtensor _Bv,,.eis flattened along the subject mode. The subtensor _-?, e is flattened along the subject mode to obtain the G χ P matrix Bv-..e (subject) I should be noted that a specific training image dj of subject p in viewpoint v, illumination /, and expression e can be written as dp e= B ιe(subject) c/>; hence, cp = ovι e(subject) dPιVιl e.
Then, in step 912, an index variable p and a variable match are initialized. For example, the index variable p is initialized to one (1), and the variable match is initialized to negative one (-1). Once these variables are initialized, the procedure of step 816 advances to step 914, in which, the projection operator
H~ v (s bjec i useQl to project the new data vector d into a set of candidate coefficient vectors. Given the new data vector d, the projection operator ' v τ ι e(subject) is used to project the new data vector d into a set of candidate coefficient vectors cv.-,e = B' v e(subjecl) d for every v, i, e combination. In step 916, each of the set of candidate coefficient vectors cV e is compared against the person-specific coefficient vectors cp. The comparison can be made according to the following equation:
Figure imgf000030_0001
In step 918, it is determined whether the set of candidate coefficient vectors cv e is the closest match to the subject-specific coefficient vectors cp up to this point. The best matching vector cp can be the one that yields the smallest value of |c , - - Cp|| among all viewpoints, illuminations, and expressions. If the magnitude of the difference between the set of candidate coefficient vectors cv,-,e and the subject- specific coefficient vectors c^ is smaller than any difference computed up to this point, the procedure of step 816 advances to step 920. Otherwise, the magnitude of the difference between the set of candidate coefficient vectors cV e and the procedure of step 816 is forwarded to step 922. Step 920 provides that the variable match is set to be equal to the index p. The variable match signifies the index of the most closely matched subject, such that the set of candidate coefficient vectors zv e most closely matches the subject-specific coefficient vectors cmatch-
Thereafter, in step 922, it is determined if the index p is equal to G. If that is the case, the procedure of step 816 sets the index p is set equal to one (1) and advances to step 928; otherwise, the procedure of step 816 advances to step 924. In step 924, the index p is incremented by one (1), and the procedure of step 816 advances to step 914, such that the procedure tests each of the subjects in the subject matrix USUbject from 1 to G.
In step 928, it is determined if the index e is equal to E. If that is the case, the procedure of step 816 sets the index e equal to one (1) and advances to step 930; otherwise, the procedure of step 816 advances to step 934. In step 934, the index e is incremented by one (1), and the procedure of step 816 advances to step 908, such that the procedure tests each of the subjects in the subject matrix Uexpress from 1 to E.
In step 930, it is determined if the index i is equal to I. If that is the case, the procedure of step 816 sets the index i equal to one (1) and advances to step 932; otherwise, the procedure of step 816 advances to step 936. In step 936, the index i is incremented by one (1), and the procedure of step 816 advances to step 908, such that the procedure tests each of the subjects in the subject matrix U,nun. from 1 to I.
In step 932, it is determined if the index v is equal to V. If that is the case, the procedure of step 816 advances to step 926; otherwise, the procedure of step 816 advances to step 938. In step 938, the index v is incremented by one (1), and the procedure of step 816 advances to step 908, such that the procedure tests each of the subjects in the subject matrix Uvιews from 1 to V. Finally, in step 926, the subject match can be identified as the subject portrayed in the new data vector d. In a preferred embodiment of the present invention, the variable match can be an indexed array, that records the indices of multiple subjects most closely matching the subjects portrayed in the new data vector d. Once the subject match is identified, the procedure of step 816 is completed.
Fig. 10 illustrates a flow diagram of the details of the expression recognition procedure of step 820 for recognizing an unidentified expression given an unknown facial image: the new data vector d. The expression recognition procedure of step 820 is largely the same as the subject recognition procedure of step 816. The expression recognition procedure of step 820 begins in step 1002, in which the matrix Uexpress is extracted, in a manner similar to that used to extract Usubjects in step 902. In particular, the matrix Uexpress contains row vectors cτ e of coefficients for each expression e. Once the matrix Uexpress is extracted, the procedure of step 820 advances to step 1004, in which the basis tensor B is generated. The basis tensor B is constructed according to B = Z 2 Uvιews x3 U,ιιUm x I Usubjects x 5 Upιxe.s. Upon the completion of the construction of the basis tensor B the procedure of step 820 advances to step 1006 where this procedure initializes indexes v, i and p to one (1). At step 1008, the expression recognition procedure of step 820 indexes into the basis tensor B to obtain a sub-tensor -δp,v,ι. This is performed for a particular subject p, viewpoint v and illumination i to obtain the subtensor _-?P;V;1 having dimensions 1 1 1 x E P.
Then, in step 1010, the subtensor BV<W is flattened along the expression mode. The subtensor -βP)V,. is flattened along the expression mode to obtain the E x P matrix Bp.v.i (express) It should be noted that a specific training image d^ of subject p in viewpoint v, illumination i, and expression e can be written as dp_v e = Bτ p vι(subjecl ce; hence, ce = op vl(subjecl) dp v ι e.
Then, in step 1012, an index variable e and a variable match are initialized. For example, the index variable e is initialized to one (1), and the variable match is initialized to negative one (-1). Once these variables are initialized, the procedure of step 820 advances to step 1014, in which, the projection operator B~ p τ vι(subjecl) is used to project the new data vector d into a set of candidate coefficient vectors. Given the new data vector d, the projection operator ~ p vφubject) is used to project the new data vector d into a set of candidate coefficient vectors cp,,, = ^~ p T v, (subject) d f°r every p,v, i combination. In step 1016, each of the set of candidate coefficient vectors cAV_, is compared against the person-specific coefficient vectors ce The comparison can be made according to the following equation:
Figure imgf000033_0001
In step 1018, it is determined whether the set of candidate coefficient vectors Cp/V,. is the closest match to the expression coefficient vectors ce up to this point. The best matching vector ce can be the one that yields the smallest value of ||θ. , - Ce| among all viewpoints, illuminations, and expressions. If the magnitude of the difference between the set of candidate coefficient vectors c V/- and the expression coefficient vectors ce is smaller than any difference computed up to this point, the procedure of step 820 advances to step 1020. Otherwise, the magnitude of the difference between the set of candidate coefficient vectors c V,- and the procedure of step 820 is forwarded to step 1022. Step 1020 provides that the variable match is set to be equal to the index p. The variable match signifies the index of the most closely matched expression, such that the set of candidate coefficient vectors cp _„_, most closely matches the expression coefficient vectors cmatch-
Thereafter, in step 1022, it is determined if the index e is equal to E. If that is the case, the procedure of step 820 sets the index p is set equal to one (1) and advances to step 1028; otherwise, the procedure of step 820 advances to step 1024. In step 1024, the index p is incremented by one (1), and the procedure of step 820 advances to step 1014, such that the procedure tests each of the expressions in the expression matrix Uexpress from 1 to E.
In step 1028, it is determined if the index p is equal to G. If that is the case, the procedure of step 820 sets the index e equal to one (1) and advances to step 1030; otherwise, the procedure of step 820 advances to step 1034. In step 1034, the index p is incremented by one (1), and the procedure of step 820 advances to step 1008, such that the procedure tests each of the subjects in the subject matrix USUbject from 1 to G.
In step 1030, it is determined if the index i is equal to I. If that is the case, the procedure of step 820 sets the index i equal to one (1) and advances to step 1032; otherwise, the procedure of step 820 advances to step 1036. In step 1036, the index i is incremented by one (1), and the procedure of step 820 advances to step 1008, such that the procedure tests each of the illuminations in the illumination matrix U,ιium from 1 to I.
In step 1032, it is determined if the index v is equal to V. If that is the case, the procedure of step 820 advances to step 1026; otherwise, the procedure of step 820 advances to step 1038. In step 1038, the index v is incremented by one (1), and the procedure of step 820 advances to step 1008, such that the procedure tests each of the views in the view matrix Uvιews from 1 to V. Finally, in step 1026, the subject match can be identified as the subject portrayed in the new data vector d. In a preferred embodiment of the present invention, the variable match can be an indexed array, that records the indices of multiple subjects most closely matching the subjects portrayed in the new data vector d. Once the subject match is identified, the procedure of step 820 is completed.
Fig. 11 illustrates a flow diagram of the details for the data reduction procedure step 824 for dimensionally reduce the amount of data describing illuminations. This data reduction procedure step 824 reduces the amount of data by truncating the mode matrices resulting from the N-mode SVD procedure 304 or 804, where N = 5. The truncation of the mode matrices yields an exemplary reduced- dimensionality approximation D The truncation of the mode matrices results in the approximation of the tensor D with reduced ranks R\ < I\, Rι < h, ... , RN IN that has a bounded error
l II-D-Df II < ∑ i—i σ2.- +• • •+ ∑ i—t
where the smallest mode-n singular values that were discarded are defined as c » ,- C „ --->' - -- σ , , . The - '* mode-n eigenvalue is the Frobenius norm of the
subtensor Z , , m The subtensor Z , , _s , is extracted from the tensor Z by holding the nth dimension fixed to t„ = R„ and varying all other dimensions. Once the index n is initialized, the procedure step 824 advances to step 1104.
In another exemplary dimensionality reduction procedure for use on the tensors is to compute for a tensor D a best rank-(Rι, R2, ..., RN) approximation Z)' = __T X] U'ι χ 2 U'2 ... X N U'yv, with orthonormal /„ x Rn mode matrices U'„, for n = 1, 2, ..., N, which can minimize the least-squares error function || D - D ' || 2. For example, N can equal to five (5). The data reduction procedure step 824 begins in step 1102, where an index n is initialized to one (1).
In step 1104, the mode matrix Un is truncated to Rn columns. All data in the mode matrix Un beyond the Rn column can be removed from the matrix Un. After the matrix Un is truncated, the procedure step 824 advances to step 1106, in which it is determined whether the index n is equal to N. If that is the case, the procedure step 824 advances to step 1110; otherwise, the procedure step 824 is forwarded to step 1108. In step 1108, the index n is incremented by one (1), and the procedure step 824 proceeds to step 1104. Then, in step 1110, the index n is initialized to one (1), and the procedure step 824 advances to step 1112, in which the
tensor is calculated ϋn k+1 =Dx2 U * x3 U * ... xN V . When the tensor tTn w
is calculated, the procedure step 824 advances to step 1114, in which the tensor U'n k+l
is mode-n flattened to obtain the matrix U' *+1 . Then in step 1116, the matrix U' *+1 n(n) is computed as the Ii x Ri matrix whose columns are the first R\ columns of the left
matrix of the SVD of U ' 1(*+' .
In step 1118, it is determined whether the index n is equal to N. If that is the case, the procedure step 824 advances to step 1122; otherwise the procedure step 824 advances to step 1120, in which the index n is incremented by one (1) and the procedure step 824 advances to step 1112. Then in step 1122, it is determined whether the mode matrices have converged. The mode matrices have converged if
T II u *+1 u „* II 2 > (l-e ) Rn, for \< n < N. If the mode matrices have converged, n the procedure step 824 advances to step 1124; otherwise the procedure step 824 advances to step 1110. In step 1124, the core tensor Z' is computed. The converged mode matrices U' i, U'2 . . ., U'N is used to compute the core tensor
Z'= U'N xNV'N T and D' = Z' x. U'ι χ 2 U'2 . . . *N U as the rank-reduced approximation of the tensor D. Once the core tensor __T is computed, the procedure step 824 is completed.
C. Motion Signature Using A Matrix Representation Of A Corpus Of Data
Fig. 13 illustrates a flow diagram of an exemplary embodiment of a process implementing a multilinear data analysis application 1300 which is indicative of the multilinear data analysis application. As described above for the multilinear data analysis application, the process 1300 is configured to synthesize a known action never before recorded as being performed by the subject. In particular the multilinear data analysis application utilizes the corpus of motion data, which is collected using the data capturing system 112 from different subjects as described above in relation to Fig. 2. This corpus of motion information is stored in the database 108 of the server 102, and describes angles of the joints in the legs of at least one subject performing at least one action. The corpus of motion information can be organized as a matrix D and is preferably collected from different subjects as described above in relation to Fig. 2. It should be understood that the corpus of motion information can also be organized as a tensor _D or a vector d. The multilinear data analysis application 1300 is similar to the multilinear data analysis application 200 of Fig. 2, except that the data utilized by the multilinear data analysis application 1300 takes is organized as the matrix D, not as the tensor D.
Turning to further particulars of Fig. 13, in step 1302, the process 1300 collects motion information or data on various subjects (e.g., people) performing different actions, e.g., new motion data. If the action and individual are known, the data can be integrated into the matrix D. If the action or individual are not known, such data would likely not be integrated into the matrix D until those pieces of information are determined. The data describing an unknown action or individual is organized as a new data matrix Dp or a new data vector d. The new data matrix Dp can include more than one new data vector d. Each new data vector dp.a of the new data matrix Dp describes the motion of subject p performing action a. With the knowledge of motion sequences of several subjects, the matrix D can take the form of a nt x m matrix, where n is the number of subjects, t is the number of joint angle time samples, and m is the number of motion classes. The first column of the matrix D stacks the mean walk of every subject, the second column stacks the mean ascending motion and the third stacks the mean stair descent, as follows:
Figure imgf000037_0001
D = t Lwalk, ascend, descen Jd,
The columns of the matrix D, are the average walk, ascend and descend of stairs of the ith subject. Each motion is defined as the angles by every joint over time.
At step 1304, the process 1300 decomposes the matrix D into a core matrix Z, a subject matrix P, and an action matrix A. The core matrix Z can be used for defining the inter-relationships between a subjects matrix P and an action matrix A. This step represents a singular value decomposition ("SVD") process 1304, shown in Fig. 14, and described in further detail herein. The SVD procedure of step 1304 is an orthonormal procedure that solves for the core matrix Z, the subject matrix P, and the action matrix A, which minimizes
Figure imgf000038_0001
where I is the identity matrix. When this procedure of step 1304 determines the core matrix Z, the process 1300 advances to step 1305.
In step 1305, the process 1300 analyzes the data collected in the step
1302. The SVD procedure of step 1304 decomposes the matrix D into the product of a core matrix Z, and two orthogonal matrices as follows: D = (Z Pτ) Aτ
= S AT, where the VT-operator is a matrix transpose T followed by a "vec" operator that creates a vector by stacking the columns of the matrix. The subject matrix P = [pi ... P«"-Pc]r- whose row vectors p; are person specific, encodes the invariancies across actions for each person. Thus, the subject matrix P contains the subject or human motion signatures pj. The action matrix
Figure imgf000038_0002
walk ascend descend whose row vectors ac, contain the coefficients for the different action classes c, encodes the invariancies across subjects for each action. The core matrix Z = [Zi ... Zj ... Zn]τ represents the basis motions which are independent of people and of actions. It governs the relationship between the orthonormal matrices P and A. A matrix
Figure imgf000038_0003
is composed of person-specific signature matrices S.
In step 1306, the process 1300 determines whether it has been instructed by the client interface application to synthesize new data describing at least one known action that was never before recorded as being performed by a subject. If the process 1300 has received such instruction, step 1308 is executed to perform advances to an individual generation procedure, as shown in further detail in Fig. 15 and described herein. When the individual generation procedure of step 1308 is complete, the process 1300 advances to step 1326. Then in step 1326, the process 1300 determines whether a data set for a new subject should be integrated into the matrix D or if the client interface application has transmitted a new instruction. In particular, if the data set for a new subject performing the action is available, the process 1300 advances to step 1302. Otherwise, the process 1300 received the new instruction from the client interface application, so the process 1300 continues to step 1306.
As shown in Fig. 14, the procedure of step 1304 begins in step 1402 by computing the matrix P by solving D - (ZVTPT)VTAT. The process then calculates (DA)VT = ZVTPT. The procedure performs an SVD procedure on the left hand side resulting in USVT = ZVTPT. y matr χ y js en truncated to the first r-columns of the matrix V. The procedure of step 1304 then solves for the action matrix A in step 1404 by calculating D = (ZAT)VTPT. Once this is calculated, the procedure calculates (DVTP)VT = ZAT.
T T
The procedure performs SVD on the left hand side resulting in USV = ZA . The matrix A is then truncated to the first r-columns of the matrix V. In step 1406, the procedure of step 1304 obtains the core matrix Z by Z = (D P) A , where the matrix P and the matrix A are orthonormal. It should be understood that by setting the matrix A and the matrix P to the first r-columns of the matrix V, effectively accomplishing dimensional reduction.
Fig. 15 illustrates the details of the individual generation procedure of step 1308, which synthesizes the remaining actions, which were never before seen, for an new individual. The remaining actions are generated given new motion data Dnew of the new subject performing an action. The new signature model of the new subject is the matrix
Figure imgf000039_0001
Only a portion of the action classes c are represented the matrix Dnew. The linear combination of known signatures is:
Figure imgf000040_0001
where W is a weight matrix. The individual generation procedure of step 1308 solves for the weight matrix W of the new subject using iterative gradient descent of the error function
Figure imgf000040_0002
where Ainc has only columns corresponding to the motion examples available in the matrix Dnew. In particular, step 1502 of this procedure initializes an index t to one (1). In step 1504, the procedure of step 1308 obtains the matrix Q by calculating Q = SA.*nc . Once this procedure obtains the matrix Q, step 1506 of the procedure of step 1308 calculates the matrix W(t+1) in the following manner: W(t + 1) = W(t) + γ (Dnew - WQ)QT. The step 1508 then calculates Snew(t+1) by calculating Snew(t+1) = W(t + 1)S, then this procedure advances to step 1510.
In step 1510, it is determined whether the error function E has converged. If the error function E has not converged, the procedure of step 1308 continues to step 1512, where the index t is incremented by one (1) and this procedure advances to step 1504. If the error function E has converged, this procedure advances to step 1514. In step 1514 the procedure of step 1308 synthesizes new data from one of the action parameters c. For example, if the action parameter c represents the action of walking. The new data for walking is synthesized by multiplying the newly extracted signature matrix Snew and the action parameters for walking, awaιk, as follows: walknew = Snewawaik ■ Once the new data is synthesized, the procedure of step 1308 is complete and it exits.
While the invention has been described in connecting with preferred embodiments, it will be understood by those of ordinary skill in the art that other variations and modifications of the preferred embodiments described above may be made without departing from the scope of the invention. Other embodiments will be apparent to those of ordinary skill in the art from a consideration of the specification or practice of the invention disclosed herein. It is intended that the specification and the described examples are considered as exemplary only, with the true scope and spirit of the invention indicated by the following claims.

Claims

WHAT IS CLAIMED:
1. A data structure for generating an object descriptor of at least one object, comprising: a plurality of first data elements including information regarding at least one characteristic of the at least one object, wherein the information of the first data elements is capable of being used to obtain the object descriptor, wherein the object descriptor is related to the at least one characteristic and a further characteristic of the at least one object, and is capable of being used to generate a plurality of second data elements which contain information regarding the further characteristic of the at least one object based on the object descriptor.
2. The data structure of claim 1, wherein each of the at least one object is one of an identity of a person, an action performed by the person, and a joint angle.
3. The data structure of claim 2, wherein the at least one characteristic of the at least one object is at least one of a walking motion, a climbing motion and a descending motion.
4. The data structure of claim 1, wherein the at least one object is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
5. The data structure of claim 4, wherein the at least one characteristic of the at least one object is at least one of a smiling expression, a serious expression and a yawning expression.
6. The data structure of claim 1, wherein the first data elements are defined by at least two primitives.
7. The data structure of claim 6, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
8. The data structure of claim 6, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
9. The data structure of claim 6, wherein the first data elements form a tensor organized based on the primitives.
10. The data structure of claim 1 , wherein the second data elements are defined by at least two primitives.
11. The data structure of claim 1 , wherein the object descriptor is obtained using an n-mode orthonormal decomposition procedure.
12. The data structure of claim 1 , wherein the second data elements are generated using a generative model.
13. A data structure for identifying a sample object based upon a sample object descriptor, comprising: a plurality of first data elements including information which is defined by at least two first primitives, wherein the first data elements are capable of being used to obtain at least one of a plurality of object descriptors; and a plurality of second data elements including information which is defined by at least two second primitives, wherein the second data elements are capable of being used to obtain the sample object descriptor, and wherein the at least one of the object descriptors are configured to be compared to the sample object descriptor for determining whether the sample object descriptor is potentially identifiable as one of the object descriptors, wherein each of the plurality of object descriptors is associated with a respective one of a plurality of objects.
14. The data structure of claim 13, wherein the sample object is one of an identity of a person, an action performed by the person, and a joint angle.
15. The data structure of claim 13, wherein each of the objects is one of an identity of a person, an action performed by the person, and a joint angle of a joint of a person.
16. The data structure of claim 13, wherein each of the objects and the sample object are one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
17. The data structure of claim 13, wherein the first primitives include an identity of a person, an action performed by the person, and a joint angle of a joint of a person.
18. The data structure of claim 13, wherein the first primitives include an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
19. The data structure of claim 13, wherein the second primitives include an identity of a person, an action performed by the person, and a joint angle of a joint of a person.
20. The data structure of claim 13, wherein the second primitives include an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
21. The data structure of claim 13, wherein the first data elements form a tensor organized based on the first primitives.
22. The data structure of claim 13, wherein the second data elements form a tensor organized based on the second primitives.
23. The data structure of claim 13, wherein each of the object descriptors and the sample object descriptor are obtained using an n-mode single value decomposition procedure.
24. The data structure of claim 13, wherein a magnitude of the sample object descriptor is compared to respective magnitudes of the object descriptors to determine whether the sample object is potentially identifiable as one of the objects.
25. A method for generating an object descriptor of at least one object, comprising the steps of: collecting a plurality of first data elements which contain information regarding at least one characteristic of the at least one object; obtaining the object descriptor based on the information of the first data elements, wherein the object descriptor is related to the at least one characteristic and a further characteristic of the object; and generating a plurality of second data elements which contain information regarding the further characteristic of the at least one object based on the object descriptor.
26. The method of claim 25, wherein each of the at least one object is one of an identity of a person, an action performed by the person, and a joint angle.
27. The method of claim 25, wherein the at least one characteristic of the at least one object is at least one of a walking motion, a climbing motion and a descending motion.
28. The method of claim 25, wherein the at least one object is an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
29. The method of claim 25, wherein the at least one characteristic of the at least one object is at least one of a smiling expression, a serious expression and a yawning expression.
30. The method of claim 25, wherein the first data elements are defined by at least two primitives.
31. The method of claim 30, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
32. The method of claim 30, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
33. The method of claim 30, wherein the first data elements form a tensor organized based on the primitives.
34. The method of claim 25, wherein the second data elements form a tensor organized based on at least two primitives.
35. The method of claim 25, wherein the object descriptor is obtained using an n- mode single value decomposition procedure.
36. The method of claim 25, wherein the second data elements are generated using a generative model.
37. A method for identifying a sample object based upon a sample object descriptor, comprising the steps of: collecting a plurality of data elements which are defined by at least two primitives; obtaining at least one of a plurality of object descriptors based on the information of the data elements; and comparing the sample object descriptor to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
38. The method of claim 37, wherein the sample object is one of an identity of a person, an action performed by the person, and a joint angle.
39. The method of claim 37, wherein each of the objects is one of an identity of a person, an action performed by the person, and a joint angle.
40. The method of claim 37, wherein the sample object is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
41. The method of claim 37, wherein each of the objects is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
42. The method of claim 37, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
43. The method of claim 37, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
44. The method of claim 37, wherein the data elements form a tensor organized based on the primitives.
45. The method of claim 37, further comprising the step of generating a plurality of further data elements describing a further characteristic of the sample object, wherein the further data elements are defined by at least two primitives.
46. The method of claim 37, wherein the obtaining step comprises extracting each of the sample object descriptor using an n-mode single value decomposition procedure.
47. The method of claim 37, wherein the obtaining step comprises extracting at least one of the plurality of object descriptors using an n-mode single value decomposition procedure.
48. The method of claim 37, wherein the comparing step comprises comparing a magnitude of the sample object descriptor to magnitudes of the object descriptors to determine whether the sample object is potentially identifiable as one of first and second ones of the objects.
49. A storage medium storing a software program that is adapted for generating an object descriptor of at least one object, wherein the software program, when executed by a processing arrangement, is configured to cause the processing arrangement to execute the steps comprising of: collecting a plurality of first data elements which contain information regarding at least one characteristic of the at least one object; obtaining the object descriptor based on the information of the first data elements, wherein the object descriptor is related to the at least one characteristic and a further characteristic of the object; and generating a plurality of second data elements which contain information regarding the further characteristic of the at least one object based on the object descriptor.
50. The storage medium of claim 49, wherein each of the at least one object is one of an identity of a person, an action performed by the person, and a joint angle.
51. The storage medium of claim 49, wherein the at least one characteristic of the at least one object is at least one of a walking motion, a climbing motion and a descending motion.
52. The storage medium of claim 49, wherein the at least one object is an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
53. The storage medium of claim 49, wherein the at least one characteristic of the object is at least one of a smiling expression, a serious expression and a yawning expression.
54. The storage medium of claim 49, wherein the first data elements are defined by at least two primitives.
55. The storage medium of claim 54, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
56. The storage medium of claim 54, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
57. The storage medium of claim 54, wherein the first data elements form a tensor organized based on the primitives.
58. The storage medium of claim 49, wherein the second data elements form a tensor based on at least two primitives.
59. The storage medium of claim 49, wherein the object descriptor is obtained using an n-mode single value decomposition procedure.
60. The storage medium of claim 49, wherein the second data elements are generated using a generative model.
61. A storage medium including a software program for identifying a sample object based upon a sample object descriptor, wherein the software program, when executed by a processing arrangement, is configured to cause the processing arrangement to execute the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; obtaining at least one of a plurality of object descriptors based on the information of the data elements; and comparing the sample object descriptor to at least one of the object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
62. The storage medium of claim 61, wherein the sample object is one of an identity of a person, an action performed by the person, and a joint angle.
63. The storage medium of claim 61 , wherein each of the obj ects is one of an identity of a person, an action performed by the person, and a joint angle.
64. The storage medium of claim 61 , wherein the sample object is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
65. The storage medium of claim 61, wherein each of the objects is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
66. The storage medium of claim 61 , wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
67. The storage medium of claim 61 , wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
68. The storage medium of claim 61, wherein the data elements form a tensor organized based on the primitives.
69. The storage medium of claim 61, further comprising the step of generating a plurality of further data elements describing a further characteristic of the sample object, wherein the further data elements are defined by at least two further primitives.
70. The storage medium of claim 69, wherein the further primitives and the primitives are the same.
71. The storage medium of claim 61 , wherein the obtaining step comprises extracting each of the sample object descriptor and at least one of the plurality of object descriptors using an n-mode single value decomposition procedure.
72. The storage medium of claim 61, wherein the comparing step comprises comparing a magnitude of the sample object descriptor to magnitudes of the object descriptors to determine whether the sample object is potentially identifiable as one of first and second ones of the objects.
73. A data structure for at least two object descriptors, comprising: a plurality of data elements including information defined by at least two primitives, wherein the data elements are capable of being used to obtain one of the object descriptors, wherein the one of the object descriptors is capable having a reduced dimensionality.
74. The data structure of claim 73, wherein each of the object descriptors except for the one of the object descriptors having the reduced dimensionality maintain full dimensionality.
75. The data structure of claim 73, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
76. The data structure of claim 73, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
77. The data structure of claim 73, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
78. The data structure of claim 73, wherein the data elements form a tensor organized based on the primitives.
79. The data structure of claim 73, wherein the one of the at least two object descriptors is obtained using an n-mode single value decomposition procedure.
80. The data structure of claim 73, wherein the dimensionality of the one of the object descriptors is reduced using an n-mode orthogonal iteration procedure.
81. A method for reducing a dimensionality of one of at least two object descriptors, comprising the steps of: collecting a plurality of data elements which are defined by at least two primitives; obtaining the one of the object descriptors based on the information of the data elements; and reducing the dimensionality of the one of the object descriptors.
82. The method of claim 81, wherein each of the object descriptors except for the one of the object descriptors having the reduced dimensionality maintain full dimensionality.
83. The method of claim 81 , wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
84. The method of claim 81 , wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
85. The method of claim 81, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
86. The method of claim 81 , wherein the data elements form a tensor organized based on the primitives.
87. The method of claim 81, wherein the one of the at least two object descriptors is obtained using an n-mode single value decomposition procedure.
88. The method of claim 81 , wherein the dimensionality of the one of the obj ect descriptors is reduced using an n-mode orthogonal iteration procedure.
89. A storage medium storing a software program for reducing a dimensionality of one of at least two object descriptors, wherein the software program, when executed by a processing arrangement, is configured to cause the processing arrangement to execute the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; obtaining the one of the object descriptors based on the information of the data elements; and reducing the dimensionality of the one of the object descriptors.
90. The storage medium of claim 89, wherein each of the object descriptors except for the one of the object descriptors having the reduced dimensionality maintain full dimensionality.
91. The storage medium of claim 89, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
92. The storage medium of claim 89, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
93. The storage medium of claim 89, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
94. The storage medium of claim 89, wherein the data elements form a tensor organized based on the primitives.
95. The storage medium of claim 89, wherein the one of the at least two object descriptors is obtained using an n-mode single value decomposition procedure.
96. The storage medium of claim 89, wherein the dimensionality of the one of the object descriptors is reduced using an n-mode orthogonal iteration procedure.
97. A logic arrangement for generating an object descriptor of at least one object, wherein the logic arrangement is adapted for an execution by a processing arrangement to perform the steps comprising of: collecting a plurality of first data elements which contain information regarding at least one characteristic of the at least one object; obtaining the object descriptor based on the information of the first data elements, wherein the object descriptor is related to the at least one characteristic and a further characteristic of the object; and generating a plurality of second data elements which contain information regarding the further characteristic of the at least one object based on the object descriptor.
98. The logic arrangement of claim 97, wherein each of the at least one object is one of an identity of a person, an action performed by the person, and a joint angle.
99. The logic arrangement of claim 97, wherein the at least one characteristic of the at least one object is at least one of a walking motion, a climbing motion and a descending motion.
100. The logic arrangement of claim 97, wherein the at least one object is an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
101. A logic arrangement for identifying a sample object based upon a sample object descriptor, wherein the logic arrangement is adapted for an execution by a processing arrangement to perform the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; obtaining at least one of a plurality of obj ect descriptors based on the information of the data elements; and comparing the sample object descriptor to at least one of object descriptors for determining whether the sample object descriptor is identifiable as one of the object descriptors, wherein each of the object descriptors is associated with a respective one of a plurality of objects.
102. The logic arrangement of claim 101, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
103. The logic arrangement of claim 101, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
104. The logic arrangement of claim 101, wherein the data elements form a tensor organized based on the primitives.
105. The logic arrangement of claim 101, further comprising the step of generating a plurality of further data elements describing a further characteristic of the sample object, wherein the further data elements are defined by at least two primitives.
106. A logic arrangement for reducing a dimensionality of one of at least two object descriptors, wherein the logic arrangement is adapted for an execution by a processing arrangement to perform the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; obtaining the one of the object descriptors based on the information of the data elements; and reducing the dimensionality of the one of the object descriptors.
107. The logic arrangement of claim 106, wherein each of the object descriptors except for the one of the object descriptors having the reduced dimensionality maintain full dimensionality.
108. The logic arrangement of claim 106, wherein the primitives include at least one of an identity of a person, an action performed by the person, and a joint angle.
109. The logic arrangement of claim 106, wherein the primitives include at least one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
110. The logic arrangement of claim 106, wherein the dimensionality of the one of the object descriptors is reduced using an n-mode orthogonal iteration procedure.
111. A data structure for generating an object descriptor, comprising: a plurality of data elements which are defined by at least two primitives, wherein the information of the data elements is capable of being used to obtain the object descriptor using an orthonormal decomposition procedure.
112. The data structure of claim 111, wherein the data elements form a tensor organized based on the primitives, and wherein the tensor has a fixed order.
113. The data structure of claim 112, wherein the n-mode orthonormal decomposition procedure is an n-mode singular value decomposition procedure.
114. The data structure of claim 113, wherein the n-mode singular value decomposition procedure is capable of decomposing the tensor into a core tensor and at least two orthonormal matrices.
115. The data structure of claim 111, wherein each of the primatives is one of an identity of a person, an action performed by the person, and a joint angle.
116. The data structure of claim 111, wherein each of the primatives is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
117. A method for generating an object descriptor, comprising the steps of: collecting a plurality of data elements which are defined by at least two primitives; and obtaining the object descriptor based on the information of the data elements using an n-mode orthonormal decomposition process.
118. The method of claim 117, wherein the data elements form a tensor organized based on the primitives, and wherein the tensor has a fixed order.
119. The method of claim 118, wherein the n-mode orthonormal decomposition procedure is an n-mode singular value decomposition procedure.
120. The method of claim 119, wherein the n-mode singular value decomposition procedure is capable of decomposing the tensor into a core tensor and at least two orthonormal matrices.
121. The method of claim 117, wherein each of the primatives is one of an identity of a person, an action performed by the person, and a joint angle.
122. The method of claim 117, wherein each of the primatives is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
123. A storage medium storing a software program that is adapted for generating an object descriptor, wherein the software program, when executed by a processing arrangement, is configured to cause the processing arrangement to execute the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; and obtaining the object descriptor based on the information of the data elements using an n-mode orthonormal decomposition process.
124. The storage medium of claim 123, wherein the data elements form a tensor organized based on the primitives, and wherein the tensor has a fixed order.
125. The storage medium of claim 124, wherein the n-mode orthonormal decomposition procedure is an n-mode singular value decomposition procedure.
126. The storage medium of claim 125, wherein the n-mode singular value decomposition procedure is capable of decomposing the tensor into a core tensor and at least two orthonormal matrices.
127. The storage medium of claim 123, wherein each of the primatives is one of an identity of a person, an action performed by the person, and a joint angle.
128. The storage medium of claim 123, wherein each of the primatives is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
129. A logic arrangement for generating an object descriptor, wherein the logic arrangement is adapted for an execution by a processing arrangement to perform the steps comprising of: collecting a plurality of data elements which are defined by at least two primitives; and obtaining the object descriptor based on the information of the data elements using an n-mode orthonormal decomposition process.
130. The logic arrangement of claim 129, wherein the data elements form a tensor organized based on the primitives, and wherein the tensor has a fixed order.
130. The logic aπangement of claim 130, wherein the n-mode orthonormal decomposition procedure is an n-mode singular value decomposition procedure.
131. The logic arrangement of claim 131, wherein the n-mode singular value decomposition procedure is capable of decomposing the tensor into a core tensor and at least two orthonormal matrices.
132. The logic arrangement of claim 129, wherein each of the primatives is one of an identity of a person, an action performed by the person, and a joint angle.
133. The logic arrangement of claim 129, wherein each of the primatives is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
134. A method for collecting information, comprising the steps of: collecting a plurality of data elements which are defined by at least two primitives; forming at least one first tensor based on the data elements that are organized using the primitives having known values; and forming at least one second tensor based on the data elements that are organized using the primatives having unknown values.
135. The method of claim 134, wherein each of the primatives is one of an identity of a person, an action performed by the person, and a joint angle.
136. The method of claim 135, wherein each of the primatives is one of an identity of a person, a viewpoint, an illumination, an expression displayed by the person, and pixel.
PCT/US2002/039257 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression WO2003055119A2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU2002357108A AU2002357108A1 (en) 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
EP02805553A EP1466270A4 (en) 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
CA002469565A CA2469565A1 (en) 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
JP2003555717A JP2005514683A (en) 2001-12-06 2002-12-06 Logic device, data structure, system and method for multi-linear representation of multimodal data populations for synthesis, recognition and compression
US10/498,279 US7280985B2 (en) 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
US11/868,852 US7603323B2 (en) 2001-12-06 2007-10-08 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis recognition and compression
US12/577,669 US7822693B2 (en) 2001-12-06 2009-10-12 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US33791201P 2001-12-06 2001-12-06
US60/337,912 2001-12-06
US38330002P 2002-05-23 2002-05-23
US60/383,300 2002-05-23
US40237402P 2002-08-09 2002-08-09
US60/402,374 2002-08-09

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US10498279 A-371-Of-International 2002-12-06
US11/868,279 Continuation US20090000969A1 (en) 2001-12-06 2007-10-05 Media cartridge and method for mobile printing
US11/868,852 Continuation US7603323B2 (en) 2001-12-06 2007-10-08 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis recognition and compression

Publications (2)

Publication Number Publication Date
WO2003055119A2 true WO2003055119A2 (en) 2003-07-03
WO2003055119A3 WO2003055119A3 (en) 2003-08-21

Family

ID=27407231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/039257 WO2003055119A2 (en) 2001-12-06 2002-12-06 Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression

Country Status (6)

Country Link
US (2) US7280985B2 (en)
EP (1) EP1466270A4 (en)
JP (1) JP2005514683A (en)
AU (1) AU2002357108A1 (en)
CA (1) CA2469565A1 (en)
WO (1) WO2003055119A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518199A (en) * 2004-01-13 2007-07-05 ニューヨーク・ユニバーシティ Method, system, storage medium, and data structure for image recognition using multiple linear independent element analysis
CN104063852B (en) * 2014-07-07 2016-09-07 温州大学 A kind of based on indexation nuclear norm with mix the tensor restoration methods that singular value is blocked

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280985B2 (en) * 2001-12-06 2007-10-09 New York University Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
US7822693B2 (en) * 2001-12-06 2010-10-26 New York University Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
US20060080328A1 (en) * 2004-10-08 2006-04-13 Anderson James A Information fusion
US7529719B2 (en) * 2006-03-17 2009-05-05 Microsoft Corporation Document characterization using a tensor space model
US7844081B2 (en) * 2006-05-15 2010-11-30 Battelle Memorial Institute Imaging systems and methods for obtaining and using biometric information
JP5506272B2 (en) * 2009-07-31 2014-05-28 富士フイルム株式会社 Image processing apparatus and method, data processing apparatus and method, and program
JP5506274B2 (en) * 2009-07-31 2014-05-28 富士フイルム株式会社 Image processing apparatus and method, data processing apparatus and method, and program
US9681147B2 (en) * 2014-01-20 2017-06-13 Board Of Trustees Of Michigan State University Compression of image ensembles using tensor decomposition
WO2016029163A1 (en) * 2014-08-22 2016-02-25 Nova Southeastern University Data adaptive compression and data encryption using kronecker products
CN106529594B (en) * 2016-11-08 2019-07-23 上海理工大学 Supervision dimension reduction method applied to big data Activity recognition
US10229092B2 (en) 2017-08-14 2019-03-12 City University Of Hong Kong Systems and methods for robust low-rank matrix approximation
US11180847B2 (en) * 2018-12-06 2021-11-23 Applied Materials, Inc. Atomic layer deposition coatings for high temperature ceramic components

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493682A (en) * 1991-01-22 1996-02-20 International Business Machines Corporation Object based system for software maintenance
US5794256A (en) * 1996-12-12 1998-08-11 Microsoft Corporation Pointer swizzling facility using three-state references to manage access to referenced objects
US5870749A (en) * 1996-12-19 1999-02-09 Dset Corporation Automatic translation between CMIP PDUs and custom data structures
US6029169A (en) * 1997-05-01 2000-02-22 Stratum Technologies Corporation Universal software structure for representing model structures
US6381507B1 (en) * 1998-07-01 2002-04-30 Sony Corporation Command pass-through functionality in panel subunit
US6549943B1 (en) * 1999-06-16 2003-04-15 Cisco Technology, Inc. Network management using abstract device descriptions

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301350A (en) 1989-10-10 1994-04-05 Unisys Corporation Real time storage/retrieval subsystem for document processing in banking operations
US5321816A (en) 1989-10-10 1994-06-14 Unisys Corporation Local-remote apparatus with specialized image storage modules
US5301284A (en) 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
US5347653A (en) 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
US5170455A (en) 1991-10-30 1992-12-08 At&T Bell Laboratories Optical connective device
US5560003A (en) 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5428731A (en) 1993-05-10 1995-06-27 Apple Computer, Inc. Interactive multimedia delivery engine
JPH08221599A (en) * 1995-02-15 1996-08-30 Matsushita Electric Ind Co Ltd Method for generating and analyzing three-dimensional motion
US5784294A (en) * 1995-06-09 1998-07-21 International Business Machines Corporation System and method for comparative molecular moment analysis (CoMMA)
US5740425A (en) * 1995-09-26 1998-04-14 Povilus; David S. Data structure and method for publishing electronic and printed product catalogs
US5717919A (en) 1995-10-02 1998-02-10 Sybase, Inc. Database system with methods for appending data records by partitioning an object into multiple page chains
DE19538240A1 (en) 1995-10-13 1998-08-06 Annette Brueckner Information system and method for storing data in an information system
US5884056A (en) 1995-12-28 1999-03-16 International Business Machines Corporation Method and system for video browsing on the world wide web
US5913186A (en) * 1996-03-25 1999-06-15 Prometheus, Inc. Discrete one dimensional signal processing apparatus and method using energy spreading coding
US5931779A (en) * 1996-06-06 1999-08-03 Wisconsin Alumni Research Foundation Real-time in-vivo measurement of myoglobin oxygen saturation
JP3570163B2 (en) * 1996-07-03 2004-09-29 株式会社日立製作所 Method and apparatus and system for recognizing actions and actions
US5890152A (en) 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
US5974418A (en) * 1996-10-16 1999-10-26 Blinn; Arnold Database schema independence
US5799312A (en) 1996-11-26 1998-08-25 International Business Machines Corporation Three-dimensional affine-invariant hashing defined over any three-dimensional convex domain and producing uniformly-distributed hash keys
US5802525A (en) 1996-11-26 1998-09-01 International Business Machines Corporation Two-dimensional affine-invariant hashing defined over any two-dimensional convex domain and producing uniformly-distributed hash keys
US6724931B1 (en) 1996-12-02 2004-04-20 Hsu Shin-Yi Compilable plain english-like language for extracting objects from an image using a primitive image map
US5845285A (en) * 1997-01-07 1998-12-01 Klein; Laurence C. Computer system and method of data analysis
IL120136A0 (en) 1997-02-03 1997-06-10 Yissum Res Dev Co Synthesizing virtual two dimensional images of three dimensional space from a collection of real two dimensional images
US5995999A (en) 1997-03-12 1999-11-30 Fujitsu Limited Naming system for hierarchically named computer accessible objects
US6631364B1 (en) * 1997-03-26 2003-10-07 National Research Council Of Canada Method of searching 3-Dimensional images
US6003038A (en) * 1997-03-31 1999-12-14 Sun Microsystems, Inc. Object-oriented processor architecture and operating method
JPH10320589A (en) * 1997-05-22 1998-12-04 Matsushita Electric Ind Co Ltd Three-dimensional graphics display device
CA2296114C (en) * 1997-06-04 2005-08-16 Gary L. Sharp Database structure and management
US6404743B1 (en) 1997-11-04 2002-06-11 General Instrument Corporation Enhanced simple network management protocol (SNMP) for network and systems management
US5974416A (en) * 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
JP2974655B1 (en) * 1998-03-16 1999-11-10 株式会社エイ・ティ・アール人間情報通信研究所 Animation system
DE69910757T2 (en) * 1998-04-13 2004-06-17 Eyematic Interfaces, Inc., Santa Monica WAVELET-BASED FACIAL MOTION DETECTION FOR AVATAR ANIMATION
US6631403B1 (en) 1998-05-11 2003-10-07 At&T Corp. Architecture and application programming interfaces for Java-enabled MPEG-4 (MPEG-J) systems
WO1999064944A2 (en) * 1998-06-08 1999-12-16 Microsoft Corporation Compression of time-dependent geometry
US6535919B1 (en) 1998-06-29 2003-03-18 Canon Kabushiki Kaisha Verification of image data
JP2000020745A (en) 1998-07-03 2000-01-21 Hitachi Ltd Method and device for displaying three-dimensional digital data by tensol rendering
US6591004B1 (en) * 1998-09-21 2003-07-08 Washington University Sure-fit: an automated method for modeling the shape of cerebral cortex and other complex structures using customized filters and transformations
US6721454B1 (en) 1998-10-09 2004-04-13 Sharp Laboratories Of America, Inc. Method for automatic extraction of semantically significant events from video
US6408321B1 (en) * 1999-03-24 2002-06-18 International Business Machines Corporation Method and apparatus for mapping components of descriptor vectors to a space that discriminates between groups
US6349265B1 (en) * 1999-03-24 2002-02-19 International Business Machines Corporation Method and apparatus for mapping components of descriptor vectors for molecular complexes to a space that discriminates between groups
JP3763992B2 (en) 1999-03-30 2006-04-05 富士通株式会社 Data processing apparatus and recording medium
US6701305B1 (en) * 1999-06-09 2004-03-02 The Boeing Company Methods, apparatus and computer program products for information retrieval and document classification utilizing a multidimensional subspace
US6501857B1 (en) 1999-07-20 2002-12-31 Craig Gotsman Method and system for detecting and classifying objects in an image
JP3485508B2 (en) * 1999-10-26 2004-01-13 株式会社国際電気通信基礎技術研究所 Facial image transmitting method and system, and facial image transmitting device and facial image reproducing device used in the system
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6470360B1 (en) 1999-12-20 2002-10-22 Sybase, Inc. Database system with improved methodology for page allocation
US6789128B1 (en) 2000-03-11 2004-09-07 Oracle International Corporation System and method for reducing network traffic between two computing devices
JP2001268598A (en) * 2000-03-22 2001-09-28 Nippon Telegr & Teleph Corp <Ntt> Method for compressing vector data
CN1180630C (en) * 2000-08-08 2004-12-15 皇家菲利浦电子有限公司 Video encoding method based on wavelet decomposition
US6738356B1 (en) 2000-08-10 2004-05-18 Convedia Corporation Object oriented video merging system
US6856945B2 (en) * 2000-12-04 2005-02-15 Tensorcomm, Inc. Method and apparatus for implementing projections in singal processing applications
US7006683B2 (en) * 2001-02-22 2006-02-28 Mitsubishi Electric Research Labs., Inc. Modeling shape, motion, and flexion of non-rigid 3D objects in a sequence of images
US6873724B2 (en) * 2001-08-08 2005-03-29 Mitsubishi Electric Research Laboratories, Inc. Rendering deformable 3D models recovered from videos
US7085426B2 (en) * 2001-10-15 2006-08-01 Jonas August Volterra filters for enhancement of contours in images
US7130484B2 (en) * 2001-10-15 2006-10-31 Jonas August Biased curve indicator random field filters for enhancement of contours in images
US7280985B2 (en) * 2001-12-06 2007-10-09 New York University Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
GB0229267D0 (en) * 2002-12-16 2003-01-22 Mitel Knowledge Corp Method for extending the frequency range of a beamformer without spatial aliasing
US7379925B2 (en) * 2003-07-25 2008-05-27 New York University Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, rotation and compression
US7193544B1 (en) * 2004-09-08 2007-03-20 Northrop Grumman Corporation Parallel, adaptive delta sigma ADC

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493682A (en) * 1991-01-22 1996-02-20 International Business Machines Corporation Object based system for software maintenance
US5794256A (en) * 1996-12-12 1998-08-11 Microsoft Corporation Pointer swizzling facility using three-state references to manage access to referenced objects
US6105041A (en) * 1996-12-12 2000-08-15 Microsoft Corporation Using three-state references to manage garbage collection of referenced objects
US5870749A (en) * 1996-12-19 1999-02-09 Dset Corporation Automatic translation between CMIP PDUs and custom data structures
US6029169A (en) * 1997-05-01 2000-02-22 Stratum Technologies Corporation Universal software structure for representing model structures
US6381507B1 (en) * 1998-07-01 2002-04-30 Sony Corporation Command pass-through functionality in panel subunit
US6549943B1 (en) * 1999-06-16 2003-04-15 Cisco Technology, Inc. Network management using abstract device descriptions

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BARUCHELLI FRANCESCO, SUCCI GIANCARLO: 'A fuzzy approach to faceted classification and retrieval of reusable software components' ACM SIGAPP APPLIED COMPUTING REVIEW vol. 5, no. 1, 1997, pages 15 - 20, XP002965013 *
BEN HASSEN SANIYA, ATHANASIU IRINA, BAL HENRI E.: 'A flexible operation execution model for shared distributed objects' ACM, CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEM LANGUAGE AND APPLICATIONS 1996, pages 30 - 50, XP000639199 *
COLNET DOMINIQUE, COUCAUD PHILIPPE, ZENDERA OLIVER: 'Compiler support to customize the mark and sweep algorithm' ACM, INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT 1998, pages 154 - 165, XP000832683 *
O'CONNELL WILLIAM, CARINO FELIPE, LINDERMAN GLENN: 'Optimizer and parallel engine extensions for handling expensive methods based on large objects' DATA ENGINEERING, IEEE PROCEEDING 15TH INTERNATIONAL CONFERENCE 1999, pages 304 - 313, XP010326166 *
See also references of EP1466270A2 *
SUCCI GIANCARLO, BARUCHELLI FRANCESCO, RONCHETTI MARCO: 'A taxonomy for identifying a software component from uncertain and partial specifrications' ACM, SYMPOSIUM ON APPLIED COMPUTING 1996, pages 570 - 579, XP002965012 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518199A (en) * 2004-01-13 2007-07-05 ニューヨーク・ユニバーシティ Method, system, storage medium, and data structure for image recognition using multiple linear independent element analysis
CN104063852B (en) * 2014-07-07 2016-09-07 温州大学 A kind of based on indexation nuclear norm with mix the tensor restoration methods that singular value is blocked

Also Published As

Publication number Publication date
AU2002357108A1 (en) 2003-07-09
JP2005514683A (en) 2005-05-19
CA2469565A1 (en) 2003-07-03
EP1466270A4 (en) 2005-03-23
WO2003055119A3 (en) 2003-08-21
AU2002357108A8 (en) 2003-07-09
US7280985B2 (en) 2007-10-09
US7603323B2 (en) 2009-10-13
US20080109474A1 (en) 2008-05-08
EP1466270A2 (en) 2004-10-13
US20050210036A1 (en) 2005-09-22

Similar Documents

Publication Publication Date Title
US7603323B2 (en) Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis recognition and compression
Vasilescu Human motion signatures: Analysis, synthesis, recognition
Krishna et al. A wearable face recognition system for individuals with visual impairments
CN110472604B (en) Pedestrian and crowd behavior identification method based on video
US20060143142A1 (en) Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, rotation and compression
CN107203745B (en) Cross-visual angle action identification method based on cross-domain learning
CN109902623B (en) Gait recognition method based on perception compression
KR20020050126A (en) A method for lighting-and view-angle-invariant face description with first-and second-order eigenfeatures
Kovač et al. Frame–based classification for cross-speed gait recognition
Chowdhary et al. Singular value decomposition–principal component analysis-based object recognition approach
Luo et al. Multi-set canonical correlation analysis for 3D abnormal gait behaviour recognition based on virtual sample generation
CN112906520A (en) Gesture coding-based action recognition method and device
US7822693B2 (en) Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression
CN115205933A (en) Facial expression recognition method, device, equipment and readable storage medium
Пуріш et al. Gait recognition methods in the task of biometric human identification
Yang et al. Development of a fast panoramic face mosaicking and recognition system
Kico et al. Comparison of trajectories and quaternions of folk dance movements using dynamic time warping
KR102270949B1 (en) 3d human body model reconstruction apparatus and method
Bessinger et al. A generative model of worldwide facial appearance
JP7067709B1 (en) Programs, devices and methods for statistically analyzing skeleton-based body length from skin models
Guerra‐Filho et al. Understanding visuo‐motor primitives for motion synthesis and analysis
CN114863013A (en) Target object three-dimensional model reconstruction method
Terzopoulos et al. Model-based and image-based methods for facial image synthesis, analysis and recognition
Alikarami et al. Sparse representation and convolutional neural networks for 3D human pose estimation
WO2005013066A2 (en) Logic arrangement, data structure, system and method for miltilinear representation of multimodal data ensembles for synthesis, rotation and compression

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10498279

Country of ref document: US

Ref document number: 2003555717

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2469565

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1781/DELNP/2004

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2002805553

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002805553

Country of ref document: EP