场景文字检测中边界的艺术(上)

前言

对于曲形文本,使用regression-based的方法很难完美的做到边界的定位,因此最近对于曲形文本的检测逐渐转向了文本区域分割+边界校准的方式解决,典型代表,TextMoutain, TextField,当然这里也可以顺带讲一下边界最初的使用者——SOTD。估计没有它,就没有后续一系列经典的对于Border learning的改进。

本文一览

本文不主要讲解论文,主要分析各类基于分割的文字检测中对边界学习的改进,以及他们的作用,主要集中于以下几个方法:

  • SOTD

  • TextField

  • TextMoutain

Border learning

最初border learning的提出,主要为了解决密集文本的检测,如下图所示:

密集文字分割

对于密集文字来说,由于两个文本之间间距较小,间隙中背景信息较少,因此具备较少的语义将其分开,进而直接使用分割,容易导致出现文本粘连的情况,如上图(b)所示。因此,各路大神认为,对于行文本来说,处于文本边界的像素属于歧义样本:即包含背景信息较多,但同时属于文本区域,不利于文本区域的分割。因此,类似于EAST或者DDR中,将文本区域进行shrink,丢弃边界区域,防止其对分割任务造成影响。同时防止密集文本的检测结果粘连。然而,不同于EAST,DDR这类分割和回归的混合方法,纯分割的方法使用shrink后的文字区域作为文字区域,那么从分割结果得到文字的边界无疑是一种经验方法,即通过构造label时的shrink比例,把分割区域进行放缩,得到最后的文本区域或者检测框。因此,针对上述经验的工作,SOTD没有将边界信息丢弃,反而将其作为第三类,相当于文字与文字之间的墙壁,将密集文本隔开。同时变相的增加了训练样本。具体图图(c)所示。

SOTD

该方法的全称叫做Self-organized Text Detection with Minimal Post-processing via Border Learning。文章的主要思路在于,将文字区域的边界像素作为第三类border类进行学习,在训练过程中直接使用互斥的三分类,解决密集文本粘连的问题,同时针对任意形状的文字具有一定的检测作用,这里为什么说一定的检测作用呢,因为其网络结构把多方向这条路给封死了,不信,可以看下图:

sotd网络结构

文中主要针对PPT的简单场景,因此没有使用复杂的网络,少量的通道,以及最后的1x3的卷积,直接将文本的检测限制在文本行,因此文章对于行文本检测较强。同时文章暴力的加入多尺度训练,多尺度特征融合,提升分割的性能。

但是,这种简单的将边界作为第三类进行分类的方法,有的文章认为不合适,这就是TextMoutain中所描述的。

TextMoutain

TextMoutain认为,暴力的将文字分为边界和文字区域是不合适的,因为边界和文字区域不是完全分开的,应该是光滑的变化,如下图所示:

textMoutain标签构造

文章将文字视为一座山,文字中心为山顶,边界处于山脚。这样从边界向山顶爬的过程,就是一个文本区域生成的过程。先上网络结构:

textmoutain网络结构

文章使用FPN作为特征提取网络,后融合多层特征,进行分割。分割的输出有三种,TS为文字区域的评分,TCBP为文字Text center-border probability.通过概率图取阈值,得到对应的text border以及text center instance.网络的另外一个输出是TCD,即边界区域上像素指向文字中心的方向。最后,文章通过TCD中指向“山顶”的方向,从山脚开始向山顶爬,最后生成文字区域。label构造依赖下面一张图:

标签的构造方式

图中a表示黄点到四条边的垂直距离。找出a1+a3和a2+a4中最短的作为构成Box的h,然后利用h。生成TS,TCD。

TS的生成

TS表示文字区域,但是其不是全1这种形式,而是一张平滑的map,其中每一像素值表示一个0到1的值,通过2*min({ai})/h得到,即如果黄点越处于文本中心区域,对应的值越大,反而越小。这样就出现了之前的文字的山一样的概率图。文章将其作为文字区域分割的真值。这样做,避免了border和文字区域的暴力分类,将边界和文字区域都认为是文本,只不过边界的像素概率低,而中心区域的文本概率高。

TCD的生成

