Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

这篇具有很好参考价值的文章主要介绍了Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于传统的L1,L2 loss是针对于像素级的损失计算,且L2 loss与人眼感知的图像质量并不匹配,单一使用L1或L2 loss对于超分等任务来说恢复出来的图像往往细节表现都不好。

现在的研究中,L2 loss逐步被人眼感知loss所取代。人眼感知loss也被称为perceptual loss(感知损失),它与MSE(L2损失)采用图像像素进行求差的不同之处在于所计算的空间不再是图像空间。

研究者们常使用VGG等网络的特征,令φ来表示损失网络,Cj表示网络的第j层,CjHjWj表示第j层的特征图的大小,感知损失的定义如下:可以看出,它有与L2 loss同样的形式,只是计算的空间被转换到了特征空间。

 Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

本篇文章首次提出感知损失,分别在图像风格转化和单张图像超分上进行实验和对比,证明了感知损失的有效性。

下面针对单张图像的超分进行解释说明。

感知损失通过一个固定的网络(VGG16,VGG19..),分别用prediction 和 groundtruth作为VGG16输入, 得到对应的输出特征,pre-vgg,gt-vgg。

然后让pre-vgg和gt-vgg构造损失(L2-Loss)。使预测结果和真实值之间的深层信息(感知信息)不断接近。

相比于普通的L2-Loss,使用感知损失可以更好的增强输出的细节信息。

构建感知损失准备:

1.预训练好的VGG网络,只需要prediction阶段(前向即可)。

2.送入prediction和ground truth分别通过VGG前向,并得到pre-vgg,gt-vgg。

3.计算pre-vgg和gt-vgg的L2损失。 注:往往pre-loss(感知损失)为正则项,需要配合其他损失函数进行指导,可以通过自定参数调节感知损失的惩罚(调节)力度。

在提取特征时,通常不会只使用一层的特征,而是使用网络中浅层,中层,深层特征,进行组合。 比图vgg16会使用 3 ,5,7层进行组合,并对输出特征进行累加。

原论文中,针对单张图像超分问题。 作者并不鼓励输出图像ˆy=fW(x)的像素与目标图像y的像素完全匹配,而是鼓励它们具有与损失网络φ计算的相似的特征表示。

设φj (x)为处理图像x时网络φ的第j层的激活情况;如果j是一个卷积层,那么φj (x)将是形状Cj×Hj×Wj的特征图。特征重建的损失是特征表示之间的(平方,归一化)欧氏距离:

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

如下图所示,找到一个使早期层特征重建损失最小的图像ˆy往往会产生视觉上与y无法区分的图像。 当从更高的层次重建时,图像内容和整体空间结构被保留,但颜色、纹理和精确的形状没有被保留。使用特征重建损失进行训练,我们的图像转换网络鼓励输出图像ˆy在感知上与目标图像y相似,但并不迫使它们精确匹配。

 Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

 上面所述殴打简而言之一句话:针对于单张图像的超分问题,选择浅层(论文说是relu2_2)的特征图进行损失计算,而对于风格转化任务,选择深层特征或深层结合浅层的特征图来计算损失。

下图是实验结果:

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

代码:

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

2023.2.16 

在使用vgg作为模型推导的感知损失时,突然发现一个问题,都说一般选择浅层和深层的网络作为损失函数的计算层,比如这里我取第三层卷积和第13层卷积,可是第三层卷积有64个通道,第13层卷积后有256个通道,这么多通道要怎么计算损失呢?是求均值吗?后面看了别人的代码是这样处理的。这里直接上整体代码。关键一行是:np.mean() 也就是说应该是64个通道求均值了。

还有一点特别要注意,看到很多人分享的代码都是定义relu层为损失计算层,我亲自测试过发现,relu后特征可视化会变的偏向黑色,甚至在刚开始训练的时候就是全黑的,全黑的图像和半黑的GT图计算损失,损失可能会变成0.0000000007这样的,所以选择层的时候一定要选择卷积后的层,而不是relu后的层,目前选择卷积后的层[0,14,24] 特征可视化和损失函数均正常。

更新一下感知损失的结果,在训练接近拟合后,打印出预测和GT的特征图,已经非常相似了,损失函数也到达0.000001这样了,特征图如下:(左边的是预测的结果,右边是GT)

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

 测试了一下发现没有明显的涨点,但是感知损失理论上也不会明显的涨点,感知损失的主要作用还是增强图像的细节,虽然这次测试也没有看到细节的增强,但是原因应该是模型还没有拟合完全,后续更新结果。

更新。。

上面说的应该选择卷积层作为特征图,是自己分析的结论,实验结果发现是可行的,但是原论文中说明的是relu2_2层,然后原论文还说应该选择L2loss做为感知损失的计算函数,可是有其他研究表明L1loss+L2loss的效果更好,至于选择哪个loss 选择 哪个层 这个还是亲身实践去试一试吧,下面贴一些第一次实验的结果。

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

 上面三张从上到下分别是GT,不加感知损失的结果,加入感知损失(3,14,27卷积层累加)的结果。

在psnr上没有明显的变化,对于细节来说,仔细看是可以看到感知损失的细节强化效果(噪声减小了,对应gt来说细节也有所强化)。

