Image-to-Image Translation with conditional Adversarial Networks ---- Pix-2-Pix

?任務場景

  • Photos to semantic segmentation
  • Cityscapes labels to photos
  • Colorization
  • Facades labels to photo
  • Day to night
  • The edges to photo
  • And so on.

?

?在生成器模型中,條件變量y實際上是作為一個額外的輸入層(additional input layer),它與生成器的噪聲輸入p(z)組合形成了一個聯合的隱層表達;

在判別器模型中,y與真實數據x也是作為輸入,并輸入到一個判別函數當中。實際上就是將z和x分別于y進行concat,分別作為生成器和判別器的輸入,再來進行訓練。

?

?

目標函數:

gans:

CGAN:

pix-2-pix:

把待轉換的圖像x作為額外的輸入,分別加進判別器和生成器中。生成器輸入的是隨機噪聲z以及待轉換的圖像x。

在positive情況下,判別器輸入的是待轉換圖像x以及與x對應的真實數據y,這時判別器盡量使得輸出為1;

在negative情況下,判別器輸入的是待轉換圖像x以及生成器生成的圖像G(x,z)。也就是說,生成器不只輸入了隨機噪聲z,還輸入了待轉換圖像x,加入了這個條件,就可以實現定向生成;

判別器也不再只是判別某一張圖像是否真實,而是判別待轉換圖像x與轉換后圖像G(x,z)是否是真實的圖像對

?

創新點

1、加入約束項(L1 distance encourages less blurring) ---- 生成的圖像是不是接近GT。

  與L2相比,文章采用了模糊更少的L1 distance(1范數可以導致稀疏解,2范數導致稠密解):

2、generator add skip connections(U-Net)

  圖像到圖像轉換問題的一個特征定義是將高分辨率輸入網格映射到高分辨率輸出網格。輸入和輸出的表面外觀雖不同,但兩者都是相同底層結構的渲染。因此,生成器的設計中輸入的結構大致與輸出的結構對齊。?
? ? ? ?之前的結構都是基于如下圖的編碼-解碼網絡,先經過幾個降采樣層,到達一個瓶頸后經過一個逆過程得到最終的輸出。網絡要求所有的信息流通過網絡的所有層。對于許多圖像翻譯問題,輸入和輸出之間共享了大量低級別的信息,因此最好將這些信息直接穿過網絡。為了使得生成器能夠規避這樣的信息瓶頸,遵循“U-Net”的形狀,添加跳躍連接。假使網絡有n層,網絡的第i層都和n-i層有一個連接:

?

?

3.patchGAN

  通常判斷都是對生成樣本整體進行判斷,比如對一張圖片來說,就是直接看整張照片是否真實。而且Image-to-Image Translation中很多評價是像素對像素的,所以在這里提出了分塊判斷的算法,在圖像的每個N×N塊上去判斷是否為真,最終平均給出結果。

判別器在圖像上卷積,最終平均所有的值作為D的最終輸出值;

N可以比圖像的大小小得多,并且效果仍然很好;

小的patchGAN的參數更少,運行更快,并且能夠應用到任意大小的圖像中。。

當n=1時就是pix-2-pix

?

?Optimization and inference

?

?

擴展

L0范數是指向量中非0的元素的個數

L1范數是指向量中各個元素絕對值之和

L2范數是指向量各元素的平方和然后求平方根。

在機器學習中,以0范數和1范數作為正則項,可以求得稀疏解,但是0范數的求解是NP-hard問題; 以2范數作為正則項可以得到稠密解,并且由于其良好的性質,其解的定義很好,往往可以得到閉式解,所以用的很多。

一句話總結就是:L1會趨向于產生少量的特征,而其他的特征都是0,而L2會選擇更多的特征,這些特征都會接近于0。L1在特征選擇時候非常有用,而L2就只是一種規則化而已。

  • L0 w分量盡量稀疏 如 (0,a,0,0,b,0,0)
  • L1 效果同上
  • L2 w分量取值盡量均衡、稠密,即小而趨近于0 如(0.3,0.5,-0.3,0.1,-0.2,0.3,-0.3)

