云从科技的Pixel-Anchor论文解读
导读参考
目前基于深度学习的文本检测框架可以分为两类,一类是基于像素级别的图像语义分割,另一类是来源于通用的物体检测框架,譬如基于锚 (anchor) 的检测和回归。
基于像素分割的文本检测框架首先通过图像语义分割获得可能的文本像素,之后通过像素点直接回归或者对文本像素的聚合得到最终的文本定位;而基于锚检测回归的文本检测框架是在通用物体检测的基础之上,通过设置更多不同长宽比的锚来适应文本变长的特性,以达到文本定位的效果。
基于像素分割的文本检测往往具有更好的精确度,但是对于小尺度的文本,因为适用的文本像素过于稀疏,检出率通常不高,除非以牺牲检测效率为代价对输入图像进行大尺度的放大;基于锚检测回归的文本检测对文本尺度本身不敏感,对小文本的检出率高,但是对于大角度的密集文本块,锚匹配的方式会不可避免的陷入无法适从的矛盾之中,此外,由于这种方法是基于文本整体的粗粒度特征,而并不是基于像素级别的精细特征,它的检测精度往往不如基于像素分割的文本检测。对于中文这样文本长度跨度很大的语言,目前的这两种方法在长文本上的效果都不尽人意。
这是一种端到端的深度学习文本检测框架Pixel-Anchor,通过特征共享的方式高效的把像素级别的图像语义分割和锚检测回归放入一个网络之中,把像素分割结果转换为锚检测回归过程中的一种注意力机制,使得锚检测回归的方法在获得高检出率的同时,也获得高精确度。此外,对于如中文这样文本长度跨度很大的语言,在Pixel-Anchor中,提出了一个自适应的预测层,针对不同层级的特征所对应的感受野范围,设计不同的锚以及锚的空间位置分布,以更高的效率更好的适应变化的文本长度。
pixel-anchor针对east部分的改进-pixel
针对EAST的改进,文章延续FOTS对EAST的改进,
以下插件:ASPP OHEM:对分类和回归。
ASPP来自deeplab中,其主要作用是在不降低feature map分辨率的情况下,提升网络的感受野,即可以提升模型获取上下文信息的能力。它会带来什么效果呢?
首先,是分割效果更为精准。分割一个物体,网络往往借助的是该物体周围的信息,比如,分割前景,我们需要找到背景信息;当感受野变大时,对于较长的文本或者较大的文本,可以很好的找到其边界,进而分割出较高质量的文本区域;其次,感受野的提升,会使得回归距离变长。即geo_map中的值表示,当前像素到四条边的距离。而网络建立起当前像素与边界之间的距离关系。当上下文信息充足时,可以准确的建立起距离关系,进而边界预测足够精准。因此文章加入ASPP的作用主要是以上两点,分割精准+边界定位精准。
OHEM常用来进行困难样本挖掘。对于文字区域的分割,存在样本的不平衡,文字区域往往占比比较小,背景占比比较大。同时,对于一张图中的多个文本,小的文本区域的损失往往被大文本区域损失覆盖;而且还有一种情况,背景中存在难以区分的样本,这些背景容易导致模型将类似的文本区域分为背景。因此加入OHEM,可以对这部分背景信息进行挖掘,同时在训练过程中正负样本进行均衡,避免了类别不均衡的问题。以上就是该文章对EAST部分的改进。其实OHEM来自FOTS对EAST的改进,ASPP在此之前已经尝试过,确实会带来边界预测的提升。对于这部分EAST,除了预测以往的文本区域的score_map和geo_map, 同时预测一张attention map用于对anchor-based分支的信息的辅助。
pixel-anchor针对SSD部分的改进-anchor
文章在EAST的基础上,加入了anchor-based检测分支,主要针对文字尺度以及宽高比较大的变化,文章对SSD进行了定制。如上面右图所示。文章主要利用来自ResNet50中的1/4和1/16的feature map:对于1/4的map,由于其处于底层,因此具有一定的分辨率,对于检测较小的文字具有一定优势。同时由于此处的特征语义信息较弱,文章将east分支得到的attention map用在此处,主要为了对该层加入一定的语义信息。具体操作为,对来自east的attention map输出进行exp激活,然后与1/4 feature map进行对应位置的加权。这么做的好处是,对1/4feature map上的信息,属于文本的像素进行加强,对于不属于文本的像素进行抑制,突出文本信息。文章说,这么做可以很大程度的减少错误检测。这里需要解释下为什么anchor-based的方法检测小目标会出现较高的fp.原因在于,在较高分辨率的feature map上生成proposals时,由于像素点比较多,目标较小,因此整张图中网格都处于负样本区域,极少数网格落在正样本区域。这样在预测是,负样本较正样本多,而且负样本的方差较大,因此容易导致分类的错误,因此容易出现fp.对于1/16的map,文章进一步的进行特征提取,一是为了获得更大的感受野,二是为了获得多尺度的信息。分别为1/32. 1/64, 1/64, 1/64。但是为了避免出现很小的feature map,文章在后面的feature map保持在1/64。但为了继续提升感受野,文章在后面两个尺度的的生成时,加入了空洞卷积,在分辨率不减小的情况下,获得较大感受野。对于每一层的feature map,文章在其后加入APL层,层中内容如上图右图中的左半部分所示,分别为不同的卷积核搭配不同的宽高比,实现对不同尺度,不同角度的文本的cover.如3x3为方框,3x5主要为了检测水平倾斜的文字,5x3为了检测垂直倾斜的文字。1xn,nx1主要为了检测水平和竖排长行的文字。可以看到有夸张的1:35,35:1的宽高比,这在中文场景是很常见的。在经过以上APL层之后,将得到的proposal进行拼接,预测最终搞得四边形区域。