Amazon Lookout for Vision モデルの改善 - Amazon Lookout for Vision

サポート終了通知: 2025 年 10 月 31 日、 AWS は Amazon Lookout for Vision のサポートを終了します。2025 年 10 月 31 日以降、Lookout for Vision コンソールまたは Lookout for Vision リソースにアクセスできなくなります。詳細については、このブログ記事 を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Lookout for Vision モデルの改善

トレーニング中、Lookout for Vision はテストデータセットを使用してモデルをテストし、その結果を使用してパフォーマンスメトリクスを作成します。パフォーマンスメトリクスを使用して、モデルのパフォーマンスを評価できます。必要に応じて、データセットを改善し、モデルを再トレーニングする手順を実行できます。

モデルのパフォーマンスに満足している場合は、使用を開始できます。詳細については、「トレーニング済みの Amazon Lookout for Vision モデルの実行」を参照してください。

ステップ 1: モデルのパフォーマンスを評価する

パフォーマンスメトリクスは、コンソールからも DescribeModel オペレーションからもアクセスできます。Amazon Lookout for Vision は、テストデータセットのパフォーマンスメトリクスのサマリーと、すべての個別画像に対する予測結果を提供します。モデルがセグメンテーションモデルの場合、コンソールには各異常ラベルのサマリーメトリクスも表示されます。

コンソールでパフォーマンスメトリクスとテスト画像予測を表示するには、「パフォーマンスメトリクスの表示 (コンソール)」を参照してください。パフォーマンスメトリクスへのアクセスや、DescribeModel オペレーションによるテスト画像の予測については、「パフォーマンスメトリクスの表示 (SDK)」を参照してください。

画像分類指標

Amazon Lookout for Vision では、モデルがテスト中に行う分類について、次のようなサマリーメトリクスを提供します:

画像セグメンテーションモデルメトリクス

モデルが画像セグメンテーションモデルの場合、Amazon Lookout for Vision は各異常ラベルのサマリー画像分類メトリクスとサマリーパフォーマンスメトリクスを提供します:

‏適合率

適合率のメトリクスは、ある画像に異常があるとモデルが予測したとき、その予測はどれくらいの頻度で正しいか、という問いに答えるものです。

‏適合率は、偽陽性のコストが高い場合に便利なメトリクスです。例えば、組み立てられた機械から欠陥ではない機械部品を取り外すコストなどです。

Amazon Lookout for Vision は、テストデータセット全体の適合率メトリクス値のサマリーを提供します。

適合率は、すべての予測された異常 (真陽性および偽陽性) に対する正しく予測された異常 (真陽性) の割合です。適合率の計算式は次のとおりです。

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

適合率の範囲は 0~1 です。Amazon Lookout for Vision コンソールでは、適合率がパーセンテージ値 (0~100) として表示されます。

適合率の値が高いほど、予測された異常のうち正しいものが多いことを示します。例えば、モデルで 100 個の画像が異常であると予測するとします。85 個の予測が正しく (真陽性)、15 が誤り (偽陽性) の場合、適合率は次のように計算されます。

85 真陽性/(85 真陽性 + 15 偽陽性) = 0.85 適合率値

ただし、モデルが 100 個の異常予測のうち 40 個の画像しか正しく予測しなかった場合、結果の適合率値は、0.40(40/(40 + 60) = 0.40) と低い値になります。この場合、モデルは正しい予測よりも間違った予測を多く行っているということになります。これを修正するには、モデルを改善することを検討してください。詳細については、「ステップ 2: モデルを改善する」を参照してください。

詳細については、「適合率と再現率」を参照してください。

リコール

再現率メトリクスは、テストデータセットに含まれる異常画像の総数のうち、何枚が正しく異常画像と予測されたか、という問いに答えるものです。

再現率メトリクスは、偽陰性のコストが高い場合に便利です。例えば、欠陥部品を取り外さないコストが高い場合です。Amazon Lookout for Vision では、テストデータセット全体の再現率メトリクス値のサマリーが提供されます。

