Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tensorflow :: ops :: SampleDistortedBoundingBoxV2

#include <image_ops.h>

Menghasilkan satu kotak pembatas yang terdistorsi secara acak untuk sebuah gambar.

Ringkasan

Anotasi kotak pembatas sering diberikan selain label kebenaran dasar dalam tugas pengenalan gambar atau pelokalan objek. Teknik umum untuk melatih sistem semacam itu adalah dengan mendistorsi gambar secara acak sambil mempertahankan kontennya, yaitu augmentasi data . Op ini mengeluarkan lokalisasi objek yang terdistorsi secara acak, yaitu kotak pembatas, diberi image_size , bounding_boxes , dan serangkaian batasan.

Output dari Op ini adalah kotak pembatas tunggal yang dapat digunakan untuk memotong gambar asli. Output dikembalikan sebagai 3 tensor: begin , size dan bboxes . 2 tensor pertama dapat diumpankan langsung ke tf.slice untuk memotong gambar. Yang terakhir mungkin dipasok ke tf.image.draw_bounding_boxes untuk memvisualisasikan seperti apa tampilan kotak pembatas.

Kotak pembatas disediakan dan dikembalikan sebagai [y_min, x_min, y_max, x_max] . Koordinat kotak pembatas adalah float di [0.0, 1.0] relatif terhadap lebar dan tinggi gambar yang mendasarinya.

Sebagai contoh,

    # 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)

Perhatikan bahwa jika tidak ada informasi kotak pembatas yang tersedia, pengaturan use_image_if_no_bounding_boxes = true akan mengasumsikan ada satu kotak pembatas implisit yang menutupi seluruh gambar. Jika use_image_if_no_bounding_boxes salah dan tidak ada kotak pembatas yang diberikan, kesalahan akan muncul.

Argumen:

  • scope: Objek Scope
  • image_size: 1-D, berisi [height, width, channels] .
  • bounding_boxes: 3-D dengan bentuk [batch, N, 4] mendeskripsikan N kotak pembatas yang terkait dengan gambar.
  • min_object_covered: Area gambar yang dipotong harus berisi setidaknya bagian dari kotak pembatas yang disediakan. Nilai parameter ini tidak boleh negatif. Dalam kasus 0, area yang dipotong tidak perlu tumpang tindih dengan kotak pembatas yang disediakan.

Atribut opsional (lihat Attrs ):

  • benih: Jika salah satu seed atau seed2 diatur ke bukan nol, generator nomor acak disemai oleh seed diberikan. Jika tidak, itu diunggulkan dengan benih acak.
  • seed2: Benih kedua untuk menghindari tumbukan benih.
  • aspek_rentang_rentang: Area gambar yang dipotong harus memiliki rasio aspek = lebar / tinggi dalam rentang ini.
  • area_range: Area gambar yang dipotong harus berisi sebagian kecil dari gambar yang diberikan dalam kisaran ini.
  • max_attempts: Jumlah upaya untuk membuat wilayah gambar yang dipotong dari batasan yang ditentukan. Setelah max_attempts gagal, kembalikan seluruh gambar.
  • use_image_if_no_bounding_boxes: Mengontrol perilaku jika tidak ada kotak pembatas yang disediakan. Jika benar, asumsikan kotak pembatas implisit yang mencakup seluruh input. Jika salah, buat kesalahan.

Pengembalian:

  • Output mulai: 1-D, berisi [offset_height, offset_width, 0] . Berikan sebagai masukan ke tf.slice .
  • Ukuran Output : 1-D, berisi [target_height, target_width, -1] . Berikan sebagai masukan ke tf.slice .
  • Output bboxes: 3-D dengan bentuk [1, 1, 4] berisi kotak pembatas yang terdistorsi. Berikan sebagai masukan ke tf.image.draw_bounding_boxes .

Pembuat dan Penghancur

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)

Atribut publik

bboxes
begin
operation
size

Fungsi statis publik

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

Structs

tensorflow :: ops :: SampleDistortedBoundingBoxV2 :: Attrs

Penyetel atribut opsional untuk SampleDistortedBoundingBoxV2 .

Atribut publik

bboxes

::tensorflow::Output bboxes

mulai

::tensorflow::Output begin

operasi

Operation operation

ukuran

::tensorflow::Output size

Fungsi publik

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
)

Fungsi statis publik

AreaRange

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

AspectRatioRange

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

MaxAttempts

Attrs MaxAttempts(
  int64 x
)

Benih

Attrs Seed(
  int64 x
)

Benih2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)