基于深度學(xué)習(xí)的通用對象檢測算法綜述1

本文為論文《Deep Learning for Generic Object Detection: A Survey》的譯文呻拌,譯者能力有限磷蜀,僅供參考包雀。

由于平臺字?jǐn)?shù)限制谢谦,本文分成兩部分进陡,第二部分愿阐。

概述

對象檢測(Object detection)是計算機(jī)視覺中最基本且具有挑戰(zhàn)性的問題之一,其試圖在自然圖像中定位出屬于大量預(yù)定義類別集的對象實例(instances of objects)趾疚。深度學(xué)習(xí)技術(shù)已經(jīng)成為一種直接從數(shù)據(jù)中學(xué)習(xí)特征表征的強(qiáng)大方法缨历,而且在通用對象檢測方向取得了顯著突破。在當(dāng)前對象檢測快速發(fā)展的時期糙麦,本文的目標(biāo)是提供一個全面的關(guān)于深度學(xué)習(xí)在該方向最新進(jìn)展的報告辛孵。本報告包含了300多個研究,涵蓋通用對象檢測的多個方面赡磅,如檢測網(wǎng)絡(luò)框架(detection frameworks)魄缚、對象特征表征(object
feature representation)、對象區(qū)域建議生成(object proposal generation)焚廊、上下文建模( context modeling)冶匹、訓(xùn)練方法和評估指標(biāo)(evaluation metrics)。本文最后以提供確定的未來研究方向作為結(jié)束咆瘟。
關(guān)鍵字 對象檢測( Object detection) 深度學(xué)習(xí)(deep learning) 卷積神經(jīng)網(wǎng)絡(luò)( convolutional neural
networks) 對象識別( object recognition)

1 簡介

作為具有挑戰(zhàn)性的計算機(jī)視覺基礎(chǔ)任務(wù)之一嚼隘,對象檢測一直是近二十年來活躍的研究領(lǐng)域(如圖1所示) [74] 。對象檢測的目標(biāo)是在給定的圖片中確定是否存在預(yù)定義類別的對象實例(如人類搞疗、汽車嗓蘑、自行車、狗或者貓)匿乃,如果存在,給出每個對象實例在圖片中的空間位置和范圍豌汇,例如以邊界框(bounding box)的方式給出 [66,230]幢炸。作為圖像理解( image understanding)和計算機(jī)視覺的基礎(chǔ),對象檢測構(gòu)成了解決復(fù)雜或者高級視覺任務(wù)的基礎(chǔ)拒贱,例如分割(segmentation)宛徊、場景理解(scene understanding)佛嬉、對象追蹤(object tracking)、圖像描述(image captioning)闸天、事件檢測(event detction)和動作識別(activity recognition)等暖呕。此外,對象檢測還有廣泛的應(yīng)用苞氮,包括機(jī)器人視覺(robot vision)湾揽、消費電子產(chǎn)品(consumer electronics)、安防(security)笼吟、自動駕駛(autonomous driving)库物、人機(jī)交互(human computer interaction)、基于內(nèi)容的圖像檢索(content based image retrieval)贷帮、智能視頻監(jiān)控(intelligent video surveillance)和增強(qiáng)現(xiàn)實(augmented reality)戚揭。

survey_object_detection_fig_1.png

最近,深度學(xué)習(xí)技術(shù) [102,145] 已經(jīng)成為一種強(qiáng)大的直接從數(shù)據(jù)中學(xué)習(xí)特征表征的方法撵枢。特別是這些技術(shù)也為對象檢測帶來了巨大的提升民晒,如圖3所示。

如圖2所示锄禽,對象檢測可以分為兩種 [88,302] :特定類別的對象實例檢測和多種類別的對象實例檢測潜必。第一種的目的是檢測特定類型的對象實例(例如唐納德川普的臉、埃菲爾鐵塔或者鄰居的狗)沟绪,其本質(zhì)上是一個匹配問題刮便。第二種的目標(biāo)是檢測(一般是之前未見過的)多個預(yù)定義類別(如人類、汽車绽慈、自動車和狗)的對象實例恨旱。過去,對象檢測領(lǐng)域大部分研究都是聚焦在單一類別(尤其是人臉和行人)或者少量特定類別的對象檢測上坝疼。相反搜贤,在過去幾年,研究者們開始將目光轉(zhuǎn)移到構(gòu)建更具有挑戰(zhàn)性的通用對象檢測系統(tǒng)上钝凶,其對象檢測能力的廣度可以與人類媲美仪芒。

在2012年,Krizhevsky等人 [136] 提出稱為AlexNet的深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)耕陷,在ILSVRC(Large Scale Visual Recognition Challenge ) [230] 的圖像分類比賽中獲得了破紀(jì)錄的精度掂名。從那時起,許多計算機(jī)視覺領(lǐng)域的研究重點就集中在深度學(xué)習(xí)方法上哟沫,甚至包括通用對象檢測 [83,96,82,235,226]饺蔑。盡管如圖3所示通用對象檢測已經(jīng)獲得了巨大的發(fā)展,但是我們?nèi)詻]有一個對過去五年發(fā)展有一個全面總結(jié)的文獻(xiàn)嗜诀。鑒于目前的研究進(jìn)展速度異常之快猾警,本文試圖對近年來的研究進(jìn)行跟蹤和總結(jié)孔祸,以便更清晰地了解當(dāng)前通用對象檢測領(lǐng)域的全貌。

survey_object_detection_fig_2.png
survey_object_detection_fig_3.png

1.1 與過往綜述文獻(xiàn)的對比

如表1所示发皿,目前已有很多著名的對象檢測相關(guān)的綜述文獻(xiàn)崔慧。很多文獻(xiàn)主要關(guān)注特定對象檢測問題,如行人檢測 [64,77,57]穴墅、人臉檢測(face detection) [287,294]惶室、車輛檢測(vehicle detection) [251] 和文本檢測(text detection) [288]。直接關(guān)注通用對象檢測的文獻(xiàn)則相對較少封救,其中Zhang [302] 等人發(fā)表了關(guān)于對象檢測的綜述文獻(xiàn)拇涤。然而, 在 [88,5,302] 中囊括的主要是2012年之前的研究誉结,并未涵蓋最近幾年的突破發(fā)展以及并未彰顯深度學(xué)習(xí)相關(guān)方法的主導(dǎo)地位鹅士。

深度學(xué)習(xí)使得計算模型能夠?qū)W習(xí)極其復(fù)雜、微妙和抽象的表征惩坑,推動了視覺識別掉盅、目標(biāo)檢測、語音識別(speech recognition)以舒、自然語言處理(natural language processing)趾痘、醫(yī)學(xué)圖像分析(medical image analysis,)、藥物發(fā)現(xiàn)( drug discovery)和基因組學(xué)(genomics)等廣泛領(lǐng)域取得了重大進(jìn)展蔓钟。在多種不同的深度神經(jīng)網(wǎng)絡(luò)類型中永票,DCNN [144,136,145] 為處理圖像、視頻滥沫、聲音和音頻數(shù)據(jù)帶來了巨大的突破侣集。當(dāng)然,已經(jīng)有很多關(guān)于深度學(xué)習(xí)的相關(guān)綜述文獻(xiàn)兰绣,包括 Bengio等人 [13]世分,LeCun等人 [145],Litjens等人 [166]缀辩,Gu等人 [89]臭埋, 還有最近在ICCV和CVPR上發(fā)表的報告。

雖然目前已經(jīng)提出了許多基于深度學(xué)習(xí)的目標(biāo)檢測方法臀玄,但還沒有一個全面的瓢阴、最新的綜述文獻(xiàn)。對現(xiàn)有研究的深入探討和總結(jié)健无,是對象檢測的進(jìn)一步進(jìn)展所必不可少的炫掐,特別是對于希望進(jìn)入該領(lǐng)域的研究人員。由于我們的闡述重點是通用對象檢測睬涧,所以針對特定對象的檢測問題募胃,如人臉檢測 [150,299,112]、行人檢測 [300,105]畦浓、車輛檢測 [314]痹束、交通標(biāo)志檢測(traffic sign detection)[321] 等,不在本文的闡述范圍內(nèi)讶请。

1.2 范圍

基于深度學(xué)習(xí)的通用對象檢測論文數(shù)量是驚人的祷嘶。事實上,撰寫任何對技術(shù)現(xiàn)狀的全面回顧都超出了任何合理論文的長度范圍夺溢。因此论巍,有必要建立選擇標(biāo)準(zhǔn),我們便把本文的重點限制在頂級期刊和會議論文上风响。由于這些限制嘉汰,我們真誠地向那些作品沒有包含在本文中的作者致歉。關(guān)于其他相關(guān)主題的綜述文獻(xiàn)状勤,請讀者參考表1中的文章鞋怀。本文將注意力集中在過去五年的主要進(jìn)展上,我們還將只關(guān)注基于靜態(tài)圖片的上相關(guān)算法持搜,基于視頻的對象檢測問題更適合放在一個單獨的主題文獻(xiàn)中密似。

