Exploring the Capacity of Sequential-free Box Discretization Network for Omnidirectional Scene Text

article/2025/9/10 21:14:02

Paper : https://arxiv.org/abs/1912.09629v1

Code : https://tinyurl.com/sbdnet

SBD首先将四边形边框离散为几个关键边缘,其中包含所有可能的水平和垂直位置。为了解码准确的顶点位置,提出了一种简单而有效的匹配程序来重构四边形边界框。

基本思想是利用与标签序列无关的不变表示形式(例如,最小x,最小y,最大x,最大y,平均中心点和对角线的相交点)来反推边界框坐标。为了简化参数化,SBD首先查找所有包含顶点的离散水平和垂直边。 然后学习序列标记匹配类型以找出最佳拟合的四边形。 摆脱了训练目标的模糊性。

贡献

  1. 第一个根据四边形边界框的顺序解决文本检测歧义的方法,这对于实现良好的检测精度至关重要
  2. 方法的灵活性使其可以利用几个关键的改进,这些改进对于进一步提高准确性至关重要。 我们的方法在各种场景文本基准(包括ICDAR 2015 和MLT)上均达到了最先进的性能。 此外,我们的方法在最近的 ICDAR2019 Robust Reading Challenge on Reading Chinese Text on Signboard 中赢得了文本检测任务的冠军
  3. 方法经过有效的改进,也可以推广到航空图像中的船舶检测。 TIoU-Hmean的显着改进进一步证明了我们方法的鲁棒性。

Method

所提出的方法是基于 MaskR-CNN 的。

主要组成:Sequential-free Box Discretization(SBD) + Math-Type Learning(MTL) + Re-scoring and Post Processing(RPP)

在这里插入图片描述

无序列边框离散化 SBD

在这里插入图片描述

目的:SBD block 将四边形框离散为8个关键边缘(KEs)。这些关键边缘由有序无关点组成,即最小x( x m i n x_{min} xmin)和y( y m i n y_{min} ymin); 第二个最小的x( x 2 x_2 x2)和y( y 2 y_2 y2); 第二大x( x 3 x_3 x3)和y( y 3 y_3 y3); 以及最大x( x m a x x_{max} xmax)和y( y m a x y_{max} ymax)。 使用 x-KEs 和 y-KEs 分别表示 [ x m i n , x 2 , x 3 , x m a x ] [x_{min},x_2,x_3,x_{max}] [xminx2x3xmax] [ y m i n , y 2 , y 3 , y m a x ] [y_{min},y_2,y_3,y_{max}] [yminy2y3ymax]

原理: RoIAlign处理的 proposal 被送入SBD块,在该块中,特征图通过一系列卷积层; 然后再对这些特征进行2倍的上采样,并将来自反卷积的输出特征图 F o u t F_{out} Fout 限制为 M × M M×M M×M 大小。然后,使用两个具有4个通道的 1 × M 1×M 1×M M × 1 M×1 M×1 的卷积核来缩小水平和垂直特征分别为 x-KEs 和 y-KEs 。 最后,通过最小化 M M M 方向 SoftMax 输出上的交叉熵损失 L k e L_{ke} Lke 来训练SBD模型,其中,将真实值 KEs 的对应位置对应到每个输出通道。

由于RoI的限制,SBD不能直接学习 x-KEs 和 y-KEs。 原始的 Mask R-CNN 框架仅学习预测 RoI 区域内的目标对象,并且不能恢复 RoI 之外的对象部分丢失的像素。因此,为解决此问题,在训练时将 x-KEs 和 y-KEs 编码为 “half lines” 形式,x-KEs x i ∈ [ x m i n , x 2 , x 3 , x m a x ] x^i \in [x_{min},x_2,x_3,x_{max}] xi[xminx2x3xmax],y-KEs y i ∈ [ y m i n , y 2 , y 3 , y m a x ] y^i \in [y_{min},y_2,y_3,y_{max}] yi[yminy2y3ymax]
x h a l f i = x i + x m e a n 2 y h a l f i = y i + y m e a n 2 x_{half}^i = \frac{x^i + x_{mean}}{2} \\ y_{half}^i = \frac{y^i + y_{mean}}{2} xhalfi=2xi+xmeanyhalfi=2yi+ymean
其中, x m e a n , y m e a n x_{mean}, y_{mean} xmean,ymean 分别表示 x 轴和 y 轴的 gt 边界框的平均中心点的值。通过采用这样的训练策略,所提出的SBD块可以打破RoI的限制,即在大多数情况下,即使文本实例的边界位于RoIs之外,由于 x h a l f x_{half} xhalf y h a l f y_{half} yhalf 落入RoIs区域,文本实例的完整也可以得到保证。

