Spec-Zone.ru › TensorFlow 2.4

tf.raw_ops.SampleDistortedBoundingBoxV2

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

Просмотр псевдонимов

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

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

tf.compat.v1.raw_ops.SampleDistortedBoundingBoxV2

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

Аннотации прямоугольников часто предоставляются вместе с истинными метками в задачах распознавания изображений или локализации объектов. Распространённый метод обучения такой системы — случайное искажение изображения при сохранении его содержимого, т. е. усиление данных. Этот оператор выводит случайное искажённое положение объекта, т. е. прямоугольник, заданное 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-мерный, содержащий [height, width, channels].
bounding_boxes A Tensor типа float32. 3-мерный с формой [batch, N, 4] описывающей N прямоугольников, связанных с изображением.
min_object_covered A Tensor типа float32. Обрезанная область изображения должна содержать по крайней мере эту долю любого предоставленного прямоугольника. Значение этого параметра должно быть неотрицательным. В случае 0, обрезанная область не должна перекрываться ни с одним из предоставленных прямоугольников.
seed Необязательное int. По умолчанию 0. Если seed или seed2 установлены в ненулевое значение, генератор случайных чисел инициализируется заданным seed. В противном случае он инициализируется случайным значением.
seed2 Необязательное int. По умолчанию 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.
size A Tensor. Имеет тот же тип, что и image_size.
bboxes A Tensor типа float32.

© 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.4/api_docs/python/tf/raw_ops/SampleDistortedBoundingBoxV2

Spec-Zone.ru

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