CTPN、TextBoxes、SegLink、RRPN、FTSN、DMPNet…你都掌握了吗?一文总结OCR必备经典模型(2)

本文涉及的产品
自定义KV模板,自定义KV模板 500次/账号
个人证照识别,个人证照识别 200次/月
文档理解,结构化解析 100页
简介: CTPN、TextBoxes、SegLink、RRPN、FTSN、DMPNet…你都掌握了吗?一文总结OCR必备经典模型

4、 RRPN

RRPN(Rotation Region Proposal Network)即基于文本倾斜角信息的旋转区域建议网络,是一种基于旋转的自然场景图像任意文本检测框架,能够基于旋转的方法和一个端到端的文本检测系统来进行任意方向的文本检测。

框架结构
RRPN框架的主要结构如下:在框架的前面使用了VGG-16的卷积层,它由两个兄弟分支共享,即最后一个卷积层的特征映射的克隆和RRPN。RRPN为文本实例生成面向任意性的建议,并进一步对建议bounding box进行回归,以更好地适应文本实例。从RRPN分支出来的同级层是RRPN的分类层(cls)和回归层(reg)。这两层的输出是来自cls的分数和来自reg的坐标信息,计算和汇总它们的Loss函数以形成一个多任务损失函数。然后,通过将来自RRPN的任意方向的文本建议投射到特征图上,RRoI pooling层作为特征汇集层。最后,使用两个全连接层构成的分类器,将具有RRoI特征的区域分为文本和背景。具体如图5所示。


图5 基于旋转的文本检测管道

R-Anchor
传统的RPN的anchor均是与坐标轴平行的矩形,而RRPN中添加了角度信息,将这样的锚点叫做R-Anchor。R-Anchor由(x,y,w,h,θ) 五要素组成,其中,(x,y) 表示bounding box的几何中心(RPN中是左上角)。(w,h) 分别是bounding box的长边和短边。θ 是anchor的旋转角度,通过θ+kπ 将θ 的范围控制在[−π4,3π4) 。

图像扩充
为了缓解过拟合的问题,作者增加了模型对选择区域的检测能力,RRPN使用了数据扩充的方法增加样本的数量。RRPN使用的扩充方法之一是:对于一张尺寸为I_W×I_H 的输入图像,设其中一个Ground Truth表示为(x,y,w,h,θ) ,旋转α 后得到的Ground Truth为(x′,y′,w′,h′,θ′) ,其中,Ground Truth的尺寸并不会改变,即w′=w ,h′=h 。θ′=θ+α+kπ ,kπ 用于将θ′ 的范围控制到[−π4,3π4) 之间。(x′,y′) 的计算方式为:



正负anchor的判断规则
由于RRPN中引入了角度标签,传统RPN的anchor正负的判断方法是不能应用到RRPN中的。RRPN的正anchor的判断规则满足下面两点(and关系):当anchor与Ground Truth的IoU大于0.7;当anchor与Ground Truth的夹角小于π/12。RRPN的负anchor的判断规则满足下述二者之一(or关系):与anchor的IoU小于0.3;与anchor的IoU大于0.7,但是夹角也大于π/12 。在训练时,只有判断为正anchor和负anchor的样本参与训练,其它不满足的样本并不会训练。

IoU计算方法
RRPN中IoU的计算和RPN思路相同,具体如图6所示,两个相交旋转矩形的交集可根据交点的个数分为三种情况,分别是4个,6个,8个交点:


图6 IoU计算示例:(a)4个点,(b)6个点,(c)8个点(矩形的顶点为黑色,而交点为绿色)。考虑到(b),首先将交点I、J、L、K和内部顶点A、C加入P集,对P集进行排序,得到凸多边形AIJCKL,然后计算交点面积 Area(AIJCKL) = Area(∆AIJ)+Area(∆AJC)+ Area(∆ACK)+ Area(∆AKL)

损失函数
RRPN的损失函数由分类任务和回归任务组成:


位置精校
传统的NMS只考虑IoU一个因素,而这点在RRPN中不再适用。Skew-NMS在NMS的基础上加入了IoU信息:保留IoU大于0.7的最大的候选框;如果所有的候选框均位于[0.3,0.7] 之间,则保留小于π/12 的最小候选框。

