An Incremental Learning Method for
Unconstrained Gaze Estimation
Yusuke Sugano1  , Yasuyuki Matsushita2 , Yoichi Sato1 , and Hideki Koike3
1

The University of Tokyo
Tokyo, Japan{sugano,ysato}@iis.u-tokyo.ac.jp
2
Microsoft Research Asia
Beijing, China
yasumat@microsoft.com
3
The University of Electro-Communications
Tokyo, Japankoike@is.uec.ac.jp

Abstract. This paper presents an online learning algorithm for appearancebased gaze estimation that allows free head movement in a casual desktop environment. Our method avoids the lengthy calibration stage using
an incremental learning approach. Our system keeps running as a background process on the desktop PC and continuously updates the estimation parameters by taking user’s operations on the PC monitor as input.
To handle free head movement of a user, we propose a pose-based clustering approach that eﬃciently extends an appearance manifold modelto handle the large variations of the head pose. The eﬀectiveness of the
proposed method is validated by quantitative performance evaluation
with three users.

1

Introduction

Gaze estimation is a process of detecting the position the eyes are looking at.
It has been an active research topic in computer vision because of its usefulness for a wide range of applications, including human computer interaction,marketing studies and human behavior research. However, despite considerable
advances in recent research, current gaze estimation techniques still suﬀer frommany limitations. Creating an accurate gaze estimator that uses simple and lowcost equipment with allowing users to move their heads freely is still an open
challenge.
Prior approaches are either model-based or appearance-based. Model-based
approaches use an explicit geometric model of the eye, and estimate its gaze
direction using geometric eye features. For example, one typical feature is thepupil-glint vector [1, 2], the relative position of the pupil center and the specular
reﬂection of a light source. While model-based approaches can be very accurate,This work was done while the ﬁrst author was visiting Mirosoft Research Asia.

they typically need to precisely locate small features on the eye using a highresolution image and often require additional light sources. This often results inlarge systems with special equipment that are diﬃcult to implement in casual,desktop environments.
Appearance-based approaches directly treat an eye image as a high dimensional feature. Baluja and Pomerleau use a neural network to learn a mapping function between eye images and gaze points (display coordinates) using
2,000 training samples [3]. Xu et al . proposed a similar neural network-based
method that uses more (3,000) training samples [4]. Tan et al . take a local interpolation approach to estimate unknown gaze point from 252 relatively sparse
samples [5]. Recently, Williams et al . proposed a novel regression method called
S3 GP (Sparse, Semi-Supervised Gaussian Process), and applied it to the gaze estimation task with partially labeled (16 of 80) training samples [6]. Appearancebased approaches can make the system less restrictive, and can also be very
robust even when used with relatively low-resolution cameras.
Among model-based methods, one popular approach that handles head movements is to use multiple light sources and camera(s) to accurately locate 3D eye
features. Shih and Liu used both multiple cameras and multiple lights for 3D
gaze estimation [7]. Zhu et al . use a stereo camera setup with one light source tolocate the 3D eye position and estimate 2D gaze positions by considering a generalized gaze mapping which is a function of the pupil-glint vector and the eye
position [8, 9]. Morimoto et al . propose a single camera method with at least twolights, but show only simulated results [10]. Hennessey et al . develop a similarsystem with multiple light sources to locate the 3D cornea center by triangulation, and compute the gaze point as the 3D intersection of the monitor surface
and the optical axis of the eye [11]. Yoo and Chung use a structured rectangularlight pattern and estimate the gaze point from the pupil’s position relative tothe rectangle [12]. Coutinho and Morimoto later extended this method with amore precise eye model [13].
In addition to 3D eye features, some methods also use 3D head pose information. Beymer and Flickner, for example, use a pair of stereo systems [14]. The
ﬁrst stereo system computes the 3D head pose, which is then used to guide asecond stereo system that tracks the eye region. Matsumoto et al .’s method uses
a single stereo system to compute the 3D head pose and estimate the 3D position of the eyeball [15]. A similar approach is also taken by Wang and Sung [16].
These approaches all require special equipment, preventing their use in casualenvironments.
Among the appearance-based approaches, little study has been dedicated todealing with changes in head pose. Baluja et al .’s method allows some head
movement by using training samples from diﬀerent head poses, but the range ofmovement is limited. They describe two major diﬃculties. One is that the appearance of an eye gazing at the same point varies drastically with head motion.
Additional information about the head pose is needed to solve this problem. The
second diﬃculty is that the training samples must be collected across the pose

