tensorflow :: ops :: SampleDistortedBoundingBox

#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 doğruluk 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, yani veri büyütme ile rasgele bozmaktır. 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.

İ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.
  • 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.
  • 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

SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes)
SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, const SampleDistortedBoundingBox::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)
MinObjectCovered (float x)
Seed (int64 x)
Seed2 (int64 x)
UseImageIfNoBoundingBoxes (bool x)

Yapılar

tensorflow :: ops :: SampleDistortedBoundingBox :: Attrs

SampleDistortedBoundingBox 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

SampleDistortedBoundingBox

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes
)

SampleDistortedBoundingBox

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  const SampleDistortedBoundingBox::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
)

MinObjectCovered

Attrs MinObjectCovered(
  float x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)