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
veyaseed2
sıfırdan farklı olarak ayarlanmışsa, rastgele sayı oluşturucu verilenseed
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ü gerimax_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 olaraktf.slice
. -
Output
boyutu: 1-D,[target_height, target_width, -1]
içeren.tf.slice
girdi olaraktf.slice
. -
Output
kutuları: bozuk sınırlayıcı kutuyu içeren[1, 1, 4]
şeklinde 3-D.tf.image.draw_bounding_boxes
girdi olaraktf.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 )