显示筛选条件

视图浏览器的显示字段用于筛选视图,基于视图浏览器中的默认下拉菜单项,或使用关键字、条件、逻辑运算符、变量或正则表达式创建的自定义筛选条件均可。显示筛选条件对于标注视图和验证结果很有帮助,您可根据指定的条件操作选定的视图。

 

默认显示筛选条件

对于不同的工具,视图浏览器中提供了一组通用选择筛选条件。这些筛选条件列在下表中,可在“显示”字段的下拉菜单中找到。

筛选 说明

全部

返回数据库中的所有视图。

返回新导入的图像。

已标注

返回标注视图。

  • 蓝色定位和蓝色读取工具:至少有一个标注特征的视图。
  • 红色分析工具:标注为良好或不良的视图。
  • 绿色分类工具:有标记分类的视图。

未标注

返回尚未标注的视图。

已训练

返回用于训练的视图。

未训练

返回未用于训练的视图。

 

此外,每个工具还可以使用特定于工具的筛选条件,具体取决于所选的 Deep Learning 工具。

工具 筛选 说明

红色分析

良好

不良

返回标注为良好的视图。

返回标注为不良的视图。

绿色分类

未知

不匹配

返回包含未知标记和/或类的视图。

返回预测标记和/或类与实际类不匹配的视图

红色分析高细节

绿色分类高细节

已验证

未验证

仅返回包含在验证集中的视图。

仅返回未包含在验证集中的视图。

蓝色定位

蓝色读取

无匹配

返回未找到模型的视图(假设已定义模型)。

 

自定义显示筛选工具

可以使用特定关键字、逻辑运算符、变量、方法和/或运算符和条件来指定自定义筛选工具。您还可以通过使用正则表达式构建自定义筛选工具。

构造自定义筛选工具时,应构建根据布尔结果评估的筛选工具。

 

显示筛选关键词

创建自定义筛选条件时,您可以从显示下拉菜单的关键词开始,然后添加逻辑运算符和变量。

除了显示下拉菜单关键词,还可以通过在“显示”字段中键入来使用以下关键词:

  • :与红色分析工具一起使用,返回有缺陷的视图。
  • :与红色分析工具一起使用,返回没有缺陷的视图。
  • 'filename_word':返回具有包含词汇的文件名的视图。例如,如果您在训练集中策划了名为“bad_head_001.png”、“bad_head_002.png”等的图像。要仅返回中文件名中包含词汇“bad_head”的视图,请在“显示”字段中输入“bad_head”。

 

显示筛选条件逻辑运算符

关键词(和条件)可以与逻辑运算符结合使用来构建自定义选择筛选条件。三个基本的逻辑运算符 notandor 可用于构建自定义筛选条件。

示例 说明

未训练

返回未用于训练的视图。

良好和不良

返回标注为良好且图像文件名不包含单词“good”的视图。

标注或非手动

返回已标注和/或训练标志设置为“自动”的视图。

 

显示筛选条件变量

