Main Content

ラベル付けでのカスタム イメージ ソース リーダーの使用

ビデオ ラベラー アプリやグラウンド トゥルース ラベラー (Automated Driving Toolbox) アプリを使用すると、ビデオやイメージのシーケンスに含まれるグラウンド トゥルース データにラベルを付けることができます。

カスタム リーダーを使用して、VideoReader オブジェクトまたは関数 imread でサポートされる任意のビデオまたはイメージのシーケンスをインポートできます。はじめに、カスタム リーダー関数を作成します。次に、このカスタム リーダー関数および対応するイメージ データ ソースをビデオ ラベラー アプリか グラウンド トゥルース ラベラー アプリに読み込みます。イメージ ラベラー アプリは、カスタム データ ソース リーダーをサポートしていません。

カスタム リーダー関数の作成

はじめに、カスタム リーダーを関数ハンドルとして指定します。カスタム リーダーの構文は次のとおりでなければなりません。

outputImage = readerFcn(sourceName,currentTimestamp)
この例では、readerFcn がカスタム リーダー関数の名前です。

カスタム リーダー関数は、currentTimestamp で指定された現在のタイムスタンプに対応する sourceName からイメージを読み込みます。たとえば、1 秒から 5 秒まで続くタイムスタンプのベクトル duration における 3 番目のタイムスタンプのイメージを読み込みたいとします。currentTimestamp を指定するために、MATLAB® コマンド プロンプトで次のコードを入力します。

timestamps = seconds(1:5);
currIdx = 3;
currentTimestamp = timestamps(currIdx);

カスタム関数の出力 outputImage は、関数 imshow によってサポートされる任意の形式のグレースケール イメージまたは RGB イメージでなければなりません。出力 currentTimestamp は、関数が実行している現在のフレームに対応するスカラー値です。

ビデオ ラベラー アプリへのデータ ソースのインポート

カスタム データ ソースをビデオ ラベラー アプリにインポートするには、まず groundTruthDataSource オブジェクトを作成します。このオブジェクトにデータ ソース ファイルとタイムスタンプが格納されます。次の構文を使用して、データ ソースの名前、データを読み取るカスタム リーダーの関数ハンドル、タイムスタンプを指定します。

gtSource = groundTruthDataSource(sourceName,readerFcn,timestamps)

このオブジェクトをアプリに読み込むために、MATLAB コマンド プロンプトで次のコードを入力します。

videoLabeler(gtSource)

あるいは、ビデオ ラベラー アプリのツールストリップで、[インポート][カスタム リーダー] を選択します。次に [カスタム データ ソースの読み込み] ダイアログ ボックスで、[カスタム リーダー関数] を関数ハンドルとして指定し、さらに [データ ソース名] を指定します。さらに、MATLAB ワークスペースから対応するタイムスタンプをインポートしなければなりません。

グラウンド トゥルース ラベラー アプリへのデータ ソースのインポート

カスタム イメージ データ ソースをグラウンド トゥルース ラベラー (Automated Driving Toolbox) アプリにインポートするには、アプリのツールストリップで、[インポート][信号を追加] を選択します。次にダイアログ ボックスで、[ソース タイプ][Custom Image] に設定します。そして、カスタム リーダー関数、データ ソース名、タイムスタンプを指定し、[ソースの追加] をクリックすると、イメージ データ ソースを読み込めます。

参考

アプリ

オブジェクト

関連するトピック