CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network
文章目录
- CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network
- 摘要
- 关键词
- 1. 引言
- 1.1 贡献
- 2. 相关工作
- 3. 连接文本提议网络
- 3.1 在细粒度提议中检测文本
- 3.2 循环连接文本提议
- 3.3 侧边改善
- 3.4 模型输出与损失函数
- 3.5 训练和实现细节
- 4. 实验结果和讨论
- 4.1 基准数据集和评估标准
- 4.2 Faster R-CNN的细粒度文本提议网络
- 4.3 循环连接文本提议
- 4.4 与state-of-the-art结果的比较
- 5. 结论
- 引用
摘要
我们提出了一种新颖的联结文本提议网络(CTPN),它能够精准定位自然图像中的文本行。CTPN直接在卷积特征图中的一系列细粒度文本提议中检测文本行。我们开发了一个垂直锚点机制(vertical anchor mechanism),联合预测每个固定宽度提议的位置和文本/非文本评分,大大提高了定位精度。序列的提议通过循环神经网络自然地连接起来,该网络无缝地纳入到卷积网络中,从而形成端到端的可训练模型。这使得CTPN可以探索丰富的图像上下文信息,使其能够检测极其模糊的文本。CTPN在多尺寸和多语言文本上可靠地工作,而不需要进一步的后处理,脱离了以前的自底向上需要多步后过滤的方法。它在ICDAR 2013和2015的基准数据集上达到了0.88和0.61的F-measure,大大超过了最近的结果[8,35]。通过使用非常深的VGG16模型[27],CTPN的计算效率为0.14s每张图像。在线演示获取地址:http://textdet.com/。
论文地址:https://arxiv.org/abs/1609.03605
Keras实现:https://github.com/yizt/keras-ctpn
关键词
场景文本检测;卷积网络;循环神经网络;锚点机制
1. 引言
阅读自然图像中的文本最近在计算机视觉中引起越来越多的关注[8,14,15,10,35,11,9,1,28,32]。这是由于它的许多实际应用,如图像OCR,多语言翻译,图像检索等。它包括两个子任务:文本检测和识别。这项工作的聚焦于检测任务[14,1,28,32],这是比在一个良好的裁剪字图像[15,9]进行的识别任务 更具有挑战性。文本模式的大变化和高度杂乱的背景构成了精确定位文本的主要挑战。
目前的文本检测方法大多采用自底向上的流程[28,1,14,32,33]。它们通常从低级别字符或笔画检测开始,后面通常会跟随一些后续步骤:非文本组件过滤,文本行构建和文本行验证。这些自底向上的多步方法通常较复杂,且鲁棒性和可靠性较差。它们的性能很大程度上依赖于字符检测的结果,已经提出了连接组件方法或滑动窗口方法。这些方法通常探索低级特征(例如,基于SWT[3,13],MSER[14,33,23]或HoG[28])来区分候选文本和背景。但是,如果没有上下文信息,他们不能鲁棒的单独识别各个笔划或字符。例如,相比单个字符人们更确信一个字符序列,特别是当一个字符非常模糊时。这些限制在字符检测中通常会导致检测出大量非文本组件,在后续步骤中的主要困难是处理它们。此外,正如[28]所指出的,这些误检很容易在自底向上的过程中连续累积。为了解决这些问题,我们利用强大的深度特征直接在卷积映射中检测文本信息。我们开发的文本锚点机制能在细粒度上精确预测文本位置。然后,我们提出了一种网内循环架构,用于按顺序连接这些细粒度的文本提议,从而允许它们编码丰富的上下文信息。
深度卷积神经网络(CNN)最近已经基本实现了一般物体检测[25,5,6]。最先进的方法是Faster Region-CNN(R-CNN)系统[25],其中提出了区域提议网络(RPN)直接从卷积特征图中生成高质量类别无关的目标提议。然后将RPN提议输入Faster R-CNN[5]模型进行进一步的分类和精调,从而实现通用目标检测的state-of-the-art性能。然而,很难将这些通用目标检测系统直接应用于场景文本检测,这通常需要更高的定位精度。在通用目标检测中,每个目标都有一个明确的封闭边界[2],而在文本中可能不存在这样一个明确定义的边界,因为文本行或单词是由许多单独的字符或笔划组成的。对于目标检测,典型的正确检测是宽松定义的,例如,检测到的边框与其ground truth边框(例如,PASCAL标准[4])之间的重叠>0.5,因为人们可以容易地从目标的主要部分识别它。相比之下,综合阅读文本是一个细粒度的识别任务,需要正确的检测,覆盖文本行或字的整个区域。因此,文本检测通常需要更准确的定义,导致不同的评估标准,例如文本基准中常用的Wolf标准[19,21]。
在这项工作中,我们通过将RPN架构[25]扩展到精准的文本行定位来填补这个空白。我们提出了几个技术发展,可以优雅地调整通用目标检测模型 来解决我们的问题。我们提出一种网内循环机制争取更进一步,使我们的模型能够直接在卷积特征中检测文本序列,避免通过额外昂贵的CNN检测模型进行进一步的后处理。
1.1 贡献
我们提出了一种新颖的连接文本提议网络(CTPN),它可以直接定位卷积层中的文本序列。这克服了以前的建立在字符检测基础上的自底向上方法带来的一些主要限制。我们利用强大的深度卷积特征和共享计算机制的优点,提出了如图Figure 1所示的CTPN架构。主要贡献如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBvxwKil-1684897807603)(pic/CTPN-fig1.jpg)]
首先,我们将文本检测的问题转化为定位一系列细粒度的文本提议框。我们开发了一个锚点回归机制,可以联合预测每个文本提议的垂直位置和文本/非文本分数,从而获得出色的定位精度。这与RPN预测整个目标 不同,RPN预测难以提供令人满意的定位精度。
其次,我们提出了一种在卷积特征图中优雅连接序列文本提议框的网内循环机制。通过这种连接,我们的检测器可以探索文本行有意义的上下文信息,使其能够可靠地检测极具挑战性的文本。
第三,两种方法无缝集成,以符合文本序列的性质,从而形成统一的端到端可训练模型。我们的方法能够在单个过程中处理多尺寸和多语言的文本,避免进一步的后过滤或提纯。
第四,我们的方法在许多基准数据集上达到了新的state-of-the-art结果,显著改善了最近的结果(例如,0.88的F-measure超过了2013年ICDAR的[8]中的0.83,而0.64的F-measure超过了ICDAR2015上[35]中的0.54 )。此外,通过使用非常深的VGG16模型[27],这在计算上是高效的,导致了每张图像0.14s的运行时间(在ICDAR 2013上)。
2. 相关工作
文本检测
过去在场景文本检测中的工作一直以自底向上的方法为主,一般建立在笔画或字符检测上。它们可以粗略地分为两类,基于连接组件connected-components(CCs)的方法和基于滑动窗口的方法。基于CC的方法通过使用快速滤波器来区分文本和非文本像素,然后通过使用低级属性(例如强度,颜色,梯度等[33,14,32,13,3])将文本像素贪婪地分为笔划或字符候选。基于滑动窗口的方法通过在图像中密集地滑动多尺寸窗口来检测候选字符。字符或非字符窗口通过预先训练的分类器判别,使用的是手动设计的特征[28,29]或最近的CNN特征[16]。然而,这两种方法通常都会受 较差的字符检测性能的影响,导致在接下来的组件过滤和文本行构建步骤中出现错误累积。此外,鲁棒地过滤非字符部分或者自信地验证检测到的文本行本身就更加困难[1,33,14]。另一个限制是通过在大量的滑动窗口上运行分类器,滑动窗口方法在计算代价高。
目标检测
卷积神经网络(CNN)近来在通用目标检测[25,5,6]上已经取得了实质的进步。一个常见的策略是通过使用廉价的低级特征来生成许多目标提议,然后使用强大的CNN分类器来进一步对生成的提议进行分类和改善。生成类别无关目标提议的选择性搜索(SS)[4]是目前领先的目标检测系统中应用最广泛的方法之一,如CNN(R-CNN)[6]及其扩展[5]。最近,Ren et al[25]提出了Faster R-CNN目标检测系统。他们提出了一个区域提议网络(RPN),可以直接从卷积特征图中生成高质量的类别无关的目标提议。通过共享卷积计算,RPN非常快。然而,RPN提议不具有判别性,需要通过额外的CNN模型(如Fast R-CNN模型[5])进一步改善定位和分类。更重要的是,文本与一般目标有很大的不同,因此很难直接将通用目标检测系统应用到这个高度领域化的任务中。
3. 连接文本提议网络
本节介绍连接文本提议网络(CTPN)的细节。它包括三个关键的贡献,使文本定位可靠和准确:检测细粒度提议中的文本,循环连接文本提议和侧边精调。
3.1 在细粒度提议中检测文本
类似于区域提议网络(RPN)[25],CTPN本质上是一个全卷积网络,允许任意大小的输入图像。它通过在卷积特征图上密集地滑动小窗口来检测文本行,并且输出一系列细粒度的(例如,宽度为固定的16个像素)文本提议,如图1(b)所示。
我们以非常深的16层vggNet(VGG16)[27]为例来描述我们的方法,该方法很容易应用于其他深度模型。CTPN的架构如图1(a)所示。我们使用一个小的空间窗口3×3来滑动最后的卷积层特征图(例如,VGG16的conv5)。conv5特征图的大小由输入图像的大小决定,而总步长和感受野分别固定为16个和228个像素。网络架构决定总步长和感受野。在卷积层中使用滑动窗口允许它共享卷积计算,这是减少昂贵的基于滑动窗口的方法的计算量的关键。
通常,滑动窗口方法采用多尺寸窗口来检测不同尺寸的目标,其中窗口尺寸被固定到与检测目标的尺寸相似。在[25]中,Ren等人提出了一种有效的锚点回归机制(anchor regression mechanism),允许RPN使用单尺寸窗口检测多尺寸目标。关键的点是单个窗口能够通过使用多个灵活的锚点来预测各种尺寸和长宽比的目标。我们希望将这种有效的锚点机制扩展到我们的文本任务。然而,实质上文本与普通目标不同,普通目标通常具有明确的封闭边界和中心,可以从它的一部分推断整个目标[2]。文本是一个没有明显封闭边界的序列。它可能包含多层级成分,如笔划,字符,单词,文本行和文本区域等,这些组成部分之间没有明确区分。文本检测是在单词或文本行级别中定义的,因此通过将其定义为单个目标(例如检测单词的一部分)可能很容易进行错误的检测。因此,直接预测文本行或单词的位置可能很难或不现实的,因此很难获得令人满意的准确性。一个例子如图2所示,其中RPN直接被训练用于定位图像中的文本行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXJt8tli-1684897807606)(pic/CTPN-fig2.jpg)]
我们寻找文本的独特属性,能够很好地概括各个层次的文本组件。我们观察到由RPN进行的单词检测很难准确预测 单词的水平边界,因为单词中的每个字符都是孤立的或分隔的,这使得查找单词的开始和结束位置很让它困惑。显然,文本行是一个序列,它是文本和通用目标之间的主要区别。将文本行视为一系列细粒度的文本提议是很自然的,其中每个提议通常代表文本行的一小部分,例如宽度为16个像素的文本块。每个提议可能包含单个或多个笔划,字符的一部分,单个或多个字符等。我们认为,通过固定每个提议的水平位置,仅仅预测其垂直位置会更准确,因为水平位置更难预测。与预测目标4个坐标的RPN相比,这减少了搜索空间。我们开发了垂直锚点机制,可以同时预测每个细粒度提议的文本/非文本分数和y轴的位置。检测通用的固定宽度的文本提议比识别孤立的字符更可靠,检测孤立的字符容易与一个字符或多个字符的一部分混淆。此外,检测一系列固定宽度文本提议中的文本行也可以在多个尺寸和多个长宽比的文本上可靠地工作。
为此,我们设计如下的细粒度文本提议。我们的检测器密集地侦查conv5中的每个空间位置。文本提议被定义为具有16个像素的固定宽度(在输入图像中),这相当于在conv5的特征图上密集地移动检测器,其中总步长恰好为16个像素。然后,我们设计k个垂直锚点来预测每个提议的y坐标。k个锚点具有相同的水平位置,固定宽度为16个像素,但其垂直位置有k个不同的高度。在我们的实验中,我们对每个提议使用十个锚点,k=10,其高度在输入图像中从11个像素变化到273个像素(每次÷0.7)。精确的的垂直方向坐标是通过提议边框的高度和y轴方向中心来度量的。我们计算关于锚点边界框的,相对预测垂直坐标( v \mathbf{v} v),如下所示:
v c = ( c y − c y a ) / h a , v h = l o g ( h / h a ) (1) v_c=(c_y−c_y^a)/h^a, \ \ \ v_h=log(h/h^a) \tag 1 vc=(cy−cya)/ha, vh=log(h/ha)(1)
v c ∗ = ( c y ∗ − c y a ) / h a , v h ∗ = l o g ( h ∗ / h a ) (2) v^*_c=(c^*_y−c_y^a)/h^a, \ \ \ \ v^*_h=log(h^*/h^a) \tag 2 vc∗=(cy∗−cya)/ha, vh∗=log(h∗/ha)(2)
其中 v = { v c , v h } \mathbf{v}=\{v_c,v_h\} v={vc,vh} 和 v ∗ = { v c ∗ , v h ∗ } \mathbf{v}^*=\{v^*_c,v^*_h\} v∗={vc∗,vh∗} 分别是相对的预测坐标和 ground truth 坐标。 c y a c_y^a cya 和 h a h^a ha 是锚盒的中心(y轴)和高度,可以从输入图像预先计算。 c y c_y cy 和 h h h 是输入图像中预测的 y-axis coordinates,而 c y ∗ c_y^* cy∗ 和 h ∗ h^* h∗ 是 ground truth 坐标。因此,如图Figure 1(b)和图Figure 2(右)所示,每个预测文本提议都有一个大小为 h × 16 h×16 h×16的边框(在输入图像中)。一般来说,文本提议在很大程度上要比它的有效感受野 228 × 228 228×228 228×228 要小。
个人是这么理解的, c y a c_y^a cya 和 h a h^a ha 是最准确的值,但是往往是小数类型,无法取到。 c y ∗ c_y^* cy∗ 和 h ∗ h^* h∗ 是能取到的 ground truth 值。
检测处理步骤总结如下。给定输入图像,我们有 W × H × C W×H×C W×H×C 大小的 conv5 特征图(通过使用VGG16模型),其中 C C C 是特征图或通道的数目, W × H W×H W×H 是空间布局。当我们的检测器通过conv5密集地滑动 3 × 3 3×3 3×3 窗口时,每个滑动窗口使用 3 × 3 × C 3×3×C 3×3×C 的卷积特征来产生预测。对于每个预测,水平位置(x轴坐标)和k个锚点位置是固定的,可以通过将 conv5 中的空间窗口位置映射到输入图像上来预先计算。我们的检测器在每个窗口位置输出k个锚点的文本/非文本分数和预测的y轴坐标( v \mathbf{v} v)。检测到的文本提议是从文本/非文本分数>0.7的锚点(带非极大值抑制)生成的。通过设计的垂直锚点和细粒度的检测策略,我们的检测器能够通过使用单尺寸图像处理各种尺寸和长宽比的文本行。这进一步减少了计算量,同时预测了文本行的精确位置。与RPN或Faster R-CNN系统[25]相比,我们的细粒度检测提供更具体的监督信息,自然会导致更精确的检测。
3.2 循环连接文本提议
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpB43Ymz-1684897807607)(pic/CTPN-fig3.jpg)]
为了提高定位精度,我们将文本行分成一系列细粒度的文本提议,并分别预测每个文本提议。显然,将每个孤立的提议独立考虑并不鲁棒。这可能会导致对与文本模式类似的非文本目标的误检,如窗口,砖块,树叶等(在文献[13]中称为类文本异常值 text-like outliers)。还可能丢弃一些含有弱文本信息的模糊模式。图Figure 3(上)给出了几个例子。文本具有很强的序列特征,序列上下文信息对做出可靠决策至关重要。最近的工作已经证实了这一点[9],其中应用递归神经网络(RNN)来编码用于文本识别的上下文信息。他们的结果表明,序列上下文信息极大地促进了对裁剪的单词图像的识别任务。
受到这项工作的启发,我们认为这种上下文信息 对于我们的检测任务也很重要。我们的检测器应该能够探索这些重要的上下文信息,以便在每个单独的提议中都可以做出更可靠的决策。此外,我们的目标是直接在卷积层中编码这些信息,从而实现细粒度文本提议优雅无缝的网内连接。RNN提供了一种自然选择,使用其隐藏层对这些信息进行循环编码。为此,我们提出在 conv5 上设计一个RNN层,它将每个窗口的卷积特征作为序列输入,并在隐藏层中循环更新其内部状态: H t H_t Ht,
H t = φ ( H t − 1 , X t ) , t = 1 , 2 , . . . , W (3) H_t=φ(H_{t−1},X_t),t=1,2,...,W \tag 3 Ht=φ(Ht−1,Xt),t=1,2,...,W(3)
其中 X t ∈ R 3 × 3 × C X_t\in R^{3×3×C} Xt∈R3×3×C 是来自第 t 个滑动窗口 ( 3 × 3 ) (3×3) (3×3) 的输入conv5 特征图。滑动窗口从左向右密集移动,生成每行的 t = 1 , 2 , . . . , W t=1,2,...,W t=1,2,...,W 序列特征。 W W W 是 conv5 的宽度。 H t H_t Ht 是循环内部状态,从当前输入( X t X_t Xt)和编码在 H t − 1 H_{t−1} Ht−1 先前状态联合计算的。递归是通过使用非线性函数 φ \varphi φ 来计算的,它定义了循环模型的确切形式。我们利用长短期记忆(LSTM)架构[12]作为我们的 RNN 层。通过引入三个附加的乘法性质的门:输入门,遗忘门和输出门,专门提出了LSTM以解决梯度消失问题。细节可以在[12]中找到。因此,RNN 隐藏层中的内部状态可以访问所有先前窗口通过循环连接扫描的序列上下文信息。我们通过使用双向 LSTM 来进一步扩展RNN层,这使得它能够在两个方向上对递归上下文进行编码,以便连接感受野(the connectionist receipt field)能够覆盖整个图像宽度。例如 228 × w i d t h 228×\mathrm{width} 228×width。我们对每个LSTM使用一个128维的隐藏层,从而产生256维的 RNN 隐藏层 H t ∈ R 256 H_t \in R^{256} Ht∈R256。
H t H_t Ht 中的内部状态被映射到后面的 FC 层,并且输出层用于计算第 t t t 个提议的预测。因此,我们与RNN层的集成非常优雅,从而形成了一种高效的模型,可以在无需额外成本的情况下进行端到端的训练。RNN 连接的功效如图Figure 3所示。显然,它大大减少了错误检测,同时还能够恢复很多包含非常弱的文本信息的被没有RNN网络遗漏的文本提议。
3.3 侧边改善
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFRG1eiZ-1684897807608)(pic/CTPN-fig4.jpg)]
我们的 CTPN 能够准确可靠地检测细粒度的文本提议。通过连接其文本/非文本分数>0.7的连续文本提议,文本行的构建非常简单。文本行构建如下。首先,我们为提议 B i B_i Bi 定义一个配对邻居( B j B_j Bj) 记做 B j − > B i B_j−>B_i Bj−>Bi,当
(i) B j B_j Bj 是水平距离最接近 B i B_i Bi 的
(ii) 该距离小于50像素,并且
(iii) 它们的垂直重叠>0.7时。
其次,如果 B j − > B i B_j−>B_i Bj−>Bi 且 B i − > B j B_i−>B_j Bi−>Bj,则将两个提议分组为一对。然后通过顺序连接含有一个相同提议的对来构建文本行。
细粒度的检测和RNN连接可以预测垂直方向的精确位置。在水平方向上,图像被分成一系列相等的宽度为16个像素的提议。如图Figure 4所示,当在两个水平边上,文本提议没有完全被ground truth文本行区域覆盖,或者某些边的提议被丢弃(例如文本得分较低)时,这可能会导致不准确的定位。这种不准确性在通用目标检测中可能并不重要,但在文本检测中不应忽视,特别是对于那些小型文本行或文字。为了解决这个问题,我们提出了一种侧边改善的方法,可以精确地估计左右两侧水平方向上的每个锚点/提议的偏移量(称为侧边锚点或侧边提议)。与 y 坐标预测类似,我们计算相对偏移为:
o = ( x s i d e − c x a ) / w a , o ∗ = ( x s i d e ∗ − c x a ) / w a (4) o=(x_{side}−c_x^a)/w^a, \ \ \ o^*=(x^*_{side}−c_x^a)/w^a \tag 4 o=(xside−cxa)/wa, o∗=(xside∗−cxa)/wa(4)
其中 x s i d e x_{side} xside 是最接近水平边(例如,左侧边沿或右侧边沿)到当前锚点的预测的x坐标, x s i d e ∗ x^*_{side} xside∗是 ground truth 侧边的 x 轴坐标,它是从GT边框和锚点位置预先计算的。 c x a c_x^a cxa 是锚点的x轴的中心。 w a w^a wa 是固定的锚点宽度, w a = 16 w^a=16 wa=16。当我们将一系列检测到的细粒度文本提议连接到文本行中时,侧边提议定义为当我们将检测的细粒度文本提议连接成文本行时,最开始时和结束时的提议。我们只使用侧边提议的偏移量来优化最终的文本行边框。通过侧边改善改进的几个检测示例如图Figure 4所示。侧边改善进一步提高了定位精度,从而使 SWT 和 Multi-Lingual 数据集上的性能提高了约2%。请注意,我们的模型对侧边改善的偏移量是同时预测的,如图Figure 1所示。它不是通过额外的后处理步骤计算的。
3.4 模型输出与损失函数
提出的 CTPN 有三个输出共同连接到最后的 FC 层,如图Figure 1(a)所示。这三个输出同时预测公式(2)中的文本/非文本分数( s \mathbf{s} s),垂直坐标( v = { v c , v h } \mathbf{v}=\{v_c,v_h\} v={vc,vh})和侧边改善偏移量( o \mathbf{o} o)。我们将探索 k k k 个锚点在 conv5 中的每个空间位置预测它们,从而在输出层分别得到 2 k 2k 2k, 2 k 2k 2k 和 k k k 个参数。
我们采用多任务学习来联合优化模型参数。我们引入了三种损失函数: L s c l L^{cl}_s Lscl, L v r e L^{re}_v Lvre 和 l o r e l^{re}_o lore,其分别计算文本/非文本分数,垂直坐标和侧边改善偏移量。考虑到这些因素,我们遵循[5,25]中应用的多任务损失,并最小化图像的总体目标函数( L L L):
L ( s i , v j , o k ) = 1 N s ∑ i L s c l ( s i , s i ∗ ) + λ 1 N v ∑ j L v r e ( v j , v j ∗ ) + λ 2 N o ∑ k L o r e ( o k , o k ∗ ) (5) L\left(\mathbf{s}_{i}, \mathbf{v}_{j}, \mathbf{o}_{k}\right)=\frac{1}{N_{s}} \sum_{i} L_{s}^{c l}\left(\mathbf{s}_{i}, \mathbf{s}_{i}^{*}\right)+\frac{\lambda_{1}}{N_{v}} \sum_{j} L_{v}^{r e}\left(\mathbf{v}_{j}, \mathbf{v}_{j}^{*}\right)+\frac{\lambda_{2}}{N_{o}} \sum_{k} L_{o}^{r e}\left(\mathbf{o}_{k}, \mathbf{o}_{k}^{*}\right)\tag 5 L(si,vj,ok)=Ns1i∑Lscl(si,si∗)+Nvλ1j∑Lvre(vj,vj∗)+Noλ2k∑Lore(ok,ok∗)(5)
其中每个锚点都是一个训练样本, i i i 是一个 mini-batch 数据中一个锚点的索引。 s i \mathbf{s}_i si 是预测的锚点 i i i 为真实文本的预测概率。 s i ∗ = { 0 , 1 } \mathbf{s}_i^*=\{0,1\} si∗={0,1} 是ground truth 值。 j j j 是 y 坐标回归中有效锚点集合中锚点的索引,定义如下:有效的锚点是定义的正锚点( s j ∗ = 1 \mathbf{s}_j^*=1 sj∗=1,如下所述),或者与 ground truth 文本提议重叠的交并比(IoU)>0.5。 v j \mathbf{v}_j vj 和 v j ∗ \mathbf{v}_j^* vj∗ 是与第 j j j 个锚点关联的预测的 y 坐标和ground truth的 y 坐标。 k k k 是侧边锚点的索引,其被定义为距离ground truth文本行边框的左侧或右侧一定范围内(例如32个像素)内的一组锚点。 o k \mathbf{o}_k ok 和 o k ∗ \mathbf{o}_k^* ok∗ 是与第 k k k 个锚点关联的 x 轴的预测偏移量和实际偏移量。 L s c l L^{cl}_s Lscl 是我们使用 Softmax 损失区分文本和非文本的分类损失。 L v r e L^{re}_v Lvre 和 L o r e L^{re}_o Lore 是回归损失。我们遵循以前的工作,使用平滑 L 1 L_1 L1 函数来计算它们[5,25]。 λ 1 λ_1 λ1 和 λ 2 λ_2 λ2 是损失权重,用来平衡不同的任务,将它们经验地设置为 1.0 1.0 1.0 和 2.0 2.0 2.0。 N s , N v N_s,N_v~ Ns,Nv 和 N o N_o No 是标准化参数,表示 L s c l , L v r e , L o r e L^{cl}_s,L^{re}_v,L^{re}_o Lscl,Lvre,Lore 分别使用的锚点总数。
3.5 训练和实现细节
通过使用标准的反向传播和随机梯度下降(SGD),可以对CTPN进行端对端训练。与RPN[25]类似,训练样本是锚点,其位置可以在输入图像中预先计算,以便可以从相应的实际边框中计算每个锚点的训练标签。
训练标签。对于文本/非文本分类,二值标签分配给每个正(文本)锚点或负(非文本)锚点。它通过计算与实际边框的IoU重叠(除以锚点位置)来定义。正锚点被定义为:(i)与任意ground truth边框具有>0.7的IoU重叠;或者(ii)与ground truth边框具有最高IoU重叠。*通过条件(ii),即使是非常小的文本模式也可以分配正锚点。这对于检测小规模文本模式至关重要,这是CTPN的主要优势之一。*这不同于通用目标检测,通用目标检测中条件(ii)的影响可能不显著。负锚点定义为与所有ground truth边框具有<0.5的IoU重叠。y坐标回归(v*)和偏移回归(o*)的训练标签分别按公式(2)和(4)计算。
训练数据。在训练过程中,每个mini-batch样本从单张图像中随机收集。每个mini-batch数据的锚点数量固定为 N s = 128 N_s=128 Ns=128,正负样本的比例为1:1。如果正样本的数量少于64,则会用小图像块的负样本填充。我们的模型在3000张自然图像上训练,其中包括来自ICDAR 2013训练集的229张图像。我们自己收集了其他图像,并用文本行边框进行了手工标注。在所有基准测试集中,所有自己收集的训练图像都不与任何测试图像重叠。为了训练,将输入图像的短边设置为600来调整输入图像的大小,同时保持其原始长宽比。
实现细节。我们遵循标准实践,并在ImageNet数据[26]上探索预先训练的非常深的VGG16模型[27]。我们通过使用具有0均值和0.01标准差的高斯分布的随机权重来初始化新层(例如,RNN和输出层)。该模型通过固定前两个卷积层中的参数进行端对端的训练。我们使用0.9的动量和0.0005的重量衰减。在前16K次迭代中,学习率被设置为0.001,随后以0.0001的学习率再进行4K次迭代。我们的模型在Caffe框架[17]中实现。
4. 实验结果和讨论
我们在五个文本检测基准数据集上评估 CTPN,即 ICDAR 2011[21],ICDAR 2013[19],ICDAR 2015[18],SWT[3]和Multilingual[24]数据集。在我们的实验中,我们首先单独验证每个提出来的组件的效率,例如细粒度文本提议检测或网内循环连接。ICDAR 2013用于组件的评估。
4.1 基准数据集和评估标准
ICDAR 2011 数据集[21]由229张训练图像和255张测试图像组成,图像以字级别标记。ICDAR 2013[19] 与 ICDAR 2011类似,共有462张图像,其中包括229张训练图像和233张测试图像。ICDAR 2015年(Incidental Scene Text —— Challenge 4)[18]包括使用Google Glass收集的1500张图像。训练集有1000张图像,剩余的500张图像用于测试。这个数据集比以前的数据集更具挑战性,包括任意方向,非常小的尺寸和低分辨率的文本。Multilingual场景文本数据集由[24]收集。它包含248张训练图像和239张测试图像。图像包含多种语言的文字,并且ground truth值以文本行级别标注。Epshtein等[3]引入了包含307张图像的SWT数据集,其中包含许多极小尺寸的文本。
我们遵循以前的工作,使用由数据集创建者或竞赛组织者提供的标准评估协议。对于ICDAR 2011,我们使用[30]提出的标准协议,对ICDAR 2013的评估遵循[19]中的标准。对于ICDAR 2015,我们使用了由组织者提供的在线评估系统[18]。SWT 和 Multilingual 数据集的评估分别遵循[3]和[24]中定义的协议。
4.2 Faster R-CNN的细粒度文本提议网络
我们首先讨论我们关于RPN和Faster R-CNN系统[25]的细粒度检测策略。如表Table 1(左)所示,通过产生大量的错误检测(低精度),单独的RPN难以执行准确的文本定位。通过使用Fast R-CNN检测模型[5]完善RPN提议,Faster R-CNN系统显著提高了定位精度,其F-measure为0.75。一个观察结果是Faster R-CNN也增加了原始RPN的召回率。这可能受益于Fast R-CNN的联合边框回归机制,其提高了预测边框的准确性。RPN提议可以粗略定位文本行或文字的主要部分,但根据ICDAR 2013的标准这不够准确。显然,所提出的细粒度文本提议网络(FTPN)在精度和召回率方面都显著改进了Faster R-CNN,表明通过预测一系列细粒度文本提议 而不是整体文本行,FTPN 更精确可靠。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pep9Hx6R-1684897807609)(pic/CTPN-tab1.jpg)]
4.3 循环连接文本提议
我们讨论循环连接对CTPN的影响。如图Figure 3所示,上下文信息对于减少误检非常有用,例如类似文本的异常值。对于恢复高度模糊的文本(例如极小的文本)来说,这非常重要,这是我们CTPN的主要优势之一,如图Figure 6所示。这些吸引人的属性可显著提升性能。如表Table 1(左)所示,使用我们的循环连接,CTPN 大幅度改善了FTPN,将F-measure从0.80的提高到0.88。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iAiKjQM4-1684897807610)(pic/CTPN-fig6.jpg)]
运行时间。通过使用单个GPU,我们的CTPN(用于整个检测处理)的执行时间为每张图像大约0.14s,固定短边为600。没有RNN连接的CTPN每张图像GPU时间大约需要0.13s。因此,所提出的网内循环机制稍微增加了模型的计算量,并获得了相当大的性能增益。
4.4 与state-of-the-art结果的比较
我们在几个具有挑战性的图像上的检测结果如图Figure 5所示。可以发现,CTPN在这些具有挑战性的情况上可以完美的工作,其中一些对于许多以前的方法来说是困难的。它能够有效地处理 多尺寸和多语言(例如中文和韩文)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XYMuz5X1-1684897807610)(pic/CTPN-fig5.jpg)]
全面评估是在五个基准数据集上进行的。图像分辨率在不同的数据集中显著不同。我们为SWT和ICDAR 2015设置图像短边为2000,其他三个的短边为600。我们将我们的性能与最近公布的结果[1,28,34]进行了比较。如表Table 1和表Table 2所示,我们的CTPN在所有的五个数据集上都实现了最佳性能。在SWT上,我们的改进对于召回和F-measure都非常重要,并在精确度上取得了很小的收益。我们的检测器在Multilingual上比TextFlow表现更好,表明我们的方法能很好地泛化到各种语言。在ICDAR 2013上,它的性能优于最近的TextFlow[28]和FASText[1],将F-measure从0.80提高到了0.88。精确度和召回率都有显著提高,改进分别超过+5%和+7%。此外,我们进一步与[8,11,35]比较了我们的方法,它们是在我们的首次提交后发布的。它持续在F-measure和召回率方面取得重大进展。这可能是由于CTPN在非常具有挑战性的文本上具有很强的检测能力,例如非常小的文本,其中一些甚至对人来说都很难。如图6Figure所示,我们的检测器可以正确地检测到那些具有挑战性的图像,但有些甚至会被GT标签遗漏,这可能会降低我们的评估精度。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-etCnGjU2-1684897807611)(pic/CTPN-tab2.jpg)]
我们进一步调查了各种方法的运行时间,在表Table 2中进行了比较。FASText[1]达到0.15s每张图像的CPU时间。我们的方法比它快一点,取得了0.14s每张图像,但是在GPU时间上。尽管直接比较它们是不公平的,但GPU计算已经成为主流,最近在目标检测方面的深度学习方法[25,5,6]上取得了很大成功。无论运行时间如何,我们的方法都大大优于 FASText,F-measure的性能提高了 11%。我们的时间可以通过使用较小的图像尺寸来缩短。在ICDAR 2013中,使用 450 的尺寸,时间降低到 0.09s 每张图像,同时获得0.92/0.77/0.84的 P/R/F,与 Gupta等人的方法[8]相比,GPU时间为 0.07s 每张图像,我们的方法是具有竞争力的。
5. 结论
我们提出了连接文本提议网络(Connectionist Text Proposal Network)—— 一种可端到端训练的高效文本检测器。CTPN 直接在卷积特征中检测一系列细粒度文本提议的文本行。我们开发了垂直锚点机制,联合预测每个提议的精确位置和文本/非文本分数,这是实现文本准确定位的关键。我们提出了一个网内RNN层,可以优雅地连接顺序文本提议,使其能够探索有意义的上下文信息。这些关键技术的发展,导致检测极具挑战性的文本的强大能力,同时减少了误检。通过在五个基准数据集测试中实现了新的 state-of-the-art 性能,每张图像运行时间为0.14s,CTPN 是有效的。
引用
- Busta, M., Neumann, L., Matas, J.: Fastext: Efficient unconstrained scene text detector (2015), in IEEE International Conference on Computer Vision (ICCV)
- Cheng, M., Zhang, Z., Lin, W., Torr, P.: Bing: Binarized normed gradients for objectness estimation at 300fps (2014), in IEEE Computer Vision and Pattern Recognition (CVPR)
- Epshtein, B., Ofek, E., Wexler, Y.: Detecting text in natural scenes with stroke width transform (2010), in IEEE Computer Vision and Pattern Recognition (CVPR)
- Everingham, M., Gool, L.V., Williams, C.K.I., Winn, J., Zisserman, A.: The pascal visual object classes (voc) challenge. International Journal of Computer Vision (IJCV) 88(2), 303–338 (2010)
- Girshick, R.: Fast r-cnn (2015), in IEEE International Conference on Computer Vision (ICCV)
- Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation (2014), in IEEE Computer Vision and Pattern Recognition (CVPR)
- Graves, A., Schmidhuber, J.: Framewise phoneme classification with bidirectional lstm and other neural network architectures. Neural Networks 18(5), 602–610 (2005)
- Gupta, A., Vedaldi, A., Zisserman, A.: Synthetic data for text localisation in natural images (2016), in IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
- He,P.,Huang,W.,Qiao,Y.,Loy,C.C.,Tang,X.:Reading scene text in deep convolutional sequences (2016), in The 30th AAAI Conference on Artificial Intelligence (AAAI-16)
- He, T., Huang, W., Qiao, Y., Yao, J.: Accurate text localization in natural image with cascaded convolutional text network (2016), arXiv:1603.09423
- He, T., Huang, W., Qiao, Y., Yao, J.: Text-attentional convolutional neural net- works for scene text detection. IEEE Trans. Image Processing (TIP) 25, 2529–2541 (2016)
- Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Networks 9(8), 1735–1780 (1997)
- Huang, W., Lin, Z., Yang, J., Wang, J.: Text localization in natural images using stroke feature transform and text covariance descriptors (2013), in IEEE International Conference on Computer Vision (ICCV)
- Huang, W., Qiao, Y., Tang, X.: Robust scene text detection with convolutional neural networks induced mser trees (2014), in European Conference on Computer Vision (ECCV)
- Jaderberg, M., Simonyan, K., Vedaldi, A., Zisserman, A.: Reading text in the wild with convolutional neural networks. International Journal of Computer Vision (IJCV) (2016)
- Jaderberg, M., Vedaldi, A., Zisserman, A.: Deep features for text spotting (2014), in European Conference on Computer Vision (ECCV)
- Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., Darrell, T.: Caffe: Convolutional architecture for fast feature embedding (2014), in ACM International Conference on Multimedia (ACM MM)
- Karatzas,D.,Gomez-Bigorda,L.,Nicolaou,A.,Ghosh,S.,Bagdanov,A.,Iwamura, M., Matas, J., Neumann, L., Chandrasekhar, V.R., Lu, S., Shafait, F., Uchida, S.,Valveny, E.: Icdar 2015 competition on robust reading (2015), in International Conference on Document Analysis and Recognition (ICDAR)
- Karatzas, D., Shafait, F., Uchida, S., Iwamura, M., i Bigorda, L.G., Mestre, S.R., Mas, J., Mota, D.F., Almazan, J.A., de las Heras., L.P.: Icdar 2013 robust reading competition (2013), in International Conference on Document Analysis and Recognition (ICDAR)
- Mao, J., Li, H., Zhou, W., Yan, S., Tian, Q.: Scale based region growing for scene text detection (2013), in ACM International Conference on Multimedia (ACM MM)
- Minetto, R., Thome, N., Cord, M., Fabrizio, J., Marcotegui, B.: Snoopertext: A multiresolution system for text detection in complex visual scenes (2010), in IEEE International Conference on Pattern Recognition (ICIP)
- Neumann, L., Matas, J.: Efficient scene text localization and recognition with local character refinement (2015), in International Conference on Document Analysis and Recognition (ICDAR)
- Neumann, L., Matas, J.: Real-time lexicon-free scene text localization and recognition. In IEEE Trans. Pattern Analysis and Machine Intelligence (TPAMI) (2015)
- Pan, Y., Hou, X., Liu, C.: Hybrid approach to detect and localize texts in natural scene images. IEEE Trans. Image Processing (TIP) 20, 800–813 (2011)
- Ren, S., He, K., Girshick, R., Sun, J.: Faster R-CNN: Towards real-time object detection with region proposal networks (2015), in Neural Information Processing Systems (NIPS)
- Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A., Khosla, A., Bernstein, M., Berg, A.C., Li, F.: Imagenet large scale visual recognition challenge. International Journal of Computer Vision (IJCV) 115(3), 211–252 (2015)
- Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition (2015), in International Conference on Learning Representation (ICLR)
- Tian, S., Pan, Y., Huang, C., Lu, S., Yu, K., Tan, C.L.: Text flow: A unified text detection system in natural scene images (2015), in IEEE International Conference on Computer Vision (ICCV)
- Wang, K., Babenko, B., Belongie, S.: End-to-end scene text recognition (2011), in IEEE International Conference on Computer Vision (ICCV)
- Wolf, C., Jolion, J.: Object count / area graphs for the evaluation of object detection and segmentation algorithms. International Journal of Document Analysis 8, 280–296 (2006)
- Yao, C., Bai, X., Liu, W.: A unified framework for multioriented text detection and recognition. IEEE Trans. Image Processing (TIP) 23(11), 4737–4749 (2014)
- Yin, X.C., Pei, W.Y., Zhang, J., Hao, H.W.: Multi-orientation scene text detection with adaptive clustering. IEEE Trans. Pattern Analysis and Machine Intelligence (TPAMI) 37, 1930–1937 (2015)
- Yin, X.C., Yin, X., Huang, K., Hao, H.W.: Robust text detection in natural scene images. IEEE Trans. Pattern Analysis and Machine Intelligence (TPAMI) 36, 970–983 (2014)
- Zhang, Z., Shen, W., Yao, C., Bai, X.: Symmetry-based text line detection in natural scenes (2015), in IEEE Computer Vision and Pattern Recognition (CVPR)
- Zhang, Z., Zhang, C., Shen, W., Yao, C., Liu, W., Bai, X.: Multi-oriented text detection with fully convolutional networks (2016), in IEEE Conference on Computer Vision and Pattern Recognition (CVPR)