论文解读 | [AAAI2020] 你所需要的是边界:走向任意形状的文本定位

news/2024/3/30 0:01:26/文章来源:https://blog.csdn.net/qq_44950283/article/details/129169443

 目录

1、研究背景

2、研究的目的

3、方法论

3.1 Boundary Point Detection Network(BPDN)

3.2 Recognition Network

3.3 Loss Functions

4、实验及结果 

论文连接:https://ojs.aaai.org/index.php/AAAI/article/view/6896 

1、研究背景

        最近,旨在同时从杂乱图像中检测和识别文本的端到端文本识别在计算机视觉中受到了越来越多的关注。由于文本检测广泛的实际应用,如办公自动化、网络内容安全、智能交通系统、地理位置和视觉搜索,从自然图像中自动阅读文本已引起极大关注。

        在过去的十年中,场景文本检测和识别作为阅读系统的两个独立的子任务被广泛研究,但事实上,文本检测与识别是高度相关且相互补充的。最近的端到端文本识别方法证实了这一假设,该方法将检测和识别阶段与端到端可训练神经网络相结合。这些定位方法遵循类似的流程。首先,检测每个文本实例的水平/定向边界框。然后,裁剪检测到的边界框内的图像块或CNN特征,并将其馈送到序列识别模型。得益于特征共享和联合优化,可以同时增强检测和端到端识别的性能。尽管取得了可喜的进展,但大多数现有的点样方法受到处理不规则形状文本(如曲线文本)的困扰。对于一般的端到端OCR系统,处理具有任意形状的文本是不可避免的,因为曲线文本和其他类型的不规则文本在我们的现实世界中非常常见。

2、研究的目的

        传统的方法中,检测到的每个文本实例的边界框都是用矩形来表示,但矩形框在描述不规则文本的边界框时有很大的局限性,因为它包含或多或少的背景信息,这给文本识别阶段带来了困难。在本文中,检测的目的是预测一组边界点,其对于描述场景文本的各中妆容更灵活。同时,边界点可以准确获取不规则文本区域的CNN特征。利用边界点,不规则文本可以容易地被转换或矫正为规则文本。为了有效 的提取文本边界点,采用从粗到细的策略,使用两级CNN检测器检测每个文本实例的最小定向矩形框。然后,在定向矩形框中执行边界的预测。基于边界点的方法比矩形框更灵活、更准确地表示任意形状的文本。

3、方法论

 图1

如图1所示, 主要由三部分组成:定向矩形框检测器、边界点检测网络和识别网络。

定向矩形框检测器:应用 RPN,主干配备有 ResNet-50,以生成水平文本建议。然后通过预测每个提案(矩形框)的中心点、高度、宽度和方向,生成每个提案的定向矩形框。

边界点检测网络(BPDN):回归每个定向矩形框的边界点。

识别网络:利用预测的边界点,将特征图矫正为常规图,供识别网络使用。

 图2

 图2(a)中,BPDN 可以预测每个水平建议的边界点,但受到各种方向和形状的文本实例的影响,包含了更多的背景噪声和更强的变形。为了缓解这种影响,预测每个建议的定向矩形框(图2(a)中红色边框)。具体细节:预测其中心点(绿点),高度(h),宽度(w)和方向(绿点-->红点的那个箭头)。然后沿着方向重新计算宽({w}')、高({h}'),最后画出的红色矩形框就为定向矩形框,红点定向矩形框的中心。然后通过 RotateRolAlign(图1) 将特征图转换为水平图,称为最小矩形框,如图2(b)。图2(c)表示从均匀分布在最小矩形框的上下两侧的一组默认点回归到边界点。图2(d)将边界点与原始图像对齐。

3.1 Boundary Point Detection Network(BPDN)

        BPDN 由四个堆叠的 3X3 卷积层和一个完全连接层组成。受 RPN 的启发,建议基于默认锚点(默认点)进行回归。预定义一组默认点供边界点参考,如图2(c)。默认点在最小矩形框的长边均匀分布,每条长边 K 个点,共 2K 个点。用这 2K 个默认点通过坐标偏移得到 2K 个边界点。

        BPDN 模块会给 2K 个默认点预测 4K 个向量来作为 2K 个边界点的坐标偏移。有了坐标偏移(Δx, Δy),那么边界点({x}'_{b}, {y}'_{b})就可以表示为(图3中红色的点):

 其中,({x}'_{d}, {y}'_{d})为默认点,图3中蓝色的点。w_{0} 和 h_{0} 为最小矩形框的宽和高。

 图3,图2中的c图放大后

为了与原始特征一致,我们使用如下公式

