论文解读 | [CVPR2019] 基于自适应文本区域表示的任意形状场景文本检测
目录
1 研究背景及意义
2 总体设计
3 方法论
3.1 自适应文本区域表示
3.2 文本建议
3.3 建议改进
4 损失函数
5 实验及结果
1 研究背景及意义
现有的场景文本检测方法使用固定点数的多边形来 表示文本区域。例如,水平文本使用2个点(左上/右下)表示文本区域,多方向文本用4个点表示文本区域,对于弯曲文本(CTW1500)使用14个点表示文本区域。虽然使用固定点数的方式能很好的适应对应的实例,但面对复杂的场景文本时仍然不能很好的表示文本区域。例如,弯曲的长文本即使是用14个点也不足以表示出文本区域,而对于定向或多方向文本14个点右显得很浪费。
针对上面的问题,本文提出了一种针对不同形状文本使用不同点数的自适应文本区域表示方法。同时,使用RNN学习每个文本区域的自适应表示,使用该表示可以直接标记文本区域,并且不需要逐像素分割。
2 总体设计
图1 本文提出的任意形状文本检测流程图,包括文本建议和建议改进两个阶段。
文本建议:Text-RPN 生成图像的文本建议,同时提取输入图像的 CNN 特征图,用于后面的操作。
建议改进:使用细化网络对文本建议进行细化和验证。其中包括文本/非文本,边界框回归和基于 RNN 的自适应文本区域表示。最后,输出标记有自适应点数的多边形的文本区域作为检测结果。
3 方法论
3.1 自适应文本区域表示
传统的使用固定点数的文本区域表示方法对于复杂的场景文本并不实用,本文使用自适应点数的多边形来表示文本区域,并且这样才是合理的。
如图2(a) 所示,文本区域边界上的角点可以用于文本区域的表示,但是这种方法对于点不是按方向排列的,可能很难学习表示,同时还可能需要人为矫正来实现精确的分割。在本文中,考虑到文本区域通常具有近似对称的上下边界。使用上下边界的成对点表示文本区域似乎更合适,如图2(b)。并且对这些成对点从一端到另一端的学习也会很容易。
图2
图3 (a)由4个点(2对)表示的文本区域; (b)由6个点(3对)表示的文本区域;
(c) 由12个点(6对)表示的文本区域。
3.2 文本建议
Text-RPN 生成文本区域候选。Text-RPN 与 Faster R-CNN 中的 RPN 相似,骨干网络使用 SE-VGG16,如图4所示。通过将压缩和激励块(SE)添加到 VGG16 而获得的。SE模块(图5)通过显式建模信道之间的相互依赖性,自适应地重新校准信道特性响应,这可以产生显著的性能改进。FC为全连接层,ReLU 表示矫正线性单位函数。
图4 SE-VGG16网络的架构
图5 SE模块的架构
3.3 建议改进
将文本建议模块中生成的文本区域候选进行验证和细化。如图6所示,一个细化网络用于提案细化,它由几个分支组成:文本/非文本分类、边界框回归和基于RNN的自适应文本区域表示。这里,文本/非文本分类和边界框回归与其他两阶段文本检测方法相似,而最后一个分支被提出用于任意形状的文本表示。
图6 细化网络
该分支输入的是文本提议的特征,输出的是每个文本区域边界上自适应成对点数量和坐标。文本提议的特征是通过使用 ROI 池和 SE-VGG16 生成的 CNN 特征图获得的。使用长短期存储(LSTM)学习文本区域表示。LSTM 中每个时间步骤的输入是相应文本提案的 ROI 池特征。
由于不同的文本区域点数不同,因此需要停止标签来表示预测网络何时停止。停止标签预测是分类问题,坐标预测是回归问题。所以一个 LSTM 有两个分支:一个用于坐标回归,一个用于停止标签预测。如果标签继续,则在下一时间步骤中预测另两个点的坐标和新坐标。否则,停止预测,文本区域用之前预测的所以成对点表示。
图7
成对边界点的两种表示方式:
。通过这种方式,成对点的坐标被用作回归目标,如图7所示。
、
和
。
为成对边界点的中心坐标,
是到它们的距离,
为方向(角度)。
方法2中,角度在某些特殊情况下并不稳定,这就使得网络很难很好的学习角度目标。所以,该方法使用点 的坐标作为回归目标。
4 损失函数
Text-RPN 与 Faster R-CNN 中的 RPN 相似,因此 Text-RPN 的训练损失也以与之相似的方式计算。本文关注细化网络的损失:文本/非文本损失、边界框回归损失、边界点回归损失和停止/继续标签分类损失的总和。 、
和
是控制这些项之间权衡的平衡参数,被设置为1。
文本/非文本损失: t 是类别标签的指示符。文本: t=1; 非文本: t=0。p = () 是 softmax 之后计算的文本和背景类的概率。
边界框回归损失:v = () 是包含中心点坐标、宽度和高度的真实边界框回归目标的元组,
= (
) 是每个文本提案的预测元组。本文使用 Faster R-CNN 中给出的 v 和
的参数化,其中 v 和
指定了相对于对象建议的比例不变平移和对数空间高度/宽度偏移。
边界点回归损失: 真实边界点坐标的元组;
文本标签的预测点的元组。为了使所学习的点适用于不同尺度的文本,还应该处理学习目标以使它们尺度不变。参数
处理如下:
其中, 和
表示边界点的坐标,
和
表示相应文本提案的中心点坐标,
和
表示该提案的宽度和高度。
停止/继续标签分类损失:设 表示
或者
,
定义为平滑
损耗,如 Faster R-CNN所示:
对于停止/继续标签分类损失术语,它也是一种二进制分类,其损失的格式类似于文本/非文本分类损失。
5 实验及结果
略
相关文章:

