[譯] Perceptual Losses for Real-Time Style Transfer and Super-Resolution(Stanford University)

題目:《基于感知損失函數(shù)的實時風(fēng)格轉(zhuǎn)換和超分辨率重建》

(轉(zhuǎn)載請注明出處:基于感知損失函數(shù)的實時風(fēng)格轉(zhuǎn)換和超分辨率重建 (zhwhong) )


Abstract

摘要:我們考慮的圖像轉(zhuǎn)換的問題,即將一個輸入圖像變換成一個輸出圖像。最近熱門的圖像轉(zhuǎn)換的方法通常是訓(xùn)練前饋卷積神經(jīng)網(wǎng)絡(luò),將輸出圖像與原本圖像的逐像素差距作為損失函數(shù)。并行的工作表明,高質(zhì)量的圖像可以通過用預(yù)訓(xùn)練好的網(wǎng)絡(luò)提取高級特征、定義并優(yōu)化感知損失函數(shù)來產(chǎn)生。我們組合了一下這兩種方法各自的優(yōu)勢,提出采用感知損失函數(shù)訓(xùn)練前饋網(wǎng)絡(luò)進(jìn)行圖像轉(zhuǎn)換的任務(wù)。本文給出了圖像風(fēng)格化的結(jié)果,訓(xùn)練一個前饋網(wǎng)絡(luò)去解決實時優(yōu)化問題(Gatys等人提出的),和基于有優(yōu)化的方法對比,我們的網(wǎng)絡(luò)產(chǎn)生質(zhì)量相當(dāng)?shù)慕Y(jié)果,卻能做到三個數(shù)量級的提速。我們還實驗了單圖的超分辨率重建,同樣采用感知損失函數(shù)來代替求逐像素差距的損失函數(shù)
  
關(guān)鍵詞:風(fēng)格轉(zhuǎn)換超分辨率重建深度學(xué)習(xí)

一. 簡介

許多經(jīng)典問題可以被分為圖像轉(zhuǎn)換任務(wù),即一個系統(tǒng)接收到一些輸入圖像,將其轉(zhuǎn)化成輸出圖像。用圖像處理來舉例,比如圖像降噪,超分辨率重建,圖像上色,這都是輸入一個退化的圖像(噪聲,低分辨率,灰度),輸出一個高質(zhì)量的彩色圖像。從計算機(jī)視覺來舉例,包括語義分割,深度估計,其中的輸入是一個彩色圖像,輸出是圖像對場景的語義或幾何信息進(jìn)行了編碼。

一個處理圖像轉(zhuǎn)換任務(wù)的方法是在有監(jiān)督模式下訓(xùn)練一個前饋卷積神經(jīng)網(wǎng)絡(luò),用逐像素差距作損失函數(shù)來衡量輸出圖像和輸入圖像的差距。這個方法被Dong等人用來做了超分辨率重建,被Cheng等人做了圖像上色,被Long等人做了圖像分割,被Eigen等人做了深度和表面預(yù)測。這個方法的優(yōu)勢在于在測試時,只需要一次前饋的通過已訓(xùn)練好的網(wǎng)絡(luò)。

然而,這些方法都用了逐像素求差的損失函數(shù),這個損失函數(shù)無法抓住輸入及輸出圖像在感知上的差距。舉個例子,考慮兩張一模一樣的圖像,只有1像素偏移上的差距,盡管從感知上這倆圖片一模一樣,但用逐像素求差的方法來衡量的話,這倆圖片會非常的不一樣。

同時,最近的一些工作證明,高質(zhì)量的圖像可以通過建立感知損失函數(shù)(不基于逐像素間的差距,取而代之的是從預(yù)訓(xùn)練好的CNN中提取高層次的圖像特征來求差)圖像通過使損失函數(shù)最小化來生成,這個策略被應(yīng)用到了特征倒置[6](Mahendran等),特征可視化[7] (Simonyan等/Yosinski等),紋理綜合及圖像風(fēng)格化[9,10] (Gatys等)。這些方法能產(chǎn)生很高質(zhì)量的圖片,不過很慢,因為需要漫長的迭代優(yōu)化過程。

在這篇論文中,我們結(jié)合了兩類方法的優(yōu)勢。我們訓(xùn)練一個用于圖像轉(zhuǎn)換任務(wù)的前饋網(wǎng)絡(luò),且不用逐像素求差構(gòu)造損失函數(shù),轉(zhuǎn)而使用感知損失函數(shù),從預(yù)訓(xùn)練好的網(wǎng)絡(luò)中提取高級特征。在訓(xùn)練的過程中,感知損失函數(shù)比逐像素?fù)p失函數(shù)更適合用來衡量圖像之間的相似程度,在測試的過程中,生成器網(wǎng)絡(luò)能做到實時轉(zhuǎn)換。

我們實驗了兩個任務(wù),圖像風(fēng)格化和單圖的超分辨率重建。這兩種都有天生的缺陷:圖像風(fēng)格化沒有唯一正確的輸出,超分辨率重建的話,我們可以從一個低分辨率圖像重建出很多高分辨率的圖像。比較好的是,這兩個任務(wù)都需要對輸入的圖像進(jìn)行語義上的理解。圖像風(fēng)格化中,輸出圖片從語義維度來看必須跟輸入圖像比較接近,盡管顏色和紋理會發(fā)生質(zhì)的變化。超分辨率重建任務(wù)中,必須從視覺上模糊的低分辨率輸入來推斷出新的細(xì)節(jié)。原則上,一個為任何任務(wù)訓(xùn)練的高質(zhì)量的神經(jīng)網(wǎng)絡(luò)應(yīng)該能隱式的學(xué)習(xí)輸入圖像的相關(guān)語義;然而在實踐中我們不需要從頭開始學(xué)習(xí):使用感知損失函數(shù),允許從損失網(wǎng)絡(luò)直接轉(zhuǎn)移語義信息到轉(zhuǎn)換網(wǎng)絡(luò)。

