BMVC2022

2023-11-17

原文标题: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改成更多层是一个很自然的想法吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BMVC2022 的相关文章

随机推荐

  • adb shell 获取手机分辨率

    使用adb修改屏幕像素密度 此命令针对全志开发板子 adb shell am display density 120 以下命令针对高通的开发板子 获取Android设备屏幕分辨率 adb shell wm size获取android设备屏幕
  • Tomcat简介及优化思路

    Tomcat 处理请求大致流程和架构 请求流程 1 HTTP服务器会把请求信息使 ServletRequest对象封装起来 2 进 步去调 Servlet容器中某个具体的Servlet 3 在 2中 Servlet容器拿到请求后 根据URL
  • 超分辨率重建测试(DASR)

    测试链接 GitHub LongguangWang DASR CVPR 2021 Unsupervised Degradation Representation Learning for Blind Super Resolutionhttp
  • vue3项目实战---知乎日报----项目搭建

    目录 基础框架和响应式布局 项目介绍 接口文档 vue config pagejson 初始化公共样式 vuex模块 路由模块 utils公共类库 axios 二次封装 响应式处理 vant ui组件库 基础框架和响应式布局 项目介绍 知乎
  • 基于VMWare 16虚拟机 CentOS7linux系统SFTP服务器的搭建与数据上载传输

    文章目录 写在前面 1 SFTP协议 2 SFTP服务器搭建 2 1 windows中SFTP服务器搭建 2 2 linux系统的SFTP服务器搭建 2 2 1 通过su命令 进入管理员权限 2 2 2 创建sftp组 2 2 3 创建一个
  • Vulnhub-DC-1实战靶场

    目录 前言 一 环境搭建 1 准备工具 2 靶场准备 二 渗透过程 1 信息收集 探测目标IP地址 探测目标IP开放端口 网页信息收集 2 漏洞查找与利用 2 1弱口令 2 2Drupalgeddon2 3 Getshell 3 1交互式s
  • Android mtk 添加app编译进系统

    1 根目录下device 搜索devices mk find iname device mk 找出device mediatek common device mk文件添加 endif Add for mediaextractor proce
  • Maven 生成source 文件 Jar

    TOC Maven 生成source 文件 Jar Maven 生成source 文件 Jar Add maven source plugin in your pom xml file
  • win11 vmware 显示 “未能启动虚拟机“ 解决办法

    编辑虚拟机文件 xxx vmx 修改其中的一行内容 virtualHW version 18
  • jQuery操作css方法

    目录 一 jQuery可以使用css方法来修改元素样式 二 设置类的样式方法 1 添加类 2 移除类 3 切换类 三 类操作与className区别 四 显示隐藏效果 1 显示语法 2 隐藏语法 3 切换语法 五 滑动效果 1 上滑效果语法
  • sql注入之报错注入

    报错注入 报错注入在没法用union联合查询时用 但前提还是不能过滤一些关键的函数 报错注入就是利用了数据库的某些机制 人为地制造错误条件 使得查询结果能够出现在错误信息中 这里主要记录一下xpath语法错误和concat rand gro
  • 某**集团夺旗赛的一道隐写题

    解压压缩包 解压出来一个文件file 使用file命令进行查看 发现是data 010查看也无果 看到标题是logistic联想到是否与xor文件有关 遂使用工具xortool 工具在此 xortool file 选概率最大的那个 13 x
  • HDFS API操作的访问方式及JUnit测试类的使用

    HDFS API操作的访问方式 主要分为使用文件系统访问方式和URL访问方式 package com wyg hdfs import java io File import java io FileOutputStream import j
  • hive 高级分组聚合(grouping sets cube和rollup)

    1 grouping sets 1 1 select a b sum c from tbl group by a b grouping sets a b 相当于 select a b sum c from tbl group by a b
  • Python求1-100所有奇数和的方法!

    在之前的文章中 老男孩IT教育小编为大家介绍过Python的特点 优势 用途以及薪资待遇等知识 而为了帮助大家更好的掌握Python 小编将为大家讲解一些实战案例 比如 Python中如何求1 100的奇数和 接下来我们来看看吧 Pytho
  • Stable Diffusion安装教程、model导入教程以及精品promt指令

    文章目录 引言 原理 图片感知压缩 潜在扩散模型 安装 插件 插件与模型下载 常用promt关键字 交流讨论 引言 最近大火的AI作画吸引了很多人的目光 AI作画近期取得如此巨大进展的原因个人认为有很大的功劳归属于Stable Diffus
  • 读取sftp服务器上的文件内容到指定的数据库表内

    引入sftp jar依赖
  • 一些常用的公共js方法

    读者可能会觉得节流与防抖有点像 其实仔细斟酌就能发现他们的不同 节流是指对于连续触发的事件 每隔一段固定时间执行一次 只要事件持续出发就可以执行很多次 在节流里涉及的时间主要是指事件执行的间隔时间 防抖则是对连续触发的事件 只会执行一次 不
  • 从操作系统层面理解同步、异步、阻塞、非阻塞

    同步和异步描述调用者会不会主动等待函数的返回值 举个例子 public void method int result otherMethod 像上面这种形式就叫同步 result 会一直等待 otherMethod 方法执行完毕并拿到返回值
  • BMVC2022

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