2023文本定位模型选型调研

news2024/11/18 10:41:34

背景

时间点:2023年03月

场景:做一个通用型的多种证件解析服务

需求:调研一种又新又快的定位模型。要求:1)支持倾斜的文字,可以是4点定位或分割法后获取box,但不能是2点的定位;2)快速,过往的psenet需要至少0.6s,pan和db在一些场景中效果差一点但快,是否有更好平衡速度和效果的方法;3)方便改输出通道数量,这种一般是分割?;4)边缘准确;5)适用于中文大字典

方法:从3个方法研究,pp、mmocr、papers with code

调研

PP

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/PP-OCRv3_introduction.md

 assert alg in [
        'EAST', 'DB', 'SAST', 'Rosetta', 'CRNN', 'STARNet', 'RARE', 'SRN',
        'CLS', 'PGNet', 'Distillation', 'NRTR', 'TableAttn', 'SAR', 'PSE',
        'SEED', 'SDMGR', 'LayoutXLM', 'LayoutLM', 'LayoutLMv2', 'PREN', 'FCE',
        'SVTR', 'ViTSTR', 'ABINet', 'DB++', 'TableMaster', 'SPIN', 'VisionLAN',
        'Gestalt', 'SLANet', 'RobustScanner', 'CT', 'RFL', 'DRRG', 'CAN',
        'Telescope'
    ]

PP-OCRv3检测模块仍基于DB算法优化,而识别模块不再采用CRNN,换成了IJCAI 2022最新收录的文本识别算法SVTR

mmocr

https://gitee.com/open-mmlab/mmocr#%E6%A8%A1%E5%9E%8B%E5%BA%93

最新的检测识别是dbnet++、SVTR

papers with code

从ppocr和mmocr看到,2者选择的方案都是dbnet++及SVTR,dbnet++是2022年的算法。在paperswithcode中,不是特别高的排名,有个疑问,为啥最后会选用这个呢?出于速度考虑???

https://paperswithcode.com/paper/real-time-scene-text-detection-with-1

目前考虑的方法

DPText-DETR,排名最高,后续试了效果还不错

FAST-B-800,排名2

DBNet++ 商业化落地最多的

排除的方法

TextFuseNet不适合中文

I3CL + SSL 没相关资料文章,怕有坑,本身也不是最好的2个

CharNet H-88 不适合中文

N种排名靠前的算法

DPText-DETR 京东探索研究院

时间:2022.07

开源:https://github.com/ViTAE-Transformer/DeepSolo

paper:DPText-DETR: Towards Better Scene Text Detection with Dynamic Points in Transformer

是否支持曲线文本:是

速度:

解读:https://blog.csdn.net/moxibingdao/article/details/128910689

https://zhuanlan.zhihu.com/p/569496186

原先算法的缺陷:

1)用xywh表示位置先验信息导致训练慢

2)基于阅读顺序的标注方法(即文本开始循环一圈)降低了模型性能。

本文创新点:

  1. 显式点query构建(Explicit Point Query Modeling, EPQM) 方法,用上下边界多点均匀采样得到的N点代替xywh的box,显示细化的位置先验信息有助于加速收敛。即用固定数量控制点代替检测框

2)增强的因子化自注意(Enhanced Factorized Self-Attention, EFSA) 模块,挖掘同一文本实例内

控制点query之间的关系。引入了环形卷积与实例内自注意力并行以提供显式的环形引导,明确地模拟多边形点序列的圆形,引入更多的先验以充分挖掘实例内不同控制点query的关系。增强的实例内关系建模与实例间关系建模共同构成了EFSA模块。

3)不依赖文本阅读顺序的标签形式

消融实验如下,可以看到不同新模块对速度及精度的影响

基于DEtection TRansformer (DETR) 框架,detr是2020年facebook基于vision transformer做的目标检测工作,没有了anchor和box操作。架构如下图:

https://blog.csdn.net/qq_35831906/article/details/124118569

FAST-B-800

时间:2021

开源:是

paper:FAST: Faster Arbitrarily-Shaped Text Detector with Minimalist Kernel Representation

是否支持曲线文本:是

速度:快

NAS网络搜索

backbone+类似残差结构+预测层(head)+Text dilation

https://blog.csdn.net/qq_44498420/article/details/125593141

TextFuseNet

时间:2020

开源:

paper:TextFuseNet: Scene Text Detection with Richer Fused Features

是否支持曲线文本:是

是否适合中文:否

速度:

解读:https://blog.csdn.net/lz867422770/article/details/109170271

参考maskTextspotter和maskRCNN的思想,做实例分割。框架如下图,提取字符,单词和全局级别的特征,并引入多路径融合体系结构以融合它们以进行准确的文本检测。

maskTextspotter是单词级别的检测分割,不适合中文场景。

I3CL + SSL

时间:2021

开源:

paper:I3CL:Intra- and Inter-Instance Collaborative Learning for Arbitrary-shaped Scene Text Detection

是否支持曲线文本:

速度:

CharNet H-88

时间:2019

开源:是

