如何使用多任务学习技术进行OCR管道性能提升

您所在的位置:网站首页 paddleocrsharp 如何使用多任务学习技术进行OCR管道性能提升

如何使用多任务学习技术进行OCR管道性能提升

2023-04-05 16:00| 来源: 网络整理| 查看: 265

如何使用多任务学习技术进行OCR管道性能提升

你好,这篇文章咱们讨论一下关于「如何使用多任务学习技术进行OCR管道性能提升」的事情…

多任务学习技术在OCR管道性能提升中的应用

随着数字化的高速发展,OCR(Optical Character Recognition,光学字符识别)技术在越来越多的应用场景中得到了广泛的应用,如印刷文字识别、手写字识别、车牌号码识别等。但是,随着OCR技术的发展,要求OCR模型的准确率越来越高,而在实际应用中,由于图像的质量、噪声干扰等原因,OCR识别精度难以达到最优。在此背景下,多任务学习技术成为了提高OCR性能的新方法。

什么是OCR管道?

OCR管道是由多个模块组成的系统,通常包括图像预处理、文字分割、字识别、后处理等几个阶段。OCR管道的每个阶段都对整个OCR系统的性能有着直接或间接的影响,各个阶段的性能是否优化,将直接关系到OCR系统的整体性能。因此,如何优化OCR管道各个阶段的性能,是优化OCR系统性能的关键。

多任务学习技术介绍

多任务学习技术(Multitask learning,MTL)是指在一个模型中同时学习多个任务。在数据相对稀少的情况下,MTL可以利用各个任务之间的相关性,将不同任务的数据结合训练,从而提高模型性能。同时,MTL还能够增加模型的鲁棒性,降低模型的过拟合风险,更好地适应实际应用。

MTL技术在OCR管道优化中的应用

OCR管道中的不同阶段可以看作不同的任务,为了提高整个OCR系统的性能,可以采用MTL技术进行联合训练,以实现不同OCR阶段之间的信息交互和参数共享。

图像预处理和文字分割

在OCR管道的前两个阶段,图像预处理和文字分割对后续的字符识别过程起着至关重要的作用。事实上,很多OCR的性能问题都可以追溯到这两个阶段。例如,在图像预处理阶段,由于噪声、滤波等不可控因素的影响,往往会导致图像的失真、模糊等问题;在文字分割阶段,由于字符图像之间的重叠、断开等原因,会导致后续字符识别的错误。

针对这些问题,可以采用MTL技术,将图像预处理和文字分割看作一个联合任务。例如,通过将图像预处理和文字分割看作一个端到端的任务来进行联合训练,可以提高图像预处理和文字分割之间的协同性,从而实现更高效、更准确的OCR管道。

字符识别

OCR系统的核心在于字符识别,在字符识别阶段,模型需要将图像中的字符映射到其对应的文本区域。然而,由于字体、大小、形状、颜色等原因,OCR字符识别经常面临诸多挑战,例如字符顺序、字符断句、字符大小不一等问题。

针对这些问题,可以采用MTL技术,将字符识别看作一个多任务学习的问题。例如,可以将字符识别任务与字符顺序、字符断句、字符大小预测任务组合在一起进行联合训练。这样做的好处是,可以通过学习多个相关任务来提高字符识别的准确性和鲁棒性,同时降低过拟合风险。

后处理

OCR系统的最后一个阶段是后处理,其主要作用是对字符识别结果进行优化和校正。例如,OCR系统可能会将数字“0”误认为字母“o”,或者将字母“l”误认为数字“1”。在这种情况下,后处理阶段可以对识别结果进行评估和校正,提供更精确的输出。

针对这些问题,可以采用MTL技术,将后处理看作一个多任务学习问题。例如,在后处理阶段可以同时学习字符识别和校正任务。通过联合训练,后处理模型可以自动学习到这些任务之间的相互关系,并生成更加准确的OCR输出。

结论

OCR技术的应用与发展,离不开不断的技术创新和方法优化。多任务学习技术对OCR管道优化,是一种有效的方法,其可以加快优化速度,提高整个OCR系统的性能。从上述介绍中可以看出,MTL技术在OCR管道预处理、文字分割、字符识别、后处理等多个方面都可以应用。因此,我们相信多任务学习技术在将来的OCR技术中将有着越来越重要的地位。