?

轉載于:https://www.cnblogs.com/J-K-Guo/p/7574216.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251798.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

5分鐘從零構建第一個 Apache Flink 應用

為什么80%的碼農都做不了架構師?>>> 在本文中,我們將從零開始,教您如何構建第一個Apache Flink (以下簡稱Flink)應用程序。 開發環境準備 Flink 可以運行在 Linux, Max OS X, 或者是 Windows 上。為了開發…

WinForm窗體中如何在一個窗體中取到另一個窗體的值

例如我們定義兩窗體,Form1和Form2,如何在Form2中取到Form1中的一個值呢? 解決方法1: 在Form1 中定義一個成員變量,例如public string a “ ”: 然后給這個成員變量賦值,例如 a lblname.text; 在Form2中我…

Android6.0------權限申請RxPermissions

前面寫了Android6.0權限介紹和權限單個,多個申請,用的是純Java代碼,本文主要說的是借助第三方庫來實現權限申請。 借助第三方庫 RxPermissions來申請6.0權限。 RxPermissions庫地址:https://github.com/tbruyelle/RxPermissions …

如何給 mongodb 設置密碼

言簡意賅,步驟如下: 連接mongo mongo進入admin數據庫 use admin  創建管理員賬戶db.createUser({ user: "adminName", pwd: "adminPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin&qu…

while和do-while循環結構

while(循環條件){ 循環操作 i; } 1.聲明并初始化循環變量。 2.判斷循環條件是否滿足,如果滿足則執行循環操作;否則退出循環。 3.執行完循環操作后,再次判斷循環條件,決定繼續執行循環或退出循環。 *while循環的特點:先…

Thread線程類及多線程

1.進程、線程、并發、并行是什么? 1)進程:操作系統中可以運行多個任務(程序),這些運行的任務(程序)被稱為進程。程序的運行產生進程(內存空間、程序執行的堆棧),可以這樣說,進程是作為操作系統分配資源的基本單位。 2)…

絳河 初識WCF5

然后我們在<Client>中添加一個終結點&#xff0c;這個是客戶端的終結點&#xff0c;我們前面曾經提過&#xff0c;通信實際上發生在兩個終結點間&#xff0c;客戶端也有個終結點&#xff0c;然而請求總是從客戶端首先發起&#xff0c;所以終結點地址應該填寫為服務端終結…

python修煉第四天

今天換了師傅。江湖人稱景女神^o^。 女師傅講的比較細&#xff0c;原理的比較多。初學者來說有些難。但是基本功是必須要打牢的。努力&#xff01; 迭代器 迭代器&#xff0c;迭代的工具1 什么是迭代&#xff0c;指的是一個重復的過程&#xff0c;每一次重復稱為一次迭代&#…

尷尬的存儲過程

最近在給一個已沉淀了多年的系統框架進行優化&#xff0c;發現大部分的基礎業務&#xff08;比如增刪改&#xff09;的實現都是通過存儲過程來實現。這讓我糾結了很久&#xff0c;看了下代碼格式我猜應該都是使用了代碼生成器。這無疑為系統的擴展留下了一個難以彌補的大坑。 首…

java虛擬機06-內存分區/新生代、老年代

1.原因 JVM在程序運行過程當中&#xff0c;會創建大量的對象&#xff0c;這些對象&#xff0c;大部分是短周期的對象&#xff0c;小部分是長周期的對象&#xff0c;對于短周期的對象&#xff0c;需要頻繁地進行垃圾回收以保證無用對象盡早被釋放掉&#xff0c;對于長周期對象&a…

博客作業04--樹

