值得一看的文本检测方法

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

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

前  言

    目前深度学习方法做文本检测比较普遍,但是也存在一些时候GPU资源不够,这时候就需要一些其他的方法来检测文本信息,本文主要介绍不使用深度学习进行文本检测的方法。文本检测的瓶颈主要是处理那些对比度不同或嵌入复杂背景的文本。为了解决这些困难,本文主要介绍的方法可以基于不变的特征,例如边缘强度,边缘密度和水平分布。首先,它应用边缘检测,并使用较低的阈值来过滤掉非文本边缘。然后,选择局部阈值以保留低对比度文本并简化高对比度文本的复杂背景。接下来,用两个文本区域增强operator,以突出显示具有高边缘强度或高边缘密度的那些区域。最后,从粗到细的检测可以有效地定位文本区域。实验结果表明,本文提出的方法在对比度,字体大小,字体颜色,语言和背景复杂性方面均十分可靠。

01

分析

    当文本嵌入复杂的背景中时,文本的对比度,即文本的颜色(或亮度)与其局部背景之间的差异,会在图像的不同区域发生变化。因此,使用全局阈值分隔文本和背景的方法将丢失低对比度文本。例如,(图a)显示了具有不同对比度文本的图像。应用Sobel运算符后,如果阈值是40(图b),则所有文本都会保留,阈值为65,则低对比度文本消失(图c)。
115d1b41ed202c0d3655006a212fbd47.png

    另外,不同语言的字符具有各种笔画结构。使用笔划密度约束的方法可以成功检测英语等。但是无法正确检测亚洲语言文字,例如中文。例如,区域增长方法使用小尺寸的窗口扫描图像并将每个窗口分类为文本或非文本,然后合并相邻的文本块形成文本区域。由于每个汉字占用相同的空间,而笔划数从1到大于20不等,因此笔划少的字符将不会被笔划密度约束分类为文本。

  1.     针对文本的特殊,总结如下规律:
    尽管文本字符串的像素颜色不均匀,但是视频中可识别的文本字符串确实具有密集或鲜明的颜色或亮度过渡,即相对于其背景的边缘。因此,边缘是比字体颜色更可靠的功能。边缘具有两个属性:边缘强度和边缘密度。当嵌入在简单且高对比度的背景中时,文本字符串在边缘强度和边缘密度上都很明显。当嵌入在简单且低对比度的背景中时,主要是边缘密度很明显。当嵌入到充满非文本对象边缘的复杂背景中时,主要是边缘强度就很明显。由于不可能用很少的笔划由所有字符组成文本字符串,因此其平均边缘密度明显高于背景。

  2. 字符大多是直立的,并在与水平线对齐的有限距离内成簇出现,并且它们显示出空间凝聚力–同一文本字符串的字符具有相似的高度,方向和间距。
    所以,基于边缘强度,边缘密度和水平分布,可以设计一种有效的方法来检测复杂背景下的多语言文本。

02

具体方法

    本文的方法的目标是在不受到语言和字体大小影响的情况下,检测低对比度文本和高对比度文本。首先,使用彩色边缘检测器将视频图像转换为边缘图,并使用较低的全局阈值来过滤掉绝对非边缘点。然后,执行选择性局部阈值处理以简化复杂背景。接下来,用一个边缘强度平滑算子和一个边缘聚类功率算子,以突出显示那些边缘强度高或边缘密度高的区域,即文本候选者。最后,考虑到特征随语言和字体大小不变,采用一种面向字符串的从粗到细的检测方法来快速定位文本字符串。

边缘检测

    彩色边缘检测器使用Sobel运算符检测YUV颜色空间中的边缘。最终的颜色边缘图是Y,U和V通道的三个边缘图的并集。但是,由于阈值太高而无法保留低对比度文本,因此不使用快速熵阈值化。取而代之的是,应用由边缘强度直方图确定的低阈值,以仅消除绝对的非文本点。首先,在直方图中找到排名0-20的峰,并获得其周围的平均高度;然后,低阈值是峰后高度低于平均高度10%的第一个位置。在全局阈值化之后,非边缘点的值为零,而边缘点的值为其各自的边缘强度。

局部阈值

    如果背景是简单的,则可以通过低阈值轻松检测甚至低对比度的文本字符串,而嵌入复杂背景中的文本字符串需要更高的阈值才能进一步简化背景。因此,有必要根据每个局部区域的背景复杂度确定适当的阈值。定义一个大小为H×W的窗口(H和W分别与图像的高度和宽度成比例)。窗口首先在水平方向上然后在垂直方向上逐步扫描边缘特征图,如下图所示。
