tensor akışı:: işlem:: SampleDistortedBoundingBoxV2

#include <image_ops.h>

Bir görüntü için rastgele bozulmuş 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 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ştirmesinin çıktısını verir.

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] oranında 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)

Hiçbir sınırlayıcı kutu bilgisi mevcut değilse, use_image_if_no_bounding_boxes = true ayarının tüm görüntüyü kaplayan tek bir örtülü sınırlayıcı kutu olduğunu varsayacağını unutmayın. use_image_if_no_bounding_boxes yanlışsa ve hiçbir sınırlayıcı kutu sağlanmadıysa bir hata ortaya çıkar.

Argümanlar:

  • kapsam: Bir Kapsam nesnesi
  • image_size: 1-D, [height, width, channels] içerir.
  • sınırlayıcı_kutular: görüntüyle ilişkili N sınırlayıcı kutuyu tanımlayan [batch, N, 4] şekilli 3 boyutlu.
  • min_object_covered: 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.

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

  • tohum: Eğer seed ya da seed2 sıfırdan farklı bir değere ayarlanmışsa, rastgele sayı üreteci verilen seed tarafından tohumlanır. Aksi takdirde rastgele bir tohumla tohumlanır.
  • tohum2: Tohum çarpışmasını önlemek için ikinci bir tohum.
  • en boy_ratio_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.
  • field_range: 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.
  • max_attempts: Belirtilen kısıtlamalara göre 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.
  • use_image_if_no_bounding_boxes: 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.

İade:

  • Output başlangıcı: 1-D, [offset_height, offset_width, 0] içerir. tf.slice girdi olarak sağlayın.
  • Output boyutu: 1-D, [target_height, target_width, -1] içerir. tf.slice girdi olarak sağlayın.
  • Output bkutuları: bozuk sınırlayıcı kutuyu içeren [1, 1, 4] şekilli 3 boyutlu. tf.image.draw_bounding_boxes girdi olarak sağlayın.

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:: Öznitelikler

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

Genel özellikler

bbox'lar

::tensorflow::Output bboxes

başlamak

::tensorflow::Output begin

operasyon

Operation operation

boyut

::tensorflow::Output size

Kamu işlevleri

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

Alan Aralığı

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

En Boy Oranı Aralığı

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

Maksimum Deneme Sayısı

Attrs MaxAttempts(
  int64 x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)

ImageIfNoBoundingBoxes'ı kullanın

Attrs UseImageIfNoBoundingBoxes(
  bool x
)