YOLO論文翻譯——中文版

文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書

聲明:作者翻譯論文僅為學習芯丧,如有侵權(quán)請聯(lián)系作者刪除博文展鸡,謝謝诵盼!

翻譯論文匯總:https://github.com/SnailTyan/deep-learning-papers-translation

You Only Look Once: Unified, Real-Time Object Detection

摘要

我們提出了YOLO蓄拣,一種新的目標檢測方法拗小。以前的目標檢測工作重新利用分類器來執(zhí)行檢測。相反樱哼,我們將目標檢測框架看作回歸問題從空間上分割邊界框和相關(guān)的類別概率哀九。單個神經(jīng)網(wǎng)絡(luò)在一次評估中直接從完整圖像上預測邊界框和類別概率。由于整個檢測流水線是單一網(wǎng)絡(luò)搅幅,因此可以直接對檢測性能進行端到端的優(yōu)化阅束。

我們的統(tǒng)一架構(gòu)非常快茄唐。我們的基礎(chǔ)YOLO模型以45幀/秒的速度實時處理圖像息裸。網(wǎng)絡(luò)的一個較小版本蝇更,快速YOLO,每秒能處理驚人的155幀呼盆,同時實現(xiàn)其它實時檢測器兩倍的mAP年扩。與最先進的檢測系統(tǒng)相比,YOLO產(chǎn)生了更多的定位誤差访圃,但不太可能在背景上的預測假陽性厨幻。最后,YOLO學習目標非常通用的表示腿时。當從自然圖像到藝術(shù)品等其它領(lǐng)域泛化時况脆,它都優(yōu)于其它檢測方法,包括DPM和R-CNN批糟。

1. 引言

人們瞥一眼圖像格了,立即知道圖像中的物體是什么,它們在哪里以及它們?nèi)绾蜗嗷プ饔没斩ΑH祟惖囊曈X系統(tǒng)是快速和準確的盛末,使我們能夠執(zhí)行復雜的任務(wù),如駕駛時沒有多少有意識的想法纬傲÷埽快速,準確的目標檢測算法可以讓計算機在沒有專門傳感器的情況下駕駛汽車叹括,使輔助設(shè)備能夠向人類用戶傳達實時的場景信息算墨,并表現(xiàn)出對一般用途和響應機器人系統(tǒng)的潛力。

目前的檢測系統(tǒng)重用分類器來執(zhí)行檢測汁雷。為了檢測目標净嘀,這些系統(tǒng)為該目標提供一個分類器,并在不同的位置對其進行評估侠讯,并在測試圖像中進行縮放挖藏。像可變形部件模型(DPM)這樣的系統(tǒng)使用滑動窗口方法,其分類器在整個圖像的均勻間隔的位置上運行[10]厢漩。

最近的方法膜眠,如R-CNN使用區(qū)域提出方法首先在圖像中生成潛在的邊界框,然后在這些提出的框上運行分類器溜嗜。在分類之后宵膨,后處理用于細化邊界框,消除重復的檢測炸宵,并根據(jù)場景中的其它目標重新定位邊界框[13]辟躏。這些復雜的流程很慢,很難優(yōu)化土全,因為每個單獨的組件都必須單獨進行訓練捎琐。

我們將目標檢測重新看作單一的回歸問題会涎,直接從圖像像素到邊界框坐標和類概率。使用我們的系統(tǒng)瑞凑,您只需要在圖像上看一次(YOLO)末秃,以預測出現(xiàn)的目標和位置。

YOLO很簡單:參見圖1拨黔。單個卷積網(wǎng)絡(luò)同時預測這些盒子的多個邊界框和類概率蛔溃。YOLO在全圖像上訓練并直接優(yōu)化檢測性能。這種統(tǒng)一的模型比傳統(tǒng)的目標檢測方法有一些好處篱蝇。

Figure 1

圖1:YOLO檢測系統(tǒng)贺待。用YOLO處理圖像簡單直接。我們的系統(tǒng)(1)將輸入圖像調(diào)整為448×448零截,(2)在圖像上運行單個卷積網(wǎng)絡(luò)麸塞,以及(3)由模型的置信度對所得到的檢測進行閾值處理。

首先涧衙,YOLO速度非衬墓ぃ快。由于我們將檢測視為回歸問題弧哎,所以我們不需要復雜的流程雁比。測試時我們在一張新圖像上簡單的運行我們的神經(jīng)網(wǎng)絡(luò)來預測檢測。我們的基礎(chǔ)網(wǎng)絡(luò)以每秒45幀的速度運行撤嫩,在Titan X GPU上沒有批處理偎捎,快速版本運行速度超過150fps。這意味著我們可以在不到25毫秒的延遲內(nèi)實時處理流媒體視頻序攘。此外茴她,YOLO實現(xiàn)了其它實時系統(tǒng)兩倍以上的平均精度。關(guān)于我們的系統(tǒng)在網(wǎng)絡(luò)攝像頭上實時運行的演示程奠,請參閱我們的項目網(wǎng)頁:http://pjreddie.com/yolo/丈牢。

其次,YOLO在進行預測時瞄沙,會對圖像進行全局推理己沛。與基于滑動窗口和區(qū)域提出的技術(shù)不同,YOLO在訓練期間和測試時會看到整個圖像距境,所以它隱式地編碼了關(guān)于類的上下文信息以及它們的外觀泛粹。快速R-CNN是一種頂級的檢測方法[14]肮疗,因為它看不到更大的上下文,所以在圖像中會將背景塊誤檢為目標扒接。與快速R-CNN相比伪货,YOLO的背景誤檢數(shù)量少了一半们衙。

第三,YOLO學習目標的泛化表示碱呼。當在自然圖像上進行訓練并對藝術(shù)作品進行測試時蒙挑,YOLO大幅優(yōu)于DPM和R-CNN等頂級檢測方法。由于YOLO具有高度泛化能力愚臀,因此在應用于新領(lǐng)域或碰到意外的輸入時不太可能出故障忆蚀。

