(2024 了,这文也太水了)审查 GAN 的 FID 和 SID 指标

Reviewing FID and SID Metrics on Generative Adversarial Networks

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

2. 相关工作

3. 方法

4. 实验


0. 摘要

生成对抗网络(GAN)模型的增长增强了图像处理的能力,并为许多行业提供了技术,可以产生逼真的图像转换。然而,由于该领域最近刚刚建立,因此存在一些新的评估指标,可以推动这一研究领域的发展。先前的研究表明,Fréchet Inception Distance(FID)在测试这些图像到图像的 GAN 在实际应用中的表现时是一种有效的度量标准。Signed Inception Distance(SID)是 2023 年创立的一种度量标准,它通过允许无符号距离来扩展 FID。本文使用了包含在 Pix2Pix 和CycleGAN 模型中的建筑外观、城市景观和地图的公共数据集。在训练后,这些模型使用度量生成性能的两个 Inception 距离指标进行评估。我们的研究结果表明,使用 SID 度量标准可以作为一种有效而高效的度量标准,用于补充甚至超过使用 FID 进行图像到图像 GAN 的能力。

2. 相关工作

Pix2Pix,一种早期的图像生成对抗网络(GAN),开创了高质量图像生成并影响了后续的模型。Isola 等人在 [11] 中引入了自动图像到图像的翻译,教授模型图像映射和多功能翻译的损失函数。它采用具有跳跃连接的 U-Net 生成器,避免低级信息瓶颈,如图 1 所示。 Pix2Pix 在小数据集上表现出色,并依赖于成对图像进行监督,并通过使用 dropout 来解决对噪声的利用不足。这提高了 Pix2Pix 在训练数据之外的适应性 [6]。 

然而,Pix2Pix GAN 缺乏循环一致性:循环一致性提高在两个领域之间进行图像翻译结果的一致性验证。因此,CycleGAN [12] 被引入,作为 Pix2Pix 的扩展,具有循环一致性。它通过将生成的图像的分布与真实图像匹配来处理无成对数据的图像到图像的翻译。它采用一个70x70 的 PatchGAN [12] 鉴别器和一个带有 6-9 残差块和分数步进卷积的生成器。CycleGAN 引入了对抗性和循环一致性损失,以在领域之间保持图像集的特征,如图 2 所示。与 Pix2Pix 不同,它使用自编码器结构,缺乏跳跃连接,并且不使用条件 GAN [6],[9],[12]。

3. 方法

FID 是一种用于评估 GAN 生成图像质量的流行度量标准。它变得流行,因为 FID 分数与人眼解释之间存在高度相关性 [10]。它测量生成图像数据集的多变量高斯分布与 GAN 试图复制的真实数据(地面真相)之间的距离,其公式等同于 2-Wasserstein 公式[10],[13]。

其中 (𝜇𝑟,𝛴𝑟) 和 (𝜇𝑔,𝛴𝑔) 分别表示地面真实数据和生成数据的特征近似的样本均值和协方差。Tr(·)表示矩阵迹 [10]。使用在 ImageNet 数据集上预训练的 InceptionV3 模型来提取数据集中每个图像的特征向量,从而得到数据集上特征的多变量高斯分布。为了实际目的,只考虑平均值和协方差,将真实数据和生成数据都建模为高斯分布。注意到 FID 不仅评估生成的图像,还评估人类对图像的评价,因为它提供了图像质量和多样性的整体评估 [8],[14],同时获取得分非常简单和快速。所有这些导致 FID 在 GAN 开发领域是一种相当常见的度量标准。FID 分数介于 0 到无穷大之间。当FID 分数低时,生成图像数据集的质量和多样性较大 [10]。图 3 可视化了如何在地面真实数据和生成图像数据集之间计算 Fréchet Inception 距离的过程。 

SID 指标扩展了 FID 的基本思想,并融合了 Precision-Recall 分析的改进。具有无符号距离分数的额外复杂性使其成为 FID 的可行替代方案 [8],[14]。SID 是一种现代统计方法,旨在使用公式 [8]捕捉人工生成图像中的变化和多样性。 

