利用CTPN检测电影海报中的文本信息

2018-12-17 09:17杨捷刘进锋
电脑知识与技术 2018年25期

杨捷 刘进锋

摘要:图像的文本识别问题引起了人们越来越多的关注,电影海报中除了图像信息以外还蕴含着非常丰富的文本信息。本文利用一种CTPN(Connectionist Text Proposal Network)的方法对电影海报中的文本进行检测,与以往基于自底而上的方法不同,CTPN开发了一种垂直锚机制并且利用RNN和CNN无缝结合的方法提高了检测精度。论文首先介绍了CTPN的原理,然后通过实验,检测电影海报中的文本信息,实验结果表明,CTPN方法能得到比以往方法更好的检测结果。

关键词:文本检测; CTPN; 垂直锚

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)25-0213-03

Use CTPN to Detect Text Messages in Movie Posters

YANG Jie,LIU Jin-feng

(School of Information Engineering, Ningxia University, Yinchuan 750000,China)

Abstract: The problem of text recognition of images has attracted more and more attention. In addition to image information, movie posters also contain very rich text information. This paper uses a method of CTPN(Connectionist Text Proposal Network) to detect text in movie posters. Unlike previous methods based on bottom-up approach, CTPN has developed a vertical anchor mechanism and improved the detection accuracy by using RNN and CNN seamlessly. First of all, we introduce the principle of CTPN and then tests the text information in the movie poster through experiments. The experimental results show that the CTPN method can obtain better detection results than the previous methods.

Key words: Text detection; CTPN; Vertical Anchor

1 引言

圖像中的文本可以大致分为两类:人工文本(artifical text) 和场景文本(scene text) 。人工文本是指通过图像处理工具对图像进行编辑,在图像上人工标注的文本。这类文本的内容意义性极强,对图像的检索有重要的作用。电影海报中蕴含着丰富的信息,如导演名称、演员名称、电影描述、上映时间等。如果能将这些文本检测并识别,则对图像高层语义的自动理解、索引和检索都有非常大的价值。

文本的特征主要包括颜色特征、字符大小、字符边缘、字符间距及纹理特征。对于文本定位来说,主要有基于区域、基于边缘及基于纹理的技术方法[1] 。这些一般的方法大多都是自底而上的,并且这些方法产生的候选区域往往比较多,后处理较复杂,需要很多人工规划,且参数不通用,多个步骤容易造成误差累计,鲁棒性也较差。本文采用Zhi Tian等人提出的CTPN(Connectionist Text Proposal Network)文本定位方法,做了对比实验,从实验结果来看,比传统的方法提高明显且鲁棒性更好,更加适用于多语言环境的检测。

2 CTPN原理

CTPN网络结构是基于VGG16模型建立的[3]。CTPN首先运用VGG16模型的前5层卷积层,在第5层基础上用一个3×3的空间窗口密集地进行滑动。每行中的顺序窗口通过BLSTM(Bi-directional long short-term memory)循环连接,其中每个窗口的卷积特征(3×3×C)被用作256维 BLSTM(包括两个128维 LSTM)的输入。BLSTM层连接到512维完全连接层,接着是输出层,它预测k个锚的文本/非文本分数、y轴坐标以及侧向细化偏移量(如图1所示)。

Ren等人提出了一种有效的锚点回归机制[4],在该机制中,单个窗口通过使用多个灵活的锚点来预测多尺度和多纵横比的对象,区域文本框网络(RPN)和CTPN都采用了锚点回归机制。CTPN类似于RPN,允许输入任意大小的图像。CTPN使用一个小的3×3空间窗口在VGG16的conv5进行滑动,conv5特征图的大小由输入的图像大小来决定,但总步长和滑动区域分别固定为16和228像素。RPN直接训练来定位图像中的文本行,但是通过文本行来预测图像中的文本出现错误的可能性很大,因为文本是一个没有明确的封闭边界的序列(例如单词中大小写边界不同)。CTPN不同于RPN的地方是CTPN使用文本列来定位图像中的文本,如图2所示,左侧为RPN行机制划分情况,右侧为CTPN列机制划分情况。

