Pyramid Mask Text Detector阅读笔记
2020.9.9
Pyramid Mask Text Detector
作者分析了先前以Mask-RCNN为基础的方法存在的问题,并在此基础上提出了改进办法并设计了PMTD。
问题分析
1.多数文本检测数据集采用矩形框坐标的形式标注文本所在位置,与Mask-RCNN中使用Mask来区分前后景区域的思想相悖。使用矩形标签训练并不能凸显Mask-RCNN的优势;
2.根据矩形坐标标签虽然也可以生成像素级的分割标签以用于训练Mask-RCNN类方法,但其中存在大量的假真区域,由于标签形状的限制,图中存在大量的非字符区域也被划分到了正样本集合中,而导致的结果必然是准确率降低;
3.Mask-RCNN使用的hard mask硬分割,导致文本区域检测不全,文本检测与目标检测的目的不同,目标检测的结果若与实际存在些许偏差,或许并不会影响下一步的分类或其他工作,但文本检测的误差会直接导致后续文本识别信息缺失。通俗的说,好比通过一个人的全身像和半身像,都可以对这个人的身份进行辨识,但是一句话缺了一半,我们很难判断其所表达的意思。
解决方法
-
采用金字塔式的Label:根据给定的矩形框坐标,确定矩形框中心点O,并设O点值为1。使用线性插值法对分割标签赋值,取值与其距O点距离成反比。
假设A、B、C、D为标签边界框四顶点,则根据四点坐标可得文本区域中心点O,设O点值为1,假设一点P位于区域内,则向量可以用、表示:
由于各点坐标已知,可通过计算得到和的值,则可得P点取值:
由此,可得文本区域的置信度由中心向四周逐渐递减,这么做的好处是在计算过程中即使把背景区域的像素点当作文本区域的一部分,该点置信度仍然趋近于0,削弱了错误标签在反向传播过程中对整个网络的负面影响。 -
根据生成的金字塔式标签进行平面聚类重新确定文本区域边界
初始正点集P由输出Mask经条件筛选所得,金字塔顶点是点集P的中心点,塔底边四顶点初始化为Mask四角,由此将点集P划分为四部分,根据划分的四部分点集初始化金字塔四个侧面,后重新计算个点分别到四个侧面的距离,并将各点重新分配到距离最近的侧面以更新重新划分四个集合的成员,重复上述更新侧面、更新集合成员的步骤,一直到迭代完成或各集合成员不再发生变化。则最终的文本区域就是金字塔最后的四条底边。
整体方案
在Mask-RCNN基础上加入了金字塔标签和平面聚类算法,首先输入图像经过RPN进行Region Proposal,根据推荐结果进行Soft Text Mask生成,然后进行平面聚类得到最后的文本区域边界。
注意:plane clustering这一步属于对神经网络输出结果的后处理,并不参与反向传播,在本论文中神经网络的最终目标是训练以后能够生成准确的Soft Text Mask。