常用的文本检测与识别方法 - 第一节【文本检测与识别 - 白皮书 - 第三章】
3.常用的文本检测与识别方法
3.1 文本检测方法
随着深度学习的快速发展,图像分类、目标检测、语义分割以及实例分割都取得了突破性的进展,这些方法成为自然场景文本检测的基础。基于深度学习的自然场景文本检测方法在检测精度和泛化性能上远优于传统方法,逐渐成为了主流。图 1 列举了文本检测方法近几年来的发展历程。
目前,根据检测文本对象的不同可以将基于深度学习的方法划分为基于回归的文本检测方法和基于分割的文本检测方法两大类,不同类别方法的流程如图所示。
3.1.1 基于回归的场景文本检测方法
基于回归的自然场景文本检测方法主要是基于以深度学习为基础的目标检测技术或者实例分割技术,它将文本视为一种通用目标然后直接检测出整个文本实例。此类方法通常是直接回归出水平矩形或者多方向的任意形状多边形以解决文本检测的问题。
早期的这类文本检测方法基于传统滑动窗口方法的思想,只是在对滑窗进行文本和非文本分类的时候使用 CNN 提取的特征而不是人工设计的特征(Wang 等,2012;Jaderberg 等,2014)。
虽然能提高分类性能,但计算量大以及适用范围窄(大部分只能处理水平方向文本)的问题依旧没有解决。在基于深度学习的目标检测和分割等技术的突破性进展的同时,这些方法也为自然场景文本检测提供了新的思路。
基于深度学习的基于回归的自然场景文本检测方法可分为两阶段和单阶段的方法。
1)两阶段检测方法。
两阶段的方法主要是借鉴了 Faster R-CNN(region CNN),R-FCN(region-based fully convolutional network)以及 Mask R-CNN 和 FCI(fully convolutional instance-aware semantic segmentation)等系列两阶段目标检测和分割算法的思想,针对文本不同于通用目标的表现形进行专门的改进,使之能在文本检测领域取得更好的检测性能。
Jaderberg 等人(2016) 首先借鉴了 R-CNN 框架,利用了 EdgeBoxes 和聚合通道特征(aggregate channel feature, ACF)等候选区域提取算法,得到单词级别的文本候选区域;然后通过随机森林(random forest)对候选区域进行文本和非文本分类以过滤背景区域,得到的文本候选区域最后通过一个 CNN 对边界框回归,得到最终的检测结果。
该方法虽然取得了当时不错的性能,但由于各模块是单独优化的,容易造成误差累积,而且 EdgeBoxes 和 ACF 提取候选区域时都会存在计算量大的问题。
针对这些问题,受 Faster R-CNN 的启发,Zhong 等人(2017)提出的 DeepText 是第一个把该目标检测算法成功应用到自然场景文本检测的工作。该工作使用了基于感知( inception) 模块(Szegedy 等,2015)的区域生成网络(inception region proposal network,Inception-RPN)来代替传统的候选区域提取算法(EdgeBoxes 等),大大提高了候选区域的提取效率和质量。
然后再通过 Fast R-CNN 网络对文本候选区域做更准确的回归和分类,得到最后的检测结果。但是由于 Faster R-CNN 只能预测水平矩形框, 因此 DeepText 也无法处理多方向以及不规则文本的自然场景文本检测问题。
为了适应文本的不同表现形式,更多的学者基于 Faster R-CNN 提出了不同的解决方法。
Jiang 等人(2018)提出的 R2CNN(rotational region CNN)为了适应文本的长宽比和方向(水平和竖直),首先使用了多尺度的感兴趣区域池化(region of interest pooling,RoI-Pooling)操作,增加了特征尺寸,然后在 Fast R-CNN 中额外增加了一个分支预测旋转的矩形以及一个针对倾斜框的非极大值抑制后处理算法以解决多方向文本的检测问题。
Ma 等人(2018)同样也指出应该用旋转矩形替代水平矩形来进行文本检测。作者提出了旋转候选区域生成网络(rotated region proposal network,RRPN),结合旋转矩形的锚点框(anchor)来生成倾斜的文本候选区域。然后设计了旋转感兴趣区域池化(rotated region of interest pooling,RROI Pooling)算法为每个倾斜的候选区域从卷积特征图中提取固定尺度的特征以进一步地进行文本和非文本分类。
考虑到将 Faster R-CNN 用于文本检测时,矩形锚点框与文本的形状相差过大,会导致区域生成网络(region proposal network,RPN)在生成文本候选区域时效率不高,鲁棒性也不强,Zhong 等人(2019)因此借鉴了 DenseBox(Huang 等,2015) 的思想,提出了不需要锚点框的区域生成网络(anchor-free region proposal network, AF-RPN)。
AF-RPN 通过特征图上的滑动点与原图文本中心区域的映射关系来确定特征上的文本滑动点,对于每个这样的滑动点,AF-RPN 都会预测其对应的文本边界框位置,从而可以不需要复杂的锚点框计算,直接生成高质量的文本候选区域。
上述方法都是主要针对水平和多方向四边形文本而不能检测任意形状(如曲线) 的文本。
因此,Liu 等人(2019b) 用 14 个点描述不规则文本,在 R-FCN 的基础上改进了文本边界框回归模块去预测这 14 个顶点的位置坐标,并通过循环神经网络(recurrent neural network, RNN)对候选区域提取的特征进行上下文信息的增强以提高文本检测精度。
考虑到之前的方法对于不同形状的文本需要不同数量的点来描述,Wang 等人(2019h) 提出使用 RNN 去自适应预测不同形状文本实例所需要的多边形顶点数目,并将这个模块结合到 Faster R-CNN 中,提高了整个模型的灵活性。
Liu 等人(2019d)提出了条件空间膨胀(conditional spatial expansion, CSE)模块,将不规则文本检测构造成区域膨胀问题,依靠 CNN 提取的区域特征和已融合区域的上下文信息进行进一步区域融合得到完整的检测结果。
Wang 等人(2020d)同样是基于 Faster R-CNN 设计了自适应区域生成网络(Adaptive-RPN)生成更加准确的文本候选区域,然后增加了一个额外的分支去进行候选区域的文本轮廓检测以抑制误检情况,极大提高了检测精度,同时也能适应任意形状的文本检测。
以上文本检测方法主要是基于主流的两阶段目标检测器 Faster R-CNN。由于文本方向和形状的复杂性,它通常需要设计回归更多的顶点去描述那些多方向以及不规则的文本,这可能会带来误差累积以及额外的计算量。而 Mask R-CNN 和 FCIS 在实例分割领域取得了很大的进步,通过边框或边界点回归预测和像素分类相结合的思路也可以对任意形状的文本进行更方便地描述。
Dai 等人(2018)便是借鉴这样的思想,预测了文本候选区域的文本实例像素级掩码后, 通过基于掩码的非最大值抑制(mask non maximum suppression, Mask-NMS)得到更准确的任意形状文本检测框。
Yang 等人(2018)也是类似的做法,基于 FCIS 的框架通过 Inception-Text 模块和可变形 ROI 池化模块去处理多方向的文本。
Xie 等人(2019a)同样是为了解决弯曲文本检测的问题,在 Mask R-CNN 的基础上增加了一个文本语义模块以及文本区域敏感的重打分机制以抑制误检的问题。
Xiao 等人(2020)考虑到普通卷积对不规则文本的采样效率偏低,在 Mask R-CNN 中嵌入了序列变形模块(sequential deformable module,SDM),它能沿着文本方向进行特征采样,此外通过一个 Seq2seq 模型对采样过程进行限制,使之能更准确地检测不规则文本。
Liu 等人(2019c)则是为了解决数据标注顺序歧义性的问题,提出了包围盒分解网络(box discretization network, BDN),将四边形标注框的点顺序分解成由顺序无关点组成的关键边,并通过匹配类型学习从学习到的关键边中重建四边形检测框。如图 3 所示,整个网络也是基于 Mask R-CNN 进行搭建,这样可以更好地处理任意方向的文本,不过对于不规则文本,BDN 并不能进行很好地检测。
Liu 等人(2019a)则是考虑到若将文本检测视为实例分割问题,采用的分割标注是直接根据文本框得到,这会使得部分背景像素被划分为正样本,从而增加训练的噪声,导致训练不稳定。于是舍弃 Mask R-CNN 中简单的(0,1)二值预测方案,根据文本中心点到边界的距离为像素分配[0,1]中的值作为弱标签进行训练,减少了文本边界错误标注像素带来的训练噪声,从而提高文本的检测性能。
2)单阶段检测方法。
除了上述 RCNN 系列的两阶段检测器,很多单阶段的目标检测器如 YOLO(you only look once) 系列(Redmon 等,2016; Redmon 和 Farhadi,2017) 和 SSD(single shot multibox detector)(Liu 等,2016a)也被学者们应用于自然场景文本检测。Gupta 等人(2016)基于 YOLO 模型,对不同尺度的图像使用全卷积网络(Long 等,2015)定位文本的位置。基于 SSD 的方法则有以下的一些工作。
如图 4 所示,Liao 等人(2017)提出了 Text-Boxes,该算法针对自然场景文本的特性,设置了适应性的锚点(Anchor),考虑到文本长宽比与通用目标差别过大便采用了长条形的卷积核,它能对水平文本取得不错的检测性能。这些学者进一步提出 TextBoxes ++ (Liao 等人,2018a),增加了角度预测以适应多方向文本的检测。He 等人(2017b)加入了文本注意力机制,通过强化文本部分的特征加强其分类和边界框回归,同时他们设计了一个多级特征融合模块以适应文本的尺度变化。
Liu 和 Jin (2017)也是基于相同的框架提出了深度匹配先验网络(deep matching prior network, DMPNet),首次使用四边形锚点框来替换原来的矩形锚点框,实现了多方向文本检测。Liao 等人(2018b)针对多方向文本这一问题,使用了方向响应网络(oriented response network,ORN)取代融合 SSD 中不同尺度特征的侧边连接。ORN 可以提取旋转的文本特征以适应不同方向的文本实例,然后在每个侧边连接提取特征后进行分类和边界框回归。
除了基于 SSD 和 YOLO 这类需要锚点框的单阶段方法之外,还有很多是借助文本的一些几何属性进行建模并利用全卷积神经网络的单阶段文本检测方法。
Zhou 等人(2017)借鉴了 DenseBox(Huang 等,2015)的架构和 U-Net(Ronneberger 等,2015)的特性提出了 EAST(efficient and accurate scene text detector)算法,结构如图所示。
它先在每个像素位置预测是否有文本,如果有则直接预测该像素点对应文本实例的得分图和边界坐标。He 等人(2017c)提出的 DDR(deep direct regression)算法思想和 EAST 相似,不过 DDR 是直接学习 4 个边界点对于有文本像素点作为文本实例中心点的偏移量,而 EAST 是回归点到边框的上下左右距离。
类似的方法还有 Xue 等人(2018)提出的 Border,不过它除了进行文本和非文本分类以及边框回归的同时,还增加了对 4 条文本框边界的学习和预测。
Wang 等人(2018b) 提出了一个实例变换网络( instance transformation network, ITN)去学习自然场景文本的几何属性表达,以适应任意四边形文本行的检测。
针对不规则文本的检测,Long 等人(2018)提出的 TextSnake 是首个单阶段解决此类问题的工作。它先利用一个全卷积神经网络预测文本区域、文本的中心线以及几何属性(角度、半径等),然后通过这些属性重建整个文本实例。
Zhang 等人(2019a)提出的 LOMO(look more than once)是在 EAST 算法思想的基础上额外增加了一个迭代优化模块和形状表征模块,分别加强对长文本以及对不规则文本的检测。
而 Wang 等人(2019a) 提出的 SAST(singleshot arbitrarily-shaped text detector) 同样也是 EAST 的演进版本,他们也借鉴了 TextSnake 的思想,在直接回归边界框的同时加入了对文本一些几何特征的预测(文本中心线区域、文本边界偏置和文本中心点偏置等),使之能适用于不规则的文本检测。
考虑到文本多尺度的问题,Xue 等人(2019)提出了多尺度形状回归网络(multi-scale regression,MSR) 去检测不同尺度的任意形状文本。MSR 分别预测文本中心区域、中心区域的点到最近边界的横向和纵向距离,最后通过后处理得到文本边框。
版权声明: 本文为 InfoQ 作者【合合技术团队】的原创文章。
原文链接:【http://xie.infoq.cn/article/ebd69004da81111b87e52483c】。文章转载请联系作者。
评论