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
思考:
- 增加标注信息,精确到字符
- 角度上更拟人一点,从左往右从上到下