paper:Convolutional Character Networks

是否支持曲线文本:是

是否适合中文:否

速度:

https://zhuanlan.zhihu.com/p/90683589

在字符级annotation的基础上完成了文本检测和识别的one-stage网络。又是字符级,做中文不考虑。

FAST-B-640

比800弱一点

DBNet++

时间:2022

开源:是

paper:

Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion

是否支持曲线文本:

速度:

https://blog.csdn.net/qq_14845119/article/details/127103550

DBNet:Real-time Scene Text Detection with Differentiable BinarizationReal-time Scene Text Detection with Differentiable Binarization

DBNet++:Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion

如下图,横轴是FPS,纵轴是F,db++牺牲了一点速度获得了性能的提升。

输出是概率图(probability map)和阈值图(threshold map)

DBNet++在DBNet的基础上增加了ASF(Adaptive Scale Fusion)模块。不同尺度的特征通过ASF模块处理,可以得到更佳的融合特征。

ASF模块通过引入空间attention机制,使得融合后的特征更加鲁棒。

其中N表示要融合的特征数,这里N=4,表示从4个不同的分支引出的特征。

db差异二值化的作用:每个像素都使用不同的阈值进行二值化处理。而这个不同的阈值矩阵又是网络学习得到的。为了保证整个优化过程有梯度的传递,这里又将概率图和阈值图的差传入sigmoid函数,以此来保证梯度的传递。通过梯度优化,保证了不同的图片使用不同的阈值矩阵,达到最佳的二值化效果。

如何处理相邻较近的文本:为了增大相邻文字之间的间距,缓解文字离得太近或者部分重叠的情况。概率图(probability map)的制作会在原始红色多边形的基础上,使用Vatti clipping算法,向内收缩D的距离。

阈值图(threshold map)在红色多边形的基础上,分别向内收缩D距离形成蓝色多边形,向外扩张D距离形成绿色多边形。蓝色多边形和绿色多边形之间的像素形成阈值图。然后计算图内每个像素离最近的边(蓝色边,绿色边)的归一化距离,形成最终的阈值图。阈值图看起来中间像素亮,边缘像素暗。

后处理时,使用概率图(probability map)或者使用二值图(approximate binary map)都是可以的。两者在效果上是一样的。这样在推理过程中,就可以去掉网络中的二值化过程,直接使用概率图。这样网络中的二值化过程的loss就更像一个辅助loss,来使得网络训练的效果更好。

简单来说,后处理时通过概率图获取中心连通域,再用规则缩放边界。

DBNet

网络输入假设为w*h*3。网络整体结构采用FPN的设计思想,进行了5次下采样,3次上采样操作。最终的输出特征图大小为原图的1/4。网络头部部分,分别引出2个分支。一个负责预测概率图(probability map,(w/4)*(h/4)*1),代销为,另一个负责预测阈值图(threshold map,(w/4)*(h/4)*1)。概率图经过阈值图处理,进行二值化后得到二值图(approximate binary map,(w/4)*(h/4)*1)。最后经过后处理操作得到最终文字的边。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023.4.23第五十次周报

目录 前言 文献阅读:基于ARIMA-WOA-LSTM模型的空气污染物预测 背景 ARIMA-WOA-LSTM模型 思路 主要贡献 积分移动平均自回归 (ARIMA) 鲸鱼优化算法 搜索超参数 CEEMDAN 结论 LSTM-Kriging 主要目标 理论猜想 问1&#xff1a…

如何申请百度地图开发者AK和基本使用,并解决Uncaught ReferenceError: BMapGL is not defined的错误

文章目录 1. 文章引言2. 申请AK3. 使用AK4. 解决BMapGL is not defined的错误5. 文末总结 1. 文章引言 今天在学习amis框架中的地理位置(LocationPicker)的组件,如下图所示: 关于amis的更多了解,可以参考博文:百度低代码amis框架的…

适合学生的平价蓝牙耳机有哪些?学生平价蓝牙耳机推荐

随着蓝牙耳机的使用越来越频繁,近几年也出现了很多优质的蓝牙耳机,不仅有着超高的性价比,而且使用体验也有了很大的突破。接下来,我来给大家推荐几款适合学生使用的平价蓝牙耳机,可以当个参考。 一、南卡小音舱Lite2蓝…

Java基础--->基础部分(1)

文章目录 Java语言特点JVM、JRE和JDK的关系什么是字节码?采用字节码的好处是什么?面向对象面向对象的三大特征:封装,继承,多态关键字抽象类和接口特点和区别和equals的区别String、StringBuffer、StringBuilder异常 Ja…

中医脉诊仪:结合传统与现代技术的诊断工具

一、引言 随着科技的不断发展,医学领域也取得了举世瞩目的进步。中医作为一种古老的医学体系,始终保持着其独特的魅力。脉诊作为中医诊断的重要方法之一,历经千年的发展和传承,如今在现代科技的助力下,诞生了中医脉诊…

PostgreSQL标准复制方案