再現率は、正しく検出された異常テスト画像の割合です。これは、テストデータセットの画像に実際に異常な画像が存在する場合、モデルが正しく予測できる頻度を示す指標です。再現率の計算式は次のとおりです。

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

再現率の範囲は 0~1 です。Amazon Lookout for Vision コンソールでは、再現率がパーセント値 (0~100) として表示されます。

再現率値が大きいほど、より多くの異常な画像が正しく識別されることを示します。例えば、テストデータセットに 100 個の異常画像が含まれているとします。モデルが 100 個の異常画像のうち 90 個を正しく検出した場合、再現率は次のようになります。

90 真陽性/(90 真陽性 + 10 偽陰性) = 0.90 再現率値

再現率値 0.90 は、モデルがテストデータセット内のほとんどの異常画像を正しく予測していることを示します。モデルが異常画像を 20 個しか正しく予測しない場合、再現率は 0.20 (20/(20 + 80) = 0.20) と低い値になります。

この場合、モデルの改善を検討する必要があります。詳細については、「ステップ 2: モデルを改善する」を参照してください。

詳細については、「適合率と再現率」を参照してください。

F1 スコア

Amazon Lookout for Vision では、テストデータセットの平均モデルパフォーマンススコアが提供されます。具体的には、異常分類のモデルのパフォーマンスは F1 スコアというメトリクスで測定されます。これは適合率スコアと再現率スコアの調和平均となります。

F1 スコアは、適合率と再現率の両方を考慮した総合的な指標です。モデルのパフォーマンススコアは 0~1 の値をとります。値が大きいほど、再現率と適合率の両方でモデルのパフォーマンスが高い事を意味します。例えば、適合率が 0.9、再現率が 1.0 のモデルの場合、F1 スコアは 0.947 になります。

モデルのパフォーマンスが良好でない場合、例えば、適合率が 0.30 と低いと、再現率が 1.0 と高くても F1 スコアは0.46になります。同様に、適合率が高くとも (0.95)、再現率が低い場合 (0.20)、F1 スコアは0.33 になります。どちらの場合も、F1 スコアは低く、これはモデルに問題があることを示しています。

詳細については、「F1 スコア」を参照してください。

アベレージ・インターセクション・オーバー・ユニオン (IoU)

テスト画像の異常マスクと、モデルがテスト画像について予測する異常マスクとの間の重なりの平均パーセンテージ。Amazon Lookout for Vision は、各異常ラベルの平均 IoU を返します。画像セグメンテーションモデルによってのみ返されます。

低いパーセンテージ値は、モデルがラベルの予測マスクとテスト内のマスクを正確に一致させていないことを示しています。

次の画像は IoU が低くなっています。オレンジ色のマスクはモデルからの予測であり、テスト画像のマスクを表す青いマスクをしっかりと覆っていません。

Close-up of a car's front bumper with blue and pink paint marks, indicating damage.

次の画像は IoU が高くなっています。青いマスク (テスト画像) はオレンジ色のマスク (予測マスク) でしっかりと覆われています。

Close-up of a car's front section with purple paint scratches on the white body panel.

テスト結果

テスト中、モデルはテストデータセット内の各テスト画像の分類を予測します。各予測の結果は、以下のように対応するテスト画像のラベル (正常または異常) と比較されます。

  • 画像が異常であると正しく予測された場合、真陽性とみなされます。

  • 画像が異常であると誤って予測された場合、偽陽性とみなされます。

  • 画像が正常であると正しく予測された場合、真陰性とみなされます。

  • 画像が正常であると誤って予測された場合、偽陰性とみなされます。

モデルがセグメンテーションモデルの場合、モデルはテスト画像上の異常箇所に対するマスクと異常ラベルも予測します。

