近日 Mask TextSpotter v3 发布,代码已开源,论文 Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting 详细介绍了其要解决的问题、使用的方案和达到的性能,此次更新依然带来惊喜,在多个数据集上大幅刷新了SOTA!
该文作者信息:
作者来自华中科技大学和 Facebook AI。
文中称 Mask TextSpotter v3 在 ICDAR 2013 数据集上提升了 21.9个百分点,在Total-Text 数据集上提升了5.9个百分点,在MSRA-TD500 数据集上也达到了SOTA,证明该算法具有强大的应对文本旋转、形状多变和极端纵横比的鲁棒性。
要解决的问题
如下图:
之前的端到端文本识别模型使用包围文本的矩形框作为Proposals,在应对旋转、形状任意和极端纵横比的文本时存在明显的缺陷。图中(a)内部的Proposals对应的特征包含邻接文本的特征,不能很好的识别文本。
而Mask TextSpotter v3使用一种称之为分割候选网络( Segmentation Proposal Network )生成多边形Proposals,并在此Proposals基础上计算hard ROI 特征,更好的表征了文本区域,可以取得更好的识别结果。
Mask TextSpotter v3 的关键是如何得到包围文本的多边形Proposals(通过分割的思想),和硬加权的hard ROI 特征,作者的实验证明去除干扰的hard ROI 特征可大幅提高识别精度。
Mask TextSpotter v3整体流程
如下图:
Mask TextSpotter v3 使用U-Net结构提取分割的特征,同FPN不同,v3 直接将不同的尺度特征融合成特征 F,使用 F 做文本区域的预测,对预测得到的在(0,1)之间的连续值结果,使用DB(Real-time scene text detection with differentiable binarization,AAAI 2020)二值化得到多个文本区域,然后将连通的区域作为一个文本实例的收缩(这里是关键!),对其进行一定系数的膨胀操作,即得到了文本Proposal。
得到文本区域 Proposal 后,仅含有0和1元素的二值多边形mask矩阵与特征按元素相乘,得到Hard ROI masking 特征。此处名中的Hard(硬)因为这里是仅含有0与1的二值加权,ROI masking 操作按照多边形 mask 将特征在表示对应区域上“提精”了。
到这里既找到了文本区域,又有了每个文本区域对应的特征,作者按照Mask TextSpotter v2 的流程进行识别,使用Fast R-CNN算法,字符分割模块和空间注意力模型都被用于识别。
在训练的时候,要制作分割标签,下图为标签生成示意图:
Mask TextSpotter v3 针对 v2 中的 Proposal 的产生进行了改进,并利用Hard ROI masking 提精了文本实例对应的ROI特征,可以在文本检测的三大难题(旋转、形状任意、极端纵横比)中得到更好的结果。
实验结果
作者在多个数据集上进行了实验,以下为在三个数据集上识别结果可视化:
应对旋转,比v2更好:
应对极端纵横比,比v2更好:
应对形状任意文本,比v2更好:
以下为在ROIC13数据集上在检测任务和端到端识别任务中的结果比较,大幅超越之前的SOTA:
以下为在MSRA-TD500数据集上在检测任务中的结果:
在Total-Text 数据集上端到端识别结果:
应对小实例文本数据集,在IC15上的结果比较,v3 取得了三个最好结果:
总结与思考
Mask TextSpotter v3 在端到端文本识别任务中实现了更高的精度,得益于从分割中获得文本多边形区域表示和Hard ROI masking 特征提精方法。
值得一提的是, v3 基于 v2 和可微分二值化方法 DB 等,这些研究都出自华科白翔老师组,体现出作者们对问题的"系统性"思考而产生的不断的技术创新。
论文地址:
https://arxiv.org/abs/2007.09482
代码地址:
https://github.com/MhLiao/MaskTextSpotterV3
在我爱计算机视觉公众号后台回复“MaskTS”,即可收到论文和代码下载。