space to handle the head movement. This results in a large number of training
samples and an unrealistically long calibration period.
Our goal is to make a completely passive, non-contact, single-camera gazeestimation system that has no calibration stage yet still allows changes in headpose. To achieve this goal, we develop a new appearance-based gaze estimation
system based on an online learning approach. We assume a desktop environment
with a PC camera mounted on the monitor, and observe the fact that the user canbe assumed to look at the mouse when he or she clicks. Our system incorporates
recent advances in robust single-camera 3D head pose estimation to capture theuser’s head pose and the eye image continuously. By using the clicked coordinates
as gaze labels, the system acquire learning samples in the background whileusers use the PC. Thus, it can learn the mapping between the eye and the gaze
adaptively during operation, without a long preliminary calibration.
This work has the following major contributions:– An incremental learning framework: To eliminate the lengthy calibration stage required for appearance-based gaze estimators with free head
movement, we employ an incremental learning framework using the user’s
operations on the PC monitor.
– A pose-based clustering approach: We take a local interpolation-based
approach to estimate the unknown gaze point. To use the gaze distanceto constrain the appearance manifold in the pose-variant sample space, we
propose a method using sample clusters with similar head poses and theirlocal appearance manifold for the interpolation. The details are described in
Section 3.
The outline of the rest of the paper is as follows. In Section 2 we describe thearchitecture of our system. Section 3 explains our incremental learning algorithmwith local clusters. Section 4 provides experimental results, and Section 5 closes
with a discussion of the potential of our method and future research directions.

2

Overview

Our gaze estimation system operates in a desktop environment with a user seatedin front of a PC monitor, and with a PC camera mounted on the monitor. We
assume that the user’s gaze is directed at the mouse arrow on the monitor when
he or she clicks the mouse, so we collect learning samples by capturing eye images
and mouse arrow positions for all mouse clicks. The architecture of the system
is summarized in Fig. 1. The input to the system is a continuous video stream
from the camera. The 3D model-based head tracker [17] continuously computes
the head pose, p, and crops the eye image, x, as shown in Fig. 2. At each mouseclick, we create a training sample by using the mouse screen coordinate as thegaze label g associated with the features (head pose p and eye image x). Using
this labeled sample, our system incrementally updates the mapping function
between the features and the gaze. This incremental learning is performed in a
reduced PCA subspace, by considering sample clusters and the local appearance

Fig. 1. Learning and prediction ﬂow of the proposed framework.

manifold. The details are described in Section 3. When the user is not using themouse, the system runs in a prediction loop, and the gaze is estimated using the
updated mapping function.
2.1

Head tracking and eye capturing

Here we describe in detail how we capture input features. As stated above,
our framework uses the head tracking method of Wang et al . [17]. The tracker
estimates the head pose of a person from a single camera, using a 3D rigid facial
mesh. The tracker outputs the user’s 7-dimensional head pose p = (tT , r T )T ,where t is a 3-dimensional translation and r is a 4-dimensional rotation vector
deﬁned by four quaternions. The facial mesh in Fig. 2(a) shows an estimatedhead pose.
The system converts the input image to gray-scale, then crops the eye region
as follows. First, it extracts an eye region (the rectangle in Fig. 2(a)) that ispredeﬁned on the facial mesh. It then applies a perspective warp to crop theregion as a ﬁxed size rectangle. Fig. 2(b) shows the warped result, Isrc . The
oﬀset of the eye is still too large for this image to be a useful feature.
We reduce this oﬀset error using a two-stage alignment process. For the initialalignment, we apply a vertical Sobel ﬁlter to the cropped image, then thresholdto create a binary image. We then crop a W1 × H1 image region I1 from Isrc
such that the cropped image center corresponds to the average coordinate of theedge points. At this time, we also do some preliminary image processing. We
apply histogram equalization to the image, then truncate higher intensities toeliminate the eﬀects of illumination changes. We also apply a bilateral ﬁlter toreduce image noise while preserving edges. After this, we improve the alignment
using image subspaces. Speciﬁcally, we choose the W2 × H2 (W2 < W1 andH2 < H1 ) image region I2 that minimizes the reconstruction error
E = ||I2 − I´2 ||2 .