论文解读 | [CVPR2019] 基于自适应文本区域表示的任意形状场景文本检测
目录 1 研究背景及意义 2 总体设计 3 方法论 3.1 自适应文本区域表示 3.2 文本建议 3.3 建议改进 4 损失函数 5 实验及结果 1 研究背景及意义 现有的场景文本检测方法使用固定点数的多边形来 表示文本区域。例如,水平文本使用2个点(左上/右下)表示文本区域&…...

2月编程语言排行榜谁还没有看?
近日,TIOBE公布了2023年2月编程语言排行榜,本月各个语言表现如何?谁又摘得桂冠?一起来看看吧! TIOBE 2月Top15编程语言: 详细榜单查看TIOBE官网 https://www.tiobe.com/tiobe-index/ 关注IT行业的小伙伴们…...

nginx.conf配置方法详细介绍
从前面的内容学习中,我们知道Nginx的核心配置文件默认是放在/usr/local/nginx/conf/nginx.conf,这一节,我们就来学习下nginx.conf的内容和基本配置方法。读取Nginx自带的Nginx配置文件,我们将其中的注释部分【学习一个技术点就是在…...

【微信小程序】一文带你吃透开发中的常用组件
写在前面 小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。 官方把小程序的组件分为了9大类,分别是: 1.视图容器 2.基础内容 3.表单组件 4.导航组件 5.媒体组件 6.地图组件 7.画布组件 …...

Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题(完整步骤)(亲测有效)
Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题(完整步骤)(亲测有效) 1.流程步骤(本教程下载的是1.20.2版本,放在D盘) 1-1. 首先去官方下载 nginx ,然后在当前目录下创建ht…...

leaflet 加载geojson数据,随机显示不同颜色的circleMarker
第086个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet项目中加载geojson数据,随机显示不同颜色的circleMarker. 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共89行)相关API专栏目标示例效果 配置方式…...

UL grant的分配(LCP)
欢迎关注同名微信公众号“modem协议笔记”。 UE有UL data时,会发送BSR的告知网络侧自己详细的请求,期望网络能够如期下发UL grant,正常情况下网络侧会给UE足够的UL grant去发送UL data,整个过程都会比较顺利。UE收到UL grant后&a…...

真我air笔记本电脑怎么重装Win10系统?
真我air笔记本电脑怎么重装Win10系统?最近真我air笔记本电脑挺多用户购买的,因为这款电脑性价比比较高,适合学生和一些办公人员来使用。但是系统预制了Win11系统,有用户想要将系统重装到Win10来使用。那么如何去进行系统的重装呢&…...

