上一篇介绍了一下使用开源代码测试,这一篇介绍一下原理。

参考:https://www.jianshu.com/p/5668e1e01e26

参考:《Shape Robust Text Detection with Progressive Scale Expansion Network》

网络结构:

PSENet笔记(二)

论文中主要内容从第3节开始,PSENet的总流水线(管道)如上图所示。网络架构受FPN(Feature Pyramid Network)启发。

3.1 管道结构   如上图。

3.2 渐进尺度展开算法 

PSENet笔记(二)

实际文章中n=6,但是为了更方便解释,这里假设n=3,即网络最终输出了3张分割结果,首先从最小的分割结果开始,如上图(a)所示,能够找出四个分割区域。这四个分割区域用四种不同的颜色表示,这样能得到所有文本的中心区域,然后将这些区域与进行合并得到最终结果,结果分别如上图(c)和图(d)所示。上述依次合并的规则如上图(g)所示(Breadth-First-Search algorithm)。在合并的过程中可能会遇到如上图(g)中的冲突情况,在遇到冲突的情况下,采用"先到先得"的方式。

 

PSENet笔记(二)

 In the pseudocode, T,P are the intermediate results. Q is a queue. Neighbor(·) represents the neighbor pixels of p. GroupByLabel(·) is the function of grouping the intermediate result by label. “S i [q] =True” means that the predicted value of pixel q in S i belongs to the text part.

上面的伪代码中,T、P是中间结果,Q是队列,Neighbor(·)代表p的邻接像素,GroupByLabel(·)是按标签分组的函数,S i [q] =True表示Si中的像素q的预测值属于文本部分。

3.3 标签生成

因为网络输出有n个分割结果,所以对于一张输入图片来说groundtruth也要有n个。这里groundtruth就是简单的将标定的文本框进行不同尺度的缩小,如下图所示。下图中(b)就是标定框也是最大的groundtruth PSENet笔记(二),如下图(c)的最右侧图所示。为了获得下图(c)中的其他图,文章采用Vatti clipping算法将原多边形PSENet笔记(二)缩小PSENet笔记(二)个像素得到PSENet笔记(二)。最终得到的n个groundtruth用PSENet笔记(二)表示。需要缩小的像素通过下面式子得到:

PSENet笔记(二)

上式中,PSENet笔记(二)表示要缩小的像素值,PSENet笔记(二)表示多边形的面积,PSENet笔记(二)表示多边形的周长,PSENet笔记(二)表示缩小的比例。

缩小比例PSENet笔记(二)的计算方式如下所示:

PSENet笔记(二)
上式中,PSENet笔记(二)表示最小的缩放比例,是一个超参数,取值范围为(0,1],本文取m=0.5。n为最终输出多少个尺度的分割结果,文章设为6。

3.4 损失函数

 

 

 

 

相关文章:

  • 2022-12-23
  • 2021-07-31
  • 2021-12-15
  • 2021-10-01
  • 2021-12-07
  • 2021-04-07
  • 2021-06-19
  • 2022-01-17
猜你喜欢
  • 2022-12-23
  • 2021-08-28
  • 2021-09-13
  • 2021-11-08
  • 2021-08-15
  • 2021-10-07
  • 2022-12-23
相关资源
相似解决方案