YOLO在精度上仍然落后于最先進的檢測系統(tǒng)。雖然它可以快速識別圖像中的目標姑裂,但它仍在努力精確定位一些目標馋袜,尤其是小的目標。我們在實驗中會進一步檢查這些權(quán)衡舶斧。

我們所有的訓練和測試代碼都是開源的欣鳖。各種預訓練模型也都可以下載。

2. 統(tǒng)一檢測

我們將目標檢測的單獨組件集成到單個神經(jīng)網(wǎng)絡(luò)中茴厉。我們的網(wǎng)絡(luò)使用整個圖像的特征來預測每個邊界框泽台。它還可以同時預測一張圖像中的所有類別的所有邊界框。這意味著我們的網(wǎng)絡(luò)全面地推理整張圖像和圖像中的所有目標矾缓。YOLO設(shè)計可實現(xiàn)端到端訓練和實時的速度怀酷,同時保持較高的平均精度。

我們的系統(tǒng)將輸入圖像分成$S\times S$的網(wǎng)格嗜闻。如果一個目標的中心落入一個網(wǎng)格單元中蜕依,該網(wǎng)格單元負責檢測該目標。

每個網(wǎng)格單元預測這些盒子的$B$個邊界框和置信度分數(shù)泞辐。這些置信度分數(shù)反映了該模型對盒子是否包含目標的信心笔横,以及它預測盒子的準確程度。在形式上咐吼,我們將置信度定義為$\Pr(\textrm{Object}) * \textrm{IOU}_{\textrm{pred}}^{\textrm{truth}}$吹缔。如果該單元格中不存在目標,則置信度分數(shù)應為零锯茄。否則厢塘,我們希望置信度分數(shù)等于預測框與真實值之間聯(lián)合部分的交集(IOU)。

每個邊界框包含5個預測:$x$肌幽,$y$晚碾,$w$,$h$和置信度喂急。$(x格嘁,y)$坐標表示邊界框相對于網(wǎng)格單元邊界框的中心。寬度和高度是相對于整張圖像預測的廊移。最后糕簿,置信度預測表示預測框與實際邊界框之間的IOU探入。

每個網(wǎng)格單元還預測$C$個條件類別概率$\Pr(\textrm{Class}_i | \textrm{Object})$。這些概率以包含目標的網(wǎng)格單元為條件懂诗。每個網(wǎng)格單元我們只預測的一組類別概率蜂嗽,而不管邊界框的的數(shù)量$B$是多少。

在測試時殃恒,我們乘以條件類概率和單個盒子的置信度預測植旧,$$\Pr(\textrm{Class}_i | \textrm{Object}) * \Pr(\textrm{Object}) * \textrm{IOU}_{\textrm{pred}}^{\textrm{truth}} = \Pr(\textrm{Class}_i)*\textrm{IOU}_{\textrm{pred}}^{\textrm{truth}}$$ 它為我們提供了每個框特定類別的置信度分數(shù)。這些分數(shù)編碼了該類出現(xiàn)在框中的概率以及預測框擬合目標的程度离唐。

為了在Pascal VOC上評估YOLO病附,我們使用$S=7$,$B=2$侯繁。Pascal VOC有20個標注類胖喳,所以$C=20$。我們最終的預測是$7\times 7 \times 30$的張量贮竟。

Figure 2

模型丽焊。 我們的系統(tǒng)將檢測建模為回歸問題。它將圖像分成$S \times S$的網(wǎng)格咕别,并且每個網(wǎng)格單元預測$B$個邊界框技健,這些邊界框的置信度以及$C$個類別概率。這些預測被編碼為$S \times S \times (B*5 + C)$的張量惰拱。

2.1. 網(wǎng)絡(luò)設(shè)計

我們將此模型作為卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn)雌贱,并在Pascal VOC檢測數(shù)據(jù)集[9]上進行評估。網(wǎng)絡(luò)的初始卷積層從圖像中提取特征偿短,而全連接層預測輸出概率和坐標欣孤。

我們的網(wǎng)絡(luò)架構(gòu)受到GoogLeNet圖像分類模型的啟發(fā)[34]。我們的網(wǎng)絡(luò)有24個卷積層昔逗,后面是2個全連接層降传。我們只使用$1 \times 1$降維層,后面是$3 \times 3$卷積層勾怒,這與Lin等人[22]類似婆排,而不是GoogLeNet使用的Inception模塊。完整的網(wǎng)絡(luò)如圖3所示笔链。

Figure 3

圖3:架構(gòu)段只。我們的檢測網(wǎng)絡(luò)有24個卷積層,其次是2個全連接層鉴扫。交替$1 \times 1$卷積層減少了前面層的特征空間赞枕。我們在ImageNet分類任務(wù)上以一半的分辨率($224 \times 224$的輸入圖像)預訓練卷積層,然后將分辨率加倍來進行檢測。

我們還訓練了快速版本的YOLO鹦赎,旨在推動快速目標檢測的界限谍椅。快速YOLO使用具有較少卷積層(9層而不是24層)的神經(jīng)網(wǎng)絡(luò)古话,在這些層中使用較少的濾波器。除了網(wǎng)絡(luò)規(guī)模之外锁施,YOLO和快速YOLO的所有訓練和測試參數(shù)都是相同的陪踩。

我們網(wǎng)絡(luò)的最終輸出是$7 \times 7 \times 30$的預測張量。

2.2. 訓練

