【多模态】30、GPT4V_OCR | GPT4V 在 OCR 数据集上效果测评

在这里插入图片描述

文章目录

    • 一、背景
    • 二、测评
      • 2.1 场景文本识别
      • 2.2 手写文本识别
      • 2.3 手写数学公式识别
      • 2.4 图表结构识别(不考虑单元格中的文本内容)
      • 2.5 从内容丰富的文档中抽取信息
    • 三、讨论

论文:EXPLORING OCR CAPABILITIES OF GPT-4V(ISION) : A QUANTITATIVE AND IN-DEPTH EVALUATION

代码:https://github.com/SCUT-DLVCLab/GPT-4V_OCR

出处:华南理工

时间:2023.10

贡献:

  • 本文作者测评了 GPT-4V 在 OCR 任务上的效果
  • 测评包括:场景文本识别、手写文本识别、手写数学公式识别、表格识别、信息抽取
  • 测评结论:GPT4V 对拉丁文识别的较好,在多语言场景识别的不太好,对复杂场景识别的也不太好(如手写数学公式、表格识别、信息抽取等)。GPT4V 的能力和特定 OCR 模型相比,效果还有较大的差距,所以如何激发 LMM 模型在 OCR 上的能力还值得探究。

一、背景

大语言模型的成功催生了很多大型多模态模型的出现,如 BLIP-2、OpenFlamingo、LLaVA、MiniGPT4、mPLUG-Owl、GPT-4V 等

GPT-4V 的表现很强,所以本文作者主要探究了 GPT-4V 在 OCR 领域的效果

作者测评的数据集如下:

  • 场景文本识别(Scene Text Recognition,STR):CUTE80 [66], SCUT-CTW1500 [67], Total-Text [68], WordArt [69], ReCTS [70],MLT19 [71]
  • 手写文本识别(Handwritten Text Recognition,HTR): IAM [72] and CASIA-HWDB [73]
  • 手写公式识别(Handwritten Mathematical Expression Recognition,HMER):CROHME2014 [74] and HME100K [42]
  • 表格结构化识别(Table Structure Recognition,TSR):SciTSR [75] and WTW [76]
  • 文档信息抽取(Information Extraction from Visually-rich Document,VIE):FUNSD [77] and XFUND [78] Chinese subset (XFUND-zh)

测评结论:

  • GPT-4V的性能不及专门的OCR模型
  • GPT-4V在处理拉丁语内容时表现出色,但在处理其他语言时遇到了瓶颈
  • GPT-4V在处理如 HMER、TSR和VIE 等复杂场景的任务时也遇到了困难

作者抛出的问题:在OCR领域,专门的模型是否仍具有研究价值?

作者的回答:鉴于GPT-4V的三个关键缺点,即在多语言和复杂场景中的有限性能、高推理成本和更新挑战,我们认为现有的大型语言模型(LMMs)难以同时处理各种OCR任务[79]。因此,专门的模型在OCR领域的研究价值仍在继续。然而,利用像GPT-4V这样的大型语言模型的潜力对未来的OCR研究仍然至关重要。可能有三个值得探究的潜在方向,包括语义理解增强、下游任务的微调,以及自动/半自动数据构建。

二、测评

2.1 场景文本识别

数据集:

场景识别数据集:CUTE80 [66], SCUT-CTW1500 [67], Total-Text [68], WordArt [69] , ReCTS [70]

端到端文本检测:MLT19,一个用于多语言场景文本(MLT)检测和识别的数据集,它包含了10种语言的文本,共有20,000张图片

  • 使用MLT19 [71]来评估GPT-4V的多语言能力
  • 对于每种语言,我们从训练集中随机选择20张图片。
  • 为了研究图像分辨率对识别结果的影响,从上述子集中选择20张英文图片,并将它们的长边分别调整至128、256、512、1024和2048像素。

prompt:

  • word-level English text recognition: “What is the scene text in the image?”,
  • ReCTS in Chinese: “图片中的场景文字是什么?”
  • end-to-end text spotting: “What are all the scene text in the image? Do not translate”.

