本文主要是介绍《PixelLink: Detecting Scene Text via Instance Segmentation》论文阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
这篇论文发表在AAAI2018上,作者给出了源码,个人认为是一篇比较work的论文。在之前DPR和SegLink两篇论文的阅读过程中,我就曾思考二者multi-task的必要性。特别是DPR的classification task,其实跟segment是几乎等价的。在复现过程中,回归任务远比分类(分割)任务难收敛。
可以认为,在自然场景下的文本检测任务中,DPR证明了anchor的非必要性,而这篇论文也从segment角度证明了location regression的非必要性,同时参考了SegLink学习分割后pixel-level的连通。
关键词:PixelLink
、Segment
、Link
、Scene Text Detection
论文链接:https://arxiv.org/abs/1801.01315
源码链接:https://github.com/ZJULearning/pixel_link
注:编者水平有限,如有谬误,欢迎指正。若要转载,请注明出处,谢谢。
联系方式:
邮箱:yue_zhan@yahoo.com
QQ:1156356625
概述
这篇论文的核心思想很直接,去除了文本检测里面比较繁琐的Location Regression部分,引入pixel-link将像素级分割link得到文本(instance)级的预测框,当然其基础框架还是FPN。一般而言,分类任务相对回归任务更好实现,也更容易训练。
不过个人拙见,论文也存在瑕疵:
- 分割任务得到的预测结果近似于一个下采样的feature map,会有很多噪点(离群点)影响结果。本文采取的方法是根据数据集先验生成滤波器,将连通后的噪点块滤掉。这一块处理的比较粗糙,同时引入了先验和后验的计算量。
- 优化策略和之前的几种方法基本一致,没有什么亮点。
模型框架:
模型结构
整体框架可以简要分成预处理、CNN网络、后处理三个模块。
图片和标注按分割的来处理,主要是GT(ground truth)的处理。相比location regression,实在是简单很多。只需要根据分割生成mask即可,同时按像素的连通规则对每个像素点生成其8-连通域的mask。
对训练数据集生成先验的滤波器,这个滤波器其实只相当于俩阈值。文中举例,对IC15数据集,短边小于10个像素或面积小于300就给滤掉。具体设定是,训练集99%的框都不会被滤掉,所以就这样选了。
其实就是一个FPN,跟之前几个网络没大区别。
用生成的link prediction将分割得到的mask连通成框,主要是为了适应数据集,其实分割是不用按框处理的。对于相邻两个像素点,只要有一方的link为真,就进行连接。论文特别指出,采用并查集的数据结构可以在A连B、B连A这样的冗余下,快速生成连通分支。一个联通分支就是一个预测框了,不过会有重叠情况,这一块要看源码理解。
损失函数
- Loss on Pixels
同样是一个multi-task的损失函数, λ \lambda λ设为2.0: L = λ L p i x e l + L l i n k (1) L=\lambda L_{pixel}+L_{link}\tag1 L=λLpixel+Llink(1)图片中大文本区域像素数量远多于小区域的,理所当然按区域size做一个pixel loss的归一化,论文称为Instance-Balanced Cross-Entropy Loss: B i = S N , S = ∑ i N S i , ∀ i ∈ { 1 , . . . , N } (2) B_i=\frac{S}{N},S=\sum^N_i S_i,\forall i\in \{1,...,N\}\tag2 Bi=NS,S=i
这篇关于《PixelLink: Detecting Scene Text via Instance Segmentation》论文阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!