基于深度学习的场景文本检测

news2024/11/25 10:38:52

CTPN

简介:
基于目标检测方法的文本检测模型,在Faster RCNN的基础上进行了改进,并结合双向LSTM增强了序列提取特征,通过anchor和gt的设计将文本检测任务转化为一连串小尺度文本框的检测。
解决问题:
文本长短不一,基于anchor的目标检测网络很难通过设置合适的anchors去适应不同的样本。
在这里插入图片描述
网络结构:
在这里插入图片描述

  1. 使用VGG提取网络特征获取大小为 N∗H∗W∗C 的特征图;
  2. nhwc, 提取33的框,n9chw->(nH)w9c
  3. 以 W为序列维度输入到一个双向的LSTM,学习每一行的序列特征;
  4. 送入RPN ,其中anchor宽度设置为16,高度为k个不同的值;
  5. NMS过滤;
  6. 文本框进行合并。(合并规则:水平距离小于50,文本框高的交并比大于0.7)。
    存在的问题:
    只能检测水平文本,无法检测带倾斜角度的文本。

EAST

简介:
基于像素回归的文本检测网络。
解决问题:
ctpn这类基于检测小文本框再合并的算法速度较慢,且无法检测倾斜文本。
网络结构:
[图片]

1 Unet提取图像特征,增强特征提取能力;
2 两个输出头用于预测,一个输出score map用于预测每个像素的得分值,一个输出box信息(中心点坐标、宽、高、旋转角度;box四点坐标);
3 逐行合并的nms增加合并效率。
存在的问题:
可以处理的文本实例的最大大小与网络的感受野成比例。这限制了网络预测甚至更长文本区域的能力;
无法检测弯曲文本。

PSENET

简介:
psenet作为一种基于分割的方法,能够对任意形状的文本进行定位。其次,该模型提出了一种渐进的尺度扩展算法,该算法可以成功地识别相邻文本实例。
解决问题:
能够对任意形状的文本进行定位;
基于内核的思想可更加精准的分离相邻文本实例。
网络结构:
[图片]

1 resnet+fpn提取特征;
2 输出7个渐进减少的内核图;
[图片]

3 通过广度优先搜索(BFS),从最小的内核图逐步扩充到最大预测图:
(1) 从具有最小尺度的核S 1 S_1S开始(在此步骤中可以区分实例,不同实例有不同的连通域);
(2)通过逐步在较大的核中加入更多的像素来扩展它们的区域;
(3)完成直到发现最大的核.
存在的问题:
基于分割的文本检测模型无法区分重叠的文本实例,文本框较多时后处理时长很慢。

DBNET

简介:
基于分割的文本检测方法,延续了psenet的内核思想,提出了可微分二值化模块。
解决问题:
将阈值二值化过程变得可微,这一小小改动不仅可以增加错误预测梯度,也可以联合优化各个分支,得到更好的语义概率图。
网络结构:
[图片]

1 resnet+fpn提取特征;
2 输出两个一个内核区域的概率图,和外核区域的阈值图;
3 通过阈值图与概率图的计算得出内核二值图。
[图片]

(1)内核外核构建图:
[图片]

[图片]

(2)本质就是带参数K的sigmod函数,通过参数K=50来模拟hard截断二值化函数。
[图片]

4 后处理直接对每个内核文本实例按比例进行外扩。
存在的问题:
基于分割的文本检测模型无法区分重叠的文本实例。

DBNET++

[图片]

添加了注意力机制模块,在空间维度学习不同尺度和不同空间位置的权重,达到 scale-robust 特征融合。
[图片]

近期新文章:
结合transformer,提出新的端到端文本检测识别网络/更精准的检测弯曲文本。
端到端文本识别:

TESTR:

[图片]

在DETR的基础上提出适合文本端到端识别的算法,两个decoder分别输出charactor和polygon。
Deepsolo:
[图片]

encoder输出Bezier曲线,decoder输出确切的曲线值。
弯曲文本检测(基于contour的文本检测):

DPtext_former:

[图片]

encode输出box,对文本框的点进行重采样,decoder输出polygon,解决旋转角度过大或反向文本的多边形。

MixNET:

[图片]

cnn输出polygon后,使用transformer得到更精准的polygon坐标。

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

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

相关文章

Android14 - AMS之Activity启动过程(2)

Android14 - AMS之Activity启动过程(1)-CSDN博客 Android14 - AMS之Activity启动过程(3)-CSDN博客 上篇梳理到: TaskDisplayArea和Task的复用与创建 TaskDisplayArea executeRequest后,随后调用startActivi…

软件系统开发设计的基本流程

一、前言 经过年的工程实践软件系统开发的流程演变有很多种,但是最基本的还是瀑布模型。但是由于近几年演变了很多种模型,现在很多公司的研发流程并不遵循瀑布模型。主要原因是无法满足市场竞争的需求。比如在哪某个节日需要敏捷上线活动等这样的场景。没…

python网络爬虫实战教学——urllib的使用(1)

文章目录 专栏导读1、前言2、urllib的使用3、发送请求3.1 urlopen3.2 request 专栏导读 ✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》,本专栏针对…

支付宝小程序一次性订阅requestSubscribeMessage授权和操作详解

一、授权 — requestSubscribeMessage my.requestSubscribeMessage({entityIds: [xxxx],success: (res) > {console.log("success回调", res)},fail: res > {console.log(fail回调, res)} })success 回调函数 behavior String 用户订阅操作结果 — subscribe …

