論文閱讀(50)StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation

1. 論文相關(guān)

CVPR2018

image.png

2.摘要

2.1 摘要

最近的研究表明,在圖像到圖像的兩個領(lǐng)域的翻譯取得了顯著的成功。然而昔善,現(xiàn)有的方法在處理兩個以上的域時具有有限的可伸縮性和健壯性淹禾,因為每對圖像域都應該獨立地構(gòu)建不同的模型。為了解決這一局限性,我們提出了StarGAN最爬,一種新的涉馁、可擴展的方法,它可以僅使用一個模型對多個域執(zhí)行圖像到圖像的轉(zhuǎn)換烂叔。StarGAN的這種統(tǒng)一模型體系結(jié)構(gòu)允許在單個網(wǎng)絡中同時訓練具有不同域的多個數(shù)據(jù)集谨胞。這導致了與現(xiàn)有模型相比,StarGAN具有更高的翻譯圖像質(zhì)量蒜鸡,以及靈活地將輸入圖像翻譯到任何所需目標域的新能力胯努。我們的實驗證明了我們的方法在面部屬性轉(zhuǎn)移和面部表情合成任務上的有效性。

2.2 主要貢獻

總的來說逢防,我們的貢獻如下:
(1)我們提出StarGAN叶沛,一種新的生成對抗網(wǎng)絡,它只使用一個生成器和一個判別器來學習多個域之間的映射忘朝,從所有域的圖像中有效地訓練灰署。
(2)我們演示了如何利用掩碼向量方法(mask vector method)成功地學習多個數(shù)據(jù)集之間的多域圖像轉(zhuǎn)換,該方法使StarGAN能夠控制所有可用的域標簽局嘁。
(3)我們使用StarGAN提供了面部屬性轉(zhuǎn)移和面部表情合成任務的定性和定量結(jié)果溉箕,顯示了其相對于基線模型的優(yōu)勢。

image.png

2.3 相關(guān)工作

(1)
(2)

3.星生對抗網(wǎng)絡(Star Generative Adversarial Networks)

我們首先描述了我們提出的StarGAN悦昵,一個在單個數(shù)據(jù)集中處理多域圖像到圖像轉(zhuǎn)換的框架肴茄。然后,我們討論了StarGAN如何合并包含不同標簽集的多個數(shù)據(jù)集但指,以便使用這些標簽靈活地執(zhí)行圖像翻譯寡痰。

3.1. 多域圖像到圖像轉(zhuǎn)換(MultiDomain ImagetoImage Translation)

我們的目標是訓練一個單一的生成器G來學習多個域之間的映射。為了達到這一目的棋凳,我們訓練G將輸入圖像x轉(zhuǎn)換成基于目標域標簽c,G(x拦坠,c)→y的輸出圖像y。我們隨機生成目標域標簽c剩岳,以便G學習靈活地轉(zhuǎn)換輸入圖像贞滨。我們還引入了一個輔助分類器(auxiliary classifier)[22],它允許單個判別器控制多個域拍棕。也就是說晓铆,我們的判別器在源和域標簽上產(chǎn)生概率分布(probability distributions):

image.png

圖3說明了我們提出的方法的訓練過程。


image.png
3.1.1 對抗性損失(Adversarial Loss)

為了使生成的圖像與真實圖像無法區(qū)分莫湘,我們采用了對抗性損失尤蒿。


image.png

其中,根據(jù)輸入圖像x和目標域標簽c生成器G生成圖像G(x幅垮,c)腰池,同時D嘗試區(qū)分真實圖像和偽圖像。在本文中,我們將D_{src}(x)項稱為源D上的概率分布示弓。生成器G嘗試最小化此目標讳侨,而判別器D嘗試將其最大化。

3.1.2 域分類損失(Domain Classification Loss)

對于給定的輸入圖像x和目標域標簽c奏属,我們的目標是將x轉(zhuǎn)換為輸出圖像y跨跨,并將其正確分類到目標域c。為了達到這個條件囱皿,我們在判別器D的基礎上增加了一個輔助分類器勇婴,并在對GD進行優(yōu)化時施加域分類損失。也就是說嘱腥,我們將目標分解為兩項:一項是用于優(yōu)化D的真實圖像的域分類損失耕渴,另一項是用于優(yōu)化G的偽圖像的域分類損失。具體來說齿兔,前者定義為:

