PCA-SRGAN: Incremental Orthogonal Projection Discrimination for Face Super-resolution

这篇文章主要阐述了利用生成对抗网络对人脸进行超分辨率重建过程中,会产生图像失真等问题,并提出将PCA引入生成对抗网络中,利用PCA降维后不同维度的图片(含不同程度的纹理特征信息),维度越高信息频率越高,由此这篇文章的整体思路与利用sobel算子及利用梯度图恢复纹理信息的思路相似。
首先对PCA进行说明,PCA多用于对数据进行降维处理,并提取出一系列数据中的主要数据。
在这里插入图片描述
如上图数据主要分布在X2方向,X1方向的数据分布取值大致相同,这种情况下可以去掉X1这一维度去掉,从而实现了降维和提取主成分,然而现实中大部分的数据分布并不是分布在坐标轴上的
在这里插入图片描述
如上图所示数据均匀的分布在X1与X2上,此时就若要对数据进行降维就可以用到PCA,PCA舍弃了原来的坐标轴,自己设立了新的基坐标(如红线所示)通过使数据聚集到y1上来实现提取主成分的目的,此时又回到了第一张图,我们可以通过去掉Y2来实现降维,PCA主要通过以下几步:整理原始数据,求原始数据的协方差矩阵(需要归1标准化),求协方差矩阵的特征值和特征向量,取最大的几个特征值对应的特征向量构成矩阵(基向量),与原矩阵相乘降维。
回到这篇论文作者首先阐述 PCA在这篇文章中的用法:以HR数据集为例,首先对HR数据集进行处理生成图像向量
在这里插入图片描述
后用mean-zero normalization对图像向量进行处理,此处主要是因为求协方差矩阵公式为
在这里插入图片描述
而其中的x-x的平均值即为mean-zero normalization,代码如下:
x_train = load_data(img_dir) # 读取图片数据 x_train的shape为(5000,32,32,3)
x_train = np.reshape(x_train, (x_train.shape[0], -1)) # 将图片从二维展开为一维,x_train 变为(5000,3072)
mean_image = np.mean(x_train, axis=0) # 求出所有图片每个像素位置上的平均值 mean_image为(1, 3072)
x_train -= mean_image # 减去均值图像,实现零均值化
主要实现将图像拉伸为向量后对所有图像的同一个像素点取均值,并用向量矩阵与均值矩阵做差。
后求出协方差矩阵的均值和方差,并取最大的n个特征值所对应的特征向量构成基向量矩阵。
在这里插入图片描述
而PCA降维所降低的维数其实是图片的大小,矩阵X是原始数据,矩阵的每一行是一个样本的特征向量,即矩阵Xm×n中有m个样本,每个样本有n个特征值。所以,所谓的降维,其实是减少n的数量。假设降维后的结构为Zm×k,则PCA过程可以表示为:Zm×k​=Xm×n*​Wn×k,即只与特征向量的个数有关,因此这篇论文中说明了:主成分包含了不同层次的人脸信息,即人脸图像在正交子空间不同维数上的正交投影。
在这里插入图片描述
上图其实是PCA的理想化状态,作者假设通过不同程度的PCA降维可以得到不同程度的等大小特征信息图,但其实不同程度的PCA降维过程所得到的特征图大小是不同的,上图只是为了说明随着特征向量增多,提取的特征信息越来越高频。
这篇文章的流程图如下:
在这里插入图片描述
首先LR图像经过生成器生成SR,后通过PCA降维将SR及HR分入两个空间维度,即W与V(对SR图像进行PCA得到特征向量,利用一部分特征向量将SR降维到空间w利用另一部分特征向量将SR降维到空间v),利用L1损失约束v空间的SR降维后的图像与HR降维后的图像,利用L1与gan约束V空间的SR与HR降维后的图像,同时为了降低鉴别器的鉴别难度引入了双三次插值,并用PCA对双三次插值后的高分辨率图片进行与sr、hr相同的降维并将降维后的图片拼接到SR与hr的降维图上输入鉴别器。
回到本文的问题,是为了解决利用对抗网络进行面部超分过程中的图像失真问题,因此根据上面网络,提出了利用pca逐步约束纹理细节的解决方法,即如上图下面的条形图片,首先使w空间所占的特征向量数量为0后逐渐变大直到占据100%而v空间的则逐渐减小直到0,由于我们上面分析过特征向量越多通过pca降维所得到的图片中的信息越高频,因此,在w的特征向量逐步增大的过程中,鉴别器经过了一个从鉴别低频到高频的过程,并且L1也有效地约束了高频信息(与sobel算子、梯度图增强图像高频信息方法一致),从而通过这种方法有效地解决了生成对抗网络的失真问题。
在这里插入图片描述
另外此文章中的对抗损失采用了LSgan的损失约束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值