CTPN中的预测窗口在输入图像中设置为16像素的固定宽度,随后设计k个垂直锚来预测每个窗口的y坐标。这k个锚具有固定的宽度,在垂直位置则有k个不同的高度。在预测进程中,每个滑动窗口使用10个锚(即k=10),其锚的高度从11到273像素之间(每次÷0.7)变化。

[vc=(cy-cay)/ha], [vh=log(h/ha)] (1)

[v*c=(c*y-cay)/ha], [v*h=log(h*/ha)] (2)

我们计算锚点边界框位置相对预测的垂直坐标(v),其中[v=vc,vh][v*=v*c,v*h]分别是是相对预测坐标和真实坐标,[vc]和[vh]分别是锚箱的横坐标与纵坐标(相对预测值)。[cay]和[ha]是y轴中心和锚箱的高度,[c*y]和[h*]为实际坐标。每个预测窗口都有一个尺寸为h×16的边界框。

检测待处理图像中的文本过程如下。首先给定一个输入图像,通过使用VGG16模型,得到一个具有W×H×C的conv5特征图(C是特征图或者通道数量,W×H为图像大小)。当预测窗口(大小为3×3)在conv5上密集地滑动时,每个滑动窗口具有3×3×C的卷积特征用于产生预测。在每个预测中,水平位置([x]坐标)和k个锚点位置是固定的。预测窗口在每个窗口位置输出k个锚点的文本/非文本分数和预测的[y]坐标(v)。通过设计的垂直锚点和精细尺度检测策略,该预测窗口能够通过使用单尺度图像处理各种尺度和宽高比的文本线。

在conv5上又設计一个RNN层,将每个窗口的卷积特征作为连续输入,并在隐藏层[Ht]中循环更新其状态。

[Ht=?(Ht-1,Xt),] [t=1,2,...,W] (3)

其中[Xt∈R3×3×C]是第[t]个滑动窗口([3×3])的输入conv5特征,[W]是conv5的宽度,[Ht]是由当前输入[Xt]和前一个状态[Ht-1]在一个非线性函数[φ]的作用下计算出的。将LSTM(long short-term memory)引用于RNN层来解决梯度消失问题,并且使用BLSTM来进一步扩展RNN层,使其能在两个方向上对文本上下文进行编码,从而使链接受测区域能覆盖整个图像宽度。对每个LSTM使用128维隐藏层,使RNN具有256维隐藏层,[Ht]是以256维隐藏层的一个子集,[Ht]的内部状态映射到FC层和输出层,用于计算第[t]个预测窗口。使用RNN能大大减少检测错误,恢复许多遗漏文本,其中包括非常不明显的文字信息,如图3中间图例所示,在没有加入RNN网络下,图像中最后文本信息较加入RNN相比缺少部分信息。在图3右侧图所示,文本信息“software”在加入RNN后能形成一个连贯的文本线。

2 实验结果及其对比

2.1 模型训练及数据集

用随机梯度下降(SGD)对CTPN进行训练。与RPN相同,CTPN的训练样本为锚点,其位置可以在输入图像中预先计算。CTPN模型用3000幅自然图像进行训练,其中229幅图像来自ICDAR 2013,剩余为Zhi Tian等人自行收集并用文本行边界框手动标记[5]。对于文本/非文本分类,将二元标签分配给每个正(文本)锚或负(非文本)锚。 它通过计算与实际边界框(GT箱)的IoU(Intersection over Union)重叠(除以锚位置)来定义。 正锚定义为:(i)与任何GT箱具有> 0.7个IoU重叠的锚; 或者(ii)具有最高IoU的锚与GT箱重叠。 由条件(ii),即使一个非常小的文本模式也可以分配一个正锚,负锚定义为小于0.5个IoU重叠的锚,这对于检测小规模文本模式至关重要,是CTPN的主要优势之一[5]。

2.2 实验结果