Amazon Lookout for Vision では、比較の結果を使用してパフォーマンスメトリクスが生成されます。

ステップ 2: モデルを改善する

パフォーマンスメトリクスは、モデルを改善できることを示している場合があります。例えば、モデルがテストデータセット内のすべての異常を検出しない場合、モデルの再現率は低い (再現率メトリクスの値が低い) ことになります。モデルを改善する必要がある場合は、以下の点を考慮します。

  • トレーニングデータセット画像とテストデータセット画像に適切なラベルが付けられていることを確認します。

  • 照明や物体の外観など、画像の撮影条件のばらつきを抑え、同じ種類の物体でモデルをトレーニングさせます。

  • 画像には必要なコンテンツのみが表示されていることを確認してください。例えば、プロジェクトで機械部品の異常が検出された場合は、画像内に他のものがないことを確認してください。

  • トレーニングデータセットとテストデータセットにラベル付き画像を追加します。テストデータセットが優れた再現率と適合率を持つにもかかわらず、モデルをデプロイしたときのパフォーマンスが低い場合、テストデータセットの表示が十分でない可能性があり、それを拡張する必要があります。

  • テストデータセットの再現率と適合率が低い場合、トレーニングとテストのデータセットにおける異常と画像のキャプチャ条件がどれくらい一致しているかに配慮してください。トレーニング画像が予想される異常や条件を表していないのに、テスト画像内の画像がそうである場合は、画像を予想される異常や条件を含むトレーニングデータセットに画像を追加します。テストデータセットの画像は予想どおりの状態ではないものの、トレーニング画像は予想どおりの状態である場合は、テストデータセットを更新してください。

    詳細については、「画像をさらに追加する」を参照してください。ラベル付けされた画像をトレーニングデータセットに追加する別の方法として、検出タスクを試行し、結果を検証する方法があります。その後、検証済み画像をトレーニングデータセットに追加できます。詳細については、「トライアル検出タスクでモデルを検証する」を参照してください。

  • トレーニングおよびテストデータセットに、色々な正常画像と異常画像が十分あることを確認します。画像は、モデルが遭遇する正常画像と異常画像のタイプを表現している必要があります。例えば、回路基板を解析する場合、抵抗やトランジスタなどの部品の位置やハンダ付けのばらつきを正常な画像として表現する必要があります。異常画像は、部品の取り違えや紛失など、システムが遭遇する可能性のあるさまざまな種類の異常を表現している必要があります。

  • モデルで、検出された異常タイプの平均 IoU が低い場合は、セグメンテーションモデルからのマスク出力をチェックします。スクラッチなどの一部のユースケースでは、モデルが出力するスクラッチは、テスト画像のグラウンドトゥルーススクラッチに非常に近いものの、ピクセルオーバーラップが低いことがあります。たとえば、1 ピクセル離れた 2 本の平行線のようにです。このような場合、平均 IoU は予測の成功度を測定する指標としては信頼性が低くなります。

  • 画像サイズが小さい場合や画像の解像度が低い場合は、より高い解像度で画像をキャプチャすることを検討してください。画像のサイズは、64 x 64 ピクセルから最大 4096 ピクセル x 4096 ピクセルまでさまざまです。

  • 異常サイズが小さい場合は、画像を別々のタイルに分割し、そのタイル画像をトレーニングとテストに使用してください。これにより、モデルは画像内で欠陥をより大きなサイズで見ることができます。

トレーニングデータセットとテストデータセットを改善したら、モデルを再トレーニングして再評価します。詳細については、「モデルのトレーニング」を参照してください。

メトリクスによってモデルの性能が許容範囲であることが示された場合、テストデータセットに試行検出タスクの結果を追加することによって、その性能を検証することができます。再トレーニング後、パフォーマンスメトリクスは前回のトレーニングでのパフォーマンスメトリクスを確認する必要があります。詳細については、「トライアル検出タスクでモデルを検証する」を参照してください。