【风格迁移】URST:解决超高分辨率图像的风格迁移问题

URST:解决超高分辨率图像的风格迁移问题

    • 提出背景
      • URST框架的整体架构

 


提出背景

论文:https://arxiv.org/pdf/2103.11784.pdf

代码:https://github.com/czczup/URST?v=1

有一张高分辨率的风景照片,分辨率为10000×10000像素,我们希望将这张照片的风格转换成梵高的《星夜》的风格。

使用传统的风格迁移方法处理这么高分辨率的图像会遇到巨大的内存开销问题,而且在风格迁移后的图像中,细节部分的风格可能会因为小笔触尺寸而不够突出。

使用URST框架来处理这项任务。

首先,URST将这张高分辨率的风景照片分割成许多小块。

  • 提出分块式风格迁移
  • 因为超高分辨率图像可能超出GPU内存容量的问题

接着,利用Thumbnail Instance Normalization(TIN)技术,为每个小块提取《星夜》风格的特征归一化统计数据,并应用这些统计数据来进行小块的风格迁移。

  • 直接使用实例归一化(IN)进行小块风格迁移可能会导致风格不一致,从而无法组合成一个令人满意的图像。
  • 提出一种新颖的缩略图实例归一化(TIN)层,能够提取缩略图特征的归一化统计数据并应用于小块,确保不同小块之间的风格一致性。

这个过程确保了整个高分辨率图像在风格迁移后,在不同小块之间保持风格的一致性。

在这里插入图片描述

  • (a) 将输入作为一个整体进行归一化。
  • (b) 将输入分成四个小块并分别归一化。
  • © 应用缩略图的归一化统计信息到这四个小块,获得了类似于(a)的输出。结果显示IN不适用于分块式风格迁移。

通过这种方式,即使是在处理极高分辨率的图像时,URST也能成功地将《星夜》的风格迁移到风景照片上,同时避免了传统方法中的内存问题。

并且能够通过提出的笔触感知损失增大笔触尺寸,使得风格迁移后的图像在视觉上更加吸引人和风格鲜明。

  • 我们提出了一种笔触感知损失作为神经风格迁移的辅助损失,激励风格迁移网络保持大的笔触。
  • 因为在超高分辨率风格化结果中,笔触相对较小,导致过于细小和密集的纹理问题。
  • 在没有笔触感知损失的情况下:风格化后的图像可能会展现出非常细小、密集的纹理,这些纹理在视觉上会显得过于繁忙,缺乏艺术风格的宏观表现力。
  • 引入笔触感知损失后: 风格化后的图像会有更大、更明显的笔触,这些笔触更贴近梵高的原作风格,使得整个图像在视觉上更加和谐、具有艺术感。大笔触不仅能够减少过于细小和密集的纹理,还能增强视觉效果的动态感和表现力。

此外,URST的这种处理方式不仅效果卓越,而且可以轻松地应用于其他现有的风格迁移方法中,进一步提高它们处理超高分辨率图像时的性能。

URST框架的整体架构

在这里插入图片描述

分为三个阶段:分割、风格化和组装。

核心思想是将超高分辨率(UHR)的内容图像分割成小块,并使用提出的TIN进行分块式风格迁移。

风格迁移网络可以是不同的方法。除了原始方法的损失Lo之外,还引入了一种名为笔触感知损失Lsp的辅助损失,以增大笔触大小。

这些关键设计帮助我们首次构建了一个无分辨率限制的风格迁移系统。

在这里插入图片描述
这是一张关于神经风格迁移的消融研究图,用于展示所提出的笔触感知损失 L s p L_{sp} Lsp 在增大现有风格迁移方法笔触尺寸方面的效果。

图片展示了两个不同的地方的风景照片,以及这些照片使用不同方法进行风格迁移后的结果。

  • 图(a)展示了原始内容和艺术风格的图片。
  • 图(b)显示了使用AdaIN方法进行风格迁移的结果。
  • 图©显示了使用AdaIN方法加上提出的笔触感知损失 L s p L_{sp} Lsp 进行风格迁移的结果。
  • 图(d)显示了使用LinearWCT方法进行风格迁移的结果。
  • 图(e)显示了使用LinearWCT方法加上提出的笔触感知损失 L s p L_{sp} Lsp 进行风格迁移的结果。

