一、文字检测
(1)方法
方法主要是基于EAST和Refinenet进行的。首先,图像经过Resnet50得到不同层的特征,然后通过Refinet的特征融合方式融合多层特征,接着,经过多任务回归预测每个特征图上的点的分数和RBOX,最后,在多尺寸检测算法里加了过滤机制。
方法流程图如下:
(2)涉及到的点
1.EAST
A.网络结构图
B.PVANet和C.Relu
C.Resnet50
残差网络详细原理见:https://www.jianshu.com/p/e58437f39f65 和
D.Loss
交叉熵损失方面的原理可参考:和
E.说明
EAST是一个单阶段的快速而精准的场景文字检测框架。它主要利用一个全卷积模型来产生单词或者文本线级别的密集预测,相比于以前的复杂场景文字检测算法减少了许多冗余操作。对于文本的预测结果,既可以是旋转的矩形表示,也可以是任意的四边型表示,最后再经过非极大值抑制(NMS)的处理然后输出结果。整个框架主要借鉴DenseBox的网络框架,把图片输入全卷积网络当中,然后对文本区域进行多通道的像素级别的预测。其中一个通道用来输出文本的置信分数,而另外的通道则用来输出文本的几何坐标信息。
(
);接着,通过反卷积(unpool)、不同的卷积、合并等操作,多层的卷积特征融合成在一起(
);最后,网络根据任务的不同,输出对像素点文本概率置信度的预测以及文本边框的预测。
2.Refinet
A.网络结构图
目前深度卷积网络在目标识别和图像分割等问题上表现突出,但频繁的下采样丢失了原图像的信息。RefineNet网络,使用残差链接显式将各个下采样层和后面的网络层结合在一起。这样网络高层的语义特征可以直接从底层的卷积层中获得精炼。一个RefineNet单元使用残差链接和identity映射,对于端对端的训练很有效。RefineNet还引入了一种链接残差池化,它可以捕获大量背景信息。
如图所示,一样是将不同大小的特征图融合在一起,RefineNet的融合方式会比较复杂。RefineNet具体结构如图2.2所示,网络可以融合多个不同大小的特征图。首先,特征图先经过俩个卷积单元块(b);接着小的特征图经上采样操作获得与大特征图一样的大小,最终求和得到一个特征图(c);最后,特征图会经过一个链式残差池化(d)操纵,其结构类似于残差网络的快捷链接,只不过经过的不是卷积操作,而是池化操作。作者称,这样的操作有利于网络识别出属于背景的像素点,这将有利于文字检测中判定像素属性。我们将图1中原本简单的特征融合,替换成RefineNet。
3.带过滤的多尺度检测
当文本的尺寸过大时,由于训练数据样本不均匀的问题,大的文本往往会检测不全或者被忽略。而文本尺寸过小时,往往不能较精确的定位文本的边界。通过多尺寸检测的方法,一张图像往往被缩放到不同尺度进行文本检测,最终将检测到的文本框通过非极大值抑制处理得到最后的结果。然而因为缩放导致的文本过大或过小将会对多尺寸检测产生负面的影响。于是我们在多尺寸检测的基础上加入了过滤原则:缩小的图像做完文本检测后要过滤小面积小的框;放的的图像做完文本检测后要过滤掉面积大的框。我们在验证集上通过对比找到了最佳的缩放尺寸和过滤阈值。
(2)文字检测以往其他方法
参考:
(3)比赛
1.网址和任务
A.ICPR MTWI2018挑战赛二:网络图像的文本检测,训练集10000张,测试集10000张,标注四点坐标。https://tianchi.aliyun.com/competition/information.htm?raceId=231651
B.百度-西交大大数据竞赛:商家招牌的分类与检测。http://dianshi.baidu.com/gemstone/competitions/detail?raceId=17%20
分类:共100类,每类10-30张训练数据,5-10张测试数据,训练数据2725张,测试数据1000张
检测:9000张训练,4351张测试。
2.实验细节.
A.实验分为两个阶段:第一个阶段,我们将训练集分为9000张的训练样本和1000张的验证样本,以0.001学习率,以8的batch_size,512的输入大小训练模型50万次。第二阶段,我们将1万张图片都作为训练样本,以0.0005的学习率,6的batch_size,544的输入大小继续训练模型20万次。
B.分类用Resnet152,增加高斯模糊、旋转、缩放、翻转、裁剪、灰度和彩色进行投票。
C.一些尝试:
预训练、采用多个网络进行融合、把图像进行加强,组成五个通道再训练和测试、放大预测所用的特征图、阈值设低提高召回率,再用规则过滤、加大训练尺度、改成二阶段的、变形卷积、空洞卷积、Resnet_inception、anchor。
3.结果
A.f值=0.695,acc=0.75,recall=0.647
B.分类=0.994,检测=0.815
(4)对EAST做的改进
1.focal loss
参考:
2.feature map*2
3.多尺度
4.数据扩充
5.规则过滤
6.多层融合方式
(5)代码心得
1.单阶段速度快,训练慢,效果没双阶段好,原因可能是样本不平衡。
2.改进的模型不要在原来的基础上继续训练,要在最初的基础上重新训练,因为学习率可能会衰减到没有改进的空间。
3.做好实验记录,分析变量。
二、文本语种识别
1.方法
VGG图: 识别方法网络图:
2.特点
A.采用focal loss
B.采用两个模型进行加权,一个是正常数据,一个是过采样的数据
C.全局平均池化,解决图像大小不一致的问题
三、ICDAR15上结果
算法 | recall | precision | f-measure |
EAST | 0.735 | 0.836 | 0.78 |
+resnet | 0.749 | 0.841 | 0.792 |
+Focal loss | 0.778 | 0.861 | 0.817 |
+refinenet | 0.762 | 0.885 | 0.819 |
f*2 | 0.779 | 0.878 | 0.826 |