【闲聊杂谈】深入剖析SpringCloud Alibaba之Nacos源码
Nacos核心功能点 服务注册 Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中; 服…...
MySQL删除或清空表内数据的方法
MySQL删除或清空表内数据的方法 一、使用MySQL清空表数据命令:truncate SQL语法为: truncate table 表名注意: truncate该命令会直接将数据表内数据清空;truncate该命令删除数据后会重置Identity(标识列、自增字段…...
Android 权限(二): 动态权限讲解
1. 前言 继上一篇文章说到Android权限汇总, 请移步笔者的文章Android 权限(一):权限大全_broadview_java的博客-CSDN博客_android 仅使用中允许权限 先要理清楚权限分类和定义,本篇文章继续说一下动态权限的申请和框架层的实现流程, 以及如何实现赋予系统应用默认的…...

【C++】2.类和对象(上)
1.面向过程和面向对象 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 2.类的引入…...

扬帆优配|3300点半日游!上证指数冲高回落;再迎重磅利好!
今天早盘,A股冲高回落,上证指数3300点得而复失,深证成指也于12000点无功而返。 盘面上,煤炭、钢铁、房地产、才智政务等板块涨幅居前,酿酒、酒店餐饮、日用化工、IT设备等板块跌幅居前。北上资金净流入7.77亿元。 房地…...

如何编写性能测试计划?一篇文章教你设计符合项目的性能测试计划
上篇文章,我们讲过性能测试计划,接下来我们就来讲讲如何设计符合项目的性能测试计划。到上篇为止,我们了解了性能测试计划中包含的内容,但是,这个颗粒度,我觉得作为一名测试经验不够丰富的性能工程师来说&a…...
第3章 Windows 下安装 Memcached教程
官网上并未提供 Memcached 的 Windows 平台install 包,咱们可以使用以下链接来download ,需要根据自己的去下载: 点击下载 在 1.4.5 版本以前 memcached 可以作为一个服务install ,而在 1.4.5 及之后的版本删除了该功能。因此咱…...
RXjava中的操作符
要使用Rxjava首先要导入两个包,其中rxandroid是rxjava在android中的扩展 implementation io.reactivex:rxandroid:1.2.1implementation io.reactivex:rxjava:1.2.0Rxjava中的操作符 创建型操作符 interval 创建一个按固定时间间隔发射整数序列的Observable…...

前端页面jquery规范写法
使用最新版本的 jQuery 最新版本的 jQuery 会改进性能和增加新功能,若不是为了兼容旧浏览器,建议使用最新版本的 jQuery。以下是三条常见的 jQuery 语句,版本越新,性能越好: $(.elem) $(.elem, context) context.find(.elem) 结果 1.6.2 版执行次数远超两个老版本。 jQ…...

【HEC-RAS水动力】HEC-RAS 1D基本原理(恒定流及非恒定流)
一、数据说明 HEC-RAS模型主要由工程文件 (.prj) 文 件 、 河道地形数据文件 ( .g01)、运行文件(p01)、非恒定流文件 ( .u01) 等部分组成。 1. 一般数据 在创建并保存project文件(*.prj)后,其他data文件均会自动以同样的名字保存,但采用不同的后缀来区分各类文件。 &qu…...

2.Gin内容介绍
目录 参考 主要内容 关于Web 创建项目 为什么要用框架 Gin框架介绍 Gin框架安装与使用 安装 第一个Gin示例: RESTful API Gin渲染 HTML渲染 自定义模板函数 静态文件处理 使用模板继承 补充文件路径处理 JSON渲染 XML渲染 YMAL渲染 protobuf渲染…...

python--matplotlib(3)
前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。 其他matplotlib文章 python--matpl…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
6.9本日总结
一、英语 复习默写list11list18,订正07年第3篇阅读 二、数学 学习线代第一讲,写15讲课后题 三、408 学习计组第二章,写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语:复习l默写sit12list17&#…...

无头浏览器技术:Python爬虫如何精准模拟搜索点击
1. 无头浏览器技术概述 1.1 什么是无头浏览器? 无头浏览器是一种没有图形用户界面(GUI)的浏览器,它通过程序控制浏览器内核(如Chromium、Firefox)执行页面加载、JavaScript渲染、表单提交等操作。由于不渲…...