其中 N 是样本 batch 数量,𝐶'_𝑞,𝑟 是以变换分布 𝜓(𝑐𝑗) 为中心、边长为 r 的超立方体,Mx 是均匀采样在超立方体 𝐶'_𝑞,𝑟 内的测试点数量。 Φ(𝑥𝑙 ,𝜓(𝑐𝑗)) 是一个核函数,用于测量特征空间中两点之间的相互作用,受到它们之间距离和其他因素的影响。

SID 可能特别有帮助,特别是当我们希望评估生成图像中包含的各种内容和风格元素时。因此,SID 在评估 GAN 性能时对于评估介于负无穷到正无穷的区间上具有补充作用。由于 SID 集中于识别生成图像中的多样性和变化,而 FID 只评估生成图像与真实照片的相似程度,因此两者相辅相成。

4. 实验

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

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

相关文章

深入理解Java泛型:概念、用法与优势

泛型是JDK的一个特性&#xff0c;它允许在定义类、接口和方法时使用类型参数。 例如泛型类&#xff1a;在定义类时&#xff0c;可以使用类型参数来指定类中某些字段或方法的类型 public class Box<T> { private T t; public void set(T t) { this.t t; } public T …

C++之多线程(multi-thread)

理论基础 多线程编程是C中一个重要而复杂的主题。下面是一些建议和步骤&#xff0c;帮助你入门多线程编程&#xff1a; 了解基础概念&#xff1a; 线程和进程&#xff1a; 理解线程和进程的基本概念。 并发和并行&#xff1a; 区分并发和并行的概念&#xff0c;了解它们在多线…

如何利用IP定位技术锁定网络攻击者

在当今高度互联的数字世界中&#xff0c;网络安全威胁日益猖獗。为了维护网络空间的安全与稳定&#xff0c;追踪并锁定网络攻击者成为了关键一环。而IP定位技术&#xff0c;作为一种重要的追踪手段&#xff0c;正发挥着越来越重要的作用。 IP定位技术&#xff0c;简而言之&…

Django模板(二)

标签if 标签在渲染过程中提供使用逻辑的方法,比如:if和for 标签被 {% 和 %} 包围,如下所示: 由于在模板中,没有办法通过代码缩进判断代码块,所以控制标签都需要有结束的标签 if判断标签{% if %} {% endif %} : # athlete_list 不为空 {% if athlete_list %}# 输出 ath…

vue实现购物车案例

话不多说&#xff0c;先上效果图。 安装elementui组件库&#xff0c;可直接食用。 <template><div><!-- 购物车部分 --><el-container><el-header><h1>购物车案例一条龙</h1></el-header><el-main><!-- 折叠面板…

【FPGA开发】Modelsim和Vivado的使用

本篇文章包含的内容 一、FPGA工程文件结构二、Modelsim的使用三、Vivado的使用3.1 建立工程3.2 分析 RTL ANALYSIS3.2.1 .xdc约束&#xff08;Constraints&#xff09;文件的产生 3.3 综合 SYNTHESIS3.4 执行 IMPLEMENTATION3.5 烧录程序3.6 程序固化3.6.1 SPI约束3.6.2 .bin文…

特征工程:特征提取和降维-上

目录 一、前言 二、正文 Ⅰ.主成分分析 Ⅱ.核主成分分析 三、结语 一、前言 前面介绍的特征选择方法获得的特征&#xff0c;是从原始数据中抽取出来的&#xff0c;并没有对数据进行变换。而特征提取和降维&#xff0c;则是对原始数据的特征进行相应的数据变换&#xff0c;并…

Rust开发WASM,WASM Runtime运行

安装wasm runtime curl https://wasmtime.dev/install.sh -sSf | bash 查看wasmtime的安装路径 安装target rustup target add wasm32-wasi 创建测试工程 cargo new wasm_wasi_demo 编译工程 cargo build --target wasm32-wasi 运行 wasmtime ./target/wasm32-wasi/d…