将变换为水平特征图(图2中c)中的边界点({x}'_{b}, {y}'_{b}) 还原为原始的边界点 (x_{b}, y_{b})(图2中d)。({x}'_{c}, {y}'_{c}) 是定向矩形框的中心点。s_{w} 和 s_{h} 分别等于 w_{0} / {w}' 和 h_{0} / {h}'w_{0} 和 h_{0} 为最小矩形框的宽和高,{w}' 和 {h}' 为定向矩形框的宽和高。α 是从 x 轴的正方向到平行与定向矩形框的长边的角度。

3.2 Recognition Network

CRNN 是第一种通过将 CRNN 和 RNN 结合在端到端网络中,将文本识别视为序列到序列问题的方法。识别分支的架构如图4所示。

图4 ,识别分支的架构由三个堆叠的卷积层组成。“Att.GRU”代表GRU解码器和

一个完全连接层。|s| 表示解码字符数,实验中设置为63,对应数字(0, 9), 英文

字符(a/z, A/Z)和序列结束符。

首先,将矫正后的特征输入编码器提取更高级的特征序列 F\in R^{n*C}。然后采用基于注意力的解码器将 F 转化为符号序列 y = (y_{1}, \cdot \cdot \cdot , y_{T}),其中 T 是标签序列的长度。在步骤 t,解码器根据编码器输出 F,内部状态 s_{t-1} 和上一步骤中预测的结果 y_{t-1} 来预测字符。在当前步骤中,解码器通过其注意力机制计算注意力权重 \alpha _{t} 的向量来开始。然后,根据下面公式加权特征 g_{t}

 其中 w, W, V, b 都是可训练的权重。

将 s_{t-1}, g_{t} 和 y_{t-1} 作为输入,RNN 通过 下面公式 计算输出向量 x_{t} 和新的状态向量 s_{t},其中

(g_{t}, onehot(y_{t-1})) 是 g_{t} 和 y_{t-1} 的独热嵌入的连级。

 在我们的方法中,GRU 被用作 RNN 单位。最后,通过

 预测当前步骤符号的分布,其中 W_{o} 和 b_{o} 是可学习的参数。

3.3 Loss Functions

 目标函数的损失由四个部分组成,

 其中 L_{RPN} 是 RPN 的损失,L_{or} 是从轴对齐矩形建议回归到定向矩形框的损失(获得定向矩形框的损失)。L_{bp} 是边界点的损失,计算为平滑-L1 损失。L_{recog} 为识别损失。

L_{bp} 计算如下,其中 ({x}'_{b,i}, {y}'_{b,i}) 是第 i 个预测边界点(默认点),其关联的目标边界点是 (\hat{​{x}'}_{b,i}, \hat{​{y}'}_{b,i}) 。

 在识别网络中,识别损失L_{recog}可以表示为

 

4、实验及结果 

 略

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解读 | 数据资产管理面临诸多挑战,做好这5个措施是关键