本文的主要目的是對基于深度學(xué)習(xí)的通用對象檢測技術(shù)進(jìn)行全面的研究,并主要基于流行的數(shù)據(jù)集葫盼、評估指標(biāo)(evaluation metrics)残腌、上下文建模和區(qū)域建議方法,本文提供一定程度的分類贫导、高層視角和組織抛猫。我們的目的是幫助讀者理解各種策略之間的異同。提出的分類法為研究人員提供了一個框架脱盲,以了解當(dāng)前的研究邑滨,并確定未來研究面臨的開放挑戰(zhàn)。

本文的其余部分組織如下钱反。第2部分概述了相關(guān)背景掖看,包括問題的定義、主要的挑戰(zhàn)和過去二十年來取得的進(jìn)展面哥。第3部分簡要介紹了深度學(xué)習(xí)哎壳。第4部分總結(jié)了常用的數(shù)據(jù)集和評價標(biāo)準(zhǔn)。第5部分描述具有里程碑意義的對象檢測框架尚卫。從第6部分到第9部分归榕,討論了設(shè)計對象檢測器所涉及的基本子問題和相關(guān)問題。最后吱涉,在第10部分我們?nèi)嬗懻摿藢ο髾z測刹泄,包括一些SoA框架的性能外里,并分析了未來的幾個研究方向。

survey_object_detection_table_1.png

2 通用對象檢測

2.1 問題定義

通用對象檢測(即通用對象類別檢測)特石,也稱為對象類別(class)檢測 [302] 或者對象種類(category)檢測盅蝗,其定義如下:給定一張圖片,對象檢測的目標(biāo)是確定該圖片中是否存在預(yù)定義類別(一般會有很多種類姆蘸,如ILSVRC的對象檢測挑戰(zhàn)中有200個種類)的對象實例墩莫,如果存在,給出每個對象實例在圖片中的空間位置和范圍逞敷。此處更強(qiáng)調(diào)的是在更廣泛的自然類別上進(jìn)行檢測狂秦,而不是指特定的對象類別檢測,這些對象屬于一個較窄范圍的感興趣的預(yù)定義類別(集合)(例如推捐,人臉裂问、行人或汽車)。雖然成千上萬的物體占據(jù)了我們生活的視覺世界玖姑,但目前研究領(lǐng)域主要關(guān)注高度結(jié)構(gòu)化的物體(如汽車愕秫、人臉、自行車和飛機(jī))和有關(guān)節(jié)連接的物體(如人焰络、牛和馬)的定位戴甩,而不是非結(jié)構(gòu)化的場景(如天空、草地和云)闪彼。

對象的空間位置和范圍可以用一個邊界框(bounding box)(一個緊緊包圍對象的矩形框) [66,230] 表示甜孤,或者用精確度更高的像素級分割掩碼表示,又或者是一個封閉的區(qū)域 [162,231]畏腕,如圖5所示缴川。據(jù)我們所知,在當(dāng)前的文獻(xiàn)中描馅,為了評估通用對象檢測算法把夸,邊界框是被使用最廣泛的,這也是本文使用的方法铭污。然而恋日,隨著研究社區(qū)對場景理解的不斷深入(從圖像級別的對象分類到單個對象定位,到通用對象檢測嘹狞,再到像素級的對象分割)岂膳,可以預(yù)見的是將來的挑戰(zhàn)是在像素級別 [162]

有許多問題是與通用對象檢測緊密相關(guān)的磅网。對象分類的目標(biāo)是確定圖像中有沒有屬于給定數(shù)量的對象類別(集合)的對象存在谈截,即對一個給定的圖像指定一到多個對象類別標(biāo)簽,并不需要指出所指類別對象的位置。在圖像中定位實例的額外要求使得檢測比分類更具挑戰(zhàn)性簸喂。對象識別問題是指對圖像中出現(xiàn)的所有對象進(jìn)行識別/定位時面臨的更加普遍的問題毙死,包括目標(biāo)檢測和分類問題 [66,230,194,5]。通用對象檢測更加接近圖像語義分割( semantic image segmentation)(圖5(c))娘赴,其目標(biāo)是將圖像中的每個像素分配一個語義類別標(biāo)簽规哲。對象實例分割(Object instance segmentation)(圖5(d))旨在區(qū)分相同對象類別的不同實例,語義分割并不做這樣的區(qū)分诽表。

2.2 主要挑戰(zhàn)

理想的通用對象檢測目標(biāo)是開發(fā)一種通用的算法,其可以達(dá)到高效(high efficiency)且高質(zhì)量或高精度(high
quality/accuracy)的目標(biāo)隅肥,如圖6所示竿奏。如圖7所描述的,高質(zhì)量檢測能以高精度的效果定位和識別圖像或者視頻幀上的對象腥放,因而真實世界的大量對象種類可以被分辨出來(即高區(qū)分性)泛啸,并且在類內(nèi)外觀發(fā)生變化的情況下,來自同一類別的對象實例仍然可以被定位和識別(即高健壯性)秃症。高效率則要求整個檢測任務(wù)在可接受的內(nèi)存和存儲限制下實時運行候址。

2.2.1 精度相關(guān)挑戰(zhàn)

準(zhǔn)確性的挑戰(zhàn)主要源于:大量的類內(nèi)變化(intraclass variations)和大量的對象類別。

我們從類內(nèi)變化開始闡述种柑,其可以被分為兩種:類內(nèi)固有的變化因素(intrinsic factors)和圖像成像條件(imaging conditions)岗仑。在類內(nèi)固有的變化因素方面,每個對象種類可以有很多種不同的對象實例聚请,它們可能在一種或多種因素上產(chǎn)生變化荠雕,如顏色、紋理驶赏、材料炸卑、形狀和尺寸等,例如圖7(i)所示的椅子種類煤傍。即使是定義更加狹窄的種類盖文,如人類或者馬,對象實例仍然可以以不同的姿態(tài)蚯姆、不同的非剛體形變或者不同的服裝出現(xiàn)五续。

對于圖像成像的因素,變化是在成像過程中產(chǎn)生的蒋失,因為非限制的環(huán)境會嚴(yán)重影響對象的外觀返帕。而且,一個給定的對象實例的圖像可以在許多不同的情況下被捕獲篙挽,如日光(黎明荆萤、白天、黃昏)、位置链韭、天氣情況啄踊、攝像機(jī)倔喂、背景、光照、遮擋情況和觀察距離等优烧。所有這些條件都會造成物體外觀的顯著變化,如光照序厉、姿態(tài)冒滩、尺寸、遮擋沉迹、擁擠睦疫、陰影、模糊和運動鞭呕,如圖7(a-h)例所示蛤育。進(jìn)一步的挑戰(zhàn)可能還包括數(shù)字化處理、噪聲干擾葫松、低分辨率和濾波失真( filtering distortions)瓦糕。

另外,對于類別變化腋么,大量的類別種類咕娄,如10^410^5量級,則要求檢測器具有很強(qiáng)的分辨能力党晋,能夠區(qū)分類間(interclass)的細(xì)微變化谭胚,如圖7(j)所示。實際上未玻,當(dāng)前的檢測器主要還是關(guān)注結(jié)構(gòu)化類別灾而,如PASCAL VOC [66] 、ILSVRC
[230] 和MS COCO [162] 中各自對應(yīng)的20扳剿、200和91個類別旁趟。顯然,現(xiàn)有基準(zhǔn)數(shù)據(jù)集中的對象類別數(shù)量比人類能夠識別的要少得多庇绽。

2.2.2 效率和可擴(kuò)展性相關(guān)挑戰(zhàn)

社交媒體網(wǎng)絡(luò)和移動或可穿戴設(shè)備的普及锡搜,使得分析視覺數(shù)據(jù)的需求越來越大。然而瞧掺,移動或可穿戴設(shè)備的計算能力和存儲空間有限耕餐,在這種情況下,高效的目標(biāo)探測器是至關(guān)重要的辟狈。

性能方面肠缔,挑戰(zhàn)主要是隨著對象類別數(shù)量和單個圖片中可能出現(xiàn)對象的位置和尺寸的大量增加夏跷,定位和識別需要更多的計算量,如圖7(c,d)所示明未。另外的挑戰(zhàn)是可擴(kuò)展性槽华,即檢測器應(yīng)該能夠處理未曾見過的對象、未知的情況和快速增長的圖像數(shù)量趟妥。例如猫态,ILSVRC的規(guī)模 [230] 已經(jīng)達(dá)到了人工標(biāo)注的極限。隨著圖像數(shù)量和類別數(shù)量越來越多披摄,手工標(biāo)注將變得不可能亲雪,這迫使算法需要更多地依賴弱監(jiān)督的訓(xùn)練數(shù)據(jù)。這一系列成功的對象檢測器為這一領(lǐng)域的后續(xù)研究奠定了基礎(chǔ)行疏。

2.3 過去20年的進(jìn)展

早期的對象識別是基于模式匹配(template matching)技術(shù)和簡單部件建模(simple part based model) [74] 匆光,主要關(guān)注的是識別空間分布大致為剛性的特定對象,例如人臉酿联。1990年之前,對象識別的主導(dǎo)范式是基于幾何表征 [186,211] 夺巩,隨后焦點又從幾何和先驗?zāi)P停╬rior model)轉(zhuǎn)移到基于外觀特征(appearance features) [187,232] 的統(tǒng)計分類器上(如神經(jīng)網(wǎng)絡(luò) [299]贞让、 SVM [197] 和Adaboost [269,283])。

