Bir görüntü için rastgele bozulmuş tek bir sınırlayıcı kutu oluşturun.
Sınırlayıcı kutu açıklamaları genellikle görüntü tanıma veya nesne konumlandırma görevlerinde temel doğruluk etiketlerine ek olarak sağlanır. Böyle bir sistemi eğitmek için yaygın bir teknik, bir görüntünün içeriğini korurken rastgele bir şekilde çarpıtılmasıdır, yani veri büyütme . Bu Op, bir "image_size", "bounding_boxes" ve bir dizi kısıtlama göz önüne alındığında, bir nesnenin, yani sınırlayıcı kutunun rastgele bozulmuş yerelleştirmesini üretir.
Bu Op'un çıktısı, orijinal görüntüyü kırpmak için kullanılabilecek tek bir sınırlayıcı kutudur. Çıktı 3 tensör olarak döndürülür: "begin", "size" ve "bboxes". İlk 2 tensör, görüntüyü kırpmak için doğrudan tf.slice
beslenebilir. İkincisi, sınırlayıcı kutunun neye benzediğini görselleştirmek için tf.image.draw_bounding_boxes
dosyasına sağlanabilir.
Sınırlayıcı kutular "[y_min, x_min, y_max, x_max]" olarak sağlanır ve döndürülür. Sınırlayıcı kutu koordinatları, alttaki görüntünün genişliğine ve yüksekliğine göre "[0.0, 1.0]" cinsinden kayar.
Örneğin,
# 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)
İç İçe Sınıflar
sınıf | SampleDistortedBoundingBox.Options | SampleDistortedBoundingBox için isteğe bağlı özellikler |
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
statik SampleDistortedBoundingBox.Options | fieldRange (Liste<Float> fieldRange) |
statik SampleDistortedBoundingBox.Options | en boyRatioRange (Liste<Float> en boyRatioRange) |
Çıkış < TFloat32 > | b kutuları () Bozulmuş sınırlayıcı kutuyu içeren "[1, 1, 4]" şeklindeki 3 boyutlu. |
Çıkış <T> | başlamak () 1-D, "[offset_height, offset_width, 0]" içerir. |
static <T, TNumber'ı genişletir > SampleDistortedBoundingBox <T> | |
statik SampleDistortedBoundingBox.Options | maxAttempts (Uzun maxAttempts) |
statik SampleDistortedBoundingBox.Options | tohum (Uzun tohum) |
statik SampleDistortedBoundingBox.Options | tohum2 (Uzun tohum2) |
Çıkış <T> | boyut () 1-D, "[hedef_yükseklik, hedef_genişlik, -1]" içerir. |
statik SampleDistortedBoundingBox.Options | useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes) |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
public static SampleDistortedBoundingBox.Options fieldRange (List<Float> fieldRange)
Parametreler
alan Aralığı | Görüntünün kırpılan alanı, bu aralık dahilinde sağlanan görüntünün bir kısmını içermelidir. |
---|
public static SampleDistortedBoundingBox.Options en boyRatioRange (List<Float> en boyRatioRange)
Parametreler
en boy Oranı Aralığı | Görüntünün kırpılan alanının en boy oranı = genişlik / yükseklik bu aralıkta olmalıdır. |
---|
genel Çıkış < TFloat32 > bbox'lar ()
Bozulmuş sınırlayıcı kutuyu içeren "[1, 1, 4]" şeklindeki 3 boyutlu. tf.image.draw_bounding_boxes
girdi olarak sağlayın.
genel Çıkış <T> begin ()
1-D, "[offset_height, offset_width, 0]" içerir. tf.slice
girdi olarak sağlayın.
public static SampleDistortedBoundingBox <T> create ( Kapsam kapsamı, İşlenen <T> imageSize, İşlenen < TFloat32 > borderingBoxes, İşlenen < TFloat32 > minObjectCovered, Seçenekler... seçenekler)
Yeni bir SampleDistortedBoundingBox işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
görüntüBoyutu | 1-D, "[yükseklik, genişlik, kanallar]"ı içerir. |
sınırlayıcıkutular | Görüntüyle ilişkili N sınırlayıcı kutuyu tanımlayan "[toplu iş, N, 4]" şeklinde 3 boyutlu. |
minObjectCovered | Görüntünün kırpılan alanı, sağlanan herhangi bir sınırlayıcı kutunun en azından bu kısmını içermelidir. Bu parametrenin değeri negatif olmamalıdır. 0 durumunda kırpılan alanın sağlanan sınırlayıcı kutulardan herhangi biriyle örtüşmesi gerekmez. |
seçenekler | isteğe bağlı nitelik değerlerini taşır |
İade
- SampleDistortedBoundingBox'ın yeni bir örneği
public static SampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)
Parametreler
maksimum deneme sayısı | Belirtilen kısıtlamalara ait görüntünün kırpılmış bir bölgesini oluşturmaya yönelik deneme sayısı. 'max_attempts' başarısızlıklarından sonra görüntünün tamamını döndürün. |
---|
public static SampleDistortedBoundingBox.Options tohum (Uzun tohum)
Parametreler
tohum | Eğer "tohum" veya "tohum2" sıfırdan farklı bir değere ayarlanmışsa, rastgele sayı üreteci verilen "tohum" tarafından tohumlanır. Aksi halde rastgele bir tohumla tohumlanır. |
---|
public static SampleDistortedBoundingBox.Options tohum2 (Uzun tohum2)
Parametreler
tohum2 | Tohum çarpışmasını önlemek için ikinci bir tohum. |
---|
genel Çıkış <T> boyutu ()
1-D, "[hedef_yükseklik, hedef_genişlik, -1]" içerir. tf.slice
girdi olarak sağlayın.
public static SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes)
Parametreler
ImageIfNoBoundingBoxes'ı kullanın | Hiçbir sınırlayıcı kutu sağlanmadığında davranışı kontrol eder. Doğruysa, tüm girişi kapsayan örtülü bir sınırlayıcı kutu olduğunu varsayalım. Yanlışsa, bir hata bildirin. |
---|