与Mask R-CNN类似,检测器是在多任务方式下进行训练的。所以损失函数由四部分下组成:
L = L c l s + L b o x + L m a s k + L k e L = L_{cls} + L_{box} + L_{mask} + L_{ke} L=Lcls+Lbox+Lmask+Lke
L c l s , L b o x , L m a s k L_{cls}, L_{box}, L_{mask} Lcls,Lbox,Lmask 与 Mask RNN一样, L k e L_{ke} Lke 表示学习 关键边缘预测 任务的交叉熵损失。

匹配类型学习(MTL)

在这里插入图片描述

SBD只是学习了预测 8 条线的数值,但是忽视了怎么在 x-KEs 和 y-KEs 之间进行连接。所以提出了 MTL 从关键边重构四边形边界框。

目的: SBD输出得到 4 个 x-KEs 和 4 个 y-KEs,每个 x-KEs 应该匹配一个 y-KEs 构成一个角点,然后得到四个角点就是最终的边界框的顶点的预测。 构成的不同的角点会有不同的结果,总共有 A 4 4 = 24 A_4^4 = 24 A44=24 种可能。例如在下图中预测的匹配类型应该是 [ ( x m i n , y 3 ) , ( x 2 , y m a x ) , ( x m a x , y 2 ) , ( x 3 , y m i n ) ] [(x_{min}, y_3), (x_2, y_{max}), (x_{max}, y_2), (x_3, y_{min})] [(xmin,y3),(x2,ymax),(xmax,y2),(x3,ymin)] ,这就应该是最终的预测。

原理: 将SBD的两个生成 x-KEs 和 y-KEs 的特征图拼接在一起,通过 1x1 的卷积层后进行分类,24类分类任务。该方法中 MTL 头是通过最小化交叉熵损失来训练的。

在这里插入图片描述

重新评分和后处理(RPP)

检测器有时可以为错误正样本输出高置信度分数,为了抑制不合理的错误正样本,提出了 RPP。

在RPP中,首先基于8个KEs计算SBD得分 S S B D S_{SBD} SSBD
S S B D = 1 K ∑ k = 1 K max ⁡ v k f ( v k ) S_{SBD} = \frac{1}{K} \sum_{k=1}^K \max_{v^k} f(v^k) SSBD=K1k=1Kvkmaxf(vk)
其中 K = 8 K = 8 K=8 是 KEs 的数量。尽管在大多数情况下, S S B D S_{SBD} SSBD 的分布显示出一个单峰模式,但峰值仍显着低于1。因此,我们对每个关键边缘分数的4个相邻分数求和,以使其接近峰值,以避免置信度过低 。 假设 v k v_k vk 是第 k k k 个关键边的输出得分矢量,则函数 f ( v k ) f(v^k) f(vk) 定义为峰值 v i v_i vi 及其邻居的和:
v k = [ v 1 , v 2 , … , v i − 2 , v i − 1 , v i , v i + 1 , v i + 2 ⏟ f ( v k ) = ∑ p = m a x ( i − 2 , 1 ) P = m i n ( n , n + 2 ) ( v p ) , … , v n ] v^k = [v_1, v_2, \dots, \underbrace{v_{i-2}, v_{i-1}, v_i, v_{i+1}, v_{i+2}}_{f(v^k) = \sum_{p=max(i-2,1)}^{P=min(n,n+2)}(v_p)}, \dots,v_n] vk=[v1,v2,,f(vk)=p=max(i2,1)P=min(n,n+2)(vp) vi2,vi1,vi,vi+1,vi+2,,vn]
应当注意,如果峰值位于向量的头部或尾部,则相邻值的数量将小于4,因此在这种情况下,仅存在的邻居会被计数。 最后,可以通过以下方法获得精确的置信度:
s c o r e ( R ) = ( 2 − γ ) S b o x + γ S S B D 2 score(\mathfrak{R}) = \frac{(2-\gamma)S_{box} + \gamma S_{SBD}}{2} score(R)=2(2γ)Sbox+γSSBD
其中 0 ≤ γ ≤ 2 0 \leq \gamma \leq 2 0γ2 S b o x S_{box} Sbox 是bbox的原始 Softmax置信度。通过将 S S B D S_{SBD} SSBD 计入最终分数,它可以根据 8 个KEs的得分进行调整。

总结

SBD通过将点式预测分解为无序的关键边,解决了标签不一致的问题;使用 MLT 解码准确的顶点位置。

与一些基于分割的方法利用分割掩模直接重构边界框相比,MTL块可以学习几何约束,避免分割输出不准确造成的误报,这也减少了对分割任务的严重依赖性。

由于本文方法使用的四条横线和四条竖线的四个交点获得最终的边界框的顶点,所以只能检测旋转矩形,不能检测多边形以及任意形状的文本。


http://chatgpt.dhexx.cn/article/d4RD8HfT.shtml

相关文章

文本检测模型综述

