U-Net: Convolutional Networks for Biomedical Image Segmentation

Olaf Ronneberger, Philipp Fischer, and Thomas Brox
Computer Science Department and BIOSS Centre for Biological Signalling Studies,
University of Freiburg, Germany

摘要
人們普遍認(rèn)為,對(duì)深層網(wǎng)絡(luò)的成功訓(xùn)練需要數(shù)千份已標(biāo)注的訓(xùn)練樣本减牺。在本文中,我們提出了一個(gè)網(wǎng)絡(luò)和訓(xùn)練策略堰氓,為了更有效的利用標(biāo)注數(shù)據(jù),我們是用數(shù)據(jù)擴(kuò)張的方法(data augmentation )的方法别厘。該體系結(jié)構(gòu)由兩部分組成:包括一個(gè)收縮路徑(contracting path )來獲取上下文信息以及一個(gè)支持精確定位的對(duì)稱擴(kuò)展路徑(symmetric expanding path)阳堕。我們證明,這樣的網(wǎng)絡(luò)可以從非常少的圖像中進(jìn)行端到端的訓(xùn)練震放,并且在ISBI(生物醫(yī)學(xué)成像國際研討會(huì))挑戰(zhàn)中優(yōu)于先前的最佳方法(一個(gè)滑動(dòng)窗口的卷積網(wǎng)絡(luò)),用于在電子顯微鏡的堆棧中分割神經(jīng)元結(jié)構(gòu)驼修。使用相同的網(wǎng)絡(luò)殿遂,在透射光顯微鏡圖像上(階段對(duì)比DIC(鑒別干涉對(duì)比顯微鏡))诈铛,我們?cè)谶@些類別中以很大的優(yōu)勢(shì)贏得了ISBI細(xì)胞跟蹤挑戰(zhàn)。此外墨礁,網(wǎng)絡(luò)速度很快幢竹。在最近的GPU上,一個(gè)512x512圖像的分割需要不到一秒的時(shí)間恩静。完整的實(shí)現(xiàn)(基于Caffe)和經(jīng)過訓(xùn)練的網(wǎng)絡(luò)可以在:
一焕毫、介紹
在過去的兩年里,在許多視覺識(shí)別任務(wù)中蜕企,深度卷積神經(jīng)網(wǎng)絡(luò)的表現(xiàn)超過了藝術(shù)狀態(tài)咬荷。雖然卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)存在很長(zhǎng)時(shí)間了,但由于可用的訓(xùn)練集的大小和被考慮的網(wǎng)絡(luò)的大小轻掩,它們的成功是有限的。Krizhevsky等人的突破是由于對(duì)一個(gè)大型網(wǎng)絡(luò)的監(jiān)督訓(xùn)練懦底,該網(wǎng)絡(luò)有8層唇牧,數(shù)百萬個(gè)參數(shù)在ImageNet數(shù)據(jù)集上,包括了100萬個(gè)訓(xùn)練圖像聚唐。從那以后丐重,甚至更大、更深入的網(wǎng)絡(luò)被訓(xùn)練杆查。
[圖片上傳中...(image.png-71d741-1523449829707-0)]

