首页 > 其他分享 >近年来文本检测相关工作梳理

近年来文本检测相关工作梳理

时间:2024-03-09 21:24:48浏览次数:14  
标签:检测 STKM 工作 text 文本 梳理 Text

引言

场景文本检测任务,一直以来是OCR整个任务中最为重要的一环。虽然有一些相关工作是端对端OCR工作的,但是从工业界来看,相关落地应用较为困难。因此,两阶段的OCR方案一直是优先考虑的。

在两阶段中(文本检测+文本识别),文本检测是极为重要的一环。自从DBNet提出后,工业界似乎找到了法宝,DBNet算法迅速成为大家做文本检测的首选。

但是,通过近来阅读的一些论文,我逐渐发现了DBNet后,文本检测任务相关算法的一些趋势:DBNet是只考虑了图像的信息,并没有考虑文本的信息。最近的算法,在逐渐向多模态方向靠近,利用CLIP等相关multi-model来增强文本检测backbone能力。

本文算是将最近看的一些相关论文做一下梳理,算是抛砖引玉。难免挂一漏万,还望大家多多指教。

⚠️注意:行文顺序是从新到旧排列

(2024 ODM) ODM: A Text-Image Further Alignment Pre-training Approach for Scene Text Detection and Spotting

code: https://github.com/PriNing/ODM

ODM

该篇工作是我无意刷到的,刚贴出来不久(2024-03-01)。通篇看下来,ODM做的工作很简单,就是将带有文本图像中的背景都去除掉,得到如上图中右侧的黑底白字的图像,再送到后续文本检测算法中做检测。

这样的想法,我之前做过类似的,用的是U-Net系列。但是效果较差。原因有三:
一是训练这种模型需要pixel-level数据集;
二是模型推理较为耗时;
三是泛化性能较差,因为文本所在位置千变万化,换一种场景,模型去除背景能力就会差很多。

文中也提到了如何制作的数据集:

  • 对于四点坐标标注的框,作者计算四边形的尺寸,并根据字符的数量估计每个字符的大小和位置。然后用指定字体贴上去。
  • 对于多边形坐标的框,作者采用ABCNet论文中合成方法,使用坐标提供的Bezier curves来计算弯曲文本的位置。然后计算每个字的倾斜角度贴上去。

示例图如下:
在这里插入图片描述

以上做法会存在gt图和原始图,文本像素点不能一一对应的问题。论文作者显然也考虑到了,特地在论文中提了一句:
在这里插入图片描述

PS: 目前对该方法效果持保留态度,等待后续作者开源源码和demo(只有空仓库),再来试试看吧!

(CVPR2023 TCM) Turning a CLIP Model into a Scene Text Detector

code: https://github.com/wenwenyu/TCM
TCM

该工作正如题目所说,将CLIP模型用到了文本检测场景中,不同于之前工作,都是将文本模态信息用到预训练阶段,之后再迁移backbone到fine-tuning部分。

TCM直接用CLIP模型中的Image encoder和Text encoder作为编码器,同时又提出了一个language prompt generator用于为每张图像产生conditional cue。同时为了adapting CLIP的text encoder用于文本检测任务,设计了一个visual prompt generator来学习image prompt.

为了对齐 image embedding和text embedding,设计了一个instance-language matching方法来鼓励image encoder 探索来自cross-modal visual-language priors的text regions.

PS: 得益于CLIP强大的泛化能力,该工作在few-shot方面具有较大潜力。但是引入了另外一个比较大的问题:耗时。因为基于CLIP,其后期推理部署仍然是一个很大的问题。即使后来又出了Fast-TCM工作,速度也是一个问题。

(ECCV 2022 oCLIP) Language Matters: A Weakly Supervised Vision-Language Pre-training Approach for Scene Text Detection and Spotting

code: https://github.com/bytedance/oclip
oCLIP

该篇工作和VLPT-STD工作很类似,也是意图加强text embedding和image embedding之间的交互。但是其在训练过程中,优化目标是masked language modeling这一个任务。这一点没有VLPT-STD丰富。

其中亮点在于提出了Character-Aware Text Encoder。

在自然场景的图像中,图像通常包括一个或多个 text instances。在每一个text instance中,text tokens是序列相关的,而不同text instances中,text tokens往往是不相关的。这个特性就导致用一个general text encoder来encode这一张图像的text有些困难。这一点,在VLPT-STD中就没有考虑到。

而在character-aware text encoder中添加了learnt positional encooding来捕获每一个text instance中序列信息,忽略text instance间的相关性。这一点在Decoder部分也有所体现:在decoder中,并没有使用self-attention layer,就是为了忽略不同text instances间的相关性,消除没有标注text instances的影响。

PS: oCLIP与VLPT-STD工作各有所长。算是同时期工作,将两者工作结合,或许可以水一篇论文。嘻嘻。

(CVPR 2022 VLPT-STD) Vision-Language Pre-Training for Boosting Scene Text Detectors

code: 无
VLPT-STD