猫头虎分享已解决Bug ‍ || TypeError: Object of type ‘int64‘ is not JSON serializable

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Appium使用初体验之参数配置,简单能够运行起来

一、服务器配置 Appium Server配置与Appium Server GUI&#xff08;可视化客户端&#xff09;中的配置对应&#xff0c;尤其是二者如果不在同一台机器上&#xff0c;那么就需要配置Appium Server GUI所在机器的IP&#xff08;Appium Server GUI的HOST也需要配置本机IP&#xf…

spring boot和spring cloud项目中配置文件application和bootstrap加载顺序

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 日志配置 logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration scan"true" scanPeriod"10000000 seconds" debug…

搭建kafka测试环境

搭建kafka测试环境 启动zookeeper docker pull bitnami/zookeeperdocker run -d --name zookeeper \-e ALLOW_ANONYMOUS_LOGINyes \bitnami/zookeeper:latest启动kafka 创建网络与连接 docker network create kafka-network docker network connect kafka-network zookeepe…

【小程序】基础API之系统API接口汇总

ty.env 环境变量 属性 USER_DATA_PATH string 文件系统中的用户目录路径 (本地路径)&#xff0c;当操作文件时需使用此目录。 // 写入一个文件 const fileManager await ty.getFileSystemManager(); const fileRoot ty.env.USER_DATA_PATH; const filePath ${fileRoot}…

探索C语言中的联合体与枚举:数据多面手的完美组合!

​ ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C语言学习 贝蒂的主页&#xff1a;Betty‘s blog 1. 联合体的定义 联合体又叫共用体&#xff0c;它是一种特殊的数据类型&…

2024智慧城市新纪元:引领未来,重塑都市生活

随着科技的飞速发展和数字化转型的不断深入&#xff0c;2024年智慧城市领域迎来了全新的发展格局。 这一年&#xff0c;智慧城市的建设更加注重人性化、可持续性和创新性&#xff0c;为城市居民带来了前所未有的便捷与舒适。以下将重点关注智慧城市的几个核心内容&#xff0c;…

《幻兽帕鲁》攻略:0基础入门及游戏基础操作 幻兽帕鲁基础设施 幻兽帕鲁基础攻击力 Mac苹果电脑玩幻兽帕鲁 幻兽帕鲁加班加点

今天就跟大家聊聊《幻兽帕鲁》攻略&#xff1a;0基础入门及游戏基础操作。 如果想在苹果电脑玩《幻兽帕鲁》记得安装CrossOver哦。 以下纯干货&#xff1a; CrossOver正版安装包&#xff08;免费试用&#xff09;&#xff1a;https://souurl.cn/Y1gDao 一、基础操作 二、界面…

Logback - 日志框架

引言 在当今的企业级应用开发中&#xff0c;日志管理是一个不可或缺的部分。它不仅帮助我们进行错误跟踪&#xff0c;还能有效监控应用程序的运行状态&#xff0c;为性能优化提供数据支撑。Spring Boot作为一个简化Spring应用开发的框架&#xff0c;自带了强大的日志管理功能。…

雾计算:去中心化计算的未来之旅

雾计算是去中心化计算的基石&#xff0c;它将重塑我们的数字格局。通过使计算和存储更接近数据源&#xff0c;它改变了我们处理物联网生成数据的方式。通过雾计算探索未来&#xff0c;揭示了减少延迟、增强隐私和高效网络利用等好处。 随着传感器和可穿戴设备等物联网设备的数…

【jQuery——详细讲解】

jQuery讲解 jQuery介绍 jQuery介绍 jQuery是一个快速、小巧且功能丰富的JavaScript库&#xff0c;它使得HTML文档遍历和操作、事件处理、动画和Ajax操作变得更简单&#xff0c;都是通过一个简洁的API来实现的&#xff0c;这个API在多种浏览器上都能正常工作。它的口号是“writ…

Unity UGUI实现点击事件穿透

代码很简单如下 将此代码挂载到上层节点上即可 using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;public class ClickEventPenetration : MonoBehaviour, IPointerClickHandler {public void OnPointerClick(PointerEventData eventData…