论文:FOTS: Fast Oriented Text Spotting with a Unified Network
Github:https://github.com/jiangxiluning/FOTS.PyTorch
商汤和深圳先进院乔宇老师合租的作品。
FOTS是一个快速的端到端的集成检测+识别的框架,和其他two stage的方法相比,FOTS具有更快的速度。
蓝色框中表示FOTS,红色框表示其他two stage的方法。可见FOTS的速度几乎是别的方法的一半。
论文贡献:
- 提出了端到端的快速的文本检测+识别一体化的方案。
- 提出了RoIRotate ,类似于roi pooling 和roi align,该操作主要池化带方向的文本区域,通过该操作可以实现将文本检测和文本识别端到端的连接起来。
- FOTS在公开数据集ICDAR 2015, ICDAR 2017 MLT,ICDAR 2013 上取得了state of the art的效果。
整体结构:
FOTS的整体结构由4部分组成。shared convolutions,the text detection branch, RoIRotate operation,the text recognition branch。
shared convolutions:
FOTS的基础网络结构为Resnet50,共享卷积层采用了类似U-net的卷积的共享方法,将底层和高层的特征进行了融合。这部分和EAST中的特征共享方式一样。最终输出的特征图大小为原图的1/4。
the text detection branch:
该模块和EAST完全一样。
Loss函数如下,
包括了分类的loss(cross entrop)和坐标的回归的loss(IOU loss),实验中,平衡因子,λreg =1。
RoIRotate operation:
该模块将有角度的文本块,经过仿射变换,转化为正常的axis-glign的文本块。
M:仿射变换矩阵,包含旋转,缩放,平移
Ht:仿射变换后的特征图的高度,实验中为8
wt:仿射变换后的特征图的宽度
(x,y):特征图中的点的位置
(t; b; l; r) :特征图中的点距离旋转的框的上下左右的距离
θ:检测框的角度
Vcij:在位置(i,j),通道c处的输出值。
Ucnm:在位置(i,j),通道c处的输入值。
hs:输入的高度
ws:输入的宽度
Φx, Φy :双线性插值的核的参数
the text recognition branch:
该模块主要为crnn结构。
Y*表示一条识别结果的路径,其中识别的字符的个数T<=图片宽度W
B 表示所有的多对一的路径的集合
最终实验的loss为检测+识别的loss,λrecog =1
实验结果:
ICDAR2015结果:
ICDAR2017 MLT结果:
ICDAR2013结果:
速度和模型大小:
总结:
FOTS一个检测+识别一体化的框架,具有模型小,速度快,精度高,支持多角度,的特点。