显示筛选条件
视图浏览器的显示字段用于筛选视图,基于视图浏览器中的默认下拉菜单项,或使用关键字、条件、逻辑运算符、变量或正则表达式创建的自定义筛选条件均可。显示筛选条件对于标注视图和验证结果很有帮助,您可根据指定的条件操作选定的视图。
默认显示筛选条件
对于不同的工具,视图浏览器中提供了一组通用选择筛选条件。这些筛选条件列在下表中,可在“显示”字段的下拉菜单中找到。
筛选 | 说明 |
---|---|
全部 |
返回数据库中的所有视图。 |
新 |
返回新导入的图像。 |
已标注 |
返回标注视图。
|
未标注 |
返回尚未标注的视图。 |
已训练 |
返回用于训练的视图。 |
未训练 |
返回未用于训练的视图。 |
此外,每个工具还可以使用特定于工具的筛选条件,具体取决于所选的 Deep Learning 工具。
工具 | 筛选 | 说明 |
---|---|---|
红色分析 |
良好 不良 |
返回标注为良好的视图。 返回标注为不良的视图。 |
绿色分类 |
未知 不匹配 |
返回包含未知标记和/或类的视图。 返回预测标记和/或类与实际类不匹配的视图 |
红色分析高细节
绿色分类高细节 |
已验证 未验证 |
仅返回包含在验证集中的视图。 仅返回未包含在验证集中的视图。 |
蓝色定位 蓝色读取 |
无匹配 |
返回未找到模型的视图(假设已定义模型)。 |
自定义显示筛选工具
可以使用特定关键字、逻辑运算符、变量、方法和/或运算符和条件来指定自定义筛选工具。您还可以通过使用正则表达式构建自定义筛选工具。
构造自定义筛选工具时,应构建根据布尔结果评估的筛选工具。
显示筛选关键词
创建自定义筛选条件时,您可以从显示下拉菜单的关键词开始,然后添加逻辑运算符和变量。
除了显示下拉菜单关键词,还可以通过在“显示”字段中键入来使用以下关键词:
- 正:与红色分析工具一起使用,返回有缺陷的视图。
- 负:与红色分析工具一起使用,返回没有缺陷的视图。
- 'filename_word':返回具有包含词汇的文件名的视图。例如,如果您在训练集中策划了名为“bad_head_001.png”、“bad_head_002.png”等的图像。要仅返回中文件名中包含词汇“bad_head”的视图,请在“显示”字段中输入“bad_head”。
显示筛选条件逻辑运算符
关键词(和条件)可以与逻辑运算符结合使用来构建自定义选择筛选条件。三个基本的逻辑运算符 not、and、or 可用于构建自定义筛选条件。
示例 | 说明 |
---|---|
未训练 |
返回未用于训练的视图。 |
良好和不良 |
返回标注为良好且图像文件名不包含单词“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。
某些变量可能会返回值列表(只要有许多可能的值作为输出结果)。这些返回列表的一些属性(元素的数量、最大值或最小值)可以使用下文描述的方法提取。
工具 | 示例 | 备注 |
---|---|---|
红色分析 |
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$ |