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

tensorflow :: ops :: SampleDistortedBoundingBoxV2

#include <image_ops.h>

画像に対してランダムに歪んだ単一の境界ボックスを生成します。

概要

バウンディングボックスアノテーションは、画像認識やオブジェクトのローカライズタスクでグラウンドトゥルースラベルに加えて提供されることがよくあります。このようなシステムを訓練するための一般的な技術は、その内容、すなわち、 データの増強を維持しながら、ランダムに画像を歪ませることです。このOpは、 image_sizebounding_boxes 、および一連の制約を指定すると、ランダムに歪んだオブジェクトのローカリゼーション、つまりバウンディングボックスを出力します。

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

境界ボックスが提供され、 [y_min, x_min, y_max, x_max]として返されます。境界ボックスの座標は、基になる画像の幅と高さを基準にした[0.0, 1.0]浮動小数点です。

例えば、

    # Generate a single distorted bounding box.
    begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
        tf.shape(image),
        bounding_boxes=bounding_boxes)

    # Draw the bounding box in an image summary.
    image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
                                                  bbox_for_draw)
    tf.summary.image('images_with_box', image_with_box)

    # Employ the bounding box to distort the image.
    distorted_image = tf.slice(image, begin, size)

バウンディングボックス情報が利用できない場合、 use_image_if_no_bounding_boxes = trueを設定すると、画像全体をカバーする1つの暗黙的なバウンディングボックスがあると想定されます。 use_image_if_no_bounding_boxesがfalseで、境界ボックスが指定されていない場合、エラーが発生します。

引数:

  • scope: Scopeオブジェクト
  • image_size:1-D、 [height, width, channels]を含み[height, width, channels]
  • bounding_boxes:画像に関連付けられたN個のバウンディングボックスを記述する形状[batch, N, 4] 3D。
  • min_object_covered:画像のトリミングされた領域には、指定された境界ボックスの少なくともこの部分が含まれている必要があります。このパラメーターの値は負でない必要があります。 0の場合、トリミングされた領域は、提供されたバウンディングボックスのいずれともオーバーラップする必要はありません。

オプションの属性( Attrs参照):

  • seed: seedまたはseed2いずれかがゼロ以外に設定されている場合、乱数ジェネレーターは指定されたseedによってシードされます。それ以外の場合は、ランダムシードによってシードされます。
  • seed2:シードの衝突を回避するための2番目のシード。
  • aspect_ratio_range:画像のトリミング領域には、この範囲内のアスペクト比=幅/高さが必要です。
  • area_range:画像のトリミングされた領域には、この範囲内の指定された画像の一部が含まれている必要があります。
  • max_attempts:指定された制約の画像のトリミング領域を生成しようとした回数。 max_attempts失敗後、イメージ全体を返します。
  • use_image_if_no_bounding_boxes:境界ボックスが指定されていない場合の動作を制御します。 trueの場合、入力全体をカバーする暗黙の境界ボックスを想定します。 falseの場合、エラーが発生します。

戻り値:

  • Output開始: [offset_height, offset_width, 0]を含む1-D。 tf.sliceへの入力として提供します。
  • Outputサイズ: [target_height, target_width, -1]を含む1-D。 tf.sliceへの入力として提供します。
  • Output bboxes:歪んだバウンディングボックスを含む形状[1, 1, 4] 1、1、4 [1, 1, 4] 3D。 tf.image.draw_bounding_boxesへの入力として提供します。

コンストラクタとデストラクタ

SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered)
SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered, const SampleDistortedBoundingBoxV2::Attrs & attrs)

公開属性

bboxes
begin
operation
size

パブリック静的関数

AreaRange (const gtl::ArraySlice< float > & x)
AspectRatioRange (const gtl::ArraySlice< float > & x)
MaxAttempts (int64 x)
Seed (int64 x)
Seed2 (int64 x)
UseImageIfNoBoundingBoxes (bool x)

構造

tensorflow :: ops :: SampleDistortedBoundingBoxV2 :: Attrs

SampleDistortedBoundingBoxV2のオプションの属性セッター。

公開属性

bboxes

::tensorflow::Output bboxes

ベギン

::tensorflow::Output begin

操作

Operation operation

サイズ

::tensorflow::Output size

公開機能

SampleDistortedBoundingBoxV2

 SampleDistortedBoundingBoxV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  ::tensorflow::Input min_object_covered
)

SampleDistortedBoundingBoxV2

 SampleDistortedBoundingBoxV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  ::tensorflow::Input min_object_covered,
  const SampleDistortedBoundingBoxV2::Attrs & attrs
)

パブリック静的関数

AreaRange

Attrs AreaRange(
  const gtl::ArraySlice< float > & x
)

AspectRatioRange

Attrs AspectRatioRange(
  const gtl::ArraySlice< float > & x
)

MaxAttempts

Attrs MaxAttempts(
  int64 x
)

シード

Attrs Seed(
  int64 x
)

シード2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)