人臉識(shí)別

一路捧、人臉檢測

在 OpenCV 中,CascadeClassifier 是一個(gè)用于物體檢測的類梨熙,尤其在處理面部檢測時(shí)尤為常用爪模。其主要原理基于 Haar 特征AdaBoost 算法來構(gòu)建一個(gè)級(jí)聯(lián)分類器欠啤。以下是其工作機(jī)制的詳細(xì)闡述:

1. Haar 特征

Haar 特征是一種用來表示圖像中某些特征的矩形區(qū)域。具體而言屋灌,這些特征通過簡單的黑白矩形區(qū)域組合來描述圖像的某些局部屬性洁段,例如邊緣、線條和其他紋理特征共郭。

  • 特征類型:Haar 特征有多種類型祠丝,包括線上特征、邊緣特征等除嘹。
  • 變換效率:利用積分圖 (Integral Image) 的概念写半,可以快速計(jì)算這些特征。

2. AdaBoost 算法

AdaBoost(Adaptive Boosting)是一個(gè)集成學(xué)習(xí)算法憾赁,用于提升簡單分類器的性能污朽。它的核心思想是通過組合多個(gè)弱分類器形成一個(gè)強(qiáng)分類器。

  • 弱分類器:在 CascadeClassifier 中龙考,每個(gè)弱分類器可以是基于某些 Haar 特征的簡單分類器。
  • 迭代訓(xùn)練:AdaBoost 在每輪迭代中重點(diǎn)關(guān)注之前分類錯(cuò)誤的樣本矾睦,通過調(diào)整樣本的權(quán)重來訓(xùn)練下一輪的弱分類器晦款。
  • 最終分類器:多個(gè)弱分類器會(huì)結(jié)合成一個(gè)強(qiáng)分類器,決定是否將樣本標(biāo)記為目標(biāo)類(如人臉)枚冗。

3. 級(jí)聯(lián)結(jié)構(gòu)

CascadeClassifier 的“級(jí)聯(lián)”結(jié)構(gòu)是其效率的關(guān)鍵缓溅。具體來說,分類器是通過多層分類器級(jí)聯(lián)組成的赁温。

  • 多階段分類:每一層分類器都是一個(gè)弱分類器集合坛怪,它們通過 AdaBoost 訓(xùn)練而成淤齐。在每一層,分類器會(huì)快速排除大部分不符合條件的區(qū)域袜匿,這樣后續(xù)只需對(duì)更有可能包含目標(biāo)的區(qū)域進(jìn)行更細(xì)致的檢測更啄。
  • 提高效率:由于每一層都能快速拒絕大量不符合條件的區(qū)域,這大大提高了整體處理效率居灯。

4. 訓(xùn)練過程

訓(xùn)練階段通常包含以下步驟:

  1. 收集正負(fù)樣本:正樣本是包含目標(biāo)對(duì)象的圖片(如人臉)祭务,負(fù)樣本是不包含目標(biāo)對(duì)象的圖片。
  2. 特征提取:計(jì)算所有樣本的 Haar 特征怪嫌。
  3. 使用 AdaBoost:通過 AdaBoost 訓(xùn)練形成多個(gè)弱分類器义锥,并將它們組合成級(jí)聯(lián)分類器。
  4. 創(chuàng)建級(jí)聯(lián)模型:將訓(xùn)練好的分類器存儲(chǔ)為 XML 文件以供后續(xù)使用岩灭。

5. 應(yīng)用與使用

在使用 CascadeClassifier 進(jìn)行檢測時(shí)拌倍,通常的步驟包括:

  1. 加載訓(xùn)練好的 Haar 特征分類器(如人臉檢測模型)。
  2. 讀取待檢測的圖像。
  3. 調(diào)用 detectMultiScale 方法烹俗,對(duì)圖像進(jìn)行檢測烁落。
  4. 在圖像中標(biāo)記檢測到的目標(biāo)。

示例代碼

import cv2

# 加載 Haar 分類器
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

