标注导入/导出插件
CLIP(Cognex 标注
标注是用“真值”来注释图像的过程。根据您使用的工具,标注可以采用不同的形式。标注图像集有两个原因:提供训练工具所需的信息,并允许您根据真值衡量和验证受训练的工具的性能。导入/导出插件)是一个可帮助您导入/导出 VisionPro Deep Learning 工具的标注、掩膜和图像(仅限导出)的 VisionPro Deep Learning 插件。
CLIP 基础知识
在 VisionPro Deep Learning 中,标注、掩膜和图像是基于视图
图像的视图是图像中的像素区域。工具处理仅限于视图中的像素。您可以手动指定视图,也可以使用上游工具的结果生成视图。(ROI
感兴趣区域 (ROI) 界定了工具的操作面积。ROI 保留了原始图像的位置、角度、拉伸和倾斜。 定义的视图)导入/导出。因此,只有在定义了 VisionPro Deep Learning 中每个视图的 ROI 之后,才能导入标注或掩膜。如果标注或掩膜不符合定义的 ROI,则不会将其导入。
VisionPro Deep Learning 视图浏览器中每个视图的图像文件名(不包括文件类型)和要导入的标注/掩膜文件名应完全匹配。例如,当您在视图浏览器中为文件名为“name.png”的特定视图导入标注时,标注文件名应为“name.png”、“name.vrlf”(红色分析)或“name.vglf”(绿色分类)。
导入/导出格式
|
图像文件类型 |
类型 |
导入 |
导出 |
|
图像 |
- |
- |
png |
|
标注 |
内部 |
.vrlf (红色分析), .vglf (绿色分类) |
|
|
外部 |
png(仅限红色分析) |
- |
|
|
JSON |
.json |
- |
|
|
掩膜 |
内部 |
.vmf |
|
|
外部 |
png |
- |
|
|
JSON |
.json |
- |
|
-
.vrlf:VisionPro Deep Learning 红色分析标注格式
-
.vflf:VisionPro Deep Learning 绿色分类标注格式
-
.vmf:VisionPro Deep Learning 掩码格式
-
JSON:JSON 文件格式(请参阅最近几节 JSON 文件格式的详细信息。)
激活 CLIP
-
运行VisionPro Deep Learning。
-
转到“插件”>“管理插件”。
-
选择“添加”按钮。
-
选择 CLIP.VPlugin.dll 和选择“打开”。
-
关闭插件管理器。
-
创建或导入工作区,并创建工具或将工具导入该工作区的流中。
-
将图像加载到工具中,并设置 ROI 以定义视图。
-
选择工具并转到“插件”菜单。根据您选择的工具,您会找到“导入”和“导出”菜单。
导入标注
| 红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
|
导入内部标注 (采用 VisionPro Deep Learning 内部标注格式的标注文件) |
O |
O |
X |
X |
|
导入外部标注:png 文件 (代表标注的图像文件) |
O |
X |
X |
X |
|
导入外部标注:JSON 文件 (包含标注信息的 JSON 文件) |
O |
O |
X |
X |
导入内部标注
-
准备采用 VisionPro Deep Learning 内部标记
图像标记是由 VisionPro Deep Learning 工具生成的注释。工具生成的标记是工具处理特定图像时获得的“答案”。您可以通过将工具生成的标记与用于同一图像的标注进行比较,从而验证工具的性能。与标注一样,生成的特定标记取决于工具。格式的标注文件。 -
红色分析标注格式:.vrlf
-
绿色分类标注格式:.vglf
-
打开工作区,在流中选择红色分析或绿色分类工具。
-
转到“插件”>“导入标注”。
-
选择内部标注图像和选择“选择文件”。
-
找到内部标注文件并将其打开。
导入外部标注:png 文件 (红色分析)
-
准备 png 格式的标注图像文件。例如,您的标注是一个图像文件,其中背景(良好区域)是白色的,有缺陷的区域是黑色的。
-
打开标注图像文件并获取背景的像素值。在上述示例中,值为 255( 像素强度)。
注意: 要导入的所有标注图像的背景像素值必须一致。 -
打开工作区,在流中选择红色分析工具,然后转到“插件”>“导入标注”。
-
选择外部标注图像。
-
在第 2 步馈送背景像素值。
-
选择“选择文件”以找到 png 文件并将其打开。
-
选择“应用”。
导入外部标注:JSON 文件
-
准备包含图像文件名及其标注信息的 JSON 文件。
注意: 图像文件名必须与 VisionPro Deep Learning 工作区中加载的图像文件名完全匹配,包括大小写。对于绿色分类,JSON 文件应包含所有视图的标注信息。JSON 文件必须遵守下列规则。
-
文件中必须包含键值“classes”和“images”。
-
作为“classes”的子级,必须包含 {index (string type),class name (string type)} 对。
-
关键值“images”必须在每个图像文件名下有一个“class”。
复制Green Classify JSON Label Example{
"classes": {
"0": "OK",
"1": "NG"
}
"images": {
"CAM1-NG.png": {
"class": [
1
]
},
"CAM2-NG.png": {
"class": [
1
]
}
}
} -
-
文件中必须包含键值“标注”,每个标注的信息都应列在键值下。
-
标注信息应该包含“笔划粗细”、“形状”和“点”。
-
“类”必须输入为正整数(无符号长整型),不能输入字符串或其他类型。
-
在将类分配为 0 时,其分类为“良好”,当分配为 1 时,其分类为“不良”。
-
-
“笔画粗细”是缺陷区域轮廓的粗细。
-
"形状”是区域的形状。它包含字符串类型,并且必须是以下类型之一:“矩形”、“椭圆”、“直线”、“折线”、“多边形”
-
"形状”是形成区域的形状的坐标集。其值由“形状”确定。
-
“矩形”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“椭圆”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“直线”:起始坐标 (x0, y0) 和结束坐标 (x1, y1)
-
“折线”:构成折线的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
“多边形”:构成多边形的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
-
打开工作区,在流中选择红色分析或绿色分类工具,然后转到“插件”>“导入标注”。
-
选择 JSON 和“选择文件”。
-
找到 JSON 文件并将其打开。
-
选择“应用”。
对于红色分析,JSON 文件应包含单个视图的标注信息。因此,您需要准备的 JSON 文件数与视图总数一样多。除文件扩展名外,每个 JSON 文件的文件名必须与 VisionPro Deep Learning 图像显示区域中每个视图的图像文件名完全匹配。JSON 文件必须遵守下列规则。
{
"Labels": [
{
"Class": 1,
"Shape": "ellipse",
"StrokeThickness": 5.0,
"Points": [
"104.972811914788,310.801663378971",
"132.045318045539,338.438180054112"
]
},
{
"Class": 1,
"Shape": "ellipse",
"StrokeThickness": 5.0,
"Points": [
"301.248481362731,141.034489517388",
"323.808903138356,168.106995648139"
]
}
]
}
导出标注
| 红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
|
导出标签(以 VisionPro Deep Learning 内部标注文件格式导出标注) |
O |
O |
X |
X |
-
打开工作区,在流中选择红色分析或绿色分类工具,然后转到“插件”>“导出图像”。
-
启用标注复选框并选择“浏览”以查找要保存的标注文件的位置。
-
选择“导出”。
-
标注文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Labels 下
导入掩膜
| 红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
|
导入外部掩膜 (代表掩膜的图像文件) |
O |
O |
O |
O |
|
导入内部掩膜 (采用 VisionPro Deep Learning 默认掩膜文件格式的掩膜文件) |
O |
O |
O |
O |
|
导入 JSON 掩膜 (包含掩膜信息的 JSON 文件) |
O |
O |
O |
O |
导入内部掩膜
-
准备采用 VisionPro Deep Learning 内部掩膜格式的掩膜文件。
-
VisionPro Deep Learning 掩膜格式:.vmf
-
-
打开工作区,在流中选择工具,然后转到“插件”>“导入掩膜”。
-
选择“内部掩膜图像”和“选择文件”。
-
找到内部掩膜文件并将其打开。
-
选择“应用”。
导入外部掩膜:png 文件
-
准备 png 格式的掩膜图像文件。例如,您的掩膜是一个图像文件,其中掩膜区域是黑色的,其他区域(背景)是白色的。
-
打开掩膜图像文件并获取背景的像素值。在上述示例中,值为 255( 像素强度)。
注意: 要导入的所有掩膜图像的像素值必须一致。 -
打开工作区,在流中选择工具,然后转到“插件”>“导入掩膜”。
-
选择外部掩膜图像。
-
在第 2 步馈送背景像素值。
-
选择“选择文件”以找到 png 文件并将其打开。
-
选择“应用”。
导入外部掩膜:json 文件
-
准备包含图像文件名及其掩膜信息的 JSON 文件。
注意: 图像文件名必须与 VisionPro Deep Learning 工作区中加载的图像文件名完全一致,包括大小写对于所有类型的工具,JSON 文件应包含单个视图的掩膜信息。因此,您需要准备的 JSON 文件数与视图总数一样多。除文件扩展名外,每个 JSON 文件的文件名必须与 VisionPro Deep Learning 图像显示区域中每个视图的图像文件名完全匹配。JSON 文件必须遵守下列规则。
-
文件中必须包含键值“掩膜”,每个掩膜的信息都应列在键值下。
-
掩膜信息应该包含“笔划粗细”、“形状”和“点”。
-
“笔画粗细”是掩膜轮廓的粗细。
-
"形状”是掩膜的形状。它包含字符串类型,并且必须是以下类型之一:“矩形”、“椭圆”、“直线”、“折线”、“多边形”
-
"点”是形成掩膜形状的坐标集。其值由“形状”确定。
-
“矩形”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“椭圆”:左上角坐标 (x0, y0) 和右下角坐标 (x1, y1)
-
“直线”:起始坐标 (x0, y0) 和结束坐标 (x1, y1)
-
“折线”:构成折线的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
“多边形”:构成多边形的坐标 (x0, y0), (x1, y1), ..., (xN, yN)
-
复制Green Classify JSON Mask Example{
"Masks": [
{
"Shape": "polygon",
"StrokeThickness": 1.0,
"Points": [
"183,121",
"182,122",
"180,122",
"179,123",
"177,123",
"176,124",
"174,124",
"173,125",
]
},
{
"Shape": "polygon",
"StrokeThickness": 1.0,
"Points": [
"262,135",
"260,137",
"260,138",
"259,139",
"259,142",
"260,143",
"260,144",
"261,144",
"262,145",
"264,145",
"265,144",
"266,144",
"266,143",
"267,142",
"267,139",
"266,138",
"266,137",
"264,135"
]
}
]
} -
-
打开工作区,在流中选择工具,然后转到“插件”>“导入掩膜”。
-
选择 JSON 和“选择文件”。
-
找到 JSON 文件并将其打开。
-
选择“应用”。
导出掩膜
| 红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
| 导出掩膜(采用 VisionPro Deep Learning 默认掩膜文件格式的掩膜文件) | O | O | O | O |
-
打开工作区,在流中选择工具,然后转到“插件”>“导出图像”。
-
启用“掩膜”复选框并单击“浏览”以选择要保存的掩膜文件的位置。
-
选择“导出”。
-
掩膜文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Masks 下
导出图像
| 红色分析 | 绿色分类 | 蓝色定位 | 蓝色读取 | |
| 导出图像(采用 png 文件格式的图像文件) | O | O | O | O |
-
打开工作区,在流中选择工具,然后转到“插件”>“导出图像”。
-
启用“图像”复选框并单击“浏览”以选择要保存的图像文件的位置。
-
选择“导出”。
-
图像文件保存在 SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Images 下