Cognex ラベルのインポート/エクスポートのプラグイン

CLIP (Cognex ラベルのインポート/エクスポートのプラグイン) は、VisionPro Deep Learning ツールのラベル、マスク、画像 (エクスポートのみ) のインポート/エクスポートを支援する VisionPro Deep Learning プラグインです。

 

CLIP の基本

VisionPro Deep Learning では、ラベル、マスク、画像はビュー (ROI 定義のビュー) に基づいてインポート/エクスポートされます。そのため、VisionPro Deep Learning の各ビューの ROI が定義された後にのみ、ラベルまたはマスクをインポートできます。ラベルまたはマスクが、定義された ROI に適合しない場合、それらはインポートされません。

Note: CLIP は、領域ごとに分割されたビューをサポートしています (たとえば、1_l2c1png|0:1 and 1_l2c1png|0:2)。
Tip: ROI の詳細については、解析 (赤) の例とともに「対象領域の定義 (ROI)」を参照してください。

 

VisionPro Deep Learning ビューブラウザの各ビュー (ファイルタイプを除く) の画像ファイル名と、インポートするラベル/マスクファイル名が完全に一致している必要があります。たとえば、ビューブラウザでファイル名が「name.png」である特定のビューのラベルをインポートする場合、ラベルファイル名は「name.png」、「name.vrlf」(解析 (赤))、または「name.vglf」(分類 (緑)) のいずれかである必要があります。

Note: ビューブラウザの詳細については、「ビューブラウザ - グリッドモード」と「ビューブラウザ - リストモード」を参照してください。

 

インポート/エクスポート形式

画像ファイルタイプ

タイプ

インポート

エクスポート

画像

-

-

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 のアクティブ化

  1. VisionPro Deep Learning を実行します。

  2. [プラグイン] > [プラグインの管理] に移動します。

     

  3. [追加] ボタンを選択します。

     

  4. CLIP.VPlugin.dll を選択し、[開く] を選択します。

     

  5. プラグインマネージャを閉じます。

  6. ワークスペースを作成またはインポートし、このワークスペースのストリームでツールを作成またはインポートします。

    Note: ワークスペース、ストリーム、ツールの詳細については、「ワークスペース、ストリーム、ツール 」を参照してください。
  7. 画像をツールに読み込み、ROI を設定してビューを定義します。

  8. ツールを選択し、[プラグイン] メニューに移動します。選択したツールによって、[インポート] および [エクスポート] メニューが表示されます。

 

ラベルのインポート

  解析 (赤) 分類 (緑) 位置決め (青) 読み取り (青)

内部ラベルのインポート

(VisionPro Deep Learning 内部ラベルファイル形式のラベルファイル)

O

O

X

X

外部ラベルのインポート: png ファイル

(ラベルを表す画像ファイル)

O

X

X

X

外部ラベルのインポート:JSON ファイル

(ラベル情報を含む JSON ファイル)

O

O

X

X

 

内部ラベルのインポート

  1. VisionPro Deep Learning 内部ラベル形式のラベルファイルを準備します。

    • 解析 (赤) ラベル形式: .vrlf

    • 分類 (緑) ラベル形式: .vglf

      Note: VisionPro Deep Learning ツールから VisionPro Deep Learning 内部ラベルファイルを取得するには、以下の「ラベルのエクスポート」を参照してください。
  2. ワークスペースを開き、ストリームで 解析 (赤) または 分類 (緑) ツールを選択します。

  3. [プラグイン] > [ラベルのインポート] に移動します。

  4. [内部ラベル画像] と [ファイルの選択] を選択します。

     

  5. 内部ラベルファイルを探してこれらを開きます。

 

外部ラベルのインポート: pngファイル (解析 (赤))

  1. png 形式のラベル画像ファイルを準備します。たとえば、ラベルは、背景 (良好な領域) が白色で、欠陥のある領域が黒色の画像ファイルです。

  2. ラベル画像ファイルを開き、背景のピクセル値を取得します。上記の例の場合、値は 255 (ピクセルの明度) です。

    Note: 背景のピクセル値は、インポートするすべてのラベル画像で一貫している必要があります。
  3. ワークスペースを開き、ストリームで 解析 (赤) ツールを選択し、[プラグイン] > [ラベルのインポート] に移動します。

  4. [外部ラベル画像] を選択します。

     

  5. ステップ 2 の背景ピクセルの値を入力します。

  6. [ファイルの選択] を選択し、png ファイルを探してこれらを開きます。

  7. [適用] を選択します。

 

