Математика/5. Математичне моделювання
Сердюк М.Є.
Національна металургійна академія України
Каркасна інтерполяція
статичних зображень з використанням 6-точкових сепарабельних сплайнів.
Вступ. Просторова
інтерполяція цифрових зображень пов’язана зі здійсненням зміни щільності пікселів на одиницю площі
малюнка. На сьогодні, до найбільш відомих методів просторової інтерполяції
можна віднести наступні (див. [1, 2]): метод найближчого сусідства, білінійну,
біквадратичну, бікубічну інтерполяції, В-сплайн
інтерполяцію, інтерполяцію Lanczos’а.
Загальною рисою цих підходів є побудова так званих сепарабельних
інтерполяційних фільтрів. Це означає, що зміна щільності пікселів для
будь-якого зображення спочатку реалізується за x-координатою (горизонтальний zooming), і лише потім за y-координатою (вертикальний zooming). Власне ця обставина і приводить до появи небажаних візуальних ефектів в маcштабованих зображеннях (розмитість
контурних ліній, “сходинковий” ефект в похилих контурах (aliazing-ефект),
дублюючі контури (ефект Gibbs’а) і т.п.).
В даній роботі пропонується метод
каркасної інтерполяції статичних зображень з використанням 6-точкових
сепарабельних сплайнів. В основі методу лежить локальне відтворення ліній рівня
цифрових малюнків в околах кожного піксела, що відповідає основному постулату
математичної морфології про те, що основна геометрична інформація про будь-який
малюнок міститься в сукупності множин -рівнів [3], або більш точно в сукупності зв’язних компонент кожної із множин
.
Постановка
задачі. Нехай - довільна
непуста підмножина R2,
- масив
опорних точок (пікселів) на Δ. Нехай I - зображення в шкалі сірих відтінків, для якого
, і при цьому
для всіх
, де
- породжуюча
функція I така, що
. Нехай
є образом
означеного зображення на піксельну сітку
.
Відомо (див. [4]), що для класу функцій
з обмеженою варіацією їх топографічні
карти можна описати в термінах кривих Jordan’а. Будемо вважати, що при кожному значенні
множини рівнів
зображення I мають скінченний
периметр
. Надалі такі зображення
будемо
утотожнювати з породжуючими їх функціями
.
Означення 1. Множину будемо називати каркасом для зображення
, якщо
є зв’язною множиною і
при цьому виконуються наступні умови:
,
,
, де
- границя множини
. Каркас
будемо називати допустимим для
, якщо він не
містить одночасно ребер
та
для будь-якого
.
В основу конструювання каркасної
структури для зображення
, множини рівнів якого мають скінчений периметр, повинна бути
покладена наступна вимога: остов F каркасу
повинен містити
(як свої власні підмножини) ті фрагменти ліній рівнів
відповідного
цифрового малюнка
, які проходять через точки дискретної множини
.
Означення 2. Нехай - довільний допустимий каркас для
. Тоді
зображення
будемо називати каркасною інтерполяцією для
, якщо: 1) його
образ
на піксельну сітку
співпадає з
; 2)
; 3) знайдуться функція
і диз’юнктивне розбиття множини
такі, що:
для всіх
;
(1)
Таким чином, проблема каркасної
інтерполяції полягає у розв’язанні
двоетапної задачі: відтворенні певного каркасу для
, а після - в конструюванні функції
такої, що
. Обидва етапи передбачають використання 6-точкових
сплайнів.
Означення 3. 6-точковим
сплайном, побудованим на ланцюгу вхідних даних будемо називати
функцію
, якщо
, (2)
де включення рівносильне виконанню умов
(3)
(4)
. (5)
У відповідності до результатів,
наведених в [5], задача про інтерполяційний сплайн (2)-(5) має єдиний розв’язок . Вирішення цієї задачи
за допомогою системи Maple 10 дає наступний результат:
Зауважимо, що локальна кривизна отриманого таким чином 6-точкового сплайну
є меншою від аналогічної характеристики класичних кубічних сплайнів.
Конструювання
каркасу зображення. Нехай для
кожного із пікселів є відомим деякий
його направлений окіл
. Позначимо
зону
впливу обраного піксела – замкнену кулю радіуса 1/2 з центром в точці
, а
- сукупність всіх пікселів, сусідніх з
. Введемо до розгляду множини
. Покладемо
. (6)
Ясно, що умова приналежності точок до каркасу забезпечує включення
(див. означення 1).
З метою забезпечення допустимості
побудованого каркасу для кожної пари
ребер остову F, точки перетину яких
не належать множині
, приберемо з
сукупність
точок:
, де
- спільна точка такої пари ребер. В результаті
отримаємо допустимий каркас
вихідного
зображення
, топологія якого суттєво залежатиме від геометрії
направлених околів кожного з пікселів.
Процедура
побудови направлених околів. Приймемо
наступне припущення: нехай при деякому лінія рівня
є такою, що існує
ланцюг
в
, який їй належить. Тут ланцюгом
довжини
називається
сукупність пікселів
, для якої піксел
є центральним.
Серцевиною такого ланцюга є його центральні ланки
. Якщо пов’язати з ланцюгом
вектор
, який визначається орієнтацією його серцевини, то
-направленим околом
є наступна множина
Для відтворення самого ланцюга пропонується наступна
ітераційна процедура, яка складається з трьох етапів. На першому етапі будуємо 6-точковий сплайн
на ланцюгу
вхідних даних
,
,
,
,
. Тут
та
є парою довільних
представників множини сусідніх з
пікселів. Позначимо
через
значення
при
і розглянемо
наступну задачу дискретної оптимізації:
.
В
силу скінченності множини такий розв’язок
можна отримати шляхом простого перебору. В результаті знаходимо пару сусідніх з
пікселів
та
, які в купі з
визначають перше
наближення
ланцюга
, тобто
. Далі поступаємо за аналогією. На другому етапі сплайн
будується на
ланцюгу вхідних даних
, де
,
, на третьому етапі -
на ланцюгу вхідних даних
де
,
. В результаті отримуємо ланцюг
, який визначає ту сукупність точок з
, за якими можна отримати найкраще наближення значення
яркості
в
.
Алгоритм
побудови функції Ĩ*. Функцію будемо
вважати відтвореною в задачі каркасної інтерполяції (1), якщо правило, за яким
визначається її значення в кожній точці каркасу
, забезпечує виконання властивостей
.
Введемо наступні поняття.
Означення 4. Решіткою для множини будемо називати ті точки з
, які лежать на
прямих
та
, де
,
.
Означення 5. Вектором
решітчатого зсуву будемо називати довільний вектор , координати
якого задовольняють умовам:
Для відтворення функції в довільній
точці
направленого
околу
піксела
виконаємо
наступні дії. Оберемо вектор решітчатого зсуву
мінімально
можливої довжини такий, що
, при цьому
, де
та
- центральні ланки ланцюга
. Введемо
вектор
, де
найближчий
піксел до
. Позначимо
і розглянемо систему
точок
де
. Ясно, що
. Через цю систему точок і через залучення 6-точкових
сплайнів відтворимо значення функції
в точках
,
. В залежності від
орієнтації вектора
, правило апроксимації буде різним. Так, якщо
є
-орієнтованим, то
,
, де
є відстанню від
до точки
, а 6-точковий сплайн
будується за системою
точок
. Якщо
є
-орієнтованим, то
, де 6-точковий сплайн
будується за системою
точок
. Аналогічно відтворюється значення функції
у випадку,
коли
є
-орієнтованим або
-орієнтованим. При цьому сплайни будуються за вертикальними
системами точок.
Тоді правило для відтворення значення
функції в довільній точці
з
-направленого околу
набуває наступного
вигляду: якщо
є відстанню від
точки
до центрального з’єднання ланцюга
, то
(7)
де позначено: - 6-точковий
сплайн за системою точок
, а
- такий же сплайн
за системою
.
Висновки. Запропонований
підхід є прикладом адаптивної схеми інтерполяції цифрових зображень. В основі розглянутого
алгоритму каркасної інтерполяції лежить локальне відтворення ліній рівня
цифрових малюнків в околах кожного піксела, а будування каркасу та відтворення
породжуючої функції зображення на цьому каркасі здійснюється з використанням
6-точкових сплайнів. Такий підхід, як показують приклади його програмної реалізації,
дозволяє уникнути появи aliazing-ефекту і покращити PSNR-характеристику результуючого
зображення.
Література:
1.
Carlson B. Image interpolation and filtering // IEEE Trans on
ASSP.-March 2000.-Vol. ASSP-26, no. 4.
2.
Keys R. Cubic convolution interpolation for digital image
processing // IEEE Trans on ASSP.-Dec 2002.-Vol. ASSP-29, no. 6.
3.
Serra J. Image Analysis and Mathematical Morphology.
4.
Ambrosio L., Caselles V., Masnou S., Morel J.M. The connected
components of sets of finite perimeter // European Journal of Mathematics, -
2001. - Vol. 3. - Pp. 39-92.
5.
Треногин В.А. Функциональный анализ. - Москва: Физматлит, 2002.