大家都在看: 第十三篇:上下文无关语法 Context-Free Grammar在矩池云使用Disco Diffusion生成AI艺术图

目录

回顾

上下文无关语法基础

为什么是”上下文无关”

Context-Free上下文无关 vs. Regular 常规/正则

CFG 解析

这意味着什么?

但是

大纲

组成部分

句法成分

移动

替换

协调

成分和短语

CFG Trees

算术表达式的 CFG

解析

CYK 算法

转换为乔姆斯基范式CNF

CYK 解析算法

CYK:检索解析

CYK算法

用 CFG 代表英语

从玩具语法到真正的语法

Penn Treebank 的主要成分

示例 PTB/0001

基本英语句子结构

英语名词短语

动词短语

其他成分

总结

解析歧义

回顾

• 中心嵌入

如何使用多任务学习技术进行OCR管道性能提升

• 无法被正则表达式 (

如何使用多任务学习技术进行OCR管道性能提升) 捕获• 上下文无关语法! 上下文无关语法基础

• 符号‣ 终端:单词比如book书‣ 非终结符:NP 或 VP 等句法标签• 制作(规则)‣ W → X Y Z‣ 左侧 (LHS) 正好有一个非终端‣ 右侧符号的有序列表 (RHS); 可以是终端或非终端• 开始符号:S

为什么是”上下文无关”

W → X Y Z

• 产生式规则仅取决于 LHS也就是左侧(而不取决于祖先、邻居)‣ 类似于马尔可夫链‣ 每一步的行为仅取决于当前状态

Context-Free上下文无关 vs. Regular 常规/正则

• 上下文无关语言比常规语言更通用‣ 允许递归嵌套

如何使用多任务学习技术进行OCR管道性能提升 CFG 解析

• 给定的生产规则‣ S → a S b‣ S → a b• 和一个字符串‣ aaabbb• 生成有效的解析树

如何使用多任务学习技术进行OCR管道性能提升 这意味着什么?

• 如果英语可以用 CFG 表示:‣ 先制定产生式规则‣ 然后就可以构建一个”解析器”来自动判断一个句子是否符合语法!• 但是自然语言是无上下文的吗?• 不完全:跨串行依赖 (

如何使用多任务学习技术进行OCR管道性能提升) 但是

• CFG 取得了良好的平衡:‣ CFG 涵盖大部分句法模式‣ CFG 解析计算效率高• 我们使用 CFG 来描述英语语法的核心片段

大纲

• 组成部分• CYK 算法• 用 CFG 代表英语

组成部分 句法成分

• 句子被分解成成分‣ 词序列作为语言分析的连贯单元‣ 帮助构建 CFG 生成规则• 组成部分具有某些关键属性:‣ 移动‣ 替换‣ 协调

移动

• 成分可以在句子周围移动

‣ Abigail gave [her brother] [a fish]‣ Abigail gave [a fish] to [her brother]• 对比: [gave her], [brother a]

替换

• 成分可以被相同类型的其他短语替换

‣ Max thanked [his older sister]‣ Max thanked [her]• 对比: [Max thanked], [thanked his]

协调

• 组成部分可以与协调器连接,例如and和or

‣ [Abigail] and [her young brother] brought a fish‣ Abigail [bought a fish] and [gave it to Max]‣ Abigail [bought] and [greedily ate] a fish

成分和短语

• 一旦我们确定了组成部分,我们就会使用短语来描述它们• 短语由它们的主词决定:‣ 名词短语:her younger brother‣ 动词短语:greedily ate it• 我们可以使用 CFG 来形式化这些直觉

一个简单的 CFG(英语)

终结符:rat、the、ate、cheese非终结符:S、NP、VP、DT、VBD、NN

制作规则:

如何使用多任务学习技术进行OCR管道性能提升 CFG Trees

• 生成对应一个句法树• 非终端是内部节点• 终端是叶子• CFG 解析是逆过程(句子→树)

如何使用多任务学习技术进行OCR管道性能提升如何使用多任务学习技术进行OCR管道性能提升

上图中VBG应该是VBD笔误

算术表达式的 CFG

如何使用多任务学习技术进行OCR管道性能提升

• S = 起始符号• | = 运算符或• 递归,NUM 和 S 可以自己产生

解析

• “1+2-3″是有效字符串吗?

