【文本检测】DBNet

article/2025/9/10 16:49:52

目录

  • 论文正文
  • 概述
  • 细节
    • 整体流程
    • 二值化
    • 自适应的门限
    • 可变形卷积
    • 标注
    • 损失计算
    • 推理
  • 感悟

论文正文

链接:链接,提取码:7fmj

概述

文本检测主流的两个方法就是基于回归的方法和基于分割的方法。
基于回归的方法指的是迁移一些经典的目标检测算法,比如SSD,faster-rcnn等。但是他们对于任意形状文本的检测效果没那么好,而这类文本呢又是场景种最常见的文本。
基于分割的方法:首先,分割指的是像素点级别的分类,判别每一个像素点是否属于一个文本目标,计算量特别大。通过一个分割网络得到分割图或者叫做概率图,接着进行固定阈值的二值化操作得到二值图,通过后处理得到文本分割区域的包围曲线。
二值化:就是根据一个固定的门限值,将概率图中每个数值变为0/1,如 f ( x ) = 1 i f x > 0.7 e l s e 0 f(x)=1 if x>0.7 else 0 f(x)=1ifx>0.7else0
在这里插入图片描述

而本文,是在基于分割的方法上进行的研究,他提出了一种将二值化操作加到分割网络中的一种方法。也就是说,在本文中,分割网络同时生成概率图和门限图,二值化中的门限不再是给定的,而是模型学习到的,是能够自适应的。而二值化过程,如 f ( x ) = 1 i f x > 0.7 e l s e 0 f(x)=1 if x>0.7 else 0 f(x)=1ifx>0.7else0,显然是不可微的,因此同时还提出了一种可微分二值化过程Differentiable Binarization (DB)。
在这里插入图片描述

细节

整体流程

骨干网络会对输入图片进行多次下采样得到不同尺寸的feature-map,再将它们上采样和浅层网络中长宽相同的feature-map进行concat操作,然后继续卷积,最后将尺度相同的feature-map进行concat,然后得到两个图:概率图和门限图,通过他们得到二值图,根据它进行后处理得到文本分割区域的包围曲线。
在这里插入图片描述

二值化

标准二值化操作:
在这里插入图片描述
可微分二值化 B i , j ^ = 1 1 + e − k ( P i , j − T i , j ) \hat{B_{i,j}}=\frac{1}{1+e^{-k(P_{i,j}-T_{i,j})}} Bi,j^=1+ek(Pi,jTi,j)1
B是近似二值函数的函数值,k是放大因子(计算导数,发现k都是乘的,所以会放大梯度,作者取了50), P i , j P_{i,j} Pi,j是概率, P i , j P_{i,j} Pi,j是门限
可微分二值化的作用:1、使得门限值能够通过网络学习得到而不是直接给定。2、提高性能。
为什么能够提高性能?:像素的分类错误,会得到更大的梯度,而为了网络的收敛,模型必须自己学会解决这些问题。
更大的梯度?:首先,二值图的损失是二元交叉熵损失。
x = P i , j − T i , j x=P_{i,j}-T_{i,j} x=Pi,jTi,j f ( x ) = 1 1 + e − k x f(x)=\frac{1}{1+e^{-kx}} f(x)=1+ekx1 l o s s = − y l o g ( f ( x ) ) − ( 1 − y ) l o g ( 1 − f ( x ) ) loss=-ylog(f(x))-(1-y)log(1-f(x)) loss=ylog(f(x))(1y)log(1f(x)),正样本: l o s s + = − y l o g ( f ( x ) ) loss_{+}=-ylog(f(x)) loss+=ylog(f(x)),负样本: l o s s − = − ( 1 − y ) l o g ( 1 − f ( x ) ) loss_{-}=-(1-y)log(1-f(x)) loss=(1y)log(1f(x)),他们各自对应的导数的曲线在k=1和k=50的情况下,如图
在这里插入图片描述
观察可以发现,首先,梯度的大小是与K有关的。其次,网络如果将正例预测称负例,那么梯度很很大;网络将负例预测乘正例,梯度也很大。

自适应的门限

用处:主要是为了计算得到二值图,另外实验中发现,无论给不给这个门限一个监督,门限图中都会去凸显文本的边框,也就是能够直到网络更好的检测文本。
在这里插入图片描述

可变形卷积

目的:为了获得更大、更灵活的感受野,尤其适用于长宽比例比较极端的文本
详细介绍:链接

标注

概述:概率图和近似二值图受到同一个ground truth监督,是白色部分比较小;门限图受到另一个ground truth监督,是黄色部分比较大。
为什么概率图和近似二值图受到同一个ground truth监督:直观感觉上,他们都得受到原图绘制的二值图的监督。
为什么区域会有大小?:这或许就是设计的奥秘吧…
在这里插入图片描述
计算二值化之后结果的案例:
在这里插入图片描述

