【AAAI 2019】SPCNet算法
这篇文章是谢恩泽在face++实习期间完成的一个工做,被AAAI2019接收,主要是作任意形状的场景文本检测,同时抑制错误样本的检测。网络
arXiv:https://arxiv.org/abs/1811.08605ide
Motivation测试
过去场景文字检测模型大多分为以下两类:1,基于语义分割的检测。2,基于边界框回归的检测。3d
这些方法的劣势在于不能很好的处理弯曲文字,而弯曲文字在天然场景中也是大量存在的。blog
咱们考虑到弯曲文字能够经过实例分割的方法去处理,因而基于Mask R-CNN 去作。ci
ECCV2018有一篇Mask Text Spottor也是用了mask rcnn作了端到端识别,比咱们早一点,作研究有局部撞车是常态了。。。不过eccv那篇对Maskrcnn自己并未作过多修改,创新之处主要在识别部分。get
言归正传,本文的SPCnet将Mask R-CNN做为baseline,同时引入了text context 模块和re-score机制,从而提升检测准确率,下降FP的出现。it
这张图是re-score模块的可视化图,能够看到,mask rcnn将水平box的分类分数最终的score,对于倾斜文本不是很友好,而且可能会引入fp,咱们在这里将语义分割图上的响应和本来的score融合起来,获得的fus-score能够缓解mask rcnn直接移植到文字检测上分类分数不许的问题。io
整个网络流程以下,a是fpn结构,b是text context(TCM)模块,d是TCM具体的方法。
整个方法在mask rcnn的基础上多了一个分支作文字的语义分割,并把语义分割的中间特征和检测分支的特征融合起来,再把语义分割的预测结果做为一个attention mask 乘回feature map,起到一个对特征attention的做用。
这块是重打分的一个可视化说明,绿色的是水平box,红色的是instance seg的结果,下面的是全局语义分割的结果,咱们把instance seg的结果投影到语义分割图上,并在该区域内算一个响应值,获得instance score,并和原来的classification score融合获得最终的score。
该部分是label generation部分,主要是bounding box, instance seg和semantic seg的label。
消融实验
咱们在icdar2017 val上作了实验,发现TCM和RS分别能提升模型的最终结果。在recall保持一致的状况下precision涨点,说明能有效抑制FP。
在icdar17,15,13和total-text(多语言,多方向,水平文本,弯曲文本)上都是state-of-the-art,充分证实了该方法的有效性。
PS:ic17上文字scale比例差距很大,因此随便写了个简陋的多尺度测试竟然涨4个点。。。。。
一些可视化效果图:
在ICDAR2015上对比一些经典方法的FP状况,能够看到咱们的方法能够有效抑制FP。
总结:这个工做是的第一份正儿八经的科研工做,在旷视大约两个半月时间完成,仍是比较欣慰的,二做是一个本科生,也参与了不少工做在里面,同时也感谢不少人给予了很多帮助。
但愿本身之后能在计算机视觉领域多发表高水平paper,同时欢迎同行多多交流。下面是个人知乎原文连接,欢迎评论交流。点击阅读原文,也能够直接访问。