我們在ImageNet 1000類競賽數(shù)據(jù)集[30]上預訓練我們的卷積圖層悉抵。對于預訓練肩狂,我們使用圖3中的前20個卷積層,接著是平均池化層和全連接層姥饰。我們對這個網(wǎng)絡(luò)進行了大約一周的訓練傻谁,并且在ImageNet 2012驗證集上獲得了單一裁剪圖像$88%$的top-5準確率,與Caffe模型池中的GoogLeNet模型相當列粪。我們使用Darknet框架進行所有的訓練和推斷[26]审磁。

然后我們轉(zhuǎn)換模型來執(zhí)行檢測。Ren等人表明岂座,預訓練網(wǎng)絡(luò)中增加卷積層和連接層可以提高性能[29]态蒂。按照他們的例子,我們添加了四個卷積層和兩個全連接層费什,并且具有隨機初始化的權(quán)重钾恢。檢測通常需要細粒度的視覺信息,因此我們將網(wǎng)絡(luò)的輸入分辨率從$224 \times 224$變?yōu)?448 \times 448$鸳址。

我們的最后一層預測類概率和邊界框坐標瘩蚪。我們通過圖像寬度和高度來規(guī)范邊界框的寬度和高度,使它們落在0和1之間稿黍。我們將邊界框$x$和$y$坐標參數(shù)化為特定網(wǎng)格單元位置的偏移量疹瘦,所以它們邊界也在0和1之間。

我們對最后一層使用線性激活函數(shù)闻察,所有其它層使用下面的漏泄修正線性激活:
$$
\phi(x) =
\begin{cases}
x, if x > 0 \\
0.1x, otherwise
\end{cases}
$$

我們優(yōu)化了模型輸出中的平方和誤差拱礁。我們使用平方和誤差,因為它很容易進行優(yōu)化辕漂,但是它并不完全符合我們最大化平均精度的目標呢灶。分類誤差與定位誤差的權(quán)重是一樣的,這可能并不理想钉嘹。另外鸯乃,在每張圖像中,許多網(wǎng)格單元不包含任何對象。這將這些單元格的“置信度”分數(shù)推向零缨睡,通常壓倒了包含目標的單元格的梯度鸟悴。這可能導致模型不穩(wěn)定,從而導致訓練早期發(fā)散奖年。

為了改善這一點细诸,我們增加了邊界框坐標預測損失,并減少了不包含目標邊界框的置信度預測損失陋守。我們使用兩個參數(shù)$\lambda_\textrm{coord}$和$\lambda_\textrm{noobj}$來完成這個工作震贵。我們設(shè)置$\lambda_\textrm{coord} = 5$和$\lambda_\textrm{noobj} = .5$。

平方和誤差也可以在大盒子和小盒子中同樣加權(quán)誤差水评。我們的錯誤指標應該反映出猩系,大盒子小偏差的重要性不如小盒子小偏差的重要性。為了部分解決這個問題中燥,我們直接預測邊界框?qū)挾群透叨鹊钠椒礁艿椋皇菍挾群透叨取?/p>

YOLO每個網(wǎng)格單元預測多個邊界框。在訓練時疗涉,每個目標我們只需要一個邊界框預測器來負責炮赦。我們指定一個預測器“負責”根據(jù)哪個預測與真實值之間具有當前最高的IOU來預測目標软能。這導致邊界框預測器之間的專業(yè)化甘穿。每個預測器可以更好地預測特定大小呆奕,方向角,或目標的類別偏窝,從而改善整體召回率收恢。

在訓練期間,我們優(yōu)化以下多部分損失函數(shù):
$$
\begin{multline}
\lambda_\textbf{coord}
\sum_{i = 0}{S2}
\sum_{j = 0}^{B}
\mathbb{1}_{ij}^{\text{obj}}
\left[
\left(
x_i - \hat{x}_i
\right)^2 +
\left(
y_i - \hat{y}_i
\right)^2
\right]
\\
+ \lambda_\textbf{coord}
\sum_{i = 0}{S2}
\sum_{j = 0}^{B}
\mathbb{1}_{ij}^{\text{obj}}
\left[
\left(
\sqrt{w_i} - \sqrt{\hat{w}_i}
\right)^2 +
\left(
\sqrt{h_i} - \sqrt{\hat{h}_i}
\right)^2
\right]
\\
+ \sum_{i = 0}{S2}
\sum_{j = 0}^{B}
\mathbb{1}_{ij}^{\text{obj}}
\left(
C_i - \hat{C}_i
\right)^2
\\
+ \lambda_\textrm{noobj}
\sum_{i = 0}{S2}
\sum_{j = 0}^{B}
\mathbb{1}_{ij}^{\text{noobj}}
\left(
C_i - \hat{C}_i
\right)^2
\\
+ \sum_{i = 0}{S2}
\mathbb{1}_i^{\text{obj}}
\sum_{c \in \textrm{classes}}
\left(
p_i(c) - \hat{p}_i(c)
\right)^2
\end{multline}
$$
其中$\mathbb{1}_i{\text{obj}}$表示目標是否出現(xiàn)在網(wǎng)格單元$i$中祭往,$\mathbb{1}_{ij}{\text{obj}}$表示網(wǎng)格單元$i$中的第$j$個邊界框預測器“負責”該預測伦意。

注意,如果目標存在于該網(wǎng)格單元中(前面討論的條件類別概率)硼补,則損失函數(shù)僅懲罰分類錯誤驮肉。如果預測器“負責”實際邊界框(即該網(wǎng)格單元中具有最高IOU的預測器),則它也僅懲罰邊界框坐標錯誤已骇。

我們對Pascal VOC 2007和2012的訓練和驗證數(shù)據(jù)集進行了大約135個迭代周期的網(wǎng)絡(luò)訓練离钝。在Pascal VOC 2012上進行測試時,我們的訓練包含了Pascal VOC 2007的測試數(shù)據(jù)褪储。在整個訓練過程中卵渴,我們使用了$64$的批大小,$0.9$的動量和$0.0005$的衰減鲤竹。

