ExtremeNet論文學(xué)習(xí)

論文地址:Bottom-up Object Detection by Grouping Extreme and Center Points
發(fā)表時間:2019.1.23
github:https://github.com/xingyizhou/ExtremeNet
這篇文章是由德克薩斯大學(xué)提出夭拌,號稱是目前(2019-01-26)One-stage目標(biāo)檢測最強算法 ExtremeNet望忆。

Abstract

隨著深度學(xué)習(xí)的出現(xiàn),目標(biāo)檢測從一個自底而上的問題發(fā)展到一個自上而下的識別問題。最先進的算法列舉了一個幾乎詳盡的目標(biāo)對象位置列表,并將每個位置分類為:目標(biāo)對象或非目標(biāo)對象。在本文中,我們展示了自底向上方法仍然具有競爭力谤专。我們使用標(biāo)準(zhǔn)關(guān)鍵點估計網(wǎng)絡(luò)檢測對象的四個極點(最上面、最左邊午绳、最下面置侍、最右邊)和一個中心點。如果這五個關(guān)鍵點是幾何對齊的拦焚,我們將它們分組到一個邊界框中蜡坊。因此,目標(biāo)檢測是一個純粹的基于外觀的關(guān)鍵點估計問題赎败,沒有區(qū)域分類和隱式特征學(xué)習(xí)秕衙。該方法的性能與最先進的基于區(qū)域檢測方法相當(dāng),在COCO test-dev上的box AP為43:2%僵刮。此外据忘,我們估計的極點直接生成一個粗糙的八邊形掩模,在COCO上Mask AP為18:9%搞糕,比vanilla bbox的Mask AP要好得多勇吊。極點引導(dǎo)分割進一步改善這到34:6%的Mask AP。

1. Introduction

自上而下的算法目前在目標(biāo)檢測領(lǐng)域占據(jù)主導(dǎo)地位窍仰,常用的做法是將目標(biāo)檢測任務(wù)轉(zhuǎn)化為矩形區(qū)域分類任務(wù)汉规,如one stage檢測和two stage檢測腐芍。然而斥杜,矩形框(box)并不是一個比較好的對象表示剖煌,主要有一下三個缺點
① 大多數(shù)的目標(biāo)對象不是軸對稱的鸠儿,它們的外接矩形框包含許多不必要的背景信息(圖1);
② 自上而下的目標(biāo)檢測算法羅列了大量可能的矩形框位置悟民,并沒有真正理解目標(biāo)圖片的視覺語法信息;
③ 矩形框不能很好的表示目標(biāo)對象篷就,難以表示目標(biāo)對象的細(xì)節(jié)信息(如形狀和姿勢)

圖1

通過檢測對象的四個極點(最上射亏、最左,最底竭业、最右)智润,本文提出了一種自底而上的目標(biāo)檢測框架ExtremeNet。ExtremeNet使用最新的關(guān)鍵點檢測框架未辆,通過預(yù)測每個對象類別的4個peak heatmaps來找到極點窟绷,通過每個類別的一個center heatmap來預(yù)測對象中心,作為x維和y維上兩個box的邊緣平均值咐柜。然后兼蜈,用基于幾何的方式將極點分組到具體對象中。四個極點每個對應(yīng)一個heatmap拙友,當(dāng)且僅當(dāng)它們的幾何中心已被預(yù)測在center heatmap上为狸,且得分高于預(yù)定義的閾值時才會被分組到同一對象上。論文羅列了極點的所有O(n4)組合遗契,并選擇有效的那個(極點數(shù)n通常比較蟹簟),如圖2.

圖2

本文不是第一個提出使用深度關(guān)鍵點預(yù)測來進行目標(biāo)檢測任務(wù)的牍蜂,CornerNet就提出了預(yù)測矩形框的兩個角點corner(左上和右下)漾根,并使用associative embedding feature將角點組合到相應(yīng)的矩形框中。本文是受到Papadopoulos等人[33]的啟發(fā)鲫竞,他們提出通過單擊四個極點來標(biāo)注邊界框辐怕,這個標(biāo)注收集信息的速度大約是邊框的四倍,并且提供了比邊框更豐富的信息贡茅。本文與CornerNet有兩點不同:

1.關(guān)鍵點定義
CornerNet預(yù)測bbox的左上右下一對角點秘蛇,是另一種形式的矩形框,存在自頂向下檢測算法所面臨的的一些問題顶考。另角點經(jīng)常落在對象外部赁还,沒有足夠的對象特征。ExtremeNet的極點在對象上驹沿,是視覺可分的艘策,有一致的局部外觀特征(如人的最上面的是頭)。

2.關(guān)鍵點組合
CornerNet的角點是幾何組合渊季。ExtremeNet是完全基于外觀的特征的組合朋蔫,無需學(xué)習(xí)任何復(fù)雜的特征罚渐。

另外,極點與目標(biāo)掩碼object masks有緊密的聯(lián)系驯妄,與矩形框相比荷并,直接連接極點提供了更細(xì)粒度的對象掩碼信息。本文實驗證明青扔,將一個簡單的八邊形擬合到極值點可以得到一個很好的目標(biāo)掩碼估計源织。本文可以進一步與DeepExtremeCut結(jié)合,將極點標(biāo)注轉(zhuǎn)換為指定對象的分割掩碼微猖。直接將本文的極點預(yù)測作為對DeepExtremeCut[29]的指導(dǎo)谈息,可以得到接近最先進的實例分割結(jié)果。

2. Related Work

Two-stage object detectors凛剥。two-stage檢測算法分為兩步:一是生成大量未知類別的候選bbox并裁剪侠仇;二是使用圖片分類模塊對裁剪區(qū)域特征進行分類。detection-by-classification的思想是很直觀的犁珠,到目前為止一直保持最好的效果逻炊。

one-stage object detections。one-stage檢測算法可看作是類別明確的區(qū)域或anchor建議網(wǎng)絡(luò)犁享,并直接為每個anchor分配一個類別標(biāo)簽嗅骄。ExtremeNet屬于one-stage檢測方法。ExtremeNet不是在O(h2w2)空間中設(shè)置anchor饼疙,而是檢測O(hw)空間中框的五個點溺森。ExtremeNet只預(yù)測每個像素位置作為關(guān)鍵點的概率,而不是在每個像素位置設(shè)置默認(rèn)大小和比例的anchor窑眯。center heatmap可以看做不回歸矩形框的大小比例不可知的區(qū)域建議網(wǎng)絡(luò)屏积。

Deformable Part Model。作為自底而上的檢測方法磅甩,本文組合極點和中心點的思想和Deformable Part Model有關(guān)炊林。

Grouping in bottom-up human pose estimation。在自底向上的多人姿勢估計算法中卷要,找到哪些點屬于同一個人是很重要的渣聚。目前有很多方法,比如學(xué)習(xí)每個點的關(guān)聯(lián)特征僧叉、學(xué)習(xí)位關(guān)鍵點投射人類骨骼樹上的父關(guān)節(jié)奕枝,作為每個關(guān)鍵點的二維特征、學(xué)習(xí)了作為相對于對象中心的偏移量的特征等瓶堕。相比這些算法隘道,本文利用極點和中心點的幾何結(jié)構(gòu)進行分組,僅僅基于外觀特征,很容易學(xué)習(xí)谭梗。

Implicit keypoint detection忘晤。流行的關(guān)鍵點檢測方法適用于定義良好的語義關(guān)鍵點,例如人類關(guān)節(jié)激捏。StarMap[53]使用單個heatmap混合所有類型的關(guān)鍵點進行一般關(guān)鍵點檢測设塔。極值點和中心點是一種一般的隱式關(guān)鍵點,但具有更顯式的幾何性質(zhì)远舅。

3. Preliminaries(預(yù)熱)

Extreme and center points壹置。常見做法會用左上和右下兩點標(biāo)注矩形框。由于兩個角點經(jīng)常位于對象外部表谊,這會導(dǎo)致效果不準(zhǔn)確,并且需要多次調(diào)整盖喷,整個過程平均花費時間較長爆办。本文則直接用極點代替矩形框。若四個極點為((x^t,y^t),(x^i,y^i),(x^b,y^b),(x^r,y^r))课梳,則中心點為:
(\frac{x^l+x^r}{2}, \frac{y^t+y^b}{2})

