SampleDistortedBoundingBox

SampleDistortedBoundingBox public final class

Genere un único cuadro delimitador distorsionado aleatoriamente para una imagen.

Las anotaciones del cuadro delimitador a menudo se proporcionan además de las etiquetas de verdad en el terreno en tareas de reconocimiento de imágenes o localización de objetos. Una técnica común para la formación de un sistema de este tipo es distorsionar al azar una imagen mientras que preserva su contenido, es decir, el aumento de datos. Esta operación genera una localización distorsionada aleatoriamente de un objeto, es decir, cuadro delimitador, dado un "tamaño_imagen", "cuadros_delimitadores" y una serie de restricciones.

El resultado de esta operación es un cuadro delimitador único que se puede utilizar para recortar la imagen original. La salida se devuelve como 3 tensores: `begin`,` size` y `bboxes`. Los 2 primeros tensores pueden ser alimentados directamente en tf.slice para recortar la imagen. Este último puede ser suministrado a tf.image.draw_bounding_boxes de visualizar lo que delimitan las miradas caja como.

Los cuadros delimitadores se suministran y devuelven como "[y_min, x_min, y_max, x_max]". Las coordenadas del cuadro delimitador son flotantes en '[0.0, 1.0] `relativas al ancho y alto de la imagen subyacente.

Por ejemplo,

# 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)
 
Tenga en cuenta que si no hay información del cuadro delimitador está disponible, poniendo `use_image_if_no_bounding_boxes = true` se suponga que hay un único cuadro de limitación implícita que cubre toda la imagen. Si `use_image_if_no_bounding_boxes` es falso y no se proporcionan cuadros delimitadores, se genera un error.

Clases anidadas

clase SampleDistortedBoundingBox.Options Los atributos opcionales para SampleDistortedBoundingBox

Constantes

Cuerda OP_NAME El nombre de esta operación, como lo conoce el motor central de TensorFlow

Métodos públicos

estáticas SampleDistortedBoundingBox.Options
areaRange (List <Float> areaRange)
estáticas SampleDistortedBoundingBox.Options
aspectRatioRange (List <Float> aspectRatioRange)
Salida < TFloat32 >
bboxes ()
3-D con forma `[1, 1, 4]` que contiene el cuadro delimitador distorsionado.
Salida <T>
iniciar ()
1-D, que contiene `[offset_height, offset_width, 0]`.
estática <T se extiende TNumber > SampleDistortedBoundingBox <T>
crear ( Alcance alcance, operando <T> imageSize, operando < TFloat32 > boundingBoxes, operando < TFloat32 > minObjectCovered, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación SampleDistortedBoundingBox.
estáticas SampleDistortedBoundingBox.Options
MaxAttempts (Long MaxAttempts)
estáticas SampleDistortedBoundingBox.Options
semilla (semilla de larga duración)
estáticas SampleDistortedBoundingBox.Options
seed2 (Long seed2)
Salida <T>
tamaño ()
1-D, que contiene `[target_height, target_width, -1]`.
estáticas SampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes)

Métodos heredados

Constantes

OP_NAME pública final static String

El nombre de esta operación, como lo conoce el motor central de TensorFlow

Valor constante: "SampleDistortedBoundingBoxV2"

Métodos públicos

estáticas pública SampleDistortedBoundingBox.Options areaRange (List <Float> areaRange)

Parámetros
areaRange El área recortada de la imagen debe contener una fracción de la imagen proporcionada dentro de este rango.

public static SampleDistortedBoundingBox.Options aspectRatioRange (List <Float> aspectRatioRange)

Parámetros
AspectRatioRange El área recortada de la imagen debe tener una relación de aspecto = ancho / alto dentro de este rango.

pública de salida < TFloat32 > bboxes ()

3-D con forma `[1, 1, 4]` que contiene el cuadro delimitador distorsionado. Proporcionar como entrada a tf.image.draw_bounding_boxes .

pública de salida <T> begin ()

1-D, que contiene `[offset_height, offset_width, 0]`. Proporcionar como entrada a tf.slice .

public static SampleDistortedBoundingBox <T> crear ( Alcance alcance, operando <T> imageSize, operando < TFloat32 > boundingBoxes, operando < TFloat32 > minObjectCovered, Opciones ... Opciones)

Método de fábrica para crear una clase que envuelva una nueva operación SampleDistortedBoundingBox.

Parámetros
alcance alcance actual
tamaño de la imagen 1-D, que contiene `[altura, ancho, canales]`.
boundingBoxes 3-D con forma `[lote, N, 4]` que describe los N cuadros delimitadores asociados con la imagen.
minObjectCovered El área recortada de la imagen debe contener al menos esta fracción de cualquier cuadro delimitador suministrado. El valor de este parámetro no debe ser negativo. En el caso de 0, el área recortada no necesita superponerse a ninguno de los cuadros delimitadores suministrados.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de SampleDistortedBoundingBox

estáticas pública SampleDistortedBoundingBox.Options MaxAttempts (Long MaxAttempts)

Parámetros
maxAttempts Número de intentos de generar una región recortada de la imagen de las restricciones especificadas. Después de fallas de `max_attempts`, devuelve la imagen completa.

public static SampleDistortedBoundingBox.Options semilla (semilla de larga duración)

Parámetros
semilla Si "semilla" o "semilla2" se establecen en un valor distinto de cero, el generador de números aleatorios es sembrado por la "semilla" dada. De lo contrario, es sembrado por una semilla aleatoria.

public static SampleDistortedBoundingBox.Options seed2 (Long seed2)

Parámetros
semilla2 Una segunda semilla para evitar la colisión de semillas.

pública de salida <T> size ()

1-D, que contiene `[target_height, target_width, -1]`. Proporcionar como entrada a tf.slice .

públicas estáticas SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (booleano useImageIfNoBoundingBoxes)

Parámetros
useImageIfNoBoundingBoxes Controla el comportamiento si no se proporcionan cuadros delimitadores. Si es verdadero, suponga un cuadro delimitador implícito que cubre toda la entrada. Si es falso, genera un error.