我們的學習率方案如下:對于第一個迭代周期浪读,我們慢慢地將學習率從$10{-3}$提高到$10{-2}$。如果我們從高學習率開始,我們的模型往往會由于不穩(wěn)定的梯度而發(fā)散碘橘。我們繼續(xù)以$10{-2}$的學習率訓練75個迭代周期互订,然后用$10{-3}$的學習率訓練30個迭代周期,最后用$10^{-4}$的學習率訓練30個迭代周期痘拆。

為了避免過度擬合仰禽,我們使用丟棄和大量的數(shù)據(jù)增強。在第一個連接層之后错负,丟棄層使用$=.5$的比例坟瓢,防止層之間的互相適應[18]。對于數(shù)據(jù)增強犹撒,我們引入高達原始圖像$20%$大小的隨機縮放和轉(zhuǎn)換。我們還在HSV色彩空間中使用高達$1.5$的因子來隨機調(diào)整圖像的曝光和飽和度粒褒。

2.3. 推斷

就像在訓練中一樣识颊,預測測試圖像的檢測只需要一次網(wǎng)絡(luò)評估。在Pascal VOC上奕坟,每張圖像上網(wǎng)絡(luò)預測98個邊界框和每個框的類別概率祥款。YOLO在測試時非常快月杉,因為它只需要一次網(wǎng)絡(luò)評估刃跛,不像基于分類器的方法。

網(wǎng)格設(shè)計強化了邊界框預測中的空間多樣性苛萎。通常很明顯一個目標落在哪一個網(wǎng)格單元中桨昙,而網(wǎng)絡(luò)只能為每個目標預測一個邊界框。然而腌歉,一些大的目標或靠近多個網(wǎng)格單元邊界的目標可以被多個網(wǎng)格單元很好地定位蛙酪。非極大值抑制可以用來修正這些多重檢測。對于R-CNN或DPM而言翘盖,性能不是關(guān)鍵的桂塞,非最大抑制會增加$2-3%$的mAP。

2.4. YOLO的限制

YOLO對邊界框預測強加空間約束馍驯,因為每個網(wǎng)格單元只預測兩個盒子阁危,只能有一個類別。這個空間約束限制了我們的模型可以預測的鄰近目標的數(shù)量汰瘫。我們的模型與群組中出現(xiàn)的小物體(比如鳥群)進行斗爭狂打。

由于我們的模型學習從數(shù)據(jù)中預測邊界框,因此它很難泛化到新的吟吝、不常見的方向比或配置的目標菱父。我們的模型也使用相對較粗糙的特征來預測邊界框,因為我們的架構(gòu)具有來自輸入圖像的多個下采樣層。

最后浙宜,當我們訓練一個近似檢測性能的損失函數(shù)時官辽,我們的損失函數(shù)會同樣的對待小邊界框與大邊界框的誤差。大邊界框的小誤差通常是良性的粟瞬,但小邊界框的小誤差對IOU的影響要大得多同仆。我們的主要錯誤來源是不正確的定位。

3. 與其它檢測系統(tǒng)的比較

目標檢測是計算機視覺中的核心問題裙品。檢測流程通常從輸入圖像上(Haar [25]俗批,SIFT [23],HOG [4]市怎,卷積特征[6])提取一組魯棒特征開始岁忘。然后,分類器[36,21,13,10]或定位器[1,32]被用來識別特征空間中的目標区匠。這些分類器或定位器在整個圖像上或在圖像中的一些子區(qū)域上以滑動窗口的方式運行[35,15,39]干像。我們將YOLO檢測系統(tǒng)與幾種頂級檢測框架進行比較,突出了關(guān)鍵的相似性和差異性驰弄。

可變形部件模型麻汰。可變形零件模型(DPM)使用滑動窗口方法進行目標檢測[10]。DPM使用不相交的流程來提取靜態(tài)特征戚篙,對區(qū)域進行分類五鲫,預測高評分區(qū)域的邊界框等。我們的系統(tǒng)用單個卷積神經(jīng)網(wǎng)絡(luò)替換所有這些不同的部分岔擂。網(wǎng)絡(luò)同時進行特征提取位喂,邊界框預測,非極大值抑制和上下文推理智亮。代替靜態(tài)特征忆某,網(wǎng)絡(luò)內(nèi)嵌地訓練特征并為檢測任務(wù)優(yōu)化它們。我們的統(tǒng)一架構(gòu)導致了比DPM更快阔蛉,更準確的模型弃舒。

R-CNN。R-CNN及其變種使用區(qū)域提出而不是滑動窗口來查找圖像中的目標状原。選擇性搜索[35]產(chǎn)生潛在的邊界框聋呢,卷積網(wǎng)絡(luò)提取特征,SVM對邊界框進行評分颠区,線性模型調(diào)整邊界框削锰,非極大值抑制消除重復檢測。這個復雜流程的每個階段都必須獨立地進行精確調(diào)整毕莱,所得到的系統(tǒng)非常慢器贩,測試時每張圖像需要超過40秒[14]颅夺。

YOLO與R-CNN有一些相似之處。每個網(wǎng)格單元提出潛在的邊界框并使用卷積特征對這些框進行評分蛹稍。但是吧黄,我們的系統(tǒng)對網(wǎng)格單元提出進行了空間限制,這有助于緩解對同一目標的多次檢測唆姐。我們的系統(tǒng)還提出了更少的邊界框拗慨,每張圖像只有98個,而選擇性搜索則只有2000個左右奉芦。最后赵抢,我們的系統(tǒng)將這些單獨的組件組合成一個單一的,共同優(yōu)化的模型声功。

其它快速檢測器烦却。快速和更快的R-CNN通過共享計算和使用神經(jīng)網(wǎng)絡(luò)替代選擇性搜索來提出區(qū)域加速R-CNN框架[14],[28]先巴。雖然它們提供了比R-CNN更快的速度和更高的準確度短绸,但兩者仍然不能達到實時性能。

