Национална студентска научно техническа конференция 2016



Дата27.03.2017
Размер138.86 Kb.


НАЦИОНАЛНА СТУДЕНТСКА НАУЧНО-

ТЕХНИЧЕСКА КОНФЕРЕНЦИЯ 2016

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ

Copyright © 2016 НСНТК

РАЗШИРЕНА РЕАЛНОСТ. ПРИЛОЖЕНИЕ ВИРТУАЛНА ГАЛЕРИЯ С РАЗШИРЕНА РЕАЛНОСТ

В. Чилингирова, Технически Университет - София, victoriach@mail.bg

Г. Чилингирова, Технически Университет - София, gabriella.chilingirova@gmail.com

Абстракт: Разширенатата реалност работи чрез сливане на реалния свят с виртуалния свят. В приложенията разработчиците създават изображения, които се смесват със съдържанието на реалния свят. Потребителите могат да си взаимодействат с виртуалния свят и да направи разграничение между двата свята. Приложението виртуална галерия позволява на потребителя да избира галерия, която да разглежда. В реално време от видео поток приложението да може да открива и разпознава маркер –обект глиф. Да изтегля 3D обект, съответстващ на глифа чрез интернет връзка. Да визуализира 3D обект върху видео поток в реално време, създавайки разширена реалност.

Ключови думи: видео поток, виртуална галерия, глиф, камера, разширенатата реалност, реално време, 3D oбекти

AUGMENTED REALITY. VIRTUAL GALLERY APPLICATION WITH AUGMENTED REALITY

V. Chilingirova, Technical University of Sofia, victoriach@mail.bg

G. Chilingirova, Technical University of Sofia, gabriella.chilingirova@gmail.com

Abstract: Augmented reality works by merging the real world with the virtual world. In applications developers create images that are mixed with the content of the real world. Users can interact with the virtual world and make a distinction between the two worlds. Virtual gallery application allows the user to select a gallery to view. Real-time video stream of the application can detect and recognize marker -object glyph. App downloads 3D object corresponding to the glyph through the Internet connection. Visualize 3D object on the video stream in real time, creating an augmented reality.

Keywords: augmented reality, camera, glyph, real time, video stream, virtual gallery, 3D objects

1. РАЗШИРЕНА РЕАЛНОСТ

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

Благодарение на възможността на компютърните системи да обработват множество данни, вече съществува терминът разширена реалност и приложения за представянето й. Разширена реалност (Augmented reality) е компютърно генерирана информация, насложена върху реалната заобикалящата среда. Тази реалност е свързана с по-обща концепция, наречена медиирана реалност, в която реалният изглед е модифициран от компютър (фиг.1).[1] Компютърно-медиираната действителност се отнася до възможността да се добавя, събира, изважда информация от реалната околна среда, с други думи - да манипулира нечии възприемане на реалността чрез използването на компютър или преносимо устройство, като например смарт телефон. Обикновено визуалното възприятие на потребителя към околната среда се медиира. Това се постига чрез използването на някакъв вид електронно устройство, което да действа като филтър между реалния свят и това, което потребителят възприема (фиг. 2).

Фиг.1. Медиирана реалност съдържа в себе си разширена реалност, виртиална реалност и други.



Фиг.2. Художествена инсталация, илюстриращ понятието медиирана реалност.

Разширената реалност се свързва и с виртуална реалност, но са отделни концепции. Те са две от най-налагащи се технологии в последно време. Насложената реалност работи чрез сливане на реалния свят с виртуалния свят. В приложенията разработчиците създават изображения, които се смесват със съдържанието на реалния свят. Потребителите могат да си взаимодействат с виртуалния свят и да направи разграничение между двата свята. Виртуална реалност, от друга страна, създава виртуален свят за потребителите. За да почувстват тази реалност като истинска, в повечето случаи потребителите трябва да носят специални слушалки или очила.

Сходството между двете технологии е, че целта им е потребителят да се потопи в света на приложението. Въпреки това с насложената реалност, потребителите могат да се чувстват в реалния свят, докато взаимодействат с виртуалния. Докато с виртуална реалност потребителят се отделя от реалния свят, за да се потопи изцяло в света на цифровите технологии.[2] Разликата между тях се състои в това, че витруалната реалност замества реалния свят със симулиране на такъв (фиг. 3), докато същността на разширената реалност е в това да увеличава текущото възприемане на действителността, чрез наслагане на елементи върху него (фиг.4). [3]