进一步的,引入RRoI Pooling用于RRPN中的旋转矩形的池化。首先需要设置超参数Hr 和Wr ,分别表示池化后得到的Feature Map的高和宽。然后将RRPN得到的候选区域等分成Hr×Wr 个小区域,每个子区域的大小是w/Wr × h/Hr ,这时每个区域仍然是带角度的。接着通过仿射变换将子区域转换成平行于坐标轴的矩形,最后通过Max Pooling得到长度固定的特征向量。RRoI Pooling伪代码如下,其中,第一层for循环是遍历候选区域的所有子区域,第5-7行通过仿射变换将子区域转换成标准矩形;第二个for循环用于取得每个子区域的最大值,第10-11行由于对标准矩形中元素的插值,使用了向下取整的方式。在RRoI Pooling之后,引入两个全连接层来判断待检测区域是前景区域还是背景区域。

项目 SOTA!平台项目详情页
RRPN 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/rrpn


5、 FTSN

本文从实例感知语义分割的角度介绍了一种新的面向多向场景文本检测的端到端框架。具体提出了融合文本分割网络( Fused Text Segmentation Networks ,FTSN),它在特征提取过程中结合了多级特征,因为与一般对象相比,文本实例可能依赖于更精细的特征表达。FTSN利用来自语义分割任务和基于区域建议的对象检测任务的优点,同时检测和分割文本实例。

FTSN具体框架如图7。FTSN是一个深度CNN模型,主要由三部分组成。通过resnet-101主干提取每个图像的特征表示,然后将多级特征图融合为FusedMapA,将其馈送到用于感兴趣的文本区域(ROI)生成的区域建议网络( region proposed network ,RPN)和用于稍后的FusedMapB,再进行 rois'PSROIPooling。最后,将rois发送到检测、分段和框回归分支,以输出像素级别的文本实例及其对应的边界框bounding 波。后处理部分包括NMS和最小四边形生成。


图7 所提出的框架由三部分组成:特征提取、特征融合以及区域建议和文本实例预测。虚线表示具有1x1核大小和1024个输出通道的卷积。红色的线是用于上采样操作,蓝色的线表示使用给定的ROI进行PSROIPooling的特征图


网络架构
卷积特征表示是以融合的方式设计的。文本实例不像一般的物体,如人和车,具有相对强的语义。相反,文本在类内的几何形状上往往有巨大的差异。因此,低层次的特征应该被考虑在内。resnet-101由五个阶段组成。在区域建模之前,第三阶段和第四阶段的上采样特征图通过元素相加形成FusedMapA,然后将第五阶段的上采样特征图与FusedMapA融合,形成FusedMapB。值得注意的是,在第五阶段不涉及下采样。相反,使用洞算法(Hole algorithm)来保持特征的跨度,并保持接受域。这样做的原因是,文本属性和分割任务都可能需要更精细的特征,涉及到最后的下采样可能会失去一些有用的信息。因为使用第三阶段的特征跨度可能会导致原始RPN中出现数百万个anchor,从而使模型训练变得困难,所以增加了一个3×3的跨度2卷积,以减少这种巨大的anchor数量。

之后,使用联合掩码预测和分类,在conv-cls-seg特征图上通过PSROIPooling生成的2×(1+1)内/外得分图上同时对文本实例进行分类和掩码,box regression分支利用PSROIPooling之后的convbox的4×(1+1)特征图("1+1 "表示一个类别为文本,另一个为背景)。

真实标签和损失函数
整个多任务损失L可以解释为:



ℓ由两个子阶段损失组成:RPN损失 ℓ_rpn,其中,ℓ_rcls是用于区域建议分类,而 ℓ_rbox用于box regression;基于每个ROI的文本实例损失ℓ_ins,其中,ℓ_cls、ℓ_mask和ℓ_box分别代表实例分类、掩码和box regression任务的损失。

后处理
为了得到最终的检测结果,使用非最大抑制机制(NMS)来过滤重叠的文本实例,并保留那些具有最高分的文本。在NMS之后,为每个文本实例生成一个覆盖掩码的最小四边形,如图7所示。标准的NMS计算边界框之间的IoU,这对于字级和近水平的结果过滤来说可能是不错的。然而,当它们接近和严重倾斜时,它可能会过滤一些正确的线级检测结果。因此,作者提出了一个改良的NMS,称为Mask-NMS,以处理这种情况。Mask-NMS主要是将bounding box IoU的计算改为所谓的Mask maximum-intersection(MMI):

