[CVPR2020]论文翻译SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition

幻灯片1.PNG
幻灯片2.PNG
幻灯片3.PNG
幻灯片4.PNG
幻灯片5.PNG
幻灯片6.PNG
幻灯片7.PNG
幻灯片8.PNG

Abstract

场景文本识别是计算机视觉中的一个热门研究主题。近年来,已经提出了许多基于编码器-解码器框架的识别方法,它们可以处理透视失真和曲线形状的场景文本。但是,他们仍然面临许多挑战,例如图像模糊,照明不均匀以及字符不完整。我们认为,大多数编码器-解码器方法都是基于本地视觉特征而没有明确的全局语义信息。在这项工作中,我们提出了一个语义增强的编码器-解码器框架,以稳健地识别低质量的场景文本。语义信息在编码器模块中用于监督,在解码器模块中用于初始化。特别是,将最新的ASTER方法作为示例集成到所提出的框架中。大量的实验表明,所提出的框架对于低质量的文本图像更健壮,并且在多个基准数据集上均达到了最新的结果。
代码地址

1. Introduction

场景文本的检测和识别由于其在自动驾驶,路标识别,帮助视障者等方面的各种应用而引起了近年来的关注。受对象检测[27,40,26,58]的启发,场景文本检测[24,48,60,38,6]实现了令人信服的性能。尽管在文档中常规文本识别已经成熟,但场景文本识别仍然是一项艰巨的任务。

随着深度学习的发展,最近的工作[16,15,43,46,22,44,45,54,7,8, [2,23,25,57,52,32,53]场景文本识别已显示出令人鼓舞的结果。但是,现有的方法在处理图像模糊,背景干扰,遮挡和不完整字符时仍然面临各种问题,如图1所示。



图1.我们的SEED与现有的编码器-解码器框架(例如[45])的比较。 第一列显示了一些具有挑战性的场景文本的示例,包括图像模糊,遮挡和背景干扰。 第二列是现有编码器-解码器框架的结果,第三列是我们的方法的预测。 这表明我们提出的方法对低质量的图像更鲁棒。

近来,在自然语言处理领域的神经机器翻译的启发下,带有注意力机制的编解码器框架在场景文本识别中已被广泛使用。对于规则文本识别[22,7,10],编码器基于带有RNN的CNN,而另一种具有注意力机制的RNN被用作解码器,以在每个时间步预测字符。对于不规则的文本识别,提出了基于校正的方法[44,45,28,57,32,53],多方向编码方法[8]和基于2D注意力的方法[54,23]。基于校正的方法首先校正不规则图像,然后遵循规则识别的流程。多方向编码方法使用带有两个LSTM的CNN来编码四个不同的方向。基于二维注意的方法利用二维注意机制处理不规则文本,直接处理来自二维的特征图。

现有方法将文本识别任务定义为局部的序列字符分类任务,但忽略了整个单词的全局信息。结果,他们可能难以处理低质量的图像,例如图像模糊,遮挡和不完整的字符。但是,人们可以通过考虑文本的全局信息来很好地处理这些低质量的情况。

为解决此问题,我们提出了语义增强的编码器-解码器框架(SEED),其中预测了额外的语义信息将充当全局信息。然后,如图2(c)所示,使用语义信息来初始化解码器。
这些语义信息具有两个主要优点:
1)可以通过在自然语言处理领域中嵌入单词来对其进行监督;
2)由于文本识别,它可以减少侧重于视觉特征的编码器与侧重于语言信息的解码器之间的差距, 因此场景文本识别可以被视为跨模式任务。
具体来说,我们从预训练的语言模型中获取单词嵌入,并计算出训练期间语义信息与单词嵌入之间的损失。通过这种方式,语义信息包含了更丰富的语义,然后使用预测的语义信息来指导解码过程,从而可以将解码过程限制在语义空间中,并且识别性能会更好。如图1所示。例如,在图1的第四个子图像中,由于遮挡,最后两个字符“ se”被识别为“ R”,但是可以在我们的框架中使用全局语义信息对其进行校正。 换句话说,语义信息是一种“直觉”,就像人们仔细阅读单词之前的一瞥。