20世紀(jì)90年代末到21世紀(jì)初柳譬,對象檢測研究取得了顯著的進(jìn)步喳张。圖4羅列了部分目前里程碑式的工作,其中兩個主要的時期(SIFT和DCNN)值得被強(qiáng)調(diào)美澳。外觀特征從全局表征(representation ) [188,253,260] 轉(zhuǎn)移到局部表征销部,這些局部表征被設(shè)計為不受平移、尺寸制跟、旋轉(zhuǎn)舅桩、光照、觀察點和遮擋等變化的影響雨膨。手工設(shè)計(handcrafted)的局部不變特征獲得了研究者極大的青睞擂涛,從尺度不變特征變換(SIFT)特征 [174] 開始,各種視覺識別任務(wù)的進(jìn)展很大程度上是基于局部描述子(local descriptor) [183] 的使用聊记, 例如Haar like feature [269]撒妈、SIFT [175]、Shape Context [12]排监、Histogram of Gradients (HOG) [50] 狰右、 Local Binary Patterns (LBP) [192] 和covariance [261]。這些局部特征還經(jīng)常使用簡單的串接或特性池編碼器(feature pooling encoder)來增強(qiáng)效果舆床,如由Sivic棋蚌、Zisserman [247] 和Csurka 等 [45] 提出的有效視覺詞袋方法(efficient Bag of Visual Words)、空間金字塔匹配(SPM Spatial Pyramid Matching) [143] 和Fisher Vectors [208]

多年來附鸽,由手工設(shè)計的局部描述子和判別分類器組成的多階段手工調(diào)校檢測流水線在計算機(jī)視覺領(lǐng)域占據(jù)著主導(dǎo)地位脱拼,包括對象檢測,轉(zhuǎn)折點發(fā)生在2012年DCNN [136] 在圖像分類領(lǐng)域取得了破紀(jì)錄的成績坷备。

將CNN用于檢測和定位可以追溯至20世紀(jì)90年代熄浓。具有少量隱藏層的神經(jīng)網(wǎng)絡(luò)在最后二十年一直被用于目標(biāo)檢測 [265,229,234]。直到最近幾年省撑,它們才在一些如人臉檢測之類的限制場景中取得成功赌蔑。最近,深層CNN已經(jīng)在更加通用的對象類別檢測上取得了突破進(jìn)展竟秫。這一轉(zhuǎn)變是由于DCNN被從在圖像分類上的成功應(yīng)用 [136] 轉(zhuǎn)移到目標(biāo)檢測上娃惯,從而產(chǎn)生了由Girshick等人提出的具有里程碑式的RCNN檢測器 [83]。從那時起肥败,大量的目標(biāo)檢測研究便建立在快速發(fā)展的RCNN工作的基礎(chǔ)上之上趾浅。

深度檢測器的成功在很大程度上依賴于數(shù)據(jù)和具有數(shù)百萬甚至數(shù)十億參數(shù)的高耗能深度網(wǎng)絡(luò),而具有極高計算能力的GPU和可獲得具有完全邊界框標(biāo)注的大規(guī)模檢測數(shù)據(jù)集是它們成功的關(guān)鍵馒稍。然而皿哨,精確的標(biāo)注則需要大量的勞動才能獲得。因此纽谒,檢測器必須考慮能夠減輕標(biāo)注困難或能夠使用小型訓(xùn)練數(shù)據(jù)集進(jìn)行學(xué)習(xí)的方法证膨。

DCNN在圖像分類中的成功應(yīng)用 [136] 轉(zhuǎn)入目標(biāo)檢測領(lǐng)域,從而產(chǎn)生了由Girshick等人提出的具有里程碑式的RCNN檢測器 [83]鼓黔。從那時起央勒,對象檢測領(lǐng)域發(fā)生了巨大的變化,許多基于深度學(xué)習(xí)的方法被開發(fā)出來澳化,這在一定程度上要歸功于可用的GPU計算資源崔步、大規(guī)模數(shù)據(jù)集和像ImageNet [52,230] 和 MS COCO [162] 這樣的比賽。有了這些新的數(shù)據(jù)集肆捕,當(dāng)研究人員在具有較大類內(nèi)差異和類間相似性(interclass similarities ) [162,230] 的圖像中檢測數(shù)百個類別的對象時刷晋,可以解決(target)更現(xiàn)實和更復(fù)雜的問題。

研究社區(qū)已經(jīng)開始朝著建立通用目標(biāo)檢測的目標(biāo)邁進(jìn)慎陵,這個目標(biāo)具有挑戰(zhàn)性眼虱,即能夠檢測出與人類相匹配的大量對象類別的通用目標(biāo)檢測系統(tǒng)。這是一個主要的挑戰(zhàn):根據(jù)認(rèn)知科學(xué)家的研究席纽,人類總體上可以識別大約3000個初級類別(entry level categories)和30000個視覺類別(visual categories)捏悬,而領(lǐng)域?qū)<铱勺R別的類別數(shù)量可能在10^5個左右 [15]。盡管在過去的幾年中取得了顯著的進(jìn)展润梯,但是設(shè)計一個精確过牙、健壯甥厦、高效的檢測和識別系統(tǒng),使其在10^410^5個類別上的性能接近人類水平寇钉,無疑是一個有待解決的問題刀疙。

3 深度學(xué)習(xí)簡要概述

深度學(xué)習(xí)已經(jīng)徹底改變了眾多機(jī)器學(xué)習(xí)任務(wù),從圖像分類和視頻處理到語音識別和自然語言理解扫倡。在這個飛速發(fā)展的時代谦秧,最近有很多關(guān)于深度學(xué)習(xí)的綜述論文 [13, 86, 89, 145, 166, 212, 280, 290, 305, 312, 317]。這些文獻(xiàn)從不同的角度回顧了深度學(xué)習(xí)技術(shù) [13, 86, 89, 145, 212, 280, 312]撵溃,包括在醫(yī)學(xué)圖像分析的應(yīng)用 [166]疚鲤、自然語言處理 [290]、語音識別系統(tǒng) [305] 和遙感 [317]缘挑。

CNN是最具代表性的深度學(xué)習(xí)模型集歇。CNN能夠利用潛在自然信號的基本特性:平移不變性、局部連通性和分層結(jié)構(gòu) [145]语淘。一個典型的CNN具有層次結(jié)構(gòu)诲宇,由多個層次(如卷積、非線性惶翻、池化等)組成焕窝,從而學(xué)習(xí)具有多層抽象的數(shù)據(jù)表征 [145]。池化對應(yīng)于對特征圖進(jìn)行下采樣或上采樣维贺。卷積和非線性可以表示為:

x_j^l = \sigma(\sum_{i=1}^{N^{l-1}}x_i^{l-1} * w_{i,j}^l + b_j^l)

其中,x_i ^{l-1}表示第l-1層的第i個二維輸入特征圖,x_j^l表示第l層的第j個輸出特征圖巴帮,w_{i,j}^l表示二維卷積運算溯泣,b_j^l表示偏置項。N^{l-1}表示第l-1層的特征映射數(shù)量榕茧。σ(·)表示進(jìn)行元素級(elementwise)運算的非線性函數(shù),具體地可以是整流線性單元(ReLU)垃沦,對每個元素的操作如下:

\sigma(x) = \max(x,0)

如圖8(a)所示,是一個典型的重復(fù)使用上述三種操作的CNN過程用押。DCNN具有大量稱為“深度”網(wǎng)絡(luò)(“deep”network)的層肢簿,如圖8 (b)所示是一個典型的DCNN結(jié)構(gòu)。

從圖8 (b)可以看出蜻拨,CNN的每一層都由若干個feature map組成池充,其中每個像素都像一個神經(jīng)元。卷積層中的每個神經(jīng)元通過一組權(quán)重(本質(zhì)上是一個過濾器)與前一層的特征圖連接缎讼。如圖8 (b)所示收夸,CNN的較淺層(early layers)通常由卷積層和池化層組成。后面的一些層通常是完全連接層( fully connected layers)血崭。每對層之間通常都存在某種非線性(操作)卧惜。

從較淺層到較深層厘灼,輸入圖像反復(fù)執(zhí)行卷積,每一層的感受視野(receptive field)(支持區(qū)域)較前層增大咽瓷。一般來說设凹,較淺層CNN層提取低層特征(low-level features)(如邊緣),隨后的層提取復(fù)雜度越來越高的特征 [296, 13, 145, 195]茅姜。

DCNN有許多突出的優(yōu)點闪朱,如:層次結(jié)構(gòu)可以學(xué)習(xí)數(shù)據(jù)的具有多個抽象層次的表征,能夠?qū)W習(xí)非常復(fù)雜的函數(shù)匈睁,以及以最少領(lǐng)域知識直接且自動地從數(shù)據(jù)中學(xué)習(xí)特征表征监透。讓
DCNN變得可行的原因是大規(guī)模標(biāo)注數(shù)據(jù)集的可獲得性和可供使用的具有很高計算能力的GPU。

