背景宽高随文本变化_中科大提出ContourNet:更准确的任意形状场景文本检测新方法...

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达0fc7c6ac737631dc3fb6872fa882f455.png

本文转载自:CSIG文档图像分析与识别专委会

22dfe59c3263d2c5e00fd74c33fa5f97.png

本文简要介绍2020年被CVPR录用的论文“ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Text Detection”的主要工作。近年来场景文本检测的研究发展迅速,但其中有两个困难的挑战未被很好解决,算法容易产生伪召回(False Positives)以及对尺度变化剧烈的文本检测不准确。为此,本文提出ContourNet算法,设计了Adaptive-RPN模块生成更高精度质量的候选框,以及Local Orthogonal Texture-aware Module (LOTM)模块来解耦候选框中的水平和竖直方向的文本轮廓检测,从而向更精确的任意形状的场景文本检测又迈进一步。

498bc38954e452dffcfedff79816d4b6.png

图1 本文方法效果图一、研究背景场景文字图片中,文本尺度变化大,背景纹理复杂等困难导致了现有的场景文本检测算法普遍存在两个问题,伪召回(False Positives)多,以及对尺度变化剧烈的文本检测不准确。针对伪召回问题,现有的方法大多基于文本的上下文信息,全局与局部关系,以及纹理信息建模。本文作者观察发现,伪召回中的纹理特征具有强烈的无方向性,即类似物理上的各向同性,于是将其解耦为水平方向和竖直方向的轮廓检测,通过其联合响应来抑制伪召回。针对尺度变换剧烈问题,现有的方法多着眼于融合多尺度特征来预测边界框,作者则另辟蹊径关注文本自身形状信息的建模以及利用尺度不敏感的指标来优化网络的检测。二、ContourNet原理简述

2bcc463172d93eef03ae1910e054b59b.png

图2 网络整体框架图图2是网络的整体框架图。ContourNet 由三个模块组成,第一个是Adaptive-RPN模块,用于生成高质量精度的矩形候选框;第二个是Local Orthogonal Texture-aware Module (LOTM)模块,用于解耦候选框中水平和竖直两个方向的轮廓检测;第三个是Point Re-scoring Algorithm模块,用于耦合水平和竖直方向的轮廓响应分数。下面分别介绍每个模块的结构。主干网络采用类似FPN结构 [1],输出卷积特征到Adaptive-RPN,然后使用类似Faster RCNN [2]的方法,计算候选区域分类和回归损失。在其经典的RPN [2] 中,直接回归检测框中心点和长宽四个偏移量,而Adaptive-RPN则回归预定义好的9个点的坐标偏移量,(四角点,四条边中心点,候选框中心点),如图3所示。回归后取外围8点的最小包围框,而中心点则用于矫正(e.g. 包围框左边界超过中心点,直接取中心点为左界)。不同于使用经典的Smooth L1 loss[2],作者利用IoU loss [3] 的尺度不敏感特性来回归更准确的边界框。 

0ba0c6ff6fbb1585080c1c5a4b5e16c9.png

图3 左图是经典RPN,右图是Adaptive-RPN。红点是预定义好的回归前的锚点,绿点是回归后的点,黄色箭头是回归偏移量方向示意。

图4为LOTM结构。LOTM模块的输入Proposal Features是在Adaptive-RPN后的共享特征图上使用Deformable RoI pooling [4] 和双线性插值得到。经过1*1卷积后,展开两个平行分支,解耦为水平和和竖直两个正交方向的轮廓检测。水平方向分支使用1*k的卷积核水平方向卷积,竖直方向分支则使用k*1的卷积核竖直方向卷积,k是超参数,实验验证使用k=3比较好。卷积后的特征图经过Sigmoid归一化得到相应方向的热图。LOTM使用交叉熵损失分类轮廓边界点。

e3bd5db9ce81a9df75e98766400008c4.png

图4 LOTM与Point Re-scoring Algorithm的结构。其中Point Re-scoring Algorithm只用于测试阶段。