以前,已经对直接从图像中预测的语义信息进行了研究。 [12]直接从带有CNN和加权等级损失的单词图像中预测语义概念。 [51]尝试将图像特征嵌入单词嵌入空间中以进行文本识别。 [21]建议以端到端的方式学习单词图像和文本标签的嵌入。这些工作验证了语义信息对文本相关任务是有帮助的。

主要贡献如下:

  1. 我们提出了用于场景文本识别的SEED,它预测了额外的全局语义信息以指导解码过程,并通过预训练的语言模型中的单词嵌入来监督预测的语义信息。
  2. 作为示例,我们将最先进的ASTER方法[45]集成到我们的框架中。
  3. 在多个公共场景文本基准上进行的大量实验表明,所提出的框架可以实现最新的性能,尤其是在低质量数据集ICDAR2015和SVT-Perspective上,并且对于不完整的字符尤其鲁棒。

本文剩下部分的组织如下: Sec. 2回顾相关的工作。 Sec. 3描述了提出的框架和示例。 Sec. 4进行丰富的实验 。 Sec. 5总结工作。

2. Related Work

2.1. Scene Text Recognition

现有的场景文本识别方法可分为传统方法和基于深度学习的方法两大类。

传统方法通常采用自下而上的方法,该方法首先检测并分类字符,然后根据启发式规则, 语言模型或词典将其分组为单词或文本行。他们设计各种手工特征,然后使用这些特征来训练分类器,例如SVM。例如,[34]使用一组计算量大的特征,例如长宽比,孔面积比等。[50,49]使用带有HOG描述符的滑动窗口,[55,3]使用带有随机森林分类器的Hough投票。大多数传统方法都需要设计各种手工设计的特征,而这些特征用于高级表示有限。

随着深度学习的发展,大多数方法都使用CNN来执行自顶向下的方法,从而直接识别单词或文本行。 [16]把一个单词当作一个类,然后将识别问题转化为图像分类问题。近来,大多数工作将识别问题视为序列预测问题。现有方法几乎可以分为两种技术,即连接主义时间分类法(CTC)和注意力机制。对于基于CTC的解码,[15,43,46]提出使用CNN和RNN编码序列特征,并使用CTC进行字符对齐。对于基于注意力的解码,[22]提出了递归CNN来捕获更长的上下文依赖,并使用基于注意力的解码器进行序列生成。[7]介绍了注意力漂移的问题,并提出了集中注意力以提高性能的目的。

然而,这些工作都假设文本是水平的,并且不能处理诸如畸变和曲率之类的不规则形状的文本。为了解决不规则文本识别的问题,[44,45]提出首先基于空间变换网络[17]对文本进行纠正,然后将其作为水平文本进行处理。此外,[57]通过迭代矫正获得了更好的性能,[53]通过一些几何约束进行矫正。 [32]通过预测像素偏移来纠正文本。 [28]没有纠正整个文本,而是采用了一种检测和纠正单个字符的方法。尽管进行了矫正,[8]还是在四个方向上对图像进行编码,并提出了一个滤波门来融合特征。 [54]在基于2 D-Attenton的网络中引入了辅助密集字符检测任务和对齐损失。 [23]提出了一种针对不规则文本识别的量身定制的基于2D注意的框架。没有编码器-解码器框架,[25]将不规则的文本识别转换为具有完全卷积网络的字符分割[31]。 [52]提出了一种新的损失函数,以进行更有效的解码。

2.2. Semantics in Scene Text

