计算机系统应用教程网站

网站首页 > 技术文章 正文

CoText:对比表征学习实现实时端到端视频文本识别

btikc 2024-08-30 13:07:18 技术文章 13 ℃ 0 评论

本篇论文收录于eccv2022
论文题目:Real-time End-to-End Video Text Spotter with Contrastive Representation Learning

论文地址:

https://arxiv.org/abs/2207.08417

摘要

视频文本识别(VTS)是一项需要同时实时检测、跟踪和识别视频中的文本。视频和文本识别方法通常会有复杂的pipeline以及多个模型,这对于实时应用来说不友好。本文提出了一种具有对比功能的表示学习(CoText)实现实时端到端视频文本识别。贡献有三方面:1)CoText同时处理三个任务(检测、跟踪、识别)。2)在对比学习中,建模了文本长期依赖关系和跨多个帧学习时间信息。3) 简单、轻便结构设计,包括GPU并行检测和后处理、基于CTC的识别具有掩码RoI的识别头。大量实验表明,该方法具有优越性和可靠性。CoText实现了视频文本的定位任务在视频数据集ICDAR2015上实现41.0 FPS,ID F1为72.0%,和以前的最佳方法相比提升分别为10.5%和32.0%。

1 导言

视频文本识别是许多计算机视觉应用中的一项基本任务,如视频检索、视频字幕和视觉问答。尽管该任务最近取得了巨大进展,现有方法仍有一些局限性。首先,视频文本识别任务要求在视频中同时检测、跟踪和识别文本。但大多数现有的工作将这三个子任务作为单独的任务来处理。例如TransVTSpotter处理文本检测任务的每个帧,然后将类似的文本实例在相邻帧中通过IoU匹配,最后,使用单独的识别模型重新识别每个文本,复杂pipeline设计导致推理速度慢,妨碍实时应用的部署,其次,大多数现有方法仅处理相邻帧的时序信息,不利于长时间的跟踪。

因此,如何设计简单而有效的端到端视频文本识别框架是一个尚未解决的巨大挑战。最近,基于对比学习的研究显示了对比学习解决视频和文本跟踪任务问题的潜力,但这些工作只关注在没有长距离时间信息的相邻帧中解决跟踪问题,本文中,提出了一种具有对比表示学习的视频文本识别器(Cotext),它在实时端到端可训练框架中处理三个子任务(检测、跟踪和识别)。

与现有视频文本识别方法相比,提出的方法具有三个优点。首先,如图1所示,与前面使用复杂pipeline的方法不同使用的pipeline相当简单(三个子任务只有一个统一模型),没有许多冗余组件,即NMS、CNN特征提取器用于识别任务。CoText支持端到端的可训练视频文本识别,有三个头,即检测头、跟踪头和识别头;第二,与以前使用两帧信息的工作不同,CoText建模长期依赖关系,并跨多帧对比学习(超过10帧)。明确地对比学习用于最大限度地提高相同文本之间的一致性,并最大化不同文本之间的差异(负样本对)在整个视频的长距离中;最后,为了实现高效率,设计了一种简单、轻量级的架构,以实现有效和准确的性能,一种用于像素聚合的GPU并行后处理,一种轻量级识别具有掩码RoI和少量计算的跟踪头(对比学习)用于CoText

为了证明CoText的有效性,在三个任务(即文本检测、跟踪和端到端视频文字识别)的四个具有挑战性的基准数据集进行了实验。在ICDAR2015(视频)数据集上,CoText的端到端文本定位IDF1达到72.0%,比先前的SOTA方法TransVTSpotter推理速度快了4倍,对于输入图像的短边640像素,CoText达到59.5fps,比最好的快50.5fps,在端到端视频文本识别IDF1为67.6%,高于先前的SOTA方法。

主要贡献总结如下。

1) 第一次端到端可训练框架同时处理三个子任务(文本检测、跟踪、识别)

2) 与现有的工作不同,CoText模型具有长期依赖性以及跨多帧(多于10个帧)对比学习学习时间信息。

3) 通过简单、轻量级的架构,CoText在四个公共数据集上以更快的速度实现了最先进的性能。特别是在ICDAR2015视频文本跟踪任务上实现72.0%的IDF1和41 FPS,与以前的SOTA方法相比,性能提高了10.5%。

2 相关工作

2.1文本检测和跟踪

基于深度学习的最新方法带来文本检测的巨大进步。CTPN采用fasterRCNN和修改的RPN来检测水平文本,EAST用FCN以anchor-free方式预测文本得分图、距离图和角度图,PSENet和PAN将文本实例视为具有不同尺度的核,并在后处理中重构整个文本实例,基于视频的文本检测方法侧重于具有时间信息的有效视频文本检测,Free和YORO通过选择来自文本流的最高质量文本实现视频文本检测,SAVTD通过引入了字符中心分割和分类分支方式检测视频文本。

