We propose an efficient and easy-to-implement method to settle the inpainting problem for low-rank images following the recent studies about low-rank matrix completion. In general, our method has three steps: first, corresponding to the three channels of RGB color space, an incomplete image is split into three incomplete matrices; second, each matrix is restored by solving a convex problem derived from the nuclear norm relaxation; at last, the three recovered matrices are merged to produce the final output. During the process, in order to efficiently solve the nuclear norm minimization problem, we employ the alternating direction method. Except for the basic image inpainting problem, we also enable our method to handle cases where corrupted images not only have missing values but also have noisy entries. Our experiments show that our method outperforms the existing inpainting techniques both quantitatively and qualitatively. We also demonstrate that our method is capable of processing many other situations, including block-wise low-rank image completion, large-scale image restoration, and object removal.
In recent years, gradient-domain methods have been widely discussed in the image processing field, including seamless cloning and image stitching. These algorithms are commonly carried out by solving a large sparse linear system: the Poisson equation. However, solving the Poisson equation is a computational and memory intensive task which makes it not suitable for real-time image editing. A new matrix decomposition graphics processing unit (GPU) solver (MDGS) is proposed to settle the problem. A matrix decomposition method is used to distribute the work among GPU threads, so that MDGS will take full advantage of the computing power of current GPUs. Additionally, MDGS is a hybrid solver (combines both the direct and iterative techniques) and has two-level architecture. These enable MDGS to generate identical solutions with those of the common Poisson methods and achieve high convergence rate in most cases. This approach is advantageous in terms of parallelizability, enabling real-time image processing, low memory-taken and extensive applications.