Fig. 1. U-net architecture (example for 32x32 pixels in the lowest resolution).
Each blue box corresponds to a multi-channel feature map. The number of channels is denoted on top of the box. The x-y-size is provided at the lower left edge of the box. White boxes represent copied feature maps. The arrows denote the different operations.
卷積神經(jīng)網(wǎng)絡(luò)的典型應(yīng)用是分類任務(wù)上扮惦,對(duì)圖像的輸出是一個(gè)單獨(dú)的類標(biāo)簽。然而亲桦,在許多視覺任務(wù)中崖蜜,特別是在生物醫(yī)學(xué)圖像處理中,所期望的輸出應(yīng)該包括局部定位客峭。一個(gè)類標(biāo)簽應(yīng)該被分配給每個(gè)像素豫领。此外,在生物醫(yī)學(xué)任務(wù)中舔琅,數(shù)以千計(jì)的訓(xùn)練圖像通常是無法觸及的等恐。因此,Ciresan等人建立了一個(gè)滑動(dòng)窗口去訓(xùn)練了一個(gè)網(wǎng)絡(luò)备蚓,通過預(yù)測(cè)每個(gè)像素點(diǎn)的類別對(duì)醫(yī)學(xué)圖像進(jìn)行分割课蔬。首先,這個(gè)網(wǎng)絡(luò)可以完成定位工作郊尝。其次二跋,由于預(yù)測(cè)時(shí)要切patch,所以訓(xùn)練數(shù)據(jù)量比訓(xùn)練圖片的數(shù)量大得多虚循。由此產(chǎn)生的網(wǎng)絡(luò)在2012年ISBI的EM分割挑戰(zhàn)中獲得了很大的優(yōu)勢(shì)同欠。
很明顯的是样傍,這個(gè)網(wǎng)絡(luò)有兩個(gè)很明顯的缺點(diǎn):首先,它相當(dāng)慢铺遂,因?yàn)槊總€(gè)patch都必須單獨(dú)運(yùn)行衫哥,由于重疊的patch會(huì)存在大量的冗余。(要分別預(yù)測(cè)每一個(gè)patch的類別襟锐,patch之間的重疊導(dǎo)致每次預(yù)測(cè)都要重復(fù)計(jì)算同一個(gè)點(diǎn)撤逢。)然后這個(gè)網(wǎng)絡(luò)需要在局部準(zhǔn)確性和獲取整體上下文信息之間取舍。更大的patches需要更多最大池化層來降低定位精度粮坞,而小的patches則允許網(wǎng)絡(luò)只看到很少的上下文蚊荣。最近的方法提出了一個(gè)分類器輸出,它考慮了來自多個(gè)層的特性莫杈。良好的定位和上下文的使用是可能的互例。
在這篇論文中,我們建立了一個(gè)更優(yōu)雅的架構(gòu)筝闹,即所謂的“全卷積網(wǎng)絡(luò)”媳叨。我們修改并擴(kuò)展了這個(gè)架構(gòu),使它可以使用非常少的訓(xùn)練圖像就可以工作关顷,并獲得更高的分割準(zhǔn)確率糊秆。fcn主要的想法是:修改一個(gè)普通的逐層收縮網(wǎng)絡(luò),用上采樣(up sampling)操作代替網(wǎng)絡(luò)后部的池化(pooling)操作议双。因此痘番,這些層增加了輸出的分辨率。為了定位,在網(wǎng)絡(luò)收縮過程(路徑)中產(chǎn)生的高分辨率特征(high resolution features) 平痰,被連接到了修改后網(wǎng)絡(luò)的上采樣的結(jié)果上汞舱。在此之后,一個(gè)卷積層基于這些信息綜合得到更精確的結(jié)果觉增。
與fcn不同的是兵拢,我們的網(wǎng)絡(luò)在上采樣部分依然有大量的特性通道(feature channels)這使得網(wǎng)絡(luò)可以將環(huán)境信息向更高的分辨率層(higher resolution layers)傳播。結(jié)果是逾礁,擴(kuò)張路徑基本對(duì)稱于收縮路徑说铃,并產(chǎn)生一個(gè)u型的體系結(jié)構(gòu)。網(wǎng)絡(luò)不存在任何全連接層(fully connected layers)嘹履,并且腻扇,只使用每個(gè)卷積的有效部分,例如砾嫉,分割圖(segmentation map)只包含這樣一些像素點(diǎn)幼苛,這些像素點(diǎn)的完整上下文都出現(xiàn)在輸入圖像中。overlap-tile strategy 允許無縫地分割任意大的圖像(參見圖2)焕刮,為了預(yù)測(cè)圖像邊界區(qū)域的像素點(diǎn)舶沿,我們采用鏡像圖像的方式補(bǔ)全缺失的環(huán)境像素墙杯。這個(gè)tiling方法在使用網(wǎng)絡(luò)分割大圖像時(shí)是非常有用的,因?yàn)槿绻贿@么做括荡,GPU顯存會(huì)限制圖像分辨率高镐。
Fig. 2. Overlap-tile strategy for seamless segmentation of arbitrary large images (here
segmentation of neuronal structures in EM stacks). Prediction of the segmentation in
the yellow area, requires image data within the blue area as input. Missing input data
is extrapolated by mirroring.
對(duì)于我們的任務(wù),我們的訓(xùn)練數(shù)據(jù)非常少畸冲,我們通過對(duì)現(xiàn)有的訓(xùn)練圖像應(yīng)用彈性形變的方式來增加數(shù)據(jù)嫉髓。這使得模型學(xué)習(xí)得到形變不變性,不需要在帶標(biāo)注的圖像語料庫中看到這些轉(zhuǎn)換邑闲。這在生物醫(yī)學(xué)的分割中尤其重要算行,因?yàn)榻M織的形變是非常常見的情況,并且計(jì)算機(jī)可以很有效的模擬真實(shí)的形變苫耸,在無監(jiān)督特征學(xué)習(xí)的范圍內(nèi)州邢,Dosovitskiy等人的學(xué)習(xí)增加數(shù)據(jù)去獲得不變性的的價(jià)值已經(jīng)顯現(xiàn)出來。
在許多細(xì)胞分割任務(wù)中鲸阔,另一個(gè)挑戰(zhàn)是如何將同類別的相互接觸的目標(biāo)分開偷霉,為了達(dá)到這個(gè)目的,我們建議使用加權(quán)損失褐筛,我們提出了使用一種帶權(quán)重的損失(weighted loss)。在損失函數(shù)中叙身,分割相互接觸的細(xì)胞獲得了更大的權(quán)重渔扎。
由此產(chǎn)生的網(wǎng)絡(luò)適用于各種生物醫(yī)學(xué)分割問題。在本文中信轿,我們展示了EM棧中神經(jīng)元結(jié)構(gòu)的分割(在ISBI 2012年開始的一場(chǎng)持續(xù)的競(jìng)爭(zhēng))晃痴,我們的表現(xiàn)超過了Ciresan等人的網(wǎng)絡(luò)。此外财忽,我們還展示了2015年ISBI細(xì)胞跟蹤挑戰(zhàn)的光學(xué)顯微鏡圖像的細(xì)胞分割結(jié)果倘核。在這兩個(gè)最具挑戰(zhàn)性的2D傳輸光數(shù)據(jù)集上,我們獲得了很大的優(yōu)勢(shì)即彪。
二紧唱、網(wǎng)絡(luò)結(jié)構(gòu)
圖1展示了網(wǎng)絡(luò)結(jié)構(gòu),它由contracting path 和 expansive path組成隶校。contracting path是典型的卷積網(wǎng)絡(luò)架構(gòu)漏益。它的架構(gòu)是一種重復(fù)結(jié)構(gòu),每次重復(fù)中都有2個(gè)卷積層和一個(gè)pooling層深胳,卷積層中卷積核大小均為33绰疤,激活函數(shù)使用ReLU,兩個(gè)卷積層之后是一個(gè)22的步長(zhǎng)為2的max pooling層舞终。每一次下采樣后我們都把特征通道的數(shù)量加倍轻庆。expanding path中的每一步都首先使用反卷積(up-convolution)癣猾,每次使用反卷積都將特征通道數(shù)量減半,特征圖大小加倍余爆。反卷積過后纷宇,將反卷積的結(jié)果與contracting path中對(duì)應(yīng)步驟的特征圖拼接起來。contracting path中的特征圖尺寸稍大龙屉,將其修剪過后進(jìn)行拼接呐粘。對(duì)拼接后的map進(jìn)行2次33的卷積。最后一層的卷積核大小為11转捕,將64通道的特征圖轉(zhuǎn)化為特定深度(分類數(shù)量作岖,二分類為2)的結(jié)果。網(wǎng)絡(luò)總共23層五芝。
為了允許無縫地平鋪輸出分割圖(參見圖2)痘儡,選擇輸入tile大小是很重要的,這樣所有2x2的最大池采樣操作都被應(yīng)用到一個(gè)具有偶數(shù)x和y大小的層上枢步。
三沉删、訓(xùn)練
利用輸入圖像及其相應(yīng)的分割圖,利用Caffe的隨機(jī)梯度下降法對(duì)網(wǎng)絡(luò)進(jìn)行了訓(xùn)練醉途。由于沒有填充的卷積矾瑰,輸出圖像要比輸入的小,因?yàn)樗且粋€(gè)恒定的邊界寬度隘擎。為了最小化開銷并最大限度地使用GPU顯存殴穴,比起輸入一個(gè)大的batch size,我們更傾向于大量輸入tiles货葬,因此我們使用了一個(gè)高動(dòng)量(high momentum)(0.99)采幌,這樣大量以前看到的訓(xùn)練樣本決定了當(dāng)前優(yōu)化步驟中的更新。
能量函數(shù)是由一個(gè)像素級(jí)的softmax在最終的特征圖和交叉熵?fù)p失函數(shù)之間計(jì)算出來的震桶。Soft-max被定義為
休傍。
表示在像素位置x的特征通道k的數(shù)目,蹲姐,磨取,K表示為類別的數(shù)量,是近似的最大值函數(shù)淤堵,即是對(duì)于最大的激活量來說的寝衫,對(duì)于所有其他的k來說。交叉熵在每個(gè)位置都受到懲罰拐邪,,表示每個(gè)像素的真實(shí)標(biāo)簽
(交叉熵函數(shù))
是我們引入的一個(gè)權(quán)重圖慰毅,在訓(xùn)練中凸顯某些像素的重要性。我們對(duì)每一張標(biāo)注圖像預(yù)計(jì)算了一個(gè)權(quán)重圖扎阶,來補(bǔ)償訓(xùn)練集中每類像素的不同頻率汹胃,使網(wǎng)絡(luò)更注重學(xué)習(xí)相互接觸的細(xì)胞之間的小的分割邊界婶芭。我們使用形態(tài)學(xué)操作計(jì)算分割邊界。權(quán)重圖計(jì)算公式如下:

