ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

tensorflow :: ops :: SampleDistortedBoundingBoxV2

#include <image_ops.h>

Bir görüntü için rasgele deforme edilmiş tek bir sınırlayıcı kutu oluşturun.

Özet

Sınırlayıcı kutu açıklamaları genellikle görüntü tanıma veya nesne yerelleştirme görevlerindeki kesin referans etiketlerine ek olarak sağlanır. Böyle bir sistemi eğitmek için yaygın bir teknik, bir görüntüyü içeriğini korurken rasgele deforme etmektir, yani veri büyütme . Bu image_size , bir image_size , bounding_boxes image_size ve bir dizi kısıtlama verildiğinde, bir nesnenin rastgele bozulmuş bir yerelleştirmesini, yani sınırlayıcı kutuyu image_size .

Bu İşlemin çıktısı, orijinal görüntüyü kırpmak için kullanılabilecek tek bir sınırlayıcı kutudur. : Çıktı 3 tensörlerle 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 sağlanabilir.

Sınırlayıcı kutular sağlanır ve [y_min, x_min, y_max, x_max] olarak döndürülür. Sınırlayıcı kutu koordinatları, alttaki görüntünün genişliği ve yüksekliğine göre [0.0, 1.0] cinsinden yüzer.

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

Sınırlayıcı kutu bilgisi yoksa, use_image_if_no_bounding_boxes = true ayarının tüm resmi kapsayan tek bir örtük sınırlayıcı kutu olduğunu varsayacağını unutmayın. use_image_if_no_bounding_boxes false ise ve sınırlayıcı kutular sağlanmadıysa, bir hata oluşur.

Argümanlar:

  • kapsam: Bir Scope nesnesi
  • image_size: 1-B, [height, width, channels] .
  • sınırlayıcı kutular: görüntü ile ilişkili N sınırlayıcı kutuyu açıklayan [batch, N, 4] şeklinde 3-D.
  • min_object_covered: Görüntünün kırpılmış 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üşmesine gerek yoktur.

İsteğe bağlı özellikler (bkz. Attrs ):

  • tohum: seed veya seed2 sıfırdan farklı olarak ayarlanmışsa, rastgele sayı oluşturucu verilen seed tarafından tohumlanır. Aksi takdirde, rastgele bir tohumla tohumlanır.
  • seed2: Tohum çarpışmasını önlemek için ikinci bir tohum.
  • boy_ratio_range: Görüntünün kırpılan alanı, bu aralık içinde bir en boy oranına = genişlik / yüksekliğe sahip olmalıdır.
  • alan_aralığı: Görüntünün kırpılmış alanı, bu aralıkta sağlanan görüntünün bir kısmını içermelidir.
  • max_attempts: Belirtilen kısıtlamaların görüntüsünün kırpılmış bir bölgesini oluşturma girişimlerinin sayısı. max_attempts sonra, tüm görüntüyü geri max_attempts .
  • use_image_if_no_bounding_boxes: Hiçbir sınırlayıcı kutu sağlanmadığında davranışı kontrol eder. Doğruysa, tüm girdiyi kapsayan örtük bir sınırlayıcı kutu varsayın. Yanlışsa, bir hata oluşturun.

İadeler:

  • Output : 1-D, [offset_height, offset_width, 0] . tf.slice girdi olarak tf.slice .
  • Output boyutu: 1-D, [target_height, target_width, -1] içeren. tf.slice girdi olarak tf.slice .
  • Output kutuları: bozuk sınırlayıcı kutuyu içeren [1, 1, 4] şeklinde 3-D. tf.image.draw_bounding_boxes girdi olarak tf.image.draw_bounding_boxes .

Yapıcılar ve Yıkıcılar

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)

Genel özellikler

bboxes
begin
operation
size

Genel statik işlevler

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

Yapılar

tensorflow :: ops :: SampleDistortedBoundingBoxV2 :: Attrs

SampleDistortedBoundingBoxV2 için isteğe bağlı öznitelik ayarlayıcıları.

Genel özellikler

bboxes

::tensorflow::Output bboxes

başla

::tensorflow::Output begin

operasyon

Operation operation

boyut

::tensorflow::Output size

Kamusal işlevler

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
)

Genel statik işlevler

AreaRange

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

AspectRatioRange

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

MaxAttempts

Attrs MaxAttempts(
  int64 x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)