李益红,陈袁宇
海南大学 计算机与网络空间安全学院,海口 570228
自然场景图像中的文字包含着丰富的语义信息,准确地提取文字信息对于机器场景理解、人工智能发展、工业自动化生产等行业有着重要的推动作用。因此,对场景文字检测技术的研究非常重要。近10 年来,广大研究者进行了大量有关场景文字检测方法的相关研究,并取得了一定成果。场景文字检测方法通常可分为传统场景文字检测方法和深度学习场景文字检测方法两种[1-2]。由于场景文字的特殊性:(1)自然环境背景复杂多变性;(2)文字排列、字体、字号、长度、尺度等呈现多样性;(3)光照条件不确定性。传统场景文字检测方法无法有效地解决这些问题。因此,近几年来,深度学习场景文字检测算法研究成为场景文字检测的研究热点,并取得了突破性的进展[3-4]。
基于回归的文本检测方法目的是采用深度学习框架对要检测的文本目标定位坐标进行回归。据检测过程、特点不同[5-6],将基于回归的方法分为自顶向下和自底向上的检测方法。
1.1.1 自顶向下方法
自顶向下的方法是将文本行视为一种检测目标,利用目标检测网络直接检测出文本行的坐标。自顶向下方法可以根据是否预设anchor 分为间接回归与直接回归方法。
(1)间接回归法
间接回归法的思路是在特征图上预先设置一系列不同形状、大小的候选框,利用网络学习相对于候选框的偏移的文本框的坐标,消除错误的候选框。常用的网络框架有 Faster R-CNN[7]、SSD[8]和 YOLOV3[9],其处理流程如图1所示。
间接回归法的的主要研究路线是设计适合文本检测的候选框和卷积核。针对正矩形无法很好地描述任意形状文本的问题,四点多边形[10]、旋转正矩形[11]、多点多边形[12]等描述方式被提出,针对文本行大多为长条状的观察,长条状的滑动窗口和卷积核被提出[13-14]。此外,通过循环神经网络自适应地决定包围框点的个数进一步提升了多点多边形的表示效率[15],基于尺度的区域建议网络技术解决了建议区域无法覆盖多尺度文本行的问题[16]。
图1 间接回归法流程图
上述间接回归方法虽然大多采用了多边形描述文本框,但是其回归方式仍然存在显著差异,多采用正矩形滑动窗口,回归多边形顶点到矩形中心[12]或顶点[13-14]的距离,也有则直接采用多边形作为滑动窗口,回归多边形最小外接矩形中心到多边形顶点的距离[10]以及旋转正矩形作为滑动窗口,通过回归角度[11]实现多方向文本检测。此外,虽然多边形滑动窗口的方法灵活性强,但是需要实现更多自定义操作,如多边形iou 计算和多边形区域池化等。因此,大多数方法仍然是在正矩形的基础上进行回归。
(2)直接回归法
在2016年首次提出的直接回归方法是指不需要在特征图上预先设置的一系列候选框,直接将特征图通过网络框架检测出文本行的坐标[17-18]。常用的网络框架有Corner-Net[19]、FCOS[20],其处理流程图如图2所示。
图2 直接回归法流程图
在最早提出的方法中直接回归了特征图锚点到定位框顶点的距离,但是受限于特征图感受野,对于长文本任意形状文本效果不佳。为了避免感受野范围导致的检测失败,改变回归目标的方法被广泛使用,有回归锚点到边界的距离的方法[21-22],也有回归锚点到贝塞尔曲线控制点的方法[23]。目前,直接回归法的主要研究路线是针对长文本曲线文本等提高检测精度。此外,针对长文本检测采用迭代修正提升检测精度[24],引入隐式锚点机制提升准确率[25]。
上述直接回归法为了解决长文本检测的问题提出了各种方法,可以看出一个发展趋势为改进回归目标。其中,回归到最近边界距离的方法对小文本,长文本两端的检测效果不理想[21],并且需要复杂的标签生成过程和后处理过程[22],回归曲线控制点[23]的方式对于控制点的坐标非常敏感,在文本密集、重叠等情况下曲线变形明显。除此之外,还有通过注意力机制提升感受野,提高长文本检测的方法。
间接回归方式因为引入了anchor,使得整体框架复杂,需要针对场景文字重新设计anchor,但其准确率比直接回归的方法高。直接回归的方法整体流程简单,但是受限于特征图每个点的感受野,无法对长文本进行检测,需要针对长文本进行额外的处理。两种方法的优缺点如表1所示。
表1 间接回归和直接回归的优缺点对比
1.1.2 自底向上方法
自底向上方法思路来源于传统方法的连通区域,该方法将字符或者文本区域作为检测目标,使用通用目标检测框架(Faster R-CNN、YOLO、SSD等)等进行检测,最后通过后处理合成文本行。自底向上方法可分为文本区域检测和字符级检测方法。
(1)文本区域检测方法
文本区域检测方式是首先采用通用目标检测框架检测出部分文本行,再采用后处理的方式,得到完整文本行,避免直接回归长文本。Tian 等人[26]首次提出了Connection Text Proposal Network(CTPN)文本区域检测方法,但该方法后处理算法只能用于水平文本检测。文本区域检测方法如图3所示。
图3 文本区域检测方法流程图
文本区域检测法的主要研究方向为设计合适的后处理算法来适应场景文本。针对多方向的场景文字和密集文本检测,提出了利用网络学习检测到的文本区域间连接关系进行后处理的片段连接(Seglink)法[27]和采用最小生成树算法生成检测框,并已经公开了商品密集文本数据集(DAST1500)的seglink++法[28]。此外,针对文本字符间距过远,采用了图神经网络对检出的文本区域进行聚类[29]。
对于文本区域检测方法,最大的问题就是预处理和后处理的过程十分复杂,并且针对不同的应用场景,需要不同的后处理方法。但文本区域检测法可以针对文本字符间距过大等特殊情况进行检测。
(2)字符级检测方法
字符级检测方法是将文本行的最小组成单位字符作为检测目标,有着文本区域检测方法的优势,并且可以更好地检测不规则文本和变形文本,但字符级检测的方法需要解决数据集不足的问题,检测过程如图4所示。
图4 字符级检测流程图
字符检测方法的主要研究方向是设计合适的弱监督训练方法解决训练数据不足的问题,而将弱监督的检测结果判定为正并且用于训练的标准各不相同,有采用基于字符数据集的预训练模型检测文本行标注的数据集,将置信度高的结果作为正样本加入训练[30],以及在此基础上利用文本行短边固定的先验知识修正预测框提高精度[31],也有将单个文本实例检出字符数与标注字符数相同的视为正确结果用于训练[32]。此外,随着技术的发展,采用字符聚类的后处理[31]和将识别问题转化为字符分类问题[32],实现了任意形状文本检测并为场景文字识别提供了新思路。
文本区域检测方法对与背景具有相同模式的文字检测可能会失败,并且对于变形文本检测效果一般,但是其训练标签很容易得到。字符检测的方法由于数据集稀少,训练过程复杂,但由于字符是文本组成的最小单位,因此可以根据不同的后处理实现任意形状文本检测。两者优缺点如表2所示。
表2 文本区域检测和字符检测优缺点对比
自顶向下检测方法的优点是框架简单,训练过程相对简单,不需要复杂的后处理、标签生成过程,但是受限于anchor或者感受野,无法直接实现小文本或长宽比例很大的文本行的检测。自底向上的方法优点为不需要考虑文本行比例,缺点是后处理过程复杂。随着自顶向下方法对于长文本检测的不断优化,自底向上方法目前更偏向解决一些复杂问题,如招牌文本检测,自底向上方法中的字符检测则可以将文本识别转换为字符分类任务,拓展了场景文字识别的思路。
基于分割的检测方法是通过网络检测得到文本区域分割图,然后采用后处理得到文本框。由于目前文字数据集通常采用文本行形式标注,采用分割检测方法将导致训练时字符间的无关像素也被标注为字符,导致分割结果中出现相邻文本行粘连。检测过程如图5 所示。因此,基于分割方法优点是其分割结果包含了文本的方向、位置、长度等信息,不需要额外考虑长文本、变形文本的特性,但其分割初始结果容易粘连。
图5 基于分割的检测方法流程以及效果
近年来,文本行粘连的解决方案有:
(1)文本中心标注,是指通过缩小文本行的方式使得相邻文本行远离,利用文本中心的信息区分相邻文本实例,最后在分割的结果上进行扩展得到最终文本行的方法,包括通过将文本行中心固定高度的区域视为文本中心并采用高斯分布标注[33-34],区分多种不同尺度的中心文本行[35],以及在此基础上通过嵌入形状感知提高对长文本检测精度[36]。
(2)自定义像素间关系,是指在网络输出分割结果时,同时输出像素间自定义的某种关系,利用该关系对分割结果进行后处理,可以通过在输出文本区域的同时为每个像素学习一个与周围八个像素的连接关系,最后采用最小面积矩形生成文本框[37]或是为相邻文本行边缘像素学习一个排斥关系用于指导后处理[38]。此外,采用可学习的像素聚合网络[39](PAN)和可微分二值化操作[40](DB)应用于分割网络中,实现了对重叠文字的检测和在分割图上自适应的阈值以简化后处理。
(3)半监督地扩充字符级别的训练样本。Baek 等人[5]提出字符级文本分割方法,该方法首先采用半监督学习扩充字符级,之后采用字符分割的方式解决无关像素带来的边缘问题,并且同时学习了一个字符间的亲密程度来实现字符的连接。
以上三种方法中,自定义像素之间关系成为了近两年的主流,该方法不同于文本区域中心标注,充分挖掘了不同区域像素之间的关系,为后处理提供了可靠的指导。但是该方法需要复杂的标签生成过程以及相应的后处理,总体流程复杂,并且依赖于自定义关系的可靠性。
文本中心标注的方式提出最早,该方法虽然有着无法充分利用边缘文本信息的问题,但是可以使得相邻文本很明显地区分开来,从目前研究来看,该方法仍然是分割检测方法的研究热点,并且广泛应用于各类基于分割的文本检测算法中,和自定义像素关系的方法并不冲突。
字符级别的分割出发点与另外两种不相同,该方法将文本行视为由字符组成的,通过字符分割避免了训练过程中引入字符间无关像素的问题,和基于检测的方法思路类似,从另一种角度解决了粘连。
基于回归的方法存在着感受野无法覆盖大文本的问题,而基于分割的方法则可以对全体文本做大致的分割,因此,研究者根据回归和分割方法的特点,提出了两者混合的方法,既解决了感受野的问题,又解决了分割边缘不准确的问题。
混合方法的主要研究方向为如何有效结合检测和分割,以及检测和分割本身的研究方向。目前多数方法采用类似Mask R-CNN的先检测后分割的流程,包括通过采用高斯分布填充分割标签的金字塔掩模网络[41]和在骨干网络中加入了inception 模块以及可变形卷积提升任意方向文字检测效果[42];也可以在检测过程中通过设计自适应的区域建议网络产生候选区域,在分割过程中对文本的水平和竖直方向的轮廓进行分割,最后融合得到精准的预测结果来提升检测分支性能提高最终效果[43];而针对场景文字的特点,提出了对分割分支进行顺序无关包围框分解的方法,在Mask R-CNN的基础上新增用于检测文本关键边的模块,提升了长文本检测效果[44];此外,通过同时进行角点检测和语义分割,将分割作为检测结果的评价指标,利用语义分割的结果为每个检测框打分来得到结果,通过剔除分割分数过低的检测结果提升了检测准确率[19]。
综上所述,回归分割混合检测方法的研究主要关注在回归分支和检测分支的融合,上面提到的大多数方法将分割分支作为检测结果的修正手段。因此,基于分割回归混合方法优点是可有效地融合前两种方法的优点,实现更好的检测效果,但也导致网络框架更复杂。
综上所述,基于间接回归方法的改进主要通过改变检测方向产生自适应任意形状文本行的anchor,以及简化模型等。基于直接回归方法的改进是通过融入注意力或者改变回归目标等方式提升直接回归法对长文本的检测效果。因此,基于回归的方法一般通过改变通用目标检测模型使得适合场景文本检测,其发展趋势与通用目标检测相同。基于分割的方法的研究主要通过设计合理的后处理算法解决分割文本的粘连问题,其研究方向主要关注在提取更好的像素间关系,以及简化后处理流程等。基于回归分割混合方法有效地结合了两者优点,主要思路有:(1)采用通用检测框架进行检测,并在检测基础上进行文字分割;(2)也有将分割信息作为评价指标筛选检测结果,提高检测准确率的。
目前,常用的场景文本检测算法的性能评价指标包括:检测速度(帧/s)、准确率(P)、召回率(R)和综合评价指标(F)。
(1)检测准确率(P)
检测准确率是统计场景文字图像通过网络框架检测后,正确预测文本框数与总预测文本框比值,计算公式如式(1)所示:
其中,TP为网络输出的正确预测数,FP为错误预测数。正确预测与错误预测的判定过程是假设网络对于一张图像的检测结果为{(bi,pi)},其中bi为预测的包围框,pi为置信度,i为索引,那么第i个预测在满足以下条件时为真:
①pi>α,其中α为置信度阈值,一般为0.7。
即第i个预测在置信度大于置信度阈值且与任意标注框IOU值大于IOU阈值的情况下为真,否则为假。
(2)召回率(R)
召回率是网络输出的正样本个数与标注正样本个数的比值,又称查全率,计算公式如式(2)所示:
表3 常用数据集介绍与下载方式
其中,FN为网络未能检测到的正样本,TP+FN为所有标注的真实样本。
(3)综合评价指标(F)
综合评价指标是准确率P和召回率R的调和平均,计算公式如式(3)所示:
其中,P是准确率,R是召回率。
目前,场景文字检测领域有着若干公开数据集,常用数据集如表3所示。
本文对近5 年(2016—2020 年)来深度学习场景文字检测的主流方法进行了梳理、分类、归纳,以及分析、评述了各类方法的优缺点。基于以上基础,提出了未来场景文字检测领域的研究趋势:
(1)对准确度与速度的权衡
随着场景文字检测的广泛应用,单纯地提升检测准确度已经不再是唯一的研究目的,实时检测将会是场景文字检测研究的另一个目标,因此,通过模型剪枝,框架优化得到一个速度、准确度都很好的模型将是学术界和工业界都关注的热点问题。
(2)对长文本的检测
自底向上方法对于长文本的检测取决于相应的后处理算法,目前该方法更倾向于解决复杂问题,如招牌识别这种字符间距大的场景,采用图神经网络充分挖掘文本区域或字符间的关系是一个发展趋势。而自顶向下方法则倾向于检测流程的简化,在检测长文本的同时提升对于小文本任意形状文本的检测效果是发展趋势。
(3)对多样性、有损场景文字的检测定位
由于场景文字的方向、形状、字体、字号等呈多样性,多样性场景文字检测将依然是场景文字检测研究的重点。低对比度、强光晕、模糊、遮挡等有损现象是场景文字图像中的常见状况,但还没有研究者开展以上方面的场景文字检测工作,有损场景文字的检测定位研究几乎是一片空白,也缺少相应数据集支撑,因此,有损场景文字的检测定位研究将是下个待解决的难点,在此方面,超分辨率重构是一个可行的研究方向。
(4)对检测网络模型的泛化
目前,研究者基本上是以公开数据集或特定领域(如车牌识别、拍照翻译等)为基础开展场景文字检测研究。数据集的不完整性,将会影响检测网络模型的泛化,导致模型的局限性,在此方向上,可以采用迁移学习进行模型的迁移。
(5)多语种文本检测
目前,大多数场景文字检测数据集都是单一语种(或少量语种),检测方法更多地研究单一语种的检测问题,但随着国际化发展以及地球村合作,多语种场景文字数据集的建设与检测将是未来的研究重点与热点。