Keypoint detection距辆。目前效果最好的關(guān)鍵點估計網(wǎng)絡(luò)是104層的HourglassNetwork,該網(wǎng)絡(luò)采用完全卷積的方式進行訓(xùn)練暮刃。HourglassNetwork為每個輸出通道回歸一個寬為W跨算、高為H的heatmap:
\hat{Y}\in (0,1)^{HW}
訓(xùn)練時的label為多峰高斯熱圖multi-peak Gaussian heatmap Y,其中每個關(guān)鍵點定義高斯核的平均值椭懊。標(biāo)準(zhǔn)差要么是固定的诸蚕,要么與對象大小成正比。高斯熱圖在L2 loss的情況下會作為回歸目標(biāo)氧猬,在邏輯回歸的情況下作為weight map來減少正樣本點附近像素點的懲罰背犯。

CornetNetCornerNet使用HourglassNetwork作為檢測器進行關(guān)鍵點估計盅抚,為矩形框的兩個角點預(yù)測兩套熱圖漠魏。為了平衡正樣本點和負(fù)樣本點,CornerNetwork在訓(xùn)練時使用了修正的focal loss
{L}_{det}=\frac{1}{N}\sum_{i=1}^{H}\sum_{j=1}^{W}\left\{\begin{matrix} {{(1-\hat {Y}_{ij})^\alpha log({\hat {Y}}_{ij})}, Y_{ij}=1} \\{(1-Y_{ij})^\beta ({\hat Y}_{ij})^\alpha log(1-{\hat {Y}}_{ij}), otherwise} \end{matrix}\right.

其中α和β是超參數(shù)妄均,訓(xùn)練期間固定α=2柱锹、β=4,N是圖片中對象的數(shù)量丰包。
為了極點的sub-pixel準(zhǔn)確度禁熏,CornerNetwork為每個角點回歸了類別未知的關(guān)鍵點偏移量△(α)。這個回歸過程恢復(fù)了HourglassNetwork下采樣過程中丟失的信息邑彪。The offset map is trained with smooth L1 Loss [11] SL1 on ground truth extreme point locations:
{L}_off=\frac{1}{N}\sum_{k=1}^{N}SL_1(\Delta ^{\alpha},\frac{\vec x}{s}-\left \lfloor {\frac{\vec x}{s}} \right \rfloor)

其中匹层,s是下采樣因子(HourglassNetwork的s=4),\vec{x}為關(guān)鍵點坐標(biāo)。
接著升筏,CornerNet使用關(guān)聯(lián)特征將角點分組撑柔,本文沿用了CornerNet的網(wǎng)絡(luò)架構(gòu)和loss,但沒有沿用關(guān)聯(lián)特征您访。

Deep Extreme Cut铅忿。DeepExtremeCut (DEXTRE)是一種基于極點的圖像分割算法,該算法取了四個極點并裁剪這四個極點組成的矩形框的圖片區(qū)域作為輸入灵汪,利用語義分割網(wǎng)絡(luò)對相應(yīng)對象進行類別不確定的前景分割檀训。DeepExtremeCut學(xué)習(xí)了匹配輸入極點的分割掩碼。

4. ExtremeNet for Object detection

ExtremeNet采用HourglassNetwork檢測每個類別的5個關(guān)鍵點(四個極點享言、一個中心點)峻凫,沿用了CornerNet訓(xùn)練配置、loss和偏移量預(yù)測部分览露。偏移量預(yù)測部分是類別未知的荧琼,但極點是類別明確的。偏移量預(yù)測是針對極點的差牛,中心點是沒有偏移量預(yù)測的命锄。ExtremeNet網(wǎng)絡(luò)輸出5xC個heatmaps和4x2個偏移量maps(如圖3),其中C是類別數(shù)量偏化。一旦極點明確了脐恩,網(wǎng)絡(luò)就用幾何的方式將他們分組到檢測中。

圖3

4.1. Center Grouping

極點位于對象不同的邊上侦讨,這使得組合變得比較復(fù)雜驶冒,比如關(guān)聯(lián)特征沒有足夠的全局特征來分組關(guān)鍵點。本文通過利用極點的擴散性韵卤,提出了一個不同的分組方法只怎。

本文分組算法的輸入是每個類別的五個heatmaps:一個中心heatmap和上下左右四個極點。已知一個heatmap怜俐,本文通過檢測所有的峰值點來抽取相應(yīng)的關(guān)鍵點身堡。一個峰值點是值大于\tau _p的任意像素點,在周圍的3x3像素窗口是局部最大值拍鲤,這個過程叫做ExtrectPeak贴谎。

已知從熱力圖\hat Y^{(t)},\hat Y^{(l)},\hat Y^{(b)},\hat Y^{(r)}中抽取的四個極點t, b, r, l,可計算出幾何中心c=(\frac{l_x+r_x}{2}, \frac{t_y+b_y}{2})季稳。如果中心點c被預(yù)測在center map\hat Y^{(c)}中擅这,且分?jǐn)?shù)較高,則認(rèn)為這四個極點是一個有效檢測:\hat Y_{c_x,c_y}^{(c)} \geq \tau _c(\tau _c為閾值)景鼠。接著仲翎,以暴力方式羅列出所有的關(guān)鍵點t, b, r, l痹扇,分別從每一類中抽取檢測。如圖4溯香,實驗中設(shè)置\tau_p=0.1, \tau_c=0.1