通过比较(b)和©,以及(d)和(e),可以看到加入笔触感知损失 L s p L_{sp} Lsp 后的风格迁移结果中,笔触尺寸显著增大,纹理更加稀疏,更能体现出原始艺术风格的特征。

这说明提出的笔触感知损失有效地促进了风格迁移网络生成更大的笔触,从而提高了超高分辨率图像风格迁移的质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/504805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

枚举类、泛型、API

枚举类 枚举类可以实现单例设计模式。 枚举的常见应用场景:用来表示一组信息,然后作为参数进行传输。 泛型 API

Benchmark学习笔记

小记一篇Benchmark的学习笔记 1.什么是benchmark 在维基百科中,是这样子讲的 “As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply by looking at their specifications.Therefore, te…

Onlyfans怎么绑定虚拟卡订阅,视频图文教学!!!

前言 onlyfans软件是一个创立于2016年的订阅式社交媒体平台,创作者可以在自己的账号发布原创的照片或视频,并需要注意的是,网络上可能存在非法或不道德的应用将其设置成付费模式,若用户想查看则需要每月交费订阅。 图文视频教学&a…

steam++加速问题:出现显示443端口被 vmware-hostd(9860)占用的错误。

目录 前言: 正文: 前言: 使用Steam对GitHub进行加速处理时,建议使用2.8.6版本。 下载地址如下:Release 2.8.6 BeyondDimension/SteamTools GitHub 下载时注意自己的系统位数 正文: 使用GitHub时会使…

RocketMQ学习笔记一

课程来源:002-MQ简介_哔哩哔哩_bilibili (尚硅谷老雷,时长19h) 第1章 RocketMQ概述 1. MQ是什么? 2. MQ用途有哪些? 限流削峰;异步解耦;数据收集。 3. 常见MQ产品有哪些&对比…

如何根据PalWorldSettings.ini重新生成定制的WorldOption.sav文件?

这个过程涉及到将PalWorldSettings.ini 文件中的设置与WorldOption.sav 文件进行匹配和替换。具体的操作步骤可能包括检查PalWorldSettings.ini 文件中的设置是否与WorldOption.sav 文件中的设置相匹配,然后根据这些设置重新生成或修改WorldOption.sav 文件&#xf…

还在用Jenkins?快来试试这款简而轻的自动部署软件!

最近发现了一个比 Jenkins 使用更简单的项目构建和部署工具,完全可以满足个人以及一些小企业的需求,分享一下。 Jpom 是一款 Java 开发的简单轻量的低侵入式在线构建、自动部署、日常运维、项目监控软件。 日常开发中,Jpom 可以解决下面这些…

深入了解Java虚拟机(JVM)

Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释执行Java字节码,并在各种平台上执行。JVM的设计使得Java具有跨平台性,开发人员只需编写一次代码,就可以在任何支持Java的系统上运行。我们刚开始学习Ja…

简易内存池2 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 请实现一个简易内存池,根据请求命令完成内存分配和释放。 内存池支持两种操作命令,REQUEST和RELEASE,其格式为: REQUEST请求的内存大小 …

每个人都应该知道的AI大模型:通往智能未来的桥梁

人工智能大模型已成为我们通往智能未来的桥梁。这些模型,如OpenAI的GPT-4,不仅是技术的巅峰,更是人类智慧的结晶。在这篇文章中,我们将深入探讨AI大模型的重要性,它们是如何工作的,以及它们对社会的潜在影响…

腾讯云4核8G12M服务器性能如何?使用场景分析

腾讯云4核8G服务器适合做什么?搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以,腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM,轻量服务器和标准型CVM服务器性能是差不多的,轻…

Vue路由(黑马程序员)

路由介绍 将资代码/vue-project(路由)/vue-project/src/views/tlias/DeptView.vue拷贝到我们当前EmpView.vue同级,其结构如下: 此时我们希望,实现点击侧边栏的部门管理,显示部门管理的信息,点击员工管理,显…