奇异值分解--图像分解恢复

    因项目上需要用到特征提取算法,突然想起早些时候看吴军的数学之美里有讲到SVD分解,当时就大致浏览了下,今天在这里用图像作为例子加深下印象,显示下svd特征提取、降维效果。

    奇异值分解(Singular Value Decomposition)定理:设A为m*n阶复矩阵,则存在m阶酉阵U和n阶酉阵V,使得:

 

    A = U*S*V’

 

    其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。

 

   推论:设A为m*n阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得

 

    A = U*S*V’

 

    其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。

    算法流程:

    1. 读取图像:

                  

    2. 对图像进行svd分解,得到svd分解对应的图像

                    

                  其中,上图第三幅代表分解后的特征值(这里用直方图显示其结果值),从图中可以看出,特征值从大到小依次排列,特征值分解可以用在主成分分析(PCA)中,可以利用分解的矩阵恢复或者近似原图像。比如,取前10特征值时恢复如下:

                  

取前20个特征时时恢复如下:

                  

取前40个特征时时恢复如下:

                  

参考文献:吴军--数学之美

             奇异值分解(SVD) --- 几何意义  http://blog.chinaunix.net/uid-20761674-id-4040274.html

 

posted @ 2016-10-19 11:35  whowhoha  阅读(3487)  评论(0编辑  收藏  举报