IncepText——自然场景中文本检测论文阅读

2024-06-13 09:48

本文主要是介绍IncepText——自然场景中文本检测论文阅读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 摘要
  • 介绍
  • 相关工作
  • 提出的方法
    • 3.1 overview
    • 3.2 Inception-Text
    • 3.3 deformable PSPOI Pooling
    • 3.4 标签和损失函数
  • 实验

摘要

介绍

文本检测的难点是有多种变化的场景:如街景,邮局,室内等,还有各种各样的前景文字和背景物体,各种光亮、模糊和方向。

文字检测算法的发展

  • 传统特征方法:MSER(2010),FASText(2015)
  • 基于CNN 的方法
    • CTPN(2016)RRPN(2017)都是基于Faster rcnn
    • EAST,DDR,直接回归的方法
      本文主要采用FCIS(2016)的实例分割的思想,

创新点

  • 设计了一个Inception-Text 来处理文本的多尺度
  • 在每个分支的最后添加了一个deformable卷积层 来处理多方向问题
  • 用deformable PSROI pooling替换了FCIS中的PSROI pooling,实验结果显示,其在分类效果上更好。

注意: 在ICDAR2015, RCTW-17 and MSRA-TD500数据集上都达到了state-of-the-art,而且没用额外的数据

相关工作

提出的方法

3.1 overview

在这里插入图片描述
以FCIS为基础用Inception-Text和deformable PSROI pooling做了拓展
以ResNet-50为特征提取主网络
为了检测小文本,需要考虑浅层的特征。于是resnet4和resnet5上采样2倍和resnet3相加融合,然后接inception-Text模块。
再用 deformable PSROI 替换PSROI pooling layer

测试时
利用masks和分类分数得到文本区域,然后做非极大值抑制。
针对每个未被抑制的box,通过iou>0.5找到其相似boxes,在做一起做一个融合,用分类的分数做权重。
最后用最小区域生成算法,得到文字区域 (opencv中好像有函数)


3.2 Inception-Text

在这里插入图片描述
主要在Inception模块上进行的修改

  • 1×1 conv进行降维
  • n×n conv变成n×1和1×nconv
  • 每个分支加上了deformable conv
  • 向Inception-ResNet V2一样,使用了1×1的shortcut层

说明deformable卷积优势
在场景文本检测中,任意文本方向是最具挑战性的问题之一,可变形卷积允许采样网格自由变形,而不是标准卷积中的规则采样网格。这种变形受到输入特征的制约,因此当输入文本旋转时,接受域就会进行调整
在这里插入图片描述


3.3 deformable PSPOI Pooling

PSROI池(Dai et al., 2016)是常规ROI池的一种变体,它在位置敏感的评分地图上运行,没有下面的加权层。位置敏感属性为分类和对象位置编码有用的空间信息。
在这里插入图片描述
没细看


3.4 标签和损失函数

在这里插入图片描述
四边形中的都是正样本,外的就是负样本
回归任务的目标是虚线的矩形,分割任务的目标是灰色的掩码。
哦,懂了,应该是采用的Faster rcnn two stage的方案,RPN部分分类和回归定位到虚线的矩形框,RCNN部分再是灰色的掩码和虚线的矩形框部分。瞎猜的

五个部分的loss
在这里插入图片描述


实验

在这里插入图片描述
比EAST高了很多,值得复现。

这篇关于IncepText——自然场景中文本检测论文阅读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056961

相关文章

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Java中Runnable和Callable的区别和联系及使用场景

《Java中Runnable和Callable的区别和联系及使用场景》Java多线程有两个重要的接口,Runnable和Callable,分别提供一个run方法和call方法,二者是有较大差异的,本文... 目录一、Runnable使用场景二、Callable的使用场景三、关于Future和FutureTa

Java实现将Markdown转换为纯文本

《Java实现将Markdown转换为纯文本》这篇文章主要为大家详细介绍了两种在Java中实现Markdown转纯文本的主流方法,文中的示例代码讲解详细,大家可以根据需求选择适合的方案... 目录方法一:使用正则表达式(轻量级方案)方法二:使用 Flexmark-Java 库(专业方案)1. 添加依赖(Ma

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形