随着深度学习的发展,计算机视觉领域涌现出了很多端到端模型,图像、场景文字检测识别模型也在此基础上有个长远发展。
1、基础网络框架
在CV领域,图像识别、检测的基础是特征提取,经典的图像分类模型包括VGGNet,ResNet、InceptionNet(GoogleNet)、DenseNet、Inside-Outside Net、Se-Net等,这些网络可以作为基础网络(通用网络模型),对输入图像进行特征提取。
(1)FCN网络:全卷积网络,Fully convolution network,擅长提取图像细节特征
全卷积网络是不使fc全连接层的基础网络,最初用于语义分割。
特点:用反卷积、上池化、亚像素卷积层等手段进行上采样操作,将特征矩阵恢复。
FCN网络最后一层特征图的像素分辨率较高,在场景文字识别中需要依赖清晰的文字笔画来区分不同的字符(特别是汉字),FCN网络很适合用来提取图片上文本特征。FCN用于文字识别时,最后一层特征图每个像素被分成文字行(前景)和非文字行(背景)两个类别。
(2)STN网络:空间变换网络,Spatial Transformer Networks,擅长做图形矫正
对输入特征图进行空间位置矫正得到输出特征图,此处不详细展开。
2、检测网络框架
检测网络按照训练过程可分为one-stage和two-stage方法,按照是否需要anchor可分为anchor-based和anchor-free方法。
(1)Faster RCNN网络-two-stage:
RPN网络寻找proposal建议框,ROI pooling为多种尺寸参考框产生归一化固定尺寸区域特征,分类、回归网络。
损失函数:多目标损失函数,RPN分类(前后景)、回归损失函数,最后的分类(种类)和坐标回归loss。
优化目标:通过loss反向传播,调节候选框坐标,增大与标注对象bbox的IOU。
(2)SSD网络 -One stage
SSD全称Single Shot MultiBox Detector,2016年被提出,全卷积目标检测算法。
特点:多尺度融合,在不同尺度的feature maps上生成anchor,进行分类和回归,NMS最大值抑制得到最终结果。
(3)YoloV3 - One stage
(4)CenterNet - anchor free
3、文本检测模型
目的:在图片中,准确找出文字所在区域。
存在问题:直接套用目标检测通用方法如Faster RCNN系列,SSD系列,Yolo系列等方法,文字检测效果不佳。
原因:(1)长宽比大:相比于常规的目标检测物体,文字检测行长度大,长宽比范围大。
(2)文本行具有方向性:常规物体bbox四元组描述(x,y,w,h)或(x1,y1,x2,y2)描述方式信息量不充足。
(3)自然场景复杂,如某些局部图像与字母形状类似,需要参考图像全局信息避免误报。
(4)文本行弯曲,手写字体变化模式多。
(5)背景干扰多。
改进方向:近年来,很多基于深度学习的方法被提出。从特征提取、区域建议网络(RPN)、多目标协同训练、Loss改进、非极大值抑制(NMS)、半监督学习等角度对常规物体检测方法进行改造,极大提升了自然场景图像中文本检测的准确率。
改进方法:
(1)CTPN:用BLSTM模块提取字符所在图像上下文特征,以提高文本块识别精度。
(2)RRPN等方案中,文本框标注采用BBOX +方向角度值的形式,模型中产生出可旋转的文字区域候选框,并在边框回归计算过程中找到待测文本行的倾斜角度。
(3)DMPNet等方案中,使用四边形(非矩形)标注文本框,来更紧凑的包围文本区域。
(4)SegLink 将单词切割为更易检测的小文字块,再预测邻近连接将小文字块连成词。
(5)TextBoxes等方案中,调整了文字区域参考框的长宽比例,并将特征层卷积核调整为长方形,从而更适合检测出细长型的文本行。
(6)FTSN方案中,作者使用Mask-NMS代替传统BBOX的NMS算法来过滤候选框。
(7)WordSup方案中,采用半监督学习策略,用单词级标注数据来训练字符级文本检测模型。
4、文本检测(detection)代表模型详述
(1)CTPN模型 Detecting Text in Natural Image with Connectionist Text Proposal Network
目前流传最广,影响最大的开源文本检测模型,可以检测水平或微斜的文本行。
前端:VGG16作为backbone提取字符的局部图像特征
中间:BLSTM提取字符序列上下文特征
后端:FC全连接层,经预测分支输出各个文字块的bbox坐标值和分类结果概率值(置信度)。
数据后处理:合并相邻的小文字块为文本行。
(2)RRPN模型 Arbitrary-Oriented Scene Text Detection via Rotation Proposals
RRPN, Rotation Region Proposal Networks 基于旋转区域候选网络的方案。
将文本行旋转因素(角度倾斜)嵌入区域候选网络,如Faster RCNN。
标签:文本区域ground truth为(x,y,w,h,θ)旋转边框,(x,y)为文本框中心。
训练:首先生成含有文本方向角的倾斜框;bbox回归,学习文本方向角。
创新点:提出RROI,旋转感兴趣区域池化层,将任意方向的区域建议先划分成子区域,然后对这些子区域分别做max pooling、并将结果投影到具有固定空间尺寸小特征图上。
(3)FTSN模型 Fused Text Segmentation Networks for Multi-oriented Scene Text Detection
FTSN(Fused Text Segmentation Networks)模型使用分割网络支持倾斜文本检测。
backbone: ResNet-101,多尺度融合
标签:文本区域bbox,像素掩码
训练:像素预测和边框预测多目标联合训练。
创新点:提出Mask-NMS,基于文本实例间像素级重合度,代替传统基于bbox重合度的NMS方法。
(4)DMPNet 模型 Deep Matching Prior Network: Toward Tighter Multi-oriented Text Detection
DMPNet(Deep Matching Prior Network)使用四边形(非矩形)来更紧凑地标注文本区域边界,对倾斜文本块检测效果更好。
① anchor的产生:文本区域proposal,除正方形,还有倾斜四边形。
② 基于像素点采样的Monte-Carlo方法:快速计算四边形候选框与标注框间的面积重合度
③ 计算四个顶点坐标到四边形中心点的距离,将它们与标注值相比计算出目标loss。文章中推荐用Ln loss?来取代L1、L2 loss,从而对大小文本框都有较快的训练回归(regress)速度。
(5)EAST 模型 An Efficient and Accurate Scene Text Detector
多尺度融合,像素级文本块预测
标签:支持两种,旋转矩形框(x,y,w,h,θ)和任意四边形
训练:对于旋转矩形框标注,训练时会对特征图中每个像素预测其到矩形框四边的距离,以及矩形框的方向角。
对于四边形标注,训练时会对特征图中每个像素预测其到四个顶点的坐标差值。
根据开源工程中预训练模型的测试,该模型检测英文单词效果较好、检测中文长文本行效果欠佳。或许,根据中文数据特点进行针对性训练后,检测效果还有提升空间。
(6)Seglink模型 Detecting Oriented Text in Natural Images by Linking Segments
先将每个单词切割为更易检测的有方向的小文字块(segment),然后用邻近连接(link )将各个小文字块连接成单词。
(7)Pixel Link模型 Detecting Scene Text via Instance Segmentation
FCN全卷积网路,backbone VGG16。
首先,借助于CNN 模块执行两个像素级预测:一个文本二分类预测,一个链接二分类预测。接着,用正链接去连接邻居正文本像素,得到文字块实例分割结果。然后,由分割结果直接就获得文字块边框, 而且允许生成倾斜边框。
(8)Textboxes/Textboxes++模型 TextBoxes: A Fast Text Detector with a Single Deep Neural Network
TextBoxes++: A Single-Shot Oriented Scene Text Detector
Textboxes 基于SSD,端到端,速度快。
使用长宽比大的anchor初始值;长条形卷积核代替常见的正方形卷积核;在垂直方向增加候选框,防止漏检文本行;在多尺度特征图上并行预测文本框,检测不同大小的字符块;NMS过滤。
Textboxes++是Textboxes的升级版本,目的是增加对倾斜文本的支持。
标注:由原始的文本框标注方式,改为旋转矩形框和不规则四边形。
对设置anchor长宽比、特征图卷积核形状做出调整。
(9)wordSup模型 WordSup: Exploiting Word Annotations for Character based Text Detection
存在问题:在数学公式图文识别、不规则形变文本行识别等应用中,字符级检测模型是一个关键基础模块。由于字符级自然场景图文标注成本很高、相关公开数据集稀少,导致现在多数图文检测模型只能在文本行、单词级标注数据上做训练。
解决方法:WordSup提出了一种弱监督的训练框架, 可以文本行、单词级标注数据集上训练出字符级检测模型。
5、文本识别(Rcognition)模型
目标:从已分割出的文字区域中识别出文本内容
(1)CRNN模型 An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
CRNN,Convolutional Recurrent Neural Network,目前较为流行的文本识别模型。
特点:CNN特征提取层,BLSTM序列特征提取层,端到端联合训练,BLSTM和CTC学习字符图像中的上下文关系。
(2)RARE 模型 Robust Scene Text Recognition with Automatic Rectification
识别变形的图像文本时效果很好。
模型预测将输入图像首先要被送到一个空间变换网络中做处理,矫正过的图像然后被送入序列识别网络中得到文本预测结果。
6、端到端 end-to-end模型
训练一个网络,同时完成文字的检测和识别,Detection + Recognition
(1)FOTS Rotation-Sensitive Regression:FOTS: Fast Oriented Text Spotting with a Unified Network
检测和识别共享卷积特征层;引入旋转感兴趣目标于RROI(ROIRotate);可以从卷积特征图中产生定向文本区域,支持倾斜文本行检识别。
(2)STN-OCR模型 STN-OCR: A single Neural Network for Text Detection and Text Recognition
在它的检测部分嵌入了一个空间变换网络(STN)来对原始输入图像进行仿射(affine)变换。利用这个空间变换网络,可以对检测到的多个文本块分别执行旋转、缩放和倾斜等图形矫正动作,从而在后续文本识别阶段得到更好的识别精度。在训练上STN-OCR属于半监督学习方法,只需要提供文本内容标注,而不要求文本定位信息。作者也提到,如果从头开始训练则网络收敛速度较慢,因此建议渐进地增加训练难度。STN-OCR已经开放了工程源代码和预训练模型。
参考:https://zhuanlan.zhihu.com/p/38655369