tensorflow :: ops :: SampleDistortedBoundingBoxV2
#include <image_ops.h>
Gere uma única caixa delimitadora distorcida aleatoriamente para uma imagem.
Resumo
As anotações de caixa delimitadora são freqüentemente fornecidas além de rótulos de verdade 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 produz uma localização distorcida aleatoriamente de um objeto, ou seja, caixa delimitadora, dado um image_size
, image_size
bounding_boxes
e uma série de restrições.
A saída desta 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 em tf.slice
para cortar a imagem. O último pode ser fornecido para tf.image.draw_bounding_boxes
para visualizar a aparência da caixa delimitadora.
Caixas delimitadoras são fornecidas e retornadas como [y_min, x_min, y_max, x_max]
. As coordenadas da caixa delimitadora são flutuações em [0.0, 1.0]
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)
Observe que se nenhuma informação de caixa delimitadora estiver disponível, definir use_image_if_no_bounding_boxes = true
assumirá que há uma única caixa delimitadora implícita cobrindo toda a imagem. Se use_image_if_no_bounding_boxes
for false e nenhuma caixa delimitadora for fornecida, um erro será gerado.
Argumentos:
- escopo: um objeto Scope
- tamanho_da_imagem: 1-D, contendo
[height, width, channels]
. - bounding_boxes: 3-D com forma
[batch, N, 4]
descreve as N caixas limitadoras associadas à imagem. - min_object_covered: 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 cortada não precisa se sobrepor a nenhuma das caixas delimitadoras fornecidas.
Atributos opcionais (consulte Attrs
):
- seed: Se
seed
ouseed2
forem configurados para um valor diferente de zero, o gerador de números aleatórios é propagado peloseed
fornecido. Caso contrário, é semeado por uma semente aleatória. - seed2: Uma segunda semente para evitar a colisão de sementes.
- aspect_ratio_range: A área cortada da imagem deve ter uma proporção = largura / altura dentro deste intervalo.
- intervalo_área: a área recortada da imagem deve conter uma fração da imagem fornecida dentro deste intervalo.
- max_attempts: Número de tentativas de gerar uma região recortada da imagem das restrições especificadas. Após
max_attempts
falhas demax_attempts
, retorne a imagem inteira. - use_image_if_no_bounding_boxes: controla o comportamento se nenhuma caixa delimitadora for fornecida. Se verdadeiro, assume uma caixa delimitadora implícita cobrindo toda a entrada. Se for falso, gera um erro.
Retorna:
-
[offset_height, offset_width, 0]
Output
: 1-D, contendo[offset_height, offset_width, 0]
. Fornece como entrada paratf.slice
. - Tamanho de
Output
: 1-D, contendo[target_height, target_width, -1]
. Fornece como entrada paratf.slice
. - Bboxes de
Output
: 3-D com forma[1, 1, 4]
contendo a caixa delimitadora distorcida. Forneça como entradatf.image.draw_bounding_boxes
.
Construtores e Destruidores | |
---|---|
SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered) | |
SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered, const SampleDistortedBoundingBoxV2::Attrs & attrs) |
Atributos públicos | |
---|---|
bboxes | |
begin | |
operation | |
size |
Funções estáticas públicas | |
---|---|
AreaRange (const gtl::ArraySlice< float > & x) | |
AspectRatioRange (const gtl::ArraySlice< float > & x) | |
MaxAttempts (int64 x) | |
Seed (int64 x) | |
Seed2 (int64 x) | |
UseImageIfNoBoundingBoxes (bool x) |
Structs | |
---|---|
tensorflow :: ops :: SampleDistortedBoundingBoxV2 :: Attrs | Configuradores de atributos opcionais para SampleDistortedBoundingBoxV2 . |
Atributos públicos
bboxes
::tensorflow::Output bboxes
começar
::tensorflow::Output begin
Operação
Operation operation
Tamanho
::tensorflow::Output size
Funções públicas
SampleDistortedBoundingBoxV2
SampleDistortedBoundingBoxV2( const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes, ::tensorflow::Input min_object_covered )
SampleDistortedBoundingBoxV2
SampleDistortedBoundingBoxV2( const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes, ::tensorflow::Input min_object_covered, const SampleDistortedBoundingBoxV2::Attrs & attrs )
Funções estáticas públicas
AreaRange
Attrs AreaRange( const gtl::ArraySlice< float > & x )
AspectRatioRange
Attrs AspectRatioRange( const gtl::ArraySlice< float > & x )
MaxAttempts
Attrs MaxAttempts( int64 x )
Semente
Attrs Seed( int64 x )
Seed2
Attrs Seed2( int64 x )
UseImageIfNoBoundingBoxes
Attrs UseImageIfNoBoundingBoxes( bool x )