OCR文本检测模型—CTPN

article/2025/9/10 18:07:59

文章目录

      • 一、CTPN简介
      • 二、CTPN检测流程
      • 三、小结

一、CTPN简介

一个简单的文字识别流程如下:
在这里插入图片描述

Step 1. 通过手机、摄像机、扫描仪等设备采集含有待识别字符的图像,作为输入;
Step 2. 对图像进行尺寸缩放、明暗调整、去噪等预处理操作;
Step 3. 将图像中的单个字符、或者是连续几个字符所在的区域检测出来;
Step 4. 根据文本检测结果从图像中将文本所在区域分割出来,然后导入到模型中进行文本识别,进而得到图像中的字符信息。

CTPN 对自然场景下的文字,印刷文字的检测良好。

  1. 文字分布的特点**
    在了解文字检测之前,先来看一下文字分布的特点。无论是印刷文字,还是自然场景下的文字,一般文字是水平排列,连续字符的长度可变,但高度基本相同。既然宽度是可变、不确定的,那么就按照固定的高度进行检测,看看图像中有哪些区域是连续出现了一片同样高度特征的区域,并且其边缘符合文字的特点,就将其圈出来。

  2. CTPN
    CTPN,全称是“Detecting Text in Natural Image with Connectionist Text Proposal Network”(基于连接预选框网络的文本检测)。该模型主要是对图片中的文本行进行准确定位,其基本做法是直接在卷积获得的feature map(特征图)上生成的一系列适当尺寸的文本proposals(预选框)进行文本行的检测。下图可以很好地看出该模型的检测思路(注意:CTPN模型实际上是在feature map上生成proposals,而不是在原图像上生成,以下只是个示意图):
    在这里插入图片描述

  3. CTPN技术原理
    CTPN模型利用了RNN和CNN的无缝结合来提高检测精度。其中,CNN用来提取深度特征,RNN用于序列的特征识别,二者无缝结合,在检测上性能更好。其中:

    • CNN(采用VGG16)
      CTPN模型通过利用VGG16卷积输出的 feature map(特征图)生成一系列proposals(预选框)进行检测。

    • RNN
      由于文字信息是由“字符、字符的一部分、多字符”组成的一个序列,所以文字这个检测目标并不是独立、封闭的,而是有前后关联的,因此在CTPN中采用了RNN(Recurrent Neural Networks,循环神经网络)来利用前后文的信息进行文本位置的预测。

    • CTPN模型的网络结构如下图所示:
      在这里插入图片描述

二、CTPN检测流程

整个过程主要分为六个步骤:

  • 第一步:输入3×600(h)×900(w)的图像,使用VGG16进行特征的提取,得到conv5_3(VGG第5个block的第三个卷积层)的特征作为feature map,大小为512×38×57;

  • 第二步:在这个feature map上做滑窗,窗口大小是3×3,即512×38×57变为4608×38×57(512按3×3卷积展开);

  • 第三步:将每一行的所有窗口对应的特征输入到RNN(BLSTM,双向LSTM)中,每个LSTM层是128个隐层,即57×38×4608变为57×38×128,Reverse-LSTM同样得到的是57×38×128,合并后最终得到结果为 256×38×57;

  • 第四步:将RNN的结果输入到FC层(全连接层),FC层是一个256×512的矩阵参数,得到512×38×57的结果;

  • 第五步:FC层特征输入到三个分类或者回归层中。第一个2k vertical coordinate和第三个k side-refinement是用来回归k个anchor的位置信息(可以简单理解为是要确定字符位置的小的矩形框,上面示意图中的红色小长框,宽度固定,默认为16),第二个2k scores 表示的是k个anchor的类别信息(是字符或不是字符);

  • 第六步:使用文本构造的算法,将得到的细长的矩形框,将其合并成文本的序列框。其中文本构造算法的主要的思路为:每两个相近的候选区组成一个pair,合并不同的pair直到无法再合并为止。

以上就是CTPN主要原理的介绍,使用CTPN模型对自然场景下的文字进行检测,结果如下图所示:
img

三、小结

CTPN模型最大的亮点是引入RNN来进行检测
先用CNN得到深度特征,然后用固定宽度的anchor(固定宽度的,细长的矩形框)来检测文本区域,将同一行anchor对应的特征串成序列,然后输入到RNN当中,再用全连接层来做分类或回归,最后将小的候选框进行合并,从而得到了文本所在的完整区域。这种把RNN和CNN无缝结合的方法有效地提高了检测精度。


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

相关文章

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模型无法对车牌的四个点进行精确定位&…

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)行列式线性方程组的关系 …