文献阅读 Image-to-Image Translation with Conditional Adversarial Networks

news2024/10/3 10:46:33

前言

本文中所使用的cGAN模型为上篇论文的main idea,这里再进行一下相关介绍。


题目

Image-to-Image Translation with Conditional Adversarial Networks
使用条件对抗网络实现图片到图片的翻译

摘要

我们研究了条件对抗网络作为图像到图像翻译问题的通用方案。这些网络不仅学习从输入图像到输出图像的映射,而且还学习一个损失函数来训练这种映射。这使得我们有可能将同样的通用方法应用于传统需要非常不同的损失公式的问题上。我们证明了这种方法在从标签图合成照片、从边缘图重建物体和给图像着色等任务中是有效的。

引言

图像处理、计算机图像学和计算机视觉中的许多问题都可以被设定为将输入图像“翻译”成相应的输出图像。就像一个观点可以用英语或法语表达,或一个场景可以被渲染成一个RGB图像,一个梯度场,一个边缘图,一个语义标签图等等。与自动语言翻译类似,我们将自动图像到图像的翻译定义为:在给定足够的训练数据的情况下将场景的一种可能表示翻译成另一种可能表示翻译成一种可能表示问题,如下图所示。
在这里插入图片描述
本文的目标就是为这些问题制定一个共同的框架。

方法

在这里插入图片描述
训练一个cGAN来实现从边缘到图像的映射。鉴别器学会在假的(生成器合成)和真的{边缘,图像}图元之间进行分类。生成器学会如何欺骗鉴别器。与无条件的GAN不同的是,生成器和鉴别器都观察输入的边缘图。

损失函数:
L c G A N ( G , D ) = E x , y [ log ⁡ D ( x , y ) ] + E x , z [ log ⁡ ( 1 − D ( x , G ( x , z ) ) ) ] \mathcal{L}_{cGAN}(G,D)= \mathbb{E}_{x,y}[\log D(x, y)] + \mathbb{E}_{x,z}[\log (1-D(x,G(x,z)))] LcGAN(G,D)=Ex,y[logD(x,y)]+Ex,z[log(1D(x,G(x,z)))]

另外对于生成器,还考虑了L1损失。
L L 1 ( G ) = E x , y , z = [ ∥ y − G ( x , z ) ∥ 1 ] \mathcal{L_{L1}}(G) = \mathbb{E}_{x,y,z}=[\lVert y- G(x,z) \rVert_1] LL1(G)=Ex,y,z=[∥yG(x,z)1]
可以帮助输出更接近ground truth。

最终的目标函数为:
G ∗ = arg ⁡ min ⁡ G max ⁡ D L c G A N ( G , D ) + λ L L 1 ( G ) G^* = \arg \min_G \max_D \mathcal{L}_{cGAN}(G, D) + \lambda \mathcal{L}_{L1}(G) G=argGminDmaxLcGAN(G,D)+λLL1(G)
尽管没有 z z z,网络仍然可以学习从 x x x y y y的映射,但会产生确定的输出,因此无法匹配除 delta函数以外的任何分布。过去的cGAN已经认识到这一点,除了 x x x之外,还提供高斯噪声 z z z作为发生器的输入。
相反,对于本文的最终模型,我们提供的是dropout形式的噪声。

生成器架构:使用了带有“编码器-解码器”结构的U-Net框架。具体来说,在每个层 i i i和层 n − i n-i ni之间添加skip结构, n n n为总层数。每个skip结构只是将第 i i i层和第 n − i n-i ni层的结果通过通道数连接起来,即concat。

鉴别器架构:patchGAN。这个鉴别器试图对图像中的每个 N × N N \times N N×N补丁进行分类,以确定是真是假。我们在整个图像上卷积地运行整个鉴别器,对所有的反应进行平均,以提供最终的输出 D D D

实验

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【C++】inline 内联函数

文章目录📕 概念📕 使用前的准备📕 使用📕 特性📕 概念 在 C 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表…

你需要同款“Unreal项目自动化编译、打包和部署”方案吗?

在过往几期的UWA Pipeline最佳实践案例中,我们分享了如何通过Pipeline实现性能优化、性能管理、游戏内容验收和云真机系统的应用(实现批量真机设备的自动化测试,以及针对特效性能优化的方式),其实这些高效的方法并不局…

改进 YOLO V5 的密集行人检测算法研究(论文研读)——目标检测

改进 YOLO V5 的密集行人检测算法研究(2021.08)摘 要:1 YOLO V52 SENet 通道注意力机制3 改进的 YOLO V5 模型3.1 训练数据处理改进3.2 YOLO V5 网络改进3.3 损失函数改进3.3.1 使用 CIoU3.3.2 非极大值抑制改进4 研究方案与结果分析4.1 实验…

碰撞高校智慧,凝聚青春力量 | 因“AI”而“深”-高校开源专场顺利举办!

为聚焦AI新发展,探寻开源新环境,聆听高校声音,2月25日上午,第四届OpenI/O启智开发者大会以“因AI而深”为主题在深圳人才研修院举办高校开源专场,共同交流高校优质开源项目的发展经验、社区优秀开发者的心路历程及高校…

ROS2功能包Hello world(python)