上述的暴力分組算法時間復(fù)雜度為O(n^4)鲫构,其中n為每個基礎(chǔ)方向抽取的極點數(shù)量。補充的材料中提出一種比我們更快的時間復(fù)雜度為O(n^2)的算法玫坛,然而很難在GPU上加速结笨,且當(dāng)n=40時在MS COCO數(shù)據(jù)集上的效果比我們的算法要慢。

圖4

4.2. Ghost box suppression

中心點分組可能對相同大小的三個等間距共線對象給出高置信度的false-positive檢測湿镀。這里位于中間的對象有兩個選擇炕吸,檢測出正確的小框,或預(yù)測一個包含相鄰對象極點的比較大的框勉痴,這些false-positive檢測被稱作ghost boxes赫模。在我們的實驗中,這些ghost boxes是不常見的蒸矛,但卻是我們分組中的唯一錯誤類型瀑罗。

我們提出了一種簡單的后處理方法來相處ghost boxes。根據(jù)定義一個ghost box包含許多其他小的檢測對象莉钙,我們采用soft nms解決這個問題。若某個box所包含的所有框的分?jǐn)?shù)總和大于其自身的3倍筛谚,則最終分?jǐn)?shù)除以2磁玉。soft nms類似于標(biāo)準(zhǔn)的基于重疊的nms,但懲罰的是ghost boxes驾讲,而不是重疊的boxes蚊伞。

4.3. Edge aggregation

極點不總是唯一定義的,若極點來自物體的垂直或水平邊(如汽車頂部)吮铭,則沿邊緣任何一點都可被認(rèn)為是極點时迫。因此我們的網(wǎng)絡(luò)在對象的任一對齊邊上產(chǎn)生弱響應(yīng),而不是單一的強峰值響應(yīng)谓晌。這種弱響應(yīng)存在兩個問題:①弱響應(yīng)可能低于峰值選擇閾值掠拳,將完全錯過極點;②即使檢測到關(guān)鍵點纸肉,它的分值也低于一個輕微旋轉(zhuǎn)對象的強峰值響應(yīng)溺欧。

我們使用邊緣聚合來解決這個問題。對于每個提取為局部最大值的極點柏肪,我們在垂直方向(左右極點)或水平方向(頂部和底部極點)匯總其得分姐刁。然后對所有單調(diào)遞減的分?jǐn)?shù)進行聚合,并在聚合方向上的局部最小值處停止聚合烦味。特別地聂使,使m為極點,N_i^{(m)}=\hat Y_{m_xi,m_y}為該點的垂直或水平線段。若i_0<0, i_1>0,則兩個最近的局部最小值為N_{i_0}^{(m)}N_{i_1}^{(m)}柏靶,其中N_{i_0-1}^{(m)}>N_{i_0}^{(m)},N_{i_1}^{(m)}<N_{i_1+1}^{(m)}弃理。邊緣聚合更新關(guān)鍵點的值為\tilde Y_m=\hat Y_m+\lambda_aggr \sum_{i=i_0}^{i_1}N_i^{(m)},其中\lambda_aggr是聚合權(quán)重。在我們的實驗中宿礁,設(shè)置\lambda_aggr=0.1案铺,如圖5.

