通过多步验证增强文本识别-Dynamsoft 条形码阅读器

通过多步验证增强文本识别

准确的文本识别可能非常困难,尤其是在文档模糊、字符重叠或背景嘈杂的情况下。Dynamsoft Capture Vision (DCV) 3.0 引入了新的增强功能,通过多步识别和验证工作流程来应对这些挑战,旨在提高准确性,尤其是在机器可读区域等复杂的扫描场景中。

什么是 Dynamsoft Capture Vision?

Dynamsoft Capture Vision (DCV) 是一个模块化 SDK,它汇集了强大的组件来支持图像捕获、内容理解、结果解析和交互式工作流,所有这些都包含在一个有凝聚力的解决方案中。

通过图像源适配器 (ISA) 接口,DCV 可以轻松与各种图像源集成。主要模块包括

开发人员可以使用捕获结果接收器 (CRR) 和中间结果接收器 (IRR) 等接口访问中间结果和最终结果,而Dynamsoft 相机增强器 (DCE)提供可视化和编辑工具。

开发人员可以使用捕获结果接收器 (CRR) 和中间结果接收器 (IRR) 等接口访问中间结果和最终结果,而 Dynamsoft 相机增强器 (DCE) 提供可视化和编辑工具。

多步识别和验证

DCV 3.0 采用七个步骤来提高文本行准确性。这些步骤结合了 AI 模型、模式匹配和语言工具,以模拟人类实时阅读和纠正:

文本行识别模型

该流程始于一个深度学习模型,该模型一次性读取整行文本。该模型使用端到端 CRNN(卷积循环神经网络)架构生成第一个预测。在本例中,初始识别结果为 F2N09 AU6。

文本行识别

角色特征评分员

接下来,系统会根据字符的清晰度对其进行评估。它会计算每个字符的特征分数,并标记那些看起来模棱两可或定义不清的字符。在这里,“N”和“0”这两个字符被识别为可疑字符,需要在接下来的阶段进行进一步审核。

角色特征评分员

易混淆字符校正器

该组件使用标准字体特征和视觉模式,处理常见的误读字符,例如“0”被误读为“O”或“I”、“l”或“1”。这提高了单词的整体准确率。在本例中,“0”被更正为“O”。

易混淆字符校正器

字符识别模型

对于评分后仍被认为不确定的字符,系统会使用专门的字符级识别模型重新评估。这个改进的模型会专注于单个字形,提供另一种预测方法。这里,不确定的“N”被更正为“H”,但置信度仍然较低,需要进一步验证。

字符识别模型

字符重叠匹配器

有时,字符会由于打印问题或相机移动而重叠或断开。此步骤经过训练,可以检测并解决此类重叠问题,并通过结构分析强化结果。在本例中,它使先前将“N”更正为“H”,并通过结构分析强化了结果。

字符重叠匹配器

正则表达式校正器

基于正则表达式的规则有助于验证文本格式。如果预期存在已知模式,例如以单词“P”开头的字符串,则此步骤将应用该模式来调整输出,并使用正则表达式使其与预期格式对齐。此处,系统将“F”更新为“P”,并使用正则表达式 ^P* 使其与预期格式对齐。

正则表达式校正器

基于词典的校正器

最后一步是将结果与预定义的有效单词、首字母缩略词或已知值词典进行比较。这确保最终输出符合上下文。在我们的示例中,“AU6”被替换为“AUG”,这是在提供的自定义词典中找到的匹配项。

基于词典的校正器

现实世界场景

这种多步骤识别在处理以下问题时特别有效:

  • 线路噪声和字符粘附
  • 复杂或有纹理的背景
  • 拍摄内容模糊或受运动影响
  • 字符重叠或断开

该框架目前已针对机器可读区 (MRZ) 用例进行了优化,但高度可定制。通过有针对性的培训和配置,它可以适用于各种应用,包括运输和物流标签、零售价格标签、医疗器械条形码或车辆登记号码。

工作原理

整个过程处理裁剪后的文本行图像,并输出完整的文本字符串。无需中间字符分割,简化了处理过程并提高了速度,使其成为移动和实时应用的理想选择。

开发人员无需进行额外的集成工作即可受益于这种增强的准确性。整个验证序列嵌入到 Dynamsoft Capture Vision 的 DLR 模式中,并自动运行。

结论

