输出为图像的任务, 比如enhance, deblur, super-resolution, generation等用到的loss, 主要分为以下几类
output和label相近
| loss | 公式 | 目的 | 特点 |
|---|---|---|---|
| L1 loss | $||I_1-I_2||_1$ | 大体相近 | 最常用的loss |
| L2 loss (MSE) |
$||I_1-I_2||_2$ 或$MSE=\overline{(I_1-I_2)^2}$ |
因为导数是线性所以计算最快 | |
| SSIM (stuctural similarity index measure) |
$\frac{2\mu_1\mu_2+C_1}{\mu_1^2+\mu_2^2+C_1}\cdot \frac{2\sigma_{12}+C_2}{\sigma_1^2+\sigma_2^2+C_2}$ $\mu, \sigma$ 分别为mean, variance $\sigma_{12}$是covariance $C_1, C_2$ 是常数 |
纹理相近 | 要分patch计算 $C_1, C_2$ 的值要根据图像的范围调整 |
| PSNR (Peak signal- to-noise ratio) |
$-10\log_{10}(MSE(I_1,I_2))$ | 经常是用来验证 | |
| PerceptualLoss | 一个分类网络 | 语义相近 | 一般用vgg16, 输入RGB图像 一般会用后几层的语义特征对比 |
| LPIPS (Learned Perceptual image patch similarity) |
perceptualLoss+分块 | ||
| DeltaE | 转换成Lab空间的MSE | 颜色相近 | |
| Gan Loss | 在训练过程中学习到的loss 用determinate网络表示 |
determinate网络 区别不出 |
output图像符合自然图像的性质(image prior)
| loss | 公式 | 目的 | 特点 |
|---|---|---|---|
| Total Variant(TV) | anisotropic定义: $||D_x I||_1+||D_y I||_1$ |
图像gradient稀疏性 | |
output图像分布符合自然图像的分布
| loss | 公式 | 目的 | 特点 |
|---|---|---|---|
| IS (Inception Score) 另一个代码 |
$KL(p|\bar p)$ $p$ 是当前图像在Inception v3的分类分布 $\bar p$ 是所有生成图像的分类分布的平均 KL散度计算两个分布距离 |
图像多样性: 每个图像的分类分布 和图像平均分布差距大 |
生成模型也需要在ImageNet上训练才有意义 |
| FID (Freachet Inception Distance) |
$d_F=||\mu_1-\mu_2||^2_2+tr(\Sigma_1+\Sigma_2-2\sqrt{\Sigma_1\Sigma_2})$ $\mu_1,\Sigma_1$ 是generated images的分布的mean, variance $\mu_2,\Sigma_2$ 是real images的分布的mean, variance $d_F$ 是Freachet Distance, 可以衡量两个多维分布的距离 |
图像分布接近真实 | 用到的也是图像通过一个分类网络得到的vector的分布 |
| sFID | 图像分布接近真实 | 和FID一样, 只是特征提取用的是中间层 |
代码
其他讨论这个的链接:
[1] https://www.jiqizhixin.com/articles/2019-01-10-18 inception loss