1,白化:
目标:1,减少特征之间的相关性;2,特征具有相同的方差(协方差阵为1);
具体解析可参考:https://blog.csdn.net/whiteinblue/article/details/36171233
白化实现有pca白化和zca白化,区别在于后者会映射到原始空间,zca白化的实现(输入原始图像矩阵):
sigma = np.dot(inputs, inputs.T)/inputs.shape[1] #inputs是经过归一化处理的,所以这边就相当于计算协方差矩阵
U,S,V = np.linalg.svd(sigma) #奇异分解
epsilon = 0.1 #白化的时候,防止除数为0
ZCAMatrix = np.dot(np.dot(U, np.diag(1.0/np.sqrt(np.diag(S) + epsilon))), U.T) #计算zca白化矩阵
return np.dot(ZCAMatrix, inputs) #白化变换
2,归一化
3,直方图均衡化
4,Augmentation