詳解計算機(jī)視覺五大技術(shù):圖像分類、對象檢測、目標(biāo)跟蹤、語義分割和實例分割

譯者 | 王柯凝

出品 | AI科技大本營(公眾號ID:rgznai100)

【 AI 科技大本營導(dǎo)讀】目前,計算機(jī)視覺是深度學(xué)習(xí)領(lǐng)域最熱門的研究領(lǐng)域之一。計算機(jī)視覺實際上是一個跨領(lǐng)域的交叉學(xué)科,包括計算機(jī)科學(xué)(圖形、算法、理論、系統(tǒng)、體系結(jié)構(gòu)),數(shù)學(xué)(信息檢索、機(jī)器學(xué)習(xí)),工程學(xué)(機(jī)器人、語音、自然語言處理、圖像處理),物理學(xué)(光學(xué) ),生物學(xué)(神經(jīng)科學(xué))和心理學(xué)(認(rèn)知科學(xué))等等。許多科學(xué)家認(rèn)為,計算機(jī)視覺為人工智能的發(fā)展開拓了道路。

那么什么是計算機(jī)視覺呢? 這里給出了幾個比較嚴(yán)謹(jǐn)?shù)亩x:

? “對圖像中的客觀對象構(gòu)建明確而有意義的描述”(Ballard&Brown,1982)

? “從一個或多個數(shù)字圖像中計算三維世界的特性”(Trucco&Verri,1998)

? “基于感知圖像做出對客觀對象和場景有用的決策”(Sockman&Shapiro,2001)

為什么要學(xué)習(xí)計算機(jī)視覺?

一個顯而易見的答案就是,這個研究領(lǐng)域已經(jīng)衍生出了一大批快速成長的、有實際作用的應(yīng)用,例如:

人臉識別: Snapchat 和 Facebook 使用人臉檢測算法來識別人臉。

圖像檢索:Google Images 使用基于內(nèi)容的查詢來搜索相關(guān)圖片,算法分析查詢圖像中的內(nèi)容并根據(jù)最佳匹配內(nèi)容返回結(jié)果。

游戲和控制:使用立體視覺較為成功的游戲應(yīng)用產(chǎn)品是:微軟 Kinect。

監(jiān)測:用于監(jiān)測可疑行為的監(jiān)視攝像頭遍布于各大公共場所中。

生物識別技術(shù):指紋、虹膜和人臉匹配仍然是生物識別領(lǐng)域的一些常用方法。

智能汽車:計算機(jī)視覺仍然是檢測交通標(biāo)志、燈光和其他視覺特征的主要信息來源。

視覺識別是計算機(jī)視覺的關(guān)鍵組成部分,如圖像分類、定位和檢測。神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的最新進(jìn)展極大地推動了這些最先進(jìn)的視覺識別系統(tǒng)的發(fā)展。在本文中,我將分享 5 種主要的計算機(jī)視覺技術(shù),并介紹幾種基于計算機(jī)視覺技術(shù)的深度學(xué)習(xí)模型與應(yīng)用。

▌1?、圖像分類

給定一組各自被標(biāo)記為單一類別的圖像,我們對一組新的測試圖像的類別進(jìn)行預(yù)測,并測量預(yù)測的準(zhǔn)確性結(jié)果,這就是圖像分類問題。圖像分類問題需要面臨以下幾個挑戰(zhàn)???:

視點變化,尺度變化,類內(nèi)變化,圖像變形,圖像遮擋,照明條件和背景雜斑

我們怎樣來編寫一個圖像分類算法呢?

計算機(jī)視覺研究人員提出了一種基于數(shù)據(jù)驅(qū)動的方法。

該算法并不是直接在代碼中指定每個感興趣的圖像類別,而是為計算機(jī)每個圖像類別都提供許多示例,然后設(shè)計一個學(xué)習(xí)算法,查看這些示例并學(xué)習(xí)每個類別的視覺外觀。也就是說,首先積累一個帶有標(biāo)記圖像的訓(xùn)練集,然后將其輸入到計算機(jī)中,由計算機(jī)來處理這些數(shù)據(jù)。

因此,可以按照下面的步驟來分解:

輸入是由 N 個圖像組成的訓(xùn)練集,共有 K 個類別,每個圖像都被標(biāo)記為其中一個類別。

然后,使用該訓(xùn)練集訓(xùn)練一個分類器,來學(xué)習(xí)每個類別的外部特征。

最后,預(yù)測一組新圖像的類標(biāo)簽,評估分類器的性能,我們用分類器預(yù)測的類別標(biāo)簽與其真實的類別標(biāo)簽進(jìn)行比較。

目前較為流行的圖像分類架構(gòu)是卷積神經(jīng)網(wǎng)絡(luò)(CNN)——將圖像送入網(wǎng)絡(luò),然后網(wǎng)絡(luò)對圖像數(shù)據(jù)進(jìn)行分類。卷積神經(jīng)網(wǎng)絡(luò)從輸入“掃描儀”開始,該輸入“掃描儀”也不會一次性解析所有的訓(xùn)練數(shù)據(jù)。比如輸入一個大小為 100*100 的圖像,你也不需要一個有 10,000 個節(jié)點的網(wǎng)絡(luò)層。相反,你只需要創(chuàng)建一個大小為 10 *10 的掃描輸入層,掃描圖像的前 10*10 個像素。然后,掃描儀向右移動一個像素,再掃描下一個 10 *10 的像素,這就是滑動窗口。

輸入數(shù)據(jù)被送入卷積層,而不是普通層。每個節(jié)點只需要處理離自己最近的鄰近節(jié)點,卷積層也隨著掃描的深入而趨于收縮。除了卷積層之外,通常還會有池化層。池化是過濾細(xì)節(jié)的一種方法,常見的池化技術(shù)是最大池化,它用大小為 2*2 的矩陣傳遞擁有最多特定屬性的像素。

現(xiàn)在,大部分圖像分類技術(shù)都是在 ImageNet 數(shù)據(jù)集上訓(xùn)練的, ImageNet 數(shù)據(jù)集中包含了約 120 萬張高分辨率訓(xùn)練圖像。測試圖像沒有初始注釋(即沒有分割或標(biāo)簽),并且算法必須產(chǎn)生標(biāo)簽來指定圖像中存在哪些對象。

現(xiàn)存的很多計算機(jī)視覺算法,都是被來自牛津、 INRIA 和 XRCE 等頂級的計算機(jī)視覺團(tuán)隊在 ImageNet 數(shù)據(jù)集上實現(xiàn)的。通常來說,計算機(jī)視覺系統(tǒng)使用復(fù)雜的多級管道,并且,早期階段的算法都是通過優(yōu)化幾個參數(shù)來手動微調(diào)的。

第一屆 ImageNet 競賽的獲獎?wù)呤?Alex Krizhevsky(NIPS 2012) ,他在 Yann LeCun 開創(chuàng)的神經(jīng)網(wǎng)絡(luò)類型基礎(chǔ)上,設(shè)計了一個深度卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)架構(gòu)除了一些最大池化層外,還包含 7 個隱藏層,前幾層是卷積層,最后兩層是全連接層。在每個隱藏層內(nèi),激活函數(shù)為線性的,要比邏輯單元的訓(xùn)練速度更快、性能更好。除此之外,當(dāng)附近的單元有更強(qiáng)的活動時,它還使用競爭性標(biāo)準(zhǔn)化來壓制隱藏活動,這有助于強(qiáng)度的變化。

就硬件要求而言, Alex 在 2 個 Nvidia GTX 580 GPU (速度超過 1000 個快速的小內(nèi)核)上實現(xiàn)了非常高效的卷積網(wǎng)絡(luò)。 GPU 非常適合矩陣間的乘法且有非常高的內(nèi)存帶寬。這使他能在一周內(nèi)完成訓(xùn)練,并在測試時快速的從 10 個塊中組合出結(jié)果。如果我們能夠以足夠快的速度傳輸狀態(tài),就可以將網(wǎng)絡(luò)分布在多個內(nèi)核上。

隨著內(nèi)核越來越便宜,數(shù)據(jù)集越來越大,大型神經(jīng)網(wǎng)絡(luò)的速度要比老式計算機(jī)視覺系統(tǒng)更快。在這之后,已經(jīng)有很多種使用卷積神經(jīng)網(wǎng)絡(luò)作為核心,并取得優(yōu)秀成果的模型,如ZFNet(2013),GoogLeNet(2014), VGGNet(2014), RESNET(2015),DenseNet(2016)等。