DLR 中的新多步骤识别和验证系统结合了机器学习、基于规则的逻辑和字典智能,即使在非理想条件下也能提供更准确、更可靠、更稳健的结果。

如果您正在开发依赖于图像精确文本识别的应用程序,那么 DCV 3.0 可能会为您带来改变。

Dynamsoft Capture Vision 简介

Dynamsoft Capture Vision(DCV)是一系列特定功能产品的聚合SDK,涵盖图像捕获、内容理解、结果解析和交互式工作流。

  1. 通过图像源适配器(ISA)接口的实现,可以与DCV无缝集成,从而轻松访问各种图像源。
  2. Dynamsoft 条形码阅读器 (DBR)、Dynamsoft 文档规范器 (DDN) 和 Dynamsoft 标签识别器 (DLR) 在从图像中读取条形码、结构和文本方面发挥着至关重要的作用。
  3. Dynamsoft 代码解析器 (DCP) 用于从文本/字节结果中提取有意义的字段,确保最佳的数据解析能力。
  4. 为了在DCV SDK中无缝访问中间结果和最终结果,我们提供了捕获结果接收器(CRR)和中间结果接收器(IRR)接口。用户实现这些接口并注册到DCV后,即可高效便捷地获取结果。
  5. 为了查看和编辑输出结果,Dynamsoft Camera Enhancer (DCE) 提供了一套强大的查看和编辑功能。

DCV通过以下几个方面为您的软件开发提供支持:

  1. 可打包场景,简单易用
  2. 可插拔组件的可扩展性
  3. 可定制的工作流程的灵活性
  4. 共享计算的高性能
  5. 具有中间结果的双向交互

DCV 使您能够开发高度可定制的应用程序,用于条形码读取、标签识别、文档边框检测和结果解析。这些应用程序提供企业级性能,并可根据您的特定业务需求进行定制。

功能性产品

Dynamsoft 条形码阅读器

DCV 的条形码解码功能由 Dynamsoft Barcode Reader (DBR) 提供支持。DBR 是一个强大的 SDK,使用户能够快速部署所有常见条形码(例如 1D、QR、PDF417 等)的条形码扫描功能。在进行条形码扫描时,用户可以设置各种处理参数,以便在不同的使用场景下调整性能。

Dynamsoft 标签识别器

DCV 的标签识别功能由 Dynamsoft Label Recognizer (DLR) 提供支持。这款强大的 SDK 专为识别图像中有意义的区域性文本或符号(通常称为“标签”)而设计。DLR 适用于各种场景,包括识别超市中的价格标签、仓库中的库存标签、汽车挡风玻璃上的 VIN 码、驾驶执照、身份证等等。凭借其先进的功能,DLR 是任何需要准确可靠标签识别的应用的必备组件。

Dynamsoft 文档规范器

Dynamsoft 文档规范器 (DDN) 是 DCV 系统的重要组成部分。这款功能强大的 SDK 专门用于检测图像中的四边形(或“四边形”),例如文档或表格边界,然后对检测到的四边形内的图像执行文档规范化。文档规范化包含一系列基本功能,例如边框裁剪、倾斜校正、透视校正、对比度和亮度调整等。生成的规范化图像可用于进一步处理,包括光学字符识别 (OCR)。

Dynamsoft 代码解析器

Dynamsoft Code Parser (DCP) 是一个从文本/字节中提取有意义字段的 SDK,通常用于对 DBR/DLR 生成的结果进行后处理。一方面,它为常见场景提供内置支持。例如,在 AAMVA 驾照场景中,DCP 接收 DBR 解码后的 PDF417 条码结果,然后解析并提取驾照号码、姓名和性别等信息。在护照场景中,DCP 接收 DLR 识别的 MRZ 文本,然后解析并提取护照 ID、姓名、出生日期和有效期等多个字段信息。另一方面,它支持通过模板配置高度可定制的解析规则,以满足特定用户场景的需求。

Dynamsoft相机增强器

Dynamsoft Camera Enhancer (DCE) 是一个 SDK,其中包括相机控制、相机增强功能和基本 UI 配置功能。

  • 摄像机控制:摄像机控制功能包括选择摄像机、打开/关闭摄像机、更改分辨率等。
  • 相机增强功能:清晰度滤镜、传感器滤镜、增强对焦等高级功能。它们可以提高相机输出质量或促进交互。
  • UI 配置:内置摄像头视图可供用户显示和控制视频流。可以添加其他 UI 元素,以改善其他 Dynamsoft 产品输出结果的视觉效果。例如,可以在摄像头视图上高亮显示条形码解码结果。

