Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

run

間隔内のすべてのフレームに対するラベル オートメーションの実行

説明

run メソッドは、オートメーション アルゴリズムを実行することで、単一のフレームに対する自動化されたラベルを計算します。オートメーション中は、ラベル付けアプリがこのメソッドをループ内で実行し、オートメーション用に選択された各フレームに対する自動化されたラベルを計算します。

AutomationAlgorithm のクライアントはこのメソッドを実装しなければなりません。

autoLabels = run(algObj,frame) は、algObj オートメーション アルゴリズムを使用して単一のフレーム frame を処理し、自動化されたラベル autoLabels を返します。

入力引数

すべて展開する

オートメーション アルゴリズム。vision.labeler.AutomationAlgorithm オブジェクトとして指定します。

計算するラベルのフレーム。Image 信号の数値行列か、PointCloud 信号の pointCloud オブジェクトとして指定します。

出力引数

すべて展開する

オートメーション アルゴリズムによって生成されたラベル。categorical 行列、構造体配列、またはテーブルとして返されます。

ピクセルのラベル付けを自動化するアルゴリズムの場合、run メソッドを実装して、autoLabelscategorical ラベル配列として返します。各カテゴリがピクセル ラベルを表します。詳細については、ラベラー アプリにおけるエクスポートしたピクセル ラベルの保存方法 を参照してください。

ピクセル以外のラベルを自動化するアルゴリズムの場合、run メソッドを実装して、構造体配列を返します。配列内の各構造体には、特定の名前とタイプのラベルが含まれます。このメソッドは、名前とタイプが同じラベルを配列内の 1 つの構造体にまとめます。

次の表に、autoLabels テーブルの列または各 autoLabels 構造体のフィールドを示します。

フィールド名説明
Type

ラベル タイプを保持する labelType の列挙値。有効なラベル タイプは次のとおりです。

  • labelType.Rectangle

  • labelType.Cuboid (グラウンド トゥルース ラベラー アプリのみ)

  • labelType.ProjectedCuboid

  • labelType.Line

  • labelType.Scene

Nameラベルの名前を含む文字ベクトル。
Position

指定された NameType のラベルの位置。Position の形式はラベル タイプによって異なります。

ラベルのタイプPosition の形式
Rectangle — 四角形の関心領域 (ROI) ラベル

[x, y, w, h] 形式の M 行 4 列の数値行列。ここで、

  • M は、フレームに含まれるラベルの数です。

  • xy は四角形の左上隅を指定します。

  • w は四角形の幅、つまり x 軸に沿った長さを指定します。

  • h は四角形の高さ、つまり y 軸に沿った長さを指定します。

Cuboid — 直方体の ROI ラベル

[xctr, yctr, zctr, xlen, ylen, zlen, xrot, yrot, zrot] 形式の行をもつ M 行 9 列の数値行列。ここで、

  • M は、フレームに含まれるラベルの数です。

  • xctryctr、および zctr は直方体の中心を指定します。

  • xlenylen、および zlen はそれぞれ、回転の適用前における x 軸、y 軸、および z 軸に沿った直方体の長さを指定します。

  • xrotyrot、および zrot はそれぞれ、x 軸、y 軸、および z 軸に沿った直方体の回転角度を指定します。これらの角度は、それぞれが対応する軸の正方向を見たときに、時計回りが正となります。

次の図は、これらの値で直方体の位置がどのように決定されるかを示しています。

ProjectedCuboid — 直方体の ROI ラベル

[x1, y1, w1, h1, x2, y2, w2, h2] 形式の M 行 8 列の数値ベクトル。ここで、

  • M は、フレームに含まれるラベルの数です。

  • x1, y1 は、投影された直方体の前面の左上の位置の x,y 座標を指定します。

  • w1 は、投影された直方体の前面の幅を指定します。

  • h1 は、投影された直方体の前面の高さを指定します。

  • x2, y2 は、投影された直方体の背面の左上の位置の x,y 座標を指定します。

  • w2 は、投影された直方体の背面の幅を指定します。

  • h2 は、投影された直方体の背面の高さを指定します。

次の図は、これらの値で直方体の位置がどのように決定されるかを示しています。

Labeled projected cuboid

Line — ポリラインの ROI ラベル

cell 配列の M 行 1 列のベクトル。ここで、M は、フレームに含まれるラベルの数です。各 cell 配列に、ポリラインの N 個の点に関する [x1 y1; x2 y2; ... ; xN yN] 形式の N 行 2 列の数値行列が含まれています。

Scene — シーン ラベル

アルゴリズムにより、ラベルがフレーム内に存在すると判断された場合は論理値 1。そうでない場合は 0

Attributes (オプション)

ラベルの各属性に対して構造体を 1 つ含む構造体配列。ラベル定義に属性が含まれていない場合は、出力 autoLabels にこのフィールドは含まれません。

構造体配列 Attributes 内の各構造体において、構造体の名前が、対応する属性の名前になっています。構造体の値は、対応する属性の値です。

サンプルの構造体配列 autoLabels を表示するには、MATLAB® コマンド プロンプトで次のコードを入力します。

autoLabels(1).Name      = 'Car';
autoLabels(1).Type      = labelType.Rectangle;
autoLabels(1).Position  = [20 20 50 50];

autoLabels(2).Name      = 'Truck';
autoLabels(2).Type      = labelType.Rectangle;
autoLabels(2).Position  = [70 70 50 50; 100 100 25 25];

または、ピクセル以外のラベルの場合、run メソッドを使用して、autoLabels をテーブルとして返すことができます。テーブルの行は、構造体配列の構造体と同等です。テーブルの列は、構造体のフィールドと同等です。次のテーブルは、先ほど示したサンプルの構造体配列 autoLabels と同等です。

        Name          Type         Position  
    ____________    _________    ____________

    'Car'           Rectangle    [1x4 double]
    'Truck'         Rectangle    [2x4 double]

R2017a で導入