# 讀取圖像
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 檢測人臉
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)

# 繪制結(jié)果
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)

cv2.imshow('Detected Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

總結(jié)

CascadeClassifier 通過 Haar 特征和 AdaBoost 算法構(gòu)建高效的對(duì)象檢測系統(tǒng)膨更。其級(jí)聯(lián)結(jié)構(gòu)由于能夠快速剔除不符合條件的區(qū)域,使得在實(shí)際應(yīng)用中能夠在保持精度的前提下實(shí)現(xiàn)高效檢測缴允。

二荚守、LBPH人臉識(shí)別

LBPH(Local Binary Patterns Histograms)是一種流行的人臉識(shí)別方法,主要通過分析圖像中局部區(qū)域的紋理特征來進(jìn)行分類和識(shí)別练般。以下是 LBPH 方法的詳細(xì)概述:

1. 什么是 LBPH矗漾?

LBPH 是一種紋理特征提取算法,它通過計(jì)算局部二進(jìn)制模式來描述圖像的特征薄料。與其他方法相比敞贡,LBPH 具有計(jì)算簡單、魯棒性強(qiáng)摄职、對(duì)光照變化不敏感等優(yōu)點(diǎn)誊役。

2. LBPH 的基本原理

LBPH 主要分為以下幾個(gè)步驟:

2.1 收集訓(xùn)練數(shù)據(jù)

通常,需要收集關(guān)于人臉的多個(gè)圖像樣本谷市。每個(gè)人至少需要多張圖像蛔垢,以便捕捉到不同光照、表情和姿勢的變化迫悠。

2.2 圖像預(yù)處理

  • 灰度化:將RGB圖像轉(zhuǎn)換為灰度圖像鹏漆,以減少計(jì)算復(fù)雜度。
  • 歸一化:調(diào)整圖像尺度和對(duì)齊,以便增強(qiáng)識(shí)別的一致性艺玲。
  • 直方圖均衡化(可選):增強(qiáng)圖像對(duì)比度括蝠,提高特征的可辨識(shí)度。

2.3 計(jì)算局部二進(jìn)制模式(LBP)

LBP 的具體步驟如下:

  1. 定義鄰域:選擇一個(gè)中心像素饭聚,通常是3x3的鄰域忌警。
  2. 編碼:對(duì)鄰域中每個(gè)像素值與中心像素值進(jìn)行比較,若鄰域像素值大于中心像素值若治,則編碼為1慨蓝,否則編碼為0。這樣端幼,3x3鄰域中的9個(gè)像素會(huì)生成一個(gè)8位的二進(jìn)制數(shù)礼烈。
  3. 轉(zhuǎn)換為十進(jìn)制:將生成的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),作為該中心像素的 LBP 值婆跑。
  4. 重復(fù):對(duì)圖像每個(gè)像素執(zhí)行上述操作此熬,生成一個(gè) LBP 圖。

2.4 計(jì)算 LBP 直方圖

將生成的 LBP 圖像分成多個(gè)小區(qū)域(例如滑进,將圖像分為4塊或更多)犀忱,并在每個(gè)區(qū)域內(nèi)計(jì)算 LBP 直方圖。每個(gè)區(qū)域的直方圖反映了該區(qū)域內(nèi)像素的局部紋理特征扶关。

2.5 特征組合

結(jié)合所有小區(qū)域的 LBP 直方圖阴汇,形成一個(gè)長的特征向量,該特征向量包含了整個(gè)圖像的紋理信息节槐。

3. 人臉識(shí)別過程

  1. 特征提取:使用上述方法提取每張人臉圖像的 LBP 特征向量搀庶。
  2. 分類:常用的分類器包括:
    • k-NN(K-最近鄰算法)
    • 支持向量機(jī)(SVM)
    • 樸素貝葉斯分類器
      通過比較待識(shí)別圖像的特征與訓(xùn)練數(shù)據(jù)集中的特征進(jìn)行分類。
  3. 決策:根據(jù)分類結(jié)果確定識(shí)別出的身份铜异。

