Generating Diverse Structure for Image Inpainting With Hierarchical VQ-VAE

Jialun Peng1 Dong Liu1* Songcen Xu2 Houqiang Li1 1 University of Science and Technology of China 2 Noah's Ark Lab, Huawei Technologies Co., Ltd.pjl@mail.ustc.edu.cn, {dongeliu, lihq}@ustc.edu.cn, xusongcen@huawei.com

原文提供代码链接:

GitHub - USTC-JialunPeng/Diverse-Structure-Inpainting: CVPR 2021: "Generating Diverse Structure for Image Inpainting With Hierarchical VQ-VAE"

摘要:

给定一个没有附加约束的不完整图像,只要图像看起来合理,图像修复就原生允许多个解决方案。最近,已经提出了多种解决方案修复方法,并展示了生成不同结果的潜力。然而,这些方法很难确保每个解决方案的质量,例如它们产生扭曲的结构和/或模糊的纹理。我们提出了一个用于不同修复的两阶段模型,其中第一阶段生成多个具有不同结构的粗结果,第二阶段通过增加纹理分别细化每个粗结果。所提出的模型受到分层向量量化变分自动编码器 (VQ-VAE) 的启发,其层次结构解开结构和纹理信息。此外,VQVAE 中的矢量量化能够对结构信息的离散分布进行自回归建模。从分布中采样可以很容易地生成多样化和高质量的结构,构成了我们模型的第一阶段。在第二阶段,我们在纹理生成网络内部提出了一个结构注意模块,该模块利用结构信息来捕获远距离相关性。我们进一步重用VQ-VAE来计算两个特征损失,分别有助于提高结构的一致性和纹理真实感。在CelebA-HQ、Places2和ImageNet数据集上的实验结果表明,我们的方法不仅增强了修复解决方案的多样性,而且提高了生成的多幅图像的视觉质量。

模型结构图:

第一阶段——生成粗结果:

我们首先提出了一种多样结构生成器Gs,它使用自回归网络来制定离散结构特征上的条件分布。从分布中取样可以产生不同的结构特征。

损失函数为:

第二阶段——生成精细结果,有两部分组成:

第一部分主要由纹理生成器+粗结果/gt结果 ,得到生成整张图。

另外提出了一个结构注意力模块,它直接计算结构特征的注意力得分。直观地说,具有相似结构的区域应该具有相似的纹理。计算结构特征上的注意力得分可以对结构信息的精确长程相关性进行建模,从而提高合成纹理和生成结构之间的一致性。

此处的判别器为:SN PatchGAN中的判别器

可以计算由判别器以及L1损失。

第二部分由在原始数据集上提前预训练好的分层VQ-VAE的编码器部分构成:

预训练Hierarchical VQ-VAE

这个模型在编码器部分会生成图像的结构特征,纹理特征。

然后拿训练好的Hierarchical VQ-VAE的编码器部分,固定编码器参数??,将第一部分中生成的comp图像作为输入,得到了生成图像comp对于这个编码器的结构特征以及纹理特征。

然后与gt图像的结构特征纹理特征得到另外的损失函数。用于指导模型训练。

结构损失函数为:

总损失函数为:

模型表现(部分):

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

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

相关文章

3款免费宝藏电脑软件,每一个都非常实用

LICEcap LICEcap是一款简洁易用的动画屏幕录制软件,主要功能是将屏幕录像的内容直接保存为高质量(每帧颜色数量可超过256)GIF动态图片格式。该软件安装包轻量级,不到500KB,运行后会以窗口的方式显示在桌面上&#xff…

分布式存储和分布式计算两个哪个更适合作为工作深入方向发展?

有朋友问,分布式存储比如hdfs,ceph,minio,tidb,glusterfs;分布式计算比如Hadoop,spark,flink;它们在实际工作中咋样?具体开发工作是啥?哪个更有发…

财务RPA与数字化转型——财务RPA如何促进企业的数字化转型

在数字化时代,企业面临着推动创新、提高效率的巨大挑战。RPA财务机器人作为智慧财务不可或缺的新动能,不仅能够优化财务流程,还能够在整个企业中引领数字化变革。本文金智维将深入探讨财务RPA如何成为企业数字化转型的战略利器,为…

【哈哈大一上学的全忘了,重开!!】STM32从零入门物联网开发

本笔记资料来源 :STM32物联网入门30步=单片机物联网入门教程 WIFI连接阿里云物联网CubeMXHAL库蓝牙ESP8266杜洋主讲_哔哩哔哩_bilibili IOT:Internet of things 学习目标: 1.掌握洋桃IoT开发板的各功能以及驱动与基本应用 2.掌…