之前做车牌检测使用文本检测模型,如east、ctpn和textboxes,但是效果不是很好,需要针对车牌专门训练。后面就采用ssd和yolo进行车牌的检测,但是车牌有时是旋转的,使用ssd和yolo模型无法对车牌的四个点进行精确定位&…

OCR系列——文本检测任务

1. 简介 文本检测任务是找出图像或视频中的文字位置。不同于目标检测任务,目标检测不仅要解决定位问题,还要解决目标分类问题。 目标检测和文本检测同属于“定位”问题。但是文本检测无需对目标分类,并且文本形状复杂多样。 当前所说的文本…

文本检测(Text Detection)简要综述

文章目录 检测(Detection)在计算机视觉中的位置检测任务经典数据集评价指标发展历史什么叫Anchor检测架构RPNFPN(特征金字塔网络) 几个文本检测的较新方法FOTS(【2018CVPR】Fast Oriented Text Spotting with a Unified Network)TextSnake(【2018ECCV】 TextSnake: A Flexible …

思维导图——线性代数知识点总结

线性代数知识点总结 期末,总结了线性代数的相关知识点。

线性代数知识点总结,基础概念和计算整理(手写版)

线性代数中一定必须要掌握的基础概念和计算的整理,简单易懂,适合入门和复习。

线性代数基础知识点回顾与总结(一):行列式与矩阵

线性代数基础知识点回顾与总结(一):行列式与矩阵 介绍 骨骼图 1.行列式 排列: 1,2,,n组成的有序数组称为n阶排列。 逆序:大数排在小数前。自然排列为偶排列。 n阶行列式的值等于不同行的n…

线性代数-行列式知识总结

1、知识脉络如图 2、二阶与三阶行列式 (1)定义略 (2)二阶行列式与三阶行列式的计算“对角线法则”,三阶可降为二阶(方便计算) 如图 注意符号 (3)行列式线性方程组的关系 …

深度学习涉及到的线性代数知识点总结(二)

文章目录 一、余弦相似度和欧式距离的关系二、相关性三、基四、线性变换五、仿射变换六、矩阵特征方程七、相似矩阵八、奇异值分解九、谱范数 一、余弦相似度和欧式距离的关系 如果对向量模长进行归一化,欧式距离和余弦相似度有如下计算关系: ● 适用场…

线性代数矩阵知识点

文章目录 (一),矩阵的基本概念1,矩阵的定义 (二),矩阵的运算1,矩阵的加减法2,数与矩阵的乘法3,矩阵的乘法4,矩阵的转置5,方阵的行列式…

线性代数知识图谱

1. 线性代数知识图谱 线性代数是代数学的一个分支,主要处理线性关系问题。线性关系意即数学对象之间的关系是以一次形式来表达的。例如,在解析几何里,平面上直线的方程是二元一次方程;空间平面的方程是三元一次方程,而…

基础线性代数知识点总结与回顾(二):秩与线性相关

基础线性代数知识点总结与回顾(二):秩与线性相关 骨骼图 秩 矩阵的秩: 若矩阵的r阶子式不为0,r1阶子式全为0,则称矩阵的秩为r。 定理:经过初等变换,矩阵的秩不变。 推论 秩的…

大一线性代数知识点总结

行列式和矩阵的加法和乘法的比较 伴随矩阵的一些性质 以下是全部知识点总结 线性方程组的系数行列式为零时,不能用克拉默法则解方程组,因为此时方程组的解为无解或有无穷多个解。 克拉默法则解线性方程组的两个条件: 方程个数等于未知量个数…

线性代数知识总结梳理

目录 1.行列式计算 2.矩阵 3.向量与方程组 4.特征值 5.二次型 1.行列式计算 2.矩阵 3.向量与方程组 4.特征值 5.二次型

基础线性代数知识点总结与回顾(三):向量空间和二次型

基础线性代数知识点总结与回顾(三):向量空间和二次型 骨骼图: 向量空间 对加法、数乘封闭。 W——n维向量的非空集合,且满足: 则:W为n维向量空间的子空间。 如果向量空间V中的向量(a1,a2,a…

线性代数知识点总结之行列式

线性代数知识点总结之行列式 本章知识图解: 对图解的初级补充与完善 1.1.1.1.1.1.排列:一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排…

基础线性代数知识点总结与回顾(四):线性空间

基础线性代数知识点总结与回顾(四):线性空间 骨骼图: #其实,线性空间是向量空间内容的扩展。 首先我把向量空间的内容截图搬过来,便于你们的比较与对照。 线性空间 设V是实数域k上的线性空间&#xff…

线性代数知识点总结

1 行列式 (一)行列式概念和性质 1、逆序数:所有的逆序的总数 2、行列式定义:不同行不同列元素乘积代数和 3、行列式性质:(用于化简行列式) (1)行列互换(…