现有的文本跟踪方法遵循匹配跟踪,首先检测视频中的每个帧,然后将通过各种匹配策略(IoU、转录)实现相似文本关联,ASGD引入了一个新的字符中心分割分支,并提取了语义特征,对字符的类别和位置进行编码,SVRep利用识别的语义序列特征跟踪文本,这些方法被设计用于单独解决视频文本跟踪问题,通常没有文本识别结果,它们的推理速度很慢,无法实时应用程序。本文的方法不仅提高了文本跟踪识别性能,还集成了识别模块,提出的框架用于构建视频文本识别的统一模型。

2.2 端到端视频文本识别

视频文本识别需要同时检测识别文本。如图1所示,典型的基于场景和文本的深度学习方法,TransVTSpotter介绍了一种基于转换器的文本跟踪器,它通过基于IoU的最佳匹配来关联文本,然后用另一个单独的识别模型识别最终文本内容,上述方法包括多个模型和组件(例如NMS、匹配策略),与这些方法不同,如图1所示,提出的CoText是第一个具有统一可训练模型的实时端到端视频文本识别框架,该框架提供了一个非常简单的pipeline。

2.3 对比学习

长期以来,对比学习一直是针对视觉的研究任务。这些方法通过增加负样本对距离和压缩正样本对距离来学习视觉表示,SimCLR学习合成数据增强后对比图像特征,MoCo是另一种训练前的方法,重点是构建动态字典,以促进对比学习,对于视频文本跟踪任务,SVRep和ASGD采用对比学习,通过最大化视频中相同文本之间的一致性来关联文本实例,在这项工作中,我们首先尝试使用对比学习对视频序列中的长距离相关性进行建模来解决端到端视频文本识别任务。

3 本文方法

3.1 总体架构

与之前的工作不同,CoText是一种端到端可训练的视频文本识别任务框架。整个pipeline如图2,该架构包括一个主干(即ResNet18)、FPN,上采样、掩码roi和三个头,即检测头、跟踪头,识别头。FPN、上采样和roi分别来自DB、PAN++,在推理阶段,对于一个视频序列,每个帧图像首先送到特征金字塔主干(ResNet18)和FPN,然后上采样到相同比例并级联以产生特征F,其大小为H/4×W/4×512。对于文本检测,特征F通过GPU并行输入检测头用于预测文本区域。

在文本识别中,首先将特征图F的通道数减少为128,通过3×3卷积,然后使用掩码RoI提取带有旋转文本框特征,最后,轻量级识别head用于识别每个文本块的文本内容,对于文本跟踪,首先从识别头获取语义特征,从掩码RoI的特征块提取特征,提取检测框坐标中的位置特征,三个特征的大小相同128,将它们合并以获得最终的特征表示R,然后最终的跟踪结果可以通过对相邻帧中每个文本对的特征R使用Kuhn-Munkres(KM)算法得到,结合这三个头,CoText可以同时预测多方向框、跟踪id和识别结果形成一个统一模型,在训练期间,使用三个损失函数(即Ldet、Lrec和Ltrack)进行优化,使用Ltrack学习远程时序信息,使用对比学习来最大化相同文本之间的一致性。

3.2 文本检测

根据基于分割的方法,kernel representation用于检测文本。对于每个给定的文本行,首先通过文本定位它内核(文本行的中心区域),然后,像素聚合(PA)算法通过以下方式重建文本行的完整形状:聚合文本内核周围的文本像素,与原始像素聚合不同,我们提出了一种GPU并行像素聚合,它在保持相同性能的同时,提供了更快的推断速度,算法1总结了GPU并行像素聚合算法的细节,提出的GPU并行象素聚合主要有两个区别和改进:1)GPU加速连接组件标记(CCL),用于区分不同的文本核;2) 与原始像素不同具有低效像素队列搜索(CPU操作)的聚合算法,提出的PA算法采用单指令多数据(SIMD)执行像素聚合,是一种多线程并行计算。


3.3 文本跟踪与对比学习

现有的视频文本跟踪器主要关注没有长距离时间信息的相邻帧内容的文本匹配问题。与这些方法不同,作者建议对跨多个帧的长期相关性进行建模,给定的文本实例ti它们属于跟踪序列Tm,Tm包含多个文本实例{tm0,…,tml},其中l是跟踪的序列长度,对于输入视频序列帧V,一组文本实例I={t0,…,tN}可以从它们对应的跟踪T={T}0,…,T}中采样,将同一跟踪中的任何两个文本定义为正样本对,对于不同跟踪的任何两个文本,我们称之为负样本对,如图3所示