Metric:

  • 评估 word-level 的识别:作者使用 word accuracy ignoring case and symbols (WAICS) 来评估,也就是忽略大小写和符号的单词准确率
  • 评估端到端的文本检测和识别(text spotting),作者使用空格将 GPT4V 的预测结果和 GT 分开,然后计算 precision 和 recall

precision 表示 GPT-4V 识别正确的 words,recall 表示识别出正确的 words 占所有 words 的占比,然后计算出 F1:

在这里插入图片描述

结果分析:

结果见表1、2、3

在这里插入图片描述

作者的观点:

  • GPT-4V 对英文和中文的识别差距还是挺大的,如表 1 所示,对英文的识别表现是很好的,对中文文本的识别几乎为0(ReCTs),这是由于训练数据中缺乏中文数据
  • GPT-4V 对拉丁文(英文、法文、德文、意大利文等)的识别很好,比其他语种的语言识别的都好,如表 2 所示,比其他非拉丁字母的识别都好,这也说明 GPT-4V 对多语言的 OCR 识别有局限
  • GPT-4V 支持不同分辨率的图片输入(之前的 LMM 方法大都只支持固定大小的输入),如表 3 所示,图片的分辨率和识别的效果成正比

在这里插入图片描述
在这里插入图片描述

2.2 手写文本识别

数据集:

作者使用两个标准的手写数据集来衡量,从下面两个数据集中随机选出 50 个图片和文本:

  • 英文:IAM(1539 页,13353 行,手写英文文本)
  • 中文:CASIA-HWDB(5090 耶,1.35m 字符,7356 个类别,其中 7185 个中文字,171 个符号)

Prompt:

  • IAM:“Recognize the text in the image.”
  • CASIA-HWDB:“请直接告诉我,图片中的文字都是什么?”

Metric:

英文:

  • WER:Word Error Rate,是一种常用于语音识别和手写文本识别的性能指标,计算了识别结果中错误的单词数量占参考文本(通常是正确文本)中单词总数的比例,WER 越低,表示识别系统的性能越好
    • (S + D + I) / N,其中:
      • S 是替换错误的数量(识别结果中的单词错误地被替换为另一个单词)。
      • D 是删除错误的数量(识别结果中遗漏了某个单词)。
      • I 是插入错误的数量(识别结果中多出了不应该出现的单词)。
      • N 是参考文本中的单词总数。
  • CER:Character Error Rate,是一种评估手写或打印文本识别系统的指标,计算的是错误的字符数量占参考文本中字符总数的比例,CER的计算公式与WER相似,但它关注的是字符级别的错误,而不是单词级别,低CER意味着字符识别的准确度高

举一个具体的例子:

假设有一句标准答案(参考文本)是:This is a pen,这句话有四个单词,所以( N = 4 )。

如果一个识别系统给出了这样的识别结果: This is pen,则这里有一个删除错误("a"被漏掉了),所以( D = 1 ),而没有替换错误和插入错误,所以( S = 0 )和( I = 0 )。

根据 WER 的公式,可以计算出:
WER = 0 + 1 + 0 4 = 1 4 = 0.25 \text{WER} = \frac{0 + 1 + 0}{4} = \frac{1}{4} = 0.25 WER=40+1+0=41=0.25

或者以百分比表示,WER是25%。

这个结果说明,识别结果与标准答案相比有25%的单词错误。理想情况下,WER 应该是0%,这意味着识别结果完全准确。实际应用中,我们追求尽可能低的WER。

例子 1:

参考文本:今天天气真好
系统输出:今天天气好
在这个例子中,"真"这个词被删除了。

替换:0
插入:0
删除:1
词数:4
$WER = \frac{0 + 0 + 1}{4} = 0.25$
WER为25%。

例子 2:

参考文本:我们去公园玩
系统输出:我们公园去玩
系统输出中,“去”和“公园”两个词位置互换了,可以视为一个替换错误(因为“去公园”被错误地替换成了“公园去”)。

替换:1
插入:0
删除:0
词数:4
$WER = \frac{1 + 0 + 0}{4} = 0.25$
WER为25%。

