Spec-Zone.ru › TensorFlow 2.9

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-D, содержащий [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.

© 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/SampleDistortedBoundingBoxV2

Spec-Zone.ru

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