docker 部署jitsi meet

1. 部署环境: 1.1 vm 虚拟机 安装的 centos 7 1.2 centos7安装docker 和 docker-compose 2.docker命令 官网部署文档地址:(文档地址有可能失效) Self-Hosting Guide - Docker | Jitsi Meet 2.1Download and extract the late…

1-3.文本数据建模流程范例

文章最前: 我是Octopus,这个名字来源于我的中文名–章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的…

基于隐马尔可夫模型的股票预测【HMM】

基于机器学习方法的股票预测系列文章目录 一、基于强化学习DQN的股票预测【股票交易】 二、基于CNN的股票预测方法【卷积神经网络】 三、基于隐马尔可夫模型的股票预测【HMM】 文章目录 基于机器学习方法的股票预测系列文章目录一、HMM模型简介(1)前向后…

全球首款搭载Google Gemini和GPT-4o的智能眼镜发布

智能眼镜仍然是一个尚未完全成熟的未来概念,但生成式人工智能的到来显著提升了这些设备的能力。Meta 的 Ray-Ban 智能眼镜被许多人视为当今最好的选择之一,而现在 Solos AirGo Vision 正在为其带来竞争,这款眼镜还集成了 Google Gemini 支持。…

生命在于学习——Python人工智能原理(3.1.1)

Python部分结束了,开始概率论部分 一、概率基本知识 1.1 事件与概率 1.1.1 事件的运算与关系 (一)基本概念 定义1 随机试验 如果一个试验满足如下条件: 在试验前不能断定其将发生什么结果,但可明确指出或说明试验…

浅聊JavaScript中的栈(stack)

前言 这篇文章结合leetcode题目讲解一下栈这种结构 第20题:20. 有效的括号 - 力扣(LeetCode) 第LCR-147题LCR 147. 最小栈 - 力扣(LeetCode) 栈(stack) 在讲解题目之前,我们先来…

HTTPS是什么?原理是什么?用公钥加密为什么不能用公钥解密?

HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,它通过在HTTP协议之上加入SSL/TLS协议来实现数据加密传输,确保数据在客户端和服务器之间的传输过程中不会被窃取或篡改。 HTTPS 的工作原理 客户端发起HTTPS请求&…

primetime中cell和net的OCV

文章目录 前言一、Cell OCV1. POCV coefficient file2. POCV Slew-Load Table in Liberty Variation Format(LVF lib) 二、Net OCV三、如何check OCV是否已加上?总结 前言 在生产中,外界环境的各种变化,比如PVT&#…

C语言之线程的学习

线程属于某一个进程 共同点:都能并发 线程共享变量,进程不共享。 多线程任务中,其中某一个线程调用了exit了,其他线程会跟着一起退出 如果是特定的线程就调用pthread_exit 失败返回的是错误号 下面也是

代码随想录-Day44

322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数…

科普文:一文搞懂jvm原理(三)执行引擎

概叙 科普文:一文搞懂jvm(一)jvm概叙-CSDN博客 科普文:一文搞懂jvm原理(二)类加载器-CSDN博客 前面我们介绍了jvm,jvm主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系…

16_C语言编程基础

目录 C语言入门 程序段和代码段 C语言入门实例 英文分号(;) 注释 标识符 保留字 C中的空格 C数据类型 基本类型 sizeof获取存储字节 void类型 变量 C数组 C枚举 C中的左值(lvalue)和右值(rvalue) C常量 变量存储类型 C常用关键字(保留字) 宏定义#define co…

生成式AI:未来商业的变革者

在2023年,生成式人工智能(GenAI)的浪潮席卷了全球,成为科技领域最炙手可热的话题之一。它不仅改变了我们与机器的互动方式,更在商业创新和生产力提升方面发挥了巨大的作用。本文将深入探讨2024年生成式AI的应用模式、趋…

docker初始化运行mysql容器时自动导入数据库存储过程问题

问题:用navicat导出的数据库脚本,在docker初始化运行mysql容器时,导入到存储过程时出错。 ERROR 1064 (42000) at line 2452: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for t…

面经-数据库

1.MySQL 1.1什么是MySQL? MySQL 是⼀种关系型数据库,在 Java 企业级开发中⾮常常⽤,因为 MySQL 是开源免费的,并 且⽅便扩展。阿⾥巴巴数据库系统也⼤量⽤到了 MySQL ,因此它的稳定性是有保障的。 MySQL 是开放源代码的&…