searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

DBNet原理介绍

2024-06-26 09:44:35
1
0

一、算法介绍

本文提出了一种文本检测模型。该模型将二值化操作插入了分割模型进行共同优化。每个像素点的阈值可以被计算得到。然而,标准的二值化是不可微的,所以本文提出了一个近似计算可微二值化(Differentiable Binarization, DB)

本文主要贡献为提出的DB模块是可微的,因此二值化过程可以在CNN中进行端到端训练。与之前的基于分割的模型相比,本文有如下几个优势:

  1. 在五个基准数据集上有良好的表现,其中包括水平、多个方向、弯曲的文本。
  2. 比之前的方法要快很多,因为DB可以提供鲁棒的二值化图,从而大大简化了后处理过程。
  3. 使用轻量级的backbone(ResNet18)也有很好的表现。
  4. DB模块在推理过程中可以去除,因此不占用额外的内存和时间的消耗。

2. 详细过程

相关工作

文本检测技术可分为两类:基于回归的方法和基于分割的方法。

  • 基于回归的方法:直接回归文本实例的bounding box。

         优点:只要采用简单的后处理(如NMS);

         缺点:大多数难以预测不规则形状的准确边界,如曲线形状。

  • 基于分割的方法:使用像素级别的预测结果和后处理算法来获得bounding box。

模型结构

大多数的检测方法流程如蓝色箭头所示,首先用一个分割网络得到概率图,然后使用一个固定的阈值将概率图转化为二值图像,最后使用启发式算法像素聚类将像素组成文本实例。

DBNet的流程图(如上图中红色箭头所示)目的是将二值化操作插入到分割网络中进行联合优化,这样网络可以自适应的预测图像中每一个像素点的阈值(区别去传统方法的固定阈值),从而可完全区分前景和背景的像素。

二值化阈值由网络学习得到,彻底将二值化这一步骤加入到网络里一起训练,这样最终的输出图对于阈值就会具有非常强的鲁棒性,在简化了后处理的同时提高了文本检测的效果。

在训练过程中,对概率图(P)、阈值图(T)和近似二值图进行监督,其中概率图和近似而知图使用共同的监督。在推理过程中,使用近似二值图或者概率图,通过box形成模块的计算可以获得bounding box。

整个流程如下:

  1. 图像经过FPN网络结构,得到四个特征图,分别为1/4,1/8,1/16,1/32大小;
  2. 将四个特征图分别上采样为1/4大小,再concat,得到特征图F
  3. 由F得到 概率图(P) 和 阈值图 (T)
  4. 通过P、T计算(通过可微分二值化DB,下文介绍) approximate binary map( 近似二值图)

可微二值化

二值化:给定概率图P,二值化过程为

标准二值化公式是不可微的,因此不能通过训练进行优化。可微二值化公式如下:

k是放大系数,经验值为50。

微分推导:假设使用交叉熵损失函数,,其中,则正样本和负样本对应的损失为

导数有两个特性(1)被放大了k倍,(2)对于被错分的样本放大得更多。

 

可变形卷积

可以产生可变形的感受野,有利于处理具有大长宽比的文本实例。在所有conv3,conv4和conv5中使用3 x 3的卷积核中使用。

样本生成

给定一张文本图,每个文本区域的多边形可以表示为

其中,n是顶点个数。n的大小因数据集而异,如ICDAR 2015使用四个点,CTW 1500使用16个点。正样本区域通过Vatti clipping算法,将多边形G收缩成Gs。偏移量D可以通过周长L和面积A计算得到

r是偏移系数,经验值一般设为0.4。

 

损失函数

损失函数由三部分组成,概率图的损失Ls,二值化图的损失为Lb,阈值图的损失为Lt

Ls和Lb都采用二元交叉熵损失。

Lt使用L1范数的和进行计算。

 

 

0条评论
0 / 1000
王****鹏
4文章数
0粉丝数
王****鹏
4 文章 | 0 粉丝