外部ラベルのインポート:JSON ファイル

  1. 画像ファイルの名前とそれらのラベルの情報を含む JSON ファイルを準備します。

    Note: 画像ファイルの名前は、VisionPro Deep Learning ワークスペースに読み込まれた画像ファイルの名前と正確に一致する (大文字小文字を含む) 必要があります。

     

    分類 (緑) の場合、JSON ファイルにはすべてのビューのラベル情報が含まれる必要があります。JSON ファイルは、以下の規則に従う必要があります。

    1. キー値「classes」と「images」をファイルに含める必要があります。

    2. 「classes」の子として、{index (string type), class name (string type)} のペアを含める必要があります。

    3. キー値「images」には、各画像ファイル名の下に「class」を含める必要があります。

     

    コピー
    Green Classify JSON Label Example
    "classes": {
            "0": "OK",
            "1": "NG"
        }
     
    "images": {
            "CAM1-NG.png": {
                "class": [
                    1
                ]
            },
            "CAM2-NG.png": {
               "class": [         
       1
                ]
           }
    }
  2.  

    解析 (赤) の場合、JSON ファイルには単一のビューのラベル情報が含まれる必要があります。したがって、ビューの総数と同じ数の JSON ファイルを準備する必要があります。ファイル拡張子を除く各 JSON ファイルのファイル名は、VisionPro Deep Learning の画像表示領域内の各ビューの画像ファイル名と正確に一致する必要があります。JSON ファイルは、以下の規則に従う必要があります。

    1. キー値「Labels」をファイルに含める必要があり、各ラベルの情報はキー値の下にリストする必要があります。

    2. ラベル情報には、「StrokeThickness」、「Shape」、および「Points」が含まれる必要があります。

    3. 「クラス」は、文字列などではなく、正の整数 (unsigned long 型) で入力する必要があります。

    4. 「StrokeThickness」は、欠陥領域の輪郭の太さです。

    5. 「Shape」は領域の形状です。文字列型であり、次のいずれかでなければなりません: 「rectangle」、「ellipse」、「line」、「polyLine」、「polygon」

    6. 「Points」は領域の形状を形成する座標のセットです。その値は、「Shape」によって決まります。

      1. 「rectangle」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)

      2. 「ellipse」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)

      3. 「line」: 始点の座標 (x0, y0) と終点の座標 (x1, y1)

      4. 「polyLine」: ポリラインを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)

      5. 「polygon」: ポリゴンを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)

     

    コピー
    Red Analyze JSON Label Example
    "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"
          ]
        }
      ]

     

  3. ワークスペースを開き、ストリームで 解析 (赤) または 分類 (緑) ツールを選択し、[プラグイン] > [ラベルのインポート] に移動します。

  4. JSON と [ファイルの選択] を選択します。

     

  5. JSON ファイルを探してこれを開きます。

  6. [適用] を選択します。

 

ラベルのエクスポート

  解析 (赤) 分類 (緑) 位置決め (青) 読み取り (青)

ラベルのエクスポート (ラベルは VisionPro Deep Learning 内部ラベルファイル形式でエクスポートされます)

O

O

X

X

 

  1. ワークスペースを開き、ストリームで 解析 (赤) または 分類 (緑) ツールを選択し、[プラグイン] > [画像のエクスポート] に移動します。

     

  2. [ラベル] チェックボックスを有効にし、[参照] を選択して、保存するラベルファイルの場所を選択します。

  3. [エクスポート] を選択します。

  4. ラベルファイルは、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

 