Фиг.3. Виртуална реалност



Фиг.4. Насложена реалност

Технологиите, чрез които се усъществява насложена реалност, се разделят в две главни направления – хардуерни и софтуерни технологии. Хардуерните компоненти са: процесор, дисплей, сензори и входни устройства. Съвременните мобилни компютърни устройства като смартфони и таблетни съдържат тези елементи, които често включват камера и MEMS сензори като акселерометър, GPS и компас, което ги прави подходящи платформи за създаване на разширена реалност.[4]

2. ПРИЛОЖЕНИЕ ВИРТУАЛНА ГАЛЕРИЯ С РАЗШИРЕНА РЕАЛНОСТ.

Целта е проектиране и разработване на виртуална галерия с разширена реалност. Приложението да работи на десктоп, мобилно устройство и таблет. Да бъде съвместимо с операционна система Windows 7, 8.0, 8.1 и Windows Phone. Потребителският интерфейс да бъде лесен и удобен за използване.

Целите, които са поставени са: Потребителят да избира галерия, която да разглежда. В реално време от видео поток приложението да може да открива и разпознава маркер –обект глиф. Да изтегля 3D обект, съответстващ на глифа чрез интернет връзка. Да визуализира 3D обект върху видео поток в реално време, създавайки разширена реалност.

За постигането на тези цели е необходимо: Приложението да извлича информация за съществуващите галерии от файл, разположен на отдалечен сървър. Приложението да открива глиф чрез алгоритми за компютърно зрение от видео поток. Да разпознава глифа. При разпознаването на глиф, приложението да изтегля автоматично съответстващият му 3D обект от отдалечен сървър, съдържащ данните на избраната галерия. Реализиране на визуализация на 3D обект в реално време върху екрана на устройството.



3. ТЕХНОЛОГИИ ИЗПОЛЗВАНИ ЗА ОСЪЩЕСТВЯВАНЕТО НА ПРИЛОЖЕНИЕТО.

1.1 Програмният език С#.

Програмният език С# е обектно-ориентиран език за програмиране, разработен от Microsoft, като част от софтуерната платформа .NET. Езикът е предназначен за използване в развиващите се софтуерни компоненти,той е подходящ и за разполагане в разпределена среда. Изборът на този програмен език за разработка на приложението Виртуална галерия се обосновава на факта, че използван върху .NET платформата чрез него може да бъде разработван изключително разнообразен софтуер, като офис приложения, уеб приложения, уеб сайтове, настолни приложения, мултимедийни Интернет приложения, приложения за мобилни телефони, различни видове игри и много други. В основата на приложението Виртуална галерия стои идеята то да работи както на десктоп, така и на мобилни устройства.



1.2 Платформа .NET (.NET Framework)

Използването на .NET платформата при изграждането на приложението Виртуална галерия се основава на платформена независимост, съвместимостта с вече съществуващите технологии, езиковата независимост, сигурносттаи улеснената инсталация..NET определя средата, която поддържа развитието и изпълнението на платформено независими приложения. C# използва независима от езика среда за изпълнение CLR Common Language Runtime. Това е система, която управлява изпълнението на програмата и е част от .NET Framework, която дава преносимост и многоезичност. C# ползва .NET библиотека от класове, която дава достъп до средата за изпълнение. Улеснена инсталация се изразява в това, че програмите, създадени на .NET Framework, както и техните компоненти, могат да бъдат инсталирани с просто копиране в желаната директория — процес, известен като XCopy Deployment.



1.3 Windows Presentation Foundation – WPF

Windows Presentation Foundation е графичнa подсистема за рендиране на потребителски интерфейси в Windows-базирани приложения. Първоначално е издаден като част от .NET Framework 3.0. WPF използва DirectX и осигурява програмен модел за изграждане на приложения и разделя потребителския интерфейс от бизнес логиката. WPF използва XAML, който е XML-базиран език, за да дефинира и свърже различните елементи на интерфейса.WPF приложенията могат да се изграждат като самостоятелни десктоп програми или да бъдат хоствани като вградени обекти в web сайт. Има за цел да обедини редица общи елементи от потребителския интерфейс, например 2D/3D рендериране, фиксирани и адаптивни документи, типография, векторна графика, анимиране по време на изпълнението и пререндиранимедии. Тези елементи могат да бъдат свързани и манипулирани въз основа на различни събития, потребителски взаимодействия и връзки междубизнес логиката и потребителския интерфейс (data binding). [5]



