本项目利用MATLAB结合CUDA技术开发了一种基于RPCA-ADMM算法的图像处理程序,旨在通过鲁棒主成分分析实现高效精准的前景与背景分离。
使用MATLAB生成图像矩阵可以通过调用`generate_matrix.m`文件来实现。该命令为:`-generate_matrix(25344, 200, 1);`,其中参数分别代表图像的大小(144x176)和视频帧数(200)。确保第一个维度大于第二个维度以使算法有效运行。(即25344 > 200)
执行上述命令后,将生成一个名为`200A.dat`的数据文件。此文件作为输入用于在MATLAB中通过ADMM方法实现的RPCA(矩阵分解)算法。
接下来,在MATLAB环境中使用`admm_example.m`脚本运行RPCA ADMM过程,并把之前创建的矩阵作为其参数提供给该函数。命令为:`-admm_example(200A.dat);`
此操作将执行ADMM并输出三个不同的数据文件,例如boyd_X1.dat等。
对于使用CUDA加速的RPCA实现,则需要通过运行脚本`compile_and_run.sh`来编译和启动程序,并提供生成的数据矩阵作为输入参数。命令为:-./compile_and_run.sh 200A.dat
这将执行所需的计算并产生相应的输出文件。