CoText通过建立长期依赖关系模型增加负样本对距离并压缩正样本对距离,对于L跟踪序列的N个文本实例,正样本对的对比损失函数定义为:


这个公式就是对比学习的基础损失函数infonce,其中ti和tj是同一跟踪Tm中的正样本对。[tk/∈Tork=j]和[ti,tj∈Tm]是指示函数,τ表示温度参数,控制向量之间的余弦相似性的缩放,S(i)表示整个批次中所有正对的数量,而sim(u,v)表示两个向量u和v之间的余弦相似性,类似于SVRep,Fθ(·)是判别函数,学习高维特征嵌入R,如图2和图3所示,每个文本具有检测和识别头的语义和视觉表示,总结其形式如下:

其中R是最终特征输出,其大小为128×1×1.Fp(·)Fv(·)和Fs(·)表示位置编码器、视觉编码器和语义编码器,对于文本实例ti,Posti是一个4维向量(xLT、yLT、xRB、yRB),分别表示左上和右下,RoIti为来自掩码Roi文本ti的固定大小特征块(大小:128×8×32),Seqti是文本ti的顺序特征,从识别头中的BiLSTM的输出中提取,conv和Concat分别是卷积和连接操作。

不同于先前的相邻水平对比学习方法(SVRep、ASGD),我们的方法覆盖整个视频片段,如图3所示,相同跟踪中所有文本的特征嵌入R在嵌入空间中应趋于接近。例如,跟踪序列T0包括六个文本实例,即“USH”、“USHIP”、“USHIP”、“USHIP”、“SHIP”、“SHIP”,呈现相同的语义信息,尽管一些文本对(例如“USH”和“SHIP”)有巨大的信息差异,人类仍然可以将它们联系起来,我们期望模型通过对比正对,学习文本的合适特征嵌入R,与SVRep类似,融合文本三个属性(即位置、语义和视觉信息)的判别函数Fθ(·),受益于共享主干网,跟踪头是一个轻量级模块,包括三个编码器共有6层卷积。

3.4 文本识别

与之前使用基于注意力的识别头的图像级文本识别器不同,例如PAN++和ABCNet,我们建议使用基于CTC的识别分支。使用基于CTC的识别有两个好处:1)使用并行解码的推理时间更短。2) 更好的跟踪性能得益于Seqti更丰富的语义表示。稀疏语义表示Seqti(固定尺寸:w×nclass),基于注意力的识别的头通常缺乏丰富的语义,序列长度远小于w,这对跟踪任务不利。基于CTC的对应序列是一个密集序列,具有重复标签和“空白”的特征,这是丰富的相关语义信息。实验中提供了相关消融研究章节和补充材料。

如表1所示,受益于共享主干功能和掩码RoI,基于CTC的识别分支非常轻量,包括2个卷积层中,1个双向LSTM(BiLSTM)和1个全连接层。为来自掩码的文本提供一个特征块(大小:n×128×h×w),对于RoI,我们首先使用2个卷积层将h减小到0,然后使用1个BiLSTM层提取序列特征Seqti。最后,使用全连接层,使用CTC训练识别头。类似于ABCNet和PAN++,在训练中,使用box GT提取RoI特征以进行稳定优化。在推理阶段,用检测到的框替换RoI区域。

3.5 损失函数

损失函数如等式4


其中Ldet、Lrec和Ltrack是文本检测、识别和跟踪的损失函数。σ1、σ2和σ3是三个可学习的参数,σ1+σ2+σ3是噪声项的正则化因子。Ldet是PAN++中的分割损失。

4 实验

视频文字检测

视频文字跟踪

端到端视频文字识别

视频序列长度消融实验

不同识别头

速度测试

V100 GPU的速度


5 结论

提出了一种实时的端到端视频文本对比表征学习识别框架。CoText同时处理文本检测、跟踪和识别三个任务,具有轻量级架构,主干、有效检测头、跟踪头和识别头,CoText在跟踪任务实现了68.6%的IDF1,用于视频ICDAR2015上的文本识别任务的IDF1达到了72.0%分别比先前的SOTA方法改进了2.5%和11.5%。希望高性能方法可以应用于更多的视频和语言任务。

总结

最近在想视频中的目标识别怎么综合利用视频信息,就看到了这么一个端到端的网络,但是还是有点臃肿,只适合服务器用,期待更多轻量级的工作。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表