Курсовая работа: Формування об’ємних зображень на основі фотографій
Зображення з картами глибини
Однієї з найпростіших структур даних, використовуваних в IBMR є набори зображень із картами глибини. Визначимо пари зображення плюс карта глибини як кольорове зображення, якій зіставлене напівтонові зображення відповідного розміру, інтенсивність у кожній точці якого відповідає відстані від камери до поверхні об’єкта.
Примітною властивістю подання є те, що сучасні дистанційні сканери дозволяють прямо одержувати дані у вигляді карт глибини, а найбільш дорогі моделі одержують і колірну інформацію про об'єкт. Отже, таке подання максимально підходить для роботи зі складними реальними даними, а завдання полягає в розробці методу візуалізації.
Варто помітити, що пари зображення плюс карта глибини однозначно визначає дискретне наближення поверхні в тривимірному просторі, при цьому якість наближення залежить від роздільної здатності зображення й обраного положення камери.
Одна карта глибини зберігає тільки видиму частину об’єкта, тому для відновлення повного об’єкта необхідно використати набір з декількох карт глибини, залежно від складності сцени (рис. 2.2).
Рис. 2.2. Створення карти глибин по пікселям
Було запропоновано досить багато методів візуалізації й використання подібних структур даних. Наприклад, Леонардо-Макмиллан використовує систему обробки зображень для деформації (warping) вихідного зображення з обліком вихідної й результуючої (поточної) камер таким чином, щоб результат, відображений на екрані, створював ілюзію тривимірності [5].
У роботі Мартіна Олів’єрі також використовується деформація зображень, однак результатом роботи алгоритму є текстури створені з карт глибини для поточного положення віртуальної камери й накладені на просту (плоску) полігональну сітку - так називані рельєфні текстури (relief textures) [6].
Однак ці методи мають серйозні недоліки. З одного боку, в умовах недостатньої точності вихідних даних й або великому відхиленні віртуальної камери від вихідної, у результуючому зображенні можлива поява дірок (holes), тобто погіршення якості візуалізації. З іншого боку, результатом роботи дистанційних сканерів часто є набори даних з 50-70 карт глибини, які в описаних вище алгоритмах будуть оброблятися сепаратно, створюючи додаткові погрішності візуалізації. Крім того, час візуалізації однієї карти глибини розміром 512x512 по методу Олів’єрі на комп'ютері із процесором Pentium III 866 і відео картою NVidia GeForce2 Pro становить близько 70 мс. Обробка 50-ти зображень займе біля 4-х секунд.
Іншим можливим варіантом є пряме відновлення тривимірних координат семплів (sample) і їхня візуалізація прямо за допомогою проекції на видову площину віртуальної камери. Такий підхід дозволяє використати апаратне прискорення тому, що пікселі вихідних зображень у просторі можуть бути представлені крапками або багатокутниками. Однак, на практиці такий метод працює тільки для досить невеликих наборів даних.
Головною перешкодою для створення багатошарових методів візуалізації карт глибини є відсутність чіткої просторової структури пари зображення плюс карта глибини.
Багатошарові зображення із глибиною
Останнім часом було почато кілька спроб використання багатомасштабних методів разом із заснованими на зображеннях поданнями. Одна з них описана в роботі Чанга й Бішопа й як базове подання використовує багатошарові зображення із глибиною (Layered Depth Images - LDI), у перше описані в статі Гортлера С. Солена М. (Візуалізація багатошарових глибин зображення
Багатошарові зображення із глибиною зберігають для кожного пікселя карти кольорів всі перетинання відповідного променя з моделлю. Одного багатошарового зображення досить для опису повного об’єкта (рис. 2.3).
Рис. 2.3. Багатошарове зображення
Відмінність багатошарових зображень із глибиною від простих полягає в тім, що одне зображення дозволяє зберігати інформацію не тільки про видиму з даної вихідної камери частини поверхні об’єкта, а повну інформацію про об'єкт. По суті, LDI – це тривимірна структура даних, що представляє собою прямокутну матрицю, кожним елементом якої є список крапок. Кожна крапка містить глибину (відстань до опорної площини) і атрибути, у найпростішому випадку – кольори. Для подання всього об’єкта можна використати єдине багатошарове зображення, що використовує шість перспективних LDI з єдиним центром проекції (3).
Така структура дозволяє проводити візуалізацію як описаними вище методами Макмілана й Олів’єрі, так і просто використати збережену інформацію як скупчення точок і відображати його прямо за допомогою одного із графічних API (наприклад, OpenGL).
З використанням LDI-подібних структур зв'язані деякі обмеження на візуалізацію, обумовлені тим, що всі крапки в зображенні орієнтовані на одну базову площину. Крім того, LDI не можуть бути прямо отримані із пристроїв введення й для створення такої структури необхідне використання додаткових алгоритмів, наприклад, деформуючи зображення із глибиною по методу Макмілана таким чином, щоб площина результуючого зображення збігалася з базовою площиною LDI. Відзначимо, що процес формування LDI відбувається до безпосередньої візуалізації, і тому його ефективність не відбивається на швидкості візуалізації.
Однак LDI не дозволяє прямо відображати об'єкт із різними ступенями деталізації. Але була почата спроба створити багатосштабне подання на основі LDI з використанням так називаного дерева LDI (LDI tree).
Сутність методу полягає в наступному: замість одного LDI формується восьмеричне дерево, у кожному вузлі якого перебуває свій LDI і посилання на інші вузли, у яких перебуває LDI меншого розміру (в одиницях сцени), але того ж дозволу. Також для кожного вузла є обмежуючий паралелепіпед.
Всі LDI у дереві мають однаковий дозвіл. Висота дерева залежить від дозволу LDI. Чим менше дозвіл LDI, тим більше висота дерева. Кожен LDI у дереві містить інформацію тільки про ту частину сцени, що втримується в його обмежуючому паралелепіпеді. Обмежуючі паралелепіпеди вузлів наступного рівня дерева виходять дробленням обмежуючого паралелепіпеда поточного рівня на вісім рівних частин (рис. 2.4).
Рис. 2.4. Дерево із LDI
Дерево LDI дозволяє вирішувати проблему візуалізації дуже великих структур даних, використовуючи наступну ідею: при візуалізації немає необхідності обробляти нащадків вузла, якщо сам вузол забезпечує достатній ступінь деталізації. Автори використають наступний критерій ступеня деталізації: вважається, що LDI забезпечує достатній рівень деталізації, якщо "відбиток" (footprint, splat) його пікселя на результуючому зображенні покриває не більше одного пікселя екрана.
З іншого боку, використання того ж підходу дозволяє доповнити дані низької роздільної здатності штучно відновленими додатковими рівнями дерева, створюючи ефект фільтрації одержуваного зображення.
Візуалізація виробляється за допомогою обходу дерева від кореня до листів і малювання LDI методом Макмілана. При цьому обробка всіх вузлів дерева не потрібно, і обхід вітки дерева завершується на першому LDI, що забезпечує достатню точність.
Алгоритм має високу якість візуалізації, можливість прогресивної передачі даних. Однак його ефективність, як за часом, так і по пам'яті, досить низька. Час одержання зображення в дозволі 512х512 для LDI середньої складності на графічній станції SGI Onyx2 (16Гбайт оперативної пам'яті, 32 процесора MIPS R1000 250Mhz) зайняло більше трьох секунд.