Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Розробка методів І засобів текстурування для покращення

Розробка методів І засобів текстурування для покращення




Сторінка5/9
Дата конвертації09.04.2017
Розмір0.84 Mb.
1   2   3   4   5   6   7   8   9

3 МЕТОДИ ТА ЗАСОБИ ПОКРАЩЕННЯ РЕАЛІСТИЧНОСТІ ФОРМУВАННЯ ГРАФІЧНИХ ЗОБРАЖЕНЬ




3.1. Метод анізотропної фільтрації з використанням вагових функцій

При анізотропної фільтрації проекція пікселя на поверхню текстури розглядається не як коло, а як витягнутий еліпс (рис. 3.1), що дозволяє точніше визначати кольори пікселів [4].


Рисунок 3.1 – Проекція пікселя на поверхню текстури

Для того, щоб коректно обчислити колір пікселя, необхідно врахувати кольори всіх текселів, які охоплює еліпс. Це достатньо складна процедура для генерації зображень у реальному часі, тому використовують спрощення – замінюють еліпс на паралелограм (рис. 3.

Паралелогра́м - чотирикутник, протилежні сторони якого попарно паралельні.

2) або прямокутник.
без имени-10

Рисунок 3.2 - Слід пікселя у вигляді паралелограма при анізотропній фільтрації


Серед усіх моделей пікселя найбільш адекватною є гаусівська модель, згідно з якою інтенсивність кольору змінюється нелінійно від центру пікселя (рис. 3.3).

Рисунок 3.3 – Гаусівська модель пікселя

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

Підвищення реалістичності вихідного зображення можна досягти шляхом використання вагової функції на базі карт висот.

Для цього формуємо в текстурній площині паралелограм Т1, що є проекцією точки в екранній площині на текстуру (рис. 3.2). Для розрахунку координат паралелограма використовуємо функціональний визначник – якобіан. Для загального випадку накладання текстур, матриця Якобіана обчислюється за таким виразом:

(3.1)

де часткові похідні xw, yw і w - елементи текстурної матриці, t, xw, yw і w – відповідні екранні значення, обчислені за допомогою матриці відповідно до значень на площині текстури з параметрами (U, V) .

В математиці, часткова похідна (частинна похідна) функції кількох змінних - це похідна по одній із змінних, причому інші змінні приймаються як константи. Часткові похідні використовуються у векторному численні та диференційній геометрії.

Шляхом знаходження різниці між відповідними координатами вершин визначаємо розміри сторін паралелограма. Залежно від розмірів сторін визначаємо mip-рівень текстурної карти висот.

Карти висот формуємо, відповідно до Гаусівської моделі пікселя за допомогою матриці чисел, сума яких рівна 1. У подальшому карту висот використовуємо як текстуру, інтенсивність кольорів точок якої зменшується від центру до зон блюмінгу (рис. 3.4).



без имени-6

Рискнок 3.4 – Карти висот для різних mip-рівнів


без имени-7

Рисунок 3.5 – Накладання карти висот на паралелограм

Формуємо нову текстуру шляхом накладання карти висот на паралелограм, який еквівалентний паралелограму Т1 (далі Т2).

Логічна еквівалентність (еквіваленція) - двомісна логічна операція, що має значення «істина» тоді і тільки тоді, коли обидва операнди мають однакове значення. В інших випадках еквіваленція буде хибною.

Колір пікселя паралелограма Т2 пропорційний вазі пікселя паралелограма Т1 (рис. 3.5).

Далі проводимо одночасну синхронну растеризацію обох паралелограмів. Після чого знаходимо суму інтенсивностей кольору внутрішніх точок паралелограма Т1 помножену на вагу точок нового паралелограма Т2 і ділимо отримане значення на кількість точок за формулою:


, (3.2)
де P1, P2, ..., PN – кольори точок на текстурній площині, B1, B2, ..., BN – ваги відповідних точок, N – кількість точок паралелограма.
без имени-9

Рисунок 3.6 – Пікселі, які перетинають ребра паралелограма


