检测
CTPN
文本检测与一般的目标检测有所区别,比如文本没有精确而闭合的边缘,单个字符目标窄,但是整体文本串(文本行)又比较长。针对这个特点,研究者提出CTPN框架,通过检测行方向上宽度固定的文本提高定位精度,然后对相邻行进行合并来获取检测结果。
TextBoxes
针对文本行一般比较长的特点,TextBoxes使用SSD框架,并修改Defult Box中的长宽比以及卷积核的大小,本质上依然是使用SSD进行检测。
R2CNN
针对的是大多数文本检测场景中,文本都是存在倾斜方向的,因此如果检测框没有方向就不能够达到很精确,R2CNN框架(Rotational Region CNN)就是将最后的检测box定义为一个带方向的box,另外同时也预测一个无方向(即水平)的框来包裹有方向的box。
EAST
基于Densebox的旋转文本检测框架,与R2CNN不同之处在于,它不是在最终box回归的时候输出旋转框,而是使用多个通道来预测旋转信息,比如4个通道预测边界距离,一个通道预测旋转角度。
把完整文本行先分割检测再合并的思路,做法比较麻烦,把文本检测切割成多阶段来进行,增大了文本检测精度的损失和时间消耗,中间处理影响效果。(候选框选取,候选框过滤,bbox回归,候选框合并)
- 通过FCN结构的网络直接学习是不是文本框以及文本框的坐标和角度
- 局部感知NMS(先合并再NMS),降低了NMS的复杂度。
- 精度和速度都有所提高
缺点:感受野不大,对于长文本检测不是很好,比较适合短文本行检测
AdvancedEAST:score map -> 文本头部、中部和尾部三部分,没有从根本上解决长文本检测。
RRPN
基于Faster RCNN的一个旋转文本检测框架,与R2CNN和EAST不同的是,它采用了带方向的Region Proposal 和ROI polling,因此它本身就可以输出带方向的目标框。
SegLink
针对有些文本非常长,anchor box不一定能够很好的覆盖到的问题,SegLink基于SSD框架进行改进,首先检测局部片段,然后通过规则将所有的片段进行连接,得到最终的文本行,这样做的好处在于可以检测任意长度的文本行。
特点:
- 与CTPN思想类似,都是先找出文本行的一部分,然后再连接所有的部分,组成一个完整的文本行;
- 在SSD基础上加入了旋转角度的学习;
在小部分文本框之前用连接线(相邻框的中点连线)来表示属不属于同一个文本框,也是用网络来学习; - 使用融合规则将各个阶段的框信息和线信息进行融合,组成文本行。
缺点:
不能检测间隔很大的文本行,不能检测弯曲文本
PSEnet
亮点:渐进式扩展算法
- 是一个基于像素分割的方法,能够精确地定位任意形状的文本实例;
提出了渐进式扩展算法,即使两个文本实例离得很近也可以分开,从而保证文本实例的准确位置 - 从最小尺度的kernels开始扩展,最小的kernels可以把紧靠的文本实例分开;逐渐扩展到更大的kernels;直到扩展到最大的kernels,组成最终的结果。
缺点:对于不同的数据集,超参数的选取较为重要(最小尺度比例和分割结果数)。
LSAE
亮点:嵌入形状感知
- 分离紧靠的文本实例
- 解决文本行过长的问题
使用输出的三个结果做聚类
ATRR
使用LSTM网络学习应该使用多少个点来表示文本框。
类似于Faster-RCNN,增加了基于自适应文本表示的LSTM分支。
CRAFT
通过精确的定位每一个字符,然后再把检测到的字符连接成一个文本。
- 生成两部分GT,字符框 + 亲和框(同一文本框中的相邻字符),使用高斯热图
- 字符感知方法,只需要很小的感受野就可以了处理长的弯曲文本
缺点:对粘连字符的检测效果不好;对标注数据的要求高;使用弱监督学习生成伪GT造成的损失;训练复杂,需要先进行弱监督训练得到字符级标注框,再训练网络。