圖1:我們的結(jié)果,第一行是風(fēng)格化,第二行是4倍的超分辨率重建

對于圖像風(fēng)格化,我們的前饋網(wǎng)絡(luò)用來解決優(yōu)化問題[10];我們的結(jié)果跟[10]中很相似(無論是質(zhì)量還是目標(biāo)函數(shù)的值),但能達(dá)成3個數(shù)量級的速度飛升。對于超分辨率重建,我們證實:把逐像素求差損失函數(shù)改成感知損失函數(shù),能帶來視覺享受級的4倍和8倍超分辨率重建。

二. 相關(guān)工作

前饋圖像轉(zhuǎn)換:最近幾年前饋圖像轉(zhuǎn)換任務(wù)應(yīng)用十分廣泛,很多轉(zhuǎn)換任務(wù)都用了逐像素求差的方式來訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)。

語義分割的方法[3,5,12,13,14,15]產(chǎn)生了密集的場景標(biāo)簽,通過在在輸入圖像上以完全卷積的方式運行網(wǎng)絡(luò),配上逐像素分類的損失函數(shù)。[15]跨越了逐像素求差,通過把CRF當(dāng)作RNN,跟網(wǎng)絡(luò)的其他部分相加訓(xùn)練。我們的轉(zhuǎn)換網(wǎng)絡(luò)的結(jié)構(gòu)是受到[3]和[14]的啟發(fā),使用了網(wǎng)絡(luò)中下采樣來降低特征圖譜的空間范圍,其后緊跟一個網(wǎng)絡(luò)中上采樣來產(chǎn)生最終的輸出圖像。

最近的方法在深度估計[5,4,16]和表面法向量估計[5,17]上是相似的,它們把一張彩色輸入圖像轉(zhuǎn)換成有幾何意義的圖像,是用前饋神經(jīng)網(wǎng)絡(luò),用逐像素回歸[4,5]或分類[17]的損失函數(shù)。一些方法把逐像素求差改換成了懲罰圖像梯度或是用CRF損失層來強(qiáng)制促使輸出圖像具有一致性。[2]中一個前饋模型用逐像素求差的損失函數(shù)訓(xùn)練,用于將灰度圖像上色。

感知的優(yōu)化:有一定數(shù)量的論文用到了優(yōu)化的方法來產(chǎn)生圖像,它們的對象是具有感知性的,感知性取決于從CNN中提取到的高層次特征。圖像可以被生成用于最大限度提升分類預(yù)測的分?jǐn)?shù)[7,8],或是個體的特征[8]用來理解訓(xùn)練網(wǎng)絡(luò)時的函數(shù)編碼。相似的優(yōu)化技巧同樣可以用于產(chǎn)生高可信度的迷惑圖像[18,19]。

Mahendran和Vedaldi從卷積網(wǎng)絡(luò)中反轉(zhuǎn)特征,通過最小化特征重建損失函數(shù),為了能理解保存在不同網(wǎng)絡(luò)層中的圖像信息;相似的方法也被用來反轉(zhuǎn)局部二進(jìn)制描述符[20]和HOG特征[21].

Dosovitskiy和Brox的工作是跟我們的最相關(guān)的,它們訓(xùn)練了一個前饋神經(jīng)網(wǎng)絡(luò)去倒置卷積特征,快速的逼近了[6]提出的優(yōu)化問題的結(jié)局方案,然而他們的前饋網(wǎng)絡(luò)是用的逐像素重建損失函數(shù)來訓(xùn)練,而我們的網(wǎng)絡(luò)是直接用了[6]用的特征重建損失函數(shù)。

風(fēng)格轉(zhuǎn)換:Gatys等人展示藝術(shù)風(fēng)格轉(zhuǎn)換,結(jié)合了一張內(nèi)容圖和另一張風(fēng)格圖,通過最小化根據(jù)特征重建的代價函數(shù),風(fēng)格重建用的代價函數(shù)也是基于從預(yù)訓(xùn)練模型中提取的高級特征;一個相似的方法之前也被用于做紋理合成。他們的方法產(chǎn)出了很高質(zhì)量的記過,不過計算代價非常的昂貴因為每一次迭代優(yōu)化都需要經(jīng)過前饋、反饋預(yù)訓(xùn)練好的整個網(wǎng)絡(luò)。為了克服這樣一個計算量的負(fù)擔(dān),我們訓(xùn)練了一個前饋神經(jīng)網(wǎng)絡(luò)去快速獲得可行解。

圖像超分辨率重建。圖像超分辨率重建是一個經(jīng)典的問題,很多人提出了非常廣泛的技術(shù)手段來做圖像超分辨率重建。Yang等人提供了一個對普通技術(shù)的詳盡評價,在廣泛采用CNN之前,它們把超分辨率重建技術(shù)歸類成了一種基于預(yù)測的方法.(bilinear, bicubic, Lanczos, [24]), 基于邊緣的方法[25,26] ,統(tǒng)計的方法[27,28,29],基于塊的方法[25,30,31,32,33] ,稀疏字典方法[37, 38]。最近在單圖超分辨率放大方向取得成就的表現(xiàn)是用了三層卷積神經(jīng)網(wǎng)絡(luò),用逐像素求差的方式算損失函數(shù)。其他一些有藝術(shù)感的方法在[39,40,41]

三. 方法

像圖2中展示的那樣,我們的系統(tǒng)由兩部分組成:一個圖片轉(zhuǎn)換網(wǎng)絡(luò)fw 和一個損失網(wǎng)絡(luò) φ(用來定義一系列損失函數(shù)l1, l2, l3),圖片轉(zhuǎn)換網(wǎng)絡(luò)是一個深度殘差網(wǎng)絡(luò),參數(shù)是權(quán)重W,它把輸入的圖片x通過映射 y=fw(x)轉(zhuǎn)換成輸出圖片y,每一個損失函數(shù)計算一個標(biāo)量值li(y,yi), 衡量輸出的y和目標(biāo)圖像yi之間的差距。圖片轉(zhuǎn)換網(wǎng)絡(luò)是用SGD訓(xùn)練,使得一系列損失函數(shù)的加權(quán)和保持下降。