image.png

其中橱脸,D_{cls}(c'|x)項表示由D計算的域標簽上的概率分布。通過最小化此目標分苇,D學習將真實圖像分類到其對應的原始域c'添诉。我們假設輸入圖像和域標簽對(x,c')由訓練數(shù)據(jù)給出医寿。另一方面栏赴,偽圖像區(qū)域分類的損失函數(shù)定義為

image.png

換言之,G嘗試最小化此目標以生成可分類為目標域c的圖像糟红。

3.1.3 重構(gòu)損失(Reconstruction Loss)

通過最小化對抗和分類損失艾帐,訓練G生成真實的圖像乌叶,并將其分類到正確的目標域盆偿。然而,最小化損失(等式(1)和(3))并不保證翻譯后的圖像在只改變輸入的與域相關(guān)的部分的同時保留其輸入圖像的內(nèi)容准浴。為了緩解這個問題事扭,我們對生成器應用循環(huán)一致性損失(cycle consistency loss)[9,33],定義為:

image.png

其中G接受翻譯圖像G(x乐横,c)和原始域標簽c'作為輸入并嘗試重建原始圖像x求橄。我們采用L1范數(shù)作為重建損失。注意葡公,我們使用一個生成器兩次罐农,首先將原始圖像轉(zhuǎn)換為目標域中的圖像,然后從轉(zhuǎn)換后的圖像重建原始圖像催什。

3.1.4 完整的目標函數(shù) (Full Objective)

最后涵亏,要優(yōu)化的目標函數(shù)GD分別寫為:

image.png

其中\lambda_{cls}\lambda_{rec}是分別控制域分類和重建損失相對于對抗損失的相對重要性的超參數(shù)。我們在所有的實驗中使用\lambda_{cls}=1\lambda_{rec}=10

3.2. 多數(shù)據(jù)集訓練(Training with Multiple Datasets)

StarGAN的一個重要優(yōu)點是它同時合并了包含不同類型標簽的多個數(shù)據(jù)集气筋,因此StarGAN可以在測試階段控制所有標簽拆内。然而,從多個數(shù)據(jù)集學習時的一個問題是宠默,每個數(shù)據(jù)集只知道部分標簽信息麸恍。在CelebA[19]和RaFD[13]的例子中,前者包含頭發(fā)顏色和性別等屬性的標簽搀矫,而前者沒有任何面部表情的標簽抹沪,例如“高興”和“生氣”,后者則相反瓤球。這是有問題的采够,因為當從翻譯的圖像G(x,c)重建輸入圖像時冰垄,需要標簽向量c'的完整信息(見公式(4))蹬癌。

3.2.1 掩模向量(Mask Vector)

為了緩解這個問題,我們引入了一個掩碼向量m虹茶,它允許StarGAN忽略未指定的標簽逝薪,并關(guān)注由特定數(shù)據(jù)集提供的顯式已知標簽。在StarGAN中蝴罪,我們使用n維獨熱向量(n-dimensional one-hot vector)來表示董济,n即數(shù)據(jù)集的數(shù)量。此外要门,我們將標簽的統(tǒng)一版本定義為向量:

image.png

其中[·]表示連接(concatenation)虏肾,c_i表示第i個數(shù)據(jù)集標簽的向量。已知標簽的向量可以表示為二進制屬性的二進制向量或類別屬性的一個熱向量欢搜。對于剩下的n-1個未知標簽封豪,我們只需分配零值。在我們的實驗中炒瘟,我們使用了CelebA和RaFD數(shù)據(jù)集吹埠,n=2。

3.2.2 訓練策略(Training Strategy)

當使用多個數(shù)據(jù)集訓練StarGAN時疮装,我們使用等式(7)中定義的域標簽\tilde{c}作為生成器的輸入缘琅。通過這樣做,生成器將學習忽略未指定(unspecified labels)的標簽(零向量)廓推,并專注于顯式給定的標簽刷袍。生成器的結(jié)構(gòu)與使用單個數(shù)據(jù)集進行訓練時的結(jié)構(gòu)完全相同,但輸入標簽\tilde{c}的尺寸除外樊展。另一方面呻纹,我們擴展了判別器的輔助分類器鸽心,為所有數(shù)據(jù)集生成標簽上的概率分布。然后居暖,我們在多任務學習環(huán)境中訓練該模型顽频,其中判別器嘗試僅最小化與已知標簽相關(guān)聯(lián)的分類錯誤。例如太闺,當使用CelebA中的圖像進行訓練時糯景,判別器僅最小化與CelebA屬性相關(guān)的標簽的分類錯誤,而不最小化與RaFD相關(guān)的面部表情的分類錯誤省骂。在這些設置下蟀淮,通過在CelebA和RaFD之間交替,判別器學習兩個數(shù)據(jù)集中的所有判別特征钞澳,生成器學習控制兩個數(shù)據(jù)集中的所有標簽怠惶。

image.png

4.實現(xiàn)(Implementation)

4.1 改進了gan訓練(Improved GAN Training)

為了穩(wěn)定訓練過程并生成更高質(zhì)量的圖像,我們將等式(1)替換為有梯度懲罰的Wasserstein GAN目標轧粟,定義為:

image.png

其中策治,\hat{x}是沿著一對真實圖像和生成的圖像之間的直線均勻地采樣。我們對所有實驗使用\lambda_{gp}=10兰吟。

4.2 網(wǎng)絡架構(gòu)(Network Architecture)

根據(jù)CycleGAN[33]改編通惫,StarGAN具有由兩個卷積層組成的生成器網(wǎng)絡,其中兩個卷積層的步長為2(用于下采樣)混蔼、六個殘差塊(six residual blocks)[5]和兩個轉(zhuǎn)置卷積層的步長為2(用于上采樣)履腋。我們對生成器使用實例規(guī)范化(instance normalization)[29],但對判別器不使用規(guī)范化惭嚣。我們利用PatchGAN[7遵湖,15,33]作為判別器網(wǎng)絡晚吞,它對局部圖像patches是真是假進行分類延旧。有關(guān)網(wǎng)絡體系結(jié)構(gòu)的詳細信息,請參閱附錄(第7.2節(jié))载矿。

5. 實驗

在這一部分中垄潮,我們首先通過進行用戶研究來比較StarGAN和最近的面部屬性轉(zhuǎn)移方法烹卒。接下來闷盔,我們對人臉表情合成進行分類實驗。最后旅急,我們證明了StarGAN可以從多個數(shù)據(jù)集學習圖像到圖像的轉(zhuǎn)換逢勾。我們所有的實驗都是在訓練階段用看不見的圖像輸出的模型進行的。

5.1. 基線模型(Baseline Models)

作為我們的基線模型藐吮,我們采用DIAT[16]和Cycle-GAN[33]溺拱,這兩個模型都在兩個不同的域之間執(zhí)行圖像到圖像的轉(zhuǎn)換逃贝。為了進行比較,我們?yōu)槊恳粚蓚€不同的域多次訓練這些模型迫摔。我們還采用IcGAN[23]作為基線沐扳,它可以使用cGAN[22]執(zhí)行屬性轉(zhuǎn)移。

DIAT使用一個對抗損失來學習從x∈Xy∈Y的映射句占,其中xy分別是兩個不同域XY中的人臉圖像沪摄。該方法在映射上的正則化項為||x-F(G(x))||_1,以保持源圖像的身份特征纱烘,其中F是在人臉識別任務中預先訓練的特征提取器杨拐。

CycleGAN還使用對抗性損失來學習兩個不同域XY之間的映射。該方法通過循環(huán)一致性損失對映射進行正則化擂啥。

image.png

這種方法需要兩個生成器和判別器為每對不同的域哄陶。

IcGAN將編碼器與cGAN[22]模型結(jié)合起來。cGAN學習映射:G:\{ z哺壶,c\}→x屋吨,該映射生成一個同時基于潛在向量z和條件向量c的圖像x。此外山宾,IcGAN還引入了一個編碼器來學習cGAN的逆映射离赫,E_z:x→zE_c:x→c,這使得IcGAN只需改變條件向量和保留潛在向量就可以合成圖像塌碌。

image.png

5.2. 數(shù)據(jù)集(Datasets)

5.2.1 CelebA

CelebFaces Attributes(CelebA)數(shù)據(jù)集[19]包含202599個名人的面部圖像渊胸,每個圖像都帶有40個二進制屬性。我們將初始大小為178×218的圖像裁剪為178×178台妆,然后將其大小調(diào)整為128×128翎猛。我們隨機選取2000幅圖像作為測試集,利用所有剩余圖像作為訓練數(shù)據(jù)接剩。我們使用以下屬性構(gòu)建七個域:頭發(fā)顏色(黑色切厘、金色、棕色)懊缺、性別(男性/女性)和年齡(年輕/年老)疫稿。

5.2.2 RaFD

Radboud Faces Database(RaFD)[13]包含從67名參與者收集的4824張圖像。每個參與者在三個不同的注視方向做八個面部表情鹃两,從三個不同的角度捕捉遗座。我們將圖像裁剪為256×256,其中人臉居中俊扳,然后將其大小調(diào)整為128×128途蒋。

5.3. 訓練

所有的模型都使用Adam[11]進行訓練,其值分別為\beta_1=0.5\beta_2=0.999馋记。對于數(shù)據(jù)增強号坡,我們以0.5的概率水平翻轉(zhuǎn)圖像懊烤。我們在五次判別器更新后執(zhí)行一次生成器更新,如[4]所示宽堆。所有實驗的批大小都設置為16腌紧。在CelebA上的實驗中,我們在前10個階段訓練所有學習率為0.0001的模型畜隶,并在后10個階段將學習率線性衰減為0寄啼。為了彌補數(shù)據(jù)的不足,在使用RaFD進行訓練時代箭,我們對所有模型進行100個階段的訓練墩划,學習率為0.0001,并在接下來的100個階段應用相同的衰減策略嗡综。在一臺NVIDIA Tesla M40 GPU上訓練大約需要一天乙帮。

5.4. CelebA的實驗結(jié)果(Experimental Results on CelebA)

我們首先將所提出的方法與單屬性和多屬性遷移任務的基線模型進行比較〖埃考慮到所有可能的屬性值對察净,我們對DIAT 和 CycleGAN等跨域模型進行了多次訓練。在DIAT 和 CycleGAN的情況下盼樟,我們執(zhí)行多步驟轉(zhuǎn)換以合成多個屬性(例如氢卡,在更改頭發(fā)顏色后遷移性別屬性)。

5.4.1 定性評估(Qualitative evaluation)

圖4顯示了CelebA上的面部屬性轉(zhuǎn)移結(jié)果晨缴。我們觀察到译秦,與跨域模型相比,我們的方法在測試數(shù)據(jù)上提供了更高的翻譯結(jié)果的視覺質(zhì)量击碗。一個可能的原因是StarGAN通過多任務學習框架的正則化效應筑悴。換言之,與其訓練模型執(zhí)行容易過度擬合的固定翻譯(如棕色到金發(fā))稍途,不如訓練模型根據(jù)目標域的標簽靈活地翻譯圖像阁吝。這使得我們的模型能夠?qū)W習適用于具有不同面部屬性值的圖像的多個域的可靠特征。