例子 3:

参考文本:我想吃苹果
系统输出:我想吃橘子
这里,“苹果”被“橘子”替换了。

替换:1
插入:0
删除:0
词数:3
$WER = \frac{1 + 0 + 0}{3} \approx 0.33$
WER为33.33%。

例子 4:

参考文本:明天你有空吗
系统输出:你明天有空吗
尽管单词顺序发生了变化,但这不影响WER的计算,因为所有单词都被正确识别了。

替换:0
插入:0
删除:0
词数:4
$WER = \frac{0 + 0 + 0}{4} = 0$
WER为0%。

例子 5:

参考文本:请打开窗户
系统输出:请开窗户
这里,“打开”被缩短为“开”。

替换:0
插入:0
删除:1
词数:3
$WER = \frac{0 + 0 + 1}{3} \approx 0.33$
WER为33.33%

中文:

  • AR:Accuracy Rate (AR) 可以被理解为“准确率”,它指的是正确识别的字符或词汇占总字符或词汇的比率。AR 高意味着系统能够准确地识别出大部分的文本内容
  • CR:Correct Rate (CR) 可以被理解为“正确率”,它通常指的是正确识别的字符或词汇占总字符或词汇的比率,但是它的具体含义可能会根据不同的研究背景有所不同。

AR 通常指代“准确率”(Accuracy Rate),而 CR 通常指代“识别率”(Recognition Rate)或“正确率”(Correct Rate)。这些指标用于衡量OCR系统的性能。以下是如何计算这两个指标的例子:

  • 准确率(Accuracy Rate, ar):

    准确率是指OCR系统正确识别的字符数与文档中总字符数的比例。它可以用以下公式计算:

    Accuracy Rate (ar) = 正确识别的字符数 文档中的总字符数 × 100 \text{Accuracy Rate (ar)} = \frac{\text{正确识别的字符数}}{\text{文档中的总字符数}} \times 100% Accuracy Rate (ar)=文档中的总字符数正确识别的字符数×100

    例如,如果一个文档有1000个字符,OCR系统正确识别了950个字符,则准确率为:

    ar = 950 1000 × 100 \text{ar} = \frac{950}{1000} \times 100% = 95% ar=1000950×100

  • 识别率/正确率(Recognition Rate/Correct Rate, cr):

    识别率或正确率通常指的是在OCR系统处理过程中,正确识别的信息的比例。这可能指的是字符级别、单词级别或整个文档级别的识别。计算方式与准确率相似,但侧重点可能不同,例如,可能更关注特定类型的错误。

    如果我们假设“识别率”是在字符级别上的正确率,其计算方式与准确率相同。然而,在实际应用中,可能还会考虑到其他因素,比如错误的类型(替换错误、插入错误或删除错误)。

    Correct Rate (CR) = 正确识别的字符数 文档中的总字符数 × 100 \text{Correct Rate (CR)} = \frac{\text{正确识别的字符数}}{\text{文档中的总字符数}} \times 100% Correct Rate (CR)=文档中的总字符数正确识别的字符数×100

    假设我们有一个文档,总共包含1200个字符,OCR系统处理后,识别了其中1100个字符是正确的,那么CR计算如下:

    CR = 1100 1200 × 100 = 91.67 \text{CR} = \frac{1100}{1200} \times 100=91.67 CR=12001100×100=91.67

    这意味着OCR系统在这个任务上的识别率或正确率是91.67%。


结果分析:

结果见表 4、5

  • 结论 1:GPT-4V 在手写体识别任务中,英文手写体的识别效果比中文手写体要好
  • 结论 2:GPT-4V 在中文手写体识别任务中,存在很大的幻觉,如图 3c 和 3d 所示,GPT-4V 生成的回应在语法和语义上都有高度的流畅性。然而,它们与真实文本(GT)的内容有很大的偏离,似乎是以一种看似认真的方式产生了毫无意义的信息。

在这里插入图片描述

在这里插入图片描述

2.3 手写数学公式识别

Dataset:

作者使用了下面这两个数据集,从中随机各选择了 50 张图作为测试

  • CROHME2014:包含 9820 个手写数学表达式
  • HME100K:包含 100k 个图片,约 1 万个人写的数学表达式,拍照得到的

Prompt:

  • “This is an image of a handwritten mathematical expression. Please recognize the expression above as LaTeX.”

Metric:

包括在表达式层面的正确率,以及最多只有一到三个错误

结果分析:

结果如表 6 所示

在这里插入图片描述

  • 结论 1:GPT-4V在处理拍照捕获的图像和较差的手写情况时似乎有所局限。如表6所示,与CROHME2014相比,GPT-4V在HEM100K(特点是拍照捕获的图像和较差的手写)的性能显著下降。如图3所示,(a)和©是CROHME2014的示例,(b)和(d)来自HEM100K,GPT-4V在前者上表现良好,但在后者上表现不佳。

  • 结论 2:GPT-4V在细粒度字符识别上表现也欠佳。在失败的案例中,观察到GPT-4V偶尔会遗漏小尺寸字符的情况。图3中的(e)和(f)展示了两个例子。对于这两个例子,GPT-4V分别遗漏了一个上标和一个下标。这一发现与 [79] 中对其他多模态模型的评估结果一致,表明GPT-4V也可能受到某些细粒度感知问题的影响。

在这里插入图片描述

2.4 图表结构识别(不考虑单元格中的文本内容)

Dataset:

该任务使用的数据集包括下面两个,作者随机从中各选择 50 个 tables 来测试,而且是从原图中抠出的:

  • SciTSR:共 12000 训练样本,3000 测试样本
  • WTW:包括 10970 训练样本,3611 测试样本

Prompt:

  • “Please read the table in this image and return a html-style reconstructed table in text, do not omit anything.”

Metric:

为了评估GPT-4V在表格结构识别方面的性能,作者使用了 TEDS-S[48] 指标,这是基于树编辑距离相似度 (TEDS)[48] 的一个变体,它忽略了单元格的文本内容,只评估表格结构预测的准确性。


TEDS-S 指标是一种用于评估表格结构识别性能的度量方法。具体来说,TEDS-S是基于树编辑距离相似度(Tree-Edit-Distance-Based Similarity,简称TEDS)的一个变种

  • 树编辑距离(Tree Edit Distance):

    这是一种衡量两棵树(在计算机科学中,树是一种常用的数据结构)之间相似度的方法,通过计算将一棵树转换成另一棵树所需的最少编辑操作数量。编辑操作通常包括插入、删除和重命名节点。树编辑距离越小,两棵树就越相似。

  • 树编辑距离相似度(TEDS):

    TEDS是树编辑距离的一个应用,用于衡量表格数据结构的相似度。在表格结构识别任务中,可以将表格视为树状结构,其中表格的行和列可以表示为树的分支和节点。TEDS通过计算将识别出的表格结构(树)转换为真实的表格结构(另一棵树)所需的最少编辑操作数量来评估识别的准确性。

  • TEDS-S指标:

    TEDS-S是TEDS的一种变体,它专注于评估表格结构的准确性,而不考虑单元格中的文本内容。在某些应用场景中,识别表格的结构比识别单元格中的具体文本更为重要。TEDS-S通过忽略文本内容,仅仅基于表格的结构来评估预测的准确性。这种度量方法特别适合于那些表格结构本身就是分析的主要目标的场景。

总结来说,TEDS-S 指标提供了一种方式来评估表格结构识别技术的性能,它通过比较预测的表格结构和真实表格结构之间的树形编辑距离来进行评估,而忽略了单元格内的文本内容。


结论分析:

结果见表 7

在这里插入图片描述

  • 结论 1:GPT4V 难以应对复杂表格:GPT4V 在处理结构布局规整且文本分布一致的表格时,如图4(a)所示,GPT-4V表现出色。然而,当处理其他类型的表格时,包括那些含有许多空白单元格、文本分布不均、倾斜、旋转或密集排列的表格,其性能明显下降。

  • 结论 2:GPT-4V 在处理长表格时存在内容遗漏的问题:尽管在提示中强调了“不要遗漏任何内容”的要求,我们仍然观察到一些内容遗漏的实例,特别是在处理大型表格的情况下。一个典型的例子显示在图4(e),表格图片图4(c)包含许多行,但GPT-4V只重建了其中的三行。