Підвищити якість анізотропної фільтрації можна за рахунок надання пікселям, які перетинають ребра паралелограма інтенсивностей, що пропорційні площі пікселя, яка відтинається ребром (рис. 15). Для цього можна використати один із відомих методів антиаліайзингу.

tst.jpg

Рисунок 3.7 – Анізотропна фільтрація без використання вагових функцій (зліва) та з використанням (зправа)


На рисунку 3.7 відображено підвищення якості анізотропної фільтрації за рахунок використання вагових функцій.

3.2 Модифікація методів анізотропної фільтрації

При анізотропної фільтрації проекція пікселя на поверхню текстури розглядається не як коло, а як витягнутий еліпс (рис. 3.8), що дозволяє точніше визначати кольори пікселів [3].

Для того, щоб коректно обчислити колір пікселя, необхідно врахувати кольори всіх текселів [48], які охоплює еліпс. Це достатньо складна процедура для генерації зображень у реальному часі, тому використовують деякі спрощення. Основна ідея таких спрощень – це наближення еліпса з великим ексцентриситетом декількома еліпсами з меншими ексцентриситетами.

Ексцентрисите́т (рос. эксцентриситет, англ. eccentricity, excentricity; нім. Exzentrizität f, Außermittigkeit f) -



33.gif

Рисунок 3.8 – Проекція пікселя на текстуру


Таким чином, можна подолати обмеження, накладені апаратними засобами і забезпечити фільтрацію найкращим фільтром з високим ступенем анізотропії. Найчастіше еліпс розбивають на менші за площею кола рівного діаметру (рис. 2). Потім знаходять середні значення кольору для кожного кола [4].
1.png

Рис. 3.9 – Розбиття еліпса на кола

На практиці коло апроксимують квадратом площею чотири текселі. Таким чином, фактично, виконується білінійна фільтрація у кількох точках вздовж вектору нахилу полігону, а отримані значення усереднюються (рис. 3.10). Кількість таких точок залежить від кута нахилу.

anis-8x-nv.png

Рисунок 3.10 – Визначення точок, що належать до проекції пікселя на текстуру


Визначення координат усіх необхідних точок є ресурсоємкою задачею тому ряд виробників графічних процесорів спрощують її, розглядаючи лише два часткові випадки положення вектору нахилу: паралельно осі ОХ та перпендикулярно їй.

Виробни́цтво - процес створення матеріальних і суспільних благ, необхідних для існування і розвитку. Створюючи певні блага люди вступають у зв'язки і взаємодію – виробничі відносини. Тому виробництво є завжди суспільним.



anis-16x-ati.png

Рис. 3.11 – Спрощений метод визначення точок, що належать до проекції пікселя на текстуру


У такому випадку координати центру проекції в координатах текстури визначать за формулою:

, (3.3)
де , - відносні координати пікселя в екранній площині; , - ширина та висота, проекції полігону на екранну площину; , - ширина та висота полігону в текстурній площині. Координати одного із чотирьох пікселів (Р1), що формують квадрат визначать шляхом округлення координат отриманої точки (С) до більшого цілого (рис. 5).

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

Для визначення координат точок Р2, Р3, Р4 аналізують дробову частину та . Для пікселя Р2 у-координата рівна у точки Р1, а х- координата на 1 менша х пікселя Р2 якщо дробова частина менша 0.5 або на 1 більша якщо дробова частина більша за 0.5. Аналогічним чином обчислюється у-координата для Р4. Для Р3 х- координата рівна х пікселя Р2, а у-координата – у Р4.
2png.png

Рисунок 3.12 – Координати центру проекції


Координати пікселів, що утворюють інші квадрати, які входять до проекції знаходять шляхом зміщення Р1,Р2, Р3, Р4 на 2 пікселя вверх та в низ, якщо полігон має більший нахил відносно ОХ ніж відносно ОУ (кут вектора нахилу у текстурній площині близький до 0о, 90о, 180о або 270о) або на 2 пікселя вправо та в ліво якщо нахил відносно ОУ більший ніж нахил відносно ОХ (кут вектора нахилу у текстурній площині близький до 0о або 180о).