日前,大数据技术标准推进委员会(中国通信标准化协会下(CCSA)的专业技术委员会,简称TC601)发布《数据资产管理实践白皮书》(6.0 版)(以下简称:报告&#xff09…

浏览器跨域问题

跨域问题什么是跨域问题如何解决跨域问题JSONPCORS方式解决跨域使用 Nginx 反向代理使用 WebSocket跨源请求是否能携带Cookie什么是跨域问题 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为…

LQB01位操作说明

一个字节,包括了8位,可以对其中的8位的某一位进行读或者写; 比如char num12,如果用十六进制表示,就是0x0C,如果二进制表示,就是0000 1010 位操作函数,主要这里介绍,位读和位写0&am…

【消费战略方法论】认识消费者的恒常原理(一):消费者稳态平衡原理

“消费战略”是塔望咨询基于大量的战略与营销实践经验结合心理学、经济学、传播学等相关专业学科的知识应用进行提炼与创造形成的战略方法体系。消费战略强调以消费者为导向,进行企业、品牌战略、品牌营销的制订和落地,企业经营的每个环节和输出的每个动…

轻松搭建Redis缓存高可用集群

1. 安装单机Redis 安装步骤: 1.1 下载redis 官网下载3.0.0版本,之前几的版本不支持集群模式 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz 1.2 首先需要安装gcc yum install gcc 1.3 创建目录 cd /usr/mkdir soft1.…

GitHub标星30K+的Java面试八股文长啥样?

2023年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套1000道的Java面试手册我整理了整整1个月,上传到Git上目前star数达到了30K 一、32 道 MySQL 面试题 1&…

DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记

DACS介绍方法Naive MixingDACSClassMix![在这里插入图片描述](https://img-blog.csdnimg.cn/ca4f83a2711e49f3b754ca90d774cd50.png)算法流程实验结果反思介绍 近年来,基于卷积神经网络的语义分割模型在众多应用中表现出了显著的性能。然而当应用于新的领域时&…

乐友商城学习笔记(一)

SpringCloud 什么是SpringCloud 在SpringBoot基础上构建的微服务框架固定步骤 1.引入组件的启动器2.覆盖默认配置3.在引导类上添加相应的注解 eureka 注册中心,服务的注册与发现服务端 1.引入服务器启动器:eureka-server2.添加了配置 spring.applicati…

leetcode 21~30 学习经历

leetcode 21~30 学习经历21. 合并两个有序链表22. 括号生成23. 合并K个升序链表24. 两两交换链表中的节点25. K 个一组翻转链表26. 删除有序数组中的重复项27. 移除元素28. 找出字符串中第一个匹配项的下标29. 两数相除30. 串联所有单词的子串小结21. 合并两个有序链表 将两个升…

opencv-StereoBM算法流程(二)

OpenCV BM对于处理非畸变的立体图像, 主要有以下 3 个步骤:1. 预处理滤波: 使图像亮度归一化并加强图像纹理2. 立体匹配: 沿着水平极线用 SAD 窗口进行匹配搜索3. 再滤波: 去除坏的匹配点.匹配之后, 如果左右视差检查使能了 disp12MaxDiff > 0, 还有使用cv::validateDispari…

复习知识点三:做人不能半途而废,就算躺平也要躺最舒服的那张床

目录 运算符​编辑 键盘录入: 练习:键盘输入数字并求和 练习: 算术运算符 隐式转换(自动类型提升) 强制转换 练习1: 字符串的 "" 操作 ​编辑 练习 1: 练习2: 练习3: 自增自减运算符 赋值运算符 关系运算符(比较运算符)的分类 练习: 逻辑运算符 短路逻辑运…

qt qchart学习

Qt Charts主要由QChartView、QChart、QLegend图例、坐标轴(由QAbstractAxis子类实现)、**数据源(由QAbstractSeries子类实现)**等组成使用QChart的前期准备1. Qt5.9及以上版本;2. .pro文件中添加QT charts3. 在使用QChart的各个控件之前,引用头文件并必…

Vulnhub靶场----4、DC-4

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-4下载地址:https://download.vulnhub.com/dc/DC-4.zip kali:192.168.144.148 DC-4:192.168.144.152 二、渗透流程 端口扫描:nmap -T5 -p- -sV -sT -A 192.168.144.1…

OSI模型和网络协议简介

文章目录一、OSI七层模型1.1什么是OSI七层模型?1.2这个网络模型究竟是干什么呢?二、TCP/IP协议三、常见协议四、物联网通信协议以及MQTT4.1 物联网七大通信协议4.2 MQTT特性一、OSI七层模型 1.1什么是OSI七层模型? 我们需要了解互联网的本质…

MySQL进阶篇之MySQL索引

今天主要学习MySQL索引,不过主要是使用Linux系统使用MySQL,主要是先在Linux环境下按照MySQL,然后演示索引的相关操作,介绍了索引的底层结构,索引的分类及语法,索引的性能分析,索引的使用规则&am…

《爆肝整理》保姆级系列教程python接口自动化(二十一)--unittest简介(详解)

简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest。熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 TestNG,这个招聘的需求上也是经常见到的。python 里面也有单元 测试框架-unitt…

数据结构_ 堆结构与堆排序(c++ 实现 + 完整代码 )

堆结构与堆排序 文章目录堆结构与堆排序引入堆堆结构所满足的数学特性准备代码----------- 往堆中插入元素----------- 删除堆顶堆排序构建完整代码及测试动态分配版本非动态版本引入堆 二叉树 具有左孩子与右孩子的最普通的二叉树。 满二叉树 特殊的二叉树:每个节…

HTML课堂笔记

HTML 课堂笔记 文章目录相关概念code我的第一个html页面基本标签相关概念 1、什么是HTML? Hyper Text Markup Language 超文本标记语言 超文本?超级文本,例如流媒体,声音、视频、图片等。 标记语言?这种语言是由大量…

【Git】使用Git上传项目到远程仓库Gitee码云步骤详解

电脑里存放了很多项目,有的备份,有的没备份,如果不仔细分类管理的话,时间一长,到时看到那就会觉得非常杂乱,很难整理,这里有一个叫源代码托管,用过它的都知道,方便管理和…

【7/101】101次面试之测试技术面试题

01、什么是兼容性测试?兼容性测试侧重哪些方面?答:兼容性测试是一种软件测试类型,它的主要目的是确保一个应用程序在不同的操作系统、不同的浏览器、不同的设备、不同的网络环境等各种环境下能够正常运行,并且不会产生…