4. 優(yōu)點(diǎn)與局限

優(yōu)點(diǎn):

  • 光照不敏感:LBPH 對(duì)于不同光照的變化表現(xiàn)出良好的魯棒性哥倔。
  • 計(jì)算簡單、快速:特征提取過程和分類過程都相對(duì)簡單揍庄,適合實(shí)時(shí)人臉識(shí)別咆蒿。
  • 適用性廣:適用于多種人臉識(shí)別場景,包括活體識(shí)別蚂子。

局限:

  • 對(duì)人臉姿勢敏感:LBPH 可能對(duì)人臉角度變化更敏感沃测,導(dǎo)致識(shí)別準(zhǔn)確率下降。
  • 對(duì)遮擋情況敏感:如人臉被部分遮擋缆镣,識(shí)別效果可能降低芽突。

5. 應(yīng)用

LBPH 被廣泛應(yīng)用于人臉識(shí)別系統(tǒng),如門禁系統(tǒng)董瞻、監(jiān)控系統(tǒng)、社交媒體自動(dòng)標(biāo)記、身份驗(yàn)證等钠糊。

6. 示例代碼(Python + OpenCV)

以下是使用 OpenCV 實(shí)現(xiàn) LBPH 人臉識(shí)別的基本示例代碼:

import cv2
import os

# 創(chuàng)建 LBPH 人臉識(shí)別器
recognizer = cv2.face.LBPHFaceRecognizer_create()

# 格式化讀取數(shù)據(jù)(圖像與標(biāo)簽)
def get_images_and_labels(data_path):
    images = []
    labels = []
    for label, name in enumerate(os.listdir(data_path)):
        person_path = os.path.join(data_path, name)
        for img_name in os.listdir(person_path):
            img_path = os.path.join(person_path, img_name)
            img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
            images.append(img)
            labels.append(label)
    return images, labels

# 訓(xùn)練模型
data_path = 'path_to_training_data'
images, labels = get_images_and_labels(data_path)
recognizer.train(images, np.array(labels))

# 識(shí)別
test_image = cv2.imread('path_to_test_image', cv2.IMREAD_GRAYSCALE)
label, confidence = recognizer.predict(test_image)
print(f'Recognized label: {label}, Confidence: {confidence}')

7. 總結(jié)

LBPH 是一種有效的人臉識(shí)別方法挟秤,由于其簡單快速的特性,被廣泛應(yīng)用于各種實(shí)際場景中抄伍。通過紋理特征提取和直方圖統(tǒng)計(jì)艘刚,LBPH 在處理人臉圖像時(shí)能提供良好的識(shí)別效果。

三截珍、Eigenfaces人臉識(shí)別

Eigensfaces(本征臉)是基于主成分分析(PCA)的人臉識(shí)別算法攀甚。它通過將高維的人臉圖像數(shù)據(jù)投影到一個(gè)較低維的空間中,提取出最具代表性的特征岗喉,以實(shí)現(xiàn)人臉的識(shí)別秋度。以下是 Eigensfaces 的詳細(xì)概述:

1. 原理

Eigensfaces 的基本思想是將所有訓(xùn)練圖像(每個(gè)人的多張人臉圖像)轉(zhuǎn)化為一個(gè)新的空間,使用 PCA 尋找能夠最大化方差的特征(即特征臉)钱床。每個(gè)特征臉都是原始圖像線性組合的結(jié)果荚斯。

2. 主要步驟

2.1 收集訓(xùn)練數(shù)據(jù)

收集多個(gè)用戶的若干張人臉圖像,組成一個(gè)數(shù)據(jù)集查牌。為了提高識(shí)別效果事期,通常要求每個(gè)用戶有多張不同條件下的圖像(如不同表情、光照等)纸颜。

2.2 圖像預(yù)處理

  1. 灰度化:將圖像轉(zhuǎn)換為灰度圖兽泣,以減少計(jì)算復(fù)雜度。
  2. 對(duì)齊與歸一化:確保所有圖像具有相同的尺寸和方向胁孙,調(diào)整到同樣的尺度唠倦,以便進(jìn)行有效的比較。