【译】矢量数据库 101 - 什么是矢量数据库?

原文地址:Vector Database 101 - What is a Vector Database? 1. 简介 大家好——欢迎回到 Milvus 教程。在上一教程中,我们快速浏览了每天产生的日益增长的数据量。然后,我们介绍了如何将这些数据分成结构化/半结构化数据和非结构化数据&…

【python】Matplotlib库安装教程

1.你要有python(如果没装可以看这篇文章文章安装) python及pycharm安装教程(2024超详细) 2.更新pip(此步可跳过) win R ;输入cmd(就是打开命令提示符) 打开后&#x…

【Linux】传输层协议:TCP/UDP

目录 netstat pidof UDP协议 TCP协议 TCP协议段格式 TCP协议的相关机制 确认应答(ACK)机制 超时重传机制 连接管理机制 服务端状态转换 客户端状态转化 流量控制 流量控制常见问题: 滑动窗口 拥塞控制 延迟应答 面向字节流…

electron-builder 打包问题,下载慢解决方案

目录 问题说明设置下载源 ?解决方案思路下载Electron下载winCodeSign下载nsis下载nsis-resources 总结 问题说明 项目使用了Electron,在第一次打包时会遇见下载慢,导致打包进度几乎停滞不前,甚至可能直接报错 其实这是因为Electr…

UML学习体会

1. 水在前面 本来写作的水平就很一般,平时写的也少。最近看到一些文章说学习最好的方式是输出,刚好又重温了一遍UML方面的基础,所以想记录点学习心得。而且说实话这玩意平时基本不怎么用(偶尔倒是看看别人的成果)&…

智能客服知识库如何搭建比较方便?教程奉上!

随着科技的进步,人工智能已深入到我们日常生活的各个角落。在客服行业里,智能客服知识库的出现,不仅极大地减轻了客服人员的工作负担,还提升了用户的服务体验。那么,怎样才能建立一个方便和实用的智能客服知识库呢&…

Acwing.167 木棒(回溯)

题目 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序,帮助乔治计算木棒…

【马斯克开源GROK-1模型】意味着什么?

目录 1.激动人心的消息 Grok-1 根据 Apache License 2.0 开放源代码 题外话-介绍JAX框架 2.grok-1模型参数介绍 3.推理grok-1模型需要多大显存? 4.grok-1开源意味着什么? 5.最后,让我们一同期待开源grok-1模型的训练代码!…

电脑内存取证

目录 电脑内存文件与volatility工具获取电脑用户名获取程序最后一次运行的时间总结 电脑内存文件与volatility工具 这个文件就是内存文件 提取内存信息,我们一般采用volatility工具进行提取,具体如何安装和使用,直接去网上搜索就可以了 获取…

力扣Lc18--- 168. Excel表列名称(java版)-2024年3月19日

1.题目描述 2.知识点 因为是输入字符 然后显示数字。 就类似2进制10代表2&#xff0c;110代表4&#xff0c;用某进制次幂的方式返回最后的数字结果。 3.代码实现 class Solution {public int titleToNumber(String columnTitle) {int sum0;for(int i0;i<columnTitle.len…

大数据架构技术选型

OLAP数据库选型对比&#xff1a; AnalyticDB(阿里&#xff09;、Hologres&#xff08;阿里&#xff09;、Doris、StarRocks、ClickHouse、Hbase AnalyticDB MySQL 技术架构 Adb是融合数据库、大数据技术于一体的云原生企业级数据仓库服务、支持高吞吐的数据实时增删改查低延时…

企业合规视角下的恒大地产财务造假案深度剖析

当幕布被拉开&#xff0c;真相暴露在聚光灯下&#xff0c;近日中国房地产市场的巨头恒大地产因财务造假被中国证监会严厉处罚&#xff0c;引起了公众和市场的强烈震动。这份重量级的罚单&#xff0c;不仅以41.75亿元的天价罚款单给恒大地产记下了沉重的一笔&#xff0c;更是将包…

数据仓库相关概述

数据仓库概述 数据仓库概念 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据&#xff0c;借助数据仓库的分析能力&#xff0c;企业可从数据中获得宝贵的信息进而改进决策。同时&#xff0c;随着时间的推移&#xff0c;数据仓…

IDEA Git恢复DropCommit删除的提交

刚刚Dorp commit了&#xff0c;本地代码也被删除了&#xff0c;如何恢复呢&#xff0c; 从项目中登录git&#xff0c;找到刚刚的commit代码&#xff0c;如下所示&#xff1a;输入命令git reflog 复制代码&#xff0c;到idea中&#xff0c;打开GIt&#xff0c;找到RESET HEAD, …

【数据可视化】使用Python + Gephi,构建中医方剂关系网络图!

代码和示例数据下载 前言 在这篇文章中&#xff0c;我们将会可视化 《七版方剂学》 的药材的关系&#xff0c;我们将使用Python制作节点和边的数据&#xff0c;然后在Gephi中绘制出方剂的网络图。 Gephi是一个专门用于构建网络图的工具&#xff0c;只要你能提供节点和边的数…

Android StateLayout状态页

文章目录 Android StateLayout状态页概述源码使用源码下载 Android StateLayout状态页 概述 StateLayout&#xff08;状态页&#xff09;包含&#xff1a;加载中页面&#xff0c;错误页面&#xff0c;空页面&#xff0c;内含状态默认页面&#xff0c;支持自定义页面。 源码 …