图像质量评价指标之 PSNR 和 SSIM
链接
传统的方法一般处理的是较小的放大倍数,当图像的放大倍数在4以上时,很容易使得到的结果显得过于平滑,而缺少一些细节上的真实感。这是因为传统的方法使用的代价函数一般是最小均方差(MSE),即:
l M S E S R = 1 r 2 W H ∑ x = 1 r W ∑ y = 1 r H ( I x , y H R − G θ G ( I x , y L R ) ) l_{MSE}^{SR} = \frac{1}{r^2WH}\sum_{x=1}^{rW}\sum_{y=1}^{rH}(I_{x,y}^{HR}-G_{\theta G} (I^{LR}_{x,y})) lMSESR=r2WH1x=1∑rWy=1∑rH(Ix,yHR−GθG(Ix,yLR))
该代价函数使重建结果有较高的信噪比,但是缺少了高频信息,出现过度平滑的纹理。该文章中的方法提出的方法称为SRGAN, 它认为,应当使重建的高分辨率图像与真实的高分辨率图像无论是低层次的像素值上,还是高层次的抽象特征上,和整体概念和风格上,都应当接近。整体概念和风格如何来评估呢?可以使用一个判别器,判断一副高分辨率图像是由算法生成的还是真实的。如果一个判别器无法区分出来,那么由算法生成的图像就达到了以假乱真的效果。
在本文中,我们提出了一种用于图像超分辨率(SR)的生成对抗网络(GAN)。我们提出了一个感知损失函数( perceptual
loss function),它包括对抗损失(adversarial loss)和内容损失(content loss)。对抗性损失促使我们使用判别器网络求解自然图像流形,这个判别器用来被训练以区分超分辨图像和原始逼真图像。我们使用由感知相似性(perceptual similarity)驱动的content loss,而不是在像素空间中使用相似性。
在训练时,通过将高斯滤波器(Gaussian filter)应用于 I H R I^{HR} IHR,通过具有下采样因子R的下采样操作来获得 I L R I^{LR} ILR。
m i n θ G m a x θ D E I H R ∼ p t r a i n ( I H R ) [ l o g D θ D ( I H R ) ] + E I L R ∼ p G ( I L R ) [ l o g ( 1 − D θ D ( G θ G ( I L R ) ) ) ] min_{\theta_G}max_{\theta_D}E_{I^{HR}\sim p_{train}(I^{HR})}[logD_{\theta_D}(I^{HR})]+E_{I^{LR}\sim p_{G}(I^{LR})}[log(1-D_{\theta_D}(G_{\theta_G}(I^{LR})))] minθGmaxθDEIHR∼ptrain(IHR)[logDθD(IHR)]+EILR∼pG(ILR)[log(1−DθD(GθG(ILR)))]
我们的感知损失函数 L S R L^{SR} LSR的定义对于我们的G网络的性能至关重要。虽然 L S R L^{SR} LSR通常是基于MSE loss建模的,但论文中我们将知觉损失表示为内容损失( L X S R L_X^{SR} LXSR)和对抗性损失的加权和。
(图中的X可以表示为MSE,也可表示为VGG/i.j)
l M S E S R = 1 r 2 W H ∑ x = 1 r W ∑ y = 1 r H ( I x , y H R − G θ G ( I L R ) x , y ) 2 l_{MSE}^{SR}=\frac{1}{r^2WH}\sum_{x=1}^{rW}\sum_{y=1}^{rH}(I_{x,y}^{HR}-G_{\theta_G}(I^{LR})_{x,y})^2 lMSESR=r2WH1x=1∑rWy=1∑rH(Ix,yHR−GθG(ILR)x,y)2
l V G G / i , j S R = 1 W i j H i , j ∑ x = 1 W i , j ∑ y = 1 H i , j ( ϕ i , j ( I H R ) x , y − ϕ i , j ( G θ G ( I L R ) ) x , y ) 2 l_{VGG/i,j}^{SR}=\frac{1}{W_{ij}H_{i,j}}\sum_{x=1}^{W_{i,j}}\sum_{y=1}^{H_{i,j}}(\phi_{i,j}(I^{HR})_{x,y}-\phi_{i,j}(G_{\theta_G}(I^{LR}))_{x,y})^2 lVGG/i,jSR=WijHi,j1x=1∑Wi,jy=1∑Hi,j(ϕi,j(IHR)x,y−ϕi,j(GθG(ILR))x,y)2
我们还将我们的GaN的 generative component添加到感知损失中,
l G e n S R = ∑ n = 1 N − l o g D θ D ( G θ G ( I L R ) ) l_{Gen}^{SR}=\sum_{n=1}^{N}-logD_{\theta_D}(G_{\theta_G}(I^{LR})) lGenSR=n=1∑N−logDθD(GθG(ILR))
code