BMVC2022 | HR-VQVAE:用于图像重建和生成的基于Hierarchical Residual Learning的VQVAE

news2024/11/27 20:22:52

原文标题:Hierarchical Residual Learning Based Vector Quantized Variational Autoencoder for Image Reconstruction and Generation

链接:https://bmvc2022.mpi-inf.mpg.de/0636_poster.pdf

paper:https://arxiv.org/abs/2208.04554

一、问题提出

离散的潜在变量允许使用强大的自回归模型,以避免后验崩溃问题。此外,该模型可以大大减少重建图像所需的信息量。然而,VQVAE存在码本崩溃的问题:在训练过程中的某个时刻,码本的某些部分可能不再使用,模型不再使用离散表示的全部容量,导致重建效果不佳。此外,k-means问题随着质心的增加变得更加严重,用大量离散编码编码输入的能力降低了

VQVAE2通过采用多层量化表示(如顶层、中层和底层)来处理图像中的分层信息,对VQVAE进行了扩展,然后,使用两个自回归卷积网络分别对结构信息和纹理信息进行建模,生成新的图像。然而,不同的层共享相同的目标函数。这并不鼓励层对互补信息进行编码,并导致codebook的低效使用。

二、模型方法

与VQVAE不同的是,embedding随后被迭代量化为n个离散潜在变量的层。假设第一层有一个大小为m的码本,第二层将有m个大小为m的码本,以此类推,第i层有m^(i-1)个大小为m的codebook,总共有m^i个code。

这种分层搜索过程提供了本地访问码本索引的优势,极大地减少了搜索时间(可类比于操作系统中的分页搜索):

在每i层中,对码本进行优化:

使用哪个codebook是由前一层选择的code et决定的。在每层,将code组合成张量ei∈R(H×W×D)。然后,在不同的层中,将张量ei组合在一起,形成“组合”离散表示eC,反过来,它被feed到解码器中,重建图像x:

目标函数为:

使用自回归模型(PixelCNN)将先验分布拟合到所有训练样本中。这样的模型将输入空间上的联合概率分布分解为样本每个维度的条件分布的乘积。对于新图像的生成,使用ancestral采样,利用概率的链式法则。

三、实验

1、dataset

FFHQ(256 × 256), ImageNet(128 × 128), CIFAR10(32 × 32)、MNIST(28 × 28)

2、实验

1)层数

定义n层模型,每个码本有m个码字。为确保模型之间的分辨率水平相同,在最后一层中比较具有相同数量code的模型,即最大的像素值。

在最后一层都有64个码字,但我们观察到,增加模型的深度会导致更多细节的重建:

codebook的分层性质在训练过程中起到了正则化的作用,并允许模型更有效地分配code。

与VQVAE-2比较了模型深度(即层数)对重构均方误差(MSE)的影响:

增加模型层数可以提高HR-VQVAE的性能。此外,HR-VQVAE在所有数据集上的性能都随着层数的增加而不断提高。然而,增加层数并不能从一定程度上提高VQVAE-2的性能(对于Imagenet和FFHQ),在某些情况下(MNIST和CIFAR10),性能下降。

2)codebook大小

增加码本大小以及VQVAE和VQVAE-2的效果:

不同数据集和方法的平均MSE与码字数。当码本大小增加到一定限度时,VQV AE和VQV AE-2都会崩溃。然而,HR-VQVAE继续改善。

重建过程:

VQV AE和VQV AE-2都受到codebook崩塌的影响。相反,HR-VQVAE可以充分利用增加的复杂性,并生成最佳重建。

3)每层codebook的效果

3层HR-VQVAE和3层VQVAE-2,说明了两种模型中不同层编码的不同信息:

HR-VQVAE图像重建(第一行)比VQVAE-2(第二行)获得了更好的重建质量和更多的细节。一种可能的解释是HR-VQVAE鼓励不同的层对图像的不同信息进行编码;而VQVAE-2中的信息是大量重叠的。这可能导致低效率的潜在表示。

HR-VQVAE, VQV AE, VQVAE-2图像重建的均方误差(MSE)和fréchet初始距离(FID):

重建速度:

HR-VQV AE和VQV AE-2生成的随机样本

其实这篇文章创新度是有限的,显然将VQVAE2改成更多层是一个很自然的想法吧。

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

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

相关文章

新业务势头强劲,晨光股份转型之路走得如何?

近期,据网传的一份文件显示,上海晨光文具股份有限公司(以下简称“晨光文具”、“晨光股份”、“晨光”“公司”)将于11月29日起,暂停线上线下店面等渠道的A4纸销售。晨光股份(603899.SH)针对此份…

PreScan快速入门到精通第四十一讲图像分割传感器

图像分割传感器(ISS)是一种生成语义分割图像的工具。它在诸如分类、(深度)学习、行人识别、避免碰撞等应用领域非常有用。ISS通常与相机传感器结合使用,以获得被分割的图像。 摄像机传感器 ISS语义类型颜色 ISS语义目标颜…

Vue3+Vite4+Naive-UI 项目自动导入API和组件

