参考:
https://arxiv.org/pdf/1801.01671.pdf
https://blog.csdn.net/yang_daxia/article/details/88047035
https://blog.csdn.net/zhangwl27/article/details/86544941
https://blog.csdn.net/qq_14845119/article/details/84635847
https://blog.csdn.net/zl535320706/article/details/80603187
推荐理由:商汤18年1月发表,被cvpr2018接收,实现了端到端多方向文字的检测和识别。得益于检测和识别这两种互补监督的端到端训练,实现了效率和精度的双提升,在icdar 2015上取得89.84%的F1,帧率达到22.6fps。
一、整体介绍:
一般来说文本检测和识别是分为两项任务进行的,分开更容易实现,可是也带来了先验知识的损失。FOTS提出了ROIRotate方法,将文本检测和文本识别这两项监督进行融合互补。观察其网络结构可以发现,是将east(检测)和crnn(识别)两个算法通过其提出ROIRotate连接起来。通过这种方式不仅速度快而且相比分开两项任务精度还能所有提升。能有效减少“漏检”、“错检”、“字符错误分割”、“字符错误合并”等4种错误。
二、网络结构:
FOTS的整体结构由4部分组成。shared convolutions(共享特征),the text detection branch(检测分支),RoIRotate operation(仿射变换分支),the text recognition branch(识别分支)。数据通过主干网络提取共享特征,经过检测分支来预测文本框位置和方向,利用仿射变换在共享特征图上将文本框的内容变换到标准x,y坐标轴上,最后经过识别分支得出文本内容。
2.1、【shared convolutions】
FOTS的基础网络结构为Resnet50,共享卷积层采用了类似U-net的卷积的共享方法,将底层和高层的特征进行了融合,这部分和EAST中的特征共享方式一样,不过将east的pavnet替换为Resnet50。最终输出的特征图大小为原图的1/4。
2.2、【the text detection branch】(类似east输出层):
使用一层卷积进行输出6个通道,1个通道是score map,计算每个像素表示对应于原图中像素为文字的概率值。4个通道预测它到包含这个像素点的边界框的上、下、左、右边的距离。1个通道预测边界框的方向。正样本应用阈值过滤和NMS,可以得到最后的检测结果。
2.3、【RoIRotateoperation】
由于特征图上的边界框是多方向的,这与传统的文本识别不同。所以提出了RoIRotate将原本多方向的边界框进行仿射变换到x,y标准坐标系中。这样一来端到端的训练就变成了可能。对每个ground-true区域分别使用仿射变换到共享特征图上,获得文本区域标准的水平特征图。
M:仿射变换矩阵,包含旋转,缩放,平移
Ht:仿射变换后的特征图的高度,实验中为8
wt:仿射变换后的特征图的宽度
(x,y):特征图中的点的位置
(t; b; l; r) :特征图中的点距离旋转的框的上下左右的距离
θ:检测框的角度
Vcij:在位置(i,j),通道c处的输出值。
Ucnm:在位置(i,j),通道c处的输入值。
hs:输入的高度
ws:输入的宽度
Φx, Φy :双线性插值的核的参数
2.4、【the text recognition branch】(类似crnn)
文本识别分支旨在,利用共享卷积层提取的区域特征,和RoIRotate变形后的特征,预测文本标签。考虑到文本区域中标签长度的不同,输入到LSTM中的特征仅仅缩小了两次(变成原来的1/4)。否则小的文本区域中有辨识度的特征,尤其是那些很小的字母就会被漏掉。文本识别分支包含一个类似VGG的网络,一个双向LSTM,一个全连接和一个最后的CTC解码器。
三、损失函数:
整体损失函数等于检测分支损失函数加上识别分支损失函数。=1
3.1、检测分支损失函数:(和east一样)
检测分支损失函数等于文本分类项家边框回归项。=1
文本分类项(使用OHEM),这里是集合中的元素个数,
表示score map预测值
和表示文本或非文本的二值标签
之间的交叉熵。
边界框回归项,这里,是预测边界框
和ground truth
之间的IoU loss。第二项是旋转角度loss,这里
分别表示预测角度和ground truth角度。在实验中我们将超参数
设为10
3.2、识别分支损失函数:
这里N是输入图像中文本区域的数量,是识别标签。
ground truth标签序列,标签
的条件概率是所有路径
的概率和;这里
定义了来自有blanks和重复标签的可能的标定的集合到
的一个多对一的map。