Jump to content

Бикубическая интерполяция

(Перенаправлено с Bi-cubic )
Сравнение бикубической интерполяции с некоторыми одно- и двумерными интерполяциями.
Черные и красные / желтые / зеленые / синие точки соответствуют интерполируемой точке и соседним выборкам соответственно.
Их высота над землей соответствует их значениям.

В математике бикубическая интерполяция — это расширение интерполяции кубическим сплайном (метода применения кубической интерполяции к набору данных) для интерполяции точек данных на двумерной регулярной сетке . Интерполированная поверхность (имеется в виду форма ядра, а не изображение) более гладкая , чем соответствующие поверхности, полученные с помощью билинейной интерполяции или интерполяции ближайших соседей . Бикубическая интерполяция может быть выполнена с использованием полиномов Лагранжа , кубических сплайнов или кубической свертки алгоритма .

При обработке изображений бикубическая интерполяция часто выбирается вместо билинейной интерполяции или интерполяции по ближайшему соседу при повторной выборке изображения , когда скорость не является проблемой. В отличие от билинейной интерполяции, которая учитывает только 4 пикселя (2×2), бикубическая интерполяция учитывает 16 пикселей (4×4). Изображения, подвергнутые повторной выборке с помощью бикубической интерполяции, могут иметь различные артефакты интерполяции в зависимости от выбранных значений b и c.

Вычисление

[ редактировать ]
Бикубическая интерполяция на квадрате состоящий из 25 отдельных квадратов, соединенных вместе. Бикубическая интерполяция согласно . реализации Matplotlib Цвет указывает значение функции. Черные точки — это места интерполяции предписанных данных. Обратите внимание, что образцы цвета не являются радиально симметричными.
Билинейная интерполяция на том же наборе данных, что и выше. Производные поверхности не непрерывны по границам квадрата.
Интерполяция ближайшего соседа для того же набора данных, что и выше.

Предположим, что значения функции и производные , и известны на четырех углах , , , и единицы площади. Тогда интерполированную поверхность можно записать как

Задача интерполяции состоит в определении 16 коэффициентов . Соответствие со значениями функции дает четыре уравнения:

Аналогично, восемь уравнений для производных в и направления:

И четыре уравнения для смешанная частная производная :

В приведенных выше выражениях использовались следующие тождества:

Эта процедура дает поверхность на единичной площади которая непрерывна и имеет непрерывные производные. Затем можно выполнить бикубическую интерполяцию на регулярной сетке произвольного размера путем объединения таких бикубических поверхностей, гарантируя совпадение производных на границах.

Группировка неизвестных параметров в векторе и позволяя приведенную выше систему уравнений можно переформулировать в матрицу линейного уравнения .

Обращение матрицы дает более полезное линейное уравнение , где что позволяет рассчитать быстро и легко.

Возможна и другая краткая матричная форма для 16 коэффициентов: или где

Расширение на прямолинейные сетки.

[ редактировать ]

Часто приложения требуют бикубической интерполяции с использованием данных в прямолинейной сетке, а не в единичном квадрате. В этом случае тождества для и становиться где это расстояние между ячейкой, содержащей точку и подобное для . В этом случае наиболее практичный подход к вычислению коэффициентов это позволить затем решить с как раньше. Далее нормализованные интерполяционные переменные вычисляются как где и являются и координаты точек сетки, окружающих точку . Тогда интерполирующая поверхность становится

Нахождение производных от значений функции

[ редактировать ]

Если производные неизвестны, они обычно аппроксимируются по значениям функции в точках, соседних с углами единичного квадрата, например, с использованием конечных разностей .

Чтобы найти любую из отдельных производных, или , используя этот метод, найдите наклон между двумя окружающими точками на соответствующей оси. Например, чтобы вычислить для одной из точек найдите для точек слева и справа от целевой точки и вычислите их наклон, и аналогично для .

Чтобы найти перекрестную производную , возьмите производную по обеим осям, по одной. Например, можно сначала использовать процедура поиска производные точек выше и ниже целевой точки, затем используйте процедуру над этими значениями (а не, как обычно, над значениями для этих точек), чтобы получить значение для целевой точки. (Или можно сделать это в обратном направлении, предварительно вычислив а потом из тех. Оба дают эквивалентные результаты.)

На краях набора данных, когда отсутствуют некоторые окружающие точки, недостающие точки можно аппроксимировать несколькими методами. Простой и распространенный метод состоит в том, чтобы предположить, что наклон от существующей точки до целевой точки продолжается без дальнейших изменений, и использовать это для расчета гипотетического значения для недостающей точки.

Алгоритм бикубической свертки

[ редактировать ]

Интерполяция бикубическим сплайном требует решения описанной выше линейной системы для каждой ячейки сетки. Интерполятор с аналогичными свойствами можно получить, применив свертку со следующим ядром в обоих измерениях: где обычно устанавливается равным -0,5 или -0,75. Обратите внимание, что и для всех ненулевых целых чисел .

Этот подход был предложен Кизом, который показал, что производит сходимость третьего порядка относительно интервала дискретизации исходной функции. [1]

Если мы воспользуемся матричным обозначением для общего случая , мы можем выразить уравнение более удобным способом: для от 0 до 1 для одного измерения. Обратите внимание, что для одномерной интерполяции кубической свертки требуются 4 точки выборки. Для каждого запроса слева расположены два образца, а справа — два образца. В этом тексте эти точки пронумерованы от −1 до 2. Расстояние от точки с индексом 0 до точки запроса обозначается здесь.

Для двух измерений, впервые примененных один раз в и снова в :

Использование в компьютерной графике

[ редактировать ]
Нижняя половина этого рисунка представляет собой увеличение верхней половины, показывающее, как создается кажущаяся резкость левой линии. Бикубическая интерполяция вызывает перерегулирование, что увеличивает резкость .

Бикубический алгоритм часто используется для масштабирования изображений и видео для отображения (см. передискретизацию растрового изображения ). Он сохраняет мелкие детали лучше, чем обычный билинейный алгоритм.

Однако из-за отрицательных лепестков ядра это вызывает перерегулирование (ореолы). Это может вызвать отсечение и является артефактом (см. также артефакты звона ), но увеличивает остроту (кажущуюся резкость) и может быть желательным.

См. также

[ редактировать ]
  1. ^ Р. Киз (1981). «Интерполяция кубической свертки для цифровой обработки изображений». Транзакции IEEE по акустике, речи и обработке сигналов . 29 (6): 1153–1160. Бибкод : 1981ITASS..29.1153K . CiteSeerX   10.1.1.320.776 . дои : 10.1109/ТАССП.1981.1163711 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bde8824a1fa938f2258d42959ec56c25__1701621780
URL1:https://arc.ask3.ru/arc/aa/bd/25/bde8824a1fa938f2258d42959ec56c25.html
Заголовок, (Title) документа по адресу, URL1:
Bicubic interpolation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)