TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes

本文主要是介绍TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Author

旷视科技Megvii(Face++) 文本检测
Paper:TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes, ECCV 2018

Idea

c u r v e d curved curved t e x t text text弯曲形状的文本检测。传统的方法受到描述文本表述的限制(如 F i g . 1 Fig.1 Fig.1的水平矩形框,旋转矩形框,任意四边形框),在处理弯曲文本实例时表现差强人意,因此本文提出更灵活的场景文本表示方法, T e x t S n a k e TextSnake TextSnake,可以水平、多方向、弯曲表示,以中心线为中心,有序重叠的圆盘序列组成,每个圆盘具有可变的半径 r r r和方向 θ θ θ

Datasets

Total-Text、SCUT-CTW1500、ICDAR2015、MSRA-TD500等文本检测数据集

Attributes

  • TextSnake,定义了一种弯曲文本实例表示形式
  • 基于上述表示,提出了一种有效的场景文本检测的方法
  • 在弯曲文本数据集(Total-Text和SCUT-CTW1500)上,提出算法达到了SOTA

Related Work

  • 在深度学习之前,两种代表性的算法是 S W T SWT SWT M S E R MSER MSER
  • 深度学习的方法出现后,分为两种:基于回归和基于分割的模型。
    基于回归的文本检测方法是受到物体检测框架启发产生的,如TextBoxes,基于 F a s t e r − R C N N Faster-RCNN FasterRCNN R R P N RRPN RRPN E A S T EAST EAST D e e p R e g r e s s i o n Deep Regression DeepRegression
    基于分割的文本检测算法使用语义分割和 F C N FCN FCN作为参考,如 M S E R MSER MSER,文本实例分类等。但这些方法都忽略了文本的形状问题,没有考虑弯曲形状的文本处理。
  • 本文参考 [ 29 ] [ 45 ] [29][45] [29][45]提出了自己的 i d e a idea idea,可以表示和识别任意形状的文本。

TextSnake Math Representation

TCL文本中线,绿色,TR文本区域,黄色。每个文本实例 t t t可表示为序列 S ( t ) = D 0 , D 1 … D i … D n S(t)={D0,D1…Di…Dn} S(t)=D0,D1DiDn,第 i i i个圆盘用 D i = ( c , r , θ ) Di=(c,r, θ) Di=(c,r,θ)表示, c c c是中心点, r r r是半径, θ θ θ是圆盘中心点连线和水平的夹角。

Framework and Network

流程框架:输入一张图片,经过网络结构FCN+FPN,得到7个特征图,TR*TCL得到Masked TCL,表示在TR区域里提取的TCL,经过Disjoint Set操作得到实例分割结果,与半径角度特征使用Striding算法得到最终文本预测区域。

FCN网络结构:使用VGG16/19提取特征,使用公示1、2进行特征合并,输出层是第五个合并后得到的特征图进行上采样及两层卷基层产生的像素级预测输出层 P = [ b a t c h s i z e , 7 , h , w ] P=[batchsize,7,h,w] P=[batchsize,7,h,w],7个通道分别是 T R ∗ 2 , T C L ∗ 2 , r , c o s θ , s i n θ TR*2,TCL*2,r,cosθ,sinθ TR2,TCL2,r,cosθ,sinθ

loss function

Training

使用TensorFlow1.3.0框架,在SynthText数据集预训练,其他数据集fine-tuned,使用Adam优化算法,lr预训练时取e-3,fine-tuned从e-3开始,每5000 iterations衰减为0.8倍。

Results

Inspirations

  • 基于disks的文本表示方式非常novel,作者基于textsnake的数据结构设计了一种深度学习结构,有效解决了弯曲文本表示的问题
  • Code: princewang1994/TextSnake.pytorch
  • Ref: TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes

这篇关于TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

【ReactJS】困惑于text/babel与browser.js还是babel.js?

使用JSX   使用JSX,可以极大的简化React元素的创建,JSX抽象化了React.createElement()函数的使用,其语法风格类似于HTML语法风格。对比如下代码可以让你更好的理解这一点。 // 使用React.createElement()return React.createElement('div',null,'Hello',this.props.name);//使用J

访问controller404:The origin server did not find a current representation for the target resource

ider build->rebuild project。Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 参考:资料

Android:EditText在hint字体大小和text字体大小不一致时的设置方法

今天碰到一个需求,有一个输入框EditText,要求输入某项金额,要求在未输入文字之前,hint提示,输入文字之后显示输入的文字,要求是未输入内容时hint字体大小为14sp,输入金额之后字体大小要变成30sp。,可是EditText本身没有这个属性可以设置,怎么办呢,只有在代码中添加监听事件了: /*** 添加监听,在hint时和text时切换字体大小*/cetMoney.addTextCha

Sublime Text 3搭建PHP开发环境说明

1、设置环境变量 Windows系统环境变量path增加php.exe所在目录路径 2、创建PHP编译系统 添加 PHP 的 build system,如图所示, Tools->Build System-> New Build System : 新建一个,默认的内容是:{ "shell_cmd": "make"}修改为:{ "cmd": ["php", "$file"], "file_re

多字节、宽字节、兼容字节(TEXT) 相关操作汇总

常用函数对照 ANSIUNICODE通用说明数据类型(char.h)(wchar.h)(tchar.h) charwchar_tTCHAR char *wchar_t *TCHAR* LPSTRLPWSTRLPTSTR LPCSTRLPCWSTRLPCTSTR     字符串转换atoi_wtoi_ttoi把字符串转换成整数(int)atol_wtol_ttol把字符串转换成长整型数(long)

Sublime Text 3常用快键键总结

通用(General) ↑↓←→:上下左右移动光标,注意不是不是 KJHL !Alt:调出菜单Ctrl + Shift + P:调出命令板(Command Palette)Ctrl + ` :调出控制台 编辑(Editing) Ctrl + Enter:在当前行下面新增一行然后跳至该行Ctrl + Shift + Enter:在当前行上面增加一行并跳至该行Ctrl + ←/→:进行逐词移动

sublime_text中如何使用快捷键打开默认浏览器

原创:http://blog.csdn.net/u013383042/article/details/51058899 1、在SublimeText下打开该路径:preference - key bindings - user 2、在以下打开窗口中输入如下语句: {"keys": ["ctrl+r"],"command": "open_in_browser"} 如上图所示,”ctrl+

sublime text 3 显示空格和Tab

因为sublime text3确实太好用了所以也用它写代码了,可是在Python3 中不支持Tab键和空格键混用所以要改变显示方式,以便方便使用,突然 发现网上的资料太少,所以我把它贴了出来希望帮助更多的人 第一步把preferences.sublime-setting-Default里面 的"draw_white_space": "selection",复制到preferences.

Core Text Objective-C Wrapper

Core Text Objective-C Wrapper https://github.com/akosma/CoreTextWrapper Introduction(介绍) One of the most promising and mysterious new frameworks introduced in iOS 3.2 is Core Text. Apple define