2.3 構(gòu)建圖像矩陣

將每張圖像展平(通常是成行向量)浊洞,然后將它們組合成一個(gè)矩陣 (X)牵敷,其中每行代表一個(gè)訓(xùn)練圖像,行數(shù)是圖像總數(shù)法希,列數(shù)是圖像的像素?cái)?shù)枷餐。

2.4 計(jì)算協(xié)方差矩陣

通過計(jì)算均值圖像,并從每個(gè)圖像中減去均值苫亦,這樣可以集中在數(shù)據(jù)的變化上毛肋。

[
X' = X - \text{mean}(X)
]

接下來,計(jì)算協(xié)方差矩陣 (C):

[
C = \frac{1}{N} X'^T X'
]

其中 (N) 是圖像的數(shù)量屋剑。

2.5 計(jì)算特征值與特征向量

通過特征值分解或奇異值分解(SVD)润匙,計(jì)算協(xié)方差矩陣的特征值和特征向量。特征值越大唉匾,說明對(duì)應(yīng)的特征向量在原始空間中的方差越大孕讳。

2.6 選擇特征臉

選擇前 (k) 個(gè)最大特征值對(duì)應(yīng)的特征向量匠楚,形成特征臉。這些特征臉構(gòu)成了一個(gè)新的特征空間厂财。

3. 人臉識(shí)別過程

  1. 特征提取:將待識(shí)別的人臉圖像轉(zhuǎn)為與訓(xùn)練圖像相同的形狀和大小芋簿,利用步驟 2.4 和 2.5,項(xiàng)目到 Eigensfaces 空間中璃饱。
  2. 分類:使用歐幾里得距離或其他距離測度与斤,找到訓(xùn)練集中與待測試圖像具有最小距離的特征臉,識(shí)別出該圖像對(duì)應(yīng)的人臉荚恶。

4. 優(yōu)點(diǎn)與局限

優(yōu)點(diǎn):

  • 降低維度:Eigensfaces 能夠有效降低高維數(shù)據(jù)的維度撩穿,提高計(jì)算效率。
  • 適應(yīng)變化:能夠處理光照和表情變化谒撼,適用于多種場景食寡。

局限:

  • 對(duì)姿態(tài)變化敏感:當(dāng)人臉角度和姿勢變化顯著時(shí)(如旋轉(zhuǎn)或傾斜),識(shí)別性能可能降低嗤栓。
  • 對(duì)光照變化敏感:雖然比某些方法更魯棒冻河,但對(duì)于極端光照變化,性能仍可能下降茉帅。

5. 應(yīng)用

Eigensfaces 方法廣泛應(yīng)用于各種人臉識(shí)別任務(wù)叨叙,如監(jiān)控、門禁系統(tǒng)堪澎、身份驗(yàn)證等擂错。

6. 示例代碼(Python + OpenCV)

使用 OpenCV 庫進(jìn)行 Eigensfaces 人臉識(shí)別的基本示例代碼如下:

import cv2
import numpy as np
import os

# 創(chuàng)建 Eigensfaces 人臉識(shí)別器
face_recognizer = cv2.face.EigenFaceRecognizer_create()

# 讀取圖像和標(biāo)簽
def get_images_and_labels(data_path):
    images = []
    labels = []
    for label, name in enumerate(os.listdir(data_path)):
        person_path = os.path.join(data_path, name)
        for img_name in os.listdir(person_path):
            img_path = os.path.join(person_path, img_name)
            img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
            images.append(img)
            labels.append(label)
    return images, labels

# 訓(xùn)練模型
data_path = 'path_to_training_data'
images, labels = get_images_and_labels(data_path)
face_recognizer.train(images, np.array(labels))

# 進(jìn)行識(shí)別
test_image = cv2.imread('path_to_test_image', cv2.IMREAD_GRAYSCALE)
label, confidence = face_recognizer.predict(test_image)
print(f'Recognized label: {label}, Confidence: {confidence}')

