Main Content

ラベル付きのグラウンド トゥルース データの共有と保存

イメージ ラベラービデオ ラベラーグラウンド トゥルース ラベラー (Automated Driving Toolbox) アプリを使用すると、イメージ、ビデオ、およびその他のグラウンド トゥルース データ ソースにラベルを付けることができます。その後、グラウンド トゥルース ラベルを groundTruth オブジェクトとして、または グラウンド トゥルース ラベラー (Automated Driving Toolbox) アプリの場合は groundTruthMultisignal (Automated Driving Toolbox) オブジェクトとしてエクスポートできます。グラウンド トゥルース オブジェクトには、次の情報が含まれます。

  • 1 つ (または複数) のデータ ソース

  • ラベル定義

  • 描画済みのグラウンド トゥルース ラベル

このオブジェクトを以下と共有できます。

  • ラベル付けをしている他の同僚。これを使用して、ラベル付けを継続できます。

  • アルゴリズム開発者。これを使用して、オブジェクト検出器やセマンティック セグメンテーション ネットワークなどのアルゴリズムに学習させることができます。

  • 検証エンジニア。これを使用して、アルゴリズムを検証できます。

グラウンド トゥルースの共有

いずれかのラベル付けアプリからラベル付きのグラウンド トゥルース データをエクスポートして共有するには、[ラベルをエクスポート][ファイルへ] を選択します。その後、エクスポートした MAT ファイルをチーム内の個人と直接共有するか、共有のネットワークの場所に配置できます。

エクスポートしたグラウンド トゥルース データがピクセル ラベルを含む場合、アプリはそのピクセル ラベル データを含む PixelLabelData フォルダーも生成します。グラウンド トゥルース オブジェクトに保存されたラベル データ table は、このフォルダーのパスを参照します。このフォルダーをグラウンド トゥルース オブジェクトと共に共有します。

ラベル付けアプリを使用すると、アプリ セッション全体の MAT ファイルを保存することもできます。このファイルは共有しません。このセッション ファイルはローカル マシン固有のアプリ基本設定を含んでいるため、他のマシンでは機能しない可能性があります。

Labeler App showing the Save Session and Export options. You cannot share session files, but you can share exported ground truth data.

ピクセル ラベル データを含むグラウンド トゥルース オブジェクトを再エクスポートする場合、アプリは新しい PixelLabelData フォルダーを生成します。元のグラウンド トゥルース オブジェクトを上書きする場合でも、アプリは新しい PixelLabelData フォルダーを生成します。グラウンド トゥルース オブジェクトを再エクスポートした場合、生成されたフォルダーは、そのオブジェクトを同じフォルダーに再エクスポートした回数に応じて、PixelLabelData_1PixelLabelData_2 のように名前が付けられます。

グラウンド トゥルース オブジェクトを共有するときには、関連付けられた正しい PixelLabelData フォルダーを共有してください。たとえば、元のグラウンド トゥルース オブジェクトを上書きした場合、上書きしたオブジェクトと新しく作成された PixelLabelData_1 フォルダーを共有します。

Labeler exports ground truth MAT file from session A and then imports it into the labeler session B, and so on into and out of sessions of the same current folder. The exported ground truth from each session (and in same folder) overwrites the file and maintains the same name, but the pixel label data is appended with "_N" number to its name.

グラウンド トゥルース オブジェクトを共有することに加えて、1 つ (または複数) のデータ ソースおよび関連するファイルも共有しなければなりません。次の各表に、共有すべきファイルを各アプリのデータ ソースごとに示します。

イメージ ラベラー アプリの共有すべきファイル

データ ソース共有するファイル
イメージ コレクション
  • groundTruth オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • イメージ コレクションを含むフォルダー (共有場所にない場合)

ビデオ ラベラー アプリの共有すべきファイル

データ ソース共有するファイル
ビデオ
  • groundTruth オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • ビデオ ソース ファイル (共有場所にない場合)

イメージ シーケンス
  • groundTruth オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • イメージ シーケンスを含むフォルダー (共有場所にない場合)

  • タイムスタンプ duration ベクトル (指定した場合)

カスタム イメージ データ ソース リーダー
  • groundTruth オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • データ ソース ファイル (共有場所にない場合)

  • カスタム リーダー関数

グラウンド トゥルース ラベラー アプリの共有すべきファイル

データ ソース共有するファイル
ビデオ
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • ビデオ ソース ファイル (共有場所にない場合)

イメージ シーケンス
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • イメージ シーケンスを含むフォルダー (共有場所にない場合)

  • タイムスタンプ duration ベクトル (指定した場合)

カスタム イメージ データ ソース リーダー
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • データ ソース ファイル (共有場所にない場合)

  • カスタム リーダー関数

点群シーケンス
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • 点群シーケンスを含むフォルダー (共有場所にない場合)

  • タイムスタンプ duration ベクトル (指定した場合)