Такий підхід забезпечує високу продуктивність проте він не враховує ситуацію коли полігон значно відхилено як від осі ОХ так і від ОУ, що зумовлює появу істотних артефактів (рис. 6).


art.jpg

Рисунок 3.13 – Артефакти при значному відхиленні полігону від осей


Тому даний метод можна покращити шляхом обрахунку координат пікселів для кутів близьких до 45о, 135о, 225о, або 315о.

Очевидно, що для таких кутів координати текселів, що утворюють додаткові квадрати повинні визначатись шляхом зміщення Р1, Р2, Р3, Р4 як по осі ОХ та і по осі ОУ. Проте слід врахувати, що центр проекції (С), у більшості випадків зміщений відносно центру квадрата, утвореного Р1, Р2, Р3, Р4, а тому для коректності обрахунків необхідно врахувати це відхилення.

Таким чином необхідно врахувати дробову частину . Якщо вона більша за 0.5 зсув потрібно виконувати на 2 пікселя по осі ОУ та на 1 по осі ОХ, а якщо менша то навпаки (рис. 3.13).
3.png

Рисунок 3.13 – Текселі що належать до проекції пікселя для кута нахилу 450


З метою підвищення реалістичності відтворення тривимірних сцен при використанні анізотропної фільтрації важливо врахувати те, що інтенсивність кольору всередині пікселя зменшується нелінійно від його центра до периферійних зон. Тому підвищити реалістичність формування вихідного зображення описаним методом можна шляхом використання ваговоих функцій при обрахунку усередненого значення кольору пікселя у відповідності до Гаусівської моделі (рис. 3.14).

Рисунок 3.15 – Гаусівська модель пікселя


Таким чином, усереднене значення кольору в кожному квадраті слід обраховувати за формулою:
,
де Р1, Р2, Р3, Р4 – кольори точок на текстурній площині, B1, B2, B3, B4– ваги відповідних точок. Ваги точок визначаються у відповідності до Гаусівської моделі пікселя. Тому для усіх точок квадрату, що лежить у центрі проекції ваги рівні 0.25. Для інших квадратів точка що, лежить ближче до центру проекції матиме вагу 3, протилежна їй по діагоналі – 2, а інші по 0.25. Для випадків, коли кут вектора нахилу у текстурній площині близький до 0о, 90о, 180о або 270о ваги двох точок, що лежать ближче до центру проекції рівні 0.3, а двох інших по 0.2 (рис. 8).
4.png

Рисунок 3.16 – Ваги точок


Отримані значення для всіх квадратів слід усереднити за формулою:

,

де P1, P2, ..., PN – усереднені значення кольорів для кожного квадрату, B1, B2, ..., BN – ваги відповідних квадратів, N – кількість квадратів. Ваги квадратів необхідно обирати таки чином, щоб сумарна вага булла рівною 1, вага квадрату у центрі проекції булла найбільшою, а ваги інших квадратів зменшувались по мірі віддалення від центру проекції. На приклад, для трьох квадратів можна обрати ваги 0.3, 0.4, 0.3 (рис. 3.18).



5.png

Рисунок 3.18 – Ваги квадратів

На рисунку 3.19 відображено підвищення реалістичності формування вихідного зображення шляхом застосування запропонованого методу.

anisotropicfiltering.png

Рисунок 3.19 – Підвищення реалістичності в результаті застосування запропонованого методу



3.3 Гаусівська модель пікселя в задачах анізотропної фільтрації

Використання вагових функцій в процесі текстурування потребує врахування фізичних властивостей пікселя (форми, розмірів, об’єму).

Для більшості пристроїв відображення більш адекватною є “гауссівська” модель пікселя. Дана модель враховує, що інтенсивність світла, яке випромінює піксел, є максимальною в центрі та зменшується в напрямку до границі пікселя і на відстані дорівнює нулю. Обчислення інтенсивності кольору для такої моделі зводиться до обчислення об’єму фігури, яка утворюється в результаті перетину функції фільтра та границь примітива.