圖5

4.4. Extreme Instance Segmentation

極點相比簡單的邊界框攜帶更多的關(guān)于對象的信息,其標(biāo)注值至少是極值的兩倍(8 vs 4)梆靖。我們提出一種使用極值點來近似對象掩碼的簡單方法控汉,方法是創(chuàng)建一個以極值點為中心的八邊形。具體地說返吻,對于一個極值點姑子,我們在其對應(yīng)的邊的兩個方向上將其擴展到整個邊長度的1/4的一段。當(dāng)它遇到一個角點時测僵,線段被截斷街佑。然后我們把這四個部分的端點連接起來形成八邊形

為了進一步細(xì)化邊界框分割捍靠,我們使用了DeepExtremeCut[29]沐旨,這是一個經(jīng)過訓(xùn)練的深度網(wǎng)絡(luò),可以將手動提供的極點轉(zhuǎn)換為實例分割掩碼榨婆。在本工作中磁携,我們簡單地將DeepExtremeCut[29]的手工輸入替換為極點預(yù)測,執(zhí)行2個階段的實例分割良风。具體地說谊迄,對于預(yù)測的每個邊界框,需要裁剪邊界框區(qū)域烟央,使用預(yù)測的極值點繪制高斯圖统诺,然后將串聯(lián)的圖像提供給預(yù)先訓(xùn)練的DeepExtremeCut模型。DeepExtremeCut[29]是類別未知的疑俭,因此我們直接使用檢測到的類別和ExtremeNet的得分粮呢,沒有進一步的后處理。

5. Experiments

作者在MS COCO上做實驗進行算法評估钞艇。

5.1. Extreme point annotations

在COCO數(shù)據(jù)集中沒有直接的極點標(biāo)注鬼贱,不過對于對象分割掩碼有完整的標(biāo)注,因此香璃,可以在多邊形掩碼標(biāo)注中找到作為極值點的極點这难。如果多邊形的一條邊平行于軸,或者有小于3^葡秒。的誤差姻乓,邊緣的中點則為中心點嵌溢。

5.2. Training details

本文是基于CornerNet實現(xiàn)的,沿用了CornerNet的超參數(shù):
1)輸入和輸出分辨率分別為511x511蹋岩、128x128赖草;
2)數(shù)據(jù)增強使用了翻轉(zhuǎn)、0.6到1.3的隨機縮放剪个、隨機裁剪和隨機顏色抖動秧骑;
3)使用Adam優(yōu)化方式,學(xué)習(xí)率為2.5e-4扣囊;
4)CornerNet在10個GPU上訓(xùn)練了500k次迭代乎折,相當(dāng)于在一個GPU上訓(xùn)練140天∏中考慮到GPU資源的限制骂澄,作者在CornerNet預(yù)訓(xùn)練模型上微調(diào)網(wǎng)絡(luò),隨機初始化head layers惕虑,在5個GPU上迭代250k次坟冲,batch size設(shè)為24,在200k次迭代時學(xué)習(xí)率縮降10倍溃蔫。

5.3. Testing details

對于每個輸入圖像健提,網(wǎng)絡(luò)為極點生成4個c通道的heatmaps,為中心點生成1個c通道heatmap伟叛,以及4個2通道的offset maps私痹。本文將邊緣聚合應(yīng)用于每個極點的heatmap,并將中心點的heatmap乘以2痪伦,以修正整體尺度變化侄榴。然后將中心分組算法應(yīng)用于heatmap雹锣,在ExtrectPeak中最多提取40個top點网沾,以保持枚舉效率。通過在offset maps的相應(yīng)位置添加偏移量蕊爵,以細(xì)化預(yù)測的邊界框坐標(biāo)辉哥。