wc是用于平衡類別頻率的權(quán)重圖着饥,d1代表到最近細(xì)胞的邊界的距離犀农,d2代表到第二近的細(xì)胞的邊界的距離≡椎簦基于經(jīng)驗(yàn)我們?cè)O(shè)定w0=10呵哨,σ≈5像素。

Fig. 3. HeLa cells on glass recorded with DIC (differential interference contrast) microscopy.
(a)raw image. (b) overlay with ground truth segmentation. Different colors indicate different instances of the HeLa cells. (c) generated segmentation mask (white:foreground, black: background). (d) map with a pixel-wise loss weight to force the network to learn the border pixels.

網(wǎng)絡(luò)中權(quán)重的初始化:我們的網(wǎng)絡(luò)的權(quán)重由高斯分布初始化轨奄,分布的標(biāo)準(zhǔn)差為(N/2)^0.5,N為每個(gè)神經(jīng)元的輸入節(jié)點(diǎn)數(shù)量孟害。例如,對(duì)于一個(gè)上一層是64通道的33卷積核來說挪拟,N=964挨务。
3.1 數(shù)據(jù)增加
在只有少量樣本的情況下,要想盡可能的讓網(wǎng)絡(luò)獲得不變性和魯棒性玉组,數(shù)據(jù)增加是必不可少的谎柄。因?yàn)楸菊撐男枰幚盹@微鏡圖片,我們需要平移與旋轉(zhuǎn)不變性惯雳,并且對(duì)形變和灰度變化魯棒朝巫。將訓(xùn)練樣本進(jìn)行隨機(jī)彈性形變是訓(xùn)練分割網(wǎng)絡(luò)的關(guān)鍵。我們使用隨機(jī)位移矢量在粗糙的3*3網(wǎng)格上(random displacement vectors on a coarse 3 by 3 grid)產(chǎn)生平滑形變(smooth deformations)石景。 位移是從10像素標(biāo)準(zhǔn)偏差的高斯分布中采樣的捍歪。然后使用雙三次插值計(jì)算每個(gè)像素的位移。在contracting path的末尾采用drop-out 層更進(jìn)一步增加數(shù)據(jù)鸵钝。
四、實(shí)驗(yàn)
我們演示了u-net對(duì)三個(gè)不同的分割任務(wù)的應(yīng)用庐镐。第一個(gè)任務(wù)是在電子顯微鏡記錄中分割神經(jīng)元結(jié)構(gòu)恩商。圖2顯示了數(shù)據(jù)集和我們獲得的分割的一個(gè)例子。我們提供完整的結(jié)果作為補(bǔ)充材料必逆。該數(shù)據(jù)集是由2012年ISBI挑戰(zhàn)提供的怠堪,目前仍對(duì)新貢獻(xiàn)開放。訓(xùn)練數(shù)據(jù)是由果蠅第一個(gè)幼蟲腹側(cè)神經(jīng)索(VNC)的連續(xù)段透射電子顯微鏡的30張圖像(512x512像素)組成的名眉。每個(gè)圖像都有一個(gè)對(duì)應(yīng)的完全帶標(biāo)注的分割圖像(白色)和膜(黑色)粟矿。測(cè)試集是公開的,但是它的分割圖是保密的损拢。通過將預(yù)測(cè)的膜概率圖發(fā)送給組織者陌粹,可以獲得評(píng)估。該評(píng)估是通過在10個(gè)不同的層次上對(duì)圖進(jìn)行閾值計(jì)算福压,并計(jì)算“warping error”掏秩、“Rand error”和“pixel error”或舞。

