当前位置: 首页 > news >正文

论文解读 | [CVPR2020] ContourNet:向精确的任意形状场景文本检测迈出进一步

目录

1 研究背景和目的

1.1 主要贡献:

1.2 两个挑战:

2 ContourNet

3 方法论

3.1 Adaptive-RPN

3.2 LOTM 

3.3 点重定位算法

4 实验和结果


论文地址:ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Text Detection

1 研究背景和目的

场景文本检测是一项在复杂背景中检测文本区域并用边界框标记它们的任务。在这篇文章中,作者提出了一种不区分尺度的自适应区域建议网络(AdaptiveRPN),通过仅关注预测和地面真实边界框之间的联合交集(IoU)值来生成文本建议。一个新的局部正交纹理感知模块(LOTM)在两个正交方向上对提案特征的局部纹理信息进行建模,并用一组轮廓点表示文本区域。

1.1 主要贡献:

1、我们提出了一种新的FP抑制方法,通过在两个正交方向上对局部纹理信息进行建模,这是一种更直接的方法,与以前的方法相比,计算量更少。

2、所提出的自适应RPN有效地处理了大规模方差问题,并实现了文本区域的更精细定位,这可以很容易地嵌入到现有方法中。

1.2 两个挑战:

第一个挑战是误报(FP)

第二个挑战是场景文本的大规模变化

2 ContourNet

 ContourNet 主要由三部分组成:自适应区域建议网络(Adaptive-RPN)、局部正交纹理感知模块(LOTM) 和点重定位算法。

自适应区域建议网络(Adaptive-RPN):首先通过自动学习文本区域上的一组边界点来生成文本建议,这些边界点指示文本实例的空间扩展。Adaptive-RPN 的训练对象由预测和图像真实边界框之间的 loU 值驱动。与传统的 RPN 方法相比,Adaptive-RPN 对场景文本的大规模变换不敏感,并且可以自动考虑文本区域的形状信息,以实现更精细的定位。

局部正交纹理感知模块(LOTM):为了捕获文本轮廓区域中的不同纹理特征。LOTM 以两个正交方向上(水平/垂直)对建议特征的局部纹理信息进行建模,并用两个不同热力图中的轮廓点表示文本区域,其中任一热力图仅对特定方向上的纹理特征做出响应。

点重定位算法:通过同时考虑两个正交方向的响应,有效地过滤具有强单向或弱正交激活的预测。以这种方式,文本区域被检测并用一组高质量的轮廓点表示。

3 方法论

3.1 Adaptive-RPN

图2 红点是提案边界框预定义的一组点,绿点是细化点(最后真实边界框的点),皇上虚线表示回归的偏移量(红点-->绿点)

Adaptive-RPN 只关注预测边界框和真实边界框之间的 loU 值,这是一种比例不变的度量,并使用一组预定义点 P={(x_{l}, y_{l})}^{n}_{l=1}(1个中心点,n-1 个边界点)来代替建议表示的4维向量。并通过公式1细化这一组预定义点(红点)为真实边界点(绿点)

可以细化表示为:

 其中{\Delta x_{l}, \Delta y_{l}}^{n}_{l=1}是到预定义点的预测偏移量,w_{c} 和 h_{c} 是当前边界框建议的宽度和高度。

 如图2所示,预测的偏移量用于处理当前提案边界框中n个预定义点的局部细化。然后,我们使用下面方程的max-min函数将这些细化点与4个极值点绑定,以表示预测的边界框(Ground-truth bounding box)。其中,中心点 ({x}', {y}') 用于规范化边界框(例如,如果x_{tl} > {x}',则 x_{tl} = {x}'

3.2 LOTM 

图3、LOTM(左),点重定位算法(右) 

如图3所示,LOTM 包含两个分支(水平/垂直) 。在水平方向上,在特征图上滑动大小为 1×k 的卷积核,来模拟水平方向上的局部纹理信息,它只关注 k 范围区域中的纹理特征。而垂直方向上通过大小为 k×1 的卷积核来模拟垂直方向上的纹理特征。k 是超参数,用于控制纹理特征感受野的大小。最后,实施两个 Sigmoid 层,将两个方向上的热图标准化为[0, 1]。这样就可以在两个正交方向上检测文本区域,并在两个不同的热图中用轮廓点表示。

3.3 点重定位算法

Point Re-scoring Algorithm(点重定位算法)用来进一步处理来自 LOTM 的两个热图。如下算法所示,首先通过非最大抑制(NMS)处理不同热图中的点,以实现紧密表示。然后抑制具有强单向或弱正交响应的预测,最后选择两个热图中具有不同响应的点作为候选。最后,文本区域就可以用这些高质量轮廓点组成的边界框表示。

NMS_{H} 和 NMS_{V}  分别表示水平和垂直方向的NMS操作。 θ = 0.5,以更好的权衡召回率和精度。

4 实验和结果

相关文章:

论文解读 | [CVPR2020] ContourNet:向精确的任意形状场景文本检测迈出进一步

目录 1 研究背景和目的 1.1 主要贡献: 1.2 两个挑战: 2 ContourNet 3 方法论 3.1 Adaptive-RPN 3.2 LOTM 3.3 点重定位算法 4 实验和结果 论文地址:ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Tex…...

干货分享|数据可视化报表制作技巧

脑中想得再好,也要看最终的效果呈现。但偏偏有些用户分析思维不差,就是数据分析报表的制作拖了后腿,导致始终无法完美呈现数据可视化分析效果。本文将总结奥威BI软件上的常用的数据可视化报表制作技巧,供大家随时查阅。 BI数据可…...

Longhorn,企业级云原生容器分布式存储 - 备份与恢复

Longhorn,企业级云原生容器分布式存储 - 备份与恢复快照手动快照周期性快照和备份使用 Longhorn UI 设置周期性快照使用 StorageClass 设置 Recurring Jobs分离卷时允许 Recurring Job容灾卷创建容灾(DR)卷备份设置备份目标使用阿里云OSS备份存储准备工作为 S3 兼容…...

亿级高并发电商项目-- 实战篇 --万达商城项目 十(安装与配置Elasticsearch和kibana、编写搜索功能、向ES同步数据库商品数据)

亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计) 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#x…...