與CornerNet一樣,輸入圖片分辨率可以不同攒射,不會resize到固定大小醋旦。測試時數(shù)據(jù)增強方式為圖片翻轉(zhuǎn),在本文實驗中会放,額外使用了5個多尺度(0.5,0.75,1,1.25,1.5)增強饲齐。最后,使用soft-NMS過濾檢測結(jié)果咧最。測試時捂人,一張圖片耗時322ms御雕,其中網(wǎng)絡(luò)前向傳播耗時13ms,分組耗時150ms滥搭,剩余時間消耗在NMS后處理上酸纲。

5.5. Stateoftheart comparisons

圖6為ExtremeNet和目前比較好的方法在COCO test-dev上的對比結(jié)果。
ExtremeNet在小目標(biāo)和大小居中的目標(biāo)上的效果比CornerNet要好瑟匆,對于大目標(biāo)闽坡,中心點響應(yīng)圖不夠精確,這是因為幾個像素的移動可能就會造成檢測和false-negative之間的差異愁溜。

圖6

結(jié)論

極點和分組的思想很新穎疾嗅,但是大目標(biāo)檢測效果不夠準(zhǔn)確,且效率太低祝谚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宪迟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子交惯,更是在濱河造成了極大的恐慌次泽,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件席爽,死亡現(xiàn)場離奇詭異意荤,居然都是意外死亡,警方通過查閱死者的電腦和手機只锻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門玖像,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人齐饮,你說我怎么就攤上這事捐寥。” “怎么了祖驱?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵握恳,是天一觀的道長。 經(jīng)常有香客問我捺僻,道長乡洼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任匕坯,我火速辦了婚禮束昵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘葛峻。我一直安慰自己锹雏,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布术奖。 她就那樣靜靜地躺著礁遵,像睡著了一般匿辩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榛丢,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天铲球,我揣著相機與錄音,去河邊找鬼晰赞。 笑死稼病,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掖鱼。 我是一名探鬼主播然走,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼戏挡!你這毒婦竟也來了芍瑞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤褐墅,失蹤者是張志新(化名)和其女友劉穎拆檬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妥凳,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡竟贯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逝钥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屑那。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖艘款,靈堂內(nèi)的尸體忽然破棺而出持际,到底是詐尸還是另有隱情,我是刑警寧澤哗咆,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布蜘欲,位于F島的核電站,受9級特大地震影響岳枷,放射性物質(zhì)發(fā)生泄漏芒填。R本人自食惡果不足惜呜叫,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一空繁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朱庆,春花似錦盛泡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凯砍。三九已至,卻和暖如春拴竹,著一層夾襖步出監(jiān)牢的瞬間悟衩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工栓拜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留座泳,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓幕与,卻偏偏與公主長得像挑势,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子啦鸣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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

  • 有效學(xué)習(xí) 內(nèi)容簡介 在終身學(xué)習(xí)的時代潮饱,如何有效學(xué)習(xí)與堅持學(xué)習(xí)一樣重要。我們自己所習(xí)得的學(xué)習(xí)技巧诫给,可能都不再適應(yīng)當(dāng)下...
    老蕭雜談閱讀 579評論 2 7
  • 艾瑞克森-資料刪減 作者:中國催眠網(wǎng) 來源:網(wǎng)絡(luò)整合 這個大類為米爾頓模式的一部分香拉,稱為資料刪減( Deletin...
    Flora_ym閱讀 449評論 0 0
  • C姑娘和G姑娘同上跆拳道課。 兩人起點不同中狂,C姑娘是白帶缕溉,G姑娘是黃帶篱竭。兩人的考級目標(biāo)不同忘分,C姑娘想跨級考綠帶霹菊,G...
    果二閱讀 746評論 0 0
  • 虛擬社交網(wǎng)絡(luò)的基本拓展方式 為了更好的原創(chuàng)(以及借鑒)O2O/社交屬性產(chǎn)品阳掐,有必要從抽象的角度疹瘦,提煉出一般意義的猖败,...
    scvhuang閱讀 714評論 0 2
  • 在我看來赐写,小說不過是為理解后面詩歌所做的漫長準(zhǔn)備鸟蜡,就像正餐開始前所提供的開胃酒。誠然挺邀,小說更為龐大復(fù)雜揉忘,是厚重的紀(jì)...
    閑人讀書閱讀 311評論 0 1