盡管取得了巨大的成功航唆,但已知的缺點仍然存在胀蛮。特別是,對有標(biāo)注的訓(xùn)練數(shù)據(jù)和昂貴的計算資源的極度依賴糯钙,以及選擇適當(dāng)?shù)膶W(xué)習(xí)參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)仍然需要相當(dāng)多的技巧和經(jīng)驗粪狼。已訓(xùn)練的網(wǎng)絡(luò)解釋性差,對圖像變換和退化缺乏魯棒性任岸,許多DCNN表現(xiàn)出嚴(yán)重的易攻擊(attacks)性再榄,所有這些都限制了DCNN在現(xiàn)實世界中的許多應(yīng)用。

4. 數(shù)據(jù)集和性能評估

4.1 數(shù)據(jù)集

數(shù)據(jù)集在對象檢測研究的歷史中扮演著重要的角色享潜,它不僅是作為評估和比較算法之間性能的共同基礎(chǔ)困鸥,而且推動領(lǐng)域朝著解決更加復(fù)雜、困難的問題方向前進(jìn)剑按。尤其對于深度學(xué)習(xí)在各個方面取得的突破發(fā)展疾就,大量的標(biāo)注數(shù)據(jù)集起到了至關(guān)重要的作用。由于現(xiàn)在可以輕易獲得互聯(lián)網(wǎng)圖片數(shù)據(jù)艺蝴,所以有可能創(chuàng)建包含很多類別的大型數(shù)據(jù)集猬腰。這使得算法可以學(xué)習(xí)到更加豐富和多元的類別對象,從而獲得前所未有的性能猜敢。

針對通用對象檢測姑荷,目前有四個著名的數(shù)據(jù)集:PASCAL VOC [66, 67],ImageNet [52]缩擂,MS COCO [162] 和Open Images [139]鼠冕。表3總結(jié)了這些數(shù)據(jù)集的特征,圖9展示了數(shù)據(jù)集中的部分圖片撇叁。創(chuàng)建大型標(biāo)注數(shù)據(jù)集需要三步:確定目標(biāo)類別集合供鸠; 從互聯(lián)上收集多元的能夠代表預(yù)選類別的圖片;標(biāo)注已收集的大量圖片陨闹。最后一步一般是通過設(shè)計眾包策略將數(shù)據(jù)標(biāo)注工作外包實現(xiàn)的(也是最有挑戰(zhàn)性的一步)楞捂。由于篇幅有限薄坏,我們建議有興趣的讀者參考這些數(shù)據(jù)集的原始論文 [66, 67, 162, 230, 139] 以了解更多細(xì)節(jié)。

survey_object_detection_fig_9.png

四個數(shù)據(jù)集構(gòu)成了各自檢測比賽的基礎(chǔ)寨闹。每個比賽由以下幾個部分組成:公開可獲得的帶有標(biāo)注標(biāo)簽和標(biāo)準(zhǔn)驗證軟件的數(shù)據(jù)集胶坠、每年舉辦一次的比賽和對應(yīng)的研討會。表4總結(jié)了各個數(shù)據(jù)集用于檢測比賽的訓(xùn)練繁堡、驗證和測試圖片數(shù)量以及對象實例數(shù)的統(tǒng)計信息沈善。表2總結(jié)了最常出現(xiàn)在這些數(shù)據(jù)集中的對象類別。

survey_object_detection_table_2.png
survey_object_detection_table_3.png
survey_object_detection_table_4.png

PASCAL VOC [66,67] 是一個多年來致力于創(chuàng)建和維護(hù)一系列用于分類和對象檢測的基準(zhǔn)數(shù)據(jù)集椭蹄,以年度比賽的形式開創(chuàng)了對識別算法進(jìn)行標(biāo)準(zhǔn)化評估的先例闻牡。從2005年僅有的4個類別開始,數(shù)據(jù)集已經(jīng)增加到日常生活中常見的20個類別绳矩,如圖9所示罩润。

對于PASCAL VOC比賽來說,自2009年以來翼馆,每次的數(shù)據(jù)由前幾年的數(shù)據(jù)加上新數(shù)據(jù)組成割以,圖片數(shù)量不斷增長,更重要的是应媚,這意味著測試結(jié)果可以按年進(jìn)行比較严沥。由于像ImageNet、MS COCO和Open Images這樣的大型數(shù)據(jù)集的開源中姜,PASCAL VOC已逐漸過時消玄。

ILSVRC ,即大規(guī)模視覺識別挑戰(zhàn)賽(the ImageNet Large Scale Visual Recognition Challenge) [230] 丢胚,源自ImageNet [52]莱找。在對象類別數(shù)量和訓(xùn)練數(shù)據(jù)量方面,ILSVRC將PASCAL VOC的標(biāo)準(zhǔn)化訓(xùn)練和評估目標(biāo)提高了一個數(shù)量級嗜桌。ImageNet的數(shù)據(jù)子集(ImageNet1000)已經(jīng)成為圖像分類比賽的標(biāo)準(zhǔn)基準(zhǔn),其包含1000個不同的對象類別辞色,120萬張圖片骨宠。ImageNet1000也通常用于DCNN的預(yù)訓(xùn)練。

MS COCO 是對ImageNet的批評的回應(yīng)相满,對ImageNet數(shù)據(jù)集批評的原因是該數(shù)據(jù)集中的對象往往比較大且位于圖片中間层亿,這樣不符合現(xiàn)實世界場景。為了推動對圖像更豐富的理解研究立美,研究人員創(chuàng)建了MS COCO數(shù)據(jù)集 [162]匿又, 包含了復(fù)雜的日常場景和自然環(huán)境中的常見對象,更加接近真實生活建蹄,其中對象使用全分割實例(fully-segmented instances)方式進(jìn)行標(biāo)記碌更,以此提供更準(zhǔn)確的檢測器評估裕偿。COCO對象檢測比賽 [162] 可能是最具挑戰(zhàn)性的檢測基準(zhǔn),具有兩個對象檢測任務(wù):使用邊界框(bounding box)作為輸出和使用對象實例分割作為輸出痛单。與ILSVRC相比嘿棘,它具有更少的對象類別,每個類別有更多的實例旭绒,并且包含ILSVRC沒有的對象分割標(biāo)注鸟妙。COCO主要提出了三個新的挑戰(zhàn):

  1. 它包含的對象尺寸變化范圍較大,小目標(biāo)對象占有比較高的比例 [245]挥吵;
  2. 對象(表現(xiàn))并不那么單調(diào)(iconic)重父,而且處于雜亂環(huán)境或存在嚴(yán)重的遮擋;
  3. 評估指標(biāo)(見表5)鼓勵更精確的對象定位。

就像當(dāng)時的ImageNet一樣忽匈,MS COCO現(xiàn)在已經(jīng)成為對象檢測的標(biāo)準(zhǔn)房午,表4總結(jié)了用于訓(xùn)練、驗證和測試的數(shù)據(jù)集統(tǒng)計信息脉幢。

OICOD (the Open Image Challenge Object Detection)源于Open Images V4 [139]歪沃,這是目前開源的規(guī)模最大的對象檢測數(shù)據(jù)集,第一次比賽是在2018年的ECCV上舉辦的嫌松。OICOD不同于之前的大規(guī)模對象檢測數(shù)據(jù)集沪曙,如ILSVRC和MS COCO,不僅在類別數(shù)量萎羔、圖片和邊界框標(biāo)注數(shù)量上有大幅增加液走,而且標(biāo)注過程也不一樣。在ILSVRC和MS COCO中贾陷,每個感興趣類別的對象實例都需要被人工盡力標(biāo)注出來缘眶。但是對于Open Images V4,先使用一個分類器對每張圖片進(jìn)行分類髓废,并且將擁有高得分的分類結(jié)果發(fā)送給人類進(jìn)一步確認(rèn)巷懈。因此,在OICOD中慌洪,每個照片中只有被人類確認(rèn)的正樣本實例才會被標(biāo)注出來顶燕,沒有被確認(rèn)的對象實例是不會被標(biāo)注的。OICOD還有視覺關(guān)系標(biāo)簽冈爹,但是沒有對象分割標(biāo)簽涌攻。

survey_object_detection_table_5.png

4.2 評估指標(biāo)

主要有三個指標(biāo)用來評估檢測算法的性能:檢測速度(每秒幀,F(xiàn)PS)频伤、精度(precision)和召回率(recall)恳谎。通常最常用的平均精度(Average Precision,AP)憋肖,來源于精度和召回率因痛。AP常常是用于評估特定類別的方法婚苹,如用于分別計算每種類別的檢測精度。為了對比算法在所有類別上的整體性能婚肆,通過計算所有類別的平均AP以獲得期望平均精度(mean AP,mAP)作為最終的性能評估租副。更多的細(xì)節(jié)可以參考 [66, 67, 230, 104]

應(yīng)用于測試圖像I的檢測器的標(biāo)準(zhǔn)輸出為預(yù)測的檢測結(jié)果{(b_j,c_j,p_j)}_j较性,j為索引值(表示預(yù)測的第j個實例)用僧。一個特定的檢測(b,c,p)(為了敘述方便,省略j)表示以置信度為p預(yù)測到圖片中有類別c的對象實例赞咙,且位置為b(如boundbing box责循,BB)。同時滿足以下兩點的預(yù)測被認(rèn)為(在訓(xùn)練或測試時)是真陽性的(True Positive攀操,TP):

  • 預(yù)測的BB b與真實標(biāo)簽BB b^g 的交并比不小于預(yù)定義的閾值ε(IoU院仿,Intersection Over Union)[66, 230]
  • 預(yù)測的標(biāo)簽c與真實標(biāo)簽類別c^g相同

