パフォーマンスメトリクスの表示 - Amazon Lookout for Vision

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

パフォーマンスメトリクスの表示

コンソールから、DescribeModel オペレーションを呼び出すことで、パフォーマンスメトリクスを取得することができます。

パフォーマンスメトリクスの表示 (コンソール)

トレーニングが完了すると、コンソールにパフォーマンスメトリックが表示されます。

Amazon Lookout for Vision コンソールには、次のパフォーマンスメトリクスが表示されます:

モデルがセグメンテーションモデルの場合、コンソールには各異常ラベルについて以下のパフォーマンス指標も表示されます:

テスト結果の概要セクションには、テストデータセット内の画像の正しい予測と誤った予測の合計が表示されます。また、テストデータセットの個々の画像について、予測されたラベルの割り当てと実際のラベルの割り当てを見ることができます。

以下の手順では、プロジェクトのモデルリストビューからパフォーマンスメトリクスを取得する方法を示します。

パフォーマンスメトリクスを表示するには (コンソール)
  1. https://console.aws.amazon.com/lookoutvision/ で Amazon Lookout for Vision コンソールを開きます。

  2. [開始する] を選択します。

  3. 左側のナビゲーションペインで、[プロジェクト] を選択します。

  4. プロジェクトビューで、トレーニングしたいモデルを含むプロジェクトを選択します。

  5. 左側のナビゲーションペインで、プロジェクト名の下にある [モデル] を選択します。

  6. モデルリストビューで、表示するモデルのバージョンを選択します。

  7. モデルの詳細ページで、[パフォーマンスメトリクス] タブでパフォーマンスメトリクスを表示します。

  8. 次の点に注意してください。

    1. [モデル性能指標] セクションには、モデルがテスト画像に対して行った分類予測の全体的なモデル指標 (精度、再現率、F1 スコア) が含まれます。

    2. モデルが画像セグメンテーションモデルの場合、[ラベルごとのパフォーマンス] セクションには、異常ラベルが見つかったテスト画像の数が含まれます。また、各異常ラベルの指標 (F1 スコア、平均 IoU) も表示されます。

    3. [テスト結果概要] セクションには、Lookout for Vision がモデルの評価に使用する各テスト画像の結果が表示されます。この情報には以下が含まれます。

      • すべてのテスト画像の正しい (真陽性) 分類予測と正しくない (偽陰性) 分類予測 (正常または異常) の総数。

      • 各テスト画像の分類予測。画像の下に「正しい」と表示されている場合、予測された分類は画像の実際の分類と一致します。そうでなければ、モデルは画像を正しく分類しませんでした。

      • 画像セグメンテーションモデルでは、モデルが画像に割り当てた異常ラベルと、異常ラベルの色と一致する画像上のマスクが表示されます。

パフォーマンスメトリクスの表示 (SDK)

DescribeModel オペレーションを使用すると、モデルに対するサマリーパフォーマンスメトリクス (分類)、評価マニフェスト、モデルに対する評価結果を取得できます。

パフォーマンスメトリクスのサマリーを取得

テスト中にモデルによって行われた分類予測のサマリーパフォーマンスメトリクス (‏適合率リコール、および F1 スコア) は、DescribeModel への呼び出しによって返される Performance フィールドで返されます。

"Performance": { "F1Score": 0.8, "Recall": 0.8, "Precision": 0.9 },

Performance フィールドには、セグメンテーションモデルによって返された異常ラベルのパフォーマンスメトリクスは含まれません。それらは EvaluationResult フィールドから取得できます。詳細については、「評価結果の検証」を参照してください。

パフォーマンスメトリクスのサマリーの詳細については、「ステップ 1: モデルのパフォーマンスを評価する」を参照してください。サンプルコードについては、「モデルの表示 (SDK)」を参照してください。

評価マニフェストの使用

評価マニフェストは、モデルのテストに使用される個々の画像のテスト予測メトリクスを提供します。テストデータセット内の各画像について、JSON line には、元のテスト (ground truth) 情報と画像のモデルの予測が含まれます。Amazon Lookout for Vision では、評価マニフェストを Amazon S3 バケットに格納します。DescribeModel オペレーションからのレスポンスにある EvaluationManifest フィールドから位置情報を取得することができます。

"EvaluationManifest": { "Bucket": "lookoutvision-us-east-1-nnnnnnnnnn", "Key": "my-sdk-project-model-output/EvaluationManifest-my-sdk-project-1.json" }

ファイル名の形式は、EvaluationManifest-project name.json です。サンプルコードについては、「モデルの表示」を参照してください。

以下のJSON line のサンプルでは、class-name が画像の内容のグラウンドトゥルースです。この例では、画像に異常が含まれています。confidence フィールドは、Amazon Lookout for Vision の予測に対する信頼度を示しています。

{ "source-ref"*: "s3://customerbucket/path/to/image.jpg", "source-ref-metadata": { "creation-date": "2020-05-22T21:33:37.201882" }, // Test dataset ground truth "anomaly-label": 1, "anomaly-label-metadata": { "class-name": "anomaly", "type": "groundtruth/image-classification", "human-annotated": "yes", "creation-date": "2020-05-22T21:33:37.201882", "job-name": "labeling-job/anomaly-detection" }, // Anomaly label detected by Lookout for Vision "anomaly-label-detected": 1, "anomaly-label-detected-metadata": { "class-name": "anomaly", "confidence": 0.9, "type": "groundtruth/image-classification", "human-annotated": "no", "creation-date": "2020-05-22T21:33:37.201882", "job-name": "training-job/anomaly-detection", "model-arn": "lookoutvision-some-model-arn", "project-name": "lookoutvision-some-project-name", "model-version": "lookoutvision-some-model-version" } }

評価結果の検証

評価結果は、テスト画像の全セットについて、以下のような総計パフォーマンスメトリクス (分類) を示します:

評価結果には、モデルのトレーニングとテストに使用される画像の数も含まれます。

モデルがセグメンテーションモデルの場合、評価結果にはテストデータセットで見つかった各異常ラベルに関する次のメトリクスも含まれます:

Amazon Lookout for Vision では、評価結果を Amazon S3 バケットに格納します。DescribeModel オペレーションからの応答で EvaluationResult の値を確認することで、位置を取得することができます。

"EvaluationResult": { "Bucket": "lookoutvision-us-east-1-nnnnnnnnnn", "Key": "my-sdk-project-model-output/EvaluationResult-my-sdk-project-1.json" }

ファイル名の形式は、EvaluationResult-project name.json です。例については、「モデルの表示」を参照してください。

次のスキーマは、評価結果を示しています。

{ "Version": 1, "EvaluationDetails": { "ModelArn": "string", // The Amazon Resource Name (ARN) of the model version. "EvaluationEndTimestamp": "string", // The UTC date and time that evaluation finished. "NumberOfTrainingImages": int, // The number of images that were successfully used for training. "NumberOfTestingImages": int // The number of images that were successfully used for testing. }, "AggregatedEvaluationResults": { "Metrics": { //Classification metrics. "ROCAUC": float, // ROC area under the curve. "AveragePrecision": float, // The average precision of the model. "Precision": float, // The overall precision of the model. "Recall": float, // The overall recall of the model. "F1Score": float, // The overal F1 score for the model. "PixelAnomalyClassMetrics": //Segmentation metrics. [ { "Precision": float, // The precision for the anomaly label. "Recall": float, // The recall for the anomaly label. "F1Score": float, // The F1 score for the anomaly label. "AIOU" : float, // The average Intersection Over Union for the anomaly label. "ClassName": "string" // The anomaly label. } ] } } }