本文主要对常用的文本检测模型算法进行总结及分析,有的模型笔者切实run过,有的是通过论文及相关代码的分析,如有错误,请不吝指正。
一下进行各个模型的详细解析
CTPN 详解
代码链接:https://github.com/xiaofengShi/CHINESE-OCR
CTPN是目前应用非常广泛的印刷体文本检测模型算法。
CTPN由fasterrcnn改进而来,可以看下二者的异同
网络结构 | FasterRcnn | CTPN |
---|---|---|
basenet | Vgg16 ,Vgg19,resnet | Vgg16,也可以使用其他CNN结构 |
RPN预测 | basenet的predict layer使用CNN生成 | basenet之后使用双向RNN使用FC生成 |
ROI | 模型适用于目标检测,为多分类任务,包含ROI及类别损失和BOX回归 | 文本提取为二分类任务,不包含ROI及类别损失,只在RPN层计算目标损失及BOX回归 |
Anchor | 一共9种anchor尺寸,3比例,3尺寸 | 固定anchor宽度,高度为10种 |
batch | 每次只能训练一个样本 | 每次只能训练一个样本 |
根据ctpn的网络设计,可以看到看到ctpn一般使用预训练的vggnet,并且只用来检测水平文本,一般可以用来进行标准格式印刷体的检测,在目标框回归预测时,加上回归框的角度信息,就可以用来检测旋转文本,比如EAST模型。
代码分析
网络模型
直接看CTPN
的网络代码
1
|
class VGGnet_train(Network): |