变量、方法和基本数学比较运算符(=,>,<,...)可用于构造特殊条件,以便选择一组特定的视图。以下列表概述了三种工具可用的变量。

  • 所有工具

    变量 说明

    随机

    为每个视图在区间 [0,1] 中生成随机变量。

  • 红色分析工具

    变量 说明

    得分

    返回视图的总分(最高区域分数)。

    T1,T2

    返回较低 (T1) 和较高 (T2) 阈值(显示在比分图表和阈值参数中)。

    区域/得分

    返回系统找到的缺陷区域的得分。此变量可能会返回值列表(请参阅下面的备注部分了解更多信息)。

    区域/面积

    返回缺陷区域的面积。

    区域/x

    返回缺陷区域的水平位置。

    区域/y

    返回缺陷区域的垂直位置。

    region!/(score│area│x│y)

    返回标注区域的分数、面积、水平或垂直值。

    背景/得分

    返回背景分数,也就是缺陷区域之外的分数。

  • 绿色分类工具

    变量 说明

    tag/score

    返回每个标记/类的概率分数。此变量会返回值列表(请参阅下面的备注部分了解更多信息)。

    tag[Tag_Name]/score

    返回与“Tag_Name”类相关的预测概率分数。

    tag![Tag_Name]

    对于标注为标记/类“Tag_Name”的视图,返回 True。此变量还可用于选择标注为“Tag_Name”的视图。

    tag!/score

    返回正确(标注)类的概率分数。

    tag![Tag_Name]/score

    返回正确类的概率分数,仅选择标注为“Tag_Name”标记/类的视图。

  • 蓝色定位和蓝色读取工具

    变量 说明

    特征

    返回视图中的一个或多个找到的特征,并显示特征的缩略图。

    feature[0]

    或者

    feature[0,1]

    返回找到指定特征的视图 (0)(如果用作单个语句,否则返回找到的特征的列表;请参阅下面的备注部分了解更多信息)。

    feature![0]

    或者

    feature![0,1,2]

    返回与上面相同的结果,但仅限于标注的指定特征。

    feature[0]/score

    返回标记(预测)为 0 的特征的概率分数。

    feature[0]/x

    返回特征 0 的水平位置。

    feature[0]/y

    返回特征 0 的垂直位置。

    feature![0]/(score│x│y)

    返回标注的特征 0 的分数、水平或垂直位置。

    匹配

    如果找到模型,或者找到一系列模型,则返回 True(参见下面的备注部分了解更多信息)。

    match[Model1]

    同上,但仅限于找到 Model1 的结果。

    match![Model1]

    同上,但适用于在已标注特征中找到的模型。

    match[Model1]/score

    返回已找到模型的分数 (Model1)。

    此变量可能会返回值列表;请参见下面的备注部分了解更多信息。

    match[Model1]/angle

    返回已找到模型的角度。

    match[Model1]/scale

    返回已找到模型的比例。

    match[Model1]/schear

    返回已找到模型的剪切。

    match[Model1]/x

    返回已找到模型的水平位置。

    match[Model1]/y

    返回已找到模型的垂直位置。

    match![Model1]/(score│angle│scale│shear│x│y)

    同上,但适用于带有标注特征的模型。

    match/features

    返回系统匹配的任何模型中的标记特征数量(可能返回值列表;有关详细信息,请参阅下面的备注部分)。

    match[Model1]/features

    同上,但适用于特定模型 Model1

    match!/features

    任何模型的标注特征匹配数。

    match![Model1]/features

    同上,但适用于特定模型 Model1

Note:

某些变量可能会返回值列表(只要有许多可能的值作为输出结果)。这些返回列表的一些属性(元素的数量、最大值或最小值)可以使用下文描述的方法提取。

工具 示例 备注

红色分析

region/(score│area│x│y)

返回分数列表,每个值对应一个找到的区域。

概率分数总是位于 [0,1] 的区间内。红色分析工具仅在监督模式下返回概率分数(例如,区域有缺陷的概率)。

绿色分类

tag/score

返回每个类的概率列表。

概率分数总是位于 [0,1] 的区间内。此外,tag/score 返回的值列表总计为 1。

蓝色定位

蓝色读取

feature, match

作为单个语句返回 true,否则将返回已找到特征或模型的列表。

feature![0]/(score│x│y)

返回已标注特征 0 的分数、水平或垂直位置。

match[Model1]/(score│angle│scale│shear│x│y)

返回任何已找到模型 (Model1) 的分数、角度、比例、剪切、水平或垂直位置列表。

 

显示筛选方法

有些方法可用于访问某些变量返回的值列表的某些属性。

方法 说明

count()

返回列表中的项目数。

max()

返回列表中的最大值。

min()

返回列表中的最小值。

 

显示筛选条件运算符和条件

基本数学比较运算符可以与变量结合使用以构造过滤条件。

符号 示例 说明

=

count(feature![h])=3

返回具有 3 个特征且标签 ID 为“h”的视图。

!=

count(match)!=0

返回已找到模型的数量不等于 0 的视图。

< >

feature[t]/score>0.9

返回找到特征“t”并且概率分数大于 90% 的视图。

<=

min(region/x)<=50

返回找到最左侧缺陷区域、最多距左侧图像边界 50 个像素的视图。

>=

random>=0.8

返回大约 80% 的视图。

in

not score in [0.28,0.43]

返回得分在 [0.28,0.43] 区间之外的视图(其中 0.28 = 阈值 1,0.43 = 阈值 2)。

 

显示筛选条件和排序示例

本节中的主题提供了描述 Cognex Deep Learning 工具各种筛选条件的示例。

 

蓝色定位工具筛选条件示例

以下示例说明了与蓝色定位工具一起使用的常见显示筛选条件:

显示筛选条件 说明

count(match)=0

此筛选条件对应于显示下拉菜单中的无匹配选项。仅显示不包含匹配模型的视图。

count(feature[t]/x in [500,600]) > 0 and count(feature[t]/y in [300,400]) > 0

返回在水平和垂直位置的指定范围内至少找到一个特征 (ID = t) 的视图。

count(match[Model1]/scale in [0.9,1])>0 and count(match[Model1]/angle in [0,90]) > 0

返回视图,其中在标记特征中找到至少一个模型(模型名称 = Model1),并具有其标度和指定值范围的方向角。

match[Model1]/features<5