u-net(平均超過7個(gè)旋轉(zhuǎn)版本的輸入數(shù)據(jù))在沒有任何進(jìn)一步的預(yù)處理或后處理錯(cuò)誤的情況下實(shí)現(xiàn)了0.0003529的“warping error”(新的最好的分?jǐn)?shù),見表1)和一個(gè)0.0382的“rand error”蒙幻。這比Ciresan等人的滑動(dòng)窗口卷積網(wǎng)絡(luò)的結(jié)果要好得多映凳,后者的最佳“warping error”是0.000420和“rand error”為0.0504。在“rand error”方面邮破,在這個(gè)數(shù)據(jù)集上唯一更好的執(zhí)行算法使用高度數(shù)據(jù)集特定的后處理方法1應(yīng)用于Ciresan等人的概率圖诈豌。

Fig. 4. Result on the ISBI cell tracking challenge. (a) part of an input image of the“PhC-U373” data set. (b) Segmentation result (cyan mask) with manual ground truth(yellow border) (c) input image of the “DIC-HeLa” data set. (d) Segmentation result (random colored masks) with manual ground truth (yellow border).

我們還將u-net應(yīng)用到一個(gè)細(xì)胞分割任務(wù)中,在微觀圖像中抒和。這一分段任務(wù)是ISBI細(xì)胞跟蹤挑戰(zhàn)的一部分矫渔,2014年和2015年10月13日。第一個(gè)數(shù)據(jù)集“PhC-U373”包含由相襯顯微術(shù)記錄的聚丙烯酰胺-星形膠質(zhì)細(xì)胞瘤細(xì)胞瘤(見圖4a构诚、b和Supp.材料)蚌斩。它包含35個(gè)部分帶注釋的訓(xùn)練圖像。這里我們實(shí)現(xiàn)平均IOU(“十字路口在聯(lián)盟”)的92%,這是明顯比第二個(gè)最好的算法為83%(見表2)范嘱。第二個(gè)數(shù)據(jù)集“DIC-HeLa”海拉細(xì)胞在一個(gè)玻璃(DIC)微分干涉對(duì)比顯微鏡記錄送膳。它包含20個(gè)部分帶標(biāo)注的訓(xùn)練圖像。在這里丑蛤,我們得到的平均IOU是77.5%叠聋,這明顯優(yōu)于第二種最好的算法46%。