(1)

Fig. 2. Capturing results. (a) Head pose estimation result. (b) Cropping result around
predeﬁned eye region on the facial mesh (the rectangle in (a)). (c) Eye alignment andimage preprocessing result (the image feature used in our gaze estimator.)

Here I´2 is the approximated version of I2 using the PCA subspace. As describedlater, this subspace is updated incrementally using labeled samples.
Fig. 2(c) shows the ﬁnal result of the cropping process, raster-scanned tocreate an image vector x. In our experiment, the size of the ﬁnal image is set toW2 = 75 × H2 = 35 pixels, so x is 2625-dimensional. Finally, we compose thefeature vector f = (xT , pT )T , which consists of the eye image x and the headpose p.

3

Gaze estimation

The goal of our gaze estimator is to learn the mapping between the feature
vector f and the gaze g. We use a local linear interpolation method similar
to [18, 5]. Given an unlabeled feature f˙, we predict the unknown label ġ bychoosing k nearest neighbors from the labeled samples and interpolating theirlabels using distance-based weights. For our application, it is critical to choose
neighbors from a manifold according to the gaze variation. Tan et al . [5] use
2D topological information about the gaze points as constraints. Two points are
assumed to be neighbors on the manifold if they are also neighbors in the gazespace. However, this assumption is not always satisﬁed in our case, because there
can be many samples which have diﬀerent head poses but the same gaze point.
To overcome this problem, we construct sample clusters with similar head posesand consider a local manifold for each sample cluster. The architecture of theclusters is partially inspired by Vijayakumar et al .’s work [19].
The distance measure of the cluster, i.e., how close the head pose and thecluster are, is deﬁned as a Gaussian function:1(pi − p̄i )2

exp −
,
(2)
g(p) =
2
2κg σp,i2πκ σ 2ig p,i

Algorithm 1 Cluster-based gaze estimation.
Learning: given tth labeled sample ft = (xTt , pTt )T and gt
Update image subspace using incremental PCA: mean x̄(t) , eigenvectors U (t) , eigenvalues –(t) , coeﬃcients A(t) . xt ≈ x̄(t) + U (t) at .
for k = 1 to K do
if gk (pt ) > τg thenAdd sample to the cluster
end ifend forif No gk (pt ) is above threshold thenCreate new K + 1th cluster and add sample
end ifPrediction: given unlabeled feature f˙ = (ẋT , ṗT )T .
Project image ẋ into current subspace: ȧ = U (t)T (ẋ − x̄(t) )for k = 1 to K do
Calculate interpolated gaze ġk and a prediction conﬁdence ck
end for
Get ﬁnal prediction as a weighted sum: ġ = k ck ġk / k ck .

2
where pi is the ith element of the pose p, and p̄i and σp,iare the corresponding average and variance calculated from the samples contained in the cluster.
The constant weight κg is empirically set. The framework is outlined in Algorithm 1. Given a labeled sample, the image xt is ﬁrst used to update the PCA
subspace. We use the algorithm of Skocaj et al .[20] to update all stored coeﬃcients a1 . . . at . After updating the subspace, the sample is added to all clusters
whose weight gk (pt ) is higher than the predeﬁned constant threshold τg . In Algorithm 1, K is the total number of clusters at the time. If no suitable clusters
are found, we create a new cluster containing only the new sample. Given an
unlabeled feature, the output gaze ġ is calculated as a weighted sum of predictions from each cluster. The following sections describe the processes executedin each cluster.

3.1

Learning

Here, we describe the learning process in detail. As stated above, the labeled
sample st = {at , pt , gt } is added to a cluster only when its pose pt is suﬃciently
close to the cluster average. However, this rule cannot reject outliers (e.g., amouse click without user’s attention). Moreover, the sample density can increase
too much if all samples are stored in the cluster. For interpolation, the sample
distribution in the gaze space does not have to be too dense. For these reasons,
we introduce another constraint on the local linearity between the image distance
(i,j)
(i,j)
da = ||ai − aj || and the gaze distance dg = ||gi − gj ||. We deﬁne a linearity
(i,j)
(i,j)
measure l(si ) for the sample si as the correlation between da and dg among(i,j){sj |dg< r1 }. Here, r1 is the distance threshold. The sample selection ruleFig. 3. Gaze triangulation example shown in the screen coordinates. Each eye image(ﬂipped horizontally for presentation clarity) is located at the corresponding gaze point,
and the lines indicate Delaunay edges between these gaze points.

