1 Project: An Eigenspace Update Algorithm for Image Analysis 



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.


incsvd.zip, 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 SVD) 


incSVD.hxx (C code for performing incremental SVD) 

mathtest.c (C code file to test incSVD and batchSVD). 

Compares the results of the two for a 7 by 3 matrix: 

matrix.h, matrix.c, 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.

  1. 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 1997. [abstract]

  2. 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. [abstract]


Home | People | Research | Publications | Courses | Seminars | Links