内部マスクのインポート

  1. VisionPro Deep Learning の内部マスク形式のマスクファイルを準備します。

    • VisionPro Deep Learning マスク形式: .vmf

    Note: VisionPro Deep Learning ツールから VisionPro Deep Learning 内部マスクファイルを取得するには、以下の「マスクのエクスポート」を参照してください。
  2. ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [マスクのインポート] に移動します。

  3. [内部マスク画像] と [ファイルの選択] を選択します。

     

  4. 内部マスクファイルを探してこれらを開きます。

  5. [適用] を選択します。

 

外部マスクのインポート: png ファイル

  1. png 形式のマスク画像ファイルを準備します。たとえば、マスクは、マスク領域が黒色で、その他の領域 (背景) が白色の画像ファイルです。

  2. マスク画像ファイルを開き、背景のピクセル値を取得します。上記の例の場合、値は 255 (ピクセルの明度) です。

    Note: ピクセル値は、インポートするすべてのマスク画像で一貫している必要があります。
  3. ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [マスクのインポート] に移動します。

  4. [外部マスク画像] を選択します。

     

  5. ステップ 2 の背景ピクセルの値を入力します。

  6. [ファイルの選択] を選択し、png ファイルを探してこれらを開きます。

  7. [適用] を選択します。

 

外部マスクのインポート: json ファイル

  1. 画像ファイルの名前とそれらのマスクの情報を含む JSON ファイルを準備します。

    Note: 画像ファイルの名前は、VisionPro Deep Learning ワークスペースに読み込まれた画像ファイルの名前と正確に一致する (大文字小文字を含む) 必要があります。

     

    すべてのタイプのツールの場合、JSON ファイルには単一のビューのマスク情報が含まれる必要があります。したがって、ビューの総数と同じ数の JSON ファイルを準備する必要があります。ファイル拡張子を除く各 JSON ファイルのファイル名は、VisionPro Deep Learning の画像表示領域内の各ビューの画像ファイル名と正確に一致する必要があります。JSON ファイルは、以下の規則に従う必要があります。

     

    1. キー値「Masks」をファイルに含める必要があり、各マスクの情報はキー値の下にリストする必要があります。

    2. マスク情報には、「StrokeThickness」、「Shape」、および「Points」が含まれる必要があります。

    3. 「StrokeThickness」は、マスクの輪郭の太さです。

    4. 「Shape」はマスクの形状です。文字列型であり、次のいずれかでなければなりません: 「rectangle」、「ellipse」、「line」、「polyLine」、「polygon」

    5. 「Points」はマスクの形状を形成する座標のセットです。その値は、「Shape」によって決まります。

      1. 「rectangle」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)

      2. 「ellipse」: 左上の座標 (x0, y0) と右下の座標 (x1, y1)

      3. 「line」: 始点の座標 (x0, y0) と終点の座標 (x1, y1)

      4. 「polyLine」: ポリラインを構成する座標 (x0, y0)、(x1, y1)、... (xN, yN)

      5. 「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"
          ]
        }
      ]
  2.  

  3. ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [マスクのインポート] に移動します。

  4. JSON と [ファイルの選択] を選択します。

     

  5. JSON ファイルを探してこれを開きます。

  6. [適用] を選択します。

 

マスクのエクスポート

  解析 (赤) 分類 (緑) 位置決め (青) 読み取り (青)
マスクのエクスポート (VisionPro Deep Learning のデフォルトのマスクファイル形式のマスクファイル) O O O O

 

  1. ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [画像のエクスポート] に移動します。

     

  2. [マスク] チェックボックスを有効にし、[参照] をクリックして、保存するマスクファイルの場所を選択します。

  3. [エクスポート] を選択します。

  4. マスクファイルは、SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Masks に保存されます。

 

画像のエクスポート

  解析 (赤) 分類 (緑) 位置決め (青) 読み取り (青)
画像のエクスポート (png ファイル形式の画像ファイル) O O O O

 

  1. ワークスペースを開き、ストリームでツールを選択し、[プラグイン] > [画像のエクスポート] に移動します。

     

  2. [画像] チェックボックスを有効にし、[参照] をクリックして、保存する画像ファイルの場所を選択します。

  3. [エクスポート] を選択します。

  4. 画像ファイルは、SELECTED_PATH/WORKSPACE_NAME/STREAM_NAME/TOOL_NAME/Images に保存されます。