1. Introduction
Various large-scale nonlinear problems in computer vision have been addressed by exploiting bilinear models. Examples include the recovery of rigid structure from motion [18], [16], inference of non-rigid models [4], estimation of image motion [12], modeling images obtained with different lighting [3], photometric stereo [2], object recognition [19], and the separation of style and content in images [7]. Usually, a matrix that collects the observations is expressed as the product of two matrices collecting (functions of) the parameters to estimate. This bilinear relation codes a constraint on the rank of the observation matrix. The advantage of this formulation is that the bulk of the effort needed to compute the solution of the large-scale nonlinear estimation problem is done by computing the rank constrained matrix that best matches the observation matrix (thus, its optimal bilinear decomposition), which is easily obtained from its Singular Value Decomposition (SVD).