Spec-Zone.ru › TensorFlow 2.9

tf.raw_ops.SampleDistortedBoundingBox

Генерация одного случайно искаженного ограничивающего прямоугольника для изображения.

Альтернативные имена

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.raw_ops.SampleDistortedBoundingBox

tf.raw_ops.SampleDistortedBoundingBox(
    image_size,
    bounding_boxes,
    seed=0,
    seed2=0,
    min_object_covered=0.1,
    aspect_ratio_range=[0.75, 1.33],
    area_range=[0.05, 1],
    max_attempts=100,
    use_image_if_no_bounding_boxes=False,
    name=None
)

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

Выходной результат этого оператора — один ограничивающий прямоугольник, который можно использовать для обрезки исходного изображения. Выход возвращается как 3 тензора: begin, size и bboxes. Первые 2 тензора можно напрямую передать в 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 и ограничивающие прямоугольники не предоставлены, генерируется ошибка.

Аргументы
image_size A Tensor. Должно быть одним из следующих типов: uint8, int8, int16, int32, int64. 1-D, содержащий [height, width, channels].
bounding_boxes A Tensor типа float32. 3-D с формой [batch, N, 4] описывает N ограничивающих прямоугольников, связанных с изображением.
seed Необязательное int. По умолчанию 0. Если seed или seed2 установлены не равными нулю, генератор случайных чисел инициализируется заданным seed. В противном случае, он инициализируется случайным seed.
seed2 Необязательный int. По умолчанию 0. Второй seed для предотвращения конфликтов seed.
min_object_covered Необязательный float. По умолчанию 0.1. Область обрезки изображения должна содержать по крайней мере эту долю любого предоставленного ограничивающего прямоугольника. Значение этого параметра должно быть неотрицательным. В случае 0, область обрезки не обязана пересекаться ни с одним из предоставленных ограничивающих прямоугольников.
aspect_ratio_range Необязательный список floats. По умолчанию [0.75, 1.33]. Соотношение сторон области обрезки изображения (ширина / высота) должно находиться в этом диапазоне.
area_range Необязательный список floats. По умолчанию [0.05, 1]. Область обрезки изображения должна содержать долю предоставленного изображения в этом диапазоне.
max_attempts Необязательный int. По умолчанию 100. Количество попыток сгенерировать область обрезки изображения с указанными ограничениями. После max_attempts неудач возвращается всё изображение.
use_image_if_no_bounding_boxes Необязательный bool. По умолчанию False. Управляет поведением, если ограничивающие прямоугольники не предоставлены. Если true, предполагается неявный ограничивающий прямоугольник, покрывающий весь вход. Если false, генерируется ошибка.
name Имя операции (необязательно).
Возвращаемые значения
Кортеж объектов Tensor (begin, size, bboxes).
begin A Tensor. Имеет тот же тип, что и image_size.
size A Tensor. Имеет тот же тип, что и image_size.
bboxes A Tensor типа float32.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/raw_ops/SampleDistortedBoundingBox

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API