如何使用多任务学习技术进行OCR管道性能提升 CYK 算法

• 自底向上解析• 测试给定 CFG 的字符串是否有效,而不枚举所有可能的解析• 核心理念:先形成小成分,再合并成大成分• 要求:CFG 必须采用乔姆斯基范式

转换为乔姆斯基范式CNF

更改语法,以便所有形式规则:‣ A → B C‣ A → a• 将形式 A → B c 的规则转换为:‣ A → B X‣ X → c

• 将规则 A → B C D 转换为:‣ A → B Y‣ Y → C D‣ 例如 VP → VP NP NP对于双及物情况,”sold [her] [the book]”• X、Y 是我们引入的新符号

• CNF 不允许一元规则,A → B。• 想象NP → S; 并且 S → NP … 导致无限多的树具有相同的产量。• 用它的制造规则替换 RHS 非终端• A → B,B → 猫,B → 狗• A → 猫,A → 狗

CYK 解析算法

• 将语法转换为乔姆斯基范式 (CNF)• 填写解析表(从左到右,从下到上)• 使用表导出解析• 表格右上角的 S = 成功!• 将结果转换回原始语法

CYK:检索解析

• 解析表右上角的 S 表示成功• 要获取解析,请按照每个匹配项的指针返回

CYK算法

如何使用多任务学习技术进行OCR管道性能提升

上图的伪代码,就是我们上面所说的解析算法

用 CFG 代表英语 从玩具语法到真正的语法

• 带有少量制作规则的玩具语法,适合演示或非常有限的领域• 对于真正的文本,我们需要真正的语法• 数以千计的制作规则

Penn Treebank 的主要成分

• 句子(S)• 名词短语 (NP)• 动词短语 (VP)• 介词短语 (PP)• 形容词短语 (AdjP)• 状语短语 (AdvP)• 从属从句 (SBAR)

示例 PTB/0001

如何使用多任务学习技术进行OCR管道性能提升 基本英语句子结构

• 陈述句(S → NP VP)‣ 老鼠吃了奶酪•祈使句(S → VP)‣ 吃奶酪!• 是/否问题(S → VB NP VP)‣ 老鼠吃奶酪了吗?• Wh 主语问题(S → WH VP)‣ 谁吃了奶酪?• Wh-object-questions (S → WH VB NP VP)‣ 老鼠吃了什么?

英语名词短语

• 预修饰符

如何使用多任务学习技术进行OCR管道性能提升• 后修饰符如何使用多任务学习技术进行OCR管道性能提升

这是一条正则:

NP → DT? CD? ADJP? (NN|NNP)+ PP* VP? SBAR?

动词短语

• 辅助者

如何使用多任务学习技术进行OCR管道性能提升

VP → (MD|VB|TO) AdvP? VP

• 参数和附加词

如何使用多任务学习技术进行OCR管道性能提升

VP → VB NP? NP? PP AdvP VP? SBAR?

其他成分

• 介词短语

‣ PP → IN NPin the house• 形容词短语

‣ AdjP → (AdvP) JJreally nice• 副词短语

‣ AdvP → (AdvP) RBnot too well• 从属条款

‣ SBAR → (IN) Ssince I came here• 协调

‣ NP → NP CC NP; VP → VP CC VP;etc.Jack and Jill复杂句

‣ S → S SBAR; S → SBAR S; 等等。if he goes, I’ll go

总结

• 上下文无关文法可以表示自然语言的大多数语言结构• 有相对较快的动态编程算法 (CYK) 来检索此结构

解析歧义

• 但是歧义呢? 通常不止一棵树可以描述一个字符串,大家可以思考一下!

如何使用多任务学习技术进行OCR管道性能提升

ok,今天的内容就到这里了,炎热的暑假即将来临,真的是有点热~辛苦大家观看了!有问题随时评论交流哦!

Original: https://blog.csdn.net/flying_1314/article/details/118050580Author: flying_1314Title: 第十三篇:上下文无关语法 Context-Free Grammar

相关阅读 Title: 在矩池云使用Disco Diffusion生成AI艺术图

在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion。DD 是通过 CLIP 来进行图文匹配,引导 AI 进行图像生成的技术,通过 Diffusion 持续去噪去生成图像的,而在整个过程中,CLIP 不断地评估图像和文本之间的距离,来为生成图像的整体方向进行指导,最终就体现为”输入文字-生成图画”,因此我们便可以通过文字来引导AI生成艺术风格图片。

