场景文本检测识别学习 day01(传统OCR的流程、常见的损失函数)

传统OCR的流程

  1. 传统OCR:传统光学字符识别
  2. 常见的的模型主要包括以下几个步骤来识别文本
    1. 预处理:预处理是指对输入的图像进行处理,以提高文字识别的准确率。这可能包括调整图像大小、转换为灰度图像、二值化(将图像转换为黑白两色)、去噪声、校正图像中的倾斜等步骤。目的是减少图像中的干扰信息,并突出文字部分。
    2. 文本检测:文本检测的目的是在图像中定位文本的位置。这一步骤要解决的主要问题是识别图像中哪些区域包含文字。使用的模型通常是基于深度学习的,例如卷积神经网络(CNN)。这些模型可以学习文本的形状、大小和布局,从而在各种背景下准确地识别出文本区域。
    3. 文本识别:在文本区域被检测出来之后,下一步是识别这些区域内的具体文字。这通常涉及到将文本区域内的图像转换为可编辑的文字。在这个阶段,也常使用基于深度学习的模型,如循环神经网络(RNN)和长短期记忆网络(LSTM),它们对处理序列数据(如文字串)特别有效。这些模型能够识别和理解文本区域内每个字符的顺序,进而转换成文字。
    4. 后处理:后处理步骤包括纠正识别出的文字中的拼写错误、语法错误等。可以使用词典、语言模型等工具来提高文本的准确性。例如,如果识别出的文字是英文,可以使用英语词典来检查和纠正单词的拼写错误。
  • 其中对于文本识别,又有以下几个步骤:
    • 字符分割:在一些传统的OCR系统中,一个重要的步骤是字符分割,即将文本区域内的图像分割成单个字符。这需要算法识别每个字符之间的空隙,以便单独处理每个字符。然而,这种方法在处理复杂背景或字体、连笔文字(如手写或某些印刷体)时可能会遇到困难。
    • 特征提取:特征提取是识别过程中的一个关键步骤。它涉及到从每个已识别的字符图像中提取有用的信息,这些信息对于后续的分类和识别至关重要。特征可以是基于像素的(如图像的形状、边缘),也可以是更高级的特征(如通过深度学习模型自动学习到的特征)。
    • 字符识别:在特征被提取之后,下一步是使用这些特征来识别每个字符。这通常通过分类算法完成,如支持向量机(SVM)、随机森林或深度学习模型(如卷积神经网络CNN)。深度学习方法,尤其是CNN,由于其强大的特征学习能力,已经成为最流行和最有效的方法之一。
    • 序列建模:对于连续文本(例如句子或段落),仅仅识别单个字符是不够的;还需要理解字符之间的顺序关系。循环神经网络(RNN)和长短期记忆网络(LSTM)等模型特别适合处理这类序列数据。这些模型不仅可以识别单个字符,还能学习字符之间的依赖关系,提高整体识别的准确性。
    • (可选)语言模型:在识别出文本之后,语言模型可以用来进一步提高识别的准确性。通过分析词汇的语境,语言模型可以帮助纠正拼写错误,甚至是基于上下文推断出模糊或缺失的字符。这一步是提高OCR系统输出质量的重要环节。