圖2:系統(tǒng)概覽。左側(cè)是Generator,右側(cè)是預(yù)訓(xùn)練好的vgg16網(wǎng)絡(luò)(一直固定)

為了明確逐像素?fù)p失函數(shù)的缺點,并確保我們的損失函數(shù)能更好的衡量圖片感知及語義上的差距,我們從最近的優(yōu)化迭代生成圖片的系列工作中得到了靈感[6,7,8,9,10],這些方法共同的關(guān)鍵點在于CNN是預(yù)先訓(xùn)練好用于圖像分類的,這個CNN已經(jīng)學(xué)會感知和語義信息編碼,這正是我們希望在我們的損失函數(shù)中做的。所以我們用了一個預(yù)訓(xùn)練好用于圖像分類的網(wǎng)絡(luò)φ,來定義我們的損失函數(shù)。之后使用同樣是深度卷積網(wǎng)絡(luò)的損失函數(shù)來訓(xùn)練我們的深度卷積轉(zhuǎn)換網(wǎng)絡(luò)。

損失網(wǎng)絡(luò)φ是能定義一個特征(內(nèi)容)損失lfeat和一個風(fēng)格損失lstyle,分別衡量內(nèi)容和風(fēng)格上的差距。對于每一張輸入的圖片x我們有一個內(nèi)容目標(biāo)yc一個風(fēng)格目標(biāo)ys,對于風(fēng)格轉(zhuǎn)換,內(nèi)容目標(biāo)yc是輸入圖像x,輸出圖像y,應(yīng)該把風(fēng)格Ys結(jié)合到內(nèi)容x=yc上。我們?yōu)槊恳粋€目標(biāo)風(fēng)格訓(xùn)練一個網(wǎng)絡(luò)。對于單圖超分辨率重建,輸入圖像x是一個低分辨率的輸入,目標(biāo)內(nèi)容是一張真實的高分辨率圖像,風(fēng)格重建沒有使用。我們?yōu)槊恳粋€超分辨率因子訓(xùn)練一個網(wǎng)絡(luò)。

3.1 圖像轉(zhuǎn)換網(wǎng)絡(luò)

