【论文阅读】TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
ECCV2018
北京大学、face++
思路:
预测文本区域与连接方向,串起来

Pipeline:

- 通过FCN+FPN网络
- 预测TR(文本域)、TCL(文本中心线)、角度、半径
- 过滤文本线,后处理
网络细节:
1.基础网络采用VGG16
2.输出大小和原图一样(耗内存,慢,但是和小栋工作类似)

输出细节:
1.过滤文本中心线(相交)

2.文本线生成(过滤后还是一整块状态)
(1) 取一点,作垂线定位中心
(2) 沿着预测的角度滑动一定距离(有给计算法则)
(3) 在新的点重复2步骤直到端点


滑动位置计算:

如果点不在区域内,就逐渐减小步长知道在里面或者该点当作端点(没具体解释,差不多了)
Label生成
- 文本线:
(1) 找出头尾(两条边:前后两条相邻边cos最小)
(2) 画出中心线上的点(在对应的边上打格子,取中点连起来)
(3) 缩短中心线(类似EAST),扩大中心线区域(缩短0.5r,扩大0.2r)

- 半径:到边的距离
- 角度:

损失函数:
- 系数均为1
- TR分类用的是OHEM,TCL损失只考虑TR区域内的


实验数据集:
- TotalText(弯曲)
- CTW1500(弯曲)
- ICDAR2015(多方向)
- MSRA-TD500(水平)
实验细节:
- 数据增强,缩放比0.24-1.69,随机旋转,还有颜色模糊高斯噪声等增强
- Tensorflow1.3
- GPU Titan X*2
- 学习率0.0001每5000次衰减0.8
- Batch size 32
实验结果:
0.SynthText预训练
1.Total-Text输入大小512*512,阈值(0.4,0.6),5k次训练

2.CTW1500输入大小512*512,阈值(0.4,0.5),5k次训练

3.ICDAR2015,30K次,(0.4,0.9),输入大小1280 × 768

4.30K次,(0.4,0.9),输入大小1280 × 768

4.迁移

总结:
- 学习任务拟人化
- 角度的预测有cos和sin
- 放大的map
思考:
- 增加标注信息,精确到字符
- 角度上更拟人一点,从左往右从上到下
【论文阅读】TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes的更多相关文章
- 【论文速读】Shangbang Long_ECCV2018_TextSnake_A Flexible Representation for Detecting Text of Arbitrary Shapes
Shangbang Long_ECCV2018_TextSnake_A Flexible Representation for Detecting Text of Arbitrary Shapes 作 ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- 论文阅读(XiangBai——【CVPR2017】Detecting Oriented Text in Natural Images by Linking Segments)
XiangBai——[CVPR2017]Detecting Oriented Text in Natural Images by link Segments 目录 作者和相关链接 方法概括 方法细节 ...
- 深度学习论文翻译解析(三):Detecting Text in Natural Image with Connectionist Text Proposal Network
论文标题:Detecting Text in Natural Image with Connectionist Text Proposal Network 论文作者:Zhi Tian , Weilin ...
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...
- 论文阅读(XiangBai——【PAMI2018】ASTER_An Attentional Scene Text Recognizer with Flexible Rectification )
目录 XiangBai--[PAMI2018]ASTER_An Attentional Scene Text Recognizer with Flexible Rectification 作者和论文 ...
- 论文阅读笔记四:CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network(ECCV2016)
前面曾提到过CTPN,这里就学习一下,首先还是老套路,从论文学起吧.这里给出英文原文论文网址供大家阅读:https://arxiv.org/abs/1609.03605. CTPN,以前一直认为缩写一 ...
- 论文阅读(Weilin Huang——【ECCV2016】Detecting Text in Natural Image with Connectionist Text Proposal Network)
Weilin Huang——[ECCV2016]Detecting Text in Natural Image with Connectionist Text Proposal Network 目录 ...
随机推荐
- LeetCode 84--柱状图中最大的矩形( Largest Rectangle in Histogram) 85--最大矩形(Maximal Rectangle)
84题和85五题 基本是一样的,先说84题 84--柱状图中最大的矩形( Largest Rectangle in Histogram) 思路很简单,通过循环,分别判断第 i 个柱子能够延展的长度le ...
- (五)Unity插件生成
1)新建空的AndroidStudio工程,但是新建过程时最小SDK版本要与unity一致,如下图所示,本次操作均为api16 2)创建Library,如下图所示,新建module,然后选择Andro ...
- 如何把当前时间戳转化为时间格式HH:MM:SS
获取当前时间戳 var timestamp = new Date().getTime() 获取当前时间(从1970.1.1开始的毫秒数) // 创建一个函数function timestampToTi ...
- Linux进程组和会话
Linux的进程相互之间有一定的关系.比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构.我们在这里讲解进程组和会话,以便以更加丰富的方式了 ...
- Maven optional关键字透彻图解
写在前面 本来想写一篇「如何自定义Spring Boot Starter」,但是为了更好理解 Starter 的一些设计理念和其中的关键点,所以提前将一些细节内容单独提取出来讲解说明 在 Maven ...
- Java 读取properties 配置文件的几种方式
基于ClassLoder读取配置文件 Properties properties = new Properties(); // 使用ClassLoader加载properties配置文件生成对应的输入 ...
- Android H5混合开发(3):原生Android项目里嵌入Cordova
前言 如果安卓项目已经存在了,那么如何使用Cordova做混合开发? 方案1(适用于插件会持续增加或变化的项目): 新建Cordova项目并添加Android平台,把我们的安卓项目导入Android平 ...
- mha格式的CT体数据转为jpg切片
mha格式的CT体数据转为jpg切片 mha格式 .mha文件是一种体数据的存储格式,由一个描述数据的头和数据组成,一般我们拿到的原始医学影像的数据是.dcm也就是dicom文件,dicom文件很复杂 ...
- 强大的CompletableFuture
引子 为了让程序更加高效,让CPU最大效率的工作,我们会采用异步编程.首先想到的是开启一个新的线程去做某项工作.再进一步,为了让新线程可以返回一个值,告诉主线程事情做完了,于是乎Future粉墨登场. ...
- Pandas分类(category)数据处理
分类(Category)数据:直白来说,就是取值为有限的,或者说是固定数量的可能值.例如:性别.血型 指定数据类型构建分类数据 dtype="category" 以血型为例,创建一 ...