常见的损失函数

  • L1 loss:
  1. 定义:L1损失,也称为最小绝对偏差(Least Absolute Deviations,LAD)损失,是实际值与预测值之差的绝对值的和。对于边界框预测来说,L1损失可以定义为预测框和真实框坐标之间差异的绝对值的和。
  2. 公式:如果有一个真实框坐标为(x,y,w,h)其中x,y是框的中心坐标,w,h是框的宽度和高度,预测框坐标为(x̂,ŷ,ŵ,ĥ),则L1损失可以表达为:
    在这里插入图片描述
  3. 特点:L1损失对于异常值(outliers)不那么敏感,因为它不像平方误差损失(L2损失)那样对较大的误差赋予更高的权重。这使得L1损失在处理有噪声的数据时比较有优势。
  • GIoU loss:
  1. 定义:GIoU损失是IoU(Intersection over Union)的一种推广,用于测量两个框的重叠度。IoU仅考虑了框之间的交集和并集,而GIoU还考虑了框之间不重叠的情况,提供了更全面的测量。
  2. 公式:GIoU在IoU的基础上增加了一个项,考虑了最小封闭框(即同时包含预测框和真实框的最小框)与预测框和真实框之间的关系。其中,IoU是交集与并集的比例,C是最小封闭框的面积,U是预测框和真实框的并集面积。GIoU损失定义为:
    在这里插入图片描述
  3. 特点:GIoU损失解决了IoU在某些情况下无法有效反映框之间差异的问题(例如,当两个框不重叠时,IoU为0,但这并不意味着它们的距离相同)。通过考虑最小封闭框,GIoU提供了一种更有效的方式来度量和优化边界框的位置和大小。
  • focal loss:
  1. 定义:焦点损失是交叉熵损失的一个变种,旨在解决类别不平衡问题,特别是在一类样本数量远多于另一类样本的情况下。它通过减少那些已经被正确分类的样本对损失函数的贡献,来增加模型对难以分类样本的关注度。
  2. 公式: p t p_t pt是模型对当前类别为正的预测概率。对于负样本, p t p_t pt会相应调整为 1 − p 1−p 1p,其中p是模型的原始预测概率。 α t α_t αt是平衡正负样本的权重系数,用于减轻类别不平衡的影响。γ是调节因子,用于减少易分类样本对总损失的贡献,增加对难分类样本的惩罚。
    在这里插入图片描述
  3. 特点:
    a. 解决类别不平衡问题:焦点损失特别适用于处理正负样本比例悬殊的场景,能够帮助模型更有效地学习到少数类的特征。
    b. 提高对难分类样本的关注:通过调节γ参数,焦点损失能够使模型在训练过程中更加关注那些难以正确分类的样本,从而提高模型对这些样本的分类性能。
    c. 灵活性与通用性:焦点损失通过α和γ两个参数提供了高度的灵活性,使其能够被广泛应用于不同的任务和模型中,尤其是在目标检测和深度学习领域。

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

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

相关文章

Android视角看鸿蒙第十一课-鸿蒙的布局之层叠布局Stack

Android视角看鸿蒙第十一课-鸿蒙的布局之层叠布局 导读 在Android中我个人认为,最离不开的就是LinearLayout和FrameLayout了,RelativeLayout我都基本不用的。 所以我把层叠布局排在了第二位。 官方描述 如何定义层叠布局 Stack组件为容器组件&#x…

瑞登梅尔邀您参观2024第13届生物发酵展精彩不容错过

参展企业介绍 我们,瑞登梅尔(上海)纤维贸易有限公司 致力于研究、开发和生产以植物为原料的高品质有机纤维。我们让这些有价值的天然物质的许多特性,能够广泛应用于现代工业的各个领域。 JRS的纤维产品是由天然的、可再生的原料制成。例如:…

泛微OA 自定义多选浏览框

1、建模引擎-》应用建模-》表单 2、建模引擎-》应用建模-》模块 3、建模引擎-》应用建模-》查询 4、把查询页面挂到前端页面。 效果展示: 5、建模引擎-》应用建模-》浏览框 6、流程表单中字段应用

遥感影像处理利器:PyTorch框架下CNN-Transformer,地物分类、目标检测、语义分割和点云分类

目录 专题一 深度卷积网络知识详解 专题二 PyTorch应用与实践(遥感图像场景分类) 专题三 卷积神经网络实践与目标检测 专题四 卷积神经网络的遥感影像目标检测任务案例【FasterRCNN】 专题五 Transformer与遥感影像目标检测 专题六 Transformer的遥…

中药配方颗粒备案信息数据库<2.5W+备案>

中药配方颗粒备案信息是指中药配方颗粒生产企业向国家药品监督管理局申报备案的相关信息。备案信息包括中药配方颗粒的名称、备案号、备案时间、备案状态、生产企业、生产地址、规格、包装、执行标准、保质期、不良反应检测、备案省局等信息。 通过对中药配方颗粒备案信息的查…

完成产品兼容互认,用KubeBlocks可实现OceanBase集群管理

本文转载自云猿生聊技术(CloudNativeDataTech) 前言 KubeBlocks(简称 KB)在最新发布的0.7版本中,通过组件扩展(Addon)的形式新增了对OceanBase的支持功能。这一更新为企业级和非企业级用户提供…

数据结构6.2:二叉树的前中后序遍历

二叉树前中后序遍历代码实现 二叉树的遍历 二叉树的前序遍历 先输出父节点,再遍历左子树和右子树 二叉树的中序遍历 先遍历左子树,再输出父节点,再遍历右子树 二叉树的后序遍历 先遍历左子树,再遍历右子树,最后输出父节点 代码实现 每个节点中包含一个数据域和两个地址…

