【论文笔记】Detecting Oriented Text in Natural Images by Linking Segments
2018-01-09 17:17
741 查看
Baoguang Shi, Xiang Bai, Serge Belongie. Detecting Oriented Text in Natural Images by Linking Segments[J]. arXiv preprint arXiv:1703.06520v3, 2017
本文针对文字检测的特定环境改进SSD算法,提出Seglink多方向文本检测方法。核心是将文本检测转换成两个局部元素的检测:segment和link。segment 是一个有方向的box,覆盖文本内容的一部分,而link则连接了两个相邻的segments,表达了这两个segment是否属于同一个文本。本文算法通过在多尺度上进行segment和link的检测,最终按照links的表达将相关的segment合并成最终的bounding box。经实验证明,该算法提高了检测正确率及训练效率。
-网络结构
-Training过程
-Combine算法
-实验相关
-算法的局限性
图中的网络由卷积feauture layers和predictors组成,在多个feature layer(文中为6个)上检测出segments和links,再合并成一个完整的检测结果。
网络结构与SSD相似,采用VGG16作为基础网络,其中全连接层(fc6,fc7)替换成卷积层(conv6,conv7),再接卷积层conv8_1到conv11。从其中的6个feature layer上检测segment和link,feature layer的索引设为l=1.....6。
对于第l个feature layer,default box的中心位置为(xa,ya),长宽均为al,且xa=(x+0.5)wIwl ya=(y+0.5)hIhl al=γwIwl
其中γ=1.5,且wIwl可以表示该层神经元的感受野。待预测的offsets参数为(Δxs,Δys,Δws,Δhs,Δθs)。
cross-layer link:在不同的feature layer上有可能会检测到同一文本的segments,造成冗余,cross-layer link的提出就是为了解决这个问题。cross-layer link连接了两个相邻feature layer上的segments,如图(b)所示。需要注意的是,由于下采样使后一层为前一层scale的1/2,定义一个segment的cross-layer邻居为前一层4邻域更小的segment,即前一层是后一层的邻居,但后一层不是前一层的邻居,所以l=1的feature layer没有cross-layer邻居。图中所示的黄框为当前层的segment,蓝框为上一层更小更细的segment,绿色的线代表cross-layer link有连接,属于同一文本,在后续的combine算法中会将他们融合,即去除了冗余。
i) 判断default box是否为正样本:
首先假设一张图只有一个groundtruth,满足以下两个条件的default box记为正样本。a) box的中心在bounding box里面,如下图中(1)所示;b) default box的高度al与bounding box的高度h的比满足max(alh,hal)≤1.5。否则,记为负样本。
如果图上有多个groundtruth,如果一个default box与所有groundtruth都不满足i)中的条件,记为负样本;否则记为正样本,且属于大小与他最接近的groundtruth。
ii) 计算offsets:
通过正样本来计算offsets的值,计算过程如下图所示。如(4)所示的黄色矩形框为训练要用的segment,而蓝色为正样本default box,它们之间的offsets即为网络要学习的。
iii) 判断link的label:
不论是within-layer link还是cross-layer link,满足以下两个条件即为有连接:a) 两个default box均为正样本;b) 两个default box均属于同一groundtruth。
另外,Online Hard Negative Mining和Data Augmentation的使用与SSD一样。
Online Hard Negative Mining 对于Segments和links来说,训练样本中的负样本均占大多数,所以平衡正负样本数量非常必要, 文中选取正样本和负样本数量的比例为1:3。正负样本的选择是一个难例挖掘的过程,首先确定了负样本候选集,计算prediction loss按照从大到小排列后,选择得分较高的候选负样本加入到负样本集。本文针对segments和links分别进行hard negative mining。
Data Augmentation 训练样本被随机裁切成一个patch,与groundtruth之间的overlap比例为:0,0.1,0.3,0.5,0.7,0.9,采样的patch与原始图像大小的比例在[0.1, 1]之间。在采样之后,每一个patch在进入训练前被resize到固定的大小,不进行水平翻转。
1)在合并前,分别设定segment和link的阈值α和β,根据它们的置信分数过滤掉一部分,实验中模型对阈值的敏感度不高;
2)以segment作为node,以link作为edge,建立图模型。采用DFS(depth-first search)算法找到连通分量,每个连通分量即为一个单词或文本行;
3)将以上的连通分量进行连接,求出所有segment的平均θ为合并后box的角度 ;根据θ和每个segment的中心坐标求出穿过每个segment的线段;根据线段的两个端点求出中心点坐标作为合并后box的中心(xb,yb);box的宽度为线段的长度加上首尾segment的平均宽度,box的高度为所有segment的平均高度。
对数据集IC15,测试图像resize到1280×768,分别设置segments和links的阈值分别为0.9和0.7;对数据集TD500,测试图像resize为768×768,segments和links的阈值分别为0.9和0.5;对数据集IC13,测试图像resize为512×512,segments和links的阈值分别为0.6和0.3。
2)无法检测间隔很大的文本行,如下图(b)所示;
3)无法检测形变的文本,如下图(c)所示。
参考文章:https://www.cnblogs.com/lillylin/p/6596731.html
本文针对文字检测的特定环境改进SSD算法,提出Seglink多方向文本检测方法。核心是将文本检测转换成两个局部元素的检测:segment和link。segment 是一个有方向的box,覆盖文本内容的一部分,而link则连接了两个相邻的segments,表达了这两个segment是否属于同一个文本。本文算法通过在多尺度上进行segment和link的检测,最终按照links的表达将相关的segment合并成最终的bounding box。经实验证明,该算法提高了检测正确率及训练效率。
-网络结构
-Training过程
-Combine算法
-实验相关
-算法的局限性
1. 网络结构(cnn model)
本文算法以图片作为CNN模型的输入,模型输出为一组segments和links。具体的网络结构如下图所示:图中的网络由卷积feauture layers和predictors组成,在多个feature layer(文中为6个)上检测出segments和links,再合并成一个完整的检测结果。
网络结构与SSD相似,采用VGG16作为基础网络,其中全连接层(fc6,fc7)替换成卷积层(conv6,conv7),再接卷积层conv8_1到conv11。从其中的6个feature layer上检测segment和link,feature layer的索引设为l=1.....6。
1)Segment的预测
segment的预测部分,网络结构与SSD很相似,不同地方在于: a)每个feature map的每个位置上只用了一个default box;b)default box的scale不是人工设置,而是与感受野相关,aspect ratio=1,不是原来的1,2,3,1/2,1/3;c)输出为s=(xs,ys,ws,hs,θs),比SSD网络多了一个角度参数。对于第l个feature layer,default box的中心位置为(xa,ya),长宽均为al,且xa=(x+0.5)wIwl ya=(y+0.5)hIhl al=γwIwl
其中γ=1.5,且wIwl可以表示该层神经元的感受野。待预测的offsets参数为(Δxs,Δys,Δws,Δhs,Δθs)。
2) Within-Layer Link和Cross-Layer Link
within-layer link表示在同一层feature layer里,每个Segment与8邻域内的segment的连接状况,如下图(a)所示。且每个link有2维,一维是正分,表示两个segment属于同一文本,一维是负分,表示两个segment不属于同一文本。所以,每个predictor输出16(8*2)维向量。cross-layer link:在不同的feature layer上有可能会检测到同一文本的segments,造成冗余,cross-layer link的提出就是为了解决这个问题。cross-layer link连接了两个相邻feature layer上的segments,如图(b)所示。需要注意的是,由于下采样使后一层为前一层scale的1/2,定义一个segment的cross-layer邻居为前一层4邻域更小的segment,即前一层是后一层的邻居,但后一层不是前一层的邻居,所以l=1的feature layer没有cross-layer邻居。图中所示的黄框为当前层的segment,蓝框为上一层更小更细的segment,绿色的线代表cross-layer link有连接,属于同一文本,在后续的combine算法中会将他们融合,即去除了冗余。
3) Output
每一个predictor都是一个卷积层,scale与接连的feature layer相同。每个位置上都有2+5+16+8=31维的输出,但Conv4_3层没有cross-layer link,所以该层的predictor只有2+5+16=23维输出。2. Training过程
1)Groundtruths of segments and links
训练过程的Groundtruth包括:所有default box的label(正样本or负样本),default box的offsets,所有within-layer和cross-layer link的label。这些都通过文本groundtruth的bounding box来获得。i) 判断default box是否为正样本:
首先假设一张图只有一个groundtruth,满足以下两个条件的default box记为正样本。a) box的中心在bounding box里面,如下图中(1)所示;b) default box的高度al与bounding box的高度h的比满足max(alh,hal)≤1.5。否则,记为负样本。
如果图上有多个groundtruth,如果一个default box与所有groundtruth都不满足i)中的条件,记为负样本;否则记为正样本,且属于大小与他最接近的groundtruth。
ii) 计算offsets:
通过正样本来计算offsets的值,计算过程如下图所示。如(4)所示的黄色矩形框为训练要用的segment,而蓝色为正样本default box,它们之间的offsets即为网络要学习的。
iii) 判断link的label:
不论是within-layer link还是cross-layer link,满足以下两个条件即为有连接:a) 两个default box均为正样本;b) 两个default box均属于同一groundtruth。
2) Optimization
目标函数分为三个部分:segment classification, offsets regeression, link classification,与SSD相比,不仅学习的segment的box部分,还学习了它们的link关系。ys为segments的label,yl为links的label,取值0或1。Ns为所有正样本default box的数量,Nl为所有连接的数量。权重λ1和λ2在实际使用中均设为1。L(ys,cs,yl,cl,s^,s)=1NsLconf(ys,cs)+λ11NsLloc(s^,s)+λ21NlLconf(yl,cl)另外,Online Hard Negative Mining和Data Augmentation的使用与SSD一样。
Online Hard Negative Mining 对于Segments和links来说,训练样本中的负样本均占大多数,所以平衡正负样本数量非常必要, 文中选取正样本和负样本数量的比例为1:3。正负样本的选择是一个难例挖掘的过程,首先确定了负样本候选集,计算prediction loss按照从大到小排列后,选择得分较高的候选负样本加入到负样本集。本文针对segments和links分别进行hard negative mining。
Data Augmentation 训练样本被随机裁切成一个patch,与groundtruth之间的overlap比例为:0,0.1,0.3,0.5,0.7,0.9,采样的patch与原始图像大小的比例在[0.1, 1]之间。在采样之后,每一个patch在进入训练前被resize到固定的大小,不进行水平翻转。
3. Combine算法
网络输出一组segments和links,数量的多少与图像的尺寸有关。1)在合并前,分别设定segment和link的阈值α和β,根据它们的置信分数过滤掉一部分,实验中模型对阈值的敏感度不高;
2)以segment作为node,以link作为edge,建立图模型。采用DFS(depth-first search)算法找到连通分量,每个连通分量即为一个单词或文本行;
3)将以上的连通分量进行连接,求出所有segment的平均θ为合并后box的角度 ;根据θ和每个segment的中心坐标求出穿过每个segment的线段;根据线段的两个端点求出中心点坐标作为合并后box的中心(xb,yb);box的宽度为线段的长度加上首尾segment的平均宽度,box的高度为所有segment的平均高度。
4. 实验相关
模型在SynthText数据集上进行训练,在真实数据集上进行fine-tune,在以下三个公开数据集上进行评测:ICDAR 2015,MSRA-T500,ICDAR 2013。训练和fine-tune过程中,图像在随机crop后resize到384×384作为输入。对数据集IC15,测试图像resize到1280×768,分别设置segments和links的阈值分别为0.9和0.7;对数据集TD500,测试图像resize为768×768,segments和links的阈值分别为0.9和0.5;对数据集IC13,测试图像resize为512×512,segments和links的阈值分别为0.6和0.3。
5. 算法的局限性
1)segments和links的阈值α和β需要人工设置;2)无法检测间隔很大的文本行,如下图(b)所示;
3)无法检测形变的文本,如下图(c)所示。
参考文章:https://www.cnblogs.com/lillylin/p/6596731.html
相关文章推荐
- Detecting Oriented Text in Natural Images by Linking Segments:SegLink实现图像内文档识别的github代码复现实践笔记
- 论文阅读(XiangBai——【CVPR2017】Detecting Oriented Text in Natural Images by Linking Segments)
- SegLink on github-Detecting Oriented Text in Natural Images by Linking Segments
- Detecting Text in Natural Image with Connectionist Text Proposal Network论文笔记
- 论文阅读(Xiang Bai——【CVPR2012】Detecting Texts of Arbitrary Orientations in Natural Images)
- 论文笔记之Synthetic Data for Text Localisation in Natural Images(人工合成带有文本的图片)
- 对论文Synthetic Data for Text Localisation in Natural Images的理解
- 论文阅读:Synthetic Data for Text Localisation in Natural Images
- 论文阅读学习 - CTPN-Detecting Text in Natural Image with Connectionist Text Proposal Network
- [论文复现]Detecting Text in Natural Image with Connectionist Text Proposal Network
- 论文阅读(Weilin Huang——【ECCV2016】Detecting Text in Natural Image with Connectionist Text Proposal Network)
- 论文阅读:Synthetic Data for Text Localisation in Natural Images
- 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)
- ctpn-Detecting Text in Natural Image with Connectionist Text Proposal Network 论文解读
- Synthetic Data for Text Localisation in Natural Images论文阅读
- Detecting Texts of Arbitrary Orientations in Natural Images(总结)
- 【论文阅读】Generating Natural Answers by Incorporating Copying and Retrieving Mechanisms in Sequence-to-S
- 【论文笔记】 Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network
- 【ECCV2016】Detecting Text in Natural Image with Connectionist Text Proposal Network