【论文阅读】Perceiving Stroke-Semantic Context: Hierarchical Contrastive Learning for Robust Scene Text Re

本文主要是介绍【论文阅读】Perceiving Stroke-Semantic Context: Hierarchical Contrastive Learning for Robust Scene Text Re,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Perceiving Stroke-Semantic Context: Hierarchical Contrastive Learning for Robust Scene Text Recognition

作者:Hao Liu1†, Bin Wang1, Zhimin Bao1, Mobai Xue1,2‡, Sheng Kang1,2‡, Deqiang Jiang1, Yinsong Liu1, Bo Ren1

单位:腾讯优图实验室,中国科学技术大学

出处:AAAI2022

Abstract

提出PerSec(Perceiving Stroke-Semantic Context)

由于场景文本图像同时拥有视觉和语义属性,本文为提出的PreSec配备了双重上下文感知器,可以通过对未标记的文本图像数据的分层对比学习同时获取和比较赖在低级笔画和高级语义上下文空间的潜在表征。实验表明本文提出的方法在获取到更好的结果的同时具有很强的泛化性能。

Introduction

场景文本识别的难点在于:文本的字体、颜色、书写风格和光照、遮挡、低分辨率等各种外部因素的影响。且由于场景文本图像可能来自任何场景,因此其语义有丰富的多样性。

在这里插入图片描述

之前的研究试图通过纳入语言模型的方式增加算法的语义能力,但那些方法大多数都属于有监督学习,非常依赖大量注释数据,但数据的人工标注非常昂贵,因此在某种程度上阻碍了这些方法的适用性。

目前,一些基于自监督对比学习的方法取得了可观的成就,这些方法大多遵循pre-training and fine-tuning范式,但这种方法在STR领域比较少见。

主要贡献

  • 提出了一种新的分层自监督学习方法PreSec,可以同时从笔画和语义上下文中学习鲁棒表示
  • 设计了一种新颖的上下文感知模块,该模块配备了可学习量化器和上下文聚合器,可以有效地将每个元素与其上下文区分开来,该模块是可插拔的。
  • 实验表明该方法在无监督和半监督学习环境下都能达到SOTA性能。
  • 提出了一个无标签的大型真实场景数据集UIT-100M,可以极大提高PerSec的性能。

Method

Architecture Overview

在这里插入图片描述
STR 任务通常会使用编码器-解码器作为pipeline。

将搭载了笔画-语义上下文感知器的Encoder用PerSec方法进行预训练,通过多层对比学习来学习鲁棒的文本图像表征,为了进行STR任务,为预训练好的Encoder加上Decoder,Decoder可以基于CTC也可以基于注意力,最后根据标记好的数据对pipeline进行微调。

Base Encoder

文本使用了两种编码器:CNN-based Encoder和ViT-based Encoder。

其结构如图:
在这里插入图片描述
在这里插入图片描述

Context Perceiver

在这里插入图片描述

为了学习鲁棒的分层文本表征,本文设计了Context Perceiver(CP)模块。

该方法将低级笔画编码器和高级的语义编码器的输出特征送入CP模块,该模块能将输入特征的每个元素与其上下文区分开来,也就是说,对比操作进发生在同一样本的特征元素内。

如图3,CP模块具有双分支结构,包括Context Aggregator(粉色部分)和Quantizer(蓝色部分)。

Context Aggregator

输入的特征 F ∈ R w × h × d F\in \mathbb{R}^{w\times h \times d} FRw×h×d首先通过一个掩码语言模型进行掩码处理得到掩码特征 F ′ ∈ R w × h × d F'\in \mathbb{R}^{w \times h\times d} FRw×h×d,再将该掩码特征经过位置编码送入N个含有W-MHSA和FFN的模块中,考虑到Context Aggregator需要协调来自低级特征图和高级特征序列的聚合,所以位置编码采用了2-D位置编码。得到的特征 F ^ \hat{F} F^可表示为:
F ^ = F ∗ σ ( D W C o n v ( F ) ) \hat{F}=F*\sigma(DWConv(F)) F^=Fσ(DWConv(F))
其中 σ \sigma σ表示sigmoid函数, D W C o n v ( ⋅ ) DWConv(·) DWConv()是一个3*3的深度卷积。