我們的圖像轉(zhuǎn)換網(wǎng)絡(luò)結(jié)構(gòu)大致上遵循Radford提出的指導(dǎo)方針[42]。我們不用任何的池化層,取而代之的是用步幅卷積或微步幅卷積(http://www.jiqizhixin.com/article/1417)做網(wǎng)絡(luò)內(nèi)的上采樣或者下采樣。我們的神經(jīng)網(wǎng)絡(luò)有五個殘差塊[42]組成,用了[44]說的結(jié)構(gòu)。所有的非殘差卷積層都跟著一個空間性的batch-normalization[45],和RELU的非線性層,最末的輸出層除外。最末層使用一個縮放的Tanh來確保輸出圖像的像素在[0,255]之間。除開第一個和最后一個層用9x9的kernel,其他所有卷積層都用3x3的kernels,我們的所有網(wǎng)絡(luò)的精確結(jié)構(gòu)可以在支撐文檔中看。

輸入和輸出:對于風(fēng)格轉(zhuǎn)換,輸入和輸出都是彩色圖片,大小3x256x256。對于超分辨率重建,有一個上采樣因子f,輸出是一個高分辨率的圖像3x288x288,輸入是一個低分辨率圖像 3x288/fx288/f,因為圖像轉(zhuǎn)換網(wǎng)絡(luò)是完全卷積,所以在測試過程中它可以被應(yīng)用到任何分辨率的圖像中。

下采樣和上采樣:對于超分辨率重建,有一個上采樣因子f,我們用了幾個殘差塊跟著Log2f卷及網(wǎng)絡(luò)(stride=1/2)。這個處理和[1]中不一樣,[1]在把輸入放進(jìn)網(wǎng)絡(luò)之前使用了雙立方插值去上采樣這個低分辨率輸入。不依賴于任何一個固定的上采樣插值函數(shù),微步長卷積允許上采樣函數(shù)和網(wǎng)絡(luò)的其他部分一起被訓(xùn)練。

圖3,和[6]相似,我們用了優(yōu)化的方式去找一個圖像y,能使得針對某些層的特征(內(nèi)容)損失最小化,使用了預(yù)訓(xùn)練好的vgg16網(wǎng)絡(luò),在我們用較高層重建的時候,圖像的內(nèi)容和空間結(jié)構(gòu)被保留了,但是顏色,紋理和精確的形狀改變了。

對于圖像轉(zhuǎn)換,我們的網(wǎng)絡(luò)用了兩個stride=2的卷積去下采樣輸入,緊跟著的是幾個殘差塊,接下來是兩個卷積層(stride=1/2)來做上采樣。雖然輸入和輸出有著相同的大小,但是先下采樣再上采樣的過程還是有一些其他好處。

首當(dāng)其沖的好處是計算復(fù)雜性。用一個簡單的實現(xiàn)來舉例,一個3x3的卷積有C個fiters,輸入尺寸C x H x W需要9HWC^2 的乘加,這個代價和3x3卷積有DC個filter,輸入尺寸DCxH/DxW/D是一樣的。在下采樣之后,我們可以因此在相同計算代價下用一個更大的網(wǎng)絡(luò)。

第二個好處是有效的感受野大小。高質(zhì)量的風(fēng)格轉(zhuǎn)換需要一致的改變圖片的一大塊地方;因此這個優(yōu)勢就在于在輸出中的每個像素都有輸入中的大面積有效的感受野。除開下采樣,每一個附加的3x3卷積層都能把感受野的大小增加2倍,在用因子D進(jìn)行下采樣后,每個3x3的卷積不是增加了感受野的大小到2D,給出了更大的感受野大小但有著相同數(shù)量的層。

殘差連接:He[43]等人用了殘差連接去訓(xùn)練非常深的網(wǎng)絡(luò)用來做圖像分類,它們證明了殘差連接能讓網(wǎng)絡(luò)更容易的去學(xué)習(xí)確定的函數(shù),這在圖像轉(zhuǎn)換網(wǎng)絡(luò)中也是一個很有吸引力的研究,因為在大多數(shù)情況下,輸出圖像應(yīng)該和輸入圖像共享結(jié)構(gòu)。因此我們網(wǎng)絡(luò)的大體由幾個殘差塊組成,每個包含兩個3x3的卷積層,我們用[44]中設(shè)計的殘差塊,在附錄中有。

3.2 感知損失函數(shù)

我們定義了兩個感知損失函數(shù),用來衡量兩張圖片之間高級的感知及語義差別。要用一個預(yù)訓(xùn)練好用于圖像分類的網(wǎng)絡(luò)模型。在我們的試驗中這個模型是VGG-16[46],使用Imagenet的數(shù)據(jù)集來做的預(yù)訓(xùn)練。

圖4 和[10]一樣,我們用了優(yōu)化的方式去找到一張圖y,最小化從VGG16的某幾層取出來的風(fēng)格損失。圖像y只保存風(fēng)格特征不保存空間結(jié)構(gòu)。

特征(內(nèi)容)損失:我們不建議做逐像素對比,而是用VGG計算來高級特征(內(nèi)容)表示,這個取法和那篇artistic style使用VGG-19提取風(fēng)格特征是一樣的,公式:

如在[ 6 ]和在圖3重現(xiàn)的,找到一個圖像 Y使較低的層的特征損失最小,往往能產(chǎn)生在視覺上和y不太能區(qū)分的圖像,如果用高層來重建,內(nèi)容和全局結(jié)構(gòu)會被保留,但是顏色紋理和精確的形狀不復(fù)存在。用一個特征損失來訓(xùn)練我們的圖像轉(zhuǎn)換網(wǎng)絡(luò)能讓輸出非常接近目標(biāo)圖像y,但并不是讓他們做到完全的匹配。

風(fēng)格損失:特征(內(nèi)容)損失懲罰了輸出的圖像(當(dāng)它偏離了目標(biāo)y時),所以我們也希望去懲罰風(fēng)格上的偏離:顏色,紋理,共同的模式,等方面。為了達(dá)成這樣的效果Gatys等人提出了以下風(fēng)格重建的損失函數(shù)。

讓φj(x)代表網(wǎng)絡(luò)φ的第j層,輸入是x。特征圖譜的形狀就是Cj x Hj x Wj、定義矩陣Gj(x)為Cj x Cj矩陣(特征矩陣)其中的元素來自于:

如果我們把φj(x)理解成一個Cj維度的特征,每個特征的尺寸是Hj x Wj,那么上式左邊Gj(x)就是與Cj維的非中心的協(xié)方差成比例。每一個網(wǎng)格位置都可以當(dāng)做一個獨立的樣本。這因此能抓住是哪個特征能帶動其他的信息。梯度矩陣可以很搞笑的倍計算,通過調(diào)整φj(x)的形狀為一個矩陣ψ,形狀為Cj x HjWj,然后Gj(x)就是ψψT/CjHjWj。

風(fēng)格重建的損失是定義的很好的,甚至當(dāng)輸出和目標(biāo)有不同的尺寸是,因為有了梯度矩陣,所以兩者會被調(diào)整到相同的形狀。

就像[10]中介紹的,如圖5重建,能生成一張圖片y使得風(fēng)格損失最小,從而保存了風(fēng)格上的特征,但是不保存空間上的結(jié)構(gòu)特征。

為了表示從一個集合層的風(fēng)格重建,而不是由單層重建,我們把Lstyle(y^,y)定義成一個損失的集合(針對每一個層的損失求和)。

3.3簡單損失函數(shù)

除了感知損失,我們還定義了兩種簡單損失函數(shù),僅僅用了低維的像素信息

像素?fù)p失:像素?fù)p失是輸出圖和目標(biāo)圖之間標(biāo)準(zhǔn)化的差距。如果兩者的形狀都是CxHxW,那么像素?fù)p失就是Lpixel(y,y) = ||y^-y||?2/CHW。這只能被用在我們有完全確定的目標(biāo),讓這個網(wǎng)絡(luò)去做完全匹配。

全變差正則化:為使得輸出圖像比較平滑,我們遵循了前人在特征反演上的研究[6,20],超分辨率重建上的研究[48,49]并且使用了全變差正則化lTV(y)。(全變差正則化一般用在信號去噪)

四. 實驗

我們實驗了兩個圖像變換任務(wù):風(fēng)格轉(zhuǎn)換和單圖超分辨率重建。風(fēng)格轉(zhuǎn)換中,前人使用優(yōu)化來生成的圖像,我們的前饋網(wǎng)絡(luò)產(chǎn)生類似的定性結(jié)果,但速度快了三個數(shù)量級。單圖像超分辨率中,用了卷積神經(jīng)網(wǎng)絡(luò)的都用的逐像素求差的損失,我們展示了令人振奮的的有質(zhì)量的結(jié)果,通過改用感知損失。

4.1風(fēng)格轉(zhuǎn)換

風(fēng)格轉(zhuǎn)換的目標(biāo)是產(chǎn)生一張圖片,既有著內(nèi)容圖的內(nèi)容信息,又有著風(fēng)格圖的風(fēng)格信息,我們?yōu)槊恳环N風(fēng)格訓(xùn)練了一個圖像轉(zhuǎn)換網(wǎng)絡(luò),這幾種風(fēng)格圖都是我們手工挑選的。然后把我們的結(jié)果和基礎(chǔ)Gatys的結(jié)果做了對比。