IOU的計算公式為:

IOU(b, b^g) = \frac {area(b \bigcap b^g)} {area(b \bigcup b^g)}

此處速和,area(b \bigcap b^g)指預(yù)測邊界框和真實標(biāo)簽邊界框面積的交集歹垫,area(b \bigcup b^g)是它們面積的并集。典型的閾值ε值為0.5颠放。除此之外排惨,其他被認(rèn)為是假陽性(False Positive ,F(xiàn)P)碰凶。置信度p通常與另外的閾值β進(jìn)行比較暮芭,用來決定預(yù)測的類別標(biāo)簽c是否應(yīng)該被接受(譯者補充:置信度p主要在推理時使用,即沒有g(shù)roud truth標(biāo)簽時欲低,這時使用置信度閾值用來決定哪些預(yù)測應(yīng)該被接受辕宏,通俗的理解,就是在推理前人類告訴算法砾莱,我只接受你的預(yù)測把握(置信度)超過設(shè)定的閾值的檢測結(jié)果瑞筐,其他拋棄掉,因為在推理時根本沒有g(shù)roud truth標(biāo)簽告訴算法哪些預(yù)測是真陽性腊瑟,哪些預(yù)測是假陽性)面哼。

AP是分別基于每個類別的精度和召回率計算得到。具體地計算方法為:對于特定的類別c和測試圖片I_i扫步,使用\{(b_{ij},p_{ij})\}_{j=1}^M表示檢測器返回的M個檢測結(jié)果列表,根據(jù)置信度p_{ij}對所有結(jié)果遞減排序匈子。使用B =\{b_{ik}^g\}_{k=1}^K表示圖片I_iK個關(guān)于類別c的所有標(biāo)注標(biāo)簽河胎。每個檢測結(jié)果(b_{ij},p_{ij})可以通過圖10中的算法確定是TP還是FP』⒍兀基于劃分的TP和FP結(jié)果游岳,可以通過一個以置信度閾值β為變量的函數(shù)計算精度P(\beta)和召回率R(\beta) [66]政敢,從而隨著信度閾值β的變化可以得到不同的(P,R)結(jié)果對。大體上可以認(rèn)為精度是關(guān)于召回率的函數(shù)(P(R))胚迫,從中可以得到平均精度(AP)結(jié)果 [66,230]喷户。

自從MS COCO的提出以來,更多的注意力放在了邊界框定位的準(zhǔn)確性上访锻。MS COCO提出了更多的度量指標(biāo)(表5)來刻畫檢測器的性能褪尝,以此取代固定的IoU閾值。例如期犬,不同于傳統(tǒng)的使用固定的IoU閾值0.5河哑,AP_{COCO}用來表示每個類別在多個IoU閾值上AP的平均值,這些IoU閾值的變化范圍為以0.05為步長從0.5遞增到0.95龟虎。由于在MS COCO中有41%的對象是小目標(biāo)(面積小于32^2)璃谨,24%的對象是大目標(biāo)(面積大于96^2),所以COCO也引入了AP_{COCO}^{small}鲤妥、AP_{COCO}^{medium}AP_{COCO}^{large}三個評估指標(biāo)佳吞。最后,表5總結(jié)了分別在PASCAL棉安,ILSVRC和MS COCO比賽中主要使用的指標(biāo)底扳,最近的 [139] 提出了對PASCAL VOC的mAP指標(biāo)進(jìn)行修改的觀點。

survey_object_detection_fig_10.png

5. 檢測框架

用于識別的對象特征表征和分類器已經(jīng)有了穩(wěn)定的進(jìn)展垂券,從手工特征 [269,50,70,95,268] 到學(xué)習(xí)的DCNN特征 [83,199,82,225,48] 發(fā)生了巨大的變化花盐。

與此相反,用于定位的基本滑動窗口方法 [50, 72, 70] 仍是主流 [141, 264]菇爪。然而算芯,窗口的數(shù)量很大,并且隨著像素數(shù)量增加呈二次增長凳宙,尤其需要在多個尺度和長寬比(aspect ratios)上進(jìn)行搜索熙揍,這進(jìn)一步增加了搜索空間。因此氏涩,設(shè)計有效且高效的檢測框架是至關(guān)重要的届囚。通常采用的策略包括級聯(lián)(cascading)、共享特性計算(sharing feature computation)和減少每個窗口的計算量是尖。

在本章節(jié)意系,我們將回顧自從深度學(xué)習(xí)進(jìn)入通用對象檢測領(lǐng)域以來,出現(xiàn)的里程碑檢測框架饺汹,如圖11和表11(見文末)所示蛔添。過去幾年提出的幾乎所有檢測器都是基于這些里程碑式檢測器中的某一個,試圖改進(jìn)一個或多個方面。這些檢測器大致可分為兩大類:

  1. 兩階段檢測框架迎瞧,其包括一個用于生成對象建議(區(qū)域)的預(yù)處理步驟子刮,從而使整個檢測流程(pipeline)分為兩階段验辞。
  2. 單階段檢測框架磷账,或稱為無建議區(qū)域框架荣瑟,一種沒有將檢測建議分離出來的方法,整個檢測流程是單階段的足绅。

第6至第9部分將更詳細(xì)地討論檢測框架中涉及的基本子問題捷绑,包括DCNN特性、檢測建議编检、上下文建模等胎食。

survey_object_detection_fig_11.png
survey_object_detection_fig_12.png

5.1 基于區(qū)域的框架(兩階段框架)

在基于區(qū)域建議框架中,先從圖片中直接生成類別無關(guān)(category-independent)的建議區(qū)域允懂,然后使用CNN從原圖對應(yīng)的區(qū)域中進(jìn)行特征抽取厕怜,再使用特定類別的分類器確定每個區(qū)域的類別標(biāo)簽。正如圖11所示蕾总,DetectorNet [254]粥航、 OverFeat [235]、MultiBox [65] 和 RCNN [83] 幾乎是在同一時間獨立提出將CNN應(yīng)用于通用對象檢測生百。

RCNN [83]: 從CNN在圖像分類取得突破進(jìn)展以及selective search在手工設(shè)計的特征區(qū)域建議 [264] 的成功得到靈感递雀,Girshick等人在第一時間就嘗試將CNN用于通用對象檢測,并開發(fā)了RCNN [83, 85]蚀浆,其集成了AlexNet和區(qū)域建議方法selective search缀程。從如圖12展示的框架的細(xì)節(jié)部分可以看出,訓(xùn)練一個RCNN框架由多個階段組成:

  1. 計算建議區(qū)域市俊。由selective search產(chǎn)生的類別無關(guān)(class agnostic)建議區(qū)域杨凑,是一些可能包含對象的候選區(qū)域;
  2. CNN模型微調(diào)(finetuning)訓(xùn)練摆昧。從原圖中裁剪出的建議區(qū)域撩满,調(diào)整為相同尺寸大小后用于微調(diào)(訓(xùn)練)一個CNN模型,這個CNN模型已經(jīng)使用大規(guī)模數(shù)據(jù)集(如ImageNet)預(yù)訓(xùn)練過绅你。在這一步中伺帘,所有與真實標(biāo)簽(ground truth)邊界框IoU大于等于0.5的建議區(qū)域會被定義為對應(yīng)ground truth邊界框類別的正樣本,其余的被定義為負(fù)樣本忌锯;
  3. 訓(xùn)練特定類別的SVM分類器伪嫁。使用CNN提取的固定長度特征訓(xùn)練一組特定類別的線性SVM分類器,代替模型中在上一步微調(diào)時使用的softmax分類器偶垮。為了訓(xùn)練SVM分類器张咳,將每個類別對應(yīng)的所有g(shù)round truth邊界框的區(qū)域定義為正樣本驹吮。所有與ground truth邊界框IoU小于0.3的建議區(qū)域被定義為對應(yīng)類別的負(fù)樣本。值得注意的是晶伦,用于訓(xùn)練SVM的正負(fù)樣本的定義方式與上一步微調(diào)CNN時的定義方式不同;
  4. 訓(xùn)練類別相關(guān)的邊界框回歸器(regressors)啄枕。使用CNN提取的特征為每個類別訓(xùn)練回歸更加精確的邊界框婚陪。

RCNN在實現(xiàn)高目標(biāo)檢測質(zhì)量的同時,也存在著明顯的不足:

  1. 整個訓(xùn)練過程是由多個獨立訓(xùn)練的階段組成频祝,這是一種不優(yōu)雅泌参、緩慢并且很難優(yōu)化的方法。
  2. 訓(xùn)練SVM分類器和邊界框回歸器是一件既占用磁盤空間又耗時的工作常空。因為每張圖片中的每個建議區(qū)域的CNN特征需要提前被提取并保存到磁盤沽一,這給大規(guī)模數(shù)據(jù)集檢測任務(wù)帶來了巨大的挑戰(zhàn)。對于非常深的網(wǎng)絡(luò)漓糙,如VGG16 [244]铣缠,這個過程在大型數(shù)據(jù)集上需要花費很長的計算時間。而且這些特性也需要大量的存儲空間昆禽。
  3. 測試也比較慢蝗蛙,因為每個測試圖像中的每個對象建議區(qū)域都要獨立提取CNN特征,其中并沒有共享計算醉鳖。