is as follows. If there is more than one sample around the new sample st , i.e.,(t,j){sj |dg< r2 } = ∅ (r2 < r1 ), keep the sample with the highest l(s) and reject
the others. The threshold r2 controls the sample density and should be chosen
according to the size of the target display area and the memory capacity.
Next, we update cluster mean p̄k and the variance σk2 (in Eq.(2)) to ﬁt thecurrent sample distribution. Furthermore, we compute a Delaunay triangulationof the gaze point for the current point set. Fig. 3 shows an example triangulation.
Each point corresponds to the 2D coordinate of the gaze point. This topologicalinformation is used in the prediction process.
3.2

Prediction

When the unlabeled data ȧt and ṗt are given to the cluster, the system predicts
the unknown gaze ġk by interpolation.
The neighbors to be used for interpolation are chosen on the manifold. The
system selects a closest triangle (concerning an average distance da between
three vertices) to ȧt to the local triangulation. Points adjacent to this triangle
are also chosen as neighbors.
Using the chosen set N , interpolation weights w are calculated to minimize
a reconstruction error:
wi ai ||2 ,(3)
w = argmin ||ȧ −wsubject toi∈Nwi = 1.

(4)i∈N

wi denotes the weight corresponds to the ith neighbor. Finally, under the assumption of local linearity, the gaze ġk is interpolated as
wi gi .
(5)
ġk =
i∈N

Table 1. Actual range of head motion for each target user. The rotation is deﬁned asa quaternion qw + qx i + qy j + qz k.
x

Translation [mm]yzPerson A 170
Person B 220
Person C 142

47
54
32

169
203
134

qw

qx

Rotationqyqz

0.134 0.011 0.058 0.202
0.211 0.027 0.342 0.351
0.242 0.019 0.126 0.277

To reject the outliers from clusters that do not contain suﬃcient samples, wedeﬁne an interpolation reliability measure that represents how well the input ȧ
is described by the selected neighbors: (ȧi − āi )2,(6)r(ȧ) = exp −22κr σa,ii
2
are average and variance of
where ȧi is the ith element of ȧ, and āi and σa,ithe corresponding element among the neighbors N . The factor κr is empiricallyset. The prediction conﬁdence ck of the cluster is deﬁned as a product of thereliability r(ȧ) and the distance g(ṗ):

ck = r(ȧ) · g(ṗ).

(7)

The ﬁnal prediction result ġ is calculated as a weighted sum of ġk , based on
ck . The value r(ȧ) is useful for measuring the reliability of the current estimate,so we also output the cluster-weighted average of r(ȧ):
gk (ṗ)rk (ȧ)/
gk (ṗ).
(8)r̄(ṗ, ȧ) =k

4k

Experiments

We have conducted some experiments to evaluate our system and the eﬀect of the
proposed cluster-based learning method. Our system consists of VGA resolution
color camera (a PointGrey Dragonﬂy) and a Windows PC with a 3.00GHz CPU
and 1GB of RAM. In current implementation, the whole process runs at about
10 fps.
In our experiments, no special pattern is used to indicate the learning positions. Users are simply asked to randomly click on the desktop region without
any unusual attention, but looking at the mouse pointer. This means the experimental situation is reasonably close to real behavior. During the 10-minuteexperiment, users are allowed to freely move their heads. Table 1 shows the actual range of head motion for each user during the experiments. The estimation
error is evaluated at each time t when a new labeled sample is acquired. Before
adding it to the sample clusters, the angular error θt between the true (clicked)

Error [degree]
35

Person A

30

35

Person B

30

35

25

25

25

20

20

20

15

15

15

10

10

10

5

5

5

0

0
0.0

0.2

0.4

0.6

0.8

1.0

Person C

30

0
0.0

0.2

0.4

0.6

0.8

1.0

0.0

0.2

0.4

0.6

0.8

1.0

Prediction reliability

Fig. 4. Angular error against prediction reliability. Each graph shows the scatter plotof the estimation error versus the reliability we deﬁned in Eq.(6) and Eq.(8).
Table 2. Estimation error. The left column is the normal average error, and the center column is the weighted average error throughout experiment. The right column
indicates the number of points clicked during the experiments.
Average error [deg] Number ofNormal Weighted clicked points
Person A
Person B
Person C