7. 總結(jié)

Eigensfaces 是一種基于 PCA 的有效人臉識(shí)別方法,通過提取圖像的主要特征樱蛤,有效對(duì)人臉進(jìn)行分類和識(shí)別钮呀。雖然對(duì)姿態(tài)和光照變化敏感,但在許多應(yīng)用中昨凡,Eigensfaces 仍然表現(xiàn)出良好的性能爽醋。

四、Fisherfaces人臉識(shí)別

Fisherfaces 是一種基于線性判別分析(LDA, Linear Discriminant Analysis)的人臉識(shí)別方法便脊,主要用來解決跨樣本間劃分問題蚂四,主要適合用于人臉識(shí)別任務(wù)。它與 Eigensfaces 的主要區(qū)別在于哪痰,它在降維的同時(shí)遂赠,也考慮了類間的分散度,確保不同人臉之間的距離盡可能遠(yuǎn)晌杰,同時(shí)同一類的人臉之間的距離盡可能近跷睦。

1. 原理

Fisherfaces 通過最大化類間散度(between-class scatter)和最小化類內(nèi)散度(within-class scatter)的比率,將數(shù)據(jù)投影到一個(gè)新的空間中肋演。這樣抑诸,能夠更好地進(jìn)行人臉分類烂琴。

2. 主要步驟

2.1 收集訓(xùn)練數(shù)據(jù)

類似于其他方法,需要收集若干用戶的人臉圖像哼鬓,確保每個(gè)用戶有多張不同條件下的圖像监右。

2.2 圖像預(yù)處理

  1. 灰度化:將RGB圖像轉(zhuǎn)換為灰度圖边灭。
  2. 對(duì)齊與歸一化:調(diào)整圖像大小和方向异希,確保圖像統(tǒng)一。

2.3 計(jì)算均值圖像

為每個(gè)類別(每個(gè)用戶)計(jì)算均值圖像绒瘦,并計(jì)算整個(gè)訓(xùn)練集的總體均值称簿。

2.4 計(jì)算類內(nèi)散度矩陣與類間散度矩陣

  • 類內(nèi)散度矩陣 (S_W):表示同一類樣本之間的散布程度。

[
S_W = \sum_{i=1}^{c} \sum_{j=1}^{N_i} (x_{ij} - \mu_i)(x_{ij} - \mu_i)^T
]

其中惰帽,(c) 是類別的數(shù)量憨降,(N_i) 是類別 (i) 的樣本數(shù)量,(\mu_i) 是類別 (i) 的均值该酗。

  • 類間散度矩陣 (S_B):表示不同類樣本之間的散布程度授药。

[
S_B = \sum_{i=1}^{c} N_i(\mu_i - \mu)(\mu_i - \mu)^T
]

其中,(\mu) 是總均值呜魄。

2.5 計(jì)算特征值與特征向量

通過求解廣義特征值問題 (S_B v = \lambda S_W v)悔叽,計(jì)算特征值和特征向量。

2.6 選擇特征臉

選擇前 (k) 個(gè)特征值最大的特征向量爵嗅,它們將形成新的特征空間娇澎。

3. 人臉識(shí)別過程

  1. 特征提取:將待識(shí)別的人臉圖像通過 Fisherfaces 方法投影到新的特征空間中。
  2. 分類:常用的方法包括計(jì)算與訓(xùn)練集中每個(gè)類別的距離(例如睹晒,使用歐幾里得距離或投影距離)趟庄,得到最接近的類別進(jìn)行識(shí)別。

4. 優(yōu)點(diǎn)與局限

優(yōu)點(diǎn):

  • 更好的分類性能:考慮了類間和類內(nèi)的散度伪很,識(shí)別率通常比 Eigensfaces 更高戚啥,特別是在樣本數(shù)量較少的情況下。
  • 比較魯棒:對(duì)于一些變化(如光照锉试、表情等)具有更好的適應(yīng)能力猫十。

