SampleDistortedBoundingBox

публичный финальный класс SampleDistortedBoundingBox

Создайте одну случайно искаженную ограничивающую рамку для изображения.

Аннотации ограничивающего прямоугольника часто предоставляются в дополнение к основным меткам в задачах распознавания изображений или локализации объектов. Распространенным методом обучения такой системы является случайное искажение изображения с сохранением его содержания, т. е. увеличение данных . Эта операция выводит случайно искаженную локализацию объекта, то есть ограничивающую рамку с учетом `image_size`, `bounding_boxes` и ряда ограничений.

Результатом этой операции является единая ограничивающая рамка, которую можно использовать для обрезки исходного изображения. Выходные данные возвращаются в виде трех тензоров: «begin», «size» и «bboxes». Первые два тензора можно передать непосредственно в tf.slice для обрезки изображения. Последний может быть передан в tf.image.draw_bounding_boxes , чтобы визуализировать, как выглядит ограничивающий прямоугольник.

Ограничительные рамки предоставляются и возвращаются как `[y_min, x_min, y_max, x_max]`. Координаты ограничивающего прямоугольника представляют собой числа с плавающей запятой в `[0.0, 1.0]` относительно ширины и высоты основного изображения.

Например,

# 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)
 
Обратите внимание: если информация об ограничивающей рамке недоступна, установка `use_image_if_no_bounding_boxes = true` будет предполагать, что существует одна неявная ограничивающая рамка, охватывающая все изображение. Если `use_image_if_no_bounding_boxes` имеет значение false и ограничивающие рамки не указаны, возникает ошибка.

Вложенные классы

сорт SampleDistortedBoundingBox.Options Дополнительные атрибуты для SampleDistortedBoundingBox

Константы

Нить OP_NAME Название этой операции, известное основному движку TensorFlow.

Публичные методы

статический SampleDistortedBoundingBox.Options
areaRange (Список<Float> areaRange)
статический SampleDistortedBoundingBox.Options
аспектРатиоРанге (Список<Float> аспектРатиоРанге)
Вывод <TFloat32>
ббоксы ()
Трехмерное изображение с формой `[1, 1, 4]`, содержащее искаженную ограничивающую рамку.
Выход <Т>
начинать ()
1-D, содержащий `[offset_height, offset_width, 0]`.
static <T расширяет TNumber > SampleDistortedBoundingBox <T>
create ( Область действия , Операнд <T> imageSize, Операнд <TFloat32> boundingBoxes, Операнд <TFloat32> minObjectCovered, Параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию SampleDistortedBoundingBox.
статический SampleDistortedBoundingBox.Options
maxAttempts (длинные maxAttempts)
статический SampleDistortedBoundingBox.Options
семя (длинное семя)
статический SampleDistortedBoundingBox.Options
семя2 (длинное семя2)
Выход <Т>
размер ()
1-D, содержащий `[target_height, target_width, -1]`.
статический SampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (логическое значение useImageIfNoBoundingBoxes)

Унаследованные методы

Константы

общедоступная статическая финальная строка OP_NAME

Название этой операции, известное основному движку TensorFlow.

Постоянное значение: «SampleDistortedBoundingBoxV2»

Публичные методы

общедоступный статический SampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)

Параметры
площадьДиапазон Обрезанная область изображения должна содержать часть предоставленного изображения в пределах этого диапазона.

общедоступный статический SampleDistortedBoundingBox.Options аспектRatioRange (List<Float> аспектRatioRange)

Параметры
аспектRatioRange Обрезанная область изображения должна иметь соотношение сторон = ширина/высота в пределах этого диапазона.

публичный вывод <TFloat32> bboxes ()

Трехмерное изображение с формой `[1, 1, 4]`, содержащее искаженную ограничивающую рамку. Предоставьте входные данные для tf.image.draw_bounding_boxes .

публичный вывод <T> начать ()

1-D, содержащий `[offset_height, offset_width, 0]`. Предоставьте входные данные для tf.slice .

public static SampleDistortedBoundingBox <T> create ( область области действия, операнд <T> imageSize, операнд < TFloat32 >boundingBoxes, операнд < TFloat32 > minObjectCovered, параметры... параметры)

Фабричный метод для создания класса, обертывающего новую операцию SampleDistortedBoundingBox.

Параметры
объем текущий объем
Размер изображения 1-D, содержащий `[высоту, ширину, каналы]`.
ограничивающие коробки Трехмерное изображение с формой `[batch, N, 4]`, описывающее N ограничивающих рамок, связанных с изображением.
minObjectCovered Обрезанная область изображения должна содержать как минимум эту часть любой предоставленной ограничивающей рамки. Значение этого параметра должно быть неотрицательным. В случае 0 обрезанная область не обязательно должна перекрывать какую-либо из предоставленных ограничивающих рамок.
параметры содержит значения необязательных атрибутов
Возврат
  • новый экземпляр SampleDistortedBoundingBox

общедоступный статический SampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

Параметры
МаксПопытки Количество попыток создания обрезанной области изображения с указанными ограничениями. После неудачи max_attempts вернуть все изображение.

общедоступное статическое семя SampleDistortedBoundingBox.Options (длинное семя)

Параметры
семя Если для `seed` или `seed2` установлено значение, отличное от нуля, генератор случайных чисел заполняется данным `seed`. В противном случае он засеивается случайным семенем.

общедоступный статический SampleDistortedBoundingBox.Options семя2 (длинное семя2)

Параметры
семя2 Второе семя, чтобы избежать столкновения семян.

размер публичного вывода <T> ()

1-D, содержащий `[target_height, target_width, -1]`. Предоставьте входные данные для tf.slice .

общедоступный статический SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (логическое значение useImageIfNoBoundingBoxes)

Параметры
использоватьImageIfNoBoundingBoxes Управляет поведением, если ограничивающие рамки не указаны. Если это правда, предположим, что неявная ограничивающая рамка охватывает весь ввод. Если false, выдать ошибку.