Hasilkan satu kotak pembatas yang terdistorsi secara acak untuk sebuah gambar.
Anotasi kotak pembatas sering kali diberikan selain label kebenaran dasar dalam tugas pengenalan gambar atau pelokalan objek. Teknik umum untuk melatih sistem seperti itu adalah dengan mendistorsi gambar secara acak sambil mempertahankan kontennya, yaitu augmentasi data . Operasi ini menghasilkan lokalisasi objek yang terdistorsi secara acak, yaitu kotak pembatas, dengan `ukuran_gambar`, `kotak_batas` dan serangkaian batasan.
Keluaran dari Operasi ini adalah kotak pembatas tunggal yang dapat digunakan untuk memotong gambar asli. Outputnya dikembalikan sebagai 3 tensor: `begin`, `size` dan `bboxes`. 2 tensor pertama dapat dimasukkan langsung ke tf.slice
untuk memotong gambar. Yang terakhir mungkin diberikan ke tf.image.draw_bounding_boxes
untuk memvisualisasikan seperti apa kotak pembatas itu.
Kotak pembatas disediakan dan dikembalikan sebagai `[y_min, x_min, y_max, x_max]`. Koordinat kotak pembatas adalah float dalam `[0.0, 1.0]` relatif terhadap lebar dan tinggi gambar di bawahnya.
Misalnya,
# 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)
Kelas Bersarang
kelas | ContohDistortedBoundingBox.Options | Atribut opsional untuk SampleDistortedBoundingBox |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
SampleDistortedBoundingBox.Options statis | areaRange (Daftar<Float> areaRange) |
SampleDistortedBoundingBox.Options statis | aspekRatioRange (Daftar<Float> aspekRatioRange) |
Keluaran < TFloat32 > | kotak b () 3-D dengan bentuk `[1, 1, 4]` berisi kotak pembatas yang terdistorsi. |
Keluaran <T> | mulai () 1-D, berisi `[offset_height, offset_width, 0]`. |
statis <T extends TNumber > SampleDistortedBoundingBox <T> | |
SampleDistortedBoundingBox.Options statis | maxAttempts (MaxAttempts panjang) |
SampleDistortedBoundingBox.Options statis | benih (biji panjang) |
SampleDistortedBoundingBox.Options statis | seed2 (Benih panjang2) |
Keluaran <T> | ukuran () 1-D, berisi `[tinggi_target, lebar_target, -1]`. |
SampleDistortedBoundingBox.Options statis | useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes) |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
public static SampleDistortedBoundingBox.Options areaRange (Daftar<Float> areaRange)
Parameter
rentang area | Area gambar yang dipotong harus berisi sebagian kecil dari gambar yang disediakan dalam rentang ini. |
---|
public static SampleDistortedBoundingBox.Options aspekRatioRange (Daftar<Float> aspekRatioRange)
Parameter
aspekRatioRange | Area gambar yang dipotong harus memiliki rasio aspek = lebar/tinggi dalam rentang ini. |
---|
Output publik < TFloat32 > bbox ()
3-D dengan bentuk `[1, 1, 4]` berisi kotak pembatas yang terdistorsi. Berikan sebagai masukan ke tf.image.draw_bounding_boxes
.
Keluaran publik <T> mulai ()
1-D, berisi `[offset_height, offset_width, 0]`. Berikan sebagai masukan ke tf.slice
.
public static SampleDistortedBoundingBox <T> buat ( Lingkup cakupan , Operan <T> imageSize, Operan < TFloat32 > kotak pembatas, Operan < TFloat32 > minObjectCovered, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi SampleDistortedBoundingBox baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
ukuran gambar | 1-D, berisi `[tinggi, lebar, saluran]`. |
pembatasKotak | 3-D dengan bentuk `[batch, N, 4]` yang mendeskripsikan N kotak pembatas yang terkait dengan gambar. |
minObjectCovered | Area gambar yang dipotong harus berisi setidaknya sebagian kecil dari kotak pembatas yang disediakan. Nilai parameter ini tidak boleh negatif. Dalam kasus 0, area yang dipotong tidak perlu tumpang tindih dengan kotak pembatas mana pun yang disediakan. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari SampleDistortedBoundingBox
SampleDistortedBoundingBox.Options maxAttempts statis publik (MaxAttempts panjang)
Parameter
maxAttempts | Jumlah upaya untuk menghasilkan wilayah gambar yang dipotong dengan batasan yang ditentukan. Setelah `max_attempts` gagal, kembalikan seluruh gambar. |
---|
public static SampleDistortedBoundingBox.Options seed (Benih panjang)
Parameter
benih | Jika `seed` atau `seed2` disetel ke bukan nol, pembuat angka acak akan diunggulkan berdasarkan `seed` yang diberikan. Jika tidak, ia akan diunggulkan dengan benih acak. |
---|
public static SampleDistortedBoundingBox.Options seed2 (Benih panjang2)
Parameter
benih2 | Benih kedua untuk menghindari benturan benih. |
---|
publik Output <T> ukuran ()
1-D, berisi `[tinggi_target, lebar_target, -1]`. Berikan sebagai masukan ke tf.slice
.
SampleDistortedBoundingBox.Options statis publik useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes)
Parameter
gunakanImageIfNoBoundingBoxes | Mengontrol perilaku jika tidak ada kotak pembatas yang disediakan. Jika benar, asumsikan kotak pembatas implisit mencakup seluruh masukan. Jika salah, buatlah kesalahan. |
---|