标注1:概率图和近似二值化图对应的标注,先对文本进行标注,然后做一步shrink。里面就是1表示有文本,外面是0,表示没文本。
在这里插入图片描述
标注2:门限图对应的标注,首先对于文本检测框,进行收缩和放大,它们中间的区域就是。
在这里插入图片描述
标注值:对于,区域内部所有点,计算它达4条红线的距离,取最近的一个。这样就得到了一个两边大中间小的结果,然后对所有的值做 1 − X / D 1-X/D 1X/D的操作,再进行操作,将这些值归一化到一个范围比如 0.3 − 0.7 0.3-0.7 0.30.7
为什么这么复杂:一步一步分析
最后为什么要归一化到某个范围?因为不归一化的话就无法得到二值化的结果了。
为什么要 X / D X/D X/D:因为门限肯定是0-1的数,而这里最大就是D,所以可以这么做来进行归一化。
为什么要 1 − X / D 1-X/D 1X/D:为了得到中间小两边大的结果,门限图的重点就是对于边框的敏感
在这里插入图片描述

损失计算

主要是三部分:概率图和近似二值图的损失还有门限图的损失
其中门限图的损失只计算文本边框范围内的损失,使用的是L1范数
为什么用L1范数:????
在这里插入图片描述

我理解的错题集:之前机器学习课程中讲到,模型将判别错误的样本加权
在这里插入图片描述

推理

推理的时候,不需要门限图和二值化图了,直接根据概率图,使用标准的二值化操作就行,然后得到文本的边界,并进行矫正,得到原始的文本边界区域,之后就可以用一些软件包把这部分的区域拿出来了。但是分割主要解决的是弯曲形状文本区域的效果,但是一些文本检测方法处理的是矩形框,那么一个做法就是直接取包含这些区域的最小矩形框。
在这里插入图片描述
在这里插入图片描述

感悟

问题:比如YOLO v3中,检测的时候模型输出 n ∗ n ∗ 3 ∗ ( 1 + 4 + 20 ) n*n*3*(1+4+20) nn3(1+4+20)的tensor,解析这个tensor我们就能得到检测结果,但是为什么能够这么做呢?
模型输出结果解析的可解释性:所谓监督,就是给网络一个参考,让网络自己学习参数,不断逼近这个参考。因为我们训练的时候,也就是制作dataset的时候,不仅仅是得到了numpy格式的img,还做了对应的tround-truth,也就是那些 n ∗ n ∗ 3 ∗ ( 1 + 4 + 20 ) n*n*3*(1+4+20) nn3(1+4+20)的tensor,训练的时候要求模型输出的tensor和ground-truth尽可能地接近,检测的时候,模型就能够按照以前的经验得到一个类似的输出,但是这个输出是否足够好呢?还是的看训练的时候是否则够充分,是否学习到了最优的function。
问题:模型的结构到底怎么设计呢?


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

相关文章

openCV实践项目:图片文本检测

上一期我们通过对实验:银行卡卡号识别 加深了对前面所学openCV图像处理的一些理解 openCV实践项目:银行卡卡号识别_老师我作业忘带了的博客-CSDN博客 本次图片文本检测相对于要容易一些,内容如下: 一、流程说明 把一个这样的图片…

TextSnake文本检测

论文《TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes》 (1) 数据集 文章中提到了4个数据集: 1) Total-Text;(新开源曲线文本数据集) 2) SCUT-CTW1500; (新开源曲线文本数据集) 3) ICDAR 2015;(经典数据集) 4) MSRA…

值得一看的文本检测方法

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 前 言 目前深度学习方法做文本检测比较普遍,但是也存在一些时候GPU资源不够,这时候就需要一些其他的方法来检测文本信息,本文主要介…

文本检测与识别

基于Advanced_EAST的文本检测算法 Advanced_EAST算法使用全卷积网络结构,输入图像通过全卷积神经网络后直接获得候选文本的位置,再通过非极大值抑制算法(Non-Maximum Suppression,NMS)获得最后的文本检测结果。 网络…

OCR文本检测模型—EAST

文章目录 一、EAST模型简介二、EAST模型网络结构三、EAST模型效果四、Advanced EAST 典型的文本检测模型一般是会分多个阶段(multi-stage)进行,在训练时需要把文本检测切割成多个阶段(stage)来进行学习,这种…

文本检测算法新思路:基于区域重组的文本检测

摘要:文本检测是文本读取识别的第一步,对后续的文本识别有着重大的影响。本文主要介绍基于区域重组的文本检测算法。 本文分享自华为云社区《技术综述十三:弯曲文本检测算法(一)》,作者: 我想静静 。 背景…