2.28继续更新感知损失,这次使用L1来计算感知损失,且加入不同比列来增强或抑制感知损失与原始损失的比例,细节效果明显得到提高,效果如下:

 文章来源地址https://www.toymoban.com/news/detail-419547.html

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读左图是未加入感知损失的推理结果,右图为加入感知损失的结果,细节提升十分明显。

Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读

 

 

到了这里,关于Perceptual Loss(感知损失)&Perceptual Losses for Real-Time Style Transferand Super-Resolution论文解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【读论文】3D Gaussian Splatting for Real-Time Radiance Field Rendering

    What kind of thing is this article going to do (from the abstract and conclusion, try to summarize it in one sentence) To simultaneously satisfy the requirements of efficiency and quality, this article begins by establishing a foundation with sparse points using 3D Gaussian distributions to preserve desirable space. It then progresses to optimizing anisotrop

    2024年04月09日
    浏览(35)
  • 论文笔记《3D Gaussian Splatting for Real-Time Radiance Field Rendering》

    项目地址 原论文 最近辐射场方法彻底改变了多图/视频场景捕获的新视角合成。然而取得高视觉质量仍需神经网络花费大量时间训练和渲染,同时最近较快的方法都无可避免地以质量为代价。对于无边界的完整场景(而不是孤立的对象)和 1080p 分辨率渲染,目前没有任何方法

    2024年02月09日
    浏览(33)
  • 【论文笔记】3D Gaussian Splatting for Real-Time Radiance Field Rendering

    原文链接:https://arxiv.org/abs/2308.04079 网孔和点是最常见的3D场景表达,因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场(NeRF)则建立连续的场景表达便于优化,但渲染时的随机采样耗时且引入噪声。本文的方法结合了上述两种方法的优点:使用3D高斯表达和基于ti

    2024年02月04日
    浏览(31)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering 阅读笔记

    感谢B站意の茗的讲解。 论文地址:https://arxiv.org/abs/2308.04079 项目主页:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ 从已有点云模型出发(sfm),以每个点为中心建立可学习的3D高斯表达,Splatting方法进行渲染,实现高分辨率实时渲染。(推动NERF加速方向) 能用训练好的点云

    2024年01月16日
    浏览(39)
  • [SIGGRAPH-23] 3D Gaussian Splatting for Real-Time Radiance Field Rendering

    pdf | proj | code 本文提出一种新的3D数据表达形式3D Gaussians。每个Gaussian由以下参数组成:中心点位置、协方差矩阵、可见性、颜色。通过世界坐标系到相机坐标系,再到图像坐标系的仿射关系,可将3D Gaussian映射到相机坐标系,通过对z轴积分,可得到对应Splatting 2D分布。 针对

    2024年02月04日
    浏览(38)
  • 3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering

    Reference: 深蓝学院:NeRF基础与常见算法解析 GitHub: gaussian-splatting 原文官网 A Survey on 3D Gaussian Splatting 开始弃用NeRF?为什么Gaussian Splatting在自动驾驶场景如此受欢迎? 相关文章: NeRF 其一:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF 其二:Mip-NeRF NeRF 其三:In

    2024年01月18日
    浏览(63)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering(论文中代码复现)

    3D Gaussian Splatting for Real-Time Radiance Field Rendering https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ 主要研究方法是使用3D高斯光点绘制(3D Gaussian Splatting)方法进行实时光辐射场渲染。该方法结合了3D高斯场表示和实时可微分渲染器,通过优化3D高斯场的属性和密度控制,实现了高质

    2024年02月03日
    浏览(31)
  • 【语音增强论文解读 03】TCNN: TEMPORAL CONVOLUTIONAL NEURAL NETWORK FOR REAL-TIME SPEECHENHANCEMENT IN THE TIME

    作者:Ashutosh Pandey and DeLiang Wang 文末附文章地址及其开源代码地址         尽管使用 T-F 表示是最流行的方法,但它也有一些缺点。首先,这些方法通常忽略干净的相位信息,并使用噪声相位进行时域信号重建。         受成功实现用于序列建模的 TCNN 以及基于编解码

    2024年02月02日
    浏览(33)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering论文中代码复现及排错过程

    graphdeco-inria/gaussian-splatting: Original reference implementation of “3D Gaussian Splatting for Real-Time Radiance Field Rendering” (github.com) 以下是最初电脑所安装的内容: Anaconda3 2022.10-Windows-x86_64 CUDA 电脑只支持11.6,所以装的是11.6版本。 使用git去克隆repository 尽管挂了梯子,但是还是需要多次刷

    2024年02月05日
    浏览(48)
  • BiSeNet:用于实时语义分割的双边分割网络——BiSeNet:Bilateral Segmentation Network for Real-time Semantic Segmentation

            语义分割需要丰富的空间信息和较大的感受野。然而,现代的方法通常为了实现实时推断速度而牺牲空间分辨率,导致性能下降。本文提出了一种新的双边分割网络(BiSeNet)来解决这个问题。我们首先设计了一个具有小步长的空间路径来保留空间信息并生成高分

    2024年04月28日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包