許多研究工作集中在加快DPM流程上[31] [38] [5]筹裕。它們加速HOG計算,使用級聯(lián)窄驹,并將計算推動到GPU上朝卒。但是,實際上只有30Hz的DPM [31]可以實時運行乐埠。

YOLO不是試圖優(yōu)化大型檢測流程的單個組件抗斤,而是完全拋棄流程,被設(shè)計為快速檢測丈咐。

像人臉或行人等單類別的檢測器可以高度優(yōu)化瑞眼,因為他們必須處理更少的變化[37]。YOLO是一種通用的檢測器棵逊,可以學習同時檢測多個目標伤疙。

Deep MultiBox。與R-CNN不同辆影,Szegedy等人訓練了一個卷積神經(jīng)網(wǎng)絡(luò)來預測感興趣區(qū)域[8]徒像,而不是使用選擇性搜索。MultiBox還可以通過用單類預測替換置信度預測來執(zhí)行單目標檢測蛙讥。然而锯蛀,MultiBox無法執(zhí)行通用的目標檢測,并且仍然只是一個較大的檢測流程中的一部分次慢,需要進一步的圖像塊分類旁涤。YOLO和MultiBox都使用卷積網(wǎng)絡(luò)來預測圖像中的邊界框翔曲,但是YOLO是一個完整的檢測系統(tǒng)。

OverFeat劈愚。Sermanet等人訓練了一個卷積神經(jīng)網(wǎng)絡(luò)來執(zhí)行定位瞳遍,并使該定位器進行檢測[32]。OverFeat高效地執(zhí)行滑動窗口檢測造虎,但它仍然是一個不相交的系統(tǒng)傅蹂。OverFeat優(yōu)化了定位,而不是檢測性能算凿。像DPM一樣份蝴,定位器在進行預測時只能看到局部信息。OverFeat不能推斷全局上下文氓轰,因此需要大量的后處理來產(chǎn)生連貫的檢測婚夫。

MultiGrasp。我們的工作在設(shè)計上類似于Redmon等[27]的抓取檢測署鸡。我們對邊界框預測的網(wǎng)格方法是基于MultiGrasp系統(tǒng)抓取的回歸分析案糙。然而,抓取檢測比目標檢測任務(wù)要簡單得多靴庆。MultiGrasp只需要為包含一個目標的圖像預測一個可以抓取的區(qū)域时捌。不必估計目標的大小,位置或目標邊界或預測目標的類別炉抒,只找到適合抓取的區(qū)域奢讨。YOLO預測圖像中多個類別的多個目標的邊界框和類別概率。

4. 實驗

首先焰薄,我們在PASCAL VOC 2007上比較YOLO和其它的實時檢測系統(tǒng)拿诸。為了理解YOLO和R-CNN變種之間的差異,我們探索了YOLO和R-CNN性能最高的版本之一Fast R-CNN[14]在VOC 2007上錯誤率塞茅。根據(jù)不同的誤差曲線亩码,我們顯示YOLO可以用來重新評估Fast R-CNN檢測,并減少背景假陽性帶來的錯誤野瘦,從而顯著提升性能描沟。我們還展示了在VOC 2012上的結(jié)果,并與目前最先進的方法比較了mAP缅刽。最后啊掏,在兩個藝術(shù)品數(shù)據(jù)集上我們顯示了YOLO可以比其它檢測器更好地泛化到新領(lǐng)域。

4.1. 與其它實時系統(tǒng)的比較

目標檢測方面的許多研究工作都集中在快速制定標準檢測流程上[5]衰猛,[38]迟蜜,[31],[14]啡省,[17]娜睛,[28]髓霞。然而,只有Sadeghi等實際上產(chǎn)生了一個實時運行的檢測系統(tǒng)(每秒30幀或更好)[31]畦戒。我們將YOLO與DPM的GPU實現(xiàn)進行了比較方库,其在30Hz或100Hz下運行。雖然其它的努力沒有達到實時性的里程碑障斋,我們也比較了它們的相對mAP和速度來檢查目標檢測系統(tǒng)中精度——性能權(quán)衡纵潦。

快速YOLO是PASCAL上最快的目標檢測方法;據(jù)我們所知垃环,它是現(xiàn)有的最快的目標檢測器邀层。具有$52.7%$的mAP,實時檢測的精度是以前工作的兩倍以上遂庄。YOLO將mAP推到$63.4%$的同時保持了實時性能寥院。

我們還使用VGG-16訓練YOLO。這個模型比YOLO更準確涛目,但也比它慢得多秸谢。對于依賴于VGG-16的其它檢測系統(tǒng)來說,它是比較有用的霹肝,但由于它比實時的YOLO更慢估蹄,本文的其它部分將重點放在我們更快的模型上。

最快的DPM可以在不犧牲太多mAP的情況下有效地加速DPM沫换,但仍然會將實時性能降低2倍[38]元媚。與神經(jīng)網(wǎng)絡(luò)方法相比,DPM相對低的檢測精度也受到限制苗沧。

減去R的R-CNN用靜態(tài)邊界框提出取代選擇性搜索[20]。雖然速度比R-CNN更快炭晒,但仍然不能實時待逞,并且由于沒有好的邊界框提出,準確性受到了嚴重影響网严。

快速R-CNN加快了R-CNN的分類階段识樱,但是仍然依賴選擇性搜索,每張圖像需要花費大約2秒來生成邊界框提出震束。因此怜庸,它具有很高的mAP,但是$0.5$的fps仍離實時性很遠垢村。