Point Re-scoring Algorithm模块中,先对两个方向热图进行简单的NMS预处理滤波得到更高置信度的准确表征,然后综合考虑LOTM输出的水平和垂直方向上响应,即文本轮廓需同时具有两个方向的响应,滤除单方向噪声,从而抑制伪召回。

三、主要实验结果及可视化效果Table 1. The single-scale results on Total-Text. * indicates the results from [5]. Ext is the short for external data used in training stage. y means testing at multi-scale setting. The evaluation protocol is DetEval. 

a39964ae42ae540f403b17013cf25e54.png

Table 2. The single-scale results on CTW1500. * indicates the results from [6]. Ext is the short for external data used in training stage. + means testing at multi-scale setting.

f7e7208aaec498a9d9c4fd4143537d4a.png

Table 3. The single-scale results on ICDAR2015. * means testing at multi-scale setting. + means SE blocks [7] implemented in their backbone. 

20610c5a68f7980caac877f26e7c1ffc.png

Table 4. The performance gain of Adaptive-RPN. * and + are results from CTW1500 and Total-Text respectively. Small, Middle and Large is short for small-size texts, middle-size texts and large size texts.

052a0048ed9518b0a944a44f932d8f78.png

Table 5. The performance gain of LOTM on Total-Text. S direction means the texture information is only modeled along a single direction (horizontal direction is implemented here). Jointly means the method jointly models the texture information in a 3*3 convolutional kernel.

bbf6f17e3936bed4edbccbd8a14993db.png

7254bfc504aacb9bda605afca7b31220.png

图5 可视化结果图作者在Total-Text,CTW-1500,ICDAR2015,三个数据集上进行了测试,Table 1,Table 2,Table 3分别是模型在上述三个数据集的性能,可以看出ContourNet在有高精度的同时具有不错的速度。Table 4是使用RPN与本文提出的Adaptive-RPN对比结果,可以看出对不同尺度的文本都有一定的提升。Table 5是LOTM模块对比实验,可以看出使用单一方向或者3*3直接滑动卷积得到结果都比解耦成水平与竖直方向的LOTM差。四、总结及讨论本文提出了更精确的任意方向文本检测算法ContourNet,针对伪召回问题设计了文本水平与竖直方向的轮廓检测方法,针对尺度变换大的文本回归不准问题,使用改进的9点Adaptive-RPN回归与尺度不敏感的IoU Loss计算损失。论文通过实验对比也证明了该方法的高效性以及模型的优越性能。五、相关资源

² ContourNet论文地址:https://arxiv.org/pdf/2004.04940.pdf

² ContourNet开源代码:https://github.com/wangyuxin87/ContourNet

参考文献[1] Tsung-Yi Lin, Piotr Doll´ar, Ross B. Girshick, Kaiming He, Bharath Hariharan, and Serge J. Belongie. Feature pyramid networks for object detection. In CVPR, pages 936–944, 2017.[2] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems, pages 91–99, 2015.[3] Hamid Rezatofighi, Nathan Tsoi, JunYoung Gwak, Amir Sadeghian, Ian Reid, and Silvio Savarese. Generalized intersection over union: A metric and a loss for bounding box regression. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 658–666, 2019.[4] Xizhou Zhu, Han Hu, Stephen Lin, and Jifeng Dai. Deformable convnets v2: More deformable, better results. In CVPR, 2019.[5] Shangbang Long, Jiaqiang Ruan, Wenjie Zhang, Xin He, Wenhao Wu, and Cong Yao. Textsnake: A flexible representation for detecting text of arbitrary shapes. In ECCV, pages 19–35. Springer, 2018.[6] Yuliang Liu, Lianwen Jin, Shuaitao Zhang, Canjie Luo, Sheng Zhang.Curved scene text detection via transverse and longitudinal sequence connection. Pattern Recognition 90:337–345.[7] Jie Hu, Li Shen, and Gang Sun. Squeeze-and-excitation networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 7132–7141, 2018.

