結果の解釈

学習と処理が完了すると、ツールの結果がすべてのビューに対して計算されます。ただし、ツールを正しく評価するには、テストセットでのみ結果を確認する必要があります。

 

テストセット:結果評価のための画像

VisionPro Deep Learning 内の統計的な測定は、学習したニューラルネットワークのパフォーマンスを評価するために使用されます。ディープラーニングのパラダイム内で評価とは、学習したニューラルネットワークモデルをテストデータ (ユーザによってラベル付けされているが、まだ学習に使用されていないデータ) に対して評価するプロセスのことです。そのため、統計測定を通じてニューラルネットワークモデルの可用性とパフォーマンスを決定する場合、これらの測定はテストデータのみに基づいて計算する必要があります。

ニューラルネットワークモデル、つまりツール (位置決め (青)/読み取り (青)、分類 (緑)、または解析 (赤)) の学習後、モデルが適切に学習しているかどうかを確認したい場合、このモデルの学習に使用したデータに対してモデルをテストすることはできないことを理解しておくことが重要です。学習済みのモデルの評価に学習データを使用することはできません。これは、そのモデルは指定された学習データセットで最大限のパフォーマンスが得られるように学習中にこのデータに既に適合しているためです。そのためこのデータから、モデルがどの程度十分に一般化されているかや、未知の新しいデータに対して望ましいパフォーマンスを発揮するかどうかを知ることはできません。

 

 

したがって、モデルの可用性とパフォーマンスを公正かつ正確にテストするには、学習フェーズを含め、未知のデータにモデルを適用する必要があります。モデル評価用のデータがテストデータセットと呼ばれるのはこのためです。

 

データベースの概要

[データベースの概要] ペインは、学習に使用された画像やビューに関する情報や、Cognex Deep Learning ツールによって出力された統計へのアクセスを提供します。選択されたツールに応じて、このペインの表示は異なります。

 

タグの名前を変更するには、名前をクリックし、鉛筆アイコンを押して [タグの名前変更] ダイアログを起動します。

 

エキスパートモードでは、[フィルタ] フィールドを使用して画像/ビューを分割したり、これらの画像/ビューで統計分析を実行したりすることができます。画像/ビューをフィルタ処理するためのシンタックスの詳細については、「表示フィルタ」および「フィルタ」を参照してください。フィルタの使用可能性の詳細については、「テスト画像サンプルセット」のトピックを参照してください。

 

処理時間

以下に示すように、各ツールの処理時間はデータベースの概要に表示されます。

 

 

処理時間は、最後の処理タスクの画像あたりの平均処理時間であり、処理時間と後処理時間の合計です。複数のツールが含まれるストリームの処理時間は、VisionPro Deep Learning GUI を通じて使用することはできません。処理時間には、ツール間のビュー情報の準備および転送に必要な時間が含まれるため、ストリームで各ツールのツール実行時を合計することで予測することはできません。

Note: API のストリームの処理に関して、Stream.Process() を呼び出した場合、ストリーム内のツールの処理は常にシリアル化されることに注意してください。明示的に Tool.Process() を使用して個別にツールを処理する場合を除き、一度に 1 つのツールのみが処理されます。
Note: 学習や処理を高速化する方法については、「速度の最適化」を参照してください。
Note: 学習や処理に関する一般的なヒントとコツについては、「アプリケーション設定 」を参照してください。

 

測定結果

分類 (緑) ツールの統計には、再現率、適合率、および F 値が含まれています。また、インタラクティブなコンフュージョンマトリックス ([データベースの概要] に表示) も含まれています。

 

分類 (緑) フォーカス によって出力される測定は次のとおりです。

  • コンフュージョンマトリックス
  • 適合率、再現率、および F 値
Note: 学習セットで使用されなかったラベル付き画像の結果だけが表示されます。

 

基本概念:偽陽性、偽陰性

統計結果のコンポーネントに加えて、偽陽性および偽陰性の結果に対するそれらの影響を理解することも重要です。

画像の欠陥を取り込むために構築された画像検査システムがあるとします。ある画像で 1 つ以上の欠陥が取り込まれた場合、その画像の検査結果は「陽性」となり、欠陥がまったく取り込まれない場合、その画像の検査結果は「陰性」となるとします。検査タスクの統計結果は、以下のように要約できます。

 

  • 偽陽性 (タイプ I エラーとも呼ばれる)

    • 検査システムは画像のクラスを識別しますが、この画像は実際にはそのクラスに属していません。

  • 偽陰性 (タイプ II エラーとも呼ばれる)

    • この画像は画像のクラスに属するものとして識別されるべきですが、検査システムは画像のクラスを識別できませんでした。

 

