论文解读系列二:AAAI2020 基于Differentiable Binarization分割方法的文字检测算法
摘要:当前由于文字检测的数据集变得更加具有挑战性,包含了各种任意形状的文字,基于分割的文字检测方法逐渐占据了主流。然而基于分割的方法往往要求复杂的网络结构和后处理,很难在速度和性能上做到平衡。本文提出了可微分的二值化模块,简化了基于分割方法的文字检测,在性能和速度上都获得了不错的效果。
基本思路:
基于分割的文字检测方法往往会基于上图中蓝色箭头线的流程,首先对全图进行分割,然后基于人工设置的阈值对分割结果进行二值化,最后经过后处理得到文字区域。而该文的出发点在于将二值化的过程融入到整个网络的训练过程中进行端到端的优化及简化后处理的过程。如上图红线所示,该文算法在训练时不仅会预测出分隔图,同时会预测出阈值图,然后由二者进行二值化得到二值化mask。
算法框架:
网络结构
首先前面的骨干网络采用了类似于FPN和U-Net的思路将不同尺度的特征图进行融合来让最终进行回归的特征图获得不同尺度的特征信息和感受野以处理不同尺寸大小的文字实例。接下来由骨干网络输出的特征图回归出一个分隔图(P)以及一个阈值图(T),然后由二者由可微分的二值化而得到二值化图,最后在推理阶段经过后处理得到文字区域。
可微分的二值化模块
在以往基于分割的文字检测方法中,对于网络输出的分割图都会采用预设的阈值进行二值化(1),而该文提出了可微分的二值化函数(2),将二值化过程嵌入到网络中实现了端到端的优化。
(1)和(2)的对比如图(a)所示,该文提出的(2)与(1)对比,实现了类似的功能,但是为可微分的,从而可以端到端的训练。
对(2)的梯度传导过程进行分析,设x为分隔图和阈值图上某个对应元素的值差,则正负样本的损失函数分别为(3),再分别进行求导可以得到(4)。
对正负样本的损失函数的梯度可视化如图(b)(c)所示,可以看到当K可以对其梯度进行修正,而当k较大时可以该梯度曲线可以对自适应的对样本进行权重筛选,如图(b)对于正样本而言,只有当网络预测是错误时梯度才会较大,而当被正确预测时梯度几乎为0,同理对于负样本的的梯度也是类似。这很大程度上解释了为什么将可微分的二值化模块加入到网络训练中会优化性能。
自适应阈值图
以往分隔方法采用手工设置的固定阈值,而该文采用网络预测的阈值图,而即使在没有加入监督信息时网络预测的阈值图往往如图所示,与文字区域的边界分隔图非常类似。
该文也对此进行了探讨,尝试了将文字的边界区域直接作为阈值图的监督信息来强化训练,分隔图(p)和阈值图(T)的标注生成过程如下,大致过程是将文字区域分别进行缩进和膨胀,缩进得到的区域作为分隔图和二者化图的标注,而膨胀和缩进区域之间的区域作为阈值图的标注。
加入阈值图的监督后对检测结果有了一定的提升。
损失函数
三项损失分别对应前文的分隔图、阈值图、二值化图的损失,其中分隔图和二值化图采用相同的损失函数二进制交叉熵损失函数。
而阈值图采用Lt距离损失函数。
结果
在常见主流数据集上都获得了不错的结果,尤其是在取得了不错的检测性能的同时检测速度能达到实时性的要求。
ICDAR15
MLT-2017
- 点赞
- 收藏
- 关注作者
评论(0)