所有這些缺點都激發(fā)了該領(lǐng)域的不斷創(chuàng)新捡硅,從而產(chǎn)生了SPPNet、Fast RCNN盗棵、Faster RCNN等改進(jìn)框架壮韭。

SPPNet [96]: RCNN主要的瓶頸是在測試時需要從每張圖片中的上千個建議區(qū)域(獨立地)提取CNN特征。He等人 [96] 在注意到這個缺陷后提出了將傳統(tǒng)空間金字塔(spatial paramid pooling, SPP )[87, 143] 應(yīng)用到CNN框架中解決該問題纹因。He等人發(fā)現(xiàn)其實卷積層是可以接受任意尺寸的輸入喷屋,只有全連接層需要固定尺寸的輸入》拢基于該發(fā)現(xiàn)逼蒙,他們將SPP層添加到框架中最后一個卷積層之后,從而為全連接層獲取固定長度的特征寄疏。通過使用SPPNet是牢,只需要對輸入的測試圖片執(zhí)行一次卷積運算,就可以為該圖片中所有任意尺寸的建議區(qū)域提取固定長度的特征陕截,這樣在沒有損失任何精度的情況下大大加速了RCNN驳棱。雖然SPPNet將RCNN的推理速度提升了幾個量級,但是并沒有給訓(xùn)練算法帶來任何的可觀提升农曲。而且社搅,在微調(diào)SPPNet [96] 的時候是無法更新SPP層之前的卷積層參數(shù)驻债,這限制了深度神經(jīng)網(wǎng)絡(luò)的性能。

Fast RCNN [82]:Girshick [82] 提出的Fast RCNN嘗試解決RCNN和SPPNet的缺點形葬,在檢測速度和質(zhì)量上都有提高合呐。如圖13所示,F(xiàn)ast RCNN提出了同時學(xué)習(xí)softmax分類器和類別相關(guān)邊界框回歸器的流水線式訓(xùn)練過程笙以,取代了RCNN和SPPNet中需要分三個獨立的步驟分別訓(xùn)練softmax分類器淌实、SVM和邊界框回歸器(Bounding Box Regressors,BBRs),這使得Fast RCNN實現(xiàn)了端到端的檢測器訓(xùn)練方法(基于固定的建議區(qū)域)猖腕。Fast RCNN的改進(jìn)思想主要有:(一個圖片內(nèi)的)所有建議區(qū)域共享卷積計算拆祈、在最后一個卷積層和全連接層之間增加感興趣區(qū)域(Region of Interest,RoI)池化層來為每一個建議區(qū)域提取固定長度的特征倘感。實際上放坏,RoI池化是通過在特征層面執(zhí)行(輸入尺寸大小)變換來近似在原圖上執(zhí)行的變換老玛。經(jīng)過RoI池化的特征被輸入到一系列FC層中淤年,這些FC層最終分為兩個子輸出層:對象類別預(yù)測的softmax概率和預(yù)測更加精細(xì)化的邊界框回歸(相對于建議區(qū)域邊界框的偏移量)。與RCNN或SPPNet相比逻炊,F(xiàn)ast RCNN大大提高了效率互亮,通常在訓(xùn)練中速度提高3倍,在測試中提高10倍余素。綜上所述豹休,F(xiàn)ast RCNN具有引人注目的優(yōu)點:較高的檢測質(zhì)量、同時更新所有網(wǎng)絡(luò)層參數(shù)的單階段訓(xùn)練過程和不需要額外存儲特征緩存等桨吊。

Faster RCNN [225, 226]: 雖然Fast RCNN大大加快了檢測過程威根,但它仍然依賴于外部的建議區(qū)域。區(qū)域建議計算是Fast RCNN中新的速度瓶頸视乐。最近的研究表明洛搀,CNN具有在卷積層中定位對象的顯著能力 [309,310,44, 196, 94],在FC層中表現(xiàn)卻比較弱佑淀。因此留美,可以用CNN代替selective search生成建議區(qū)域。Ren等人提出的Faster RCNN框架 [22,226] 提出了一種高效伸刃、準(zhǔn)確的區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network谎砾,RPN)來生成建議區(qū)域。它利用相同的骨干網(wǎng)完成RPN的區(qū)域建議任務(wù)和Fast RCNN的區(qū)域分類任務(wù)捧颅。在Faster RCNN中景图,RPN和檢測網(wǎng)絡(luò)(即Fast RCNN)共享主干網(wǎng)的所有卷積層。根據(jù)最后一個共享卷積層輸出的特征分別獨立用于區(qū)域建議和區(qū)域分類兩個分支碉哑。如圖13所示挚币,檢測網(wǎng)絡(luò)就是Fast RCNN, RPN建立在最后一個卷積層之上亮蒋。RPN首先在(最后一層的)卷積特征映射的每個(像素)位置上初始化k個不同尺寸和長寬比的參考框(即所謂的錨框,anchors box)妆毕。anchors的位置與圖像內(nèi)容無關(guān)慎玖,但是基于anchors提取的特征向量與圖像內(nèi)容是相關(guān)的。每個anchor(內(nèi)的特征)被映射到一個較低維的向量(如用于ZF網(wǎng)絡(luò)的256和用于VGG網(wǎng)絡(luò)的512)笛粘,這些向量會被分別輸入給兩個子全連接層分支——對象類別無關(guān)分類(預(yù)測該區(qū)域是否存在某個對象的特征)分支和邊界框回歸分支凄吏。不同于Fast RCNN,在Faster RCNN中闰蛔,對邊界框的回歸是在任意大小的建議區(qū)域的特征上實現(xiàn)的,回歸的參數(shù)是在所有大小不同的建議區(qū)域中共享的图柏,RPN中用于回歸的特征尺寸與anchor box在特征圖上的尺寸是相同的序六。k個anchor對應(yīng)k個回歸器。RPN與Fast RCNN共享卷積特征蚤吹,從而實現(xiàn)高效的區(qū)域建議計算例诀。實際上,RPN是一種全卷積網(wǎng)絡(luò)(FCN) [173,237]裁着,F(xiàn)aster RCNN是一個純粹基于CNN的框架繁涂,不使用任何手工設(shè)計的特征。測試時二驰,F(xiàn)aster RCNN使用VGG16模型 [244] 扔罪,在GPU上以5 FPS的速度運行,以每張圖片使用300個建議區(qū)域獲得了PASCAL VOC 2007對象檢測任務(wù)上的最好效果桶雀。在 [225] 中矿酵,最初的Faster RCNN由幾個交替的訓(xùn)練階段組成,后來被簡化為單階段聯(lián)合訓(xùn)練 [226]矗积。

在Faster RCNN提出的同時期, Lenc和Vedaldi [147] 也提出對區(qū)域建議生成方法(如selective search)作用的質(zhì)疑全肮,他們研究了區(qū)域建議生成在基于CNN的檢測器中的作用,發(fā)現(xiàn)CNN包含足夠的可用于精確對象檢測的幾何信息棘捣,而不是在全連接層中辜腺。他們展示了在去除區(qū)域建議生成方法(例如seletive search。)后構(gòu)建更簡單乍恐、更快并完全依賴于CNN的集成對象檢測器的可能性评疗。

RFCN (Region based Fully Convolutional Network):雖然Faster RCNN比Fast RCNN快了一個量級,但是仍然需要將基于區(qū)域的子網(wǎng)絡(luò)(RoI之后的子網(wǎng)絡(luò))獨立地在每個RoI(每張圖片有幾百個RoI)上進(jìn)行計算禁熏∪老铮基于這個事實,Dai等人 [48] 提出了幾乎所有的計算在整個圖像上共享的RFCN檢測器瞧毙,這是個全卷積(fully convolutional胧华,沒有全連接層)框架寄症。如圖13所示,RFCN與Faster RCNN唯一不同的地方就是RoI子網(wǎng)絡(luò)矩动。在Faster RCNN中有巧,RoI池化層之后的計算無法共享。一個自然的想法是將不能共享的計算量最小化悲没,因此Dai等人提出全部使用卷積層來構(gòu)建一個共享的RoI子網(wǎng)絡(luò)篮迎,RoI的輸入特征是從預(yù)測輸出前的最后一層卷積層提取得到。然而示姿,Dai等人 [48] 發(fā)現(xiàn)這種簡單的設(shè)計檢測精度相當(dāng)?shù)吞鸪鳎茰y是更深的卷積層對類別語義更敏感,對平移更不敏感栈戳,而對象檢測需要表示平移變化的位置表征岂傲。基于這一觀察子檀,Dai等人 [48] 以一組專門的卷積層作為FCN輸出镊掖,構(gòu)建了一組位置敏感的分?jǐn)?shù)映射(score map),在此基礎(chǔ)上增加了位置敏感的RoI池化層褂痰,其不同于 [82,225] 中的標(biāo)準(zhǔn)RoI池化層亩进。作者表示使用ResNet101 [98] 的RFCN與可以達(dá)到與Faster RCNN相當(dāng)?shù)木龋宜俣雀臁?/p>

