警告:このAPIは非推奨であり、置き換えが安定した後 TensorFlowの将来のバージョンで削除される予定です。

このページは Cloud Translation API によって翻訳されました。
Switch to English

StatelessSampleDistortedBoundingBox

パブリック最終クラスStatelessSampleDistortedBoundingBox

画像のランダムに歪んだ境界ボックスを決定論的に生成します。

境界ボックスの注釈は、画像認識またはオブジェクトのローカリゼーションタスクでグラウンドトゥルースラベルに加えて提供されることがよくあります。このようなシステムをトレーニングするための一般的な手法は、コンテンツを保持しながら画像をランダムに歪めることです。つまり、データの拡張です。このOpは、同じ「シード」が与えられると、オブジェクトのランダムに歪んだローカリゼーション、つまり「image_size」、「bounding_boxes」、および一連の制約が与えられたバウンディングボックスを決定論的に出力します。

このOpの出力は、元の画像をトリミングするために使用できる単一の境界ボックスです。出力は、 `begin`、` size`、 `bboxes`の3つのテンソルとして返されます。最初の2つのテンソルを直接 `tf.slice`に入力して、画像をトリミングできます。後者は、バウンディングボックスがどのように見えるかを視覚化するために、 `tf.image.draw_bounding_boxes`に提供される場合があります。

境界ボックスは、 `[y_min、x_min、y_max、x_max]`として提供および返されます。バウンディングボックスの座標は、下にある画像の幅と高さを基準にして、 `[0.0、1.0]`で変動します。

このOpの出力は、同じ `seed`が与えられた場合に同じであることが保証され、関数が呼び出される回数やグローバルシード設定(` tf.random.set_seed`など)に依存しません。

使用例:

>>> image = np.array([[[1]、[2]、[3]]、[[4]、[5]、[6]]、[[7]、[8]、[9] ]])>>> bbox = tf.constant(... [0.0、0.0、1.0、1.0]、dtype = tf.float32、shape = [1、1、4])>>>シード=(1、2 )>>>#単一の歪んだ境界ボックスを生成します。 >>> bbox_begin、bbox_size、bbox_draw =(... tf.image.stateless_sample_歪曲_bounding_box(... tf.shape(image)、bounding_boxes = bbox、seed = seed))>>>#バウンディングボックスを使用して画像を歪める。 >>> tf.slice(image、bbox_begin、bbox_size) >>>#画像の概要に境界ボックスを描画します。 >>>色= np.array([[1.0、0.0、0.0]、[0.0、0.0、1.0]])>>> tf.image.draw_bounding_boxes(... tf.expand_dims(tf.cast(image、tf .float32)、0)、bbox_draw、colors)

利用可能な境界ボックス情報がない場合、 `use_image_if_no_bounding_boxes = true`を設定すると、画像全体をカバーする単一の暗黙的な境界ボックスがあると想定されることに注意してください。 `use_image_if_no_bounding_boxes`がfalseで、境界ボックスが指定されていない場合、エラーが発生します。

ネストされたクラス

クラスStatelessSampleDistortedBoundingBox.Options StatelessSampleDistortedBoundingBoxオプションの属性

パブリックメソッド

static StatelessSampleDistortedBoundingBox.Options
areaRange (List <Float> areaRange)
static StatelessSampleDistortedBoundingBox.Options
アスペクト比率範囲(リスト<フロート>アスペクト比率範囲)
出力<フロート>
bboxes ()
歪んだバウンディングボックスを含む形状 `[1、1、4]`の3D。
出力<T>
開始()
1-D、 `[offset_height、offset_width、0]`を含みます。
static <Tは数値を拡張し、Uは数値を拡張します> StatelessSampleDistortedBoundingBox <T>
作成スコープのスコープを、オペランド<T> IMAGESIZE、オペランド<フロート> boundingBoxes、オペランド<フロート> minObjectCovered、オペランド<U>種子、オプション...オプション)
新しいStatelessSampleDistortedBoundingBox操作をラップするクラスを作成するファクトリメソッド。
static StatelessSampleDistortedBoundingBox.Options
maxAttempts (長いmaxAttempts)
出力<T>
サイズ()
1-D、 `[target_height、target_width、-1]`を含みます。
static StatelessSampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (ブール値useImageIfNoBoundingBoxes)

継承されたメソッド

パブリックメソッド

public static StatelessSampleDistortedBoundingBox.Options areaRange (List <Float> areaRange)

パラメーター
areaRange画像のトリミングされた領域には、この範囲内で提供された画像の一部が含まれている必要があります。

public static StatelessSampleDistortedBoundingBox.Optionsアスペクト比率範囲(リスト<フロート>アスペクト比率範囲)

パラメーター
アスペクト比率範囲画像のトリミングされた領域は、この範囲内のアスペクト比=幅/高さである必要があります。

public Output <Float> bboxes ()

歪んだバウンディングボックスを含む形状 `[1、1、4]`の3D。 `tf.image.draw_bounding_boxes`への入力として提供します。

public Output <T> begin ()

1-D、 `[offset_height、offset_width、0]`を含みます。 `tf.slice`への入力として提供します。

パブリック静的StatelessSampleDistortedBoundingBox <T>を作成スコープ範囲、オペランド<T> IMAGESIZE、オペランド<フロート> boundingBoxes、オペランド<フロート> minObjectCovered、オペランド<U>種子、オプション...オプション)

新しいStatelessSampleDistortedBoundingBox操作をラップするクラスを作成するファクトリメソッド。

パラメーター
範囲現在のスコープ
画像サイズ1-D、 `[高さ、幅、チャネル]`を含みます。
boundingBoxes画像に関連付けられたN個の境界ボックスを表す形状 `[batch、N、4]`の3D。
minObjectCovered画像のトリミングされた領域には、提供された境界ボックスの少なくともこの部分が含まれている必要があります。このパラメーターの値は負でない必要があります。 0の場合、トリミングされた領域は、提供された境界ボックスのいずれとも重なる必要はありません。
シード形状が `[2]`の1-D。乱数ジェネレーターへのシード。 dtype`int32`または `int64`が必要です。 (XLAを使用する場合、 `int32`のみが許可されます。)
オプションオプションの属性値を運ぶ
戻り値
  • StatelessSampleDistortedBoundingBoxの新しいインスタンス

public static StatelessSampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

パラメーター
maxAttempts指定された制約の画像のトリミングされた領域を生成する試行回数。 `max_attempts`が失敗した後、画像全体を返します。

public Output <T> size ()

1-D、 `[target_height、target_width、-1]`を含みます。 `tf.slice`への入力として提供します。

public static StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (ブール値useImageIfNoBoundingBoxes)

パラメーター
useImageIfNoBoundingBoxesバウンディングボックスが指定されていない場合の動作を制御します。 trueの場合、入力全体をカバーする暗黙の境界ボックスを想定します。 falseの場合、エラーを発生させます。