【VTKExamples::Meshes】第五期 ClipFrustum

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ClipFrustum,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. ClipFrustum …

C语言函数实现冒泡排序

前言 今天我们来看看怎么使用函数的方式实现冒泡排序吧&#xff0c;我们以一个数组为例arr[] {9,8,7,6,5,4,3,2,1,0},我们将这个数组通过冒泡排序的方式让他变为升序吧。 代码实现 #include<stdio.h> void bubble_sort(int arr[], int sz) {int i 0;for (i 0;i < s…

简析数据安全保护策略中的十个核心要素

数据显示&#xff0c;全球企业组织每年在数据安全防护上投入的资金已经超过千亿美元&#xff0c;但数据安全威胁态势依然严峻&#xff0c;其原因在于企业将更多资源投入到数据安全能力建设时&#xff0c;却忽视了这些工作本身的科学性与合理性。因此&#xff0c;企业在实施数据…

1.2 接口测试之基本介绍

接口测试之基本介绍 1、接口测试啊 接口测试也叫api&#xff0c; 定义&#xff1a;测试系统和系统之间的数据交换&#xff0c;模块与模块之间的数据交互&#xff0c;程序与程序之间的数据交互&#xff1b; 如&#xff1a; http://cms.duoceshi.cn/manage/loginJump.do登录接…

CVPR 2024 | 拖拽P图又双叒升级了!DragNoise实现更快更准的拖拽编辑

前言 新加坡管理大学何盛烽团队联合华南师范大学在 CVPR 2024 上发表了工作《Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation》。这一工作聚焦于利用扩散模型语义传播实现交互式点控制的图像编辑&#xff0c;只需点几个点&#xff0c;即…

JVM从1%到99%【精选】-初步认识

目录 &#x1f95e;1.什么是JVM &#x1f37f;2.JVM的功能 &#x1f953;3.常见的JVM &#x1f32d;4.JVM的位置 &#x1f9c2;5.JVM的整体结构 &#x1f383;6.JVM的生命周期 &#x1f388;7.JVM的架构模型 1.什么是JVM JVM本质上是一个运行在计算机上的程序,他的职责…

YOLOv7创新改进: 小目标 |新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果

💡💡💡本文独家改进:多尺度前馈网络(MSFN),通过提取不同尺度的特征来增强特征提取能力,2024年最新的改进思路 💡💡💡创新点:多尺度前馈网络创新十足,抢先使用 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect…

【THM】Metasploit: Introduction(简介)-初级渗透测试

介绍 Metasploit是使用最广泛的开发框架。Metasploit是一个强大的工具,可以支持渗透测试的所有阶段,从信息收集到后利用。 Metasploit有两个主要版本: Metasploit Pro:商业版本,有助于任务的自动化和管理。该版本有图形用户界面( GUI)。Metasploit Framework:从命令行…

水库水位监测:从传统到现代的技术革新与数据应用

水库&#xff0c;作为水利工程的关键设施&#xff0c;在防洪、灌溉、发电和供水等多个领域具有不可替代的作用。而水库的水位变化&#xff0c;直接关联到其功能的发挥及周边生态环境的稳定。因此&#xff0c;对于水库水位的科学、精准监测显得尤为关键。 一、传统方法的局限 过…

使用ORDER BY进行排序

ASC&#xff1a;升序&#xff0c;默认 DESC&#xff1a;降序 SELECT employee_id, first_name, salary FROM employees ORDER BY salary ASC; SELECT employee_id, first_name, salary FROM employees ORDER BY salary DESC; 二级排序 按salary降序&#xff0c;employee_id升…

【智能排班系统】基于SpringSecurity实现登录验证、权限验证

文章目录 SpringSecurity介绍sss-security实现依赖工具类Jwt工具JSON响应工具加密工具类 用户上下文用户信息实体类用户上下文 自定义重写自定义无权限的报错自定义密码加密自定义用户类 过滤器登录过滤器权限过滤器 Service登录Service 配置类说明登录验证权限验证IP流量限制 …

【LeetCode】热题100:排序链表

题目&#xff1a; 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5] …

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据&#xff0c;旨在欺骗人工智能模型&#xff0c;使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变&#xff0c;使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别&#xff0c;但对机器…