启动矩池云快速使用Disco Diffusion

矩池云已经将 Disco Diffusion 镜像搭建在平台上,可以直接使用,无需再进行环境搭建,主机市场中多种 GPU 可供选择,具体流程为 主机市场-选择GPU-租用-搜索&点击Disco,点击”下单”即可。

在矩池云使用Disco Diffusion生成AI艺术图

机器显示为”运行中”之后,点击JupyterLab链接

在矩池云使用Disco Diffusion生成AI艺术图

进入后找到 disco-diffusion文件夹

在矩池云使用Disco Diffusion生成AI艺术图

双击 Disco_Diffusion 文件,即可打开项目

在矩池云使用Disco Diffusion生成AI艺术图 默认文字输入生成图像

更改图像输出路径 Tips在开始训练前,可以将此处 outDirPath 处的 ‘{root_path}/out_images’ 代码进行调整,调整到矩池云网盘中即可,比如如下就改为了 /mnt/DD_result/out_images 这样,终止训练以后,图片会直接存在矩池云网盘中,管理起来更轻松~

在矩池云使用Disco Diffusion生成AI艺术图

点击菜单栏 Run ,选择 Run All Cells ,等待依次等待模型加载完成,即可默认的生成图像

在矩池云使用Disco Diffusion生成AI艺术图

默认状态生成图像如下

修改文字输入生成图像在 3. Prompts 此处,可以对引号内容进行文字修改

在矩池云使用Disco Diffusion生成AI艺术图 图像输出文件夹

如果没有操作刚才的”更改图像输出路径 Tips”,最后状态的图像将自动保存在文件夹 images_out 中,双击 images_out 就可以看到训练好的图片。

在矩池云使用Disco Diffusion生成AI艺术图

当然如果训练结束后、关闭机器前,想把最终都输出结果保存到矩池云网盘,可以在 Jupyterlab 里新建一个Terminal

在矩池云使用Disco Diffusion生成AI艺术图

然后将下面指令复制粘贴,回车执行。 mv /disco-diffusion/images_out/TimeToDisco /mnt/DD_result/castle

在矩池云使用Disco Diffusion生成AI艺术图这代表着将 DD 输出图像的文件夹 /disco-diffusion/images_out/TimeToDisco,保存到矩池云网盘 /mnt/DD_result/castle 路径下(这个是我自己创立的,如果是其他路径进行修改即可)。

那么我们就可以在网页端 “我的网盘” 中找到这个文件夹,展示如下

在矩池云使用Disco Diffusion生成AI艺术图

如果开通了 矩池云客户端网盘 (可以联系矩池云小助手开通),就可以轻松在本地计算机上进行访问,点击图片旁边的下载图标,即可存在本地。

在矩池云使用Disco Diffusion生成AI艺术图

如果需要更改默认下载到本地的文件夹,则可以点击左下角的设置图标,修改保存的路径。

[En]

If you need to change the default download to the local folder, you can click the settings icon in the lower left corner to modify the saved path.

在矩池云使用Disco Diffusion生成AI艺术图

以上是矩池云网盘 Mac版 界面,目前矩池云网盘客户端支持 Windows 和 Mac ,如果有需要可以联系矩池云微信小助手,仅需发送你的矩池云账号,即可申请开通。

进阶使用 Disco Diffusion : 输入文字

在修改描述语部分,我们在0后面的语句进行修改即可,100后面的内容可以维持原貌。

默认模式下的描述语如下:[“a beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, Trending on artstation.”]

我们看到,句法结构可以总结为:图像种类 + 主题描述 + 艺术家描述 + 风格调整。

输入描述语(Prompts)的时候,图像种类、主题描述、艺术家描述和风格保持在同一个范畴中,AI 对于某位指定艺术家和该位艺术家之外的风格进行组合的情况,会产生迷惑。在实践中,我们发现使用艺术家风格对AI的构图、颜色的调整非常有效,当然这也尽显于那些纳入 DD 本身。

例如,在设置 Prompts 为 “A beautiful painting of castle on the cloud by Studio Ghibli, Trending on artstation.” 出图情况为,云和城堡都为宫崎骏工作室出品的作品中常见的镜像,输入内容相对具有一致性,因此在图像的风格特色比较明显。

