Real-Time Principal Component Pursuit
Paper in proceedings, 2011
Robust principal component analysis (RPCA) deals with the decomposition of a matrix into a low-rank matrix and a sparse matrix. Such a decomposition finds, for example, applica- tions in video surveillance or face recognition. One effective way to solve RPCA problems is to use a convex optimization method known as principal component pursuit (PCP). The corresponding algorithms have, however, prohibitive computational complexity for certain applications that require real-time processing. In this paper we propose a variety of methods that significantly reduce the computational complexity. Furthermore, we perform a systematic analysis of the performance/complexity tradeoffs underlying PCP. For synthetic data, we show that our methods re- sult in a speedup of more than 365 times compared to a reference C implementation at only a small loss in terms of recovery error. To demonstrate the effectiveness of our approach, we consider foreground/background separation for video surveillance, where our methods enable real-time processing of a 640×480 color video stream at 12 frames per second (fps) using a quad-core CPU.