集群拓扑 假设我们使用4单元的标准配置:主库,同步从库,延迟备库,远程备库,分别用字母M,S,O,R标识。 M:Master, Main, Primary, Leader, 主库,权威数据源。S: Slave, Secondary, Standby, Sync…

CTFSHOW web入门——web37

过滤了flag,即c中不能有flag字段。 include包含变量c,因此可以利用文件包含漏洞,让变量c变成php代码,然后通过include函数执行。可以使用data协议获取flag.php文件中的内容 data://协议 通常可以用来执行PHP代码 data://text/pl…

FFmpeg PCM 编码 AAC

1. 概要说明与流程图 1.1 概要: 1) FFmpeg 已经废弃了 AV_SAMPLE_FMT_S16 格式 PCM 编码 AAC,也就是说如果使用 FFmpeg 自带的 AAC 编码器,必须做音频的重采样(重采样为:AV_SAMPLE_FMT_FLTP),否则AAC编码是失败的。 2) 传输 PCM 数据时,采取截取缓存机制,解决接收数据包…

8 年开发告诉你,API 是什么?如何看懂 API 文档

API 指的是应用程序编程接口,它是应用程序之间通信的一种方式,允许应用程序之间相互交互和传输数据。 API 文档是编写 API 的开发人员所提供的用户使用说明,通常包括 API 的用途、参数、请求示例、返回格式等信息,以便开发人员使用…

使用ltp进行三元组提取的实战代码

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Bugzilla详解

Bugzilla详解 引言 Bugzilla是一种开源的缺陷管理系统,用于跟踪软件开发过程中的缺陷、错误和问题。它提供了一个集中化的平台,允许开发团队、测试团队和用户报告和跟踪软件中的缺陷,以便及时发现、修复和验证这些问题。 Bugzilla的作用和用…

前端学习--Ajax(2) form表单

一、form表单 组成&#xff1a;表单标签、表单域&#xff08;采集信息&#xff09;、表单按钮&#xff08;提交&#xff09; 1.1 <form>的属性 action -- 向何处发送表单数据 如果不写默认是当前页面url target -- 在何处打开action的url _blank 在新窗口打开 _self …

设计模式之访问者模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、访问者模式是什么&#xff1f; 访问者模式是一种行为型的软件设计模式&#xff0c;表示一个作用于某对象结构中的各元素的操作…

函函函函函函函函函函函数——one

&#x1f929;本文作者&#xff1a;大家好&#xff0c;我是paperjie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 &#x1f970;内容专栏&#xff1a;这里是《C知识系统分享》专栏&#xff0c;笔者用重金(时间和精力)打造&#xff0c;基础知识一网打尽&#xff0c;…

java: Compilation failed: internal java compiler error

问题描述&#xff1a; 今天学习一个新的框架 Jbolt-v3.0&#xff0c;然后将它通过 IDEA 导入&#xff0c;运行报错&#xff0c;如下显示&#xff1a; 接着我尝试了百度上的解决方案&#xff0c;依然没有解决&#xff0c;遂即记录一下。 原因分析&#xff1a; 出现这种报错的原…

聚观早报|飞猪:五一出游需求爆发;​特斯拉一季度盈利同比跌20%

今日要闻&#xff1a;飞猪&#xff1a;五一出游需求爆发&#xff1b;特斯拉一季度盈利同比暴跌20%&#xff1b;郑渊洁永远不再发表作品&#xff1b;KargoBot推出无人化自动驾驶卡车&#xff1b;中国6G通信技术研发取得重要突破 飞猪&#xff1a;五一出游需求爆发 4 月 19 日&a…

requests实现系统模拟登录

文章目录 requests模拟登录QWebEngine登录存储数据PySide2使用QWebEngineView报错extension_system_qt.cpp(122) failed to parse extension manifest requests模拟登录 使用requests发送post请求&#xff1b;获取响应头中的Set-Cookie的值&#xff1b;将该Cookie值存入浏览器…

图像ROI与mask掩码与图像几何变换

图像ROI与mask掩码与图像几何变换 感兴趣区域ROI: ⚫ ROI—(region of interest)—感兴趣区域 ⚫ 形状可有矩形&#xff0c;圆形&#xff0c;椭圆形等 ⚫ 能够确定分析重点&#xff0c;减少处理时间&#xff0c;提高精度 使用Rect起点终点范围 示例代码&#xff1a; import…

条码控件Aspose.BarCode入门教程(8):C#从图像中读取条形码

Aspose.BarCode for .NET 是一个功能强大的API&#xff0c;可以从任意角度生成和识别多种图像类型的一维和二维条形码。开发人员可以轻松添加条形码生成和识别功能&#xff0c;以及在.NET应用程序中将生成的条形码导出为高质量的图像格式。 Aspose API支持流行文件格式处理&am…

【对话ChatGPT】如何看待java行业内卷的问题?

本文首发自「慕课网」&#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"&#xff01; 作者&#xff1a;ccLoveStudy 当今大环境&#xff0c;编程行业火热&#xff0c;而java行业更是首当其冲&#xff0c;但是为此&#xff0…