1.學習總結(2分) 1.1樹結構思維導圖 1.2 樹結構學習體會 樹這一章節比較復雜&#xff0c;知識點繁多&#xff0c;結合了遞歸的知識所以代碼閱讀起來會有障礙&#xff0c;難以理解&#xff0c;所以學起來比較吃力&#xff0c;而且很多經典的算法理解的不是很透徹解決pta上的問題…

Centos 配置多個虛擬IP

Centos 配置多個虛擬IP 臨時設置 ifconfig enp2s0:3 192.168.3.152 netmask 255.255.255.0 up 復制代碼永久生效 TYPEEthernet BOOTPROTOnone NAMEenp2s0 DEVICEenp2s0 HWADDR40:8d:5c:bc:f4:d8 ONBOOTyes IPADDR0192.168.3.200 PREFIX024 GATEWAY0192.168.3.254 IPADDR1192.16…

[轉]MySQL日志——Undo | Redo

本文是介紹MySQL數據庫InnoDB存儲引擎重做日志漫游 00 – Undo LogUndo Log 是為了實現事務的原子性&#xff0c;在MySQL數據庫InnoDB存儲引擎中&#xff0c;還用Undo Log來實現多版本并發控制(簡稱&#xff1a;MVCC)。 - 事務的原子性(Atomicity) 事務中的所有操作&#xff0…

Vim操作指南

vim具有6種基本模式和5種派生模式。 基本模式 普通模式 插入模式 可視模式 選擇模式 命令行模式 Ex模式 派生模式 操作符等待模式 插入普通模式 插入可視模式 插入選擇模式 替換模式 1.移動光標&#xff08;普通模式下&#xff09; h&#xff1a;左 j&#xff1a;下 …

[DP/單調隊列]BZOJ 2059 [Usaco2010 Nov]Buying Feed 購買飼料

首先我想吐槽的是題目并沒有表明數據范圍。。。 這個題目 DP方程并不難表示。 dp[i][j]表示前i個地點攜帶了j個貨物的最小花費 dp[i][j] dp[i-1][k] (j-k) * cost j*j*(leng[i]-leng[i-1]) 如果你這樣直接提交上去&#xff0c;恭喜你超時&#xff01;&#xff01;&#xff0…

十天沖刺09

今天&#xff0c;和小伙伴在做密保功能的開發&#xff0c;而且通過密保可以找回用戶密碼。轉載于:https://www.cnblogs.com/Excusezuo/p/10923690.html

hdu 6168 Numbers

zk has n numbers a1,a2,...,an. For each (i,j) satisfying 1≤i<j≤n, zk generates a new number (aiaj). These new numbers could make up a new sequence b1&#xff0c;b2,...,bn(n?1)/2 . LsF wants to make some trouble. While zk is sleeping, Lsf mixed up seq…

039_MySQL_多表查詢

#創建部門 CREATE TABLE IF NOT EXISTS dept (did int not null auto_increment PRIMARY KEY,dname VARCHAR(50) not null COMMENT 部門名稱 )ENGINEINNODB DEFAULT charset utf8;#添加部門數據 INSERT INTO dept VALUES (1, 教學部); INSERT INTO dept VALUES (2, 銷售部); IN…

sqlserver 創建對某個存儲過程執行情況的跟蹤

有時候需要抓取執行存儲過程時某個參數的值&#xff0c;有時候程序調用存儲過程執行后結果不太對&#xff0c;不確定是程序的問題還是存儲過程的問題&#xff0c;需要單獨執行存儲過程看結果 即可用下面的方法 -- --創建對某個存儲過程的執行情況的跟蹤 --注意修改路徑 和 obje…

5.7 彈性盒子

彈性盒子定義彈性盒子 display&#xff1a;flex定義子元素排列方式 flex-diection定義子元素換行方式 flxe-wrap定義子元素對齊方式橫向對齊 justify-content縱向對齊 align-items 媒體查詢 media screen and (max-width:最大寬度)and &#xff08;min-width&#xff1a;最小…