最近更快的R-CNN用神經(jīng)網(wǎng)絡(luò)替代了選擇性搜索來提出邊界框割疾,類似于Szegedy等[8]。在我們的測試中嘉栓,他們最精確的模型達到了7fps宏榕,而較小的拓诸,不太精確的模型以18fps運行。VGG-16版本的Faster R-CNN要高出10mAP麻昼,但比YOLO慢6倍奠支。Zeiler-Fergus的Faster R-CNN只比YOLO慢了2.5倍,但也不太準確抚芦。

最近更快的R-CNN用神經(jīng)網(wǎng)絡(luò)替代了選擇性搜索來提出邊界框倍谜,類似于Szegedy等[8]。在我們的測試中尔崔,他們最精確的模型達到了7fps卜壕,而較小的,不太精確的模型以18fps運行鹤盒。VGG-16版本的Faster R-CNN要高出10mAP侦副,但比YOLO慢6倍。Zeiler-Fergus的Faster R-CNN只比YOLO慢了2.5倍尺碰,但也不太準確译隘。

Table 1

表1:Pascal VOC 2007上的實時系統(tǒng)。比較快速檢測器的性能和速度固耘√馀瘢快速YOLO是Pascal VOC檢測記錄中速度最快的檢測器,其精度仍然是其它實時檢測器的兩倍厅目。YOLO比快速版本更精確10mAP番枚,同時在速度上仍保持實時性。

4.2. VOC 2007錯誤率分析

為了進一步檢查YOLO和最先進的檢測器之間的差異损敷,我們詳細分析了VOC 2007的結(jié)果葫笼。我們將YOLO與Fast R-CNN進行比較,因為Fast R-CNN是PASCAL上性能最高的檢測器之一并且它的檢測代碼是可公開得到的拗馒。

我們使用Hoiem等人[19]的方法和工具路星。對于測試時的每個類別,我們看這個類別的前N個預測诱桂。每個預測或者是正確的奥额,或者根據(jù)錯誤類型進行分類:

  • Correct:正確的類別且IOU$> 0.5$苫幢。
  • Localization:正確的類別,$0.1 < IOU < 0.5$垫挨。
  • Similar:類別相似韩肝,IOU $> 0.1$。
  • Other:類別錯誤九榔,IOU $> 0.1$哀峻。
  • Background:任何IOU $< 0.1$的目標。

圖4顯示了在所有的20個類別上每種錯誤類型平均值的分解圖哲泊。

Figure 4