基本概念:適合率、再現率、F 値

次に偽陽性と偽陰性についてまとめ、指標として適合率と再現率を使用して再度示します。これらの指標はすべての VisionPro Deep Learning ツールで使用される統計結果です。

 

  • 適合率
    • 適合率の低いニューラルネットワークは通常、正しく分類されるべき画像 (テストデータ) を正しく分類できず、多くの偽陽性の判定 (タイプ 1 エラー) を返します。
    • 適合率の高いニューラルネットワークは通常、画像データ (テストデータ) を正しく分類することに成功しますが、再現率が低い場合、多くの偽陰性の判定 (タイプ 2 エラー) が発生する可能性があります。
  • 再現率
    • 再現率の低いニューラルネットワークは通常、正しく分類されるべき画像 (テストデータ) を十分に分類できず、多くの偽陽性の判定 (タイプ 2 エラー) を返します。
    • 再現率の高いニューラルネットワークは通常、画像 (テストデータ) を十分に検出することに成功しますが、適合率が低い場合、多くの偽陽性の判定 (タイプ 1 エラー) が発生する可能性があります。

 

まとめると、

  • 適合率 - 検出されたクラスがラベル付きクラスに一致する割合。
  • 再現率 - ツールによって正しく識別されたラベル付きクラスの割合。
  • F 値 - 再現率と適合率の調和平均。

 

ほぼすべての検査 (例外的な検査もあり得る) で理想的な統計結果を得るには、適合率と再現率がどちらも高いことが求められます。

Note: 適合率、再現率、F1 値を最適化する方法については、「適合率、再現率、F 得点の最適化」を参照してください。

 

分類 (緑) のコンフュージョンマトリックス

コンフュージョンマトリックスは、教師データとツールの予測を視覚的に表したものです。分類 (緑) ツールのコンフュージョンマトリックスは、再現率と適合率の得点をグラフで表したものです。左側のコンフュージョンマトリックスが右側のテーブルに表示されています。[データベースの概要] のコンフュージョンマトリックスで各円をクリックすると、テーブルの各セルの対応する項目 (ビュー) がビューブラウザに表示されます。

 

 

予測されるクラス

Bauble

Beef

Grizzly

Key

Nuts

実際のクラス

Bauble

18

2 2 2  

Beef

 

23

   

1

Grizzly

   

24

   

Key

6    

18

 

Nuts

  2    

22

 

コンフュージョンマトリックスのセルの色は、予測されるビューの数 (セルの値) とラベル付けされたビューの総数 (行の合計) の比率を表します。色が暗いほど比率が高く、明るいほど比率が低くなります。

 

たとえば、ラベルが「Bauble」であるビューのうち、「Bauble」に分類されるビューの数が 18 であり、75% (18/24) を占めているため、インデックス (1,1) のセルの色は濃い赤となります。

 

たとえば、ラベルが「Bauble」であるビューのうち、「Beef」に分類されるビューの数が 2 であるため、インデックス (1,2) のセルの色は黄色となります。「Beef」と分類されるビューの数は、ラベルが「Bauble」であるビューの 8.3% (2/24) を占めています。

 

望ましい結果を表すため、通常は暗い色のセルをコンフュージョンマトリックスの対角インデックスに配置することをお勧めします。

パフォーマンス良好

パフォーマンス不良

 

コンフュージョンマトリックステーブルの変数

変数 説明
タグ クラスラベル。
検出 このクラスとして分類された (予測された、マークされた) ビューの合計数。
学習 このクラスとしてラベル付けされ、学習セットに含まれているビューの合計数。
ラベル付き このクラスとしてラベル付けされたビューの合計数。
N/C
(分類されていません)

学習セットに含まれておらず、得点 (クラスの確率) がしきい値を下回っているビューの割合。

再現率

このクラスとしてラベル付けされ、学習セットに含まれていないビューのうち、正しく分類されたビューの割合。詳細については、以下のセクションを参照してください。

適合率 このクラスとして分類され、学習セットに含まれていないビューのうち、正しく分類されたビューの割合。詳細については、以下のセクションを参照してください。
F 値 上記で計算された適合率と再現率の調和平均。

 

コンフュージョンマトリックスの計算:すべてのビューと未学習ビュー

コンフュージョンマトリックスの [カウント] オプションは、すべてのビュー (すべて)、または学習セットに含まれていないビュー (未学習ビュー) のみから計算された現在のツールの結果を提供します。学習画像とテスト画像を含むすべてのビューから生成された結果と、テスト画像である未学習ビューのみから生成された結果を切り替えることができます。

 

分類 (緑) の適合率、再現率、F 値