OCR文本检测模型—CTPN

文章目录 一、CTPN简介二、CTPN检测流程三、小结 一、CTPN简介 一个简单的文字识别流程如下: Step 1. 通过手机、摄像机、扫描仪等设备采集含有待识别字符的图像,作为输入; Step 2. 对图像进行尺寸缩放、明暗调整、去噪等预处理操作&#…

OpenCV实战——文本检测

OpenCV实战——文本检测 tesseract的安装代码实践将图片中的内容识别打印,并绘制边框单词(word)检测只进行数字识别 tesseract的安装 首先说一下下官网的地址:下载地址 大家根据自己的操作系统(是32位还是64位&#…

【文本检测与识别白皮书-3.1】第一节:常用的文本检测与识别方法

点击领取AI产品100元体验金:https://www.textin.com/coupon_redemption/index.htmlhttps://www.textin.com/coupon_redemption/index.html # 3.常用的文本检测与识别方法 ## 3.1文本检测方法 随着深度学习的快速发展,图像分类、目标检测、语义分割以及实…

paddleocr文本检测模型的训练

1、环境的安装和开源项目的下载 首先我个人建议,玩深度学习的话,不管是工作还是学习,最起码要配一个有GPU的电脑。我个人有着血淋淋的教训,我本人是电气工程的一名学生,本科期间一点深度学习和机器学习的基础都没有&am…

文本检测实战:使用OpenCV实现文本检测(EAST 文本检测器)

在本教程中,您将学习如何使用 OpenCV 使用 EAST 文本检测器检测图像中的文本。 EAST 文本检测器要求我们在我们的系统上运行 OpenCV 3.4.2 或 OpenCV 4 。 论文原文:https://arxiv.org/abs/1704.03155 代码地址:https://github.com/argman/…

脏话文本检测方案

目录 1. 场景2. 方案3. 数据增强4. 代码 1. 场景 在问答系统中用户问题可能存在违规情况,包含涉政、色情、辱骂文字的文本视为违规文本。本文提出一种违规文本检测方案, 本方案仅限于判断文本是否包含违规内容,属于文本分类问题。 2. 方案 方…

OCR文本检测模型:FCENet论文阅读笔记

文章目录 前言摘要(Abstract)1. 介绍(Introduction)2. 相关工作(Related Work)3. 方法(Approach)3.1 傅里叶轮廓嵌入(Fourier Contour Embedding)3.2 FCENet 4.实验(Experiments)总结 前言 最近…

文本检测数据集标注

工具链接:Curve-Text-Detector/data at master Yuliang-Liu/Curve-Text-Detector GitHub 目录 前言 一、工具介绍 1.标注格式 2.工具使用 二、标注步骤 1.数据准备 2.数据标注 3.数据集label可视化 总结 前言 本次介绍的标注方式和标注工具均为2017年华南…

AI实战:2019、2020最新的中文文本检测检测模型

2019、2020最新的中文文本检测检测模型 1、DBNet(Real-time Scene Text Detection with Differentiable Binarization) 论文地址:https://arxiv.org/pdf/1911.08947.pdf 作者:华中科技大学 Minghui Liao 1∗ , Zhaoyi Wan 2∗ ,…

人工智能学习--文本检测初探

一、相关概念和综述: 转自知乎热心网友 燕小花女士的内容,供学习使用,若侵权则删。貌似写于2018年12月,之后这几年的流行方法更新,自行搜索sci顶刊和会议论文。 https://zhuanlan.zhihu.com/p/52335619 文本检测的难…

文本检测综述(2017 ~ 2021)

文本检测综述 文本检测传统方法文本检测深度方法目标检测文本检测1.【ECCV2016】CTPN(Detecting Text in Natural Image with Connectionist Text Proposal Network)2. 【CVPR2017】SegLink(Detecting Oriented Text in Natural Images by li…

文本检测算法----TextFuseNet(IJCAI-PRICAI-20)

多种文本检测算法性能对比及算法介绍 (https://blog.csdn.net/qq_39707285/article/details/108754444) TextFuseNet: Scene Text Detection with Richer Fused Features 前言1. 算法简介2. 算法详解2.1 网络结构2.2 Multi-level Feature Representation2.3 Multi-path Fusion …

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

Paper : https://arxiv.org/abs/1912.09629v1 Code : https://tinyurl.com/sbdnet SBD首先将四边形边框离散为几个关键边缘,其中包含所有可能的水平和垂直位置。为了解码准确的顶点位置,提出了一种简单而有效的匹配程序来重构四边形边界框。 基本思想是…

文本检测模型综述

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