最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
イメージ ラベラー、ビデオ ラベラー、グラウンド トゥルース ラベラー (Automated Driving Toolbox) (Automated Driving Toolbox™ が必要) アプリを使用すると、さまざまなデータ ソースのグラウンド トゥルースにラベルを付けることができます。オートメーション アルゴリズムを使用して、カスタムのオートメーション アルゴリズムを作成およびインポートすることで、データに自動的にラベルを付けることができます。
vision.labeler.AutomationAlgorithm
クラスを使用して、ラベル付けアプリで使用するためのカスタム ラベル オートメーション アルゴリズムを定義できます。このクラスを使用して、アプリでオートメーション アルゴリズムの実行に使用されるインターフェイスを定義できます。
カスタム オートメーション アルゴリズムを定義して使用するには、まずアルゴリズム用のクラスを定義し、それを適切なフォルダーに保存しなければなりません。
MATLAB® パス上にあるフォルダー内に +vision/+labeler/
フォルダーを作成します。たとえば、フォルダー /local/MyProject
が MATLAB パス上にある場合は、次のように +vision/+labeler/
フォルダー階層を作成します。
projectFolder = fullfile('local','MyProject'); automationFolder = fullfile('+vision','+labeler'); mkdir(projectFolder,automationFolder)
/local/MyProject/+vision/+labeler
となります。AutomationAlgorithm
クラスから継承するクラスの定義MATLAB コマンド プロンプトで適切なコマンドを入力して、次のラベル付けアプリを開きます。
imageLabeler
videoLabeler
groundTruthLabeler
次に、データ ソースを読み込み、ラベル定義を少なくとも 1 つ作成します。そして、アプリのツールストリップで [アルゴリズムの選択] 、 [アルゴリズムの追加] 、 [アルゴリズムの新規作成] を選択します。開いた vision.labeler.AutomationAlgorithm
クラス テンプレートで、カスタム オートメーション アルゴリズムを定義します。クラスのヘッダーとコメントの指示に従ってください。
アルゴリズムが "時間依存"、つまり実行のタイムスタンプに依存する場合は、カスタム オートメーション アルゴリズムで vision.labeler.mixin.Temporal
クラスも継承しなければなりません。時間依存、すなわち時間的なアルゴリズムの実装の詳細については、時間的オートメーション アルゴリズムを参照してください。
ラベル付けアプリ内からカスタム アルゴリズムを使用するために、作成した +vision/+labeler
フォルダーにファイルを保存します。このフォルダーが MATLAB 検索パス上にあることを確認してください。フォルダーをパスに追加するには、関数 addpath
を使用します。
カスタム アルゴリズムの使用を開始するには、アルゴリズム リストを更新して、ラベル付けアプリ内にこのアルゴリズムを表示します。アプリのツールストリップで [アルゴリズムの選択]、[リストの更新] を選択します。
既存のカスタム アルゴリズムをラベル付けアプリにインポートするには、アプリのツールストリップで [アルゴリズムの選択] 、 [アルゴリズムの追加] 、 [アルゴリズムのインポート] を選択してから、リストを更新します。
ラベル付けアプリ内でオートメーション セッションを実行するときには、オートメーション アルゴリズム クラスのプロパティとメソッドによって、アプリの動作を制御します。
[自動化] をクリックすると、アプリはカスタム アルゴリズムで定義された checkLabelDefinition
メソッドを使用して、[ROI ラベル] と [シーン ラベル] ペインの各ラベル定義をチェックします。true
を返すラベル定義は、オートメーション用に保持されます。false
を返すラベル定義は無効になり、含まれません。このメソッドを使用して、カスタム アルゴリズムで有効なラベル定義のサブセットを選択します。たとえば、カスタム アルゴリズムがセマンティック セグメンテーション アルゴリズムの場合は、このメソッドを使用して、PixelLabel
タイプではないラベル定義について false
を返します。
アルゴリズムを選択したら、[自動化] をクリックしてオートメーション セッションを開始します。次に、[設定] をクリックすると、カスタム アプリの設定を変更できます。[設定] オプションを制御するには、settingsDialog
メソッドを使用します。
アプリ内でオートメーション アルゴリズム セッションを開き、[実行] をクリックすると、アプリから checkSetup
メソッドが呼び出されて、実行できるかどうか確認が行われます。メソッドで false
が返されると、オートメーション アルゴリズムは実行されません。メソッドで true
が返されると、オートメーション用に選択されたすべてのフレーム上で initialize
メソッドの後に run
メソッドが呼び出されます。そしてオートメーションの実行終了時に、terminate
メソッドが呼び出されます。
次の図は、このラベル付けアプリの実行フローを示したものです。
checkSetup
メソッドを使用して、カスタム アルゴリズムに必要なすべての条件が正しく設定されているか確認します。たとえば、シーンに少なくとも 1 つの ROI ラベルが含まれていることを確認します。
initialize
メソッドを使用して、カスタム アルゴリズムの状態をフレームを使って初期化します。
run
メソッドを使用して、各フレームのラベルを計算して返すアルゴリズムのコアを実装します。
terminate
メソッドを使用して、アルゴリズムの実行後に、オートメーション アルゴリズムの状態をクリーンアップまたは終了します。