许多工作试图将语义带入文本识别或文本检索的任务中。 [12]直接使用CNN从单词图像中预测语义概念。文献[36]提出仅用视觉信息为场景图像生成语境化词典,而单词识别任务从词典中受益匪浅。 [51,21]学习将单词图像映射到单词嵌入空间,并将其应用于单词识别系统。 [18]尝试借助上下文信息(例如标签,注释和标题)来检测和识别在线图像中的文本。 [42]介绍了使用语言模型和场景与文本之间的语义关联来重新排序识别结果。 [37]提出用对象信息来提高文本识别的性能。文献[11]使用嵌入广告图像中的文本来增强图像分类。 [59]提出使用预训练的语言模型来校正图像中文本上下文的不正确识别结果。

如前所述,最新的识别方法不能很好地利用文本的语义。相关语义工作并未将语义明确而有效地集成到认别管道中。

3. Method

在本节中,我们将详细描述所提出的方法。通用框架如图2(c)所示,
它由4个主要组件组成:
1)编码器,包括CNN backbone和RNN用于提取视觉特征;
2)语义模块,用于根据视觉特征预测语义信息;
3)用于监督语义模块预测的语义信息的预训练语言模型;
4)包含带有注意力机制的RNN的解码器,用于生成识别结果。
首先,我们在Sec 3.1中回顾的编码器-解码器框架。并在Sec 3.2中详细介绍了预训练的语言模型。在Sec3.3中我们描述了我们提出的方法。 具体来说,我们在 Sec3.3.1中介绍了整体框架。之后,在 Sec3.3.2中我们将详细介绍所提出的方法,该方法将最新方法ASTER [45]集成到了提出的框架中。最后,损失函数和训练策略在 Sec3.4中介绍。

3.1. Encoder-Decoder Framework


图2.三种框架的比较。 “ C”代表上下文信息。 由于有限的上下文表示,普通编码器-解码器框架获得了不正确的结果。 基于注意力的编码器-解码器框架可以更好地工作,但是如果没有全局信息,仍然无法处理不完整的字符。我们提出的编解码器框架借助全局语义信息来预测正确的结果。

编码器-解码器框架广泛用于神经机器翻译,语音识别,文本识别等。 [47]首先介绍了框架的结构,并将其应用于神经机器翻译。为简单起见,我们将此框架称为纯编码器-解码器框架。如图2(a)所示,编码器提取丰富的特征并生成包含输入的全局信息的上下文向量C,然后解码器将上下文向量转换为目标输出。源输入和目标输出因任务不同而有所不同,例如对于文本识别,输入是图像,目标输出是图像中的文本。编码器和解码器的具体组成不是固定的,CNN和LSTM都是常见的选择。

尽管效果很好,但是普通的编码器-解码器框架却存在明显的缺点,即上下文信息无法代表整个输入。受到人类视觉注意力启发,研究人员将注意力机制引入了编码器-解码器框架,该框架定义为基于注意力的编码器-解码器框架。如图2(b)所示,注意力机制试图在上下文和整个输入之间建立捷径。解码器可以在每个解码步骤中选择适当的上下文,以解决远程依赖问题,并且以弱监督的方式训练编码器和解码器之间的对齐方式。

对于场景文本识别,解码器仅依赖于有限的局部视觉特征在普通编码器-解码器框架和基于注意力的编码器-解码器框架中进行解码,因此在没有全局信息的情况下很难处理一些低质量的图像。在我们提出的框架中,编码器学习了明确的全局语义信息并将其用作解码器的指南。我们使用FastText [4]生成单词嵌入作为语义信息的监督,因为它可以解决“词汇量不足”的问题。

3.2. FastText Model

3.3. SEED

3.3.1 General Framework

许多场景文本识别方法都基于编码器-解码器框架而受到关注。 解码器专注于视觉特征的特定区域,并逐步输出相应的字符。 除低质量图像外,该框架在大多数情况下均适用。 在某些低质量的图像中,文本可能会模糊或被遮挡。 为了解决这些问题,可以使用全局语义信息。 所提出的框架如图2(c)所示。 与基于注意力的编解码器框架不同,所提出的语义模块预测了额外的语义信息。 此外,我们使用来自预训练的语言模型的单词嵌入作为监督来提高性能。 之后,将语义信息与视觉特征一起馈入解码器。这样,我们的方法对于低质量图像是鲁棒的,并且可以纠正识别错误。