5.6
7.1
6.6

4.4
4.4
5.8

1796
1748
1095

gaze position gt and the estimated position ġt (interpolation based on the pastlabeled samples) is calculated as:Dm (gt , ġt )θt = tan−1,(9)pz,t − dcam
where Dm indicates the distance between two points in the metric unit, pz,t isthe depth element of the estimated head pose, and dcam is the pre-calculated
distance between the camera and the display.
First, Fig. 4 shows the angular error θt plotted against the reliability r̄t . We
see that the estimation accuracy increases as our reliability measure increases,
and using this measure we can reject the outliers that have large error. Low
reliability estimates are caused by the absence of labeled samples around theestimated gaze position. It can be improved if new labeled samples are added
around there, and results with low reliability can be ignored by the system whena reliable prediction is needed.
ttFig. 5 shows the cumulative weighted average (C.W.A.) error i=i r̄i θi / i=i r̄iover time. We also show the result of another experiment (the left lower graph)
to validate our cluster-based approach. For this experiment, the system did not
create pose clusters, which is equivalent to normal appearance-based estimation with pose-varying input. Naturally, the C.W.A. error gradually increases.

C.W.A. error [degree]
12

Person A

12

10

10

8

8

6

6

4

4

2

2

0

Person B

0
1

201

401

601

12

801

1001

1201

1401

Person A (No clustering)

1

10

10

8

8

6

6

4

4

2

2

0

201

401

601

12

801

Person C

0
1

201

401

601

801

1001

1

201

401

601

801

Number of clicks

Fig. 5. Time variation of the cumulative weighted average (C.W.A.) estimation error.
The lower left graph is the result without the cluster-based solution. The other graphs
show results using our method for three diﬀerent users.

By contrast, even if the user moves his/her head, the estimation error of our
method (shown in other graphs) does not increase and converges to a certain
range. This shows the eﬀectiveness of our cluster-based solution.
Table 2 shows the average estimation error for three users. The left column
is the normal average error, and the center column is the weighted average error
throughout experiment. The right column indicates the number of points clicked
during the experiments. The angular error of our gaze estimation is roughly 4 ∼ 5degrees. This accuracy may not be suﬃcient to replace a mouse with our method
as a user input, however, it is helpful to achieve our goal, i.e., to estimate theapproximate region where the user is looking at.

5

Conclusions

We have proposed a gaze estimation system that learns incrementally as the user
clicks the mouse. When the user clicks somewhere on the display, our system uses
the captured eye image and the head pose to learn the mapping function, withthe clicked coordinate as learning label. Moreover, we extended an appearanceinterpolation-based method to the case with free head movement, by clusteringlearning samples with similar head poses and constructing their local manifold model. We showed the eﬃciency and reasonable estimation accuracy of our
method through the experiments in actual environment.

Because our method wholly relies on the image distance between samples, theestimation accuracy mostly depends on the accuracy of the distance measurement. We employed PCA-based distance measure for the sake of computationaleﬃciency and implementation simplicity. However, it can be too sensitive tothe appearance variation not related to the gaze, such as cropping shift androtation. To diminish this eﬀect, we conducted subspace-based eye alignment
after cropping. Even so, there can be slight jitter and drift of the result. Thus,
the estimation accuracy of our method can be improved by using more precisealignment, or shift-invariant distance measure method.
Also, we should mention about the memory eﬃciency of our method. Since
there are no scheme to adjust the number of the sample clusters, memory usage
and computational cost can increase unlimitedly in theory. We veriﬁed that it
does not become a major issue in the case of usual desktop environment, but somekind of reformation will be needed when it is applied to more general situation
with a wide range of head pose. This is partially achieved by wider cluster kernel(κg in Eq.(2)) or higher threshold to create clusters (τg in Algorithm 1).
In future work, we plan to extend this framework to higher level regression
in the pose space. Our system is less accurate compared to state-of-the-art gazeestimation methods with an accuracy of less than 1 degree, however it has great
advantage that it allows for free head movement and works with minimal equipment; single camera without additional light source. It has considerable potential
for developing practically ideal gaze estimator, with further investigations.

