使用特征向量的图像重建

时间:2017-08-19 19:12:14

标签: image-processing pca eigenvalue eigenvector

我正在按照PCA进行一些图像处理。我正在处理图像识别问题。有没有办法使用特征向量/权重重建我的图像(用于训练)? 我按照这个程序: https://onionesquereality.wordpress.com/2009/02/11/face-recognition-using-eigenfaces-and-distance-classifiers-a-tutorial/

1 个答案:

答案 0 :(得分:0)

如果您拥有主要组件(PC),则可以通过计算PC和数据的点积来降低维度,如下所示。

def projectData(X, U, K):
    # Compute the projection of the data using only the top K eigenvectors in U (first K columns). X: data, U: Eigenvectors, K: your choice of dimension
    new_U = U[:,:K]
    return X.dot(new_U)

现在,我们如何获取原始数据?通过使用U中的顶部K特征向量投射回原始空间。

def recoverData(Z, U, K):
    # Compute the approximation of the data by projecting back onto the original space using the top K eigenvectors in U. Z: projected data
    new_U = U[:, :K]
    return Z.dot(new_U.T) # We can use transpose instead of inverse because U is orthogonal.