文章目录环境准备Python创建工作空间、功能包及节点方法编译使用环境准备 为了便于日后复现,相关环境已经打包到docker中。 拉取docker镜像 docker pull 1224425503/ros2_foxy_full:latest新建容器 docker run -dit --rm --privilegedtrue --network host -e NV…

cnpm adduser 报错 409 Conflict

今天遇到一个问题,cnpm adduser 一直失败,返回 409 Conflict。 我们先来看下报错信息 409 Conflict - PUT http://registry.cnpm.xxxx.com.cn/-/user/org.couchdb.user:mingyu6 - conflict第一步 分析 http 错误码 409 Conflict:请求与服务…

Java函数式编程

从JDK8开始java支持函数式编程,函数式编程是面向数学的抽象,将计算描述为一种表达式求值,函数式程序就是一个表达式。JDK也提供了几个常用的函数式接口。 java的函数式编程还没有例如js那样的规范和深奥, 在函数式编程中&#xf…

蓝桥杯每日一题:不同路径数(dfs深度优先)

给定一个 nm的二维矩阵,其中的每个元素都是一个 [1,9] 之间的正整数。 从矩阵中的任意位置出发,每次可以沿上下左右四个方向前进一步,走过的位置可以重复走。 走了 k 次后,经过的元素会构成一个 (k1) 位数。 请求出一共可以走出…

浅谈功能测试和性能测试的区别

刚刚入门软件测试的宝子,可能经常会看到:功能测试、性能测试,这些到底是什么呀?那我就带大家了解一下~ 一、定义 功能测试 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试&#xff0…

操作指南:如何高效使用Facebook Messenger销售(二)

上一篇文章我们介绍了使用Facebook Messenger作为销售渠道的定义、好处及注意事项,本节我们将详细介绍怎么将Facebook Messenger销售与SaleSmartly(ss客服)结合,实现一站式管理多主页配图来源:SaleSmartly(…

喀秋莎Camtasia2023最新版本电脑录屏剪辑软件

录屏软件的鼻祖是techSmith 的喀秋莎(Techsmith Camtasia Studio),视频编辑软件Camtasia 2023发布,十大新功能放出!作为一个自媒体人,每天都要录制编辑视频,选择一个好的视频编辑工具就是大家首先面临的一个…

招投标管理系统-适合于招标代理、政府采购、企业采购、工程交易等业务的企业

招投标管理系统-适合于招标代理、政府采购、企业采购、工程交易等业务的企业 招投标管理系统是一个用于内部业务项目管理的应用平台。以项目为主线,从项目立项,资格预审,标书编制审核,招标公告,项目开标,项…

Android Kotlin实战之高阶使用泛型扩展协程懒加载详解

前言: 通过前面几篇文章,我们已基本掌握kotlin的基本写法与使用,但是在开发过程中,以及一些开源的API还是会出现大家模式的高阶玩法以及问题,如何避免,接下来讲解针对原来的文章进行一些扩展,解…

【10K功能测试】-【20K自动化测试】之间的区别

前言 按测试执行的类型来分:功能测试、自动化测试 1.功能测试 功能测试俗称点点点测试。初级测试人员的主要测试任务就是执行测试工程师所写的测试用 例,记录用例的执行状态及bug情况。与开发人员进行交互直到bug被修复。 功能测试理论上是…

顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了

今天给大家分享一份顺丰同城的测试开发一面面试真题。老规矩,当你看到这份面试题的时候,先不要着急去看答案,你可以想想假如你在面试现场,你会怎么回答?这个思考的过程其实也是很重要的。 全文7000字干货,…

ADC0832的AD模数转换原理及编程

✅作者简介:嵌入式领域优质创作者,博客专家 ✨个人主页:咸鱼弟 🔥系列专栏:单片机设计专栏 📃推荐一款求职面试、刷题神器👉注册免费刷题 目录 一、描述 二、模数转换原理: 三、…

Gorm -- 添加记录

文章目录添加单条记录直接添加模型对象赋予默认值方法一: gorm 标签赋予默认值方法二: 设置钩子方法(Hooks)指定字段插入插入时忽略某些字段插入时禁止使用钩子方法添加多条记录通过对象列表插入通过字典列表插入在字典中使用SQL内…

【Linux】工具(3)——gcc/g++

咱们继续进阶,接下来进入到Linux工具中gcc和g的学习在本章博客正式开始介绍之前,我们先要弄清楚程序是怎么翻译的:C语言程序环境一、什么是gcc/g📌gcc是一个c编译器, g是c编译器。我们根据代码的后缀名来判断用哪个编译…

NCRE计算机等级考试Python真题(十)

第十套试题1、数据库系统的核心是___________。A.数据库管理系统B.数据模型C.软件工具D.数据库正确答案: A2、下列叙述中正确的是___________。A.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的B.线性表链式存储结构与顺序存储结构的存储空…

Stable Diffusion原理详解

Stable Diffusion原理详解 最近AI图像生成异常火爆,听说鹅厂都开始用AI图像生成做前期设定了,小厂更是直接用AI替代了原画师的岗位。这一张张丰富细腻、风格各异、以假乱真的AI生成图像,背后离不开Stable Diffusion算法。 Stable Diffusion…