Spec-Zone.ru › TensorFlow C++

tensorflow::ops::SampleDistortedBoundingBox

#include <image_ops.h>

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

Краткое описание

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

Выходной параметр этого Op — один прямоугольник, который можно использовать для обрезки исходного изображения. Выходной результат возвращается как 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 и прямоугольники не предоставлены, возникает ошибка.

Аргументы:

  • scope: Объект Scope
  • image_size: 1-мерный массив, содержащий [height, width, channels].
  • bounding_boxes: 3-мерный массив с формой [batch, N, 4], описывающий N прямоугольников, связанных с изображением.

Дополнительные атрибуты (см. Attrs):

  • seed: Если либо seed, либо seed2 установлены отличными от нуля, генератор случайных чисел инициализируется заданным seed. В противном случае он инициализируется случайным значением.
  • seed2: Второй генератор случайных чисел для предотвращения коллизий.
  • min_object_covered: Область обрезки изображения должна содержать не менее этой доли любой предоставленной рамки. Значение этого параметра должно быть неотрицательным. В случае 0, область обрезки не обязана перекрывать какие-либо предоставленные прямоугольники.
  • aspect_ratio_range: У области обрезки изображения должен быть коэффициент формы = ширина / высота в этом диапазоне.
  • area_range: Область обрезки изображения должна содержать долю исходного изображения в этом диапазоне.
  • max_attempts: Количество попыток сгенерировать область обрезки изображения, соответствующую указанным ограничениям. После max_attempts неудач возвращается всё изображение.
  • use_image_if_no_bounding_boxes: Управляет поведением, если прямоугольники не указаны. Если true, предполагается неявный прямоугольник, покрывающий весь вход. Если false, возникает ошибка.

Возвращает:

  • Output begin: 1-мерный массив, содержащий [offset_height, offset_width, 0]. Используется как вход для tf.slice.
  • Output size: 1-мерный массив, содержащий [target_height, target_width, -1]. Используется как вход для tf.slice.
  • Output bboxes: 3-мерный массив с формой [1, 1, 4], содержащий искажённый прямоугольник. Используется как вход для tf.image.draw_bounding_boxes.
Конструкторы и деструкторы
SampleDistortedBoundingBox(const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes)
SampleDistortedBoundingBox(const ::tensorflow::Scope & scope, ::tensorflow::Input image_size, ::tensorflow::Input bounding_boxes, const SampleDistortedBoundingBox::Attrs & attrs)
Публичные атрибуты
bboxes
::tensorflow::Output
begin
::tensorflow::Output
operation
Operation
size
::tensorflow::Output
Публичные статические функции
AreaRange(const gtl::ArraySlice< float > & x)
Attrs
AspectRatioRange(const gtl::ArraySlice< float > & x)
Attrs
MaxAttempts(int64 x)
Attrs
MinObjectCovered(float x)
Attrs
Seed(int64 x)
Attrs
Seed2(int64 x)
Attrs
UseImageIfNoBoundingBoxes(bool x)
Attrs
Структуры
tensorflow::ops::SampleDistortedBoundingBox::Attrs

Дополнительные атрибуты для SampleDistortedBoundingBox.

Публичные атрибуты

bboxes

::tensorflow::Output bboxes

begin

::tensorflow::Output begin

operation

Operation operation

size

::tensorflow::Output size

Публичные функции

SampleDistortedBoundingBox

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes
)

SampleDistortedBoundingBox

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  const SampleDistortedBoundingBox::Attrs & attrs
)

Публичные статические функции

AreaRange

Attrs AreaRange(
  const gtl::ArraySlice< float > & x
)

AspectRatioRange

Attrs AspectRatioRange(
  const gtl::ArraySlice< float > & x
)

MaxAttempts

Attrs MaxAttempts(
  int64 x
)

MinObjectCovered

Attrs MinObjectCovered(
  float x
)

Seed

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)

© 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/api_docs/cc/class/tensorflow/ops/sample-distorted-bounding-box

Spec-Zone.ru

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