在矩池云使用Disco Diffusion生成AI艺术图

在矩池云使用Disco Diffusion生成AI艺术图 图像类型(Type/Subject)

“A beautiful painting of”,是对图像进行描述,一定程度上,这一描述也会影响到图像的风格。譬如 sketch、pencil drawing, matte painting, watercolor painting, Oil painting, Portrait photography, Portrait,都是可以拓展尝试的关键词,其对应的绘画风格。

主题描述(Main idea)

“a singular lighthouse, shining its light across a tumultuous sea of blood”,是对画面细节的描述。画面描述也是所有描述中需要费心思研究的部分,会因为在这一部分中,决定了画面中出现的形象。在描述中,尽量使用确切的语句,比如确定的个数(比如写出具体的数字而不是 many)、形象的词而不是概述的词,同时不使用否定词,这一部分再在上手输入实践的时候,会有更深刻的体会。

艺术家(Artist)

“by greg rutkowski and thomas kinkade”是对艺术家的描述,可以包含一名或多名艺术家的风格。比如尝试奇幻的景色风格,可以用 Tyler Edlin, Mark Simonetti 的风格;科幻类,可以尝试Jim Burns, John Harris, Dean Ellis, H.R. Giger 的风格;动画类可以尝试 Studio Ghibli, Makoto Shinkai 的风格。

以下为社区中的尝试过的一些知名艺术家的风格,可以作为参考。Hiroshi Yoshida, Max Ernst, Paul Signac, Salvador Dali, James Gurney, Thomas Kinkade, Ivan Aivazovsky, Italo Calvino, Norman Rockwell, Albert Bierstadt, Giorgio de Chirico, Rene Magritte, Ross Tran, Marc Simonetti, John Harris, Hilma af Klint, George Inness, Pablo Picasso, William Blake, Wassily i Kandinsky, Peter Mohrbacher, Greg Rutkowski, Paul Signac, Steven Belledin, Studio Ghibli, John Singer Sargent, Alfons Mucha, Gustav Klimt, John William Waterhouse, Zdzisław Beksiński, Edmund Dulac, Arthur Rackham, Ivan Bilibin, Gerald Brom

风格调整

“yellow color scheme” 是对画面颜色风格的描述;参考渲染方式为 Trending on artstation(专业CG艺术家社区,被称作A站)。参考的种类/渲染方式可以根据创作者的设想,进行设定。4k resolution, 8k resolution, Unsplash photo contest winner, Deviantart, pixelart 3d art, Digital art, Blender, Octane Render, Unreal engine, , Acrylic painting, Shot on film 35mm lens, Character design, Cgsociety, Mandelbulb 3D, Trending on Flickr, Vaporwave 等等。

值得注意的是,这里有提及到 4K resolution / 8K resolusion,这并不代表着图片将渲染为对应的尺寸,尺寸还需要在 Setting 中进行设置,这里指的是 AI 将吸取哪些 4K / 8K 分辨率的图像中所具备的特征。

输入方式对输出画面的影响

输入的结构和输出的图像有较大关系,在保持其他设置100% (包括随机变量)一致的情况下,用以下Prompts进行输入“a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape, vibrant, cinematic lighting”其结果为:

在矩池云使用Disco Diffusion生成AI艺术图

保持同样 Prompts 内容,仅仅改变断句方式,输入“a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape”, “vibrant cinematic lighting”其结果为:

在矩池云使用Disco Diffusion生成AI艺术图

输入不同句式会对构图产生比较大的影响,这应当是 DD 模型的自主性比较强造成的。在语义方面,正如先前所说到,CLIP-Guided,意味着输入文字的含义如果存在误读的可能,那么 CLIP 也很有可能会对其进行误读,最终生成的图像也就有可能产生不一样的结果,这一过程可以在打磨图像的过程中持续体会。

图片生成来自于:https://www.matpool.com/参考艺术家风格:https://weirdwonderfulai.art/resources/disco-diffusion-70-plus-artist-studies/参考关键词: https://imgur.com/a/SnSIQRu

视频版:

Original: https://www.cnblogs.com/matpool/p/16470787.htmlAuthor: 矩池云Title: 在矩池云使用Disco Diffusion生成AI艺术图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/444183/

转载文章受原作者版权保护。转载请注明原作者出处!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3