▌2?、對象檢測

識別圖像中的對象這一任務(wù),通常會涉及到為各個對象輸出邊界框和標(biāo)簽。這不同于分類/定位任務(wù)——對很多對象進(jìn)行分類和定位,而不僅僅是對個主體對象進(jìn)行分類和定位。在對象檢測中,你只有 2 個對象分類類別,即對象邊界框和非對象邊界框。例如,在汽車檢測中,你必須使用邊界框檢測所給定圖像中的所有汽車。

如果使用圖像分類和定位圖像這樣的滑動窗口技術(shù),我們則需要將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像上的很多不同物體上。由于卷積神經(jīng)網(wǎng)絡(luò)會將圖像中的每個物體識別為對象或背景,因此我們需要在大量的位置和規(guī)模上使用卷積神經(jīng)網(wǎng)絡(luò),但是這需要很大的計算量!

為了解決這一問題,神經(jīng)網(wǎng)絡(luò)研究人員建議使用區(qū)域(region)這一概念,這樣我們就會找到可能包含對象的“斑點”圖像區(qū)域,這樣運行速度就會大大提高。第一種模型是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)( R-CNN ),其算法原理如下:

在 R-CNN 中,首先使用選擇性搜索算法掃描輸入圖像,尋找其中的可能對象,從而生成大約 2,000 個區(qū)域建議;

然后,在這些區(qū)域建議上運行一個 卷積神網(wǎng)絡(luò);

最后,將每個卷積神經(jīng)網(wǎng)絡(luò)的輸出傳給支持向量機(jī)( SVM ),使用一個線性回歸收緊對象的邊界框。

實質(zhì)上,我們將對象檢測轉(zhuǎn)換為一個圖像分類問題。但是也存在這些問題:訓(xùn)練速度慢,需要大量的磁盤空間,推理速度也很慢。

R-CNN 的第一個升級版本是 Fast R-CNN,通過使用了 2 次增強(qiáng),大大提了檢測速度:

在建議區(qū)域之前進(jìn)行特征提取,因此在整幅圖像上只能運行一次卷積神經(jīng)網(wǎng)絡(luò);

用一個 softmax 層代替支持向量機(jī),對用于預(yù)測的神經(jīng)網(wǎng)絡(luò)進(jìn)行擴(kuò)展,而不是創(chuàng)建一個新的模型。

Fast R-CNN 的運行速度要比 R-CNN 快的多,因為在一幅圖像上它只能訓(xùn)練一個 CNN 。 但是,擇性搜索算法生成區(qū)域提議仍然要花費大量時間。

Faster R-CNN 是基于深度學(xué)習(xí)對象檢測的一個典型案例

該算法用一個快速神經(jīng)網(wǎng)絡(luò)代替了運算速度很慢的選擇性搜索算法:通過插入?yún)^(qū)域提議網(wǎng)絡(luò)( RPN ),來預(yù)測來自特征的建議。 RPN 決定查看“哪里”,這樣可以減少整個推理過程的計算量。?

RPN 快速且高效地掃描每一個位置,來評估在給定的區(qū)域內(nèi)是否需要作進(jìn)一步處理,其實現(xiàn)方式如下:通過輸出 k 個邊界框建議,每個邊界框建議都有 2 個值——代表每個位置包含目標(biāo)對象和不包含目標(biāo)對象的概率。

一旦我們有了區(qū)域建議,就直接將它們送入 Fast R-CNN 。 并且,我們還添加了一個池化層、一些全連接層、一個 softmax 分類層以及一個邊界框回歸器。

總之,F(xiàn)aster R-CNN 的速度和準(zhǔn)確度更高。值得注意的是,雖然以后的模型在提高檢測速度方面做了很多工作,但很少有模型能夠大幅度的超越 Faster R-CNN 。換句話說, Faster R-CNN 可能不是最簡單或最快速的目標(biāo)檢測方法,但仍然是性能最好的方法之一。