基線:作為基線,我們重現(xiàn)了Gatys等人得方法,給出風(fēng)格和內(nèi)容目標(biāo)ys和yc,層i和J表示特征和風(fēng)格重建。y通過解決下述問題來獲得。

λ開頭的都是參數(shù),y初始化為白噪聲,用LBFGS優(yōu)化。我們發(fā)現(xiàn),無約束的優(yōu)化方程通常會導(dǎo)致輸出圖片的像素值跑到[0,255]之外,做一個更公平的比較,對基線,我們用L-BFGS投影,每次迭代都把圖片y調(diào)整到[0,255],在大多數(shù)情況下,運算優(yōu)化在500次迭代之內(nèi)收斂到滿意的結(jié)果,這個方法比較慢因為每一個LBFGS迭代需要前饋再反饋通過VGG16網(wǎng)絡(luò)。

訓(xùn)練細(xì)節(jié):我們的風(fēng)格轉(zhuǎn)換網(wǎng)絡(luò)是用COCO數(shù)據(jù)集訓(xùn)練的,我們調(diào)整每一個圖像到256x256,共8萬張訓(xùn)練圖,batch-size=4,迭代40000次,大約跑了兩輪。用Adam優(yōu)化,初始學(xué)習(xí)速率0.001.輸出圖被用了全變量正則化(strength 在1e-6到1e-4之間),通過交叉驗證集選擇。不用權(quán)重衰減或者dropout,因為模型在這兩輪中沒有過擬合。對所有的風(fēng)格轉(zhuǎn)換實驗我們?nèi)elu2_2層做內(nèi)容,relu1_2,relu2_2,relu3_3和relu4_3作為風(fēng)格。VGG-16網(wǎng)絡(luò),我們的實驗用了Torch和cuDNN,訓(xùn)練用了大約4個小時,在一個GTX Titan X GPU上。

定性結(jié)果:在圖6中我們展示了結(jié)果的對比,比較了我們的記過和那些基礎(chǔ)方法,用了一些風(fēng)格和內(nèi)容圖。所有的參數(shù)λ都是一樣的,所有的訓(xùn)練集都是從MS-COCO2014驗證集里抽選的。我們的方法能達(dá)到和基本方法一樣的質(zhì)量。

盡管我們的模型是用256x256的圖片訓(xùn)練的,但在測試時候可以用在任何圖像上面,在圖7中我們展示了一些測試用例,用我們的模型訓(xùn)練512大小的圖片

圖6,用我們的圖像生成網(wǎng)絡(luò)做圖像風(fēng)格轉(zhuǎn)換。我們的結(jié)果和Gatys相似,但是更快(看表1)。所有生成圖都是256x256的
圖7我們的網(wǎng)絡(luò)在512x512圖上的測試樣例,模型用一個全卷積操作來達(dá)成高分辨率的圖像(測試時),風(fēng)格圖和圖6一樣。

通過這些結(jié)果可以明確的是,風(fēng)格轉(zhuǎn)換網(wǎng)絡(luò)能意識到圖像的語義內(nèi)容。舉個例子,在圖7中的海灘圖像,人們是很明顯的被識別了出來,但背景被風(fēng)格扭曲了;同樣的,貓臉很明顯的被識別了出來,但他的身體并沒有被識別出來。一個解釋是:VGG16網(wǎng)絡(luò)是被訓(xùn)練用來分類的,所以對于圖片的主體(人類和動物)的識別要比那些背景保留完整的多。

定量結(jié)果:基本方法和我們的方法都是使公式5最小化。基本方法針對一張圖進(jìn)行明確的優(yōu)化(針對要輸出的圖像)我們的方法訓(xùn)練一個解決方案(能在前饋中處理任意一張圖片Yc)我們可以量化的比較這兩種方法,通過衡量它們成功減少代價函數(shù)的幅度。(公式5)

我們用我們的方法和它們的方法一起訓(xùn)練了五十張圖片(從MSCOCO驗證集中得到)使用The Muse by Pablo Picasso當(dāng)作一個風(fēng)格圖。對于基礎(chǔ)方法我們記錄了函數(shù)在每一個迭代過程的值。對我們的方法我們對每一張圖片記錄了公式5的值。我們還計算了公式5的值,當(dāng)y和輸出圖像yc相等時,結(jié)果顯示在表5,我們看到內(nèi)容圖Yc達(dá)到了非常高的損失,和我們的方法在50-100之間差不多。

盡管我們的網(wǎng)絡(luò)用256x256的尺寸訓(xùn)練的,但他們在512,1024的情況下都能成功的使代價函數(shù)最小化,結(jié)果展示在表5中。我們可以看到哪怕在高分辨率下,和普通方法達(dá)成相同損失的時間也差不多。

表1 速度(秒級)的比較:我們的網(wǎng)絡(luò)vs普通的基于優(yōu)化的網(wǎng)絡(luò)。我們的方法能給出相似質(zhì)量的結(jié)果,(看圖6)但能加速百倍。兩種方法都是在GTX TitanX GPU上測試的。

速度:在表1中我們比較了運行的時間(我們的方法和基礎(chǔ)方法)對于基礎(chǔ)方法,我們記錄了時間,對所有的圖像大小比對,我們可以看出我們方法的運行時間大致是基本方法迭代一次時間的一半。跟基本方法500次迭代的相比,我們的方法快了三個數(shù)量級。我們的方法在20fps里產(chǎn)生512x512的圖片,讓他可能應(yīng)用在實時圖像轉(zhuǎn)換或者視頻中。

4.2 單圖超分辨率重建

