文本检测算法:CRAFT(CVPR2019)

CRAFT是一种新型的文本检测算法,通过检测每个字符及其相互关系来提高文本区域检测的灵活性。它使用弱监督学习在缺乏字符级标注的数据集上训练,并在多个基准数据集上取得SOTA性能。网络结构基于VGG-16的全卷积网络,通过生成GT和分水岭算法处理复杂的文本实例。实验表明,CRAFT在多尺度、多语言和弯曲文本检测上表现出色,无需额外微调即可泛化到不同数据集。
摘要由CSDN通过智能技术生成

多种文本检测算法性能对比及算法介绍
(https://blog.csdn.net/qq_39707285/article/details/108754444)


1. 关键点

先前的文本检测算法通常使用刚性单词级别的训练集去训练模型,导致这类算法在检测任意形状文本区域方面存在局限性。

本文设计了一种新的文本检测算法,通过检测每个字符和字符之间的联系来有效地检测文本区域。由于目前的文本检测数据集大多都是基于单词级别的,很少有基于字符级别的标注,为解决这个问题,本文使用合成数据生成字符级别的标注,并且训练过渡模型估计真实图像的字符级标注。

在6个基准数据集上进行了测试,都取得了SOTA(state-of-the-art),根据测试结果发现,该算法在处理复杂的场景文本(如任意方向的、弯曲的或变形的文本)时,能够保证高度的灵活性。


2. 算法

该算法的主要目标是在自然图像中精确地定位每个字符。通过训练一个深层神经网络来预测字符区域和字符之间的关系, 由于没有可用的公共字符级数据集,所以模型是以弱监督的方式训练的。

2.1 网络结构

在这里插入图片描述
采用基于VGG-16的全卷积网络结构,使用BN,为了聚集低层特征,在解码的部分使用跳层连接(类似于U-Net),最终输出两个分数图,region scoreaffinity score,具体结构如图2所示。

2.2 训练

2.2.1 生成GT

对于每张训练的图片,都需要生成字符级别的region scoreaffinity score标签,region score标签表示给定的像素是字符的中心点的概率,affinity score标签表示相邻字符之间空间的中心概率。

与其他分割算法不同的时,标签不是二值化的,而是用高斯热图编码的字符中心的概率。 这种热图在其他应用中也有使用,例如用在姿态估计中,因为它在处理不是刚性有界的GT区域时具有很高的灵活性。
在这里插入图片描述
图3介绍了合成图像的标签生成过程, 直接计算边界框内每个像素的高斯分布值是非常耗时的,由于图像上的字符包围框通常通过透视投影被扭曲,所以使用以下步骤来生成region scoreaffinity score的标签:

  1. 准备二维各向同性高斯图
  2. 计算高斯映射区域和每个字符box之间的透视变换
  3. 扭曲高斯图到box区域

这种生成GT的方式,即使使用小的接收域,也使模型能够检测大的或长的文本实例。

2.2.2 弱监督学习

在这里插入图片描述
和合成的数据集不同的是,大多数数据集都是基于单词级别标注的,所以设计了一个弱监督学习的中间模型,把单词级别的box变成字符级别的box,称之为伪标签,具体如图4所示。为了反映中间模型预测的可靠性,每个单词box上的置信度值按检测到的字符数除以真实字符数的值计算,作为训练时的学习权重。
在这里插入图片描述
图6是完整的字符级别标注的生成过程:

  1. 从原始图片中裁剪出标注框
  2. 用最新训练的模型预测区域得分
  3. 用分水岭算法分割字符区域
  4. 使用裁剪步骤的逆变换将字符box的坐标转换回原始图像坐标

最后region scoreaffinity score的伪标签使用图3的方式生成。

对于单词级别标注的训练数据中的样本 w w w,用 R ( w ) R(w) R(w)表示BB(bounding box),用 l ( w ) l(w) l(w)表示该单词的长度,通过字符分割程序,可以得到字符BB和其对应的长度 l c ( w ) l^c(w) lc(w),则样本 w w w的置信度 s c o n f w s_{conf}{w} sconfw计算方式为:
在这里插入图片描述
则该图片的像素级别的置信度map S c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值