Appearance-based face recognition is often formulated as a problem of comparing labeled example images with unlabeled probe images. Viewed in terms of conventional machine learning, the dimensionality of the data is very high, the number of examples is very small, and the data is corrupted with large confounding influences such as changes in lighting and pose. As a result, conventional techniques such as nearest neighbor classification are not very effective.
A predominant conventional solution is to find a projective embedding of the original data into a lower dimensional space that preserves discriminant information and discards confounding information. These conventional solutions must address three challenges: high dimensionality, learning capacity, and generalization ability. Learning capacity, sometimes called inductive bias or discriminant ability, is the capacity of an algorithm to represent arbitrary class boundaries. Generalization ability is a measure of the expected errors on data outside of the training set, e.g., as measured by classification margin. While tradeoffs of these factors apply in any practical machine learning approach, face recognition presents extreme challenges.
The conventional face recognition technologies can be categorized into two classes: biometric-based methods and learning-based methods. The biometric-based methods match invariant geometrical facial metrics such as the relative distances between the eyes and nose. Learning-based methods use machine learning techniques to extract discriminant facial features for recognition.
In general, complex models with more parameters (e.g., neural networks) have higher learning capacity but are prone to over-fit and thus have low generalization ability. When available, a large quantity of diversified training data can be used to better constrain the parameters. Simpler models with fewer parameters tend to yield better generalization, but have limited learning capacity. The tradeoff in implementing these issues, especially with high dimensional visual data, remains an open issue.
Many discriminant learning methods treat image data as vectors. These approaches have difficulty with high dimensionality, a matter made worse when there is only a small set of training data. Many conventional methods involve solving an eigenvalue problem in the high dimensional input vector space (i.e., 1024 dimensions for 32×32 pixel images). Solving an Eigen decomposition in high dimensions is not only computationally intensive, but also prone to numerical difficulties in which the best discriminative projections may be discarded. Vector-based representations also ignore the spatial structure of image data which may be very useful for visual recognition.
Systems and methods are described for face recognition using discriminatively trained orthogonal rank one tensor projections. In an exemplary system, images are treated as tensors, rather than as conventional vectors of pixels. During runtime, the system designs visual features—embodied as tensor projections—that minimize intraclass differences between instances of the same face while maximizing interclass differences between the face and faces of different people. Tensor projections are pursued sequentially over a training set of images and take the form of a rank one tensor, i.e., the outer product of a set of vectors. An exemplary technique ensures that the tensor projections are orthogonal to one another, thereby increasing ability to generalize and discriminate image features over conventional techniques. Orthogonality among tensor projections is maintained by iteratively solving an ortho-constrained eigenvalue problem in one dimension of a tensor while solving unconstrained eigenvalue problems in additional dimensions of the tensor.
This summary is provided to introduce the subject matter of for face recognition using discriminatively trained orthogonal rank one tensor projections, which is further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
Overview
This disclosure describes systems and methods for face recognition using discriminatively trained orthogonal rank one tensor projections. Exemplary systems base face recognition on discriminative linear projection. In the exemplary system, images are treated as tensors, rather than as conventional vectors of pixels. A tensor can be considered a multidimensional array, which for purposes of face recognition is utilized herein to exploit untapped information of high-dimensionality that is inherent in an image. In an exemplary system, an extracted series of orthogonal rank one tensor projections maximizes discriminative information for recognizing faces.
In one implementation, projections are pursued sequentially in the form of a rank one tensor, i.e., a tensor which is the outer product of a set of vectors. An exemplary method effectively ensures that the rank one tensor projections are orthogonal to one another. The orthogonality constraints on the tensor projections provide a strong inductive bias and result in better generalization on small training sets. That is, the orthogonality increases the ability of the exemplary system to generalize relevant image features for recognizing a face (e.g., that changes somewhat across multiple images) while at the same time also increases the ability of the system to discriminate between visual nuances.
In one implementation, the exemplary system achieves orthogonal rank one projections by pursing consecutive projections in the complement space of previous projections. Although consecutive projections may be conventionally meaningful for applications such as image reconstruction, they may be less meaningful for pursuing discriminant projections. However, the exemplary system achieves the consecutive projections, as described in greater detail below, by iteratively solving an eigenvalue problem with orthogonality constraints on one tensor dimension, while solving unconstrained eigenvalue problems on the other dimensions.
Experiments demonstrate that on small and medium-sized face recognition datasets, the exemplary system utilizing the exemplary orthogonality technique outperforms previous conventional embedding methods. On large face datasets the exemplary system achieves results comparable with the best conventional techniques while often using fewer discriminant projections.
Exemplary System
The set of orthogonal rank one tensor projects extracted from the set of training images 106 by the face recognition engine 104 depends on the actual faces portrayed in the images 106. That is, the face recognition engine 104 derives image features to be embodied in the orthogonal tensor projections from pixel-level and/or human perceptual level visual features, such that differences across multiple instances of a person's face in multiple images is minimized, while differences between that person's face and other faces (i.e., of other people) are maximized. Thus, the face recognition engine 104 performs an optimization that results in the “best discriminative” tensor projections being extracted. The discriminative quality of the tensor projections—the ability to recognize a face as belonging to a particular person—is greatly enhanced by the exemplary technique of maintaining the projections in the set of tensor projections as orthogonal (ortho-normal) to each other.
Once trained to a set of training images 106, the face recognition engine 104 can discriminate faces in test images 114 from different faces in other images, and can recognize a face that matches a known face in the training set 106.
Exemplary Engine
The illustrated face recognition engine 104 includes an input or access path to the set of training images 106 of
The learning engine 202 may further include a best-discriminant-feature extraction engine 212, which in turn includes a sequential projection generator 214 to learn the set of orthogonal tensor projections 204 from example image pairs 216. A tensor rearranger 218 may unfold or reconfigure the dimensionality of a given tensor to enable the sequential projection generator 214 to pursue a greater number of projections for the set of orthogonal tensor projections 204. For example, the tensor rearranger 218 may utilize or comprise a GLOCAL transform to reduce the number of dimensions needed to organize the same tensor data. (See, H.-T. Chen, T.-L. Liu, and C.-S. Fuh, “Learning effective image metrics from few pairwise examples,” IEEE ICCV, pages 1371-1378, Beijing, China, October 2005, which is incorporated herein by reference.)
The sequential projection generator 214 may include a discriminative efficacy optimizer 220, including a “same-face” intraclass dissimilarity minimizer 222 and a “different-face” interclass dissimilarity maximizer 224. An associated orthogonality engine 226 includes an iterative eigenvalue engine 228 that effects an optimization which finds the most discriminant tensor projections 204 via an ortho-constrained one-dimension eigenvalue engine 230 and an unconstrained multi-dimension eigenvalue engine 232. A random dimension selector 234 chooses one dimension out of multiple tensor space dimensions 236 for the ortho-constrained one-dimension eigenvalue engine 230 to operate on. Then the unconstrained multi-dimension eigenvalue engine 232 operates on the remaining dimensions of the tensor space dimensions 236. Operation of the above components will be described in greater detail below.
The recognition tester 208 includes a projection embedder 238, a similarity comparator 240, and an image categorizer 242. The projection embedder 238 applies the set of orthogonal rank one tensor projections 204 to a test image 114, while the similarity comparator 240 decides whether the test image 114 matches a known image or another test image 114, and the image categorizer 242 classifies test images 114 according to recognized faces they may contain. Operation of the components just introduced will now be described.
Operation of the Exemplary Face Recognition Engine
The exemplary face recognition engine 104 regards image data as a tensor (i.e., a multiple dimensional array).
Using tensor representation of image data, the best-discriminant-feature extraction engine 212 can pursue discriminant multilinear projections (e.g., bi-linear projections, for a 2-dimensional tensor) to construct discriminant embedding. In many cases, the sequential projection generator 214 obtains discriminant multi-linear projections by solving the eigenvalue problems iteratively on n different dimensions of the tensor space 236. The exemplary techniques described herein are different from conventional “rank one projections with adaptive margins” (RPAM). First, the rank one projections pursued by the exemplary face recognition engine 104 are orthogonal, while those learned from RPAM are not. Previous research has shown that orthogonality increases the discriminative power of the projections. Although in one implementation the face recognition engine 104 does not use adaptive margin, such could be easily incorporated into the exemplary system.
Tensor representations of images do not suffer from the same “curse-of-dimensionality” as vector space representations. Tensor projections are represented as the outer product of n lower dimensional vectors. For example, rather than expending 1024 parameters for each projection, 2-dimensional tensors can operate with as few as 64 parameters per projection. As discussed below, a tensor rearranger 218, e.g., utilizing a GLOCAL tensor representation, has the added benefit of respecting the geometric structure inherent in images.
Most previous tensor-based learning methods for discriminant embedding constrain the spanning set of multi-linear projections that are to be formed by combination of outer products of a small number of column vectors. This may over-constrain the learning capacity of the projection vectors.
The exemplary face recognition engine 104 addresses the conflicting goals of capacity and generalization by learning a projection which is a combination of orthogonal rank one tensors. It is worth noting that two rank one tensors are orthogonal if and only if they are orthogonal on at least one dimension of the tensor space. The exemplary orthogonality engine 226 uses this insight in achieving orthogonality among projections. The iterative eigenvalue engine 228 iteratively solves an eigenvalue problem with orthogonality constraints on one dimension, and solves unconstrained eigenvalue problems on the other dimensions of the tensor space 236.
Rank One Projection and Orthogonality
In linear algebra, an order n real-valued tensor is a multiple dimensional array X ∈ Rm
Definition: Given an order n tensor X, a rank one projection is a X ∈ Rm
The notation can be simplified using a k-mode product, i.e.:
Definition: The k-mode product of tensor X ∈ Rmm
m
Equation (1) can then be written as y=X×0p0×n−1pn−1, or in short y=XΘ{tilde over (P)}. Let {tilde over (P)}d={{tilde over (P)}(0), . . . ,{tilde over (P)}(d−1)} be a set of d rank one projections, then the mapping from X to y=[y0,y1, . . . ,yd−1]T ∈ Rd is denoted as in Equation (3):
y=[XΘ{tilde over (P)}
(0)
, . . . ,XΘ{tilde over (P)}
(d−1)]T ΔXΘ{tilde over (P)} (3)
A rank one projection is also the sum of element-wise product of X and the reconstruction tensor of {tilde over (P)}.
Definition: The reconstruction tensor of {tilde over (P)} is P′ ∈ m
Then y=X Θ{tilde over (P)}=Σi
{circumflex over (p)}=pn−1pn−2
p0 (5)
Where is the Kronecker product of matrices. Next, the orthogonality of two rank one projections is defined, i.e.:
Definition: Two rank one projections {tilde over (P)}(1) and {tilde over (P)}(2) are orthogonal, if and only if the corresponding vectors {tilde over (P)}1 and {tilde over (P)}2 calculated from Equation (5) are orthogonal. Similarly, {tilde over (P)} can be called a normal rank one projection if and only if {circumflex over (p)} is a normal vector. If all pi of {tilde over (P)} are normal vectors, then {tilde over (P)} is a normal rank one projection.
Ortho Rank One Discriminant Analysis
Given a training set {Xi ∈ Rmk(i) be the set of k-nearest neighbors of Xi, then:
D={(i,j)|i<j,l(i,j)=0,Xi ∈ Nk(j)∥Xj ∈ Nk(i)}
S={(i,j)|i<j,l(i,j)=1,Xi ∈ Nk(j)∥Xj ∈ Nk(i)}
are the indices set of all example pairs 216 which are k-nearest neighbors of one another, and are from different and same categories, respectively. The objective is to learn a set of K ortho-normal rank one projections {tilde over (P)}K=({tilde over (P)}(0),{tilde over (P)}(1), . . . ,{tilde over (P)}(K−1)) such that in the projective embedding space, the distances of the example pairs 216 in (same face) are minimized, while the distances of the example pairs 216 in
(different faces) are maximized.
To achieve this, the sequential projection generator 214 maximizes a series of local weighted discriminant cost functions. Suppose the sequential projection generator 214 has obtained k discriminant rank one projections indexed from 0 to k−1, then to pursue the (k+1)th rank one projection, the sequential projection generator 214 solves the following constrained optimization problem in Equations (6) and (7):
where ∥•∥ is the Euclidean distance, and ωij is a weight assigned according to the importance of the example pair (Xi,Xj) 216. In one implementation, the heat kernel weight is used, i.e.,
denotes the Frobenius norm, and t is a constant parameter. The heat kernel weight introduces heavy penalties to the cost function for example pairs 216 that are close to one another. Notice that for k=0, only an unconstrained optimization problem of Equation (6) is solved.
There are two difficulties in the constrained maximization of Equation (6). First, it is generally difficult to maintain both the rank one and orthogonality properties. Second, there is no closed-form solution to the unconstrained optimization problem of Equation (6). It is well known that the second problem can be addressed numerically using a sequential, iterative optimization scheme. A solution to the first problem is described in the following section.
Exemplary Learning Engine
In one implementation, the exemplary learning engine 202 uses the following proposition:
Proposition: Two rank one projections {tilde over (P)}(1) and {tilde over (P)}(2) are orthogonal to each other, if and only if for at least one i, pi(1) ∈ {tilde over (P)}(1) is orthogonal to pi(2) ∈ {tilde over (P)}(2) i.e., pi(1) ⊥ pi(2).
From this Proposition, an equivalent set of constraints of Equation (7) is given in Equation (8):
∃ {jl:l ∈ {0, . . . ,k−1};j1 ∈ {0, . . . ,n−1}}:pj
To make the optimization more tractable, the constraints on Equation (7) can be replaced with the following stronger constraints.
∃j ∈ {0, . . . ,n−1}:pj(k) ⊥ pj(k−1), . . . ,pj(k) ⊥ pj(0). (9)
These constraints are stronger because they require all jl in Equation (8) to be the same. The constraints in Equation (9) are sufficient conditions for the constraints in Equation (7).
It is well known that the unconstrained problem in Equation (6) can be solved numerically in a sequentially iterative manner. That is, at each iteration, the iterative eigenvalue engine 228 fixes {tilde over (P)}i(k)={p0(k), . . . ,pi−1(k),pi+1(k), . . . ,pn−1(k)} for one i ∈ {0, . . . , n−1}, and maximizes Equation (6) with respect to pi(k). To simplify notation, Equation (10) denotes:
y
(k)
=X×
0
p
0
(k) . . . ×i−1pi−1(k)×i+1pi+1(k) . . . pn−1(k) ΔXΘ{tilde over (P)}i(k) (10)
which is a mi dimensional vector. Then Equation (11) is to be solved:
where, in Equations (12), (13), and (14):
The iterative eigenvalue engine 228 obtains the optimal solution of Equation (11) by solving the generalized eigenvalue problem in Equation (15):
A
d
(i)
p=λA
s
(i)
p, (15)
and the optimal solution pi(k)* is the eigenvector associated with the largest eigenvalue. Equation (15) is solved iteratively over i=1,2, . . . ,n one-by-one until convergence. The final output {tilde over (P)}(k)*={p0(k)*, p1(k)*, . . . ,pn(k)*} is regarded as the optimal solution to the unconstrained Equation (6). This iterative technique can only guarantee a locally optimal solution.
To solve Equation (6) with the constraints in Equation (9), suppose j have been selected, the iteration steps to optimize those Pi(k) where i≠j should remain unchanged since the constraints do not apply to them.
Now Equation (11) is to be solved for i=j, such that the constraints in Equation (9) hold. It is equivalent to solving the problem in Equation set (16):
In one implementation, the iterative eigenvalue engine 228 obtains the solution by solving the following eigenvalue problem in Equation (17):
{tilde over ()}p
j
(k)=((As(j))−1Ad(j))pj(k)=λpj(k) (17)
where, in Equations (18), (19), and (20):
M=I−(As(j))−1AB−1(A)T (18)
=[pj(0),pj(1), . . . ,pj(k−1)] (19)
B=[b
uv
]=A
T(As(j))−1A (20)
The optimal pi(k)* is the eigenvector corresponding the largest eigenvalue of {tilde over (M)}.
Table 1 below summarizes the exemplary techniques iteratively executed by the learning engine 202, namely, exemplary orthogonal rank one tensor discriminant analysis. It too can only guarantee a locally optimal solution.
There is no theoretic guidance on how to choose j in Equation (9). In one implementation, not too many constraints are placed on one specific dimension. Therefore the random dimension selector 234 chooses one dimension j when pursing each one of the K rank one projections.
Second, the orthogonality engine 226 performs the constrained optimization on pj(k) first. This ensures that the constraints in Equation (7) hold in all the iterations.
Third, when k rank one projections have been obtained and k≧mi, then orthogonality constraints can no longer be imposed on the ith dimension. The reason is that {pi(l)|l=0, . . . ,k−1} already span Rm
non-overlapping blocks of size l0×l1. The blocks are ordered by a raster scan. Each block i is then itself raster scanned to be a vector of dimension m′1=l0×l1, and put into the ith column of the target tensor of size m′0×m′1. The GLOCAL transform 400 can be interpreted in the following manner: the column space 402 expresses local features in the pixel level, and the row space 404 expresses global features in the appearance level.
Effectiveness of Projections
Exemplary Method
At block 602, an image that includes a face is represented as a tensor. When images are treated as tensors, rather than as conventional vectors of pixels, optimal discriminant features can be extracted as discriminant multilinear projections. The discriminant multi-linear projections can be obtained by solving eigenvalue problems iteratively on n different dimensions of the tensor space.
At block 604, orthogonal tensor projections are derived from the image for recognizing the face, e.g., in other, different images. During runtime, the system “designs” the visual features on the fly—to be embodied as tensor projections—that minimize intraclass differences between instances of the same face while maximizing interclass differences between the face and faces of different people. In one implementation, tensor projections are pursued sequentially over a training set of images and take the form of a rank one tensor, i.e., the outer product of a set of vectors. An exemplary technique ensures that the tensor projections are orthogonal to one another, thereby increasing ability to generalize and discriminate image features over conventional techniques. Orthogonality among tensor projections can be maintained by iteratively solving an ortho-constrained eigenvalue problem in one dimension of a tensor while solving unconstrained eigenvalue problems in additional dimensions of the tensor.
Conclusion
Although exemplary systems and methods have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed methods, devices, systems, etc.