【论文阅读】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 目录 ...
随机推荐
- 如何在 GitHub 的项目中创建一个分支呢?
如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...
- CountDownLatch和CycliBarrier介绍
一.CountDownLatch 它被用来同步一个或多个任务,强制他们等待其他任务完成,这就是闭锁. public CountDownLatch(int count) { if (count < ...
- 通过反射来手写简单的ORM SQlserver
不说废话,直接上干货,如发现问题,欢迎大家指出,谢谢! //------------------------------------MySQlServerORM [简单 CURD] using Sys ...
- Spring MVC(3)Spring MVC 高级应用
一.Spring MVC 的数据转换和格式化 前面的应用,都只是用HandlerAdapter去执行处理器. 处理器和控制器不是一个概念,处理器是在控制器功能的基础上加上了一层包装,有了这层包装,在H ...
- fenby C语言 P30
int a[5],*p=a; int a[5],*p=&a[0]; #include <stdio.h> int main(void){ int a[5],*p=a,i; for( ...
- java 项目时间和服务器时间不一致
今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确 ...
- git 陷阱小记
1.文件添加陷阱: 1).git 提交命令快捷键: git commit -a -m "",能够跳过git添加文件到暂存目录步骤 2)git add . git commit -m ...
- 记一次C#调用C++踩过的坑
一般来说,C#调用C++生产的dll,如下: C++的项目要设置为"导出dll的项目",而且导出的函数,一般为: extern "C" __declspec(d ...
- C/c.pp:贪心,二分答案
说是贪心有点牵强. 其次,答案满足单调性,如果在k次操作能完成那么在k+1次操作内也能完成. 因为大不了你就把多的一次对方操作再进行一次就好了. 怎么操作呢? 我们从头扫这个序列,遇到每一个不匹配位置 ...
- [专题总结]AC自动机
其实前面的模板也不是1A,我在题库里提前做过,也不必在意罚时,刚开始我在做别的专题 裸模板我就不说了,各个博客讲解的很明白 void insert(string s){ ,len=s.size(); ...