圖4剩蟀,誤差分析:Fast R-CNN vs. YOLO。這些圖顯示了各種類別的前N個預測中定位錯誤和背景錯誤的百分比(N = #表示目標在那個類別中)切威。

YOLO努力地正確定位目標育特。定位錯誤占YOLO錯誤的大多數(shù),比其它錯誤源加起來都多缰冤。Fast R-CNN使定位錯誤少得多,但背景錯誤更多迷郑。它的檢測的$13.6%$是不包含任何目標的誤報。Fast R-CNN比YOLO預測背景檢測的可能性高出近3倍就漾。

4.3. 結(jié)合Fast R-CNN和YOLO

YOLO比Fast R-CNN的背景誤檢要少得多朗徊。通過使用YOLO消除Fast R-CNN的背景檢測爷恳,我們獲得了顯著的性能提升棚壁。對于R-CNN預測的每個邊界框袖外,我們檢查YOLO是否預測一個類似的框曼验。如果是這樣,我們根據(jù)YOLO預測的概率和兩個盒子之間的重疊來對這個預測進行提升豺裆。

最好的Fast R-CNN模型在VOC 2007測試集上達到了$71.8%$的mAP。當與YOLO結(jié)合時获讳,其mAP增加了$3.2%$達到了$75.0%$丐膝。我們也嘗試將最好的Fast R-CNN模型與其它幾個版本的Fast R-CNN結(jié)合起來。這些模型組合產(chǎn)生了$0.3$到$0.6%$之間的小幅增加浑此,詳見表2凛俱。

Table 2

表2:VOC 2007模型組合實驗岸啡。我們檢驗了各種模型與Fast R-CNN最佳版本結(jié)合的效果。Fast R-CNN的其它版本只提供很小的好處,而YOLO則提供了顯著的性能提升嘹吨。

來自YOLO的提升不僅僅是模型組合的副產(chǎn)品躺苦,因為組合不同版本的Fast R-CNN幾乎沒有什么好處。相反愈诚,正是因為YOLO在測試時出現(xiàn)了各種各樣的錯誤,所以在提高Fast R-CNN的性能方面非常有效匕累。

遺憾的是欢嘿,這個組合并沒有從YOLO的速度中受益炼蹦,因為我們分別運行每個模型,然后結(jié)合結(jié)果。但是僧凰,由于YOLO速度如此之快,與Fast R-CNN相比架馋,不會增加任何顯著的計算時間。

4.4. VOC 2012的結(jié)果

在VOC 2012測試集上屏鳍,YOLO得分為$57.9%$的mAP。這低于現(xiàn)有的最新技術(shù)山涡,接近于使用VGG-16的原始R-CNN唐责,見表3熟菲。我們的系統(tǒng)與其最接近的競爭對手相比科盛,在小目標上努力贞绵。在bottlesheeptv/monitor等類別上恍飘,YOLO的得分比R-CNN或Feature Edit低$8-10%$榨崩。然而,在cattrain等其它類別上YOLO實現(xiàn)了更高的性能章母。

Table 3

表3:PASCAL VOC 2012排行榜母蛛。截至2015年11月6日,YOLO與完整comp4(允許外部數(shù)據(jù))公開排行榜進行了比較乳怎。顯示了各種檢測方法的平均精度均值和每類的平均精度彩郊。YOLO是唯一的實時檢測器。Fast R-CNN + YOLO是評分第四高的方法尝胆,比Fast R-CNN提升了2.3%。

我們聯(lián)合的Fast R-CNN + YOLO模型是性能最高的檢測方法之一寺渗。Fast R-CNN從與YOLO的組合中獲得了$2.3%$的提高,在公開排行榜上上移了5位朽缴。

4.5. 泛化能力:藝術(shù)品中的行人檢測

用于目標檢測的學術(shù)數(shù)據(jù)集以相同分布獲取訓練和測試數(shù)據(jù)。在現(xiàn)實世界的應用中,很難預測所有可能的用例离斩,而且測試數(shù)據(jù)可能與系統(tǒng)之前看到的不同[3]。我們在Picasso數(shù)據(jù)集上[12]和People-Art數(shù)據(jù)集[3]上將YOLO與其它的檢測系統(tǒng)進行比較尼荆,這兩個數(shù)據(jù)集用于測試藝術(shù)品中的行人檢測。

圖5顯示了YOLO和其它檢測方法之間的比較性能。作為參考咬像,我們在person上提供VOC 2007的檢測AP待讳,其中所有模型僅在VOC 2007數(shù)據(jù)上訓練。在Picasso數(shù)據(jù)集上的模型在VOC 2012上訓練施无,而People-Art數(shù)據(jù)集上的模型則在VOC 2010上訓練嫂便。

Figure 5

圖5:Picasso和People-Art數(shù)據(jù)集上的泛化結(jié)果屎慢。

R-CNN在VOC 2007上有高AP。然而,當應用于藝術(shù)品時,R-CNN明顯下降泊愧。R-CNN使用選擇性搜索來調(diào)整自然圖像的邊界框提出伊磺。R-CNN中的分類器步驟只能看到小區(qū)域,并且需要很好的邊界框提出删咱。

DPM在應用于藝術(shù)品時保持了其AP屑埋。之前的工作認為DPM表現(xiàn)良好,因為它具有目標形狀和布局的強大空間模型痰滋。雖然DPM不會像R-CNN那樣退化雀彼,但它開始時的AP較低壤蚜。

YOLO在VOC 2007上有很好的性能,在應用于藝術(shù)品時其AP下降低于其它方法徊哑。像DPM一樣袜刷,YOLO建模目標的大小和形狀,以及目標和目標通常出現(xiàn)的位置之間的關(guān)系莺丑。藝術(shù)品和自然圖像在像素級別上有很大不同著蟹,但是它們在目標的大小和形狀方面是相似的,因此YOLO仍然可以預測好的邊界框和檢測結(jié)果梢莽。

Figure 6

圖6:定性結(jié)果萧豆。YOLO在網(wǎng)絡(luò)采樣的藝術(shù)品和自然圖像上的運行結(jié)果。雖然它將人誤檢成了飛機昏名,但它大部分上是準確的涮雷。

5. 現(xiàn)實環(huán)境下的實時檢測

YOLO是一種快速,精確的目標檢測器轻局,非常適合計算機視覺應用洪鸭。我們將YOLO連接到網(wǎng)絡(luò)攝像頭,并驗證它是否能保持實時性能仑扑,包括從攝像頭獲取圖像并顯示檢測結(jié)果的時間览爵。

由此產(chǎn)生的系統(tǒng)是交互式和參與式的。雖然YOLO單獨處理圖像镇饮,但當連接到網(wǎng)絡(luò)攝像頭時蜓竹,其功能類似于跟蹤系統(tǒng),可在目標移動和外觀變化時檢測目標储藐。系統(tǒng)演示和源代碼可以在我們的項目網(wǎng)站上找到:http://pjreddie.com/yolo/俱济。

6. 結(jié)論

我們介紹了YOLO,一種統(tǒng)一的目標檢測模型钙勃。我們的模型構(gòu)建簡單姨蝴,可以直接在整張圖像上進行訓練。與基于分類器的方法不同肺缕,YOLO直接在對應檢測性能的損失函數(shù)上訓練左医,并且整個模型聯(lián)合訓練。

快速YOLO是文獻中最快的通用目的的目標檢測器同木,YOLO推動了實時目標檢測的最新技術(shù)浮梢。YOLO還很好地泛化到新領(lǐng)域,使其成為依賴快速彤路,強大的目標檢測應用的理想選擇秕硝。

致謝:這項工作得到了ONR N00014-13-1-0720,NSF IIS-1338054和艾倫杰出研究者獎的部分支持洲尊。

References

[1] M. B. Blaschko and C. H. Lampert. Learning to localize objects with structured output regression. In Computer Vision–ECCV 2008, pages 2–15. Springer, 2008. 4

[2] L. Bourdev and J. Malik. Poselets: Body part detectors trained using 3d human pose annotations. In International Conference on Computer Vision (ICCV), 2009. 8

[3] H. Cai, Q. Wu, T. Corradi, and P. Hall. The cross-depiction problem: Computer vision algorithms for recognising objects in artwork and in photographs. arXiv preprint arXiv:1505.00110, 2015. 7

[4] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, volume 1, pages 886–893. IEEE, 2005. 4, 8

[5] T. Dean, M. Ruzon, M. Segal, J. Shlens, S. Vijaya-narasimhan, J. Yagnik, et al. Fast, accurate detection of 100,000 object classes on a single machine. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on, pages 1814–1821. IEEE, 2013. 5

[6] J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. arXiv preprint arXiv:1310.1531, 2013. 4

[7] J. Dong, Q. Chen, S. Yan, and A. Yuille. Towards unified object detection and semantic segmentation. In Computer Vision–ECCV 2014, pages 299–314. Springer, 2014. 7

[8] D.Erhan, C.Szegedy, A.Toshev, and D.Anguelov. Scalable object detection using deep neural networks. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 2155–2162. IEEE, 2014. 5, 6

[9] M. Everingham, S. M. A. Eslami, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The pascal visual object classes challenge: A retrospective. International Journal of Computer Vision, 111(1):98–136, Jan. 2015. 2

[10] P.F.Felzenszwalb, R.B.Girshick, D.McAllester, and D.Ramanan. Object detection with discriminatively trained part based models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(9):1627–1645, 2010. 1, 4

[11] S. Gidaris and N. Komodakis. Object detection via a multi-region & semantic segmentation-aware CNN model. CoRR, abs/1505.01749, 2015. 7

[12] S. Ginosar, D. Haas, T. Brown, and J. Malik. Detecting people in cubist art. In Computer Vision-ECCV 2014 Workshops, pages 101–116. Springer, 2014. 7

[13] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 580–587. IEEE, 2014. 1, 4, 7

[14] R. B. Girshick. Fast R-CNN. CoRR, abs/1504.08083, 2015. 2, 5, 6, 7

[15] S. Gould, T. Gao, and D. Koller. Region-based segmentation and object detection. In Advances in neural information processing systems, pages 655–663, 2009. 4

[16] B. Hariharan, P. Arbela?ez, R. Girshick, and J. Malik. Simultaneous detection and segmentation. In Computer Vision–ECCV 2014, pages 297–312. Springer, 2014. 7

[17] K.He, X.Zhang, S.Ren, and J.Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. arXiv preprint arXiv:1406.4729, 2014. 5

[18] G.E.Hinton, N.Srivastava, A.Krizhevsky, I.Sutskever, and R. R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012. 4

[19] D.Hoiem, Y.Chodpathumwan, and Q.Dai. Diagnosing error in object detectors. In Computer Vision–ECCV 2012, pages 340–353. Springer, 2012. 6

[20] K. Lenc and A. Vedaldi. R-cnn minus r. arXiv preprint arXiv:1506.06981, 2015. 5, 6

[21] R. Lienhart and J. Maydt. An extended set of haar-like features for rapid object detection. In Image Processing. 2002. Proceedings. 2002
International Conference on, volume 1, pages I–900. IEEE, 2002. 4

[22] M. Lin, Q. Chen, and S. Yan. Network in network. CoRR, abs/1312.4400, 2013. 2

[23] D. G. Lowe. Object recognition from local scale-invariant features. In Computer vision, 1999. The proceedings of the seventh IEEE international conference on, volume 2, pages 1150–1157. Ieee, 1999. 4

[24] D. Mishkin. Models accuracy on imagenet 2012 val. https://github.com/BVLC/caffe/wiki/ Models-accuracy-on-ImageNet-2012-val. Accessed: 2015-10-2. 3

[25] C. P. Papageorgiou, M. Oren, and T. Poggio. A general framework for object detection. In Computer vision, 1998. sixth international conference on, pages 555–562. IEEE, 1998. 4

[26] J. Redmon. Darknet: Open source neural networks in c. http://pjreddie.com/darknet/, 2013–2016. 3

[27] J.Redmon and A.Angelova. Real-time grasp detection using convolutional neural networks. CoRR, abs/1412.3128, 2014. 5

[28] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. arXiv preprint arXiv:1506.01497, 2015. 5, 6, 7

[29] S. Ren, K. He, R. B. Girshick, X. Zhang, and J. Sun. Object detection networks on convolutional feature maps. CoRR, abs/1504.06066, 2015. 3, 7

[30] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision (IJCV), 2015. 3

[31] M. A. Sadeghi and D. Forsyth. 30hz object detection with dpm v5. In Computer Vision–ECCV 2014, pages 65–79. Springer, 2014. 5, 6

[32] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. CoRR, abs/1312.6229, 2013. 4, 5

[33] Z.Shen and X.Xue. Do more dropouts in pool5 feature maps for better object detection. arXiv preprint arXiv:1409.6911, 2014. 7

[34] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. CoRR, abs/1409.4842, 2014. 2

[35] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. International journal of computer vision, 104(2):154–171, 2013. 4, 5

[36] P. Viola and M. Jones. Robust real-time object detection. International Journal of Computer Vision, 4:34–47, 2001. 4

[37] P. Viola and M. J. Jones. Robust real-time face detection. International journal of computer vision, 57(2):137–154, 2004. 5

[38] J. Yan, Z. Lei, L. Wen, and S. Z. Li. The fastest deformable part model for object detection. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 2497–2504. IEEE, 2014. 5, 6

[39] C.L.Zitnick and P.Dolla?r.Edgeboxes:Locating object proposals from edges. In Computer Vision–ECCV 2014, pages 391–405. Springer, 2014. 4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末远豺,一起剝皮案震驚了整個濱河市奈偏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌躯护,老刑警劉巖惊来,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異棺滞,居然都是意外死亡裁蚁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門继准,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枉证,“玉大人,你說我怎么就攤上這事移必∈已瑁” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵崔泵,是天一觀的道長秒赤。 經(jīng)常有香客問我,道長管削,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任撑螺,我火速辦了婚禮含思,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甘晤。我一直安慰自己含潘,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布线婚。 她就那樣靜靜地躺著遏弱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塞弊。 梳的紋絲不亂的頭發(fā)上漱逸,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音游沿,去河邊找鬼饰抒。 笑死习勤,一個胖子當著我的面吹牛疮装,可吹牛的內(nèi)容都是我干的倒堕。 我是一名探鬼主播俯画,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼党饮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了夭织?” 一聲冷哼從身側(cè)響起网杆,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎也颤,沒想到半個月后洋幻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡歇拆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年鞋屈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片故觅。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡厂庇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出输吏,到底是詐尸還是另有隱情权旷,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布贯溅,位于F島的核電站拄氯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏它浅。R本人自食惡果不足惜译柏,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姐霍。 院中可真熱鬧鄙麦,春花似錦、人聲如沸镊折。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恨胚。三九已至骂因,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赃泡,已是汗流浹背寒波。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留升熊,地道東北人影所。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像僚碎,于是被迫代替她去往敵國和親猴娩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

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