图2.三种框架的比较。 “ C”代表上下文信息。 由于有限的上下文表示,普通的编码器/解码器框架会得到不正确的结果。 基于注意力的编码器-解码器框架工作得更好,但是在没有全局信息的情况下仍然无法处理不完整的字符。我们提出的编码器-解码器框架借助全局语义信息来预测正确的结果。

3.3.2 Architecture of Semantics Enhanced ASTER


图3. SE-ASTER的详细信息。 它由四个主要模块组成:校正模块,编码器,语义模块和解码器。 语义模块从编码器的输出预测语义信息,该语义信息作为指导被馈送到解码器中。

我们使用ASTER [45]作为我们提出的框架的典范,我们将提出的方法称为Semantics Enhanced ASTER(SE-ASTER)。 SE-ASTER如图3所示。共有四个模块:校正模块用于校正不规则文本图像,编码器用于提取丰富的视觉特征,语义模块用于从视觉特征中预测语义信息,解码器记录最终的识别结果。

首先,将图像输入到修正模块(具有浅层CNN)以预测控制点,然后将Thin-plate-Splines [5]应用于图像。这样,失真的文本图像将得到纠正。该模块与[45]相同,因此我们不对其进行详细描述。之后,将修正后的图像输入到编码器,并且可以生成丰富的视觉特征。具体来说,编码器由一个与[45]相同的基于45层的ResNet的CNN和一个具有256个隐藏单元的2层双向LSTM [13](BiLSTM)网络组成。编码器的输出为形状为L×C的特征序列h =(h1,...,hL),其中L为CNN中最后一个特征图的宽度,C为深度。

特征序列h具有两个功能,一个是预先由语义模块决定语义信息,另一个作为解码器的输入。为了预测语义信息,我们首先将特征序列展平为一维特征向量I,其维数为K,其中K = L×C。用两个线性函数预测的语义信息如下:



解码器采用Bahdanau-Attention机制[1],该机制由具有512个隐藏单元和512个注意单元的单层注意GRU [9]组成。 与[45]不同,我们在这里使用单向解码器。 尤其是,语义信息用于在线性函数转换维度之后初始化GRU的状态。 代替使用零状态初始化,解码过程将以全局语义为指导,因此解码器不仅使用局部视觉信息,而且使用全局语义信息来生成更准确的结果。

3.4. Loss Function and Training Strategy

有两种训练策略。 首先是使用来自预训练的FastText模型的单词嵌入而不是预测的语义信息来初始化解码器的状态。 另一个是直接使用预测的语义信息。 我们对这两种策略进行了评估,它们的表现相似。 我们使用第二种训练策略,以纯粹的端到端方式训练模型。

4. Experiments

在本节中,我们进行了广泛的实验,以验证所提出方法的有效性。首先,介绍用于训练和评估的数据集,并描述实现细节。接下来,我们进行消融研究以分析不同策略的性能。最后,将我们的方法与几个基准上的最新方法进行了比较。

4.1. Datasets

IIIT5K-Words(IIIT5K)[33]包含5000张图像,其中大多数是常规样本。有3000个图像进行测试。测试集中的每个样本都与一个50个单词的词典和一个1000个单词的词典相关联。街景视图文本(SVT)[49]由249个街景图像中的647个短句图像组成。大多数字词图像都是水平的,但是其中一些字词由于噪声,模糊和低分辨率而严重损坏。每个图像提供50个单词的词典。SVT透视(SVTP)[39]包含645个单词图像以供评估。大多数图像的透视失真严重,难以识别。每个图像都与一个50字的词典相关联。ICDAR2013(IC13)[20]包含1015个要作证的图像,其中大多数是常规文本图像。其中一些在不均匀的光照下。ICDAR2015(IC15)[19]的收集未经仔细捕获。大部分图像具有各种失真和模糊,这对于大多数现有方法而言是具有挑战性的。CUTE80(CUTE)[41]仅包含288个单词图像,用于评估。它们大多数是弯曲的,但分辨率较高,没有提供词典。Synth90K[16]由900K个单词的词典生成的900万张合成图像组成。它已被广泛用于文本识别任务。我们将其用作我们的训练数据集之一。它包含来自IC13和SVT测试集的单词。SynthText[14]是另一个用于文本检测任务的综合数据集。我们使用真实的单词边界框裁剪单词,并将其用于训练我们的模型。

