阅读论文《Loss Functions for Image Restoration With Neural Networks》

时间:2023-02-04 18:10:44

   这是去年计算成像学领域的一篇论文(链接:https://ieeexplore.ieee.org/document/7797130/ ),重在讨论如何损失函数对图像恢复的影响。在目前的图像恢复任务中主要使用的还是L2损失函数,L2损失的好处有很多,例如可以直接提高PSNR等指标。但是L2指标与人类感知的图像质量相关性较差,例如其假设噪声与图像的局部区域无关。在有些情况下,L1损失函数获得的图像质量会更好。这里论文调研了L1损失,SSIM和MS-SSIM,并将L1损失函数和MS-SSIM结合起来构建新的损失函数。但是目前为止,基于SSIM的指标还没有应用到损失函数中。

L1损失函数

   同L2损失函数相比,L1损失函数不会过度惩罚两张图的差异,因此它具有不同的收敛属性。L1损失函数可以表示为:

L 1 ( P ) = 1 N p P | x ( p ) y ( p ) | ( 1 )

其微分形式表示如下:
L 1 ( P ) / x ( p ) = sign ( x ( p ) y ( p ) ) ( 2 )

在实验中,L1函数在许多问题上的表现要比L2函数好。

SSIM损失函数

   SSIM结构性指标定义如下:

(1) SSIM ( p ) = 2 μ x μ y + C 1 μ x 2 + μ y 2 + C 1 2 σ x y + C 2 σ x 2 + σ y 2 + C 2 (2) = l ( p ) c s ( p ) ( 3 )

SSIM的值一般是越大越好的,所以这里损失函数设定为:
(3) L SSIM ( P ) = 1 N p P 1 SSIM ( p ) ( 4 )

但是SSIM计算时是和周围像素比较,上式显然没有考虑像素在边界的情况,所以损失函数可以改写为:
(4) L SSIM ( P ) = 1 SSIM ( p ~ ) , ( 5 )

此时后面的p’代表中心点的像素。
最后,SSIM的微分形式为:
L SSIM ( P ) x ( q ) = x ( q ) SSIM ( p ~ ) (5) = ( l ( p ~ ) x ( q ) c s ( p ~ ) + l ( p ~ ) c s ( p ~ ) x ( q ) ) , ( 5 )

其中 (6) l ( p ~ ) x ( q ) = 2 G σ G ( q p ~ ) ( μ y μ x l ( p ~ ) μ x 2 + μ y 2 + C 1 ) , c s ( p ~ ) x ( q ) = 2 σ x 2 + σ y 2 + C 2 G σ G ( q p ~ ) [ ( y ( q ) μ y ) (7) c s ( p ~ ) ( x ( q ) μ x ) ] ,

MS-SSIM

   σ G 的大小影响图像的效果,较小会失去保持局部的能力,较大会保持边缘噪声,因此使用多尺度的SSIM即MS-SSIM,定义如下:

(8) MS-SSIM ( p ) = l M α ( p ) j = 1 M c s j β j ( p ) ( 6 )

损失函数类似SSIM,可以表示为
(9) L MS-SSIM ( P ) = 1 MS-SSIM ( p ~ ) . ( 7 )

微分形式为:
L MS-SSIM ( P ) x ( q ) = ( l M ( p ~ ) x ( q ) + l M ( p ~ ) i = 0 M 1 c s i ( p ~ ) c s i ( p ~ ) x ( q ) ) (10) j = 1 M c s j ( p ~ ) , ( 8 )

MS-SSIM和L1结合

   MS-SSIM和SSIM对亮度和色彩变化可能会更迟钝,但是可以较好的保持高频信息,L1则可以较好的保持颜色亮度特征,因此可以将它们结合起来,综合损失函数如下:

(11) L Mix = α L MS-SSIM + ( 1 α ) G σ G M L 1 , ( 9 )

这里 α 设定为0.84。

结果

  图像去噪,超分辨和图像去伪影的对比表分别如下所示,可以看出混合后的效果最好:


阅读论文《Loss Functions for Image Restoration With Neural Networks》

   论文还对损失函数的收敛性进行研究,说明L1收敛性比L2更好,如下图所示,在切换损失函数前,L1下降更快,说明L2之前可能陷入局部最小。


阅读论文《Loss Functions for Image Restoration With Neural Networks》