蓝色读取工具
蓝色读取工具用于执行光学字符识别 (OCR)。与蓝色定位工具类似,蓝色读取工具可将字符作为图像中的特征进行识别和定位。但是蓝色读取工具使用预先训练的模型为读取性能提供通用基线,无需训练。因此当工具首次配置后,它几乎可以立即识别和读取字符。工具已经知道如何读取字符,您只需要定义要在图像中的哪个位置查找字符即可。
优势:
蓝色读取工具的优势在于能够处理困难的项目,如低对比度、低分辨率和/或变形字符。此外,设置所需的分段设置或图像筛选条件非常简单。该工具能够读取传统机器视觉工具难以阅读的字符;特别是嘈杂背景上的变形和/或弯曲的字符。
基本流程:
要使用该工具首先要提供训练集,然后设置要读取的字符周围的区域。调整特征尺寸参数并标注字符。在大多数情况下,该工具将自动识别并正确读取字符,并生成字符标记,您可以接受这些标记作为进一步训练的标签。标注至少一个字符实例然后训练工具。然后在训练阶段未使用的图像上验证该工具。
4.1处理图像
当您创建新的蓝色读取工具时,它已准备好开始查找和报告图像中的字符。您只需要通过特征尺寸参数指定图像中的 ROI 和字符大小。执行此操作后您就可以处理单个图像(在图像中,右键单击并从菜单中选择处理)或整个训练集(单击书册图标)。
蓝色读取工具会在找到的字符周围绘制一个黄色框来指示,并在角落中显示解码字符值(标签)。蓝色读取工具将此称为“特征”。
您可以通过单击选择图像中的一个或多个特征,按住 Shift 键单击以添加其他特征,或按住 Shift 键并拖动区域以选择一组特征。所选特征在图形周围以更粗的边框显示:
Note:您无法移动特征,因为特征是工具找到字符的位置,而不是您认为字符应该处于的位置。您可以删除某个特征(右键单击该特征并从菜单中选择删除功能),但这不会影响工具。下次处理图像时,将再次使用该特征。
4.2特征尺寸
由于该工具是用常用字符大小进行训练的,因此首先需要调整工具的特征尺寸参数,以匹配需要应用工具的图像中字符的大小。工具的特征尺寸指示符图形在图像的左下角显示(如下所示:)
可以在图像中拖动指示符图形,以便根据图像中的字符调整其大小。此外可以通过拖动尺寸调整拖动点工具(当鼠标悬停在指示符上时显示)来重新调整指示符的大小。更改指示符的大小也会更改特征尺寸参数
4.3极性参数
由于蓝色读取工具是在具有一致文本和背景极性(即在浅色背景上的深色文本)的一组图像上预先训练的,如果您碰巧有一个极性相反的图像数据集,则需要通过从采样工具参数部分的极性下拉菜单中选择反转来更改极性。
当此参数设置为反转时,图像中的图像以及主显示屏中的图像将显示为更改后的极性
4.4特征标注
为了确定蓝色读取工具在您的图像上的性能,您需要能将工具识别的字符与图像中的实际字符值进行比较。标注的过程允许您指定图像中字符的位置和值。图像集部分或完全标注后,您可以执行以下两项重要操作:
✅ 您可以计算工具对图像的性能统计度量结果,包括收回、混淆、精度和 F-得分。
✅ 您可以对工具执行渐进式训练(您可以通过举例说明特定字符在图像中的显示方式来提高工具的性能)。
图像集中的图像可以是标注图像,也可以是未标注图像。标注图像由显示屏上的绿色图形(特征或字符串)表示。
💡标注图像时非常重要的考虑因素是,如果图像被标注,则应标注图像中的所有字符。如果只标注了一些字符,这将使统计测量无效(因为该工具将发现“虚假”或“意外”字符),并且它还将导致任何渐进式训练降低而不是提高工具的准确性(因为工具会假定图像中的未标注字符不是字符)。
4.4.1将特征转换成标签
标注图像最简单的方法是从工具找到的图像特征开始。要将图像中所有找到的特征转换为标签,只需右键单击图像并选择接受视图。所有黄色已找到特征都将替换为绿色标签:
从几个方面来说,绿色标签与黄色特征类似:
#️⃣ 您可以单击它们来选中。
#️⃣ 您可以从中创建模型(选择一个或多个标签,然后右键单击图像并选择创建模型)
但绿色标签与特征之间有一些重要区别:
#️⃣您可以移动标签。如果找到的特征的位置不正确,您可以在标注时将其重新定位。
#️⃣您可以更改特征的值。如果已找到的黄色特征具有错误的字符值(例如“8”为“B”),则可以将该特征转换为标签,选择标签然后键入正确的值即可。标签更正后工具找到的特征与您创建的标签之间的差异将反映在工具的性能统计中。此外当您逐步训练工具时,正确的值将包含在已训练的工具中。
4.4.2直接标注
除了将特征转换为标签外,您还可以通过单击图像并键入标签值来创建标签。如果单击图像并创建特征,但未指定字符值,则工具会将之视为“空特征”并且不允许您进行训练。
如果您单击包含已找到特征的未标记图像,工具会询问您应该如何处理图像中找到的特征:
说明:如果单击是黄色已找到特征将转换为绿色标签,您可以根据需要调整其位置并更改其字符值。如果单击否则不会转换找到的特征。已找到的特征现在以橙色显示这表明它们可能应该转换为特征。
4.4.3在标注图像上找到的特征
使用蓝色读取工具处理标注图像时,该工具会向您显示找到的特征和标签(覆盖在图像上)。当找到的特征与标签位于几乎相同的位置且标签值与找到的特征值匹配时,标签显示为绿色,但图形周围带黄色条纹。
🔶将鼠标悬停在标签上会显示有关特征和标签的信息:
🔶如果标签与找到的特征不匹配,则显示标签(绿色)和特征(橙色):
🔶如果标签和特征彼此错位,则图形将单独显示:
4.4.4使用标签和模型
如果您在蓝色读取工具中定义了一个或多个模型,则从某些重要角度而言,标注图像的过程会简化并加快。
🔷当您开始标注没有找到特征的图像时,您标记了几个字符之后,工具就会建议可能的模型位置,包括模型中所有特征的位置:
🔷模型出现后,您只需在文本字段中键入正确的字符值,工具就会自动创建所有标签:
🔷指定字符值后,还需要调整特征位置以保证其正确:
🔷当您从具有已发现特征的图像开始时,过程甚至更为简单。只需右键单击并选择接受视图即可:
🔷在这种情况下,只有模型匹配的特征才会转换为标签:
使用含已定义模型的工具处理标注图像时,该工具会在找到的特征和拟合模型的顶部显示标注模型,并带有黄色边框以指示匹配正确:
和以前一样您可以将鼠标悬停在单个字符和模型上,以查看有关已标注和已找到字符的信息:
如果找到的特征与图像中的标注特征不对应,则会显示找到的字符串和标记的字符串以及不匹配的特征:
与之前一样找到的未标注或误标注的特征以橙色显示。
4.5创建模型
蓝色读取工具带有预先训练的模型。这个模型是在一个包含大量字体和背景的文本的大型图像数据库上进行训练的。预训练模型的字符包括数字(0-9)、大写字母(A-Z,除“O”外)、连字符 (-)、加号 (+)、和符号 (&)、冒号 (:) 和前斜线 (/)。
但是在很多情况下图像中的字符可能会被组织为常规一致的组,而定义模型将提高性能。
您可以定义三种类型的模型:
1.节点模型
2.字符串模型
3.正则表达式模型
您可以创建描述一组特征之间的空间关系的节点模型,以及哪些字符值对于模型中的每个特征是合法的。
您可以根据工具在图像中找到的特征轻松创建节点模型。选择要包含在节点模型中的所有黄色已找到特征(按住 Shift 键单击或按住 Shift 键拖动以绘制方框),然后右键单击任意位置并选择创建模型即可。
4.5.2字符串模型
字符串模型是最简单的使用和定义模型。要使用字符串模型,请在添加工具后配置 ROI并设置字符特征尺寸、处理工具(按书本图标)。然后在“最小长度”字段中输入字符串应包含的字符数,从而创建字符串模型(从“工具”菜单中选择“编辑模型”)。
该工具将返回 ROI 中存在的指定数量字符,这些字符沿单水平线分布,该水平线由角度参数定义是水平允许偏差。
4.5.3正则表达式模型
正则表达式模型可提供灵活的控制,通过让您定义希望借助正则表达式查找的字符,从而定义感兴趣字符串的精确格式。
要使用正则表达式模型,请在添加工具后配置 ROI并设置字符特征尺寸、处理工具(按书本图标)。然后创建正则表达式模型(从“工具”菜单中选择“编辑模型”)。
正则表达式模型将返回与您的正则表达式匹配的字符,位于单水平线的ROI内,该水平线使用角度参数定义是水平允许偏差。
构造正则表达式时,最简单的通配符是句点,即“匹配任何单个字符”。然后您可以在字符或通配符后使用修饰符来指定要匹配的字符数。
正则表达式模型使用以下句法:
在字符类内部(例如 [a-z]),适用以下句法规则:
✅ A - 表示范围,除非它出现在类指定的开头(可能在 ^ 之后)或结尾。如果您需要字符 - ,请将其放在其中一个位置。
✅ 使用结束方括号 ] 结束此类除非用 \ 将其转义,或出现在类指定的最前面(可能在 ^ 之后)。
✅ 如果你想要一个反斜杠,则应使用另一个反斜杠来将其转义。
空格:
正则表达式字符串中使用空格字符表示字符之间的预期间隔。如果指定较大的间隙,工具可能会在匹配期间跳过字符。一般原则是使用空格字符表示与指定特征尺寸一样大的间隙。
如正则表达式句法主题中所述,(普通 ASCII)空格字符是特殊字符。它与特征不匹配但会告知模型匹配器应该在此位置的特征之间存在更大间隙。如果预期间隙更大,可以添加若干空格。模型的最终“匹配字符串”将包括这些空格。
空格是唯一的特殊字符,其他空白字符只是尝试匹配用该特定字符标注的特征。
💡 请特别注意,正则表达式模型不支持任何“多行”模型,CR或LF字符没有特殊含义。
正则表达式模型支持匹配Unicode字符,但需要注意的是它以Unicode代码点为单位运行:假设每个特征对应于Unicode代码点。
💡 请注意在 Unicode 中存在所谓的“组合字符”,这意味着字符可以包含多个代码点。这是表达变音符号异常组合的常用方法。
Unicode 提供所谓的预合成字符,即只包含单个代码点的字符(即使带有变音符号)。为确保使用这些,用户应使用Unicode规范化形式NFC。(带有dakuten或handakuten变音符号的半宽日语假名是值得注意的例外情况,这些符号在 Unicode中没有预先组合的形式。)
标记用于训练的字符时,在添加已标记特征后,但在为其提供字符之前,该字符存在于特殊的“空”状态。作为一种特殊情况,正则表达式模型将始终能够匹配空功能,与使用的字符类或文字字符无关。这有助于您使用模型的工作流程能够将许多特征的基本事实作为一个字符串输入。
4.6字符和匹配显示
蓝色读取工具通过以下方法显示字符及其匹配项:
⭐ 这是工具指示已找到字符的标记的方式
⭐ 标注字符(未匹配):这是工具指示无匹配的标注字符的方式。标注字符以绿色显示。
🔹 单击字符,然后通过键盘键入所需的字符,即可修改每个已找到字符左下角的字符。
🔹 支持的字符可以是任何单个 UTF-8 字符。
🔹 可以通过单击来单独选择字符。要选择多个字符请按住 Ctrl 键并单击每个所需字符。使用 Shift + Ctrl 并拖动,将选中光标拖过的所有字符。
🔹 可以使用 Delete 键删除所选字符。
⭐ 标注字符(匹配):这是工具指示带有标注和匹配字符的已匹配模型的方式。将在字符周围绘制绿色边界框,左下侧的附加标记显示模型名称和匹配的字符串。
🔹 可以通过单击附加的标记并编辑匹配字符串来选择匹配项。所输入的字符串将根据预期模型的字符安排和字符串长度进行验证。
🔹 此外还有一个与附加标记关联的上下文菜单,允许您删除匹配或编辑模型。
⭐ 已找到的字符(在未标注的视图中匹配):这是工具指示未标记视图上的特征和匹配的实例的方式。
🔹 在这种情况下,与附加标记相关联的上下文菜单还包括接受匹配的选项。
⭐ 已找到的字符(在标注视图上匹配):这是工具指示分组在一起的标注和已找到的特征/匹配的方式。选中匹配时模型下方将显示黄色标记。
⭐ 已找到的字符(在标注视图上匹配,但有不匹配):这是工具指示已标注和已找到匹配但包含不匹配的特征的方式。在这种情况下,找到的与标注字符不匹配的字符将以橙色显示。同样不包含任何标注字符的已找到字符也将以橙色显示。
4.7显示字符
蓝色读取工具允许您在图像显示区域中显示单个字符或字符串,方便您有效地搜索和查找大量图像中错误标注的特征或误读字符。这可以通过双击数据库概述中的特征/匹配表中的行来完成,双击后将自动设置显示筛选条件。
4.8操作步骤
使用蓝色读取工具涉及以下四个主要步骤:
1️⃣ 收集训练样本图像。您还应该有图像来验证训练结果
2️⃣ 设置工具将查找字符的区域 (ROI) 和特征尺寸,也就是 ROI 中字符的预期大小。
3️⃣ 标注并训练
① 您需要标注每个字符的至少一个实例。标注是指示工具正确读取字符的方法。如果字符有误读或缺失,则需要标注
② 标注字符后,您需要训练工具,即将图像和字符标签添加到神经网络中
4️⃣ 在未经训练的图像上验证结果,以判断工具是否正确读取了字符
4.8.1配置ROI和特征尺寸
4.8.2标注字符
下一个主要步骤是标注字符,至少要标注每个字符的一个实例;标注过程提供了一种有用的机制,用于在训练前确定工具是否正确解析字符。
1️⃣ 展开数据库概述窗口,该表列出了工具找到的所有字符
ⅰ 逐一查看表中的字符,并为每个找到的字符选择一个实例
ⅱ 在表格中选择一个字符,然后双击;这将更改“显示”窗口以仅显示该字符的实例
ⅲ 从显示的字符中,选择一个良好的字符实例
2️⃣ 主显示屏将切换到该图像,右键单击图像并选择接受视图
3️⃣ 这将创建该字符实例的标签
4️⃣ 同时删除工具错误标注字符的任何实例:选择字符,右键单击并选择删除特征即可
4.8.3训练工具
一旦完成了每个字符的实例标注,就可以训练工具了。按大脑图标软件将开始计算以进行训练。
标注的实例将在工具处理的深度学习阶段通过神经网络使用。没有必要对每个字符标注多个实例,但标注的实例越多,在训练阶段的结果就越好。训练将提高工具的准确性。训练得越多您的神经网络就越适应您的训练集。工具以一个非常普通的模型开始,每次训练时工具都将越来越多地关注您训练集中的内容。
因此如果您的训练集不能很好地代表您在运行时遇到的内容,那么最好尽量减少您将要进行的训练量。
如果您已标注所有内容,并且标注特征代表预期的外观(并且最好涉及每个字符的实例),则训练将提高工具的性能。但是如果您有一组不具代表性的图像(例如字符处于预计在运行时不会出现的不同背景上或倾斜),则训练可能会将性能缩小到不具代表性的字符集,因此不建议进行训练。
要成功实施工具,您需要拥有一组包含运行时字符的所有预期变体的图像。
训练涉及的重要工具参数:
🔷训练选择:定义在训练期间将使用的标注图像的百分比。默认情况下,训练期间将使用 10% 的标注图像;其他 90% 是未标注的图像。
🔷保持复选框:规定您将在每次后续训练期间重复使用相同的标注图像。
训练完成后,您可以根据预期字符的数量、它们的间距和位置以及它们的字符安排生成字符模型
训练完成后,您将需要重新查看图像确保工具正确识别图像中的字符。同样您可以使用数据库概述窗口查看字符表,并查看结果。工具找到的每个字符都应该是预期字符,例如对于 #2,显示屏窗口中的所有实例都应该是 #2。如果存在带有“5”或“S”的实例,则需要单击图像并使用正确的标签重新标注这些实例。
如果工具正确找到所有实例,则工具已准备好进行运行时部署。但是如果必须重新标注某些实例,则需要重新训练工具,然后重复验证过程。