近年來,主要的目標(biāo)檢測算法已經(jīng)轉(zhuǎn)向更快、更高效的檢測系統(tǒng)。這種趨勢在 You Only Look Once(YOLO),Single Shot MultiBox Detector(SSD)和基于區(qū)域的全卷積網(wǎng)絡(luò)( R-FCN )算法中尤為明顯,這三種算法轉(zhuǎn)向在整個圖像上共享計算。因此,這三種算法和上述的3種造價較高的R-CNN 技術(shù)有所不同。

▌3?、?目標(biāo)跟蹤

目標(biāo)跟蹤,是指在特定場景跟蹤某一個或多個特定感興趣對象的過程。傳統(tǒng)的應(yīng)用就是視頻和真實世界的交互,在檢測到初始對象之后進(jìn)行觀察?,F(xiàn)在,目標(biāo)跟蹤在無人駕駛領(lǐng)域也很重要,例如 Uber 和特斯拉等公司的無人駕駛。

根據(jù)觀察模型,目標(biāo)跟蹤算法可分成 2 類:生成算法和判別算法。

生成算法使用生成模型來描述表觀特征,并將重建誤差最小化來搜索目標(biāo),如主成分分析算法( PCA );

判別算法用來區(qū)分物體和背景,其性能更穩(wěn)健,并逐漸成為跟蹤對象的主要手段(判別算法也稱為 Tracking-by-Detection ,深度學(xué)習(xí)也屬于這一范疇)。

為了通過檢測實現(xiàn)跟蹤,我們檢測所有幀的候選對象,并使用深度學(xué)習(xí)從候選對象中識別想要的對象。有兩種可以使用的基本網(wǎng)絡(luò)模型:堆疊自動編碼器( SAE )和卷積神經(jīng)網(wǎng)絡(luò)( CNN )。

目前,最流行的使用 SAE 進(jìn)行目標(biāo)跟蹤的網(wǎng)絡(luò)是 Deep Learning Tracker(DLT),它使用了離線預(yù)訓(xùn)練和在線微調(diào)。其過程如下:

離線無監(jiān)督預(yù)訓(xùn)練使用大規(guī)模自然圖像數(shù)據(jù)集獲得通用的目標(biāo)對象表示,對堆疊去噪自動編碼器進(jìn)行預(yù)訓(xùn)練。堆疊去噪自動編碼器在輸入圖像中添加噪聲并重構(gòu)原始圖像,可以獲得更強(qiáng)大的特征表述能力。

將預(yù)訓(xùn)練網(wǎng)絡(luò)的編碼部分與分類器合并得到分類網(wǎng)絡(luò),然后使用從初始幀中獲得的正負(fù)樣本對網(wǎng)絡(luò)進(jìn)行微調(diào),來區(qū)分當(dāng)前的對象和背景。 DLT 使用粒子濾波作為意向模型(motion model),生成當(dāng)前幀的候選塊。 分類網(wǎng)絡(luò)輸出這些塊的概率值,即分類的置信度,然后選擇置信度最高的塊作為對象。

在模型更新中, DLT 使用有限閾值。

鑒于 CNN 在圖像分類和目標(biāo)檢測方面的優(yōu)勢,它已成為計算機(jī)視覺和視覺跟蹤的主流深度模型。 一般來說,大規(guī)模的卷積神經(jīng)網(wǎng)絡(luò)既可以作為分類器和跟蹤器來訓(xùn)練。具有代表性的基于卷積神經(jīng)網(wǎng)絡(luò)的跟蹤算法有全卷積網(wǎng)絡(luò)跟蹤器( FCNT )和多域卷積神經(jīng)網(wǎng)絡(luò)( MD Net )。

FCNT 充分分析并利用了 VGG 模型中的特征映射,這是一種預(yù)先訓(xùn)練好的 ImageNet 數(shù)據(jù)集,并有如下效果:

卷積神經(jīng)網(wǎng)絡(luò)特征映射可用于定位和跟蹤。

對于從背景中區(qū)分特定對象這一任務(wù)來說,很多卷積神經(jīng)網(wǎng)絡(luò)特征映射是噪音或不相關(guān)的。

較高層捕獲對象類別的語義概念,而較低層編碼更多的具有區(qū)性的特征,來捕獲類別內(nèi)的變形。