Оскільки модель пікселя, яка використовує функцію Гаусса, характеризуються великими обчислювальними витратами, то її використовують тільки у тих випадках, коли до якості крайового згладжування висуваються досить жорсткі вимоги.

Використаємо модель розподілу інтенсивності пікселя, коли щільність інтенсивності розподілена за нормальним законом

, (3.4)

де максимум інтенсивності припадає на центр пікселя, який приймається за центр системи координат. Зауважимо, що вибрана функція щільності є поверхнею обертання та задовольняє умові нормування: об’єм, що знаходиться між і площиною дорівнює одиниці.

Густина імовірності - один із способів завдання ймовірнісної міри на евклідовому просторі R n ^} . У випадку, коли імовірнісна міра є розподілом випадкової величини, говорять про щільність випадкової величини.

Є можливість впливати на властивості моделі, змінюючи параметр .

Можливість - це дія, що може відбутися або ні (можливо, приїду, а, можливо, і ні). Можливість можна забезпечити чи покладатись на «авось» та якось буде. Альтернатива дає шанс, але не гарантує без відповідних дій забезпечення результату і адекватності та конструктиву діяльності.

Так, наприклад, вибираючи отримаємо, що приблизно % всього об’єму припадає на прямокутник , на якому локалізований піксель.

На рис. 3.20 зображено форму пікселя.

Рисунок 3.20 – Форма пікселя


Розглянемо модифікацію одного з найбільш відомих алгоритмів антиаліайзингу відрізків прямих ― алгоритму Гупти-Спроула. Нехай маємо відрізок прямої, що розташована на відстані від центра пікселя ― точки . Позначимо за об’єм тіла, обмеженого поверхнею (1), площиною та площиною, що знаходиться на відстані від осі . Тоді інтенсивність кольору пікселя визначається за формулою:
. (3.5)
Для задач текстурування необхідно обчислювати значення функції Зображення частини поверхні (1), що має об’єм при , подано на рис. 3.21.




Рисунок 3.21 – Частина поверхні (1), що має об’єм .

Враховуючи, що поверхня (3.4) є поверхнею обертання, зорієнтуємо систему координат так, щоб пряма мала рівняння (була паралельна осі і знаходилася від неї на відстані ), тоді



,
враховуючи вигляд функції , відокремимо змінні:



, (3.6)
де позначено ― нормальний закон розподілу з математичним сподіванням і середнім квадратичним відхиленням .

Закон розподілу ймовірностей - це поняття теорії ймовірностей, яке для дискретної випадкової величини показує множину можливих подій з ймовірностями їхнього настання.

Зауважимо, що обчислення за формулою (3.6) є доволі громіздким, а отже неефективним.

Апроксимуємо функцію многочленом невисокого порядку , або , для реалізації якого використовують тільки операції додавання та множення. Враховуючи симетрію функції , відносно точки і вибране значення , виконаємо апроксимацію за методом найменших квадратів з адаптивними вузлами на проміжку , де ― деяка константа.

Константа (лат. constans - стала величина, інша назва - стала) - величина, що не змінює свого значення протягом певного процесу (на відміну від змінної, значення якої може змінюватись). Прикладами констант є число пі, коефіцієнти многочленів, температура під час ізотермічного процесу.

Числові проміжки - у математичному аналізі, множина (сукупність) дійсних чисел, що містяться між двома числами (точками на осі координат) або невласними числами.

Метод найменших квадратів - метод знаходження наближеного розв'язку надлишково-визначеної системи. Часто застосовується в регресійному аналізі. На практиці найчастіше використовується лінійний метод найменших квадратів, що використовується у випадку системи лінійних рівнянь.

Так, наприклад, якщо , то на проміжку , отримаємо при



,

а при



.

Графіки функцій , , зображено на рис.3.22.








Рисунок 3.22 – Графіки функції , та апроксимуючих функцій , .

Позначимо за , ― абсолютні похибки апроксимації на відрізку . Як видно з рис. 3.23, вони не перевищують і , відповідно.








