Cognex ラベルのインポート/エクスポートのプラグイン
CLIP (Cognex ラベルのインポート/エクスポートのプラグイン) は、VisionPro Deep Learning ツールのラベル、マスク、画像 (エクスポートのみ) のインポート/エクスポートを支援する VisionPro Deep Learning プラグインです。
CLIP の基本
VisionPro Deep Learning では、ラベル、マスク、画像はビュー (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 を選択し、[開く] を選択します。
-
プラグインマネージャを閉じます。
-
ワークスペースを作成またはインポートし、このワークスペースのストリームでツールを作成またはインポートします。
Note: ワークスペース、ストリーム、ツールの詳細については、「ワークスペース、ストリーム、ツール 」を参照してください。 -
画像をツールに読み込み、ROI を設定してビューを定義します。
-
ツールを選択し、[プラグイン] メニューに移動します。選択したツールによって、[インポート] および [エクスポート] メニューが表示されます。
ラベルのインポート
解析 (赤) | 分類 (緑) | 位置決め (青) | 読み取り (青) | |
内部ラベルのインポート (VisionPro Deep Learning 内部ラベルファイル形式のラベルファイル) |
O |
O |
X |
X |
外部ラベルのインポート: png ファイル (ラベルを表す画像ファイル) |
O |
X |
X |
X |
外部ラベルのインポート:JSON ファイル (ラベル情報を含む JSON ファイル) |
O |
O |
X |
X |
内部ラベルのインポート
-
VisionPro Deep Learning 内部ラベル形式のラベルファイルを準備します。
-
解析 (赤) ラベル形式: .vrlf
-
分類 (緑) ラベル形式: .vglf
Note: VisionPro Deep Learning ツールから VisionPro Deep Learning 内部ラベルファイルを取得するには、以下の「ラベルのエクスポート」を参照してください。 -
ワークスペースを開き、ストリームで 解析 (赤) または 分類 (緑) ツールを選択します。
-
[プラグイン] > [ラベルのインポート] に移動します。
-
[内部ラベル画像] と [ファイルの選択] を選択します。
-
内部ラベルファイルを探してこれらを開きます。
外部ラベルのインポート: pngファイル (解析 (赤))
-
png 形式のラベル画像ファイルを準備します。たとえば、ラベルは、背景 (良好な領域) が白色で、欠陥のある領域が黒色の画像ファイルです。
-
ラベル画像ファイルを開き、背景のピクセル値を取得します。上記の例の場合、値は 255 (ピクセルの明度) です。
Note: 背景のピクセル値は、インポートするすべてのラベル画像で一貫している必要があります。 -
ワークスペースを開き、ストリームで 解析 (赤) ツールを選択し、[プラグイン] > [ラベルのインポート] に移動します。
-
[外部ラベル画像] を選択します。
-
ステップ 2 の背景ピクセルの値を入力します。
-
[ファイルの選択] を選択し、png ファイルを探してこれらを開きます。
-
[適用] を選択します。
外部ラベルのインポート:JSON ファイル
-
画像ファイルの名前とそれらのラベルの情報を含む JSON ファイルを準備します。
Note: 画像ファイルの名前は、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
]
}
} -
-
キー値「Labels」をファイルに含める必要があり、各ラベルの情報はキー値の下にリストする必要があります。
-
ラベル情報には、「StrokeThickness」、「Shape」、および「Points」が含まれる必要があります。
-
「クラス」は、文字列などではなく、正の整数 (unsigned long 型) で入力する必要があります。
-
「StrokeThickness」は、欠陥領域の輪郭の太さです。
-
「Shape」は領域の形状です。文字列型であり、次のいずれかでなければなりません: 「rectangle」、「ellipse」、「line」、「polyLine」、「polygon」
-
「Points」は領域の形状を形成する座標のセットです。その値は、「Shape」によって決まります。
-
「rectangle」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)
-
「ellipse」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)
-
「line」: 始点の座標 (x0, y0) と終点の座標 (x1, y1)
-
「polyLine」: ポリラインを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)
-
「polygon」: ポリゴンを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)
-
-
ワークスペースを開き、ストリームで 解析 (赤) または 分類 (緑) ツールを選択し、[プラグイン] > [ラベルのインポート] に移動します。
-
JSON と [ファイルの選択] を選択します。
-
JSON ファイルを探してこれを開きます。
-
[適用] を選択します。
解析 (赤) の場合、JSON ファイルには単一のビューのラベル情報が含まれる必要があります。したがって、ビューの総数と同じ数の JSON ファイルを準備する必要があります。ファイル拡張子を除く各 JSON ファイルのファイル名は、VisionPro Deep Learning の画像表示領域内の各ビューの画像ファイル名と正確に一致する必要があります。JSON ファイルは、以下の規則に従う必要があります。
"Labels": [
{
"Class": 0,
"Shape": "ellipse",
"StrokeThickness": 5.0,
"Points": [
"104.972811914788,310.801663378971",
"132.045318045539,338.438180054112"
]
},
{
"Class": 0,
"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
Note: VisionPro Deep Learning ツールから VisionPro Deep Learning 内部マスクファイルを取得するには、以下の「マスクのエクスポート」を参照してください。 -
-
ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [マスクのインポート] に移動します。
-
[内部マスク画像] と [ファイルの選択] を選択します。
-
内部マスクファイルを探してこれらを開きます。
-
[適用] を選択します。
外部マスクのインポート: png ファイル
-
png 形式のマスク画像ファイルを準備します。たとえば、マスクは、マスク領域が黒色で、その他の領域 (背景) が白色の画像ファイルです。
-
マスク画像ファイルを開き、背景のピクセル値を取得します。上記の例の場合、値は 255 (ピクセルの明度) です。
Note: ピクセル値は、インポートするすべてのマスク画像で一貫している必要があります。 -
ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [マスクのインポート] に移動します。
-
[外部マスク画像] を選択します。
-
ステップ 2 の背景ピクセルの値を入力します。
-
[ファイルの選択] を選択し、png ファイルを探してこれらを開きます。
-
[適用] を選択します。
外部マスクのインポート: json ファイル
-
画像ファイルの名前とそれらのマスクの情報を含む JSON ファイルを準備します。
Note: 画像ファイルの名前は、VisionPro Deep Learning ワークスペースに読み込まれた画像ファイルの名前と正確に一致する (大文字小文字を含む) 必要があります。すべてのタイプのツールの場合、JSON ファイルには単一のビューのマスク情報が含まれる必要があります。したがって、ビューの総数と同じ数の JSON ファイルを準備する必要があります。ファイル拡張子を除く各 JSON ファイルのファイル名は、VisionPro Deep Learning の画像表示領域内の各ビューの画像ファイル名と正確に一致する必要があります。JSON ファイルは、以下の規則に従う必要があります。
-
キー値「Masks」をファイルに含める必要があり、各マスクの情報はキー値の下にリストする必要があります。
-
マスク情報には、「StrokeThickness」、「Shape」、および「Points」が含まれる必要があります。
-
「StrokeThickness」は、マスクの輪郭の太さです。
-
「Shape」はマスクの形状です。文字列型であり、次のいずれかでなければなりません: 「rectangle」、「ellipse」、「line」、「polyLine」、「polygon」
-
「Points」はマスクの形状を形成する座標のセットです。その値は、「Shape」によって決まります。
-
「rectangle」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)
-
「ellipse」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)
-
「line」: 始点の座標 (x0, y0) と終点の座標 (x1, y1)
-
「polyLine」: ポリラインを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)
-
「polygon」: ポリゴンを構成する座標 (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 に保存されます。