StatelessSampleDistortedBoundingBox

classe finale pubblica StatelessSampleDistortedBoundingBox

Genera in modo deterministico un riquadro di delimitazione distorto in modo casuale per un'immagine.

Le annotazioni del riquadro di delimitazione vengono spesso fornite in aggiunta alle etichette vere e proprie nelle attività di riconoscimento delle immagini o di localizzazione degli oggetti. Una tecnica comune per addestrare un tale sistema è quella di distorcere casualmente un'immagine preservandone il contenuto, ovvero l'aumento dei dati . Questo Op, dato lo stesso "seme", produce in modo deterministico una localizzazione distorta in modo casuale di un oggetto, ovvero un riquadro di delimitazione, data una "dimensione_immagine", "bounding_boxes" e una serie di vincoli.

L'output di questa operazione è un singolo riquadro di delimitazione che può essere utilizzato per ritagliare l'immagine originale. L'output viene restituito come 3 tensori: `begin`, `size` e `bboxes`. I primi 2 tensori possono essere inseriti direttamente in tf.slice per ritagliare l'immagine. Quest'ultimo può essere fornito a tf.image.draw_bounding_boxes per visualizzare l'aspetto del riquadro di delimitazione.

I riquadri di delimitazione vengono forniti e restituiti come "[y_min, x_min, y_max, x_max]". Le coordinate del riquadro di delimitazione sono float in "[0.0, 1.0]" rispetto alla larghezza e all'altezza dell'immagine sottostante.

L'output di questo Op è garantito essere lo stesso dato lo stesso `seed` ed è indipendente dal numero di volte in cui viene chiamata la funzione e dalle impostazioni del seed globale (ad esempio tf.random.set_seed ).

Utilizzo di esempio:

>>> immagine = np.array([[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9] ]]) >>> bbox = tf.costante( ... [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, forma=[1, 1, 4]) >>> seme = (1, 2 ) >>> # Genera un singolo riquadro di delimitazione distorto. >>> bbox_begin, bbox_size, bbox_draw = ( ... tf.image.stateless_sample_distorted_bounding_box( ... tf.shape(image), bounding_boxes=bbox, seed=seed)) >>> # Utilizza il riquadro di delimitazione per distorcere l'immagine . >>> tf.slice(immagine, bbox_begin, bbox_size) >>> # Disegna il riquadro di delimitazione in un riepilogo dell'immagine. >>> colori = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]]) >>> tf.image.draw_bounding_boxes( ... tf.expand_dims(tf.cast(image, tf .float32),0), bbox_draw, colori)

Tieni presente che se non sono disponibili informazioni sul riquadro di delimitazione, l'impostazione `use_image_if_no_bounding_boxes = true` presuppone che esista un singolo riquadro di delimitazione implicito che copre l'intera immagine. Se `use_image_if_no_bounding_boxes` è false e non vengono forniti riquadri di delimitazione, viene generato un errore.

Classi nidificate

classe StatelessSampleDistortedBoundingBox.Options Attributi facoltativi per StatelessSampleDistortedBoundingBox

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

statico StatelessSampleDistortedBoundingBox.Options
areaRange (Lista<Float> areaRange)
statico StatelessSampleDistortedBoundingBox.Options
aspettoRatioRange (Lista<Float> aspettoRatioRange)
Uscita < TFloat32 >
bbox ()
3D con forma "[1, 1, 4]" contenente il riquadro di delimitazione distorto.
Uscita <T>
inizio ()
1-D, contenente "[offset_height, offset_width, 0]".
static <T estende TNumber > StatelessSampleDistortedBoundingBox <T>
create ( Scope scope, Operando <T> imageSize, Operando < TFloat32 > boundingBoxes, Operando < TFloat32 > minObjectCovered, Operando <? estende TNumber > seed, Opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione StatelessSampleDistortedBoundingBox.
statico StatelessSampleDistortedBoundingBox.Options
maxAttempts (max tentativi lunghi)
Uscita <T>
misurare ()
1-D, contenente "[altezza_destinazione, larghezza_destinazione, -1]".
statico StatelessSampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (uso booleanoImageIfNoBoundingBoxes)

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "StatelessSampleDistortedBoundingBox"

Metodi pubblici

public static StatelessSampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)

Parametri
areaRange L'area ritagliata dell'immagine deve contenere una frazione dell'immagine fornita all'interno di questo intervallo.

pubblico statico StatelessSampleDistortedBoundingBox.Options aspettoRatioRange (List<Float> aspettoRatioRange)

Parametri
aspettoRatioRange L'area ritagliata dell'immagine deve avere proporzioni = larghezza/altezza comprese in questo intervallo.

Output pubblico < TFloat32 > bboxes ()

3D con forma "[1, 1, 4]" contenente il riquadro di delimitazione distorto. Fornire come input a tf.image.draw_bounding_boxes .

Uscita pubblica <T> inizio ()

1-D, contenente "[offset_height, offset_width, 0]". Fornire come input a tf.slice .

public static StatelessSampleDistortedBoundingBox <T> create ( Scope scope, Operando <T> imageSize, Operando < TFloat32 > boundingBoxes, Operando < TFloat32 > minObjectCovered, Operando <? extends TNumber > seed, Opzioni... opzioni)

Metodo factory per creare una classe che racchiude una nuova operazione StatelessSampleDistortedBoundingBox.

Parametri
scopo ambito attuale
dimensione dell'immagine 1-D, contenente "[altezza, larghezza, canali]".
boundingBoxes 3-D con forma "[batch, N, 4]" che descrive gli N riquadri di delimitazione associati all'immagine.
minObjectCovered L'area ritagliata dell'immagine deve contenere almeno questa frazione di qualsiasi riquadro di delimitazione fornito. Il valore di questo parametro deve essere non negativo. Nel caso di 0, non è necessario che l'area ritagliata si sovrapponga a nessuno dei riquadri di delimitazione forniti.
seme 1-D con forma "[2]". Il seme del generatore di numeri casuali. Deve avere il dtype "int32" o "int64". (Quando si utilizza XLA, è consentito solo "int32".)
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di StatelessSampleDistortedBoundingBox

public static StatelessSampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

Parametri
maxTentativi Numero di tentativi di generazione di una regione ritagliata dell'immagine dei vincoli specificati. Dopo gli errori "max_attempts", restituisce l'intera immagine.

dimensione pubblica dell'output <T> ()

1-D, contenente "[altezza_destinazione, larghezza_destinazione, -1]". Fornire come input a tf.slice .

pubblico statico StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (uso booleanoImageIfNoBoundingBoxes)

Parametri
useImageIfNoBoundingBoxes Controlla il comportamento se non vengono forniti riquadri di delimitazione. Se vero, presupponi un riquadro di delimitazione implicito che copra l'intero input. Se falso, genera un errore.