因此, FCNT 設(shè)計了特征選擇網(wǎng)絡(luò),在 VGG 網(wǎng)絡(luò)的卷積 4-3 和卷積 5-3 層上選擇最相關(guān)的特征映射。 然后為避免噪音的過擬合, FCNT 還為這兩個層的選擇特征映射單獨設(shè)計了兩個額外的通道(即 SNet 和 GNet ):GNet 捕獲對象的類別信息;?SNet 將該對象從具有相似外觀的背景中區(qū)分出來。

這兩個網(wǎng)絡(luò)的運作流程如下:都使用第一幀中給定的邊界框進(jìn)行初始化,以獲取對象的映射。而對于新的幀,對其進(jìn)行剪切并傳輸最后一幀中的感興趣區(qū)域,該感興趣區(qū)域是以目標(biāo)對象為中心。最后,通過 SNet 和 GNet ,分類器得到兩個預(yù)測熱映射,而跟蹤器根據(jù)是否存在干擾信息,來決定使用哪張熱映射生成的跟蹤結(jié)果。 FCNT 的圖如下所示。

與 FCNT 的思路不同, MD Net 使用視頻的所有序列來跟蹤對象的移動。上述網(wǎng)絡(luò)使用不相關(guān)的圖像數(shù)據(jù)來減少跟蹤數(shù)據(jù)的訓(xùn)練需求,并且這種想法與跟蹤有一些偏差。該視頻中的一個類的對象可以是另一個視頻中的背景,因此, MD Net 提出了“多域”這一概念,它能夠在每個域中獨立的區(qū)分對象和背景,而一個域表示一組包含相同類型對象的視頻。

如下圖所示, MD Net 可分為兩個部分,即 K 個特定目標(biāo)分支層和共享層:每個分支包含一個具有 softmax 損失的二進(jìn)制分類層,用于區(qū)分每個域中的對象和背景;共享層與所有域共享,以保證通用表示。

近年來,深度學(xué)習(xí)研究人員嘗試使用了不同的方法來適應(yīng)視覺跟蹤任務(wù)的特征,并且已經(jīng)探索了很多方法:

應(yīng)用到諸如循環(huán)神經(jīng)網(wǎng)絡(luò)( RNN )和深度信念網(wǎng)絡(luò)(DBN )等其他網(wǎng)絡(luò)模型;

設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)來適應(yīng)視頻處理和端到端學(xué)習(xí),優(yōu)化流程、結(jié)構(gòu)和參數(shù);

或者將深度學(xué)習(xí)與傳統(tǒng)的計算機(jī)視覺或其他領(lǐng)域的方法(如語言處理和語音識別)相結(jié)合。

▌4、語義分割

計算機(jī)視覺的核心是分割,它將整個圖像分成一個個像素組,然后對其進(jìn)行標(biāo)記和分類。特別地,語義分割試圖在語義上理解圖像中每個像素的角色(比如,識別它是汽車、摩托車還是其他的類別)。如上圖所示,除了識別人、道路、汽車、樹木等之外,我們還必須確定每個物體的邊界。因此,與分類不同,我們需要用模型對密集的像素進(jìn)行預(yù)測。

與其他計算機(jī)視覺任務(wù)一樣,卷積神經(jīng)網(wǎng)絡(luò)在分割任務(wù)上取得了巨大成功。最流行的原始方法之一是通過滑動窗口進(jìn)行塊分類,利用每個像素周圍的圖像塊,對每個像素分別進(jìn)行分類。但是其計算效率非常低,因為我們不能在重疊塊之間重用共享特征。

解決方案就是加州大學(xué)伯克利分校提出的全卷積網(wǎng)絡(luò)( FCN ),它提出了端到端的卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),在沒有任何全連接層的情況下進(jìn)行密集預(yù)測

這種方法允許針對任何尺寸的圖像生成分割映射,并且比塊分類算法快得多,幾乎后續(xù)所有的語義分割算法都采用了這種范式。

但是,這也仍然存在一個問題:在原始圖像分辨率上進(jìn)行卷積運算非常昂貴。為了解決這個問題, FCN 在網(wǎng)絡(luò)內(nèi)部使用了下采樣和上采樣:下采樣層被稱為條紋卷積( striped convolution );而上采樣層被稱為反卷積( transposed convolution )。