4.2. Implementation Details

拟议的SE-ASTER在Py-Torch [35]中实现。 预先训练的FastText模型是在Common Crawl2和Wikipedia3上经过训练的正式可用模型1。总共可以识别97个符号,包括数字,大写和小写字母,32个标点符号,序列结束符号,填充符号和未知符号。
输入图像的大小被调整为无固定比例的64×256,我们采用ADADELTA [56]来最小化目标函数。 在没有任何预训练和数据扩充的情况下,我们的模型在SynthText和Synth90K上进行了6个时期的训练,批量大小为512,学习率设置为1.0,在第4和第5时期衰减为0.1和0.01。 该模型在一块NVIDIA M40显卡上进行了训练。为进行评估,我们将输入图像的大小调整为与训练相同的大小。 我们使用波束搜索进行GRU解码,从而使候选者的累积分数最高,在我们所有的实验中,k都设置为5。

4.3. Ablation Study

关于语义模块有两个步骤,一个是单词嵌入监督,另一个是使用预测的语义信息初始化解码器。通过始终将Synth90K和SynthText用作训练数据,我们分别评估这两个步骤。结果显示在选项卡中。 2.仅使用词嵌入进行监督的模型与基线相比并不能提高性能。使用来自编码器的预测整体功能来初始化解码器,可以使ICDAR13的性能提高近0.2%,但在SVTP和IC15上的性能却较差。它表明,以隐性,弱监督的方式学习全球信息仍然与低质量的图像作斗争。这两个步骤的组合可获得最佳性能。 IC13,SVTP和IC15分别提高了1.9%,2.3%和1.6%。与没有词嵌入监督的ASTER相比,IC13的精度提高了1.7%,SVTP和3的精度提高了3.3%。 IC15上有9%的数据,这证明嵌入单词的监管非常重要。

4.4. Performance with Inaccurate Bounding Boxes

实际应用中的场景文本识别始终与检测分支结合在一起以实现端到端流水线。但是,检测分支可能不会输出理想的边界框。如果文本识别对于不准确的检测结果具有鲁棒性,则整体的端到端性能可能会更加令人满意。受CNN接受领域的限制,最常见的不准确检测是字符不完整。我们进行实验以表明我们的方法在这种情况下是可靠的。在这里,我们还将SE-ASTER用作示例。请注意,SE-ASTER仅在Synth90K和SynthText上进行训练,而没有任何数据扩充(例如随机裁剪)。我们首先分别基于IC13和IC15生成两个收缩数据集IC13-srand IC15-sr,分别在左,右,上和下方向上同时随机抽取原始词图像最多15%。所有裁切后的图像仍然与原始图像的交集相交,该原始图像大于或等于(1-0.15×2)2 = 0.49。根据检测评估协议,由于IoU高于标准阈值0.5,这些裁切后的图像均为阳性定位,如表1所示。



定量结果显示在表中。 3.在IC13-sr数据集和IC15-sr数据集上,ASTER基线的性能分别下降了19.5%和12.8%,这表明ASTER基线受不完整特征的影响很大。 但是,在词嵌入的监督下,该模型仍在与收缩图像作斗争。 使用来自编码器的整体信息作为解码器的指导,可以获得更好的效果,下降幅度分别为16.5%和13.0%。 SE-ASTER可获得最佳结果,这表明我们的模型在不完整字符的情况下更加健壮。表1中显示了一些可视化示例。

4.5. Generalization of Proposed Framework