原文作者:Yuxin Wang,  Hongtao Xie,  Zhengjun Zha,  Mengting Xing,  Zilong Fu and Yongdong Zhang

撰稿:伍思航 | 编排:高 学

审校:殷 飞 | 发布:金连文

免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。

下载

在CVer公众号后台回复:CVPR2020,即可下载CVPR 2020所有论文和300+篇代码开源的论文项目,开源地址如下:

https://github.com/amusi/CVPR2020-Code

重磅!CVer-论文写作与投稿交流群成立

扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满2000+人,旨在交流顶会(CVPR/ICCV/ECCV/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI等)、SCI、EI等写作与投稿事宜。

同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

8b4267b629fde441e6d5ed3d8619cfdb.png

▲长按加微信群

1c191e2f79e7f60f55363ac120586b7e.png

▲长按关注CVer公众号

整理不易,请给CVer一个在看ff611bc254aef7ef4cc50056ae3cd8b7.gif

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

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

相关文章

python 类、模块、包的区别

学习python的时候,碰到了import 和 from xx import xx的问题, 为了弄清楚什么是 module 和package ,这篇文章讲解的不错!! 原文: http://www.cnblogs.com/kex1n/p/5977051.html --------------------------…

Hadoop MapReduce概念学习系列之MPI和MapReduce(十三)

在当前最流行的高性能并行体系结构中比较常用的并行编程环境分为两类:消息传递和共享存储。MPI是基于消息传递的经典代表,是消息传递井行程序设计的标准,用于构建高可靠的、可伸缩的、灵活的分布式应用程消息传递井行处理开销比较大,适合于大…

算法面试题汇总(更新中)

1、根据数字返回相应位置数字 def get_digit(num, i):# i0 个位 1 十位 2 百位...return num // (10 ** i) % 10# print(get_digit(12345, 6)) 2、列表反转,不用内置函数 def reverse_list(li):n len(li)for i in range(n // 2):li[i], li[n-i-1] li[n-i-1], …

在python中os_在Python中使用os.execvp

我有一个关于在 Python中使用os.execvp的问题.我有以下用于创建参数列表的代码: args [ "java" , classpath , "-Djava.library.path" lib_path() , ea , "-Xmx1000m" , "-server" , "code_swarm" , params ] …

WEBGL学习【四】模型视图矩阵

<html lang"zh-CN"><!--服务器运行地址&#xff1a;http://127.0.0.1:8080/webgl/LearnNeHeWebGL/NeHeWebGL4.html--> <head><title>NeHes WebGL</title><meta charset"UTF-8"/><!--引入需要的库文件--><scr…

使用Jmeter对mysql进行性能测试入门

使用Jmeter对mysql进行性能测试入门 第一步&#xff1a;测试环境准备&#xff1a; 1&#xff09;、mysql> select version(); ----------- | version() | ----------- | 5.5.13 | ----------- ms数据库数据&#xff1a; mysql> select count(*) from account; ----------…

算法基础之数据结构

whats the 数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说&#xff0c;数据结构就是设计数据以何种方式组织并存储在计算机中。 比如&#xff1a;列表、集合与字典等都是一种数据结构。 通常情况下&#xff…

soap接口怎么不返回tuple python_Python 中的接口

Python 是动态类型语言, 只在运行时做 Duck Typing 检查.利: 灵活, 方便弊: 代码混乱, 缺少规范标准自带两类接口支持: abc 和 typing.Protocol, 有他们协助给天马行空的程序员套上枷锁, Python 的大工程才可以"上道"abcabc 就是 Abstract Base Class, 虚基类. 跟 Ja…

java 第11次作业:你能看懂就说明你理解了——this关键字

this 代表当前对象 转载于:https://www.cnblogs.com/qingyundian/p/7736699.html

c#多线程操作界面控件的简单实现