Рисунок 3.23 – Графіки абсолютних похибок і .


Запишемо вираз для розрахунку у такому вигляді:

На рис. 3.24 зображено структурну схему блока для розрахунку .

Структу́рна схе́ма - схема, яка визначає основні функціональні частини виробу, їх взаємозв'язки та призначення. Під функціональною частиною розуміють складову частину схеми: елемент, пристрій, функціональну групу, функціональну ланку.



Рисунок 3.24 – Структурна схема блока для розрахунку поліномом

Значення відстані заноситься в регістр . Через мультиплексор на вхід блока множення передамо значення 2,358. Добуток з виходу блока множення занесемо в . На виході комбінаційного суматора отримуємо значення , яке передається через мультиплексор на вхід блока множення. Суматор використовують для додавання до добутку, отриманого на виході блока множення, значення 0.5.

Розглянемо наближення функції , , за допомогою кусково-лінійної апроксимації. При цьому поставимо умову використання невеликої кількості проміжків розбиття відрізка при забезпеченні достатньо високої точності апроксимації.

Нехай [ a , b ] - відрізок. Набір точок x 0 , x 1 , … , x n ,x_,\ldots ,x_} таких, що

Для виконання зазначених вимог проведемо чисельне моделювання, змінюючи кількість сегментів розбиття, їх довжину та використовуючи на кожному такому сегменті лінійну функцію, що є елементом найкращого чебишевського наближення (в сенсі мінімізації абсолютної величини відхилення). Чисельно обчислюючи коефіцієнти апроксимуючих функцій з точністю до , отримали наступний результат:

Як видно з рис. 3.25, графік абсолютної похибки не перевищує , що відповідає від максимального рівня інтенсивності. При використанні 256 рівнів інтенсивності похибка не перевищуватиме рівня. Таку похибку людське око при нормальних умовах розрізнити не в змозі.

Абсолютна величина чи модуль - у математиці, величина, значення або число незалежно від знака. Абсолютна величина числа n записується |x| (іноді - Abs(x) ) і визначається як додатній квадратний корінь з x².

Норма́льні умо́ви (скорочено н. у.) - значення тиску й температури, для яких заведено приводити результати фізичних і хімічних експериментів з метою спрощення порівняння між ними. IUPAC визначає нормальний тиск у 100,0 кПа і температуру 0 °C (273,15 К).





Рисунок 3.25 – Графік абсолютної похибки .


Подамо коефіцієнти лінійних функцій як бінарні, зберігаючи розряди до :

(4)

Графік абсолютної похибки (рис. 3.26) не перевищує , що відповідає максимальної інтенсивності. Таким чином подання у формі (4) не погіршує наближення , проте має перевагу у швидкості обчислення.






Рисунок 3.26 – Графік абсолютної похибки .

На рис. 3.27 зображено структурну схему блока для розрахунку поліномом


Рисунок 3.27 – Структурна схема блока для розрахунку поліному


3.4 Висновки

Запропоновано метод підвищення якості анізотропної фільтрації шляхом використання вагових функцій для обрахунку кольору пікселя. Використання карт висот у вагових функціях дає змогу отримати високоякісний результат без обчислень складних формул.

Запропоновано метод простого визначення координат текселів, що визначають колір екранного пікселя, з урахуванням кута нахилу полігона.

Запропонована модифікація Гаусівської моделі піксела, яка не потребує використання заздалегідь розрахованих значень об’єму перетину.

Отримано апроксимаційні вирази для розрахунку об’ємів перетину, які використовують тільки операції множення та додавання, що дає можливість їх реалізувати апаратно.

Запропоновані структурні схеми пристроїв для задач текстурування з використанням Гаусівської моделі пікселя.

Отримані моделі та структури можуть бути використані в високопродуктивних системах комп’ютерної графіки для формування фотореалістичних зображень.

1   2   3   4   5   6   7   8   9



  • 3.2 Модифікація методів анізотропної фільтрації
  • 3.3 Гаусівська модель пікселя в задачах анізотропної фільтрації
  • 3.4 Висновки