Mask RCNN:遵循概念簡單缩歪、高效且靈活的精神归薛,He等人 [99] 提出了Mask RCNN,通過擴(kuò)展Faster RCNN的方式匪蝙,加入處理像素級對象實例分割任務(wù)苟翻。Mask RCNN仍然采用兩階段流水線,第一階段(RPN)保持不變骗污。在第二階段崇猫,在預(yù)測類別和邊界框偏移量的同時,Mask RCNN添加了一個分支需忿,它為每個RoI輸出一個二進(jìn)制掩碼诅炉。新的分支是一個基于CNN特征圖的全卷積網(wǎng)絡(luò)(FCN) [173, 237] 。為了避免原RoI池化層引起的錯位
屋厘,Mask RCNN提出了RoIAlign層來保持像素級空間對應(yīng)關(guān)系涕烧。使用ResNeXt101-FPN作為骨干網(wǎng)絡(luò) [284, 163],Mask RCNN在COCO對象實例分割和邊界框?qū)ο髾z測方面取得了較好的效果汗洒。它訓(xùn)練簡單议纯,泛化良好,只比Faster RCNN增加了一些小開銷溢谤,可以5 FPS的速度運行 [99]瞻凤。

Chained Cascade Network and Cascade RCNN:級聯(lián)的本質(zhì)是利用多級分類器學(xué)習(xí)更具有識別能力的分類器憨攒。前期階段的分類器會排除大量容易分類的負(fù)樣本,以便后期的分類器可以專注于處理更困難的樣本阀参。級聯(lián)可以被廣泛應(yīng)用于對象檢測中 [71, 20, 155]肝集。可以將兩階段對象檢測框架看作是兩個目標(biāo)檢測器的級聯(lián)蛛壳,第一級目標(biāo)檢測器去除大量的背景區(qū)域杏瞻,第二階段對剩余的區(qū)域進(jìn)行分類。最近衙荐,Chained Cascade
Network [201] 首次提出了學(xué)習(xí)用于通用對象檢測的多于兩個分類器的端到端級聯(lián)分類器方法捞挥,隨后Cascade RCNN [23] 對其進(jìn)行了擴(kuò)展。最近忧吟,Cascade進(jìn)一步被應(yīng)用于同步對象檢測和實例分割中 [31]树肃,并最終贏得了COCO 2018的檢測比賽。

Light Head RCNN: 為了進(jìn)一步加快RFCN [48] 的檢測速度瀑罗,Li等人 [161] 提出了Light Head RCNN,使檢測網(wǎng)絡(luò)的頭盡可能的輕雏掠,從而降低區(qū)域建議RoI的計算斩祭。尤其是Li等人 [161] 利用大卷積核的可分卷積( a large kernel separable convolution)產(chǎn)生了具有較少通道數(shù)(如在COCO檢測基準(zhǔn)上使用490個信道)的特征映射和輕量的RCNN子網(wǎng)絡(luò),在速度和精度之間做出了很好的平衡乡话。

survey_object_detection_fig_13.png

5.2 統(tǒng)一流程(Unified pipeline摧玫,單階段流程)

自RCNN [83] 以來,5.1節(jié)的基于區(qū)域的流程策略在檢測基準(zhǔn)上一直占主導(dǎo)地位绑青。5.1節(jié)介紹的工作使得檢測器更快诬像、更準(zhǔn)確,目前在流行的基準(zhǔn)數(shù)據(jù)集上闸婴,領(lǐng)先的結(jié)果都是基于Faster RCNN [225]坏挠。盡管取得了這些進(jìn)展,但對于目前存儲和計算能力有限的移動和可穿戴設(shè)備來說邪乍,基于區(qū)域的方法在計算上非常昂貴降狠。因此,研究人員不再試圖優(yōu)化復(fù)雜的區(qū)域流程中的單個組件庇楞,而是著手進(jìn)行研究統(tǒng)一的檢測策略榜配。

統(tǒng)一流程是指在只需要單個設(shè)置的情況下,使用單個前饋卷積網(wǎng)絡(luò)從完整圖像中直接預(yù)測類別概率和邊界框偏移量的框架吕晌,其不需要生成建議區(qū)域或進(jìn)行二次分類蛋褥。這種框架簡單而優(yōu)雅,因為它完全消除了生成建議區(qū)域和隨后的像素或特征重采樣睛驳,將所有計算封裝在一個網(wǎng)絡(luò)中烙心。由于整個檢測流程是一個單一的網(wǎng)絡(luò)膜廊,可以直接對檢測性能進(jìn)行端到端優(yōu)化。

DetectorNet: Szegedy等人 [254] 是最早嘗試使用CNN進(jìn)行目標(biāo)檢測的研究者弃理。DetectorNet將對象檢測問題定義為對邊界框掩碼的回歸問題溃论。他們用回歸層替換AlexNet [136] 最后的softmax分類器層。給定一個圖像窗口痘昌,他們使用一個網(wǎng)絡(luò)在粗糙的網(wǎng)格上預(yù)測前景(對象)像素钥勋,還需要另外四個網(wǎng)絡(luò)來預(yù)測對象的頂部、底部辆苔、左側(cè)和右側(cè)邊界算灸。然后,使用一組后處理方法將預(yù)測的掩碼轉(zhuǎn)換為檢測的邊界框驻啤。每個對象類型和掩碼類型都需要訓(xùn)練一個網(wǎng)絡(luò)菲驴。它無法擴(kuò)展到多個類別檢測任務(wù)上。DetectorNet必須從原圖中裁剪得到很多部分骑冗,并為每個部分運行多個網(wǎng)絡(luò)赊瞬,因此使得速度很慢。

OverFeat:可以認(rèn)為由Sermanet等人 [235] 提出的OverFeat是第一個現(xiàn)代基于深度全卷積網(wǎng)絡(luò)的單階段對象檢測器贼涩。它是最有影響力的對象檢測框架之一巧涧,曾贏得了ILSVRC2013定位和檢測比賽∫>耄框架的具體結(jié)構(gòu)如圖14所示谤绳。從圖中可以看出,OverFeat通過以多尺度滑動窗口的方式單次前向通過網(wǎng)絡(luò)中的全卷積層(即圖14(a)所示的“特征提取器”)進(jìn)行目標(biāo)檢測袒哥。測試時目標(biāo)檢測的關(guān)鍵步驟可以概括為以下幾步:

  1. 通過在圖像上采用多尺度滑動窗口方式進(jìn)行對象分類生成候選對象缩筛。OverFeat使用的是類似于AlexNet的CNN網(wǎng)絡(luò)框架 [136](如圖14 (a)所示),這些網(wǎng)絡(luò)的全連接層需要固定輸入尺寸堡称。為了利用卷積固有的計算效率瞎抛,使滑動窗口方法計算效率更高,OverFeat將網(wǎng)絡(luò)轉(zhuǎn)換為一個可以接受任何尺寸輸入的全卷積網(wǎng)絡(luò)(如圖14(a)所示)却紧。具體來說婿失,OverFeat利用可將全連接層看作是核大小為1×1的卷積運算的方法,將CNN擴(kuò)展到任意大小圖像上啄寡。OverFeat利用多尺度特征來提高整體性能豪硅,通過向網(wǎng)絡(luò)傳遞多達(dá)6個將原圖縮放的輸入(如圖14(b)所示),從而顯著增加了評估的上下文視圖數(shù)量挺物。對于每個多尺度輸入懒浮,分類器(如
    圖14(a))輸出一個預(yù)測網(wǎng)格(每個位置輸出一個類別概率和一個置信度),表示某個對象出現(xiàn)的位置,如圖14(b)所示砚著。
  2. 通過偏移最大池化增加預(yù)測的數(shù)量次伶。為了提高最終預(yù)測的分辨率,OverFeat在最后一個卷積層之后應(yīng)用偏移最大池化操作稽穆,即每偏移一定像素后執(zhí)行下采樣操作冠王。這種方法為候選對象提供了更多的視圖,從而在保持效率的同時增強(qiáng)了健壯性舌镶。
  3. 邊界框回歸柱彻。一旦一個對象被識別出來,就在當(dāng)前位置應(yīng)用一個邊界框回歸器餐胀。分類器和回歸器共享相同的特征提取層(即卷積層)哟楷,只需要在計算分類網(wǎng)絡(luò)后重新計算FC層。它們自然地共享公共部分的計算否灾。
  4. 結(jié)合預(yù)測卖擅。OverFeat使用貪婪的合并策略來合并所有位置和尺寸上的邊界框預(yù)測結(jié)果。

相比同一時期提出的RCNN [83]墨技, OverFeat具有顯著的速度優(yōu)勢惩阶,但是由于當(dāng)時全卷積網(wǎng)絡(luò)很難訓(xùn)練,所以它的準(zhǔn)確性要低得多扣汪。速度優(yōu)勢來自于使用全卷積網(wǎng)絡(luò)共享重疊窗口之間的卷積計算断楷。后來的框架都類似于OverFeat,比如YOLO [223] 和SSD [171]私痹,其中一個主要區(qū)別是在OverFeat中分類器和回歸器是按順序訓(xùn)練的。

survey_object_detection_fig_14.png

