当前位置: 首页 > news >正文

快速傅立叶卷积(FFC)

在这里插入图片描述

论文 LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions
https://github.com/advimman/lama

1.Introduce

解决图像绘制问题——缺失部分的真实填充——既需要“理解”自然图像的大尺度结构,又需要进行图像合成。

通常的做法是在一个大型自动生成的数据集上训练绘画系统,这些数据集是通过随机屏蔽真实图像创建的。通常使用带有中间预测的复杂两阶段模型,例如平滑图像[27,54,61]、边缘[32,48]和分割图[44]。在这项工作中,我们用一个简单的单级网络获得了最先进的结果。

一个大的有效接受野[29]对于理解图像的整体结构,从而解决图像绘制问题是必不可少的。此外,在一个大掩模的情况下,一个大而有限的接受域可能不足以获得生成高质量图像所必需的信息。我们注意到流行的卷积架构可能缺乏足够大的有效接受场。我们仔细地干预系统的每个组成部分,以缓解问题,并释放单级解决方案的潜力。具体来说:i)我们提出了一个基于最近发展的快速傅立叶卷积(FFCs)[4]的喷漆网络。ffc允许覆盖整个图像的接受域,即使在网络的早期层也是如此。我们证明ffc的这种特性提高了网络的感知质量和参数效率。有趣的是,FFC的归纳偏倚允许网络泛化到训练过程中从未见过的高分辨率(图5、图6)。这一发现带来了显著的实际好处,因为需要的训练数据和计算量更少。

ii)我们提出使用基于高接受场语义分割网络的感知损失[20]。这是基于这样一种观察,即接受野不足不仅会损害绘画网络,还会损害感知损失。我们的损失促进了全球结构和形状的一致性。

iii)我们引入了一种积极的训练掩码生成策略,以释放前两个组件的高接受场的潜力。这个过程产生了宽而大的掩模,这迫使网络充分利用了模型和损失函数的高接受场。

这就引出了一种新的单阶段图像绘制系统——大掩模绘制系统(LaMa)。LaMa的主要组成部分是高感受野架构(i),具有高感受野损失函数(ii),以及训练掩码生成的激进算法(iii)。我们仔细地将LaMa与最先进的基线进行比较,并分析每个提议组成部分的影响。

通过评价,我们发现仅在低分辨率数据上进行训练后,LaMa就可以泛化到高分辨率图像。LaMa可以捕获和生成复杂的周期结构,并且对大掩模具有鲁棒性。此外,与竞争基线相比,这是用更少的可训练参数和推理时间成本实现的。

方法

2.1. 早期层中的全局上下文

例如填充大蒙版,生成适当的inpainting需要考虑全局上下文。因此,我们认为一个好的架构应该在管道中尽可能早地拥有具有尽可能广泛的接受域的单元。传统的全卷积模型,如ResNet[14],存在有效接受野[29]增长缓慢的问题。由于卷积核通常很小(例如3 × 3),接收域可能不足,特别是在网络的早期层。因此,网络中的许多层将缺乏全局上下文,并且将浪费计算和参数来创建一个全局上下文。

对于宽掩模,特定位置的生成器的整个接受野可能在掩模内,因此只观察到缺失的像素。对于高分辨率图像,这个问题尤为明显。

快速傅立叶卷积(FFC)[4]是最近提出的运算符,它允许在网络的前期层中利用全局上下文。FFC基于通道快速傅里叶变换(FFT)[2],具有覆盖整个图像的接受野。FFC将通道分成两个并行分支:i)局部分支使用常规卷积,ii)全局分支使用真正的FFT来考虑全局上下文。实FFT只能应用于实值信号,逆实FFT保证输出为实值。与FFT相比,真正的FFT只使用了一半的频谱。具体而言,FFC采取以下步骤:
在这里插入图片描述
在这里插入图片描述
最后,将本地(i)和全局(ii)分支的输出融合在一起。FFC的图示见图2。
在这里插入图片描述
FFCs的功能FFCs是完全可微的,并且易于使用的替代传统卷积。由于图像范围的接受域,ffc允许生成器从早期层开始考虑全局上下文,这对于高分辨率图像的绘制至关重要。这也带来了更高的效率:可训练参数可以用于推理和生成,而不是“等待”信息的传播。

我们发现ffc非常适合捕获周期性结构,这在人造环境中很常见,例如砖、梯子、窗户等(图4)。有趣的是,在所有频率上共享相同的卷积将模型转向尺度等方差4。

相关文章:

快速傅立叶卷积(FFC)

论文 LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions https://github.com/advimman/lama 1.Introduce 解决图像绘制问题——缺失部分的真实填充——既需要“理解”自然图像的大尺度结构,又需要进行图像合成。 通常的做法是在一个大型自…...

藏头诗(C语言)

本题要求编写一个解密藏头诗的程序。 注:在 2022 年 7 月 14 日 16 点 50 分以后,该题数据修改为 UTF-8 编码。 输入格式: 输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占三个字节。 输出格…...

适合您的智能手机的 7 款优秀手机数据恢复软件分享

如今,我们做什么都用手机;从拍照到录音,甚至作为 MP3 播放器,我们已经对手机变得非常依恋。这导致我们在手机上留下了很多珍贵的回忆。 不幸的是,我们有可能会丢失手机上的部分甚至全部数据。幸运的是,这不…...