1.4 Direct3D

Direct3D е графичен програмен интерфейс (API) за Microsoft Windows. Използва се, за да създаване на триизмерна графика в приложения, при които изпълнението е важно, като например игри. Direct3D има разширени графични възможности, чрез този интерфейс могат да се реализират Z-буфериране, W-буфериране, шаблонно буфериране, алфа смесване, смесване на цветовете, текстурно смесване, атмосферни ефекти, правилна перспективна текстура и ефекти. Интеграция с други DirectX технологии дава възможност на Direct3D да поддържа функции 3D рендиране в 2D с наслагане на планове, осигуряване на използването на 2D и 3D графики в интерактивни медийни връзки.

Решението за създаване на Виртуална галерия да бъде използвана графичнaта подсистема WPF, дава тласък и на употребата на Direct3D, а не OpenGL. При използването на WPF в съчетание с OpenGL се губят ползите от преносимостта на OpenGL. Също така разработката на приложение, чрез съчетание на тези две технологии само увеличава усилия за разработчика без да носи ползи, което прави Direct3D по-добър избор.

1.5 AForge.NET платформа

AForge.NET е C# платформа, предназначена за разработчици и изследователи в областта на Компютърно зрение и Изкуствен интелект - обработка на изображения, невронни мрежи, генетични алгоритми, размитата логика, машинно обучение, роботика и т.н. Тя е с отворен код (open source).[6]

Платформата се състои от набор от библиотеки и примерни приложения, които показват нейните функции: AForge.Imaging - библиотека за обработка на изображения и филтри; AForge.Vision - библиотека за компютърно зрение; AForge.Video - набор от библиотеки за видео обработка; AForge.Neuro - библиотеката за изчисленияна невронни мрежи; AForge.Genetic - библиотека за еволюционно програмиране; AForge.Fuzzy - библиотека за изчисления на размита логика; AForge.Robotics – библиотека,поддържаща пакети за роботика; AForge.MachineLearning - библиотека за машинно обучение и други.

Работата по подобряване на платформата е константен прогрес, което означава, че нови функции се добавят постоянно. За да се открие най-новата информация за напредъка, може да се следи хранилището, в което се намира информацията за платформата. AForge.NET е снабдена не само с библиотеки, но и с много примерни приложения, които демонстрират възможностите й и с документация с помощни файлове, които са предоставени в HTML Help формат. Документацията е на разположение и онлайн. В случай, че бъде открит проблем в някой от компонентите на платформата или потребител иска да направи заявка за нова функция, може да бъде съобщен проблемът или да бъде подадено искане в системата за проследяване. Съществува и дискусионна група в web страницата на AForge.NET.

AForge.NET е една от библиотеките, които използват компютърно зрение чрез C#, което я прави перфектна в съчетание с останалите технологии, които са избрани за разработване на Виртуална галерия. Чрез найната библиотека за компютърно зрение може да се осъществи откриването и разпознаване на глифове, които са едни от основните цели, положени в основата на Виртуална галерия.

1.6 Helix3D пакет софтуерни инструменти

Helix3Dе софтуерен пакет с инструменти за изграждане на 3D функционалности в Windows Presentation Foundation (WPF). Осигурява високо ниво на приложно-програмен интерфейс за работа с 3D в WPF, чрез колекции от контроли и помощни класове.

Helix3Dе развитие на XNA. Използва библиотеките на XNA и Direct 3D, които са подходящи за визуализирането на 3D образи. Helix3Dе наследник на XNA и има едно голямо преимущество – поддържа се от Windows 8 и по-високите версии. Този плюс го прави добър заместител на XNA и подходяща технология за използване за 3D визуализация при създаването на Виртуална галерия.

4. ПРОЕКТИРАНЕ И ПРОГРАМНА РЕАЛИЗАЦИЯ НА ПРИЛОЖЕНИЕТО.

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