YOLO (You Only Look Once):Redmon等人 [223] 提出的YOLO是一種統(tǒng)一的檢測器统刮,它將對象檢測轉(zhuǎn)換為從像素到空間上分隔的邊界框及對應(yīng)類別概率的回歸問題紊遵。YOLO的設(shè)計如圖13所示。由于直接丟棄了建議區(qū)域的生成階段侥蒙,YOLO使用一個小型的候選區(qū)域集合來直接進(jìn)行檢測暗膜。類似于Faster RCNN等基于區(qū)域的方法,都是基于局部區(qū)域特征進(jìn)行檢測鞭衩,不同的是学搜,YOLO使用的是整個圖像的全局特征。具體地說论衍,YOLO將一張圖像切分成S*S的網(wǎng)格(grid)瑞佩,每個網(wǎng)格預(yù)測C個類別概率、B個邊界框位置和每個框?qū)?yīng)的置信度坯台。這些預(yù)測結(jié)果被編碼為一個S×S×(5B + C)的張量炬丸。通過完全丟棄建議區(qū)域生成階段,YOLO在設(shè)計上是快速的,實時運行速度為45 FPS稠炬,而其快速版本焕阿,即fast YOLO [223] ,運行速度為155 FPS首启。由于YOLO在預(yù)測時可以看到整個圖像暮屡,所以它會隱式地對對象的上下文信息進(jìn)行編碼,所以不太可能將背景誤預(yù)測為假陽性毅桃。由于對邊界框位置褒纲、尺寸和長寬比的劃分比較粗糙,這導(dǎo)致YOLO比Faster RCNN的定位精度差很多疾嗅。正如 [223] 中所討論的外厂,YOLO可能無法定位一些目標(biāo),尤其是小目標(biāo)代承。這可能是因為網(wǎng)格劃分非常粗糙的原因汁蝶,而且在構(gòu)造上每個網(wǎng)格單元只能包含一個對象。目前還不清楚YOLO有多大程度可以以良好的性能遷移到每幅圖像中有更多對象的數(shù)據(jù)集上论悴,比如ILSVRC檢測比賽掖棉。

YOLOv2 and YOLO9000:Redmon和Farhadi [222] 提出了YOLO的改進(jìn)版本YOLOv2, 其使用了很多改進(jìn)策略,如用定制的GoogLeNet [256] 網(wǎng)絡(luò)替換了較為簡單的DarkNet19膀估,引入一些現(xiàn)有工作的策略幔亥,如批歸一化(batch normalization ) [97],移除了完全連接層察纯,使用kmeans學(xué)習(xí)的表現(xiàn)更好的anchor box帕棉,使用多尺度方式進(jìn)行訓(xùn)練。YOLOv2在PASCAL VOC饼记、MS COCO等標(biāo)準(zhǔn)檢測任務(wù)上取得了當(dāng)時的SoA水平香伴。此外,Redmon和Farhadi [222] 引入了YOLO9000具则,提出了一種聯(lián)合優(yōu)化方法即纲,利用WordTree同時在ImageNet分類數(shù)據(jù)集和COCO檢測數(shù)據(jù)集上進(jìn)行訓(xùn)練,將多個數(shù)據(jù)源的數(shù)據(jù)組合起來博肋,實現(xiàn)對9000多個對象類別的實時檢測低斋。這種聯(lián)合訓(xùn)練允許YOLO9000執(zhí)行弱監(jiān)督檢測,即檢測沒有邊界框標(biāo)注數(shù)據(jù)的對象類匪凡。例如膊畴,盡管200個類中只有44個類有檢測標(biāo)注數(shù)據(jù),但YOLO9000在ImageNet檢測驗證集上獲得了19.7%的mAP病游。

SSD (Single Shot Detector):為了確保在不損失太多精度的前提下盡量保證實時預(yù)測速度巴比,Liu等人 [171] 提出了SSD,獲得了比YOLO [223] 更快的速度,并且在精度方面與基于區(qū)域的SoA檢測器包括Faster RCNN [225]也具有可比性轻绞。SSD有效地結(jié)合了來自Faster RCNN [225] 中的RPN采记、YOLO [223] 和多尺度卷積特性 [94]的思想, 實現(xiàn)了擁有快速的檢測速度的同時仍保持較高的檢測質(zhì)量政勃。與YOLO一樣唧龄,SSD預(yù)測固定數(shù)量的邊界框和每個框中是否存在類別對象的分?jǐn)?shù),然后執(zhí)行NMS獲得最終檢測結(jié)果奸远。SSD中的CNN網(wǎng)絡(luò)是完全卷積的既棺,其較淺層,也被稱為基本網(wǎng)絡(luò)懒叛,是基于標(biāo)準(zhǔn)框架的丸冕,如VGG [244] (在分類層之前截斷)。然后薛窥,在基礎(chǔ)網(wǎng)絡(luò)的末尾添加幾個輔助的卷積層胖烛,這些層的輸出特征尺寸逐漸減小。最后一層的輸出特征擁有較低的低分辨率诅迷,其在空間上可能過于粗糙佩番,以至于無法進(jìn)行精確定位。SSD使用分辨率更高的淺層來檢測小目標(biāo)罢杉。對于不同大小的對象趟畏,SSD通過對多個卷積層特征映射進(jìn)行多尺度檢測,每個卷積層特征映射都預(yù)測適當(dāng)大小的邊界框偏移量(相對于anchor box)和類別分?jǐn)?shù)滩租。在VOC2007測試中赋秀,對于300×300的輸入,運行在Nvidia Titan X上的SSD 以59 FPS 的速度達(dá)到了74.3% mAP的效果(對應(yīng)Faster RCNN的效果為以7 FPS獲得73.2% mAP律想,YOLO的效果為以45 FPS獲得63.4% mAP)猎莲。

CornerNet:最近,Law等人 [142] 發(fā)表了對anchor box在SoA對象檢測框架 [82,99,223,171] 中的主導(dǎo)作用的蜘欲。Law等 [142] 認(rèn)為使用anchor box益眉,尤其是在單階段探測器中 [75,164, 171, 223] 也有缺點 [142,164]晌柬,比如引入正負(fù)樣本嚴(yán)重不平衡姥份,減緩訓(xùn)練速度和引入額外的超參數(shù)。因此年碘,為了避免使用anchor box澈歉,借鑒在多人姿態(tài)估計任務(wù)中使用關(guān)聯(lián)嵌入(Associative Embedding )的研究成果 [191],Law等人 [142] 提出了CornerNet屿衅,將邊界框?qū)ο髾z測定義為檢測成對的關(guān)鍵點(paired keypoints):左上角和右下角埃难。在CornerNet中,骨干網(wǎng)絡(luò)是通過疊加兩個Hourglass網(wǎng)絡(luò) [190] 實現(xiàn)的。此外涡尘,還提出了一種簡單的角池化(corner pooling)方法來更好地定位角忍弛。Law等人 [142] 的研究表示,CornerNet在MS COCO上的AP達(dá)到42.1%考抄,超過了所有現(xiàn)有的單階段檢測器细疚。然而,其在Titan X GPU上的平均推理時間約為4FPS川梅,明顯慢于同是單階段檢測器的SSD [171] 和YOLO [223]疯兼。CornerNet [142] 還經(jīng)常生成一些不正確的邊界框,因為很難決定哪些關(guān)鍵點對應(yīng)該被歸為屬于同一對象的組贫途。為了進(jìn)一步改進(jìn)CornerNet [142]吧彪, Duan等人 [60] 提出了CenterNet,引入了一個額外的關(guān)鍵點丢早,即建議的中心區(qū)域點姨裸,將每個對象檢測擴(kuò)展為檢測三個關(guān)鍵點。在MS COCO檢測任務(wù)中香拉,CenterNet取得了47.0%的AP啦扬,優(yōu)于大多數(shù)現(xiàn)有的單階段檢測器。CenterNet的推理速度比CornerNet還慢凫碌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扑毡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盛险,更是在濱河造成了極大的恐慌瞄摊,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苦掘,死亡現(xiàn)場離奇詭異换帜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鹤啡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門惯驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人递瑰,你說我怎么就攤上這事祟牲。” “怎么了抖部?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵说贝,是天一觀的道長。 經(jīng)常有香客問我慎颗,道長乡恕,這世上最難降的妖魔是什么言询? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮傲宜,結(jié)果婚禮上运杭,老公的妹妹穿的比我還像新娘。我一直安慰自己函卒,他們只是感情好县习,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谆趾,像睡著了一般躁愿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沪蓬,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天彤钟,我揣著相機(jī)與錄音,去河邊找鬼跷叉。 笑死逸雹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的云挟。 我是一名探鬼主播梆砸,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼园欣!你這毒婦竟也來了帖世?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤沸枯,失蹤者是張志新(化名)和其女友劉穎日矫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绑榴,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡哪轿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了翔怎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窃诉。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赤套,靈堂內(nèi)的尸體忽然破棺而出飘痛,到底是詐尸還是另有隱情,我是刑警寧澤于毙,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布敦冬,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蚀同。R本人自食惡果不足惜阻课,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一颗祝、第九天 我趴在偏房一處隱蔽的房頂上張望潜腻。 院中可真熱鬧斥扛,春花似錦沙咏、人聲如沸币旧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吹菱。三九已至巍虫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鳍刷,已是汗流浹背占遥。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留输瓜,地道東北人瓦胎。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像尤揣,于是被迫代替她去往敵國和親搔啊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

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