由于想要得到的场景文本图像的slow Feature通常包含在局部上下文中,且在低级笔画特征空间内,slow Feature代表笔画模式(如汉语的偏旁),而在高级语义特征空间中,slow Feature表示语义信息。为了更好地从局部上下文中捕获slow Feature,本文设计了W-MHAS:
W − M H S A ( Q , K , V ) = s o f t m a x ( Q K T d + M w i n ) V T = w ⋅ h 1 ≤ w ≤ T W-MHSA(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d}}+M_{win})V \\ T=w·h \;\;\; 1 \leq w\leq T WMHSA(Q,K,V)=softmax(d QKT+Mwin)VT=wh1wT

最后生成标签C.

Quantizer

Quantizer的任务是生成伪标签 P ∈ R T × d P\in \mathbb{R}^{T\times d} PRT×d。(这里原文写得有点抽象,可能是想读者去看那几篇它引用的论文,这里只简单说一下这个是干啥的。)

然后在Context Aggregator生成的上下文聚合特征C和Quantizer生成的伪标签P上做对比学习。

Pre-training Strategy

掩码技巧

掩码的大小为 m l o w × m l o w , 1 ≤ m l o w ≤ h m_{low}\times m_{low},1\leq m_{low}\leq h mlow×mlow,1mlowh, h h h时特征图的高度。一个特征图上可能存在多个掩码,其数量与特征图大小 w ⋅ h w·h wh成一定比例。对于T时间步长的高级特征序列,本文将掩码设置为 m h i g h m_{high} mhigh的连续时间步长, 1 ≤ m h i g h ≤ T 1\leq m_{high} \leq T 1mhighT,掩码的个数为 p h i g h ⋅ T p_{high}·T phighT。如果特征元素被掩码,它们将被替换为一个可训练的特征向量,由所有掩码元素共享,并且确保每个蒙版不重叠。

Loss Function

损失函数包括对比损失( L s t r o k e c o n , L s e m a n t i c c o n L_{stroke}^{con},L_{semantic}^{con} Lstrokecon,Lsemanticcon)和多样性损失( L s e m a n t i c d i v , L s e m a n t i c d i v L_{semantic}^{div},L_{semantic}^{div} Lsemanticdiv,Lsemanticdiv)两部分。
L = L s t r o k e c o n + α L s t r o k e d i v ⏞ s t r o k e − l e v e l + L s e m a n t i c c o n + β L s e m a n t i c d i v ⏟ s e m a n t i c − l e v e l L=\overbrace{L_{stroke}^{con}+\alpha L_{stroke}^{div}}^{stroke-level}+\underbrace{L_{semantic}^{con}+\beta L_{semantic}^{div}}_{semantic-level} L=Lstrokecon+αLstrokediv strokelevel+semanticlevel Lsemanticcon+βLsemanticdiv
对比损失可表示为:
L ∼ ( c o n ) ( i ) = − log ⁡ exp ⁡ ( s i m ( c i , p i ) / τ ) ∑ k ∈ I m a s k exp ⁡ ( s i m ( c i , p i ) / τ ) L_{\sim}^{(con)}(i)=-\log{\frac{\exp(sim(c_i,p_i)/\tau)}{\sum_{k\in I_{mask}}\exp(sim(c_i,p_i)/\tau)}} L(con)(i)=logkImaskexp(sim(ci,pi)/τ)exp(sim(ci,pi)/τ)
其中 c i , p i c_i,p_i ci,pi分别为上下文聚合特征C和伪标签P的第i个掩码元素,它们共同构成正样本对, p k p_k pk表示报刊正样本和负样本的其他掩码元素的第k个元素, I m a s k I_{mask} Imask为所有掩码元素的索引, s i m sim sim是余弦相似度, s i m ( a , b ) = a T b ∥ a ∥ ∥ b ∥ sim(a,b)=\frac{a^Tb}{\|a\|\|b\|} sim(a,b)=a∥∥baTb

多样性损失可表示为:
L ∼ d i v = 1 G V ∑ g = 1 G ∑ v = 1 V p g , v log ⁡ p g , v . L_{\sim}^{div}=\frac{1}{GV} \sum_{g=1}^{G} \sum_{v=1}^{V}p_g,v\log p_g,v. Ldiv=GV1g=1Gv=1Vpg,vlogpg,v.

A New Dataset:UTI-100M

在这里插入图片描述

实验结果

截取其中一部分。

在这里插入图片描述

在这里插入图片描述

提场景文本特征的方法值得学习。

这篇关于【论文阅读】Perceiving Stroke-Semantic Context: Hierarchical Contrastive Learning for Robust Scene Text Re的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/588324

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需