在这里插入图片描述

2.5 从内容丰富的文档中抽取信息

Dataset:

使用完整的测试集(FUNSD和XFUND-zh都包含50个样本)来评估:

  • FUNSD:FUNSD 数据集是一个常用的表单理解基准测试集,包含199个扫描的类似表单的文档,这些文档含有噪声图像。
  • XFUND:FUNSD 的多语言扩展,涵盖七种语言(中文、日文、法文、意大利文、德文、西班牙文和葡萄牙文)

作者对GPT-4V进行了语义实体识别(SER)任务和端到端键值对提取任务的评估。

  • SER 任务要求模型识别每个文本段落的类别,这些类别在FUNSD和XFUND中被预定义为标题、问题、答案和其他。
  • 端到端键值对提取任务要求模型从给定的文档图像中提取所有的键值对

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Prompt:

  • FUNSD:Please read the text in this image and return the information in the following JSON format (note xxx is placeholder, if the information is not available in the image, put “N/A” instead). “header”: [xxx, …], “key”: [xxx, …], “value”: [xxx, …]

  • End-to-end Pair Extraction:You are a document understanding AI, who reads the contents in the given document image and tells the information that the user needs. Respond with the original content in the document image, do not reformat. No extra explanation is
    needed. Extract all the key-value pairs from the document image.

Metric:

  • entity-level F1-score
  • Normalized Edit Distance (NED)

结论分析:

结果见表 8 和 9

在这里插入图片描述

  • 结论 1:GPT-4V 可能在理解文档的空间排列方面存在局限性。如图5所示,位于页面顶部的一些文本内容,既没有视觉上也没有语义上与标题类别对齐,错误地被识别为标题。更多的可视化示例在图6中展示。显而易见,GPT-4V在分析布局简单的文档时表现出色,但在理解布局复杂的文档时则遇到困难。

  • 结论 2:GPT-4V 倾向于为非键值对内容生成新的键。例如,如图7所示,位于标题部分的内容“09 / 17 / 97 10:55”被识别为“日期:09/18/97”,“时间:10:55”,“传真号码:503 841 1898”,“公司:LORILLARD PTLD”,“页码:001”。

三、讨论

专门的模型在OCR(光学字符识别)领域是否仍具有研究价值?根据第二节的实验结果,GPT-4V在OCR方面的能力限于拉丁内容,并且难以应对多语言和复杂场景。

  • (1)推理成本和延迟显著高,因此在某些实际场景中提出了可用性挑战。
  • (2)更新周期长且过程复杂,难以迅速解决小问题。考虑到上述缺点和某些其他大型语言模型(LMMs)的有限OCR能力[79]
  • 作者认为现有的LMMs难以在各种OCR任务中同时表现出色。因此,我们认为OCR领域的专门化模型仍然对研究具有重要价值。

我们如何充分利用像GPT-4V这样的LMM在OCR领域的潜力?以下是一些可能的策略。

  • (1)语义理解增强:LMMs的一个显著特点在于它们在大规模数据上经过广泛训练后的出色语义能力。由于语义理解是文档理解和一些相关任务的关键因素,利用LMMs的语义潜力可以大大提高这些任务的性能。
  • (2)下游任务微调:充分利用LMMs的先验知识的另一种方法是微调,特别是在数据有限的场景中。微调允许模型适应特定任务或领域,从而提高性能[89]。
  • (3)自动/半自动数据构建:使用LMMs进行自动/半自动数据注释和生成将大幅减少数据准备的时间和成本。

