Character Region Awareness for Text Detection
KeyWords Plus: CVPR2019 Curved Text
paper:https://arxiv.org/abs/1904.01941
reference: Baek Y, Lee B, Han D, et al. Character Region Awareness for Text Detection[J]. arXiv preprint arXiv:1904.01941, 2019.
NAVER:line的母公司,韩国的最大的互联网公司,字符级别的文字检测,采用了CAM热力图的操作去检测每一个字符。
Github: 未开源
Introduction
字符级别的文本检测网络,用分水岭算法生成label,采用heatmaps去得到激活值最大的目标区域,有点类似attention。
1、论文创新点
- 提出了一种字符级别的文本检测算法;
- 预测得到:1.The character region score 2. Affinity score. The region score is used to localize individual characters in the image, and the affinity score is used to group each character into a single instance.
- Propose a weakly-supervised learning framework that estimates character-level groundtruths in existing real word-level datasets.
2、算法主体
该论文主要预测每个字符区域和字符之间的紧密程度,因为没有字符级别的标注,所以模型训练是在弱监督的方式下。网络的backbone采用VGG16,之后接上采样,最终输出两个通道:the region score and the affinity score。
训练在弱监督学习的方式下,首先有人造合成的数据集,具有字符级别的label;然后real image没有字符级别的标注时,网络检测合成产生label再进行训练。如上图所示,对真实场景中的数据集和人造合成的数据集分别有不同的训练方式。
3、label generation
分别产生Region Score GT和Affinity Score GT。
The following steps to approximate and generate the ground truth for both the region score and the affinity score:
1) prepare a 2-dimensional isotropic Gaussian map;
2) compute perspective transform between the Gaussian map region and each character box;
3) warp Gaussian map to the box area.
使用小感受野也能预测大文本和长文本,只需要关注字符级别的内容而不需要关注整个文本实例。
分三步产生字符级别的label:
- 抠出文本级别的内容;
- 预测region score区域;
- 运用分水岭算法;
- 得到字符基本的文字框;
- 贴上文字框;
为了防止在弱监督方式下产生的错误label带偏网络,该论文提出了一种评价方式:
4、Post-processing
规则文本后处理可以分为以下几步:
- 首先对0-1之间的概率图进行取阈值计算;
- 使用 Connected Component Labeling(CCL) 进行区域连接;
- 最后使用 OpenCV 的 MinAreaRect 框出最小的四边形区域。
不规则文本检测后处理可以分为以下几步(如上图所示):
- 先找到扫描方向的局部最大值(blue line);
- 连接所有the local maxima上的中心点叫做中心线;
- 然后将the local maxima lines旋转至于中心线垂直
- the local maxima lines上的端点是文本控制点的候选点,为了能更好的覆盖文本,将文本最外端的两个控制点分别向外移动the local maxima lines的半径长度最为最终的控制点。
5、Experiment Results
6、Conclusion and Future work
个人观点:不太受感受野的限制,只关注单个文字,对于长文本和不规则文本不必特意去设置相应大小的卷积提升感受野。