適合率と再現率は、ツールの学習に使用されていないデータを使用して計算されます。F 値は、適合率と再現率の調和平均であり、学習セットに含まれていないデータにも基づいています。表示フィルタを使用して、コンフュージョンマトリックステーブルの値と同じ値を手動で計算できます。

 

予測されるクラス

Bauble

Beef

Grizzly

Key

Nuts

実際のクラス

Bauble

18

2 2 2  

Beef

 

23

   

1

Grizzly

   

24

   

Key

6    

18

 

Nuts

  2    

22

 

  • クラス「Beef」の適合率の計算例 (表示フィルタ構文)

    • 真陽性: best_tag='Beef' and tag![name='Beef'] and not trained

    • 偽陽性: best_tag='Beef' and tag![name!='Beef'] and not trained

    • 適合率 = 真陽性 / (真陽性 + 偽陽性)

  • クラス「Beef」の再現率の計算例 (表示フィルタ構文)

    • 真陽性: best_tag='Beef' and tag![name='Beef'] and not trained

    • 偽陰性: best_tag!='Beef' and tag![name='Beef'] and not trained

    • 再現率 = 真陽性 / (真陽性 + 偽陰性)

  • クラス「Beef」の F 値の計算例

 

適合率の計算

分類 (緑) ツールの場合、適合率は、検出されたクラスがラベル付きクラスに一致する割合として計算されます。

ツールでは、適合率はクラス i として予測されている、正しく分類されているビューの割合として計算されます。

たとえば、クラス「むね肉」の適合率が 90% の場合は、ニューラルネットワークが鶏むね肉の画像を 10 回のうち 1 回は別のクラスと混同することを意味します。

 

予測されるクラス

むね肉

すね肉

ひれ肉

手羽元

骨付きもも肉

首肉

焼き鳥

むね肉のスライス

もも肉

手羽先

実際のクラス

むね肉

19

           

1

   

すね肉

 

14

   

2

   

2

2

 

ひれ肉

   

20

             

手羽元

     

19

1

         

骨付きもも肉

       

18

         

首肉

   

2

   

17

       

焼き鳥

1

         

13

     

むね肉のスライス

4

 

4

       

14

   

もも肉

       

1

   

2

16

 

手羽先

                 

20

 

再現率の計算

分類 (緑) ツールの場合、再現率はツールによって正しく識別されたラベル付きクラスの割合です。

ツールでは、クラス i としてラベル付けされている分類済みビューのうち、クラス i として正しく分類されているビューの割合として再現率を計算します。

たとえば、クラス「むね肉」の再現率が 90% の場合は、ニューラルネットワークが鶏むね肉の画像を 10 回のうち 9 回正しく分類することを意味します。

 

予測されるクラス

むね肉

すね肉

ひれ肉

手羽元

骨付きもも肉

首肉

焼き鳥

むね肉のスライス

もも肉

手羽先

実際のクラス

むね肉

19

           

1

   

すね肉

 

14

   

2

   

2

2

 

ひれ肉

   

20

             

手羽元

     

19

1

         

骨付きもも肉

       

18

         

首肉

   

2

   

17

       

焼き鳥

1

         

13

     

むね肉のスライス

4

 

4

       

14

   

もも肉

       

1

   

2

16

 

手羽先

                 

20

 

F 値の計算

分類 (緑) ツールの場合、F 値再現率値と適合率値の調和平均を示します。F 値は、ツールの総合的な適合率を最もよく表す傾向があります。

ツールを最適化するには、次のことを考慮してください。

  • 偽陽性を完全に避けるには、適合率得点 100 をターゲットにする
  • 偽陰性を完全に避けるには、再現率得点 100 をターゲットにする

それ以外の場合は、以下をターゲットにします。

  • 希薄なクラスが重要になる、偏った問題の場合は、F 値に従う。
  • すべてのクラスの平均の F 値を使用する。
  • しきい値処理パラメータを 0% に設定し、分類されていないビューの割合が変化しないようにする。
Note: 結果の予期しない低パフォーマンスが発生し、その原因として間違ったラベル付けまたはノイズの多いラベルが疑われる場合、ビューごとにラベルの品質レベルを調べ、誤ったラベルを修正することができます。詳細については、「ラベルチェックによるラベル付けの最適化」を参照してください。

 

非排他的モード (マルチクラス) の統計

学習と処理が完了すると、非排他的な分類 (緑) フォーカスツールの結果がクラスごとに計算されます。つまり、再現率、適合率、F 得点がクラスごとに計算されます。排他的モードの分類 (緑) フォーカスと同様に、再現率、適合率、F 値の計算では、すべてのクラスの中で最も確率が高いクラスである「best_tag」に基づいて真陽性、真陰性、偽陽性、偽陰性が計算されます。