其中,IA、IB是两个要计算的文本实例的掩码区域,I是掩码之间的交集区域。使用掩码区的最大交集来替代原始的IoU,原因是检测可能很容易同时涉及同一行的行级和字级文本实例。

项目 SOTA!平台项目详情页
FTSN 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/ftsn


6、 DMPNet

由于多方位、透视变形以及文字大小、颜色和比例的变化,检测附带的场景文本是一项具有挑战性的任务。传统的研究只集中在使用矩形边界框或水平滑动窗口来定位文本,这可能会导致冗余的背景噪声、不必要的重叠甚至信息损失。为了解决这些问题,提出了一种新的基于卷积神经网络(CNNs)的方法,命名为深度匹配先验网络( Deep Matching Prior Network ,DMPNet),以检测具有更紧密四边形的文本。主要包括下述核心内容:1) 多边形滑窗(Quadrilateral sliding window),普通方法里的滑窗,一般来说都是矩形,多边形的滑窗可以更加契合场景中的不规则文字。2)序贯协议(Sequential protocol),在回归的时候能够准确有序的找到回归点的坐标。它可以唯一决定任意平面凸四边形的四个顶点的顺序。3) 共享的蒙特卡洛算法(Shared Monte-Carlo),在计算非极大值抑制的时候,可以快速准确地计算两个多边形的重叠面积。4) 光滑的ln损失(Smooth Ln loss)。相比l1损失或者l2损失,ln损失可以提高模型的鲁棒性和定位精度。

多边形滑窗
作者提出了倾斜四边形作为anchor box,如图8所示:在正方形窗口内增加两个45度的矩形窗;在长矩形窗内增加两个长平行四边形窗口;在高矩形窗内增加两个高平行四边形窗口。


图8 水平滑动窗口和多边形滑动窗口的比较。(a): 黑色边框代表ground-truth;红色代表本文方法。蓝色代表水平滑动窗口。可以看出,四边形窗口比矩形窗口更容易回忆起文本,具有更高的交集比(IoU)。(b): 水平滑动窗口。(c): 多边形滑动窗口。不同的多边形滑动窗口可以用不同的颜色来区分


共享的蒙特卡洛算法
为了确定哪个Anchor box是Positive的,需要计算gt box和anchor box之间的IoU,作者指出原来的算法只能计算矩形之间的IoU,并且效率还不高。因此,他们提出了基于Monte-Carlo的方法来计算多边形的面积。1)对于GT( ground truth ),首先在它的外接矩形框里面均匀采样10000点,然后统计在GT多边形里面的点,得到GT的面积;2)如果Sliding window的外接矩形和GT的外界矩形不相交,那么GT和Sliding window的IoU就是0,否则根据1)的方法计算Sliding window的面积。然后统计GT里面的点在Sliding window里面的比例,求得交叉区域的面积,得到IoU。

序贯协议
对于水平的矩形框,只需要预测两个对角点的位置即可唯一确定该矩形,但对于任意的四边形,则需要同时预测四个角点的坐标。为了统一角点的顺序,论文提出了一种序贯协议。

预测给定多边形上四个点的最终顺序:首先在四个点里面选择 x 坐标最小的,如果有两个点的x一样,那么选择y最小的点作为第一个点;确定完点1之后,连接第一个点与其它三个点,找到中间那条,确定点3;然后画出对角线L13,假设中线 Lm:ax+by+c=0,并且我们定义一个待定点 P(xp,yp),找到在L(P)>0的P点为第二个点,否则为第4个点;最后连接点1、3和点2、4。比较对角线的斜率,以斜率较大、横坐标较小的点为新的第一个点,若斜率为正无穷,则以纵坐标较小的点为新的第一个点,然后重新确定其余三个点。

在回归四个角点的坐标时,论文是通过回归其到外接矩形中心点的相对位置完成的。从给定的坐标中,能计算出外接矩形的最小值X_min和最大值X_max,外接水平矩形的宽 W_chr=X_max-X_min,同样的,能得到高度H_chr。受Faster RCNN的启发,论文设定最终的回归目标为:



光滑的ln损失
一般回归的loss会用L2 loss或者smoothed L1 loss,其中smoothed L1 loss相比L2 loss,对于离群值的敏感度更小。但是从训练的角度来说,L2 loss能够加快收敛的速度。因为当预测值和真实值相差比较大的时候,L1 loss的梯度始终是1,但是L2 loss的梯度和误差是同一量级,这样可以加快收敛。