主要特点

可打包场景,简单易用

DCV 的简洁性体现在 SDK 内置了大量基于用户场景的模板。用户只需在开始采集时指定内置模板的名称,即可轻松完成特定任务。以下列出了一些常用场景和内置模板名称:

场景内置模板
读取条形码。“ReadBarcodes_Default”
识别标签上的文字。“RecognizeTextLines_Default”
检测文档边界。“DetectDocumentBoundaries_Default”
检测并规范文档。“DetectAndNormalizeDocument_Default”

通过提供这些预建模板,DCV 简化了开发流程,并允许开发人员快速轻松地将这些功能集成到他们的应用程序中。这使得 DCV 成为一个高度可访问且用户友好的 SDK,适合所有技能水平的开发人员。

可插拔组件的可扩展性

DCV 并非静态系统。不同的业务解决方案可能需要不同的产品模块组合。DCV 采用基于模板的方法,用户只需根据自身需求,按照指定的规则在模板文件中定义任务和依赖关系即可。DCV 接收到模板后,会自动解析模板、加载所需模块并执行相应的逻辑。DCV 的模块化设计使用户能够专注于特定需求,而无需担心模块加载的内部细节。这意味着用户可以轻松地仅使用必要的模块来分发应用,从而减少应用大小并提高性能。以下是一些常见的需求以及需要加载的产品模块:

解决方案要求必需产品
从相机捕获图像。大宗商品交易所
从相机捕获高质量文档。数据通信+数字网络
通过相机实时检测条形码。DCE + DBR
通过相机进行实时 MRZ 识别。DCE + DLR + DCP
通过摄像头实时识别驾驶执照。DCE+DBR+DCP
实时识别包含条形码的表单字段。DCE + DDN + DLR + DBR

可定制的工作流程的灵活性

DCV 的灵活性主要体现在模板中可自定义的工作流,允许开发人员根据特定需求配置多个任务及其依赖关系。DCV 支持的各个任务包括条形码识别、文本识别、文档检测和规范化以及结果解析。此外,开发人员可以通过配置不同任务之间的依赖关系和条件来完成更复杂的任务。如果我们使用“->”来表示任务之间的依赖关系,以下是一些常见示例:

要求任务依赖关系任务执行顺序说明
识别驾驶执照DCP的任务->DBR的任务读取 PDF417 条形码 => 解析解码后的字节
识别条形码周围的文字DLR的任务->DBR的任务读取条形码 => 计算文本的大致位置并识别
识别护照MRZDCP的任务->DLR的任务->DDN的任务检测护照边框 => 识别 MRZ 文本 => 解析 MRZ 文本

总体而言,在模板中组合不同功能和配置依赖项的能力使 DCV 成为一个高度适应性的 SDK,可用于创建满足您特定要求的定制解决方案。

共享计算的高性能

DCV的高性能体现在能够支持多任务并行计算,并且能够在不同任务之间共享相同参数的计算结果。

DCV 内置任务队列和线程池机制,允许多个任务并行执行,前提是任务之间没有依赖关系,且有空闲线程可用。通过利用此机制,DCV 可以确保任务高效执行且无延迟,同时还能确保资源得到有效利用。

对于需要同时识别图像中条形码和文本的应用程序,大多数 SDK 通常会分别识别条形码和文本。这意味着需要执行两次图像处理操作(例如灰度和二进制转换),这既耗时又低效。然而,DCV 采用了不同的方法,它解析模板,并且针对相同的参数仅执行一次处理步骤。这显著提高了效率和性能,因为条形码和文本识别可以共享相同的处理步骤。

具有中间结果的双向交互

DCV 支持与中间结果的双向交互,允许用户在执行过程中检索这些结果,并根据特定需求进行修改。通过实现中间结果接收器 (IRR) 接口并与 DCV 注册,DCV 可以高效、轻松地检索各种类型的中间结果,例如灰度或二值图像、检测到的线条和轮廓。此外,用户可以在不同阶段的回调函数中实时修改中间结果,后续执行流程将无缝集成这些修改到 DCV 流程中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值