一、Vue3常用API导入 安装依赖 pnpm i -D unplugin-auto-import进行Vite配置 文件名:vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import AutoImport from unplugin-auto-import/vite// https://vitejs.dev/config/ ex…

HDOCK 蛋白蛋白对接软件使用;LZerD网页在线对接

参考: http://hdock.phys.hust.edu.cn/ 注:本文章是取6BOY这蛋白,下载用pymol划分成DDB1-CRBN部分蛋白与BRD4部分蛋白,用这两个蛋白进行软件的对接测试 https://www.rcsb.org/structure/6BOY 一、HDOCK 蛋白蛋白对接软件使用 …

@Enumerated的使用

前言 今天做测试,发现还没有试过实体类中关于枚举项的使用,于是就做了个测试,发现了点问题(发现的问题主要是针对我使用的ORM框架是Ebean,它自带了一个比Enumerated更好用的注解和方式)。 不多说&#xf…

翻硬币(蓝桥杯C/C++B组真题详解)

目录 题目描述:1208. 翻硬币 - AcWing题库 题目思路: 代码详解: 题目描述:1208. 翻硬币 - AcWing题库 题目思路: 这题我们可以用模拟直接模拟操作 也可以直接推出规律 这里就讲解推出的规律 因为每次必须选择两个…

[附源码]计算机毕业设计二次元信息分享平台的设计及实现Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

[操作系统笔记]请求分页管理方式

内容系听课复习所做笔记,图例多来自课程截图 操作系统需要提供两大功能: 请求调页:缺失页面调入内存页面置换:暂时不用的换出外存 页表机制 原先的页式管理使用的页表并不能满足新的需求,因此需要为页表增加新的页表…

《垃圾回收算法手册 自动内存管理的艺术》——运行时接口(笔记)

文章目录十一、运行时接口11.1 对象分配接口11.1.1 分配过程的加速11.1.2 清零如何清零何时清零11.2 指针查找11.2.1 保守式指针查找11.2.2 使用带标签值进行精确指针查找11.2.3 对象中的精确指针查找11.2.4 全局根中的精确指针查找11.2.5 栈与寄存器中的精确指针查找11.2.6 代…

DI Blackfin DSP处理器-BF533的开发详解47:图像处理专题-Resize (图像缩放处理)(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像缩放处理,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

JUnit 测试框架

JUnit注解test 注解BeforeEach 注解BeforeAll AfterEachAfterAll断言assertEqualsassertNotEqualsassertTrue用例执行顺序测试套件指定类,添加到套件中并执行一次添加一个包的类参数化单参数多参数借助文件动态参数注解 test 注解 通过对方法加上 test 注解&#…

[附源码]计算机毕业设计二手书店设计论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

DocArray 0.20.0 发布!新增 Milvus 后端支持,更好地嵌套数据搜索,新增 RGB-D 格式的 3D 模型表示

DocArray 是一个用于处理、传输和存储多模态数据的 Python 工具包。DocArray 提供便捷的多模态数据处理功能,具备基于 Protobuf 提供高性能的网络传输性能,同时也为多种向量存储方案提供统一的 API 接口。 GitHub:github.com/docarray/docar…

外包公司面试门槛高吗?软件测试员进外包公司容易吗?

虽然很多测试人员都抵制外包,但实际情况则是依旧有大量软件测试员,选择加入到外包这个圈子。外包公司面试门槛高吗?外包公司容易进吗?本篇来解答一下这个问题。 外包公司面试门槛高吗? 外包的面试门槛,相对大厂要低很多。尤其…

二、Docker 阿里云镜像加速

1、为什么需要增加镜像加速 咱们先看运行 hello word 都干了哪些事情 "Unable to find image hello-world:latest locally" 是说本地没有hello-world 这个images(镜像) "latest: Pulling from library/hello-world" 本地没有那就得去拉取 这段是拉取 i…

尚医通-MyBatisPlus:查询-删除(四)

(1)MyBatis-简单查询-分页查询 (2)MyBatisPlus删除与逻辑删除 (1)MyBatis-简单查询-分页查询 1.1通过多个id批量查询 完成了动态sql的foreach的功能 //多个id批量查询Testpublic void testSelect1() { …

C++ 入门篇之类 对象的关系

📒博客主页: ​​开心档博客主页​​ 🎉欢迎关注🔎点赞👍收藏⭐留言📝 📌本文由开心档原创! 📆51CTO首发时间:🌴2022年12月12日🌴 ✉…

docker(3):镜像分层原理

目录UnionFS(联合文件系统)docker镜像加载原理分层理解commit镜像docker中,镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容、包括代码、运行时…

【计算机网络】HTTP首部详解

HTTP首部详解HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务端分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无需亲自查看。 1.HTTP请求报文 2.HTTP响应报文 3.首部字段类型 3.1 通用首部字段 首部…

在线CAD-梦想云图Node.JS服务

说明 后台提供梦想Node.JS服务,方便调用控件后台功能,Bin/MxDrawServer的安装目录中有Linux和Windows两个文件夹,用户可以根据自己的操作系统下载对应的程序。 启动服务 Windows:进入Bin\MxDrawServer\Windows目录,运行start.ba…