Spec-Zone.ru › TensorFlow 2.3

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.

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

Spec-Zone.ru

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