此外械拍,與IcGAN相比突勇,我們的模型在保留輸入的面部特征方面顯示出優(yōu)勢。我們推測這是因為我們的方法通過使用卷積層的激活圖作為潛在的表示來維護空間信息坷虑,而不是像IcGAN那樣僅僅使用低維的潛在向量甲馋。

5.4.2 定量評估方案(Quantitative evaluation protocol)

為了進行定量評估,我們使用Amazon Mechanical Turk (AMT)對單屬性和多屬性遷移任務(attribute transfer tasks)進行了兩次用戶研究猖吴。在給定輸入圖像的情況下摔刁,Turker被要求根據(jù)感知現(xiàn)實、屬性轉(zhuǎn)換質(zhì)量和保持人物的原始身份來選擇最佳生成圖像海蔽。這些選項是從四種不同方法生成的四個隨機排序圖像共屈。在一項研究中生成的圖像在頭發(fā)顏色(黑色、金色党窜、棕色)拗引、性別或年齡上都有一個屬性轉(zhuǎn)移。在另一項研究中幌衣,生成的圖像包含屬性傳輸?shù)慕M合矾削。每個Turker被問30到40個問題,其中有幾個簡單但合乎邏輯的問題來驗證人類的努力豁护。在每個用戶研究中哼凯,在單次和多次轉(zhuǎn)移任務中,驗證的Turker數(shù)量分別為146和100楚里。

