3.1.2 基于分割的场景文本检测方法
基于分割的自然场景文本检测方法主要是借鉴传统的文本检测方法的思想,先通过卷积神经网络检测出基本的文本组件,然后通过一些后处理的方式将文本组件聚集成一个完整的文本实例。此类方法可以进一步划分为像素级别的方法(基于分割的方法)和文本片段级别的方法。
1)像素级别的基于分割的方法。
像素级别的文本检测方法通常借鉴物体语义分割和实例分割的思想,利用全卷积神经网络(fully convolution network,FCN)(Long 等人,2015)对图像中的每个像素点进行文本和非文本分类,从而得到文本区域掩码图(Mask)。然后通过一些像素聚合的后处理方式将属于同一文本的文本像素点聚合在一起得到最后的文本实例边界框。
上述部分自顶向下的方法虽然也借鉴了分割的思路,但同时也结合了整个文本边界框的回归,而像素级别的基于分割的方法则完全依靠像素级别的分类和后处理得到文本检测的结果。这类方法可以比较轻松地描述任意形状的文本,但后处理会比较复杂,而且对密集型文本做文本区域的掩码图预测时容易发生重叠,不容易将不同文本实例分开。
针对此问题,许多学者都提出了不同的解决方案。Zhang 等人(2016)的工作首次将文本像素分类预测用于自然场景文本检测任务当中,该方法首先通过一个FCN 预测得到文本区域的分割显著图。然后利用MSER 检测算子在文本区域内提取候选字符。最后通过字符投影的一些后处理方法连接字符区域生成文本行检测结果。
Yao 等人(2016)利用FCN 同时预测文本行区域、单字符区域以及字符连接方向,对在同一个文本区域的字符构建一个图,利用字符之间的位置和方向的相似度把图划分成若干子图,每个子图都对应着一个文本实例。He 等人(2016c)级联了两个FCN,第1 个FCN 预测整个文本粗略的显著图,第2 个FCN 则是预测文本的中心区域以区分不同的文本。这种从粗糙到精细的分割方式对于不同尺度和分布的文本检测都会有比较好的泛化性能。
同样为避免文本黏连,Wu 和Natarajan(2017)提出了文本边界学习(border learning),除了文本和非文本的像素分类之外,还预测了文本的边界区域。Zhu 和Du(2021)提出的TextMountain也是为了解决类似的问题,他预测文本中心到边界像素点的概率分布而不是单纯地对文本区域和非文本区域做二分类。Deng 等人(2018) 提出的Pixel-Link 则是预测像素点与相邻的8 个像素点之间的连接关系(若两个像素点都属于同一文本区域,则两者判定为连接关系),基于这样的信息可以有效组合属于同一文本的像素点。
Xu 等人(2019)考虑到相邻的属于不同文本的像素在各自文本实例中的相对位置不同提出了TextField,利用这样的方向场(direct field)去预测2 维的相对位置向量,根据方向有效区分邻近的像素点从而抑制文本粘连。同样是考虑到中心区域能比较好地划分不同文本这一思想,Wang等人(2019f)提出了一种对文本实例实现多级预测的渐进式尺度扩张网络(progressive scale expansion network, PSENet)。
先利用FCN 对每个文本实例进行像素级别分类以及对多个不同尺度的文本中心区域(文本核)进行预测,然后通过渐进性尺度扩张算法得到文本实例分割的结果。但是PSENet 的后处理很复杂,模型的前向预测效率比较低,于是作者又提出了像素聚集网络( pixel aggregation network, PAN)(Wang 等人,2019g)。PAN 设计了一个轻量化的特征提取和融合网络,除了预测文本区域和文本核外,还预测一个像素相似向量,根据向量预测结果引导文本像素聚合到正确的文本核以得到不同文本实例检测结果。所以这个后处理方式是可学习的,检测效率也远高于PSENet。
此外,Tian 等人(2019)的工作也是类似的思想,都是对每个像素点学习一个嵌入式相似向量,属于同一文本的向量会尽可能接近,反之远离,通过这样的方式分离不同的文本实例。类似地,考虑到基于像素分类的方法其复杂的后处理影响检测效率的问题,Liao 等人(2020b)提出了可微分二值化(differentiable binarization,DB)的方法,结构如图6所示。常规的基于像素分类的检测方法通常使用固定阈值对分割图进行二值化处理,而DB 则是将二值化操作嵌入网络,除了学习文本区域的显著图之外,还会预测对应的阈值图,通过两者结合生成最后的结果,大大提高了后处理的效率和模型前向推理速
2)文本片段级别的基于分割的方法。
文本片段级别定义为字符或者文本的一部分,这类文本检测方法通常是利用目标检测算法从图像中检测出这样的文本片段。然后根据特征相似性,通过一些后处理算法把检测出的文本片段拼接成完整的文本实例。因此,如何鲁棒地把文本片段拼接成文本实例是这一类方法的难点。
Tian 等人(2016)提出了文本区域连接网络(connectionist text proposal network,CTPN),它借鉴了RPN 的思想,首先提取文本片段级别的候选区域,然后通过后处理的方法将这些候选区域拼接成一个完整的文本实例。该方法最大的特点在于,在特征提取的时候加入了双向长短期记忆网络(Bi-LSTM)(bidirectional long short term memory network) (Graves 和Schmidhuber,2005) 进行序列建模,这能有效解决长文本检测的问题,但CTPN只能检测水平方向的文本。
Shi 等人(2017b)借鉴了CTPN 的思想,提出了可以实现任意方向自然场景文本检测的SegLink 算法,如图7 所示,它基于单阶段目标检测器SSD 对文本片段进行了检测,同时还预测了各片段之间的连接关系,根据这样的连接关系将文本片段组合成最后的文本实例。但是,该方法在面对密集型文本时,连接关系的预测可能会发生错误。于是,Tang 等人(2019)在SegLink 的基础上提出了SegLink 算法,它通过学习文本片段之间的互斥连接(repulsive link)对文本片段的连接关系进行分类,互斥连接的加入可以有效避免相邻文本实例的粘连。
这两个算法所谓的连接关系指的都是判断检测到的文本片段是否属于同一个文本例。Lyu 等人(2018a)则是提出了使用角点检测生成候选的四边形检测框,同时在整图级别进行逐像素分类得到文本的位置得分,随后两个结果相结合输出最后的文本检测结果。Liu 等人(2018f)提出的CENet(character embedding network)与上述PAN(Wang 等人,2019g)等方法思想类似,通过对每个字符学习一个嵌入式向量(character embedding),在训练过程中使在同一个文本实例内部的字符的嵌入式向量尽可能地接近,反之则尽可能地远离,通过这种方式可以把属于同一个文本实例的字符区域聚合在一起。
Hu 等人(2017)也是提出先检测单个字符区域,然后基于一些固定规则将这些字符拼接成任意方向的文本实例。常用的拼接规则有文本片段之间的水平和竖直方向距离以及尺度和方向的相似性等。由于单字符标注比较少而且标注成本也比较高,该方法第一次提出通过弱监督的方式得到自然场景文本单字符检测结果的算法WordSup。同样为了得到单字符的检测结果,Tian 等人(2017)提出的WeText 也是基于SSD 提出的一个弱监督的框架,得到了单字符检测结果之后和Hu 等人的方法一样通过规则进行拼接。
但该方法只能用于检测水平方向的文本,泛化性能比较差。Hu 等人(2017)提出的弱监督的算法也被Baek 等人(2019b)改进并应用到他们的CRAFT(character region awareness for text detection)算法中,它通过类似的方式得到单字符的标注,然后通过高斯分布建模学习单个字符的中心概率以及字符之间的连接关系(character affinity),再通过连接关系将各字符连接在一起获得文本行检测结果。
这个方法由于需要预测连接关系,所以会对单字符的检测有一定影响。对于文本片段是否属于同一文本实例的判断,Zhang 等人(2020c)提出DRR(deep relational reasoning graph network)通过图网络的方式进行预测,该方法首先检测文本片段,然后对这些片段构建局部图,通过深度关系推理网络得到它们的连接关系,并根据此关系连成各个文本实例。