局限:

  • 計(jì)算復(fù)雜度:Fisherfaces 的計(jì)算相對(duì)復(fù)雜,特別是在樣本數(shù)量較多的情況下键痛。
  • 對(duì)數(shù)據(jù)分布的要求:對(duì)于類別大小不均的情況炫彩,F(xiàn)isherfaces 的表現(xiàn)可能不如預(yù)期。

5. 應(yīng)用

Fisherfaces 方法廣泛應(yīng)用于人臉識(shí)別任務(wù)絮短,如監(jiān)控系統(tǒng)江兢、身份驗(yàn)證、社交網(wǎng)絡(luò)中的自動(dòng)標(biāo)記等丁频。

6. 示例代碼(Python + OpenCV)

以下是使用 OpenCV 的 Fisherfaces 人臉識(shí)別的基本示例代碼:

import cv2
import numpy as np
import os

# 創(chuàng)建 Fisherfaces 人臉識(shí)別器
face_recognizer = cv2.face.FisherFaceRecognizer_create()

# 讀取圖像和標(biāo)簽
def get_images_and_labels(data_path):
    images = []
    labels = []
    for label, name in enumerate(os.listdir(data_path)):
        person_path = os.path.join(data_path, name)
        for img_name in os.listdir(person_path):
            img_path = os.path.join(person_path, img_name)
            img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
            images.append(img)
            labels.append(label)
    return images, labels

# 訓(xùn)練模型
data_path = 'path_to_training_data'
images, labels = get_images_and_labels(data_path)
face_recognizer.train(images, np.array(labels))

# 進(jìn)行識(shí)別
test_image = cv2.imread('path_to_test_image', cv2.IMREAD_GRAYSCALE)
label, confidence = face_recognizer.predict(test_image)
print(f'Recognized label: {label}, Confidence: {confidence}')

7. 總結(jié)

Fisherfaces 是一種基于線性判別分析的人臉識(shí)別方法杉允,通過考慮類間與類內(nèi)散度的不同邑贴,能夠有效提高識(shí)別性能。雖然在一定條件下可能存在計(jì)算復(fù)雜度的挑戰(zhàn)叔磷,但其優(yōu)勢使其在許多人臉識(shí)別任務(wù)中得到廣泛應(yīng)用拢驾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市改基,隨后出現(xiàn)的幾起案子繁疤,更是在濱河造成了極大的恐慌,老刑警劉巖秕狰,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稠腊,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸣哀,警方通過查閱死者的電腦和手機(jī)架忌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來我衬,“玉大人叹放,你說我怎么就攤上這事∧痈幔” “怎么了井仰?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長褥赊。 經(jīng)常有香客問我糕档,道長,這世上最難降的妖魔是什么拌喉? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任速那,我火速辦了婚禮,結(jié)果婚禮上尿背,老公的妹妹穿的比我還像新娘端仰。我一直安慰自己,他們只是感情好田藐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布荔烧。 她就那樣靜靜地躺著,像睡著了一般汽久。 火紅的嫁衣襯著肌膚如雪鹤竭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天景醇,我揣著相機(jī)與錄音臀稚,去河邊找鬼。 笑死三痰,一個(gè)胖子當(dāng)著我的面吹牛吧寺,可吹牛的內(nèi)容都是我干的窜管。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼稚机,長吁一口氣:“原來是場噩夢啊……” “哼幕帆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赖条,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤失乾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后谋币,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仗扬,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年蕾额,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彼城。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诅蝶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出募壕,到底是詐尸還是另有隱情调炬,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布舱馅,位于F島的核電站缰泡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏代嗤。R本人自食惡果不足惜棘钞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望干毅。 院中可真熱鬧宜猜,春花似錦、人聲如沸硝逢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渠鸽。三九已至叫乌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間徽缚,已是汗流浹背憨奸。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猎拨,地道東北人膀藐。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓屠阻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親额各。 傳聞我的和親對(duì)象是個(gè)殘疾皇子国觉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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