Spec-Zone.ru › TensorFlow 1.15

tf.contrib.image.sparse_image_warp

Деформация изображения с использованием соответствий между разреженными опорными точками.

tf.contrib.image.sparse_image_warp(
    image, source_control_point_locations, dest_control_point_locations,
    interpolation_order=2, regularization_weight=0.0, num_boundary_points=0,
    name='sparse_image_warp'
)

Применяет нелинейную деформацию изображения, где деформация задаётся исходными и конечными координатами (возможно, небольшого числа) опорных точек. Сначала, мы используем сплайн полигармонического типа (tf.contrib.image.interpolate_spline) для интерполяции смещений между соответствующими опорными точками в плотное поле потока. Затем, мы деформируем изображение, используя это плотное поле потока (tf.contrib.image.dense_image_warp).

Пусть t индексирует наши опорные точки. При regularization_weight=0, у нас есть: warped_image[b, dest_control_point_locations[b, t, 0], dest_control_point_locations[b, t, 1], :] = image[b, source_control_point_locations[b, t, 0], source_control_point_locations[b, t, 1], :].

При regularization_weight > 0, это условие выполняется приблизительно, так как регулируемая интерполяция балансирует плавность интерполянта и восстановление интерполянта в опорных точках. Смотрите tf.contrib.image.interpolate_spline для дополнительной документации по аргументам interpolation_order и regularization_weight.

Аргументы
image [batch, height, width, channels] float Tensor
source_control_point_locations [batch, num_control_points, 2] float Tensor
dest_control_point_locations [batch, num_control_points, 2] float Tensor
interpolation_order порядок полинома, используемый при интерполяции сплайном
regularization_weight вес регуляризатора гладкости при интерполяции
num_boundary_points Количество нулевых точек потока, которые необходимо добавить на каждом краю изображения. Использование: num_boundary_points=0: не добавлять нулевые точки num_boundary_points=1: 4 угла изображения num_boundary_points=2: 4 угла и одна посередине каждой стороны (8 точек в сумме) num_boundary_points=n: 4 угла и n-1 по каждой стороне
name Имя операции (необязательно).

Обратите внимание, что изображение и смещения могут быть типа tf.half, tf.float32 или tf.float64 и не обязательно должны быть одного типа.

Возвращаемые значения
warped_image [batch, height, width, channels] float Tensor того же типа, что и входное изображение.
flow_field [batch, height, width, 2] float Tensor содержащее плотное поле потока, полученное в результате интерполяции.

© 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/r1.15/api_docs/python/tf/contrib/image/sparse_image_warp

Spec-Zone.ru

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