Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.image.sample_distorted_bounding_box

Генерирует один случайно искаженный прямоугольник для изображения. (устарело)

tf.compat.v1.image.sample_distorted_bounding_box(
    image_size, bounding_boxes, seed=None, seed2=None, min_object_covered=0.1,
    aspect_ratio_range=None, area_range=None, max_attempts=None,
    use_image_if_no_bounding_boxes=None, name=None
)
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: seed2 arg устарел. Используйте sample_distorted_bounding_box_v2 вместо него.

Аннотации прямоугольников часто предоставляются дополнительно к меткам истинных значений в задачах распознавания изображений или локализации объектов. Распространённый метод обучения такой системы — случайное искажение изображения при сохранении его содержимого, т. е. увеличение данных. Этот оператор выводит случайное искажённое расположение объекта, т. е. прямоугольник, заданного 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,
    min_object_covered=0.1)

# 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.compat.v1.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 для предотвращения столкновения семян.
min_object_covered Tensor типа float32. По умолчанию 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 A Tensor. Имеет тот же тип, что и image_size. 1-D, содержащий [offset_height, offset_width, 0]. Используйте в качестве входных данных для tf.slice.
size A Tensor. Имеет тот же тип, что и image_size. 1-D, содержащий [target_height, target_width, -1]. Используйте в качестве входных данных для tf.slice.
bboxes A Tensor типа float32. 3-D со формой [1, 1, 4] содержащий искажённый прямоугольник. Используйте в качестве входных данных для tf.image.draw_bounding_boxes.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/image/sample_distorted_bounding_box

Spec-Zone.ru

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