项目 SOTA!平台项目详情页
DMPNet 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/dmpnet
相关文章
|
2月前
|
编解码 人工智能 文字识别
阶跃星辰开源GOT-OCR2.0:统一端到端模型,魔搭一站式推理微调最佳实践来啦!
GOT来促进OCR-2.0的到来。该模型具有580百万参数,是一个统一、优雅和端到端的模型,由高压缩编码器和长上下文解码器组成。
阶跃星辰开源GOT-OCR2.0:统一端到端模型,魔搭一站式推理微调最佳实践来啦!
|
3月前
|
文字识别 并行计算 PyTorch
MiniCPM-V 系列模型在多模态文档 RAG 中的应用(无需OCR的多模态文档检索+生成)
现在我们以 OpenBMB 基于 MiniCPM-V-2.0 训练的端到端多模态检索模型 MiniCPM-Visual-Embedding-v0 为例,实现无需OCR的多模态文档检索与问答。
MiniCPM-V 系列模型在多模态文档 RAG 中的应用(无需OCR的多模态文档检索+生成)
|
3月前
|
数据采集 机器学习/深度学习 文字识别
OCR -- 文本检测 - 训练DB文字检测模型
OCR -- 文本检测 - 训练DB文字检测模型
64 0
|
4月前
|
文字识别 开发工具
印刷文字识别使用问题之模型已经生成,如何追加样本量
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别
印刷文字识别使用问题之如何实让其他人标注,自己创建模型
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
5月前
|
人工智能 文字识别 自然语言处理
OCR小模型仍有机会!华科等提出VIMTS:零样本视频端到端识别新SOTA
【6月更文挑战第7天】华中科技大学团队推出VIMTS模型,刷新零样本视频文本识别SOTA。该模型通过Prompt Queries Generation Module和Tasks-aware Adapter增强跨任务协同,提升泛化能力。在多个跨域基准测试中,VIMTS平均性能提升2.6%,视频识别上超越现有方法。此创新降低OCR对标注数据依赖,为资源受限场景提供新方案。论文链接:https://arxiv.org/pdf/2404.19652
72 3
|
6月前
|
编解码 文字识别 测试技术
论文介绍:TextMonkey——面向文本理解的无OCR大型多模态模型
【5月更文挑战第2天】TextMonkey是一款无OCR的大型多模态模型,设计用于高效提取文本信息。它采用Shifted Window Attention和零初始化技术处理高分辨率文档,减少训练成本。通过假设图像中的冗余标记,模型能精简标记并提升性能。TextMonkey还能定位文本答案在图像中的位置,增强可解释性,在场景文本任务和关键信息提取中表现优越,特别是在OCRBench基准测试中刷新记录。然而,它在处理小图像和需要深层推理的任务时仍面临挑战。[链接](https://arxiv.org/abs/2403.04473)
179 5
|
人工智能 文字识别 自然语言处理
Nougat:一种用于科学文档OCR的Transformer 模型
随着人工智能领域的不断进步,其子领域,包括自然语言处理,自然语言生成,计算机视觉等,由于其广泛的用例而迅速获得了大量的普及。光学字符识别(OCR)是计算机视觉中一个成熟且被广泛研究的领域。它有许多用途,如文档数字化、手写识别和场景文本识别。数学表达式的识别是OCR在学术研究中受到广泛关注的一个领域。
285 0
|
6月前
|
人工智能 文字识别 自然语言处理
【2023 CSIG垂直领域大模型】大模型时代,如何完成IDP智能文档处理领域的OCR大一统?
2023年12月28-31日,由中国图象图形学学会主办的第十九届CSIG青年科学家会议在中国广州隆重召开,会议吸引了学术界和企业界专家与青年学者,会议面向国际学术前沿与国家战略需求,聚焦最新前沿技术和热点领域,共同探讨图象图形学领域的前沿问题,分享最新的研究成果和创新观点,在垂直领域大模型专场,合合信息智能技术平台事业部副总经理、高级工程师丁凯博士为我们带来了《文档图像大模型的思考与探索》主题报告。
|
6月前
|
文字识别 算法 数据库
开源OCR模型DIY票证信息抽取
票证检测矫正模型在实际生活中有着广泛的需求,例如信息抽取、图像质量判断、证件扫描、票据审计等领等场景,可以大幅提高工作效率和准确性。

热门文章

最新文章