TCD表示text center direction,也就是图中每一像素的值表示只想文本中心的方向,注意,这里只是方向,因此是一个单位向量,长度为1.文章是如何构造的这个标签的呢?

V_x = \sum_{i=1}^{4} [\frac{h_x}{2} - ||a_i||] * \frac{a_i}{||a_i||}

如上面式子描述,计算每个ai和h的差值,值得大小代表了ai方向向量的大小以及正负方向,通过4个向量的求和,得到只想文本中心的方向。通俗点数哦,如果ai中某一个特别大,大于h,那么它的方向为此时a的反方向,因为h为中心所在,爬过了山头,需要折回去。在得到vx后,需要将其归一化得到单位向量,因为只需要知道方向即可。

当然,在得到TS和TCD之后,便是爬山算法,利用TCD中的指向,对TS进行扩张,得到最后的文本区域。详细看论文中的后处理过程,非常巧妙。

TextField

这篇文章和TextMoutain脚前脚后,一度认为他们的想法冲突了,仔细看并没,好吧,还是有一点点类似的。

textfileld标签的模样

上图为文章对其标签后遭的描述,图中可以看出,直接基于文本区域的分割,容易带来粘连的问题,同时卷积对于扭曲文本的边界不能很好的分割开来,究其原因,曲形文本有时候文本边界在文本区域内部,这是无法通过直接的文字区域分割得到的。文章的标签一样的长得像moutain,但是构造的方式不同。接下来,简要说明下标签构造的路子:

textfield标签构造的方式

文章构造方向标签时候,文本区域的每一个像素,存放的值为当前像素与其最近的边界处像素构成的单位向量,指向文本区域。因此可以从图中看到,属于文本上方区域的颜色为一个颜色,下方为另外一张颜色,说明其方向一致。

构造玩标签,就是整个模型的训练以及inference。如下图所示:

textfile pipline

首先是通过网络分割得到文字区域和方向的mao,然后利用score过滤方向的map得到干净的文字方向的map,然后通过后处理方法,连接成完整的文字区域。这里涉及到搜索,详细阅读论文。

性能分析

TextMoutain在mlt上取得了SOTA,在ICDAR2015上0.86+,而反观TextField则效果较差,而且在ICDAR2015上性能hmean为0.82+, EAST可以到0.85。下面只列举在ICDAR2015上的结果:

TextField on IC15

textfield icdar2015 result

TextMoutain on IC15

textmoutain icdar2015 result

这里TextField使用的VGG16,比较EAST, TextMoutain的实现用的resnet50较弱,所以存在一点的不公平。但是,可以知道的是,TextField的召回比TextMoutain较弱,一是骨干网络,另外一种可能是标签构造的不同。同样的Moutain算法,如果文本区域为moutain,那么与方向标签会很契合,进行再后处理中可以很顺利的grouping。在实际应用中,纯分割的网络分割多方向文本召回率很高,但是都存在边界定位不准的情况。因此,这两种方法的边界定位的准确性决定了这种方法的性能。可以看到的是,TextMoutain的性能更好,我想即使将Textfild的骨干网络换成resnet,应该也不会有夸张的7个点的提升。标签构造方式决定了后续的定位不准,Textfield使用的文本区域的点与离她它最近的非文本区域点的方向,当文本区域的像素处于边界的时候,容易出现该位置存储的向量的方向不稳定的情况,即极端情况,边界像素,存在多个距离最近的像素,因此边界标签不够强,出现后续的边界的向量预测不准,精度下降。对于TextMoutain,其border中存放的是指向文本中心区域的方向向量,不存在歧义的方向,因此在后处理过程中,可能存在文本中心与边界像素的交界处预测不准,其余是很准的,即便是处于文字边界的极端像素。这也是它性能好的原因。

小结

TextField, TextMoutain, pixellink,psenet等方法,实际上都是基于文字区域的分割然后加上对边界的校准,提升算法的性能。这种方法,也是基于检测、分割+回归在做的事情。同时,也可以看出,为了让算法检测出更为复杂的文本,边界的设计尤为重要。甚至在我看来,如果确定一个带方向的边界,便可以确定一个文本区域。border learning, the art of border!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容