在單圖超分辨率重建中,任務(wù)是從一個低分辨率的輸入,去產(chǎn)生一個高分辨率的輸出圖片。這是一個固有的病態(tài)問題,因為對一個低分辨率圖像,有可能對應(yīng)著很多種高分辨率的圖像。當(dāng)超分辨率因子變大時,這個不確定性會變得更大。對于更大的因子(x4 x8),高分辨率圖像中的好的細(xì)節(jié)很可能只有一丁點或者根本沒有出現(xiàn)在它的低分辨率版本中。

為了解決這個問題,我們訓(xùn)練了超分辨率重建網(wǎng)絡(luò),不使用過去使用的逐像素差損失函數(shù),取而代之的是一個特征重建損失函數(shù)(看section 3)以保證語義信息可以從預(yù)訓(xùn)練好的損失網(wǎng)絡(luò)中轉(zhuǎn)移到超分辨率網(wǎng)絡(luò)。我們重點關(guān)注x4和x8的超分辨率重建,因為更大的因子需要更多的語義信息。

傳統(tǒng)的指標(biāo)來衡量超分辨率的是PSNR和SSIM,兩者都和人類的視覺質(zhì)量沒什么相關(guān)的[55,56,57,58,59].PSNR和SSIM僅僅依賴于像素間低層次的差別,并在高斯噪聲的相乘下作用,這可能是無效的超分辨率。另外的,PSNR是相當(dāng)于逐像素差的,所以用PSNR衡量的模型訓(xùn)練過程是讓逐像素?fù)p失最小化。因此我們強(qiáng)調(diào),這些實驗的目標(biāo)并不是實現(xiàn)先進(jìn)的PSNR和SSIM結(jié)果,而是展示定性的質(zhì)量差別(逐像素?fù)p失函數(shù)vs感知損失)

模型細(xì)節(jié):我們訓(xùn)練模型來完成x4和x8的超分辨率重建,通過最小化特征損失(用vgg16在relu2_2層提取出),用了288x288的小塊(1萬張MSCOCO訓(xùn)練集),準(zhǔn)備了低分辨率的輸入,用高斯核模糊的(σ=1.0)下采樣用了雙立方插值。我們訓(xùn)練時bacth-size=4,訓(xùn)練了20萬次,Adam,學(xué)習(xí)速率0.001,無權(quán)重衰減,無dropout。作為一個后續(xù)處理步驟,我們執(zhí)行網(wǎng)絡(luò)輸出和低分辨率輸入的直方圖匹配。

基礎(chǔ):基本模型我們用的 SRCNN[1] 為了它優(yōu)秀的表現(xiàn),SRCNN是一個三層的卷積網(wǎng)絡(luò),損失函數(shù)是逐像素求差,用的ILSVRC2013數(shù)據(jù)集中的33x33的圖片。SRCNN沒有訓(xùn)練到x8倍,所以我們只能評估x4時的差異。

SRCNN訓(xùn)練了超過1億次迭代,這在我們的模型上是不可能實現(xiàn)的。考慮到二者的差異(SRCNN和我們的模型),在數(shù)據(jù),訓(xùn)練,結(jié)構(gòu)上的差異。我們訓(xùn)練圖片轉(zhuǎn)換網(wǎng)絡(luò)x4,x8用了逐像素求差的損失函數(shù),這些網(wǎng)絡(luò)使用相同搞得數(shù)據(jù),結(jié)構(gòu),訓(xùn)練網(wǎng)絡(luò)去減少lfeat評測:我們評測了模型,在標(biāo)準(zhǔn)的集合5[60],集合6[61],BSD100[41]數(shù)據(jù)集,我們報告的PSNR和SSIM[54],都只計算了在Y通道上的(當(dāng)轉(zhuǎn)換成YCbCr顏色空間后),跟[1,39]一樣。

結(jié)果:我們展示了x4倍超分辨率重建的結(jié)果(圖8),和其他的方法相比,我們的模型用特征重建訓(xùn)練的,得到了很好的結(jié)果,尤其是在鋒銳的邊緣和好的細(xì)節(jié),比如圖1的眼睫毛,圖2帽子的細(xì)節(jié)元素。特征重建損失在放大下引起輕微的交叉陰影圖案,和基礎(chǔ)方法比起來更好。

x8倍放大展示在圖9中,我們又一次看到我們的模型在邊緣和細(xì)節(jié)上的優(yōu)秀。比如那個馬的腳。lfeat模型不會無差別的銳化邊緣;和lpixel模型相比,lfeat模型銳化了馬和騎士的邊緣,但是北京的樹并沒被銳化。可能是因為lfeat模型更關(guān)注圖像的語義信息。

因為我們的Lpixel和lfeat模型有著相同的結(jié)構(gòu),數(shù)據(jù),和訓(xùn)練過程,所以所有的差別都是因為lpixel和lfeat的不同導(dǎo)致的。lpixel給出了更低的視覺效果,更高的PSNR值,而lfeat在重建細(xì)節(jié)上有著更好的表現(xiàn),有著很好的視覺結(jié)果。

5. 結(jié)論

在這篇文章中,我們結(jié)合了前饋網(wǎng)絡(luò)和基于優(yōu)化的方法的好處,通過用感知損失函數(shù)來訓(xùn)練前饋網(wǎng)絡(luò)。我們對風(fēng)格轉(zhuǎn)換應(yīng)用了這個方法達(dá)到了很好的表現(xiàn)和速度。對超分辨率重建運用了這個方法,證明了用感知損失來訓(xùn)練,能帶來更多好的細(xì)節(jié)和邊緣。

未來的工作中,我們期望把感知損失函數(shù)用在更多其他的圖像轉(zhuǎn)換任務(wù)中,如上色或者語義檢測。我們還打算研究不同損失網(wǎng)絡(luò)用于不同的任務(wù),或者更多種不同的語義信息的數(shù)據(jù)集