uniapp APP下载流文件execl 并用WPS打开

使用plus.downloader.createDownload 方法将新建下载任务 HTML5 API Reference export default function plusDownload(config){if(!config){console.error("Argument should not be null");return;}const urlrequest.baseUrlconfig.url;let token uni.getStorage…...

【Python】 Python 操作PDF文档

Python 操作PDF文档 1、PDF (便携式文件格式,Portable Document Format)是由Adobe Systems在1993年用于文件交换所发展出的文件格式。 PDF主要由三项技术组成:衍生自PostScript;字型嵌入系统;资料压缩及传…...

vue3-响应式核心

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue3-响应式核心 响应式核心 目录 响应式核心 3.1ref() 3.2computed () 3.3 reactive() 3.4 …...

人工智能的广泛应用与影响

目录 前言1 智能手机与个人助手2 医疗保健3 自动驾驶技术4 金融领域5 教育与学习6 智能家居与物联网7 娱乐与媒体8 环境保护结语 前言 人工智能(Artificial Intelligence,AI)是当今科技领域的璀璨明星,它不仅在技术创新方面掀起了…...

SAP创建权限对象、角色、并分配角色

一、SU20:维护权限字段 二、SU21创建权限对象,分配权限字段: 三、SU24关联程序和自建权限对象(标准tcode会默认存在标准权限对象) 四、PFCG创建角色 五、SU01给用户分配角色 一、su20:维护权限字段 X点新建: 填入…...

[uni-app]记录APP端跳转页面自动滚动到底部的bug

文章目录 bug描述原因分析: 处理方案 bug描述 1.点击的A页面, 跳转到了B页面, 第一次页面正常显示 2.从B页面返回A页面 3.A页面不进行任何操作,再次点击A页面进入B页面 4.B页面自动滚动到底部. 原因 看一段A页面代码 let that thisthis.defaultScrollTop uni.getStorageSy…...

应用软件安全编程--23避免使用不安全的操作模式

块密码又称为分组加密, 一次加密明文中的一个块。将明文按一定的位长分组,明文组经过加密运 算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。这种加密算法共有四种操作 模式用于描述如何重复地应用密码的单块操作来安全的…...

国产高云FPGA:纯verilog实现视频图像缩放,提供6套Gowin工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐国产高云FPGA相关方案推荐国产高云FPGA基础教程 3、设计思路框架视频源选择OV5640摄像头配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 Video Frame Buffer 图像缓存DDR3 Memory Interface 4、Go…...

python操作windows窗口,python库pygetwindow使用详解

文章目录 一、pygetwindow模块简介二、pygetwindow常用方法1、常用方法2、window常用方法 一、pygetwindow模块简介 pygetwindow是一个Python第三方库,用于获取、管理和操作窗口。它提供了一些方法和属性,使得在Python程序中可以轻松地执行各种窗口操作…...

手写消息队列(基于RabbitMQ)

一、什么是消息队列? 提到消息队列是否唤醒了你脑海深处的记忆?回看前面的这篇文章:《Java 多线程系列Ⅳ(单例模式阻塞式队列定时器线程池)》,其中我们在介绍阻塞队列时说过,阻塞队列最大的用途…...

kafka本地安装报错

Error: VM option ‘UseG1GC’ is experimental and must be enabled via -XX:UnlockExperimentalVMOptions. #打开 bin/kafka-run-class.sh KAFKA_JVM_PERFORMANCE_OPTS“-server -XX:UseG1GC -XX:MaxGCPauseMillis20 -XX:InitiatingHeapOccupancyPercent35 -XX:ExplicitGCInv…...

王者荣耀游戏

游戏运行如下: sxt Background package sxt;import java.awt.*; //背景类 public class Background extends GameObject{public Background(GameFrame gameFrame) {super(gameFrame);}Image bg Toolkit.getDefaultToolkit().getImage("C:\\Users\\24465\\D…...

MobaXterm如何连接CentOS7的Linux虚拟机?Redis可视化客户端工具如何连接Linux版Redis?

一、打开Lunix虚拟机,进入虚拟机中,在终端中输入ifconfig,得到以下信息,红框中为ip地址 二、打开MobaXterm,点击session 选择SSH,在Remote host中输入linux得到的IP地址,Specify username中可起一个任意的连接名称。 输入密码 四、…...

python实现炫酷的屏幕保护程序

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 上次的文章如何实现一个下班倒计时程序的阅读量很高,觉得也很实用酷炫,下边是昨天的体验…...

java学习part06数组

62-数组-数组的概述_哔哩哔哩_bilibili 这篇 Java 基础,我吹不动了 - 掘金 (juejin.cn) 1.数组概念 重点 2.数组声明和初始化 new的时候要么给出静态初始化的数据{a,b,c},要么给出动态初始化指定长度 [4]。 否则报错,初始化必须确定长度…...

Java 的异常体系

Java 中 Throwable 是所有异常和错误的超类,两个直接子类是 Error(错误)和 Exception(异常) 在Java中,异常的根类是java.lang.Throwable类,而根类又分为两大类:Error和Exception&…...

V100 GPU服务器安装CUDA教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则&#xf…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...