windwos安装spring-cloud-alibaba-nacos

windwos安装spring-cloud-alibaba-nacos前言一、预备环境二、下载源码或者安装包1.启动2.关闭总结前言 这个快速开始手册是帮忙您快速在您的电脑上,下载、安装并使用 Nacos。 一、预备环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos&#x…...

Spring Boot 项目如何统一结果,统一异常,统一日志

1 统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。1.1 统一结果的一般形式是否响应成功;响应状态码;状态码描述;响应数据;其他标识符&#…...

Ubuntu下用Lean源码编译openwrt及一行命令u盘启动openwrt安装x86硬盘上

Ubuntu下用Lean源码编译openwrt 源码地址:https://github.com/coolsnowwolf/lede 1:首先微软云服务器装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64,免费一年。ip设置在地球某处。总结就是每一步需要下载的都得下载完,…...

JavaScript Number 对象

JavaScript 是一门非常强大的编程语言,它提供了许多内置对象来帮助开发者在编写 JavaScript 应用时更轻松地处理数据。其中一个非常有用的对象是 JavaScript Number 对象,它可以帮助我们处理数值类型的数据,例如整数和浮点数。在本文中&#…...

【原创】java+swing+mysql银行ATM管理系统

本文主要介绍使用javaswingmysql去设计一个银行ATM管理系统,模仿实现存款、取款、转账、余额查询等功能。 功能分析: 隐含ATM管理系统一般分为管理员和用户角色,管理员可以进行用户管理、账单管理,用户可以进行转取存款等功能如…...

博弈论--总结

博弈分类 按照是否对外产出或消耗 零和博弈:博弈过程作为整体对外无产出也无消耗。非零和博弈:博弈过程作为整体对外有产出或有消耗。 按照博弈参与人数 1人博弈2人博弈3人博弈n人博弈 按照博弈是否重复 注:同一规则的同一博弈过程反复…...

AMBA低功耗接口规范(Low Power Interface Spec)

1.简介 AMBA提供的低功耗接口,用于实现power控制功能。目前AMBA里面包含2种低功耗接口: Q-Channel:实现简单的power控制,如上电,下电。 P-Channel:实现复杂的power控制,如全上电,半上…...

matlab-汽车四分之一半主动悬架模糊控制

1、内容简介汽车四分之一半主动悬架模糊控制651-可以交流、咨询、答疑2、内容说明半主动悬架汽车 1/4 动力学模型建立 本章主要对悬架类型进行简要介绍,并对其进行对比分析,提出半主动悬架的优越性,论述半主动悬架的工作原理,并对…...

【安全加密】通信加密算法介绍

加密常用于通信中,如战争中电台通讯有明码和密码,密码需要不断更换密码本;另外,商用软件也需要用到加密技术,如根据电脑的mac地址设置权限,防止软件被恶意传播。 文章目录一、介绍1. 单向散列/哈希算法2. 对…...

kubernetes教程 --组件详细介绍

组件详细介绍 NameSpace 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…...

数字化系统使用率低的原因剖析

当“数字化变革”成为热门话题,当“数字化转型”作为主题频频出现在一个个大型会议中,我们知道数字化时代的确到来了。但是,根据Gartner的报告我们看到一个矛盾的现象——85%的企业数字化建设与应用并不理想、但对数字化系统的需求多年来持续…...

<<Java开发环境配置>>7-Apache Tomcat安装教程环境变量配置IDEA配置

一.Apache Tomcat简介: Apache是普通服务器,本身只支持html即普通网页。不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomc…...

互联网大厂测开面试记,二面被按地上血虐,所幸Offer已到手

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 如何备战面试的? 第一步:准备简历…...

网络管理之设备上线技术的发展现状和趋势

网络和网络设备无处不在 随着社会的发展和技术的进步,人类文明开始向信息时代演进,网络逐渐变成现代社会不可或缺的一部分,极大程度影响了人类的认知形式、思维方式与生活模式。从家庭网,到企业网;从无线网&#xff0…...

SQL67 返回固定价格的产品

描述有表Productsprod_idprod_nameprod_pricea0018sockets9.49a0019iphone13600b0018gucci t-shirts1000【问题】从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9.49 美元的产品。【示例结…...

webpack 开发环境的基本配置(webpack打包样式资源、html、图片、devserver、开发环境配置、以及其他资源)

A.打包样式资源 1. 创建文件 2. 下载安装 loader 包 npm i css-loader style-loader less-loader less -D 3. 修改配置文件 /*webpack.config.js webpack的配置文件作用: 指示 webpack 干哪些活(当你运行 webpack 指令时,会加载里面的配置&#xff…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

离线语音识别方案分析

随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...