deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 762|回复: 3

【搬运教程】Me神农汉化版的【损失函数】详解

[复制链接]

54

主题

398

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
11178

万事如意节日勋章

 楼主| 发表于 2024-1-1 23:53:48 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
1.介绍
    本文的介绍主要是参考论文:Loss Functions for Image Restoration with Neural Networks,而作者是从这三个实验(image super-resolution, JPEG artifactsremoval, and joint denoising plus demosaicking)上来证明这几个损失函数的好坏。

2.损失函数
    L1损失函数: 基于逐像素比较差异,然后取绝对值

20190817161434452.png

    L2损失函数: 基于逐像素比较差异,然后取平方

20190817161444696.png

    相对于L1损失函数,L2损失函数会放大最大误差和最小误差之间的差距(比如2*2 和0.1*0.1),另外L2损失函数对异常点也比较敏感。如果我们在训练网络的时候,只用L1损失函数或者L2损失函数的时候,很容易陷入到局部最优解中,如果选择交替训练的话,说不定会取得不错的效果。

2019081716145682.png

   在图像质量评价指标中,有一个指标是PSNR(Peak Signal-to-Noise Ratio) 峰值信噪比,它正好对标L1和L2损失函数,但L1和L2是有一个共性:它们都是基于逐像素比较差异,没有考虑人类视觉感知,更没有考虑人的审美观,所以PSNR指标高,并不一定代表图像质量就好。在下面公式中,如果图片中每个像素都由 8 位二进制来表示,那么MAX就为 255

4.png

   SSIM(结构相似)损失函数:考虑了亮度 (luminance)、对比度 (contrast) 和结构 (structure)指标,这就考虑了人类视觉感知,一般而言,SSIM得到的结果会比L1,L2的结果更有细节

5.png

   MS-SSIM(多尺度结构相似)损失函数:基于多层(图片按照一定规则,由大到小缩放)的SSIM损失函数,相当于考虑了分辨率

6.png

   MS-SSIM+L1损失函数:作者这样组合的原因是,MS-SSIM容易导致亮度的改变和颜色的偏差,但它能保留高频信息(图像的边缘和细节),而L1损失函数能较好的保持亮度和颜色不变化。公式中α为0.84,是作者试验出来的,而G为高斯分布参数(MS-SSIM里面也要用到这个)

7.png

3.效果对比
超分辨率:放大图片对比会发现L2中出现光栅失真现象,最好去原论文放大看看
20190817161548386.png

20190817161557908.png

JPEG去块:放大图片对比会发现L2中还是有比较严重的块状现象,最好去原论文放大看看

2019081716161271.png

去噪+去马赛克:一眼看出,L2的效果明显差一些,就不用放大了

20190817161630469.png

    我个人觉得评价一张图片的质量好不好,或者那个算法的效果好不好,应该结合主观和客观来评价,下图的客观数据也表明:MS-SSIM+L1损失函数是最好的

20190817161641393.png
————————————————
版权声明:本文为CSDN博主「天竺街潜水的八角」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_59023219/article/details/130922417

回复

使用道具 举报

204

主题

1960

帖子

57万

积分

管理员

Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96Rank: 96

积分
577482

隐世金马甲勋章超级版主勋章可爱萌新勋章见习版主勋章荣誉会员勋章男同管理员-无尚荣耀勋章优质版主勋章小有贡献勋章

发表于 2024-1-2 00:09:13 | 显示全部楼层
实际使用下来,这几个损失函数区别很小很小
ms-ssim相对来说收敛快一点

提供数字人直播服务、文字/音频驱动数字人服务,有意者联系我QQ563861181
全站默认解压密码dfldata.xyz
DFL交流QQ群519316315
AI绘画交流QQ群710238550
我的B站账号:特看科技的滚石   其他自称彦祖的不是我,请勿上当
回复 支持 1 反对 0

使用道具 举报

54

主题

398

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
11178

万事如意节日勋章

 楼主| 发表于 2024-1-2 00:28:36 | 显示全部楼层
滚石 发表于 2024-1-2 00:09
实际使用下来,这几个损失函数区别很小很小
ms-ssim相对来说收敛快一点

ms好像更耗cpu。 然后ms+L1的效果据说最好
回复 支持 反对

使用道具 举报

9

主题

1931

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
10691

真我风采勋章万事如意节日勋章

发表于 2024-1-2 02:40:45 | 显示全部楼层
本帖最后由 wtxx8888 于 2024-1-2 03:09 编辑
Lau9 发表于 2024-1-2 00:28
ms好像更耗cpu。 然后ms+L1的效果据说最好

SSIM换成MS-SSIM加L1,LOSS直接增加了0.2多
跑几天测试下降速度,如果下降不快,所谓的效果好,不过是建立在更多的时间成本上
回复 支持 反对

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2024-5-18 22:48 , Processed in 0.084178 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表