5.4.3 定量結(jié)果

表1和表2分別顯示了我們在單屬性和多屬性傳輸任務上的AMT實驗結(jié)果断部。在所有情況下,StarGAN獲得了最佳轉(zhuǎn)移屬性的多數(shù)選票班缎。在表1中性別變化的情況下蝴光,我們的模型和其他模型之間的投票差異是微乎其微的(marginal),例如达址,StarGAN的39.1%對DIAT的31.4%蔑祟。然而,在多屬性變化中沉唠,例如表2中的‘G+A’情況疆虚,性能差異變得顯著,例如满葛,StarGAN的49.8%與IcGAN的20.3%装蓬,清楚地顯示了StarGAN在更復雜的多屬性轉(zhuǎn)移任務中的優(yōu)勢。這是因為與其他方法不同纱扭,StarGAN可以通過在訓練階段隨機生成目標域標簽來處理涉及多個屬性變化的圖像轉(zhuǎn)換牍帚。

image.png
image.png
image.png

5.5. RaFD的實驗結(jié)果(Experimental Results on RaFD)

接下來,我們在rafd數(shù)據(jù)集上訓練我們的模型乳蛾,以學習合成面部表情的任務暗赶。為了比較stargan模型和基線模型,我們將輸入域固定為“中性”表達式肃叶,但目標域在其余七個表達式中有所不同蹂随。