五受裹、結(jié)論
u-net體系結(jié)構(gòu)在不同的生物醫(yī)學(xué)分割應(yīng)用上取得了很好的性能碌补。由于有彈性的數(shù)據(jù)處理功能,它只需要很少的標(biāo)注圖像棉饶,而且在NVidia Titan GPU(6 GB)上只有10個(gè)小時(shí)的訓(xùn)練時(shí)間厦章。我們提供完整的基于Caffe的實(shí)現(xiàn)和訓(xùn)練有素的網(wǎng)絡(luò)。我們確信照藻,u-net體系結(jié)構(gòu)可以很容易地應(yīng)用到更多的任務(wù)中袜啃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幸缕,隨后出現(xiàn)的幾起案子群发,更是在濱河造成了極大的恐慌,老刑警劉巖发乔,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熟妓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡栏尚,警方通過查閱死者的電腦和手機(jī)起愈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人告材,你說我怎么就攤上這事坤次。” “怎么了斥赋?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缰猴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我疤剑,道長(zhǎng)滑绒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任隘膘,我火速辦了婚禮疑故,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弯菊。我一直安慰自己纵势,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布管钳。 她就那樣靜靜地躺著钦铁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪才漆。 梳的紋絲不亂的頭發(fā)上牛曹,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音醇滥,去河邊找鬼黎比。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鸳玩,可吹牛的內(nèi)容都是我干的阅虫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼不跟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼书妻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起躬拢,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎见间,沒想到半個(gè)月后聊闯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡米诉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年菱蔬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拴泌,死狀恐怖魏身,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蚪腐,我是刑警寧澤箭昵,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站回季,受9級(jí)特大地震影響家制,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泡一,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一颤殴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鼻忠,春花似錦涵但、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至讨阻,卻和暖如春芥永,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钝吮。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工埋涧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奇瘦。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓棘催,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親耳标。 傳聞我的和親對(duì)象是個(gè)殘疾皇子醇坝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354