单点端到端文本检测识别框架速度提升19倍!华科、华南理工等联合发布SPTS v2
新智元报道
新智元报道
【新智元导读】单点文本框标注,成本显著降低;将检测和识别解耦,并行解码提升自回归速度。
近年来,场景文本阅读(Text Spotting)有了显著进步,能同时定位和识别文本,广泛应用于智慧办公、金融、交通等领域。
然而,与目标检测相比,文字除了定位还需要精确识别内容;同时,由于字体和排版的不同,文本实例可能以任意形状呈现,这就需要使用包含更多坐标的边界框来标注,例如SCUT-CTW1500最多使用了28个坐标进行标注,标注成本十分高昂。
论文链接:https://arxiv.org/abs/2301.01635
代码地址:https://github.com/Yuliang-Liu/SPTSv2
今年9月,华中科技大学白翔团队刘禹良研究员联合华南理工大学、浙江大学、香港中文大学、字节跳动等机构的研究人员于TPAMI在线发表了SPTS v2的相关工作,针对端到端场景文本检测识别任务,提出基于单点标注的SPTS v2方法。
该方法采用了单点来指示文本位置,采用语言序列统一表征图片、坐标及文本等不同模态,使得检测及识别任务的融合更加紧密,也免除了先验知识的介入和复杂的后处理操作。针对其自回归推理速度较慢的问题,通过将检测识别解耦为自回归的单点序列预测及基于每个单点的并行文本识别进行推理加速。
此外,该方法同样采用了单点来指示文本位置,极大地降低了标注成本,并且使用序列预测的方式完成端到端场景文本检测识别任务,使得两个任务的融合更加紧密,也免除了先验知识的介入和复杂的后处理操作。
实验证明该方法在多个场景文本端到端检测识别数据集上优于现有方法,同时相对于SPTS v1达到了19倍的推理加速。
大白话SPTSv2
举个例子,假设设置最长有100个文本实例,最大长度取最小默认值25。
那么,对于单点来说,串行循环次数是2701次。对于多边形来说就是5301次。
而SPTS v2提出了实例分配解码器(IAD)和并行识别解码器(PRD),串行自回归只需要单点坐标参与,识别解码是由每个单点并行自回归得到的,总共只需T * N + K + 1个串循环次数,减少了K * (N - 1)。
那么在上述例子中,SPTSv2只需要226次,循环数量减少了91.6%(226/2701),对于文本行来说,K通常取100,此时循环数量甚至减少了97.0%!
同时,在实际上可能串行循环次数还能进一步减少,因为在SPTSv2的识别预测上,如果所有实例都遇到序列结束符,SPTS v2也可以提前结束。
3. 点的表征有什么性质及优点?
① 点的标注可以很随意。
实验表明,点即使是随机的一个点,效果依然是和全部选取中心点相差不大的,甚至比全部取左上角点还要高。这意味着标注人员仅需对着文本随意点一个点即可标注文本。
② 点的性能很高。
文中点的性能取得了最好的Text Spotting结果。同时为了消除是否是因为点和框不同评估标准的影响,实验验证了点的评估和框的评估性能差异不大。
③ 随机文本排序最好。
由于自回归的有序性,第一阶段预测哪个文本点的顺序可能会对结果产生影响。实验表明随机点排序达到了最佳性能,因为它可能会在以后捕获那些丢失的对象。由于在不同迭代中为同一图像构建的不同序列,这使模型更加鲁棒。这一结论也与Pix2seq[5]一致。
④对噪声更加鲁棒。
在SCUT-CTW1500上对框或者点的坐标加上随机扰动,实验结果表明SPTSV2相比于基于框的方法能够更好地应对标注噪声。
⑤甚至很长的文本行也可以仅用一个点标注。
如SCUT-CTW1500就是文本行数据,SPTSv2效果不仅是最好的,还大幅好于基于框的方法。
4. 既然检测识别解耦,是不是该方法不需要点也能识别结果?
此外,值得一提的是,文中还有一个有趣的发现。仅仅只是在SPTS的框架内验证,如果不预测点,而是预测水平矩形框和多边形,效果不如点。
针对这一现象,文中做了一些分析:
总结
本文的方法能够在任意形状的文本上获得更好的准确性的原因可能是:所提出的方法丢弃了基于先验知识设计的特定任务模块(例如RoI模块)。
因此,识别精度与检测结果解耦,即使检测标注点在文本区域内随机,本文的方法也能获得鲁棒的识别结果。
实验证明SPTS v2在多个场景文本端到端检测识别数据集中均有出色的表现,且推理速度可达到SPTS的19倍。
SPTS v2将多模态数据统一表征的训练方法使其特别适合多模态、多任务场景,且整个方法仅需一个交叉熵损失函数,框架十分简洁。另一方面,它能大大减少所需的自回归序列长度(如减少91%)。
事实上,这也引发了思考,大模型ChatGPT本质上也是一个自回归Transformer。
假如,当其能够在第一阶段串行输出关键点,建模不同点之间的关系,那么第二阶段是否也可以根据不同关键点并行输出所有文本内容,这种「分点作答」的方式,或许也可以大幅度提升大模型输出的速度。
参考资料:
微信扫码关注该文公众号作者