局限性:本文的工作存在三个主要局限性。

  • 首先,由于GPT-4V的对话限制(每3小时50次对话),我们评估的测试样本规模较小(大多数数据集为每个数据集50个样本)。这可能限制了结果的普遍性。
  • 其次,我们的评估主要关注主流的光学字符识别(OCR)任务,并没有包括其他与OCR相关的任务。因此,发现可能没有涵盖GPT-4V在OCR能力的全部范围。
  • 第三,我们仅评估了GPT-4V在OCR中的零次学习能力,没有探索少次学习场景。因此,未解决通过进一步训练或针对特定任务微调大型语言模型(LLM)可能带来的潜在好处。在未来,值得探索使用上下文学习等技术的少次学习场景。

结论:

  • 作者对 GPT-4V 在 OCR 各类任务上做了广泛的评估
  • 验证了 GPT-4V 对拉丁文内容的强大识别能力,但对多语言和复杂场景表现并不好
  • GPT-4V 的推理成本的延时是很大的一个部署障碍
  • OCR 领域的专业研究仍有价值,但这些大型 LMM 模型仍然可以通过强语义理解、针对下游任务的微调,以及促进自动/半自动数据构建等方式来促进 OCR 领域的发展

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/629543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为什么Python中会有集合set类型?

知乎上有人提问,为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set? 确实set和list、tuple、dict一样,都是python的主要数据类型,它们的作用是不同的。 因为set是数学意义上的集合&#xf…

Kubernetes进阶对象Deployment、DaemonSet、Service

Deployment Pod 在 YAML 里使用“containers”就可以任意编排容器,而且还有一个“restartPolicy”字段,默认值就是 Always,可以监控 Pod 里容器的状态,一旦发生异常,就会自动重启容器。 不过,“restartPo…

C语言简要(一)

总得让她开心吧 helloworld #include <stdio.h>int main() {printf("hello world!\n");return 0; } 程序框架 #include <stdio.h> int main {return 0; }输出 printf("hello world!\n"); "里面的内容叫做“字符串”&#xff0c;prin…

战网国际服注册教程 暴雪战网国际服账号注册一站式教程分享

战网国际版&#xff0c;也即Battle.net环球版&#xff0c;是由暴雪娱乐操刀的全球化游戏交流枢纽&#xff0c;它突破地理限制&#xff0c;拥抱全世界的游戏玩家。与仅限特定地区的版本不同&#xff0c;国际版为玩家开辟了无障碍通道&#xff0c;让他们得以自由探索暴雪庞大游戏…

冥想训练具体方法有哪些|流静冥想

冥想是一种身体的放松和敏锐的警觉性相结合的状态。 每日练习的好处远不止你花在集中注意力的那几分钟。桑托雷利是建在乌斯特的马萨诸塞大学医学院的减压诊所的所长&#xff0c;她也是《自愈》的作者&#xff0c;她说&#xff1a;"冥想是一种工具&#xff0c;通过练习&a…

【计算机毕业设计】springboot分类信息服务平台移动端的设计与实现

分类信息 服务平台设计的目的是为用户提供活动信息、活动记录等方面的平台。 与PC端应用程序相比&#xff0c;分类信息服务平台的设计主要面向于移动端&#xff0c;旨在为管理员和用户、商铺提供一个分类信息服务平台。用户可以通过Android及时查看活动信息等。 分类信息服务平…

Python使用asyncio包实现异步编程

1. 异步编程 异步编程是一种编程范式&#xff0c;用于处理程序中需要等待异步操作完成后才能继续执行的情况。异步编程允许程序在执行耗时的操作时不被阻塞&#xff0c;而是在等待操作完成时继续执行其他任务。这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有…

源代码防泄漏之沙盒技术分析

随着企业信息化的快速发展&#xff0c;对于单位来说&#xff0c;网络中包含了很多重要的信息资料&#xff0c;比如网络中积累和掌握了大量的研发数据、生产数据和运营信息等&#xff0c;组织不希望这些资料离开企业内部的网络环境&#xff0c;甚至不允许在网络外部传递与交流&a…

uniapp小程序控制页面元素滚动指定距离

