Spec-Zone.ru › TensorFlow 2.3

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
)

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

Выходной параметр данного оператора — единственная область, которая может использоваться для обрезки исходного изображения. Выход возвращается как 3 тензора: begin, size и bboxes. Первые 2 тензора можно напрямую использовать в tf.slice для обрезки изображения. Последний может быть предоставлен в tf.image.draw_bounding_boxes для визуализации вида bounding box.

Bounding box предоставляются и возвращаются в виде [y_min, x_min, y_max, x_max]. Координаты bounding box — числа с плавающей точкой в [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)

Обратите внимание, что если информация о bounding box недоступна, установка use_image_if_no_bounding_boxes = true предполагает существование одной неявной bounding box, охватывающей всё изображение. Если use_image_if_no_bounding_boxes ложно и bounding boxes не предоставлены, возникает ошибка.

Аргументы
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 bounding boxes, связанных с изображением.
seed Необязательный int. По умолчанию 0. Если seed или seed2 установлены в отличное от нуля значение, генератор случайных чисел инициализируется данным seed. В противном случае он инициализируется случайным числом.
seed2 Необязательный int. По умолчанию 0. Второй генератор случайных чисел для предотвращения коллизий.
min_object_covered Необязательный float. По умолчанию 0.1. Область обрезки изображения должна содержать не менее этой доли любой предоставленной bounding box. Значение этого параметра должно быть неотрицательным. В случае 0, область обрезки не должна пересекаться ни с одной из предоставленных bounding box.
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. Управляет поведением, если bounding boxes не предоставлены. Если истинно, предполагает неявную bounding box, покрывающую весь вход. Если ложно, вызывает ошибку.
name Имя операции (необязательно).
Возвращаемые значения
Кортеж объектов Tensor (begin, size, bboxes).
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.3/api_docs/python/tf/raw_ops/SampleDistortedBoundingBox

Spec-Zone.ru

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