为了验证SEED的一般性,我们集成了另一种最新的识别方法SAR [23]。 SAR是一种基于2D注意的识别方法,无需对输入图像进行校正,并且它已经采用LSTM来生成整体特征。但是,如前所述,整体功能在弱监督训练策略中可能无效,因此我们进行了一些修改,并调用了新模型SemanticsEnhancedSAR(SE-SAR)。在SE-SAR中,我们替换了沿垂直CNN浅。浅层CNNi的输出是高度为1的特征图,然后将该特征图馈入2层LSTM中以提取上下文信息。两个线性函数应用于LSTM的输出以预测语义信息。除了SAR中的2D注意解码器外,我们将另一个解码器应用于LSTM的输出并监督转录标记。这样,LSTM的输出包含更丰富的信息,并有助于预测语义信息。最后,利用语义信息对LSTM的LSTM进行初始化。我们对IC13,IC15,SVT和SVTP进行了一些实验,以证明SE-SAR的有效性。结果显示在选项卡中。 4.与基线相比,我们的SE-SAR在IC15,SVT和SVTP上分别提高了4.2%,1.3%和2.3%。 SE-SAR仅可与SAR相比,因为IC13中缺少低质量的图像。

4.6. Qualitative Results and Visualization

我们可视化包括模糊或遮挡的低质量图像。图4中显示了一些示例。可以看出,我们提出的方法SE-ASTER和SE-SAR对低质量图像具有鲁棒性。我们解释说语义信息将为解码器提供有效的全局特征,这对于图像中的干扰是鲁棒的。我们还对IIIT5K进行了实验,以可视化预测的语义信息的有效性。如图5所示,我们计算词典中每个单词的单词嵌入和每个单词的单词嵌入(每个图像50个单词)之间的余弦相似度。在图5(a)中,预测的语义信息与具有相似语义的单词非常相关。例如,“家”,“房子”和“旅馆”都具有居住权。 “ Tom”,“ Paul”和“ Charles”都是通用名称。第二行说明了预测语义信息的鲁棒性。例如,“ house”和“ horse”的拼写相似,编辑距离为1,但是它们的语义却有很大不同,如图5(b)所示。借助全局语义信息,模型可以区分它们容易。

4.7. Comparison with State-of-the-art

我们还将在几个基准测试中将我们的方法与以前的最新方法进行比较。结果显示在选项卡中。 5.与其他方法相比,在仅词级注释的免费词典中,我们获得了6个结果中的2个最佳结果和3个第二个最佳结果。与其他方法相比,我们提出的方法在某些低质量数据集(例如IC15和SVTP)上有效地工作。特别是,与ASTER相比,SE-ASTER在IC15上提高了3.9%(从76.1%增至80.0%),在SVTP上提高了2.9%(从78.5%增至81.4%)[45]。尽管我们的方法基于较弱的主干并且没有字符级别的注释,但它也优于最新方法ScRN [53]在SVTP上为0.6%,在IC15上为1.3%。SE-ASTER在几个方面也获得了优异或可比的结果高质量数据集。与ASTER [45]相比,我们在IIIT5K和CUTE上分别提高了0.4%和4.1%。在SVT和IC13上,我们的方法的准确度为89.6%和92.8%,比ESIR [57]和[2]分别差0.6%和1.6%。请注意,我们的框架非常灵活,可以与大多数现有方法集成,并且我们相信,如果我们替换一个更强大的基准模型,则可以获得更好的结果。

5. Conclusion and Future Works

在这项工作中,我们提出了用于场景文本识别的语义增强的编解码器框架。 我们的框架预测了额外的全局语义信息,该信息由预先训练的语言模型中的单词嵌入监督。 使用预测的语义信息作为解码器初始化,尤其是对于低质量图像,可以提高识别精度。 通过将最先进的方法ASTER集成到我们的框架中,我们可以在几个标准基准数据集上获得出色的结果。 将来,我们会将框架扩展到端到端的文本识别系统。 这样,可以利用更多的语义信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容