盡管采用了上采樣和下采樣層,但由于池化期間的信息丟失, FCN 會生成比較粗糙的分割映射。 SegNet 是一種比 FCN (使用最大池化和編碼解碼框架)更高效的內(nèi)存架構(gòu)。在 SegNet ?解碼技術(shù)中,從更高分辨率的特征映射中引入了 shortcut/skip connections ,以改善上采樣和下采樣后的粗糙分割映射。

目前的語義分割研究都依賴于完全卷積網(wǎng)絡(luò),如空洞卷積 ( Dilated Convolutions ),DeepLab 和 RefineNet 。

▌5?、實例分割

除了語義分割之外,實例分割將不同類型的實例進(jìn)行分類,比如用 5 種不同顏色來標(biāo)記 5 輛汽車。分類任務(wù)通常來說就是識別出包含單個對象的圖像是什么,但在分割實例時,我們需要執(zhí)行更復(fù)雜的任務(wù)。我們會看到多個重疊物體和不同背景的復(fù)雜景象,我們不僅需要將這些不同的對象進(jìn)行分類,而且還要確定對象的邊界、差異和彼此之間的關(guān)系!

到目前為止,我們已經(jīng)看到了如何以多種有趣的方式使用卷積神經(jīng)網(wǎng)絡(luò)的特征,通過邊界框有效定位圖像中的不同對象。我們可以將這種技術(shù)進(jìn)行擴(kuò)展嗎?也就是說,對每個對象的精確像素進(jìn)行定位,而不僅僅是用邊界框進(jìn)行定位? ?Facebook AI 則使用了 Mask R-CNN 架構(gòu)對實例分割問題進(jìn)行了探索。

就像 Fast R-CNN 和 Faster R-CNN 一樣, Mask R-CNN 的底層是鑒于 Faster R-CNN 在物體檢測方面效果很好,我們是否可以將其擴(kuò)展到像素級分割?

Mask R-CNN 通過向 Faster R-CNN 添加一個分支來進(jìn)行像素級分割,該分支輸出一個二進(jìn)制掩碼,該掩碼表示給定像素是否為目標(biāo)對象的一部分:該分支是基于卷積神經(jīng)網(wǎng)絡(luò)特征映射的全卷積網(wǎng)絡(luò)。將給定的卷積神經(jīng)網(wǎng)絡(luò)特征映射作為輸入,輸出為一個矩陣,其中像素屬于該對象的所有位置用 1 表示,其他位置則用 0 表示,這就是二進(jìn)制掩碼。

另外,當(dāng)在原始 Faster R-CNN 架構(gòu)上運行且沒有做任何修改時,感興趣池化區(qū)域( RoIPool ) 選擇的特征映射區(qū)域或原始圖像的區(qū)域稍微錯開。由于圖像分割具有像素級特性,這與邊界框不同,自然會導(dǎo)致結(jié)果不準(zhǔn)確。 Mas R-CNN 通過調(diào)整 RoIPool 來解決這個問題,使用感興趣區(qū)域?qū)R( Roialign )方法使其變的更精確。本質(zhì)上, RoIlign 使用雙線性插值來避免舍入誤差,這會導(dǎo)致檢測和分割不準(zhǔn)確。

一旦生成這些掩碼, Mask R-CNN 將 RoIAlign 與來自 Faster R-CNN 的分類和邊界框相結(jié)合,以便進(jìn)行精確的分割:

▌結(jié)語

上述這 5 種主要的計算機(jī)視覺技術(shù)可以協(xié)助計算機(jī)從單個或一系列圖像中提取、分析和理解有用的信息。你還可以通過我的 GitHub 存儲庫(https://github.com/khanhnamle1994/computer-vision)獲取所有的演講幻燈片以及指南。

作者 | James Le

原文鏈接

https://heartbeat.fritz.ai/the-5-computer-vision-techniques-that-will-change-how-you-see-the-world-1ee19334354b

作者:AI科技大本營

鏈接:http://www.lxweimin.com/p/e3ec3f1ed6fc

來源:簡書

簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,076評論 2 375

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