Фиг.5. Нагледна представяне на същността на Виртуална галерия

На фигура 5 е изобразенo нагледно представяне как потребителя използва приложението, какво вижада. Чрез видео камерата на устройството се обработва видео поток, визуализиращ сцени от реалния свят, който се изобрзява на екрана на устройството. При разпознаване на маркер върху видео потока се наслагат 3D модели, създавайки разширена реалност.

Приложението ще бъде унифицирано, за да може да се използва в различни галерии и музеи, което означава, че данните ще идват от различни места и ще се съхраняват на общодостъпен сървър за галериите, които предлагат разширена реалност. Информацията за 3D моделите няма да се съхранява в устройството на потребителя, а ще бъде извличана от външен източник на данни. Това решение е в полза на потребителя, тъй като приложението няма да натоварва устройството му с излизшни данни. Това допринася да се постигне динамичност. Също така предоставя на музеите и галериите възможност да имат достъп до това общо хранилище, в което да могат да добавят и сменят информацията, която приложението използва.



Фиг.6. Блок схема на пренос на данни

Подходящи файлове за съхранение на данните са XML и JSON формат. XML файлове се използват от различни приложения, тъй като те се отнасят до файлове, които са написани на Extensible Markup Language. Това е формат, който съдържа тагове и се използва за определяне на обект и атрибутите му. Те се използват за съхранение и трансфер на данни в Интернет. JSON или JavaScript Object Notation, е текстово базиран отворен стандарт създаден за човешки четим обмен на данни.

Обменът на данни между отдалечения сървър и приложението ще се извършва чрез HTTP протокол. HTTP (Hyper Text Transfer Protocol) е мрежов протокол за пренос на информация в компютърни мрежи. Той определя правила, по които се извършва обмяната на информация между уеб сървър и уеб клиент.

При стартиране на Виртуалната галерия приложението ще прави заявка до отдалечения сървър, за да получи информация за съществуващите възможности за избор на галерия. След като получи информация за галериите под формата на JSON файл, ще предоставя на потребителя избор на галерия. Информацията за галериите ще съдържа име на галерия; изображение, представящо галерята; URL префикс, който ще се използва за достъп до сървъра за следващи клиентски заявки за данни, принадлежащи на галерията; кратко описание на галерията; адрес и информация за 3D обектите.

След като галерия е избрана, приложението ще стратира видео камерата на устройството, която е главен сензор, за създаване на разширена реалност. То ще работи, обработвайки данни идващи от видео потокът на потребителското устройството.

Важна задачата е да се определи кога и къде да бъде визуализиран определен 3D обект. GPS сензорите са удобни за определяне на текущо местоположение и създаване на насложена реалност, което става ясно от разгледаните в Глава първа съществуващи разработки. Използването на GPS сензор не е практично за определяне на малки разстояния, особено на закрито пространство. Точно такива са разстоянията, които трябва да се определят за визуализация на обекти в галерия. Поради това, че в нашият случай GPS сензор не е практичен инструмент, ще използваме камерата като сензор за определяне на мястото на визуализация на 3D моделите.

Решението да се изпозва камерата като сензор за определяне на мястото на визуализация на 3D моделите, води до търсене на идеен избор на обект-маркер, който тя да засича. Разпознаване на маркер и определяне на неговата позиция е подходящо решение за определяне на позицията на визуализиране на 3D обектите. Такъв маркер е обектът – глиф (glyph).На фигура 7 са показани примери за глиф.



Фиг.7. Глифове

Глифовете или оптически глифове, както често биват наричани, са интересна тема, която има приложение в различни области. Те се използват в роботиката, където те биват използвани за командване и навигация на роботите в околната среда, като дават на роботите посока. Но най-популярното им приложение е раширена реалност, в която алгоритми за компютърно зрение ги откриват във видео поток и ги заместват със генерирани обекти, създавайки изглед, който е полу-реален, полу-виртуален – наславане на виртуални елементи върху реалната околна среда.

