An Eigenspace Update Algorithm for Image
During the past few years several interesting applications of eigenspace representation of the images have been proposed. These include face recognition, video coding, and pose estimation. However, the vision research community has largely overlooked parallel developments in signal processing and numerical linear algebra concerning efficient eigenspace updating algorithms. These new developments are significant for two reasons: Adopting them will make some of the current vision algorithms more robust and efficient. More important is the fact that incremental updating of eigenspace representations will open up new and interesting research applications in vision such as active recognition
and learning. The main objective of this paper is to put these in perspective and discuss a new updating scheme for low
numerical rank matrices that can be shown to be numerically stable and fast. A comparison with a non-adaptive SVD scheme shows that our algorithm achieves similar accuracy levels for image reconstruction and recognition at a significantly
lower computational cost. We also illustrate applications to adaptive view selection for 3D object representation from projections.
10K code included herein implements the incremental eigenspace updating scheme.
Makefile (designed for an SGI machine, tested on a machine running IRIX 5.2/5.3)
batchSVD.h (C code for performing batch
incSVD.hxx (C code for performing incremental
mathtest.c (C code file to test incSVD and
Compares the results of the two for a 7 by 3
structures.h, matrixTools.c, matrixTools.h (Together, define the MATRIX and MTXVECT structures and their uses, including mathematical operations hand-coded) README file
Required: A file named "svd.a" that archives the object files of the publicly available LAPACK routines
scopy.o, sgemm.o, sgemv.o, sger.o, sgesvd.o, snrm2.o, srot.o, sscal.o, sscat.o,
sswap.o, strmm.o, strmv.o, scopy.o, sgemm.o, sgemv.o, sger.o, sgesvd.o, snrm2.o,
srot.o, sscal.o, sswap.o, strmm.o, and strmv.o. The SVD routines use the "sgesvd_()" command to perform the
SVD. The rest of the specified files contain items called by this command.
These materials are
presented to ensure timely dissemination of scholarly and technical
work. Copyright and all rights therein are retained by authors or by
other copyright holders. All persons copying this information are
expected to adhere to the terms and constraints invoked by each
authors copyright. In most cases, these works may not be reposted
without the explicit permission of the copyright holder.
S. Chandrasekaran, B. S.Manjunath,
Y.F.Wang, J.Winkeler and H.Zhang,. "An eigenspace update algorithm for image analysis",
Graphical Models and Image Processing, vol.59, (no.5), Academic Press, pp.321-32, Sep
B. S. Manjunath, S.Chandrasekaran and
Y.F. Wang, "An eigenspace update algorithm for image analysis",
Proceedings of International Symposium on Computer Vision - ISCV, Coral
Gables, FL, USA, pp.551-6, Nov. 1995.