在自然场景中,例如灯箱广告牌、产品包装盒、商标等,要检测出其中的文字会面临着各种复杂的情况,例如角度倾斜、变形等情况,这时就需要使用基于深度学习的方法进行文字检测。在之前的文章中,介绍了基于卷积神经网络和循环神经网络的CTPN文本检测方法(见文章:大话文本检测经典模型 CTPN),该方法能在自然场景下较好地实现对文字的检测,但在CTPN中给出的文本检测效果是基于水平方向的,对于非水平的文本检测效果并不好,而在自然场景中,很多的文本信息都是带有一定的旋转角度的,例如用手机拍街道上的指示牌,如下图。如果文本检测的结果只有水平方向的,没有带角度信息,那么下图指示牌检测出来的就是红色框结果,而其实绿色框才是理想的检测目标,可见检测的结果误差太大。
那要怎样才能实现对各种角度的灵活检测呢?一个最直接的思路就是让模型不仅能学习和输出边框的位置(x, y, w, h),还要能输出一个文本框的旋转角度参数θ。本文要介绍的文本检测模型SegLink,便是采用了这个思路,也即SegLink检测模型能检测有旋转角度的文本,如下图:
一、SegLink模型的主要思想
SegLink模型的检测过程主要如下:
1、首先是检测生成一个一个的segment(切片),如上图黄色框,这些segment(切片)是文本行(或单词)的一部分,可能是一个字符,或者是一个单词,或者是几个字符
2、通过link(链接)将属于同一个文本行(或者单词)的segment(切片)连接起来,如上图绿色线条。link(链接)是在两个有重叠segment的中心点进行相连,如下图
3、通过合并算法,将这些segment