定性評估。如圖5所示因惭,Stargan在正確維護輸入的個人身份和面部特征的同時岳锁,清晰地生成最自然的表情。雖然diat和cyclegan大多保留了輸入的身份蹦魔,但它們的許多結(jié)果顯示模糊激率,無法保持輸入中看到的銳度咳燕。icgan甚至無法通過生成男性圖像來保留圖像中的個人身份。

我們認為乒躺,stargan在圖像質(zhì)量方面的優(yōu)勢是由于其來自多任務學習環(huán)境的隱式數(shù)據(jù)增強效應招盲。rafd圖像包含相對較小的樣本,例如每個域500個圖像嘉冒。當在兩個域上訓練時曹货,diat和cyclegan一次只能使用1000個訓練圖像,但是stargan總共可以使用所有可用域中的4000個圖像進行訓練讳推。這使得stargan能夠正確地學習如何保持生成輸出的質(zhì)量和清晰度顶籽。

定量評估。為了進行定量評估银觅,我們計算了合成圖像上面部表情的分類誤差礼饱。我們使用resnet-18體系結(jié)構(gòu)在rafd數(shù)據(jù)集上訓練了一個面部表情分類器(訓練集和測試集的分割率為90%/10%),得到了接近完美的99.55%的準確率设拟。然后慨仿,我們使用相同的訓練集訓練每個圖像轉(zhuǎn)換模型,并在相同的纳胧、不可見的測試集上執(zhí)行圖像轉(zhuǎn)換镰吆。最后,我們使用上述分類器對這些翻譯圖像的表達進行分類跑慕。如表3所示万皿,我們的模型達到了最低的分類誤差,這表明我們的模型在所有比較方法中產(chǎn)生了最真實的面部表情核行。 方法參數(shù)分類誤差

image.png

我們模型的另一個重要優(yōu)點是所需參數(shù)數(shù)量的可伸縮性牢硅。表3的最后一列顯示,stargan學習所有翻譯所需的參數(shù)數(shù)量比diat小7倍芝雪,比cyclegan小14倍减余。這是因為stargan只需要一個生成器和鑒別器對,而不考慮域的數(shù)量惩系,而在跨域模型(如cyclegan)的情況下位岔,應該為每個源-目標域?qū)τ柧毻耆煌哪P汀?/p>

5.6. CelebA+RaFD的實驗結(jié)果(Experimental Results on CelebA+RaFD)

最后,我們的經(jīng)驗證明我們的模型不僅可以從單個數(shù)據(jù)集中的多個域?qū)W習堡牡,而且可以從多個數(shù)據(jù)集中學習抒抬。我們使用掩模向量在celeba和rafd數(shù)據(jù)集上聯(lián)合訓練模型(見第3.2節(jié))。為了區(qū)分只在rafd上訓練的模型和同時在celeba和rafd上訓練的模型晤柄,我們將前者表示為stargan sng(single)擦剑,后者表示為stargan jnt(joint)。

