Gere uma única caixa delimitadora distorcida aleatoriamente para uma imagem.
Anotações de caixa delimitadora são frequentemente fornecidas além de rótulos verdadeiros em tarefas de reconhecimento de imagem ou localização de objetos. Uma técnica comum para treinar tal sistema é distorcer aleatoriamente uma imagem enquanto preserva seu conteúdo, ou seja, aumento de dados . Este Op gera uma localização distorcida aleatoriamente de um objeto, ou seja, uma caixa delimitadora, dado um `tamanho_da_imagem`, `caixas_limitadoras` e uma série de restrições.
A saída deste Op é uma única caixa delimitadora que pode ser usada para cortar a imagem original. A saída é retornada como 3 tensores: `begin`, `size` e `bboxes`. Os primeiros 2 tensores podem ser alimentados diretamente no tf.slice
para cortar a imagem. Este último pode ser fornecido a tf.image.draw_bounding_boxes
para visualizar a aparência da caixa delimitadora.
As caixas delimitadoras são fornecidas e retornadas como `[y_min, x_min, y_max, x_max]`. As coordenadas da caixa delimitadora são flutuantes em `[0.0, 1.0]` em relação à largura e altura da imagem subjacente.
Por exemplo,
# 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)
Classes aninhadas
aula | SampleDistortedBoundingBox.Options | Atributos opcionais para SampleDistortedBoundingBox |
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
SampleDistortedBoundingBox.Options estático | areaRange (List<Float> areaRange) |
SampleDistortedBoundingBox.Options estático | aspectoRatioRange (List<Float> aspectoRatioRange) |
Saída < TFloat32 > | bboxes () 3-D com forma `[1, 1, 4]` contendo a caixa delimitadora distorcida. |
Saída <T> | começar () 1-D, contendo `[offset_height, offset_width, 0]`. |
estático <T estende TNumber > SampleDistortedBoundingBox <T> | |
SampleDistortedBoundingBox.Options estático | maxAttempts (MaxAttempts longos) |
SampleDistortedBoundingBox.Options estático | semente (semente longa) |
SampleDistortedBoundingBox.Options estático | seed2 (semente2 longa) |
Saída <T> | tamanho () 1-D, contendo `[target_height, target_width, -1]`. |
SampleDistortedBoundingBox.Options estático | useImageIfNoBoundingBoxes (booleano useImageIfNoBoundingBoxes) |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
public static SampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)
Parâmetros
áreaRange | A área recortada da imagem deve conter uma fração da imagem fornecida dentro deste intervalo. |
---|
public static SampleDistortedBoundingBox.Options aspectoRatioRange (List<Float> aspectoRatioRange)
Parâmetros
AspectRatioRange | A área recortada da imagem deve ter uma proporção = largura/altura dentro deste intervalo. |
---|
Saída pública < TFloat32 > bboxes ()
3-D com forma `[1, 1, 4]` contendo a caixa delimitadora distorcida. Forneça como entrada para tf.image.draw_bounding_boxes
.
Saída pública <T> início ()
1-D, contendo `[offset_height, offset_width, 0]`. Forneça como entrada para tf.slice
.
public static SampleDistortedBoundingBox <T> create ( Escopo escopo, Operando <T> imageSize, Operando < TFloat32 >boundingBoxes, Operando < TFloat32 > minObjectCovered, Opções... opções)
Método de fábrica para criar uma classe que agrupa uma nova operação SampleDistortedBoundingBox.
Parâmetros
escopo | escopo atual |
---|---|
tamanho da imagem | 1-D, contendo `[altura, largura, canais]`. |
caixas delimitadoras | 3-D com formato `[lote, N, 4]` descrevendo as N caixas delimitadoras associadas à imagem. |
minObjectCovered | A área recortada da imagem deve conter pelo menos esta fração de qualquer caixa delimitadora fornecida. O valor deste parâmetro não deve ser negativo. No caso de 0, a área recortada não precisa se sobrepor a nenhuma das caixas delimitadoras fornecidas. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de SampleDistortedBoundingBox
public static SampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)
Parâmetros
maxTentativas | Número de tentativas de geração de uma região recortada da imagem das restrições especificadas. Após falhas de `max_attempts`, retorne a imagem inteira. |
---|
semente pública estática SampleDistortedBoundingBox.Options (semente longa)
Parâmetros
semente | Se `seed` ou `seed2` forem definidos como diferentes de zero, o gerador de números aleatórios será propagado pela `seed` fornecida. Caso contrário, é semeado por uma semente aleatória. |
---|
public static SampleDistortedBoundingBox.Options seed2 (seed2 longo)
Parâmetros
semente2 | Uma segunda semente para evitar colisão de sementes. |
---|
Saída pública <T> tamanho ()
1-D, contendo `[target_height, target_width, -1]`. Forneça como entrada para tf.slice
.
public static SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (booleano useImageIfNoBoundingBoxes)
Parâmetros
useImageIfNoBoundingBoxes | Controla o comportamento se nenhuma caixa delimitadora for fornecida. Se for verdade, assuma uma caixa delimitadora implícita cobrindo toda a entrada. Se for falso, gera um erro. |
---|