tensorflow::ops::SampleDistortedBoundingBox
#include <image_ops.h>Görüntü için rastgele bozulmuş tek bir sınırlayıcı kutu oluşturun.
Özet
Görüntü tanıma veya nesne konumlandırma görevlerinde, gerçek etiketlere ek olarak genellikle sınırlayıcı kutu açıklamaları da sağlanır. Bu tür bir sistemi eğitmek için yaygın bir teknik, içeriğini korurken görüntüyü rastgele bozmaktır, yani veri artırma . Bu işlem, verilen image_size , bounding_boxes ve bir dizi kısıtlamaya bağlı olarak, bir nesnenin rastgele bozulmuş bir konumlandırmasını, yani sınırlayıcı kutusunu çıktı olarak verir.
Bu işlemin çı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. Sonuncusu ise sınırlayıcı kutunun nasıl göründüğünü görselleştirmek için tf.image.draw_bounding_boxes verilebilir.
Sınır kutuları [y_min, x_min, y_max, x_max] olarak sağlanır ve döndürülür. Sınır kutusu koordinatları, altta yatan görüntünün genişliğine ve yüksekliğine göre [0.0, 1.0] aralığında kayan noktalı sayılardır.
Ö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ır kutusu bilgisi mevcut değilse, use_image_if_no_bounding_boxes = true ayarı, tüm görüntüyü kapsayan tek bir örtük sınır kutusu olduğunu varsayacaktır. use_image_if_no_bounding_boxes false ise ve sınır kutusu bilgisi sağlanmamışsa, bir hata oluşur.
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- Resim boyutu: 1 boyutlu,
[height, width, channels]içeriyor. - sınırlayıcı kutular: Görüntüyle ilişkili N sınırlayıcı kutuyu tanımlayan
[batch, N, 4]şeklinde 3 boyutlu bir yapı.
İsteğe bağlı özellikler (bkz. Attrs ):
- seed: Eğer
seedveyaseed2sıfırdan farklı bir değere ayarlanırsa, rastgele sayı üreteci verilenseeddeğeriyle başlatılır. Aksi takdirde, rastgele bir seed değeriyle başlatılır. - seed2: Tohum çakışmasını önlemek için ikinci bir tohum.
- min_object_covered: Görüntünün kırpılan alanı, sağlanan sınırlayıcı kutuların en az bu oranını içermelidir. Bu parametrenin değeri negatif olmamalıdır. 0 değeri durumunda, kırpılan alanın sağlanan sınırlayıcı kutulardan herhangi biriyle örtüşmesi gerekmez.
- aspect_ratio_range: Görüntünün kırpılan alanının en boy oranı = genişlik / yükseklik, bu aralıkta olmalıdır.
- Alan aralığı: Görüntünün kırpılan alanı, sağlanan görüntünün bu aralık içindeki bir bölümünü içermelidir.
- max_attempts: Belirtilen kısıtlamalara göre görüntünün kırpılmış bir bölgesini oluşturma girişimlerinin sayısı.
max_attemptsbaşarısız olduktan sonra, görüntünün tamamını döndürün. - use_image_if_no_bounding_boxes: Sınır kutuları belirtilmediğinde davranışı kontrol eder. Doğruysa, tüm girişi kapsayan örtük bir sınır kutusu varsayılır. Yanlışsa, bir hata oluşturulur.
İadeler:
-
Outputbaşlangıcı: 1 boyutlu,[offset_height, offset_width, 0]içeriyor.tf.slicefonksiyonuna girdi olarak verin. -
Outputboyutu: 1 boyutlu,[target_height, target_width, -1]içerir.tf.slicefonksiyonuna girdi olarak verin. -
Outputsınırlayıcı kutuları: Bozulmuş sınırlayıcı kutuyu içeren[1, 1, 4]şeklinde 3 boyutlu.tf.image.draw_bounding_boxesfonksiyonuna girdi olarak verin.
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 | |
Herkese açık statik fonksiyonlar | |
|---|---|
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şlamak
::tensorflow::Output begin
operasyon
Operation operation
boyut
::tensorflow::Output size
Kamusal işlevler
ÖrnekBozulmuşSınır Kutusu
SampleDistortedBoundingBox( const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes )
ÖrnekBozulmuşSınır Kutusu
SampleDistortedBoundingBox( const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes, const SampleDistortedBoundingBox::Attrs & attrs )
Herkese açık statik fonksiyonlar
AlanAralığı
Attrs AreaRange( const gtl::ArraySlice< float > & x )
En Boy Oranı Aralığı
Attrs AspectRatioRange( const gtl::ArraySlice< float > & x )
MaksimumDenemeler
Attrs MaxAttempts( int64 x )
Minimum Nesne Kapsanan
Attrs MinObjectCovered( float x )
Tohum
Attrs Seed( int64 x )
Tohum2
Attrs Seed2( int64 x )
Sınır kutuları yoksa resmi kullan.
Attrs UseImageIfNoBoundingBoxes( bool x )