聯(lián)合訓練的效果。圖6顯示了Stargan SNG和Stargan JNT之間的定性比較惠勒,其中的任務是合成Celeba中圖像的面部表情赚抡。stargan-jnt表現(xiàn)出高視覺質(zhì)量的情感表達,而stargan-sng則產(chǎn)生合理但模糊的灰色背景圖像捉撮。這種差異是因為Stargan JNT在訓練中學習翻譯Celeba圖像怕品,而不是Stargan SNG妇垢。換句話說巾遭,stargan jnt可以利用這兩個數(shù)據(jù)集來改進共享的低級任務,比如面部關(guān)鍵點檢測和分割闯估。通過同時使用celeba和rafd灼舍,stargan jnt可以改善這些低級任務,這有利于學習面部表情合成涨薪。

學習了掩模向量的作用骑素。在這個實驗中,我們通過設置特定面部表情的維度(可從第二個數(shù)據(jù)集rafd獲得)來給出一個單熱向量刚夺。

image.png

一個献丑。在這種情況下,由于顯式地給出了與第二個數(shù)據(jù)集相關(guān)聯(lián)的標簽侠姑,因此正確的掩碼向量將是[0,1]创橄。圖7示出了給出適當掩模向量的情況和給出錯誤掩模向量[1,0]的相反情況。當使用錯誤的掩模向量時莽红,stargan jnt無法合成面部表情妥畏,它會操縱輸入圖像的年齡。這是因為模型忽略了未知的面部表情標簽安吁,并通過遮罩向量將面部屬性標簽視為有效醉蚁。請注意畏梆,由于其中一個面部屬性是“young”断箫,當模型接受零向量作為輸入時,它會將圖像從young轉(zhuǎn)換為old历等。通過這種行為妇智,我們可以確認滥玷,當涉及到來自多個數(shù)據(jù)集的所有標簽時,stargan正確地學習了掩碼向量在圖像到圖像轉(zhuǎn)換中的預期作用俘陷。

6. 結(jié)論

在本文中罗捎,我們提出了StarGAN,一個使用單一生成器和鑒別器的多個域之間可伸縮的圖像到圖像的轉(zhuǎn)換模型拉盾。除了在可伸縮性方面的優(yōu)勢外桨菜,由于多任務學習設置背后的泛化能力,與現(xiàn)有方法相比,StarGAN生成的圖像具有更高的視覺質(zhì)量[16倒得、23泻红、33]。此外霞掺,使用所提出的簡單掩碼向量使StarGAN能夠利用具有不同域標簽集的多個數(shù)據(jù)集谊路,從而處理來自這些數(shù)據(jù)集的所有可用標簽。我們希望我們的工作能夠讓用戶開發(fā)跨多個領(lǐng)域的有趣的圖像翻譯應用程序菩彬。

參考資料

[1] 對抗生成網(wǎng)絡學習(十五)——starGAN實現(xiàn)人臉屬性修改(tensorflow實現(xiàn))
[2] # StarGAN論文及代碼理解
[3] starGAN 論文學習

論文下載

[1] StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation

代碼

[1] # taki0112/StarGAN-Tensorflow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缠劝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子骗灶,更是在濱河造成了極大的恐慌惨恭,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耙旦,死亡現(xiàn)場離奇詭異脱羡,居然都是意外死亡,警方通過查閱死者的電腦和手機免都,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門锉罐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绕娘,你說我怎么就攤上這事脓规。” “怎么了业舍?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵抖拦,是天一觀的道長。 經(jīng)常有香客問我舷暮,道長态罪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任下面,我火速辦了婚禮复颈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沥割。我一直安慰自己耗啦,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布机杜。 她就那樣靜靜地躺著帜讲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪椒拗。 梳的紋絲不亂的頭發(fā)上似将,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天获黔,我揣著相機與錄音,去河邊找鬼在验。 笑死玷氏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的腋舌。 我是一名探鬼主播盏触,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼块饺!你這毒婦竟也來了赞辩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刨沦,失蹤者是張志新(化名)和其女友劉穎诗宣,沒想到半個月后膘怕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體想诅,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年岛心,在試婚紗的時候發(fā)現(xiàn)自己被綠了来破。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡忘古,死狀恐怖徘禁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情髓堪,我是刑警寧澤送朱,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站干旁,受9級特大地震影響驶沼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜争群,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一回怜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧换薄,春花似錦玉雾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至冲泥,卻和暖如春驹碍,著一層夾襖步出監(jiān)牢的瞬間失都,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工幸冻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粹庞,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓洽损,卻偏偏與公主長得像庞溜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碑定,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359