メインコンテンツ

run

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

説明

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

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

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

入力引数

すべて展開する

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

ラベルが計算されるフレーム。数値イメージ行列または pointCloud オブジェクトとして指定するか、複数のイメージ行列と pointCloud オブジェクトからなる M1 列の cell 配列として指定します。複数の信号の cell 配列を指定するには、algObj が多重信号オートメーションをサポートしていなければなりません。

出力引数

すべて展開する

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

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

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

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

フィールド名説明
Type

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

  • labelType.Rectangle

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

  • labelType.ProjectedCuboid

  • labelType.Polygon

  • labelType.Line

  • labelType.Scene

Nameラベルの名前を格納する文字ベクトル、string スカラー、または categorical スカラー。
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 軸に沿った直方体の回転角度を指定します。これらの角度は、それぞれが対応する軸の正方向を見たときに、時計回りが正となります。

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

Cuboid with center point, lengths, and rotation angles labeled

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 列の数値行列が含まれています。

Polygoncell 配列の 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 を table として返すことができます。テーブルの行は、構造体配列の構造体と同等です。テーブルの列は、構造体のフィールドと同等です。次のテーブルは、先ほど示したサンプルの構造体配列 autoLabels と同等です。

        Name          Type         Position  
    ____________    _________    ____________

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

バージョン履歴

R2017a で導入