返回找到模型(模型名称 = Model1 )并且匹配少于 5 个标记的视图。

features.min(match/features)=2

返回视图,其中用于匹配任何模型的最小特征数正好为 2。

min(feature[h]/x) > 500

返回最左侧特征 (h) 的位置距离左图像边界至少 500 像素的视图。

 

绿色分类工具筛选条件示例

以下示例说明了可搭配绿色分类工具使用的常见显示筛选条件:

显示筛选条件 说明

tag!/score < max(tag/score) 或 score < threshold

tag!/score < score 或 score < threshold

只要阈值是处理阈值,则这些筛选条件实际上对应于下拉菜单中的显示筛选条件不匹配。

它将筛选实际类(给定标签)概率低于所有类中最大概率的视图(score 相当于 max(tag/score),也就是预测了错误的标签/类),以及最大概率得分低于处理阈值的视图(即未预测标签/类)。

未训练,且 tag![cat] 和 tag[dog]/score = max(tag/score)

未训练,且 tag![cat] 和 tag[dog]/score = score

筛选未用于训练、用标签 cat 进行了标注、但预测了标签 dog 的视图。

 

红色分析工具筛选条件示例

以下示例说明了与红色分析工具一起使用的常见显示筛选条件:

显示筛选条件 说明

不良且 count(region!/score > T2) <= 2

返回标注为不良的视图,它有两个或更少的标注缺陷区域,得分高于上限阈值 (T2)。

count(region) > 1 并且 max(region/area) < 200

返回具有多个标记(由系统找到)缺陷区域且最大缺陷区域小于 200 像素的视图。

count(region/x in [100,200]) >= 2

返回具有至少 2 个缺陷区域的视图,其中心位于指定的水平位置范围内。

 

使用正则表达式显示筛选工具

您还可以使用正则表达式(又名 regex 或 regexp)创建更复杂的筛选工具。例如,如果要根据以“01.png”、“02.png”或“03.png”结尾文件名筛选图像,可以使用以下正则表达式:/0[1-3].png$/.test(filename)。在此示例中,“filename”是关键字并按原样使用。下表提供了在 VisionPro Deep Learning 内使用正则表达式的一些基础知识。

定位标记

^

指定字符串或行的开头,例如 ^0 将匹配以 0 开头的字符串。

Note: 在括号内使用 ^ 字符时,也就是 [^ 0],^ 表示不启动。

$

指定字符串或行的结尾,例如 0$,将匹配以 0 结尾的字符串。

基本匹配

.

匹配任何单个字符。

Note: 要匹配句点,必须使用反斜杠来转义点。例如,您输入:\.

\d

匹配 0123456789 范围内的任何数字。

还可以通过键入数字来表示实际数字 0-9。

\w

匹配任何字母、数字和下划线字符 (_)。

区分大小写的实际字符可以通过键入字符 a-z 或 A-Z 来表示。

\s

匹配空格。

具体字符

[...]

方括号 [ ] 用于匹配特定字符,这些字符在方括号内定义。例如,[a-z]匹配 a 到 z 的一个小写字母,或 T[ao]p 将匹配 Tap 或 Top。括号可用于复合结构,例如 [A-C][0-3][g-i],可以匹配字符串 A0g、A0h、B1i 和 C3g 的字符串。

重复

{...} 花括号{ }用于表示重复。例如,t{2}返回两个t;[def]{3}返回三个字符,可以是 d、e 或 f;而.{1,4} 匹配 1 至 4 的任意字符。

*

表示字符或数字的零个或多个实例。例如,a* 会匹配零个或多个字符。

+

表示字符的一个或多个实例。例如,[nop]+ 将匹配 n、o 或 p 字符中的一个或多个。

可选字符

?

问号“?”用于匹配零个或一个前面字符或组。例如,12?3 将匹配 123 或 13。

Note: 要匹配问号,必须使用斜杠来转义问号。例如,您输入:\?

分组

(...)

括号用于定义字符组,使一对括号内的子模式构成一个组。这非常有利于从图像文件名中提取信息。例如,如果您策划图像使用某种命名约定,例如 Good_0001.png,并且只想返回那些图像,则可以使用 ^(Good.+)\.png$

您还可以使用括号捕获嵌套组。使用上面的示例,可以根据数字细化搜索,例如 ^(Good(\d+))\.png$

此外,也可在括号内使用上述量词以捕获模式。例如,如果要捕获大于 1000 的可能区域,则可以使用 (\d{4})x(\d{4})

逻辑 OR 标识符 | 可用于表示不同的可能字符集。例如,如果您想在一组文件名中返回“scratch”,“dent”或“hole”,则可以使用 ^(Bad(\d+)(scratch|dent|hole))\.png$