为了测试CTPN的性能,实验选取多张多语言电影海报。我们以其中三个样本为例(样本分辨率为1920×1080像素)进行深入研究。首先我们先选取三个样本中文字信息较少的一个样本进行实验,结果如图4所示。在这张海报中,利用CTPN可以精准地检测到图像中的文本信息,尽管文本信息是以艺术字的形式展现。其次,选取一张蕴含文本信息较多的海报,其结果如图5所示。从结果来看,图像中很大部分的文本可以被检测出,但海报中的关键信息(电影名)却没有检测出。该结果出现一种有趣的现象,即右下角的大部分文本信息只检测出一部分,但在人物身体部分(薄弱文本信息)却检测出来文本信息。

前两个样本只是基于英文电影海报的文本信息检测。在最后一个样本中,我们选取一张中文电影海报进行实验,其结果如图6所示。此结果可以很好地展示CTPN在多语言环境下的性能,在该图像中电影名称用中文和英文进行标识。在图像的上部分,背景色和文本色在一定程度上很接近,CTPN依然能够准确地检测出文本信息。但该结果又暴露出另一个缺点,演员名称是以竖直方式排版,检测结果却显示出两个竖直排版的文本信息的交集(即上一文本信息的最后一行与下一文本信息第一行出现在同一行)。对于以上问题,还需要进一步研究,才能完全了解该现象的形成原因。

2.3 实验对比

在实验对比方面,CTPN与基于MSER的方法和Xinyu Zhou等人提出的EAST方法进行对比。[6]在进行多次实验后,本文选取其中一个样本进行分析,其实验结果如图7所示。

由于该选取样本的背景信息复杂,基于MSER的方法很显然已经不适用于该场景下的检测。对于基于EAST方法的检测结果,其图像信息中最上层的文本信息(由艺术字体展示)没有检测到,丢失了对电影海报中的关键信息检测(例如电影名和演员名)。进一步分析,基于EAST的方法对艺术字的检测不具有良好的鲁棒性,并且对一些细节信息的检测有所丢失(例如海报下部文本信息),多语言背景下性能有所下降。而对于基于CTPN的方法,虽然对图像下半部分的细节有损失,但是在图像中间却检测到了肉眼难以检测的信息(图7左图中间出现的检测框)。

3 结论

CTPN的基本原理是预测文本的竖直方向上的位置,水平方向的位置不预测。首先对待定图像进行文本检测,用CNN得到深度特征,其次用固定的锚来检测文本线。与Faster RCNN中的锚类似,但不同的是,垂直锚的宽度是预先设置好的,在CTPN方法中大小为16个像素,而高度则从11像素到273像素变化,总共10个锚。随后,把同一行的锚对应的特征串成序列,输入到RNN中,最后用全连接层来分类或回归,并将正确的部分文本线合并成整体文本线。

CTPN利用RNN和CNN无缝结合的方法提高了检测精度。对于电影海报中的文本识别,CTPN能够在背景复杂的情况下提高检测精度。对比以前的方法(基于自底而上的方法),CTPN有更加优秀的鲁棒性并且在多语言环境方面表现优异。

参考文献:

[1] 晋瑾,平西建,张涛,等. 图像中的文本定位技术研究综述[J].计算机应用研究,2017(6).

[2] 杨飞.自然场景图像中的文字检测综述[J].电子设计工程,2016(12).

[3] Epshtein B, Ofek E, Wexler Y.Detecting text in natural scenes with stroke width transform (2010), in IEEE Computer Vision and Pattern Recognition (CVPR)

[4] Girshick, R.: Fast r-cnn (2015), in IEEE International Conference on Computer Vision (ICCV)

[5] Tian Z, Huang W, He T, et al. (2016) Detecting Text in Natural Image with Connectionist Text Proposal Network. In: Leibe B., Matas J., Sebe N., Welling M. (eds) Computer Vision – ECCV 2016. ECCV 2016. Lecture Notes in Computer Science, 9912. Springer, Cham

[6] Xinyu Zhou, Cong Yao, He Wen,et al. EAST: An Efficient and Accurate Scene Text Detector. Computer Vision and Pattern Recognition arXiv:1704.03155 [cs.CV].2017.10

【通联编辑:唐一东】