一个小功能&#xff0c;早有人实现了。自己在一个项目中用到&#xff0c;觉得有必要记录一下&#xff0c;写下来。代码 从上面你可能已经看出如何多线程操作同一个控件的&#xff0c;就是通过一个委托&#xff0c;然后定义委托方法&#xff0c;判断控件的InvokeRequired属性&am…

ssh 免密_Linux下配置SSH免密通信 “sshkeygen”的基本用法

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序&#xff0c;后来又迅速扩展到其他操作平台。1 什么是SSH引用百度百科的说明:SSH 为 Secure Shell的缩写&#xff0c;由 IETF 的网络小组(Network Working Group)所制定&#xff1b;它是…

Python 第三方模块之 NumPy - 科学计算

NumPy 简介 NumPy 发展历史 1995年 Jim HugUNin开发了Numeric。随后&#xff0c;Numarray包诞生。Travis Oliphants整合Numeric和Numarray&#xff0c;开发Numpy&#xff0c;于2006年发布第一个版本。Numpy&#xff08;Numeric Python&#xff09;提供了许多高级的数值编程工…

keepalived与lvs结合使用配置实例

keepalived可以实现两大功能是&#xff1a;健康检测和故障转移 keepalived.conf的配置 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950global_defs {notification_email { acassenfirewall.loc failoverfirewall.loc sysadminf…

保证你现在和未来不失业的十种关键技术

在当今的IT就业市场&#xff0c;有人欢喜有人忧。有人对目前的工作和薪水很满意&#xff0c;有人目前正面临着下岗&#xff0c;或者已经下岗…… 可能你是公司里唯一谙熟某项关键技术的高手&#xff0c;缺了你&#xff0c;公司便玩不转了&#xff1b;也可能你所在的公司对你现…

python设置时间步长与时间离散格式_python怎么定义时间

Python 的 Decorator在使用上和Java/C#的Annotation很相似&#xff0c;就是在方法名前面加一个XXX注解来为这个方法装饰一些东西。但是&#xff0c;Java/C#的Annotation也很让人望而却步&#xff0c;太TMD的复杂了&#xff0c;你要玩它&#xff0c;你需要了解一堆Annotation的类…

Python 第三方模块之 matplotlib - 绘图库

简介 matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用&#xff0c;MATLAB中可以轻松的利用一行命令来绘制直线&#xff0c;然后再用一系列的函数调整结果。 matplotlib有一套完全仿照MATLAB的函数形式…

python 笔记(三) 断言(assert)

用来调试程序的时候用&#xff0c;当程序有误时&#xff0c;强制抛出异常转载于:https://www.cnblogs.com/wangkeblog/p/7746022.html

网站程序员的程序员成长之路大概分几个阶段 和未来的发展

信息技术的更新速度是惊人的&#xff0c;程序员的职业生涯则是一个要求不断学习的过程&#xff0c;如何才能成为一名合格的程序员&#xff0c;一名合格的程序员需要掌握哪些技能呢&#xff1f;为此天天招生网采访到几位孳生的程序工作人员&#xff0c;就如何做好一名成功的程序…

微软P2V工具之Disk2VHD

虚拟化经过最近几年的发展&#xff0c;已经有很多的应用和服务迁移到了虚拟化的平台上了。在实施虚拟化的过程中就会涉及到将原来老旧的服务器来迁移到虚拟化平台的运行&#xff0c;这就是P2V&#xff0c;物理机转换为虚拟机。谈到P2V大家会想到很多的工具&#xff0c;例如Vmwa…

生成n套数位加减乘除_leetcode 算法汇总(四)位运算

一、 运算符& 与运算&#xff1a; 两个位都是 1 时&#xff0c;结果才为 1&#xff0c;否则为 0| 或运算&#xff1a; 两个位都是 0 时&#xff0c;结果才为 0&#xff0c;否则为 1^ 异或运算&#xff1a; 两个位相同则为 0&#xff0c;不同则为 1~ 取反运算&#xff1a;0 …