トレーニング データの準備
このページでは、AutoML Video Intelligence Classification が動画アノテーション モデルを作成できるように、トレーニング データとテストデータを準備する方法について説明します。
動画の準備
AutoML Video Intelligence Classification では、モデルのトレーニングや予測のリクエスト(動画へのアノテーション付け)に次の動画形式を使用できます。最大ファイルサイズは 50 GB(長さは 3 時間まで)です。 コンテナ内に含まれる個々の動画ファイルのうち、タイムスタンプが誤った形式または空となっている動画ファイルはサポートされません。
- .MOV
- .MPEG4
- .MP4
- .AVI
トレーニング用のデータは、予測を行うデータにできる限り近いものである必要があります。たとえば、低解像度のぼやけた動画(防犯カメラの動画など)で予測を行う場合は、トレーニング用のデータも低解像度のぼやけた動画で構成する必要があります。一般に、視点、解像度、背景が異なる動画をトレーニング用に準備することも検討する必要があります。
一般的に、AutoML Video Classification モデルは、人間が割り当てることができないラベルを予測することはできません。そのため、動画を 1~2 秒間見てラベルを割り当てるように人間をトレーニングできなければ、モデルもそのようにトレーニングすることはできません。
ラベルあたり約 1,000 件のトレーニング用動画または動画セグメントを用意することをおすすめします。ラベルあたりの最小数は 10 です。一般に、1 つの動画に複数のラベルを付けてモデルをトレーニングする場合は、ラベルあたりの必要なサンプルの数が多くなります。また、結果として得られるスコアの解釈がより難しくなります。
モデルが最もうまく機能するのは、最も一般的なラベルの動画数が、最も一般的でないラベルの動画数より多くても 100 倍を超えない場合です。非常に低い頻度のラベルは削除することをおすすめします。
None_of_the_above
ラベルと、定義されたラベルのいずれとも一致しない動画を含めることを検討してください。たとえば、動物のデータセットの場合、ラベルが付けられた種類以外の動物の動画を含め、それらにNone_of_the_above
のラベルを付けます。そうすることで、モデルの精度が向上します。ラベル名は何でも構いませんが、None_of_the_above
はシステムによって特別に扱われます。
トレーニング、検証、テスト用のデータセット
データセットのデータは、モデルをトレーニングするときに、トレーニング データセット、検証データセット、テスト データセットの 3 つのデータセットに分割されます。
- モデルの構築にはトレーニング データセットが使用されます。トレーニング データのパターンを探している間、複数のアルゴリズムとパラメータが試行されます。
- パターンが特定されると、検証データセットを使用してアルゴリズムとパターンがテストされます。トレーニング ステージで特定されたものから、最適なアルゴリズムとパターンが選択されます。
- 最適なアルゴリズムとパターンが特定されたら、テスト データセットを使用してエラーレート、品質、および精度がテストされます。
モデルのバイアスを避けるために、検証データセットとテスト データセットの両方が使用されます。検証ステージでは最適なモデル パラメータが使用されますが、指標に偏りが生じる可能性があります。検証ステージの後でテスト データセットを使用してモデルの品質を評価することにより、モデル品質を偏りなく評価できます。
トレーニング用、テスト用、検証用のデータを指定するには、次のセクションで説明する CSV ファイルを使用します。
動画の URI とラベルを含む CSV ファイルの作成
ファイルを Google Cloud Storage にアップロードしたら、すべてのトレーニング データとそのデータのカテゴリラベルをリストした CSV ファイルを作成できます。CSV ファイルのファイル名に決まりはありませんが、動画ファイルと同じバケットにあり、UTF-8 でエンコードする必要があり、拡張子は必ず .csv
とします。
モデルのトレーニングと検証には、次の 3 つのファイルを使用できます。
ファイル | 説明 |
---|---|
モデル トレーニング ファイルリスト | トレーニング用、テスト用、検証用の CSV ファイルへのパスが格納されます。 このファイルは、トレーニング データとテストデータを記述する最大 3 つの別個の CSV ファイルの場所を指定するために使用されます。 ファイルリスト CSV ファイルの内容の例をいくつか示します。 例 1: TRAIN,gs://automl-video-demo-data/hmdb_split1_5classes_train.csv TEST,gs://automl-video-demo-data/hmdb_split1_5classes_test.csv 例 2: UNASSIGNED,gs://automl-video-demo-data/hmdb_split1_5classes_all.csv |
トレーニング データ | モデルのトレーニングに使用されます。 動画ファイルへのパス、動画セグメントの開始時間と終了時間、動画セグメントの被写体を識別するラベルが格納されます。 トレーニング データの CSV ファイルを指定する場合は、テストデータの CSV ファイルも指定する必要があります。 |
テストデータ | トレーニング段階でモデルをテストするために使用されます。 動画ファイルへのパス、動画セグメントの開始時間と終了時間、動画セグメントの被写体を識別するラベルが格納されます。 テストデータの CSV ファイルを指定する場合は、トレーニング データの CSV ファイルも指定する必要があります。 |
未割り当てのデータ | モデルのトレーニングとテストの両方に使用されます。 動画ファイルへのパス、動画セグメントの開始時間と終了時間、動画セグメントの被写体を識別するラベルが格納されます。 未割り当てのファイルの行は、トレーニング データとテストデータに自動的に分割されます。80% がトレーニングに、20% がテストに使用されます。 トレーニング データとテストデータの CSV ファイルを指定せずに、未割り当てのデータの CSV ファイルのみを指定できます。未割り当てのデータの CSV ファイルを指定せずに、トレーニング データとテストデータの CSV ファイルのみを指定することもできます。 |
トレーニング、テスト、未割り当ての各ファイルには、アップロードするセット内の動画ごとに行が 1 つずつあり、各行に次の列があります。
分類またはアノテーション付けするコンテンツ。 このフィールドには、動画の Google Cloud Storage URI が含まれます。Google Cloud Storage URI では大文字と小文字が区別されます。
動画の分類方法を識別するラベル。. ラベルは文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。 動画に複数のラベルを指定するには、同じ動画セグメントを示す複数の行を CSV ファイルに追加し、各行に異なるラベルを指定します。
動画セグメントの開始時間と終了時間。 この 2 つのカンマ区切りフィールドでは、分析する動画セグメントの開始時間と終了時間を秒単位で指定します。開始時間は終了時間より前にする必要があります。どちらの値も負数でなく、動画の長さの範囲内である必要があります。 例:
0.09845,1.3600555
動画のコンテンツ全体を使用するには、開始時間を 0、終了時間を動画の長さ全体または「inf」にします。例:0,inf
CSV データファイルの行の例をいくつか示します。
単一ラベル:
gs://<your-video-path>/vehicle.mp4,u-turn,0,5.4
同じ動画セグメントの複数ラベル:
gs://<your-video-path>/vehicle.mp4,right-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,left-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,u-turn,0,8.285
inf
を使用して動画の終わりを示す場合:
gs://<your-video-path>/vehicle.mp4,right-turn,0,inf
正確なモデルを作成して最良の結果を得るためには、ラベルごとに少なくとも数百件のトレーニング用動画セグメントを含める必要があります。この数は、データの複雑さによって異なる場合があります。
ラベルを 1 つも指定せずに、CSV データファイルで動画を指定することもできます。この場合は、モデルをトレーニングする前に、AutoML Video UI を使用してデータにラベルを適用する必要があります。それには、動画の Cloud Storage URI の後に 3 つのカンマを続ければよいだけです。以下に例を示します。
gs://<your-video-path>/vehicle.mp4,,,
トレーニングされたモデルの結果の検証用データを指定する必要はありません。 AutoML Video は、トレーニング用として識別された行をトレーニング データと検証データに自動的に分割します。70% がトレーニングに、30% が検証に使用されます。
コンテンツを CSV ファイルとして Google Cloud Storage バケットに保存します。
CSV の一般的なエラー
- ラベルに Unicode 文字を使用する。たとえば、日本語の文字はサポートされていません。
- ラベルにスペースと英数字以外の文字を使用する。
- 空の行。
- 空の列(2 つの連続するカンマを含む行)。
- Cloud Storage の動画のパスの大文字と小文字が正しくない。
- 動画ファイルに構成されたアクセス制御が正しくない。サービス アカウントに読み取り以上のアクセス権があるか、ファイルが一般公開されている必要があります。
- 動画以外のファイル(PDF や PSD などのファイル)を参照している。同様に、動画ファイルでないファイルが動画の拡張子を使用して名前変更されている場合もエラーが発生します。
- 動画の URI が現在のプロジェクトとは異なるバケットを指している。 プロジェクト バケット内の動画にのみアクセスできます。
- CSV 以外の形式のファイル。