References

  1. Dong, C., Loy, C.C., He, K., Tang, X.: Image super-resolution using deep convo-lutional networks. (2015)
  1. Cheng, Z., Yang, Q., Sheng, B.: Deep colorization. In: Proceedings of the IEEEInternational Conference on Computer Vision. (2015) 415{423
  2. Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semanticsegmentation. CVPR (2015)
  3. Eigen, D., Puhrsch, C., Fergus, R.: Depth map prediction from a single imageusing a multi-scale deep network. In: Advances in Neural Information ProcessingSystems. (2014) 2366{2374
  4. Eigen, D., Fergus, R.: Predicting depth, surface normals and semantic labels witha common multi-scale convolutional architecture. In: Proceedings of the IEEEInternational Conference on Computer Vision. (2015) 2650{2658
  5. Mahendran, A., Vedaldi, A.: Understanding deep image representations by invert-ing them. In: Proceedings of the IEEE Conf. on Computer Vision and PatternRecognition (CVPR). (2015)
  6. Simonyan, K., Vedaldi, A., Zisserman, A.: Deep inside convolutional net-works: Visualising image classi_cation models and saliency maps. arXiv preprintarXiv:1312.6034 (2013)
  7. Yosinski, J., Clune, J., Nguyen, A., Fuchs, T., Lipson, H.: Understanding neuralnetworks through deep visualization. arXiv preprint arXiv:1506.06579 (2015)
  8. Gatys, L.A., Ecker, A.S., Bethge, M.: Texture synthesis using convolutional neuralnetworks. In: Advances in Neural Information Processing Systems 28. (May 2015)
  9. Gatys, L.A., Ecker, A.S., Bethge, M.: A neural algorithm of artistic style. arXivpreprint arXiv:1508.06576 (2015)
  10. Dong, C., Loy, C.C., He, K., Tang, X.: Learning a deep convolutional networkfor image super-resolution. In: Computer Vision{ECCV 2014. Springer (2014)184{199
  11. Farabet, C., Couprie, C., Najman, L., LeCun, Y.: Learning hierarchical featuresfor scene labeling. Pattern Analysis and Machine Intelligence, IEEE Transactionson 35(8) (2013) 1915{1929
  12. Pinheiro, P.H., Collobert, R.: Recurrent convolutional neural networks for sceneparsing. arXiv preprint arXiv:1306.2795 (2013)
  13. Noh, H., Hong, S., Han, B.: Learning deconvolution network for semantic segmen-tation. arXiv preprint arXiv:1505.04366 (2015)
  14. Zheng, S., Jayasumana, S., Romera-Paredes, B., Vineet, V., Su, Z., Du, D., Huang,C., Torr, P.H.: Conditional random _elds as recurrent neural networks. In: Proceed-ings of the IEEE International Conference on Computer Vision. (2015) 1529{1537
  15. Liu, F., Shen, C., Lin, G.: Deep convolutional neural _elds for depth estimationfrom a single image. In: Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition. (2015) 5162{5170
  16. Wang, X., Fouhey, D., Gupta, A.: Designing deep networks for surface normalestimation. In: Proceedings of the IEEE Conference on Computer Vision andPattern Recognition. (2015) 539{547
  17. Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., Fer-gus, R.: Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199(2013)
  18. Nguyen, A., Yosinski, J., Clune, J.: Deep neural networks are easily fooled: Highcon_dence predictions for unrecognizable images. In: Computer Vision and PatternRecognition (CVPR), 2015 IEEE Conference on, IEEE (2015) 427-436
  19. d'Angelo, E., Alahi, A., Vandergheynst, P.: Beyond bits: Reconstructing imagesfrom local binary descriptors. In: Pattern Recognition (ICPR), 2012 21st Interna-tional Conference on, IEEE (2012) 935{938
  20. Vondrick, C., Khosla, A., Malisiewicz, T., Torralba, A.: Hoggles: Visualizing ob-ject detection features. In: Proceedings of the IEEE International Conference onComputer Vision. (2013) 1{8
  21. Dosovitskiy, A., Brox, T.: Inverting visual representations with convolutional net-works. arXiv preprint arXiv:1506.02753 (2015)
  22. Yang, C.Y., Ma, C., Yang, M.H.: Single-image super-resolution: a benchmark. In:Computer Vision{ECCV 2014. Springer (2014) 372{386
  23. Irani, M., Peleg, S.: Improving resolution by image registration. CVGIP: Graphicalmodels and image processing 53(3) (1991) 231{239
  24. Freedman, G., Fattal, R.: Image and video upscaling from local self-examples.ACM Transactions on Graphics (TOG) 30(2) (2011) 12
  25. Sun, J., Sun, J., Xu, Z., Shum, H.Y.: Image super-resolution using gradient pro_leprior. In: Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEEConference on, IEEE (2008) 1{8
  26. Shan, Q., Li, Z., Jia, J., Tang, C.K.: Fast image/video upsampling. In: ACMTransactions on Graphics (TOG). Volume 27., ACM (2008) 153
  27. Kim, K.I., Kwon, Y.: Single-image super-resolution using sparse regression andnatural image prior. Pattern Analysis and Machine Intelligence, IEEE Transactionson 32(6) (2010) 1127{1133
  28. Xiong, Z., Sun, X., Wu, F.: Robust web image/video super-resolution. ImageProcessing, IEEE Transactions on 19(8) (2010) 2017{2028
  29. Freeman, W.T., Jones, T.R., Pasztor, E.C.: Example-based super-resolution. Com-puter Graphics and Applications, IEEE 22(2) (2002) 56{65
  30. Chang, H., Yeung, D.Y., Xiong, Y.: Super-resolution through neighbor embedding.In: Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings ofthe 2004 IEEE Computer Society Conference on. Volume 1., IEEE (2004) I{I
  31. Glasner, D., Bagon, S., Irani, M.: Super-resolution from a single image. In: Com-puter Vision, 2009 IEEE 12th International Conference on, IEEE (2009) 349{356
  32. Yang, J., Lin, Z., Cohen, S.: Fast image super-resolution based on in-place exam-ple regression. In: Proceedings of the IEEE Conference on Computer Vision andPattern Recognition. (2013) 1059{1066
  33. Sun, J., Zheng, N.N., Tao, H., Shum, H.Y.: Image hallucination with primal sketchpriors. In: Computer Vision and Pattern Recognition, 2003. Proceedings. 2003IEEE Computer Society Conference on. Volume 2., IEEE (2003) II{729
  34. Ni, K.S., Nguyen, T.Q.: Image superresolution using support vector regression.Image Processing, IEEE Transactions on 16(6) (2007) 1596{1610
  35. He, L., Qi, H., Zaretzki, R.: Beta process joint dictionary learning for coupledfeature spaces with application to single image super-resolution. In: Proceedingsof the IEEE Conference on Computer Vision and Pattern Recognition. (2013) 345{352
  36. Yang, J., Wright, J., Huang, T., Ma, Y.: Image super-resolution as sparse repre-sentation of raw image patches. In: Computer Vision and Pattern Recognition,2008. CVPR 2008. IEEE Conference on, IEEE (2008) 1{8
  37. Yang, J., Wright, J., Huang, T.S., Ma, Y.: Image super-resolution via sparserepresentation. Image Processing, IEEE Transactions on 19(11) (2010) 2861{2873
  38. Timofte, R., De Smet, V., Van Gool, L.: A+: Adjusted anchored neighborhoodregression for fast super-resolution. In: Computer Vision{ACCV 2014. Springer(2014) 111{126
  39. Schulter, S., Leistner, C., Bischof, H.: Fast and accurate image upscaling withsuper-resolution forests. In: Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition. (2015) 3791{3799
  40. Huang, J.B., Singh, A., Ahuja, N.: Single image super-resolution from transformedself-exemplars. In: Computer Vision and Pattern Recognition (CVPR), 2015 IEEEConference on, IEEE (2015) 5197{5206
  41. Radford, A., Metz, L., Chintala, S.: Unsupervised representation learn-ing with deep convolutional generative adversarial networks. arXiv preprintarXiv:1511.06434 (2015)
  42. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition.arXiv preprint arXiv:1512.03385 (2015)
  43. Gross, S., Wilber, M.: Training and investigating residual nets. http://torch.ch/blog/2016/02/04/resnets.html (2016)
  44. Io_e, S., Szegedy, C.: Batch normalization: Accelerating deep network trainingby reducing internal covariate shift. In: Proceedings of The 32nd InternationalConference on Machine Learning. (2015) 448{456
  45. Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scaleimage recognition. arXiv preprint arXiv:1409.1556 (2014)
  46. Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z.,Karpathy, A., Khosla, A., Bernstein, M., Berg, A.C., Fei-Fei, L.: ImageNet LargeScale Visual Recognition Challenge. International Journal of Computer Vision(IJCV) 115(3) (2015) 211{252
  47. Aly, H.A., Dubois, E.: Image up-sampling using total-variation regularization witha new observation model. Image Processing, IEEE Transactions on 14(10) (2005)1647{1659
  48. Zhang, H., Yang, J., Zhang, Y., Huang, T.S.: Non-local kernel regression for imageand video restoration. In: Computer Vision{ECCV 2010. Springer (2010) 566{579
  49. Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Doll_ar, P.,Zitnick, C.L.: Microsoft coco: Common objects in context. In: Computer Vision{ECCV 2014. Springer (2014) 740{755
  50. Kingma, D., Ba, J.: Adam: A method for stochastic optimization. arXiv preprintarXiv:1412.6980 (2014)
  51. Collobert, R., Kavukcuoglu, K., Farabet, C.: Torch7: A matlab-like environmentfor machine learning. In: BigLearn, NIPSWorkshop. Number EPFL-CONF-192376(2011)
  52. Chetlur, S., Woolley, C., Vandermersch, P., Cohen, J., Tran, J., Catanzaro, B.,Shelhamer, E.: cudnn: E_cient primitives for deep learning. arXiv preprintarXiv:1410.0759 (2014)
  53. Wang, Z., Bovik, A.C., Sheikh, H.R., Simoncelli, E.P.: Image quality assessment:from error visibility to structural similarity. Image Processing, IEEE Transactionson 13(4) (2004) 600{612
  54. Hanhart, P., Korshunov, P., Ebrahimi, T.: Benchmarking of quality metrics onultra-high de_nition video sequences. In: Digital Signal Processing (DSP), 201318th International Conference on, IEEE (2013) 1{8
  55. Wang, Z., Bovik, A.C.: Mean squared error: love it or leave it? a new look at signal_delity measures. Signal Processing Magazine, IEEE 26(1) (2009) 98{117
  56. Huynh-Thu, Q., Ghanbari, M.: Scope of validity of psnr in image/video qualityassessment. Electronics letters 44(13) (2008) 800{801
  57. Sheikh, H.R., Sabir, M.F., Bovik, A.C.: A statistical evaluation of recent full refer-ence image quality assessment algorithms. Image Processing, IEEE Transactionson 15(11) (2006) 3440{3451
  58. Kundu, D., Evans, B.L.: Full-reference visual quality assessment for syntheticimages: A subjective study. Proc. IEEE Int. Conf. on Image Processing (2015)
  59. Bevilacqua, M., Roumy, A., Guillemot, C., Alberi-Morel, M.L.: Low-complexitysingle-image super-resolution based on nonnegative neighbor embedding. (2012)
  60. Zeyde, R., Elad, M., Protter, M.: On single image scale-up using sparse-representations. In: Curves and Surfaces. Springer (2010) 711-730

(注:感謝您的閱讀,希望本文對您有所幫助。如果覺得不錯歡迎分享轉(zhuǎn)載,但請先點擊 這里 獲取授權(quán)。本文由 版權(quán)印 提供保護(hù),禁止任何形式的未授權(quán)違規(guī)轉(zhuǎn)載,謝謝!)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容