要实现页面元素滚动&#xff0c;最好还是使用 scroll-view 来实现&#xff0c;官方文档地址&#xff1a;scroll-view | uni-app官网 通过设置scroll事件来实现滚动监听&#xff0c;当滚动的元素的时候&#xff0c;就会触发这个事件&#xff0c;并且事件里面包含有滚动距离&…

Star CCM+创建报告与监测

前言 结合前文介绍&#xff0c;创建衍生零部件的目的是为了监测创建的点或者面的数据变化。如Star CCM衍生零部件的创建介绍&#xff0c;创建完所需的点或者面后&#xff0c;下一步就是对创建的点、面进行监测。 一 报告类型介绍 在Star中&#xff0c;通过创建报告来对监测的…

你还在手动加好友?试试这款神器,释放双手自动添加!

你还在手动添加微信好友吗&#xff1f;尤其是在忙碌的时候&#xff0c;手动加好友不仅费时又很容易出错。试试这个自动添加好友神器——个微管理系统&#xff0c;释放你的双手&#xff0c;轻松拓展好友列表&#xff01; 1、多号同时登录在线 系统支持多个微信号同时登录在线&…

Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算 flyfish 矩阵的维度 下面矩阵的维度是32即 3行&#xff0c;2列 6,10等都是矩阵里的元素 如果矩阵A的列数与矩阵B的行数相同&#xff0c;那么这两个矩阵可以相乘。即&#xff0c;若A是一个mn矩阵&#xff0c;B是一个np矩阵&am…

SpringBoot打包运行,没有主清单属性

java -jar zhoao1.jar运行程序报&#xff1a;没有主清单属性 在pom.xml加配置&#xff0c;在打包即可 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId>&…

GD32F103RCT6/GD32F303RCT6-UCOSIII底层移植(1)工程建立

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 后续项目主要在下面该专栏中发布&#xff1a; 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转&#xff1a; 手把手教你嵌入式国产化-实战项目-无刷电机驱动&am…

【电路笔记】-有源低通滤波器

有源低通滤波器 文章目录 有源低通滤波器1、概述2、有源低通滤波器2.1 一阶低通滤波器2.2 带放大功能的有源低通滤波器3、有源低通滤波器示例4、二阶低通有源滤波器通过将基本的 RC 低通滤波器电路与运算放大器相结合,我们可以创建一个具有放大功能的有源低通滤波器电路。 1、…

84.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-筛选与技能有关的数据包

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

寻求发展+兼顾陪读|企业高管赴美国乔治梅森大学做访问学者

E经理拟去美国访学&#xff0c;想达到3个目的&#xff1a;结合本专业方向&#xff0c;扩展至跨学科研究领域&#xff1b;考察市场&#xff0c;寻求新的发展契机&#xff1b;携孩子出国读书&#xff0c;兼顾陪读&#xff0c;并希望尽早出国。最终我们为其落实的乔治梅森大学访问…

大规模LiDAR数据处理

点云存在许多描述环境或建筑物等物体的 x、y、z 坐标。通过激光技术 (LiDAR) 获取的点云通常带有每个坐标的额外测量值和特征。例如&#xff0c;反射强度、回波次数、回波、扫描角度和 RGB 值。换句话说&#xff0c;点云本质上是大量的数据集。 在本文中&#xff0c;我们使用开…

怎样让猫给啥吃啥?生骨肉冻干拌粮哪有猫咪不吃的!

随着科学养猫的普及&#xff0c;生骨肉冻干喂养越来越受欢迎&#xff0c;生骨肉冻干喂养对猫的好处很多&#xff0c;它符合猫咪的天性&#xff0c;可以提供全面的营养&#xff0c;保持牙齿和牙龈的健康&#xff0c;还有助于维持健康的消化系统。然而&#xff0c;许多猫主人在选…

测试之路 - 精准而优雅

引子 这几年业内一直在做精准测试&#xff0c;大都使用工具 diff 代码改动、分析代码覆盖率这些平台集成的能力。 业务测试中&#xff0c;我们在技术设计和代码实现的基础上也做了一些精减和精准的测试实践&#xff0c;通过深入测试有针对的设计 case&#xff0c;发现隐藏问题…