Velodyne® パケット キャプチャ (PCAP) ファイル
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • PCAP ソース ファイル (共有場所にない場合)

  • PCAP キャリブレーション ファイル

  • タイムスタンプ duration ベクトル (指定した場合)

rosbag
  • groundTruthMultisignal オブジェクト MAT ファイル

  • PixelLabelData フォルダー (ピクセル ラベルのみ)

  • rosbag ファイル

グラウンド トゥルースの移動

エクスポートしたグラウンド トゥルース オブジェクトの DataSource プロパティは、データ ソース ファイルの絶対パスを含んでいます。たとえば、イメージ ラベラー アプリからエクスポートされた groundTruth オブジェクト gTruth のパスを表示したいとします。MATLAB® コマンド プロンプトで次のコードを入力します。

gTruth.DataSource
ans = 

groundTruthDataSource for an image collection with properties

                      Source: {
                              ' ...\matlab\toolbox\vision\visiondata\imageSets\cups\bigMug.jpg';
                              ' ...\matlab\toolbox\vision\visiondata\imageSets\cups\blueCup.jpg';
                              ' ...\matlab\toolbox\vision\visiondata\imageSets\cups\handMade.jpg'
                               ... and 9 more
                              }
グラウンド トゥルース オブジェクトを新しい場所に移動した場合、1 つ (または複数) のデータ ソースに保存されているファイル パスの変更が必要な可能性があります。データ ソース ファイルが共有ネットワークにある場合でも、他のユーザーが異なるドライブ文字を自分のネットワーク フォルダーにマップしている場合は、ファイル パスが不正確な可能性があります。

これらのパスを更新するには、関数 changeFilePaths を使用します。グラウンド トゥルース オブジェクトをこの関数の入力引数として指定します。パスが変わってもファイル名は変わっていない場合、新旧のパスを含む string ベクトルを指定します。この関数は、解決できなかったパスを返します。たとえば、次のコード サンプルは、イメージ フォルダーのドライブ文字を変更する方法を示しています。

alternativePaths = ["C:\Shared\ImgFolder" "D:\Shared\ImgFolder"];
unresolvedPaths = changeFilePaths(gTruth,alternativePaths);

ファイル名も変わった場合は、新旧のパスを含む string ベクトルの cell 配列を指定します。たとえば、次のコード サンプルは、各ファイルのドライブ文字を変更する方法と、各ファイルに接尾辞を付加する方法を示しています。

alternativePaths =  ...
    {["C:\Shared\ImgFolder\Img1.png" "D:\Shared\ImgFolder\Img1_new.png"], ...
     ["C:\Shared\ImgFolder\Img2.png" "D:\Shared\ImgFolder\Img2_new.png"], ...
     .
     .
     .
     ["C:\Shared\ImgFolder\ImgN.png" "D:\Shared\ImgFolder\ImgN_new.png"]};
unresolvedPaths = changeFilePaths(gTruth,alternativePaths);

グラウンド トゥルース オブジェクトにピクセル ラベル データが含まれている場合、関数 changeFilePaths を使用して、PixelLabelData フォルダーに保存されたピクセル ラベル データのパス名を更新することもできます。

グラウンド トゥルースの保存

MATLAB 検索パス上の場所にグラウンド トゥルース オブジェクトを保存します。詳細については、MATLAB 検索パスとはを参照してください。

データ ソースの内容が 1 つのフォルダーに配置されている場合、グラウンド トゥルース オブジェクトをデータ ソースの親フォルダーに保存することを検討してください。別のフォルダーのイメージを含むイメージ コレクションの場合、オブジェクトの保存先に関する具体的な推奨事項はありません。イメージ コレクションにラベルを付ける場合は、イメージ ラベラー アプリを使用します。

ラベル付きビデオ シーンの抽出

ビデオ ラベラー アプリまたはグラウンド トゥルース ラベラー (Automated Driving Toolbox) アプリによって、データストアを使用して読み込める形式でエクスポートされた groundTruth オブジェクトまたは groundTruthMultisignal (Automated Driving Toolbox) オブジェクトから、ラベル付きビデオ シーンと対応するラベルを抽出できます。これらのラベル付きビデオ シーンは、学習、検証、および評価に使用できます。抽出されたビデオ シーンを使用すると、長いビデオの特定の範囲にビデオ ラベルを採用したり、深層学習技術を適用して異常を検出したり、ビデオ内の特定のアクティビティを認識したりできます。

  • 関数 sceneTimeRanges を使用して、ラベル付けされたシーンの時間範囲をグラウンド トゥルース オブジェクトから取得します。

  • 関数 writeVideoScenes を使用して、グラウンド トゥルース オブジェクト配列とラベル付けされたシーンの時間範囲情報を関数 sceneTimeRanges から取得し、ビデオ シーンをフォルダーに書き込みます。このデータは、データストア ベース深層学習の学習ワークフローおよび評価ワークフローで直接使用できます。

参考

アプリ

オブジェクト

関数

関連するトピック