近年来,情景文本阅读技术取得了长足的进步。给定图像,文本定位器可以同时定位和识别文本内容,从而实现许多现实世界的应用,如文档数字化、智能助手和自动驾驶仪。基本上,矩形、四边形和多边形等边界框通常用于表示不同形状的文本。然而,人类可以直观地阅读没有这样一个定义区域的文本,这一事实鼓励了无边界框文本识别器的发展,解除了边界框注释所施加的限制。
如下图所示,前面的方法使用由一系列坐标组成的边界框来定义实例级文本,其中封闭的区域被认为是一个正样本。由于其简单和直接性,边界框已成为许多其他视觉任务的首选注释格式。然而,与对象检测任务中的目标通常以定义的外观呈现不同,文本实例可能由于不同的排版和字体而以任意形状出现。
因此,需要使用边界框来包含更多的坐标,如多边形,来标记这些任意形状的文本。否则,可能会涉及相当大的噪声,这可能会对识别性能产生负面影响。例如,Total-Text 最多使用20个坐标,而SCUT-CTW1500 最多使用28个坐标来注释单个弯曲场景文本实例。虽然使用多边形可以在一定程度上缓解标注任意形状文本的噪声问题,但也大大增加了标注成本。针对这些问题,本文提出了一种基于单引导点的场景文本监控新方法。如上图所示,每个文本由实例中的单个点表示。这种流线型的表示打破了边界框的限制,使模型能够自由地访问附近的像素,并进一步学习区分文本之间的边界。此外,与多边形相比,它大大节省了标注成本。
近十年来,场景文本识别的研究重点从水平文本和多向文本转向任意形状文本,体现在从矩形和四边形注释向更紧凑但更昂贵的多边形的转变。如图2所示,矩形边界框容易涉及到其他文本实例,可能会混淆后续的场景文本识别。此外,许多人已经努力开发更复杂的表示来适应任意形状的文本实例。
例如,如下图所示,Mask TextSpotter利用边界多边形对文本区域进行定位。Text Dragon利用字符级边界框生成中心线来预测局部几何属性,ABCNet将多边形标注转换为bezier曲线来表示弯曲的文本实例,Text Snake通过一系列以对称轴为中心的有序磁盘来描述文本实例。这些启发式表示是由知识渊博的专家精心设计的。尽管它们已被证明对文本检测和识别模块之间的特征对齐是有效的,但对人工设计规则的依赖不可否认地破坏了通用性。具体来说,需要特定的网络架构和模块来处理特征和标注信息,例如RoI模块的变体和后处理机制。此外,如上图所示,上述依赖多边形或字符边界框标注的表示方式标注成本较高,而提出的单点标注方法可以将标注成本减半。
在过去的几年里,一些研究者探索了用弱监督的方式训练粗糙标注的OCR模型。这些方法主要可以分为两类,即(1)引导标签到更细的粒度和(2)部分标注训练。前者通常从字级或行级注释派生字符级标签;因此,这些模型可以在不引入间接成本的情况下享受众所周知的字符级监督的优势。后者致力于用更少的训练样本获得有竞争力的表现。然而,这两种方法仍然依赖于边界框注释。最近的一项研究[SPTS: Single-point text spotting]表明,场景文本的仅点注释仍然可以在场景文本识别任务中取得具有竞争力的性能
用更简单的标注格式(如单点注释)替换边界框的潜在问题之一是,大多数文本观测者依赖于类似roi的采样策略来提取共享的主干特征。例如,Li等人和Mask TextSpotter需要RoI内的框和掩码预测;ABCNet提出了bezeralign将曲面表示包装成水平格式,而TextDragon引入了RoISlide来统一检测和识别头。
在本文中,受最近基于序列的目标检测器Pix2Seq的成功启发,我们证明了文本观测者可以用单点进行训练。由于标注形式简洁,可以显著节省标注时间,如图所示的样本图像单点标注时间,仅为字符级边界框标注时间的不到五十分之一。选择点注释的另一个激励因素是可以开发一个干净高效的OCR管道,抛弃复杂的后处理模块和基于图像的采样策略;因此,roi引入的模糊性(见图中红色虚线区域)可以得到缓解。
然而,采用单点表示仍然具有挑战性。在我们的会议版本中,以前最先进的单点文本定位器(SPTS)使用自回归的Transformer为所有文本实例生成长序列。在这里,仅点预测非常简单,可以整体处理无序的文本实例。因此,它可以学习避免重复预测、特定的标签分配方法,如DETR中的二部匹配,或复杂的后处理,如非最大抑制(NMS)。虽然我们的会议版本SPTS是有效的,但它的推理速度非常低,特别是同时包含多个实例的图像。
因此,为了在利用自回归预测的同时保持高效率,我们设计了SPTS v2,在实现更高性能的同时显著提高了推理速度。具体来说,我们观察到结果的长序列主要被文本识别所占据,因此我们只能在第一实例分配解码器(IAD)中自回归地预测每个实例的位置,例如x和y,称为指示器;而对于第二个并行识别解码器(PRD),每个指示器负责其后续的文本识别预测,可以并行实现。这背后的基本原理是,IAD是解决隐式标签分配,而PRD是对给定标签分配后的特征的相关文本识别结果进行并行预测。为了实现从识别特征到IAD阶段的梯度流,我们提出了一种简单有效的信息传输方法,该方法集成了文本位置和IAD阶段特征的嵌入,这对SPTS v2的成功至关重要。We summarize our contributions as follows:
文献[SPTS],[Pix2Seq]表明自回归解码器是有效的;然而,直观的是,考虑到文本实例的长序列,这是一个耗时的解决方案。为了提高效率,SPTS v2通过共享相同的Transformer解码器,将检测和识别分为两个阶段的工作流程。第一阶段称为实例分配解码器(IAD)。在第一阶段,SPTS v2只对每个文本实例的中心点进行解码,直到序列结束。一个直观的流水线如下图所示。
具体来说,文本实例中心点的连续坐标被统一离散为 [ 1 , n b i n s ] [1,n_{bins}] [1,nbins] 之间的整数,其中 n b i n s n_{bins} nbins 控制离散程度。例如,长边为800像素的图像只需要 n b i n s = 800 n_{bins} = 800 nbins=800 就可以实现零量化误差。请注意,文本实例的中心点是通过对上中点和下中点取平均值得到的,如图(b)所示。到目前为止,文本实例可以由三部分组成的序列表示,即[x, y, t],其中(x, y)是离散坐标,t是将在PRD中预测的转录文本。值得注意的是,转录本身是离散的,即每个字符代表一个类别。
和 标记被插入到序列的头部和尾部,分别表示序列的开始和结束。因此,给定一个包含N个文本实例的图像,构造的序列将包含2N个离散的标记,其中文本实例将随机排序。事实上,如之前的研究[Pix2Seq]所示,可以有效地学习随机排序的文本实例,从而在不明显的情况下实现对不同隐藏特征的标签分配,巧妙地避免了像使用二部匹配那样的显式标签分配,而二部匹配在DETR系列中起着至关重要的作用。实际上,与其他标签赋值相比,实例赋值直观上更有效。密集标签分配方法使用非最大抑制(NMS)选择合适的检测结果进行识别。二部匹配标签分配方法使用最大实例数来检测和识别文本,这消耗了空文本实例的额外计算。
在IAD的帮助下,我们分离了不同的文本实例。在并行识别解码器中,可以同时获得不同文本实例的内容。与一般的对象检测将对象划分为固定的类别不同,文本内容识别是一个目标序列长度可变的序列分类问题。这可能会导致不对齐问题,并可能消耗更多的计算资源。为了消除这些问题,我们首先将文本填充或截断为固定长度K,其中< pad >令牌用于填补较短文本实例的空缺。此外,假设字符有ncls类别(例如,英语字符和符号为97),用于标记序列的字典的词汇量大小可以计算为ncls + 3,其中额外的三个类别用于, 和标记。根据经验,在我们的实验中,我们将K和 n b i n s n_{bins} nbins 分别设置为25(对于SCUT-CTW1500为100)和1000。此外, n t i n_{ti} nti 的最大值被设置为60,这意味着包含超过60个文本实例的序列将被截断。PAD的图示如下图所示。
并行识别解码器(PRD)的输入和输出序列。每一行代表不同的文本实例。给定信息传输产生的特征,并行预测识别结果,直到达到最大长度或EOS符号。
我们假设一张图像包含N个文本实例,每个实例包含最大数量的K个字符。SPTS需要Nv1个循环来预测该图像,其中Nv1定义为:
N v 1 = ( 2 + K ) ⋅ N + 1 , ( 1 ) N_{v1}=(2+K)·N+1,(1) Nv1=(2+K)⋅N+1,(1)
而对于SPTS v2,它只需要Nv2 for循环,其中Nv2为:
N v 2 = 2 ⋅ N + K + 1 N_{v2}=2·N+K+1 Nv2=2⋅N+K+1
K·(N−1)还原。在我们的实现中,N和K分别被设置为60和25。在这种情况下,SPTS需要1,621个自回归循环,而SPTS v2只需要146个循环,循环数量减少了91.0%(1475/1621)。实际上,在PRD中,如果所有实例都满足序列结束符号,SPTS v2也可以提前结束。通过PRD,可以显著提高推理速度。
这两种解码器的参数是共享的,并由检测和识别梯度来监督。然而,在不同的文本实例之间存在信息丢失。在SPTS中,可以通过识别令牌感知之前检测到的文本信息,并传递文本识别的梯度来监督不同文本实例的预测。这种交互对于SPTS v2中的并行识别解码器找到文本的正确位置也很重要。为了解决这个问题,我们提出了一种信息传递的方法。形式上,我们首先提取隐藏文本实例位置特征(feat的缩写)和相应的文本位置预测结果(如x1, y1)。然后,我们将文本实例位置结果转换为嵌入,然后将其添加到文本实例位置特征中。该过程可表述如下:
在信息传递的帮助下,后期文本识别的梯度可以通过特征或特征传递到不同的文本实例中,并且PRD阶段的识别令牌可以通过特征感知先前检测到的文本信息。PRD将这些先验信息作为指示解码器的前两个查询,从而并行识别所有文本实例。在实践中,这种直接的传输对SPTS v2至关重要。
由于训练SPTS v2是为了预测令牌,所以只需要在训练时最大化似然损失,可以写成:
L = m a x ∑ i = 1 L w i l o g P ( s ˉ ∣ I , s 1 : i ) L=max\sum_{i=1}^Lw_ilogP(\bar s|I,s_{1:i}) L=maxi=1∑LwilogP(sˉ∣I,s1:i)
其中 I 是输入图像, s ˉ \bar s sˉ 是输出序列,s是输入序列,L是序列的长度,wi 是第 i 个标记的可能性的权重,经验设置为1。对于IAD和PRD,它们共享相同的Transformer,只需要交叉熵损失,保持简洁的管道。
现有的文本定位任务评估协议包括两个步骤。首先,计算ground-truth (GT)与detection box之间的交集over union (IoU)分数;只有当IoU分数大于指定的阈值(通常设置为0.5)时,方框才匹配。然后,将每个匹配的边界框内的识别内容与GT转录进行比较;只有当预测文本与GT相同时,它才会有助于端到端准确性。然而,在该方法中,每个文本实例由单个点表示;因此,基于IoU的评估度量不能用于度量性能。同时,比较基于边界盒的方法和基于点的方法的定位性能可能是不公平的,例如,直接将边界盒内的点视为真阳性可能会高估检测性能。为此,我们提出了一个新的评估指标,以确保与现有方法进行相对公平的比较,该指标主要考虑端到端准确性,因为它反映了检测和识别性能(故障检测通常会导致错误的识别结果)。
具体如下图所示,我们修改了文本实例匹配规则,将IoU度量替换为距离度量,即选择与GT盒中心点距离最近的预测点,并使用与现有基准测试相同的全匹配规则测量识别结果。只有一个置信度最高的预测点才会与基本事实相匹配;其他的则被标记为假阳性。
为了探索所提出的评价协议是否能够真实地代表模型的精度,下表比较了ABCNetv1和ABCNetv2在Total-Text和SCUT-CTW1500上的端到端识别精度,即常用的基于IoU的边界框度量和所提出的基于点的度量。结果表明,基于点的评价方案可以很好地反映性能,其中基于盒的评价值与基于点的评价值之间的差异不超过0.5%。例如,ABCNetv1模型在SCUT-CTW1500数据集上在这两个指标下分别获得了53.5%和53.0%的分数。因此,在接下来的实验中,我们使用基于点的度量来评估所提出的SPTS v2。
该模型首先在包含Curved Synthetic dataset 150k、MLT-2017、ICDAR 2013、ICDAR 2015和Total-Text的组合数据集上进行150 epoch的预训练,由AdamW进行优化,初始学习率为5 × 10−4,学习率线性衰减为1 × 10−5。预训练后,模型在每个目标数据集的训练分割上再进行200次微调,固定学习率为1 × 10−5。整个模型在16个NVIDIA A100 GPU上进行分布式训练,每个GPU的批处理大小为8个。注意,有效批大小为64,因为在minibatch中对每个图像执行两个独立的增强。此外,我们使用ResNet50作为骨干网,而Transformer编码器和解码器都由6层8头组成。
关于 transformer 的架构,我们采用了Pre-LN Transformer。在训练过程中,输入图像的短尺寸随机调整为640到896(间隔为32)的范围,同时保持长侧小于1,600像素,遵循之前的方法。采用随机裁剪和旋转进行数据增强。在推理阶段,我们按照之前的工作,将短边的大小调整为1000,同时保持长边的长度小于1824像素。
为了提高模型输出的准确性和可靠性,我们制定了一个三步程序来过滤冗余的预测。首先,我们导出检测令牌和识别令牌的分类置信度分数。然后,我们计算这些令牌的平均置信度得分。在最后一步,我们根据这个平均分数设置一个阈值,过滤掉低于它的预测。通过这种方法,可以减少大多数误报。
我们首先进行消融研究,以评估不同设计的SPTS v2。因为PRD需要启动标记来并行地预测识别结果,至少在基线设置中需要隐藏特征(称为Feat)或位置嵌入(称为Token)。结果如下表所示。我们可以看到,如果不共享IAD和PRD的参数,就Total-Text数据集的Full指标而言,性能会下降1.4%。此外,根据表中的第1、2和4行,集成Token和Feat可以进一步提高性能,例如,在Full度量方面,分别比单独使用Token和Feat高3%和5.5%。结果表明了信息传递的重要性。我们使用预训练的模型来测试结果。
直观地说,边界框所包围区域中的所有点都应该能够表示目标文本实例。为了探讨差异,我们进行了消融研究,使用三种不同的策略获得指示点,即通过平均上下中点获得的中心点,左上角和盒子内的随机点。需要注意的是,我们在这里使用相应的ground-truth来计算距离矩阵来评估性能,以保证公平的比较,即左上角使用到ground-truth左上角点的距离,中央使用到ground-truth中心点的距离,随机使用到ground-truth多边形最近的距离。
结果如下表所示,其中左上角的结果最差。随机的结果接近中心,在无指标方面大约差1%。虽然中心点比其他格式表现出最好的性能,但这表明性能对点标注的位置不是很敏感。
在序列构建过程中,通过将点坐标修改为边界框的位置,该方法可以很容易地扩展到生成边界框。在这里,我们进行消融研究,仅通过改变文本实例的表征来探索影响。具体来说,研究了四种变体,包括:1)Bezier曲线边界框;2)矩形边界框;3)指示点;4) non-point。注意,对于非点表示,我们只使用SPTS实现结果,因为使用SPTS v2很难实现,因为SPTS v2需要预测PRD阶段的位置。
由于我们在这里只关注端到端性能,为了尽量减少检测结果的影响,每种方法都使用相应的表示来匹配评估中的GT框。也就是说,单点模型使用第4.2节介绍的评价指标,即点之间的距离;SPTS v2-Rect的预测与多边形标注的限定矩形匹配;SPTS v2-Bezier采用匹配多边形框的原始度量;非点的评价指标可参考第5.1节。如下表所示,SPTS v2点在TotalText和SCUT-CTW1500数据集上都实现了最佳性能,大大优于其他表示。这样的实验结果表明,一个低成本的标注,即指示点,能够为文本标记任务提供监督。在此,为了使这些发现更有根据,我们进一步提供如下分析:
不同形状边界框的对比。Np是通过不同表示描述文本实例的位置所需的参数数量。训练计划的2倍。
SPTS-Rect和SPTS-Bezier的结果使用与sptpoint相同的训练计划得到。为了进一步探讨前者是否需要更长的训练时间,我们将下表中的SPTS-Point与2× epoch训练的SPTSBezier进行了比较。可以看出,2× epochs 的SPTS-Bezier并没有明显优于1×次元的SPTS-Bezier,仍然不如1×次元的SPTS-Point。此外,使用较长的训练计划甚至会导致SCUT-CTW1500在SPTS-Bezier的None指标上的性能降低,这表明训练计划可能不是这种情况。
为了进一步消除不同度量的影响,我们也直接采用矩形或bezier曲线包围框内的中心点来测试与我们方法相同的点度量。结果如下表所示,方差仍然与表1的结论一致,即点度量的结果与基于框或多边形的度量的结果在None度量方面接近。
从之前的场景文本识别方法中我们可以看到,有时即使检测结果不准确,如缺少字符的某些区域,识别结果仍然是准确的,如下图顶部所示。这是因为文本识别的对齐基于特征空间,其中裁剪的特征具有足够的文本内容接受域。这种现象也可以支持我们的发现:如下图底部所示,由于图像在我们的方法中是全局编码的,因此一个近似的位置可能足以让模型捕获附近所需的特征,这可能进一步释放Transformer的功率。
接受野对最终的识别是有益的。Upper: ABCNet v2的结果。下:我们方法的粗糙感受野。
如第3节所述,文本实例按照构造的序列随机排序。在这里,我们进一步研究文本实例顺序的影响。不同排序策略在Total-Text和SCUT-CTW1500上的性能如下表所示。“Area”和“Dist2ori”表示文本实例分别按面积和到左上角原点的距离降序排序。“自顶向下”表示文本实例从上到下排列。可以看出,我们的方法的随机顺序达到了最好的性能。尽管结果可能与直觉相反,但随机有序设置的效果最好;然而,这与pix2seq模型的结果是一致的,当使用集合顺序时,pix2seq模型会遇到丢失对象的问题。在这种情况下,随机顺序可能会潜在地解决这个问题,因为它可能会在稍后捕获那些丢失的对象。由于在不同的迭代中对相同的图像构建了不同的序列,因此经验上使模型更加鲁棒。
我们进一步对IAD和PRD的共享解码器层以及我们的Total-Text框架的各种主干进行了深度消融研究,如下表所示。我们观察到,使用ResNet-34作为主干,在None指标方面超过ResNet-18 4.1%。使用ResNet-50作为主干可以比ResNet-34进一步提高3.8%。此外,我们发现解码器层数对不同主干网的性能有很大的影响。例如,使用ResNet-18、ResNet34和ResNet-50作为主干,将解码器层的数量从6层减少到1层,就Total-Text数据集的None指标而言,性能下降了49.1%、42%和15.2%。
在本节中,我们对模拟的带噪注释数据进行实验,进一步证明SPTS v2的潜力。对于ABCNet v2,我们首先通过对 GT 多边形点标注的随机扰动,在CTW1500的训练数据中引入噪声。将随机扰动应用于CTW1500数据集上多边形点的 GT 值训练标注。对于SPTS v2,我们首先计算 GT 多边形点注释的中心点。按照类似的过程,我们对CTW1500数据集的中心点施加随机扰动。随后,使用扰动标注对ABCNet v2和SPTS v2进行了训练。结果如下表所示,SPTS v2的退化约为0.6%,而ABCNet v2的退化约为2.4%,干扰半径为5,这可以强调SPTS v2对噪声的鲁棒性。干扰半径为10时,SPTS v2下降约2.0%,ABCNet v2下降约2.6%。我们注意到许多文本实例具有较短的高度,中心点的干扰半径为10可能导致它落在文本实例之外。
下表将本文方法与现有方法在广泛使用的ICDAR 2013基准上进行比较。我们的方法在“强”词汇下实现了最佳性能,同时在“弱”和“一般”指标上实现了相当的性能。注意SPTS v2的速度比以前最先进的基于单点的方法快20倍,参数更少。
ICDAR 2015数据集的定量结果如下表所示。所提出的方法与最先进的方法之间存在性能差距。该方法直接基于低分辨率的高级特征预测文本序列,没有RoI操作,无法准确识别微小文本。定量地,如果在评估时忽略面积小于3000(调整大小后)的文本,ICDAR 2015上通用词汇的F-measure将提高到77.5。此外,目前ICDAR 2015上最先进的方法通常在训练和测试期间采用更大的图像尺寸。例如,测试图像的短边被调整为1440像素,而长边则短于4000像素。如下表所示,在较大的测试规模下,SPTSv2在ICDAR 2015上的性能要远远好于较小的测试规模。
我们进一步将我们的方法与包含任意形状文本的现有基准方法进行比较,包括Total-Text和SCUT-CTW1500。如下表所示,对于基于单点的方法,我们的方法达到了最先进的性能,大大优于TOSS。此外,从下表可以看出,我们的方法在基于长文本行的SCUT-CTW1500数据集上取得了较好的结果,这进一步证明了单点可以足够强地指导文本的识别。对于具有挑战性的逆文本,我们的方法在与之前的方法[SwinTextSpotter]相同的设置下进一步取得了优异的性能,在“None”和“Full”指标方面分别比之前的技术提高了8.0%和7.0%,证明了其在处理旋转任意形状文本方面的鲁棒性。
总之,在几个基准测试中,与以前的文本检测器相比,所提出的方法可以获得具有竞争力的性能。特别是在两个曲线数据集上,即SCUT-CTW1500,本文方法的性能大大优于最近提出的一些方法。我们的方法能够在任意形状的文本上获得更好的准确率的原因可能是:(1)我们的方法抛弃了基于先验知识设计的特定任务模块(如RoI模块);因此,识别精度与检测结果解耦,即即使检测位置移位,我们的方法也能获得可接受的识别结果。另一方面,输入到识别模块的特征在训练时是基于 ground-truth 位置采样,而在测试时是基于检测结果采样,这就导致了特征的错位。然而,通过以序列建模的方式处理定位任务,该方法消除了这些问题,从而在基于任意形状的特别长的文本行数据集上显示出更强的鲁棒性。
5个数据集的部分可视化结果如下图所示。从图中可以看出,该方法在弯曲、密集、高度旋转和长文本中显示出鲁棒性。在第二行最右边的图像中,多方向密集的长文本可能导致重叠,从而导致基于边界框的方法遗漏实例。然而,使用我们的方法,即使用单点进行位置指示,这种干扰自然会减少,从而能够准确地发现大多数实例。
我们提出了SPTS v2,这是一种新的场景文本识别范式,它表明极低成本的单点标注可以成功地用于训练强大的文本识别器。SPTS v2基于一个简洁的基于transformer的框架,在该框架中,文本的检测和识别被简单地表述为语言序列,只需要交叉熵损失,不需要特征对齐,也不需要额外的后处理策略。它包括一个实例分配解码器(IAD),保留了统一同一序列内所有文本实例的优点;一个并行识别解码器(PRD)以及简单而有效的信息传输方法,可以显着减少序列的长度。注意,IAD和PRD共享完全相同的参数。使用更少的参数,SPTS v2优于以前最先进的单点文本观测者(SPTS),同时推理速度提高了19倍。大量的实验表明,这种基于点的方法仍然可以获得有竞争力的结果。SPTS v2的一个关键优势是它能够大大减少所需的序列长度。其训练方法的直接性质使其特别适合于多任务场景,使不同的多模式数据能够通过一个内聚的标记到语言管道进行处理。使用更大的模型来研究这个问题可能会为探索提供一个有希望的途径。
信息茧房则是由于个人或群体对信息选择的偏见和倾向,导致只接触和相信与自己立场相符的观点,形成一个封闭的信息环境。这个观念本质上来自于传播学中的“自我强化”概念,也就是说人们天生喜欢“强化已有的认知,而非自我颠覆”。在短视频平台中则会通过算法和标签推送把人们的“自我强化"倾向值拉满,在这种时候,人们主要接触和接受的就会基本都是与自己观点相同的意见与信息,考虑到大部分人都不会有“兼听则明"的能力,也就自然忽视掉了与自己观点相悖的信息。在这种情况下,就可能会号致认知偏差、信息过滤和信息孤岛等问题进一步加重,这些问题则会进一步阻碍多样性观点下的理解与对话。
如果你喜欢上一个人,但没有实质进展,不妨让他帮你忙。比如借书、借文具,借游戏等等,当然这些都需要还给对方。这些做完后,对方会主动关心你。比起被别人帮助,人们更愿意帮助别人,并对受助者产生好感。让别人喜欢你的最好方式,不是帮助他们,而是让他们来帮助你,这便是富兰克林效应。别人帮助你了之后,记得常怀感恩的心。滴水之思,当涌泉相报,这条无论是用于朋友还是上司都适合。请别人帮忙之后,在生活中可以常常想到对方,可以是顺手多买的水果咖啡等,节日要给对方一点小礼物,让对方知道你是个懂得感恩的人,关系自然就会拉近。