3883e27d712a1ac878338db12a4bf33d.png

    在每个步骤中,窗口的原点仅在水平方向上移动W / 2(或在垂直方向上移动H / 2),因此可以补偿因使用窗口边框分割字符而导致的不准确性。窗口覆盖的边缘图部分是要分析的局部区域。

背景复杂度定义如下。

    如果像素是非边缘点,将其称为空白点。如果该局部区域中全部空白行的数量不少于10%×H,则背景复杂度很简单。简单区域不再需要阈值,而复杂区域则需要更高的阈值。从该区域的局部直方图中可以找到新的阈值。令MAX和MIN分别为最高边缘强度和最低边缘强度。在[MIN,MAX]的下半部分找到低峰,在[MIN,MAX]的上半部分找到高峰,然后将新阈值确定为低峰和高峰之间的最低位置。在该区域中强度低于Tlocal的边缘点标记。扫描完整个边缘图后,将删除所有带有标志的边缘点。应用选择性局部阈值,可以保持简单背景下的低对比度文本,同时简化了高对比度文本的背景。

文本区域的增强

    通过选择性局部阈值选取出在局部背景中明显的边缘点。然而,仅利用了边缘强度特征。为了通过边缘密度功能进一步突出显示文本区域,通过边缘强度平滑(ESS)算子和边缘聚类功率(ECP)算子,其卷积内核如下图所示。
3fd2bf6835f5e43ce5c127882964d7c9.png
    两个核中的权重均来自欧几里得距离。最后是使用整数来加快卷积速度,因此将卷积结果除以权重之和(ESS的权重为220,ECP的权重为100)。ESS权重与从中心向外的距离的平方成反比。它反映了中心边缘点周围的平均边缘强度。由于局部阈值处理可能会降低文本区域中的边缘密度,因此首先使用如下等式对边缘图中每个表示为EM(x,y)的点执行ESS算子,以增加边缘密度。


f902af9d7f07654bd09f036748ecc1e8.png

    ESS特征图是平滑的边缘强度特征图。然后,通过仅对ESS算子中的非零点执行ECP算子来增强高边缘密度区域,如下公式所示。
5bd7164506fc0fa9e885cc78069d92ba.png
    ECP权重与从中心向外的距离的平方成正比,卷积结果除以其自身的ESS值。如果ECP有许多相邻的边缘点具有更高或相似的边缘强度,则无论边缘点的ESS值是什么,ECP都仅会突出显示中心点周围的边缘密度。最后,通过如下公式对ESS值和ECP值进行积分,并更新边缘图。
d7201571534d74e13c8aa70599c375d0.png
通常,ESS和ECP,α为0.5。


粗到细的检测方法

    显然,具有高密度的水平矩形区域表示文本字符串。投影是查找此类高密度区域的一种比其他方法(例如区域生长方法)更有效的方法,因为文本字符串在水平投影中始终会产生急剧的跳跃。但是,在视频图像中,文本字符串不会逐行显示。它们通常在水平或垂直维度上重叠。由于简单的投影仅反映一维的分布,因此无法很好地处理这种情况。因此,通过一种从粗到精的检测方案来解决此问题。粗到细检测的想法是通过两阶段投影来逐步定位文本区域,如下图。


537fcf33381049288165c0e4a19a48b5.png
    

    在第一阶段,它使用粗水平投影和粗垂直投影将边缘图粗略地分割为文本块。然后,在第二阶段,它通过精细的水平投影和精细的垂直投影来精确地定位文本区域。请注意,只有粗略的水平投影是整体投影,其他都是矩形区域中的局部投影。最后,根据平均密度,精细的垂直投影中的峰分布和密度分布的规则检查文本状区域非文本区域。由于预处理显着突出了类似文本的区域,因此可以轻松快速地找到文本字符串。下面给出一些结果:

95acb0217e838c330c71ff63f3ac541d.png

a51b943b20179d6ab772add0be0a94f3.png
80431e3dca003ecf477fde3e2bfdec6f.png

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

76e4f2625ed81c10f7a85413ceec62d4.png

a38a99e1b9d8712c0ec8e99763c0bc85.png


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

相关文章

文本检测与识别

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

OCR系列——文本检测任务

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

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

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

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

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