STKM工作是直接从image representations中decoding文本信息,本篇工作则通过仔细设计的pre-training任务(image-text contrasitive learning, masked language modeling, word-in-image predictioin)中,增加文本信息和图像信息的mutual alignment和cross-modal interaction,从而进一步增强backbone的能力。这一点参看下图即可明白:
在这里插入图片描述

PS: VLPT-STD工作,相比于STKM,更加一步加强了multi-model的交互和对齐,是的backbone提取特征能力更加丰富。在看这篇工作时,我就在想可以直接将文本框坐标信息也加入到训练中,类似于LayouLM系列。在论文Conlusion部分,也看到了作者也有同样想法,不知道现在有没有小伙伴已经做过了。

(CVPR 2021 STKM) Self-attention based text knowledge mining for text detection

code: https://github.com/CVI-SZU/STKM

STKM

论文的整体结构如上图所示,作者首次提出了text knowledge mining network,该network可以用于增强已有的各种文本检测算法,无痛涨点的同时,不影响已有文本检测算法推理的速度。

文本检测模型的训练,一般分为两个阶段:第一个阶段基于Synthtext数据集预训练,第二阶段基于ICDAR2015、ICDAR2017等数据集做fine-tuning。

STKM工作致力于设计一个text feature mining网络来使得第一阶段中的backbone学到更强的prior knowledge。STKM结构由CNN Encoder + Self-attention Decoder两大部分组成,如上图中的(a)部分。

PS:我个人比较喜欢这种工作。总结来说,不同于之前的EAST、PSENet,STKM引入文本信息到backbone中,丰富了backbone的特征提取能力。从论文中实验来看,并没有DBNet的对比工作,感觉应该是DBNet与STKM差不多算是同时期的工作了。

标签:检测,STKM,工作,text,文本,梳理,Text
From: https://www.cnblogs.com/shiwanghualuo/p/18063330

相关文章

  • 基础GamePlay知识-扇形检测
    将会持续更新gameplay的一些基础知识,一同学习。扇形检测扇形检测是Gameplay里面很常见的场景。比如荒野乱斗中,大部分的近战角色都是扇形攻击。在扇形范围内就认为是受击。扇形检测只有两个参数,一个是扇形的角度一个是扇形的半径大小。效果获取鼠标朝向技能必然是和鼠标朝......
  • 蓝牛公网ip检测助手V1.00免费版
        蓝牛公网ip检测助手是一款非常实用的网络软件,可以实时检测公网IP当公网IP变化时软件自动发邮件通知管理员,同时也支持窗口发信息通知管理员(QQ或是微信等)和自定义API提交到你自己网站服务器,让你第一时间掌握公网IP变化情况。 本地下载  ......
  • 工作常用的EXCEL公式 | 将一个字符串中的文本和数字进行拆分
    需求:将A列拆分成B、C列 公式:=LEFT(A2,2*LEN(A2)-LENB(A2))=RIGHT(A2,LENB(A2)-LEN(A2)) 函数用法说明: ......
  • UDP 协议端口检测原理和存在的问题说明
    一、UserDatagramProtocol(UDP)用户数据报协议(UDP):一种非常简单的传输协议,它提供类似于TCP的传输层寻址,但除此之外几乎没有其他功能。UDP只不过是一个“包装”协议,它为应用程序提供了一种访问互联网协议的方式。无法建立连接,传输不可靠,并且数据可能会丢失。二、UDP......
  • 中转Webshell绕过流量检测防护
    0x01原理这里先给大家介绍一句话木马和菜刀的工作原理,了解的可以往下面翻一句话木马先说说一句话木马的原理<?phpeval($_POST['c']);?>先说说eval()这个函数简单点说,eval()这个函数会把参数当作代码来执行什么叫做把参数当作代码来执行,简单举个例子<?phpphpinfo();?>......
  • 富文本实现打字效果
    正题涉及到的知识有:正则,富文本,迭代器不想看废话的请跳最后OldCode之前想实现这个效果,于是在搜索引擎上面搜,要么代码太长(看不懂),要么就是相同的。于是我翻到这一篇文章富文本打字机效果-腾讯云开发者社区-腾讯云大致原理是将文本a通过正则,将匹配到的用""替换掉纯文本b,通过反......
  • AppleScript成功实现FaceTime语音,FaceTime视频,FaceTime蓝号检测,检测数据是否开通Fa
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署......
  • 分类器——高斯混合模型之缺陷检测(纹理缺陷检测)
    *ThisexampleprogramshowsyouhowtousetheGMMclassifierfornovelty*detectiontoperformawebinspectiontask.Toperformthenoveltydetection,*allpixelsbelongingtothesingletrainedclassarecomputed,andarethen*subtractedfromthe......
  • 【教程】HBuilderX开发实践:隐私合规检测问题解决方案
    文章目录摘要引言正文1、违规收集个人信息2、APP强制、频繁、过度索取权限知识点补充总结 摘要本篇博客介绍了在使用HBuilderX进行开发过程中,常遇到的隐私合规问题,并提供了相应的解决方案。主要包括违规收集个人信息和APP强制、频繁、过度索取权限两方面。......
  • 2. 寄存器(内存) | 检测点3.1
          TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianChineseTraditionalIndonesianSlovakCzechItalianSlovenianDanishJapanese......