Acknowledgement
This research was supported by the Microsoft Research IJARC Core Project.

References
1. Hutchinson, T.E., White Jr., K.P., Martin, W.N., Reichert, K.C., Frey, L.A.:
Human-computer interaction using eye-gaze input. IEEE Transactions on Systems, Man and Cybernetics 19(6) (1989) 1527–1534
2. Jacob, R.J.: What you look at is what you get: eye movement-based interaction
techniques. In: Proceedings of the SIGCHI conference on Human factors in computing systems. (1990) 11–18
3. Baluja, S., Pomerleau, D.: Non-intrusive gaze tracking using artiﬁcial neural networks. Advances in Neural Information Processing Systems (NIPS) 6 (1994) 753–
760
4. Xu, L.Q., Machin, D., Sheppard, P.: A novel approach to real-time non-intrusive
gaze ﬁnding. In: Proceedings of the British Machine Vision Conference. (1998)
428–437
5. Tan, K.H., Kriegman, D.J., Ahuja, N.: Appearance-based eye gaze estimation.
In: Proceedings of the Sixth IEEE Workshop on Applications of Computer Vision(WACV 2002). (2002) 191–195
6. Williams, O., Blake, A., Cipolla, R.: Sparse and semi-supervised visual mappingwith the S3 GP. Proceedings of the 2006 IEEE Conference on Computer Vision
and Pattern Recognition (2006) 230–237

7. Shih, S.W., Liu, J.: A novel approach to 3-d gaze tracking using stereo cameras.
IEEE Transactions on Systems, Man and Cybernetics, Part B 34(1) (2004) 234–
245
8. Zhu, Z., Ji, Q.: Eye gaze tracking under natural head movements. In: Proceedingsof the IEEE International Conference on Computer Vision and Pattern Recognition(CVPR 2005). Volume 1. (2005) 918–923
9. Zhu, Z., Ji, Q., Bennett, K.P.: Nonlinear eye gaze mapping function estimation via
support vector regression. In: Proceedings of the 18th International Conference on
Pattern Recognition (ICPR 2006). Volume 1. (2006) 1132–1135
10. Morimoto, C., Amir, A., Flickner, M.: Detecting eye position and gaze from a single
camera and 2 light sources. In: Proceedings of the 16th International Conference
on Pattern Recognition (ICPR 2002). (2002) 314–317
11. Hennessey, C., Noureddin, B., Lawrence, P.: A single camera eye-gaze tracking
system with free head motion. In: Proceedings of the 2006 symposium on Eye
tracking research & applications. (2006) 87–94
12. Yoo, D.H., Chung, M.J.: A novel non-intrusive eye gaze estimation using crossratio under large head motion. Computer Vision and Image Understanding 98(1)(2005) 25–51
13. Coutinho, F.L., Morimoto, C.H.: Free head motion eye gaze tracking using a single
camera and multiple light sources. In: Proceedings of the Brazilian Symposium on
Computer Graphics and Image Processing. (2006) 171–178
14. Beymer, D., Flickner, M.: Eye gaze tracking using an active stereo head. In:
Proceedings of the IEEE International Conference on Computer Vision and Pattern
Recognition (CVPR 2003). Volume 2. (2003) 451–458
15. Matsumoto, Y., Ogasawara, T., Zelinsky, A.: Behavior recognition based on headpose and gaze direction measurement. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000). Volume 3.
(2000) 2127–2132
16. Wang, J.G., Sung, E.: Study on eye gaze estimation. IEEE Transactions on
Systems, Man and Cybernetics, Part B 32(3) (2002) 332–350
17. Wang, Q., Zhang, W., Tang, X., Shum, H.Y.: Real-time bayesian 3-d pose tracking.
IEEE Transactions on Circuits and Systems for Video Technology 16(12) (2006)
1533–1541
18. Roweis, S.T., Saul, L.K.: Nonlinear dimensionality reduction by locally linear
embedding. Science 290(5500) (2000) 2323–2326
19. Vijayakumar, S., D’Souza, A., Schaal, S.: Incremental online learning in highdimensions. Neural Computation 17(12) (2005) 2602–2634
20. Skocaj, D., Leonardis, A.: Weighted and robust incremental method for subspacelearning. In: Proceedings of the Ninth IEEE International Conference on Computer
Vision (ICCV 2003). (2003) 1494–1501