1. 引言
之前介绍了文本检测中的CTPN方法,详情可参见《CTPN文本检测与tensorflow实现》,虽然该方法在水平文本的检测方面效果比较好,但是对于竖直文本或者倾斜的文本,该方法的检测就很差,因此,在该方法之后,很多学者也提出了各种改进方法,其中,有一篇比较经典的就是旷世科技在2017年提出来的EAST模型,论文的全称为《EAST: An Efficient and Accurate Scene Text Detector》,论文的下载地址如下:
本文将对该方法进行具体介绍,并利用Keras对其进行复现。
2.EAST模型介绍
2.1 EAST模型结构
EAST的网络结构总共包含三个部分:feature extractor stem(特征提取分支), feature-merging branch(特征合并分支) 以及 output layer(输出层)。
在特征提取分支部分,主要由四层卷积层组成,可以是一些预训练好的卷积层,作者采用的是VGG16中pooling-2到pooling-5每一层得到的feature map。记每一层卷积层卷积后得到feature map为
,如图1所示,从上到下唉,每一层feature map对应的尺度刚好为输入图像的
。
在特征合并分支部分,其实作者借鉴了U-net的思想,只是U-net采用的是反卷积的操作,而这里采用的是反池化的操作,具体的计算大致如下,对于一个
,首先经过一层反池化操作,得到与上一层卷积feature map同样大小的特征,然后将其与
进行拼接,拼接后再依次进入一层
和
的卷积层,以减少拼接后通道数的增加,得到对应的
,在特征合并分支的最后一层,是一层
的卷积层,卷积后得到的feature map最终直接进入输出层。具体的计算公式如下:
![h _ { i } = \left\{ \begin{array} { l l } { f _ { i } } & { \text { if } i = 1 } \\ { \operatorname { conv } _ { 3 \times 3 } \left( \operatorname { conv } _ { 1 \times 1 } \left( \left[ g _ { i - 1 } ; f _ { i } \right] \right) \right) } & { \text { otherwise } } \end{array} \right.](https://i-blog.csdnimg.cn/blog_migrate/83b6d7a2793009fc0a6b857dbbc9d057.gif%20%3D%20%5Cleft%5C%7B%20%5Cbegin%7Barray%7D%20%7B%20l%20l%20%7D%20%7B%20f%20_%20%7B%20i%20%7D%20%7D%20%26%20%7B%20%5Ctext%20%7B%20if%20%7D%20i%20%3D%201%20%7D%20%5C%5C%20%7B%20%5Coperatorname%20%7B%20conv%20%7D%20_%20%7B%203%20%5Ctimes%203%20%7D%20%5Cleft%28%20%5Coperatorname%20%7B%20conv%20%7D%20_%20%7B%201%20%5Ctimes%201%20%7D%20%5Cleft%28%20%5Cleft%5B%20g%20_%20%7B%20i%20-%201%20%7D%20%3B%20f%20_%20%7B%20i%20%7D%20%5Cright%5D%20%5Cright%29%20%5Cright%29%20%7D%20%26%20%7B%20%5Ctext%20%7B%20otherwise%20%7D%20%7D%20%5Cend%7Barray%7D%20%5Cright.)
其中,被称为合并基,
是合并后得到feature map,表示连接操作。之所以要引入特征合并分支,是因为在场景文字识别中,文字的大小非常极端,较大的文字需要神经网络高层的特征信息,而比较小的文字则需要神经网络浅层的特征信息,因此,只有将网络不同层次的特征进行融合才能满足这样的需求。
在输出层部分,主要有两部分,一部分是用单个通道的

最低0.47元/天 解锁文章
508

被折叠的 条评论
为什么被折叠?