Информацията за връзката между глиф и 3D обект ще се намира на отдалечният сървър, съдържащ информацията за галериите. За формат на 3D обектите за текущата реализация на приложениетое избран .3ds. Това е двоичен формат, един от файловите формати, използвани от софтуерът за моделиране, анимиране и рендиране Autodesk 3ds Max 3D. Този формат е фактически промишлен стандарт за пренос на 3D модели между различни програми. Подходящ е входни и изходни данни, запазвайки геометрията, текстурата и информацията за осветитлението на обекта.

Архитектура на приложението с избраните технологии за изграждане на Виртуална галерия е изобразена на фигура 8.

Фиг.8. Архитектура на приложението Виртуална галерия.

Модулите на системата са показани на фигура 9. Потребителският интерфейс е модул, който ще бъде изграден посредством класове и контроли на WPF. Модулът за комуникация със сървъра ще използа HTTP протокол за обмена на данни между отдалечения сървър и приложението. Обработката на JSON файловете е следвщия модул, чрез който извличаме необходимата информация за понататъчна работа на приложението. Модул за обработка на видео поток извлича видео потока на устройството и го визуализира в прозореца на приложението в реално време. Модулът за обработка на маркер-обект глифове се занимава със засичането на потенциални глифове във въдео потока, разпознаване на открит обект чрез сравнението му с елементите от базата данни от глифове. Визуализацията на 3D модели е модулът, който визуализира 3D модел върху видео потока в реално време на база извлечената информация за глиф обектът.

Фиг.9. Модули на приложението Виртуална галерия

При стартиране на приложението то, изтегля информация за наличните галерии, които могат да бъдат разгледани. Визуализира информацията под формата на списък от галерии, от които потребителят трябва да избере галерия, към която да продължи.

Фиг.10. Прозорец за избор на галерия.

При избор на галерия от страна на потребителят, приложението изтегля данните за избраната галерия. Тези данни съдържат информация за 3D моделите, които галерията предоставя и съответстващите им маркер-обекти. Стартира се извличане на видео поток от камерата на устройството. Предходната страница се затваря и на нейно място се появява друга, в която се визуализира видео потокът, извлечен от камерата. Картината, която се вижда, е в реално време.

Приложението използва камерата като сензор за определяне кога и кой от наличните 3D моделите да се визуализира. Това зависи от обект-маркерите, който са открити. Чрез разпознаване на маркер и определяне на неговата позиция, то определяне позицията за визуализа на 3D обектите. Използва маркер-обекти глифове. Потребителят трябва да насочи камерата към маркер. За да бъде засечен този обект от приложението, се изисква той да се намира обхвата на камерата – да се вижда на екрана на устройството. Необходима е нормална, не лоша светлина.



Фиг.11.Прозорец визуализиращ видео поток, насочен към обект-маркер глиф

След като тези условия са изпълнени, приложението засича обекта и извлича информация от изображението, чрез които го разпознава при търсене в базата данни от глифове. Следва визуализация на 3D модел, съответстващ на разпознатия маркер, в реално време върху потока от видео камерата на устройството.

Фиг.12. Прозорец визуализиращ разширена реалност -видео поток и 3D обект

Когато на обект глифа, премине извън обхвата на камерата, 3D моделът е скрива. При засичането на друг маркер се визуализира 3D моделът, който му съответства.

Наслагането на 3D модели се усъществява чрез алгоритми за компютърно зрение, то е динамично и съдържанието, което се изобразява зависи от разпознат маркер. Виртуална галерия наслага 3D модели върху видео поток, изобразяващ реалната околна среда. Приложението създава разширена реалност, съдържаща реална картина и визуални елементи.



ЛИТЕРАТУРА

  1. М. Грахам, М.Зок, А. Бултън - "Augmented reality in urban places: contested content and the duplicity of code." , Институт на Британските Географици.

  2. Статия за тенденциите в разширената реалност - http://www.augmentedrealitytrends.com/augmented-reality/similarity-and-difference-between-ar-and-vr.html

  3. Джонатан Стелър – „Дефиниция за виртуална реалност” , Катедра Комуникации, Униветситет Станфорд.

  4. Рейчъл Метс - „Разширената реалност вече е "реалност””, Техническо ревю, 2 август 2012г.

  5. Статия за графичнa подсистема WPF и нейната архитектура - MSDN.NET Development: WPF: XAML Overview

  6. Уеб страницата на библиотеката AForge.NET - http://www.aforgenet.com/framework/



База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница