Zpracování multimediálních dat

Podobné dokumenty
Sledování provedených změn v programu SAS

Instalace a technické informace

Vizualizace TIN (trojúhelníková nepravidelná síť) v Marushka Designu

Možnosti připojení WMS služby do Klienta v Marushka Designu

Vykreslení obrázku z databázového sloupce na referenční bod geometrie

Témata v MarushkaDesignu

Tile systém v Marushka Designu

Práce s WKT řetězci v MarushkaDesignu

VIS ČAK - Uživatelský manuál - OnLine semináře

Informační ikony v MarushkaDesignu

Portál veřejné správy

Dotaz typu Common Info v MarushkaDesignu

Lokalizace souřadnic v MarushkaDesignu

DTM (Digitální technická mapa) v Marushka Designu

Odpisy a opravné položky pohledávek

Portál veřejné správy

Integrace Google map v MarushkaDesignu

Upomínky a kontroly E S O 9 i n t e r n a t i o n a l a. s.

PEXESO UŽIVATELSKÝ MANUÁL

DeepBurner Free 1.9. Testování uživatelského rozhraní s uživateli Deliverable B1 TUR Testování uživatelských rozhraní 2011 ČVUT FEL

4 Datový typ, proměnné, literály, konstanty, výrazy, operátory, příkazy

MS Word pro administrátory projektů Základy

Generování Homepage ze serveru AReality.sk

Helios Orange Plugin Zadávání vlastností

SMĚRNICE č. 5 ŠKOLENÍ ZAMĚSTNANCŮ, ŽÁKŮ A DALŠÍCH OSOB O BEZPEČNOSTI A OCHRANĚ ZDRAVÍ PŘI PRÁCI (BOZP)

GLOBÁLNÍ ARCHITEKTURA ROB

Plánování směn verze 2.1, revize 03

Autorizace mapového serveru

SMART Notebook Math Tools 11

Tvorba elektronického herbáře

Přeložit spolupráce s externím serverem Jazyk možnost nastavení jazykové kontroly a výběr jazyka

Eda. Evidence obchodních aktivit. Proces nákupu

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

14. Datové modely v GIS

Operační systém Windows 8.1

VŠB Technická univerzita, Fakulta ekonomická. Katedra regionální a environmentální ekonomiky REGIONÁLNÍ ANALÝZA A PROGRAMOVÁNÍ.

GeoDTM. Uživatelská příručka. Výstup byl vytvořen s finanční podporou TA ČR v rámci projektu TA Verze 1.0

Instalační manuál Desktop Security System AreaGuard

Portál veřejné správy

2.1. Operační systém První kroky Zapnutí počítače a přihlášení do systému Restartování počítače

Synchronizace kontaktů z ESO9 do MS Outlook

ZADÁVACÍ DOKUMENTACE

Obsah cvic ení procvic ovane dovednosti

ZŠ ÚnO, Bratří Čapků 1332

Školení obsluhy PC stručný manuál obsluhy pro používání PC. MS Power Point

RAILTRAC 1000 UNIKÁTNÍ, FLEXIBILNÍ A VÍCEÚČELOVÝ SYSTÉM PRO SVAŘOVÁNÍ A ŘEZÁNÍ

PŘÍLOHA 1 ENERGETICKÝ MODEL PŘÍRŮSTKOVÝ ZÁVAZNÁ OSNOVA ZPRÁVY K FA/FEA. Manuál k Energetickému modelu Projekt: Aktualizace modelů a manuálů FEA

Podklady k práci s Intranetem - administrátor

1. Předmět díla a technické požadavky

ONLINESKLAD.CZ. Vysvětlení pojmů: V tomto manuálu i v celém systému figurují 3 základní osoby: Popis administračního rozhraní

Uživatelská příručka aplikace Partner24 modul Zaměstnavatelský portál Česká spořitelna penzijní společnost, a.s.

HTML šablona v MarushkaDesignu

Legenda v MarushkaDesignu

Elektrická deska udržující teplo

Metoda klíčových ukazatelů pro činnosti zahrnující zvedání, držení, nošení

Stanovisko Rekonstrukce státu ke komplexnímu pozměňovacímu návrhu novely služebního zákona

Programová příručka. GoPal Navigator verze 5.5

65 51 H/01 Kuchař číšník. Téma "2012_SOP_ kuchař, číšník" samostatná odborná práce

Simulátor krizových procesů na úrovni krizového štábu. Systémová dokumentace

NÁVODNÁ STRUKTURA MÍSTNÍHO AKČNÍHO PLÁNU VZDĚLÁVÁNÍ

ZŠ ÚnO, Bratří Čapků 1332

23-62-H/01 Jemný mechanik. Téma "T-90408: Jemný mechanik SOP 2015/ zaměření hodinář" Pokyny pro realizaci

Specifikace pro SW aplikaci Start-up business.

Obecnou rovnici musíme upravit na středovou leží na kružnici musí vyhovovat její rovnici dosadíme ho do ní.

Technická specifikace předmětu plnění. VR Organizace dotazníkového šetření mobility obyvatel města Bratislavy

Vkládání dat do databázové aplikace

DOBRÁ ŠKOLA Ústeckého kraje 2013/2014

Programová příručka. GoPal Navigator verze 5

Rádiová odečtová jednotka RFU 40. a odečtová aplikace RADIO READER

Manuál k vyplnění Monitorovacích listů za rok 2017 (datum podání do )

Posouzení oslnění v osvětlovacích soustavách

ZÁKLADNÍ INFORMACE O SPOLEČNÉ ČÁSTI MATURITNÍ ZKOUŠKY

F O R M Á L N Í P O Ž AD AV K Y N A B AK AL ÁŘSKÉ PRÁCE

v mechanice Využití mikrofonu k

Rozpoznávaní zájmových objektu v systému FOTOM

PŘÍLOHA D Požadavky na Dokumentaci

Stanovisko k dokumentu Řešení dalšího postupu územně ekologických limitů těžby hnědého uhlí v severních Čechách ze srpna 2015

Studijní předmět: Základy teorie pravděpodobnosti a matematická statistika Ročník:

5. Glob{lní navigační satelitní systémy (GNSS), jejich popis, princip, využití v geodézii.

Komunikační protokol MODBUS RTU v displejích TDS101 a TDS57

Úprava obchodního dopisu na předtisk dopisního papíru

Cycle Transport Improvements

Manuál k vyplnění Monitorovacích listů

Metodický návod na pořádání soutěží OBEDIENCE CZ.

Multimédia a interaktivní PDF

VYUŽITÍ MULTIMEDIÁLNÍ TECHNIKY VE VÝUCE ANGLIČTINY UČÍME SE ANGLIČTINU S INTERAKTIVNÍ TABULÍ SMARTBOARD

Manuál k vyplnění Monitorovacích listů za rok 2018 (datum podání do )

Přístroj na odstraňování akné

Cíl kapitoly: Cílem této č{sti je naučit se při debutov{ní číst hexadecim{lní hodnoty odpovídající z{znamu celých a re{lných čísel.

USNESENÍ. Č. j.: ÚOHS-S339/2012/VZ-21769/2012/523/Krk Brno 20. prosince 2012

Eda. Evidence obchodních aktivit. Proces prodejních kontraktů

Projekt Geostat 1B a Sčítání lidu, domů a bytů 2011 Konference k projektu ERRAM CZ-AT

Pravidla on-line výběrových řízení ENTERaukce.net

Možnosti a druhy párování

5. Zobrazení stručné informace o právě běžícím programu. 6. Zobrazení podrobné informace o právě běžícím programu

Čipový terminál verze 3.3

Tvorba jednotného zadání závěrečné zkoušky ve školním roce 2010/2011

- Aplikace je napsána v C#.NET, je instalována na webovém serveru - Data jsou ukládána v databázi MS-SQL 2005 a vyšší

EXTRAKT z mezinárodní normy

Transkript:

VŠB-TU Ostrava Fakulta elektrtechniky a infrmatiky Katedra infrmatiky Zpracvání multimediálních dat Pdpůrný text pr tutriál: Virtuální realita a její aplikace rzšířená realita Obrázek 1: Ukázka vide sekvence s dplněným 3D mdelem (ukázky z výsledné aplikace) Jednu z praktických aplikací z blasti virtuální reality je tzv. rzšířená realita. Cílem tét metdy je rzšíření reálnéh brazu virtuální prvky, jakými mhu být pčítačem genervaný braz, zvuk neb např. GPS data. V tmt tutriálu se seznámíme s pstupem pr vytvření aplikace, která d reálnéh záběru kamery umístí virtuální předmět na míst značené speciální značku. Tat značka (dále marker) umžní určit typ i rientaci bjektu, který chceme d scény virtuálně umístit. V následujících bdech shrneme jedntlivé krky veducí k umístění 3D mdelu předmětu d vide sekvence. Vzhledem k tmu, že se předpkládá vypracvání tht tutriálu v prstředí jazyka C++ a s využitím knihvny OpenCV, jsu u jedntlivých krků uvedeny také názvy dpvídajících funkcí, řešících daný prblém. Detailní ppis těcht funkcí je nad rámec tht textu a čtenář je dkazván na pdrbnu dkumentaci knihvny OpenCV.

Pstup: 1. Detekce markerů v brazu kamery Předpkládejme, že se nám pdařil úspěšně získat snímek z připjené kamery a pkusíme se v něm nalézt příslušný marker. Markerem rzumíme černý čtverec s vycentrvanu mřížku tvřenu černbílu šachvnicí (např. 5x5 čtverců), která reprezentuje infrmaci v binárním kódu (černá dpvídá hdntě 0 a bíla hdntě 1). Obrázek 2: Ukázka značky (markeru) rzměrech 7x7 Pr následnu snadnější manipulaci s brazem, tent nejprve převedeme z barevnéh prstru d stupňů šedi (cv::cvtclr). Dále je nutné braz binarizvat pmcí prahvání. Jednduché prahvání nebude v našem případě fungvat, prtže braz bude vykazvat různé úrvně jasu z důvdu prblematických světelných pdmínek. Lepší vlbu bude adaptivní prahvání (adaptivethreshld) pracující s průměrnými hdntami v určitém klí každéh pixelu. Výsledkem by měl být černbílý brázek, na kterém budu dbře viditelné všechny části markerů (tzn. jejich bvd i vnitřní vzr) a případně další neptřebné. 2. Detekce kntur Nyní ptřebujeme nalézt samtný marker v černbílém braze, který jsme získali v předchzím krku. Jelikž blast markeru představuje černý čtverec, je nejjedndušší tut blast aprximvat pmcí plygnu čtyřech vrchlech. Nalezení kntur řeší metda cv::findcnturs a našim úklem je ze získaných kntru vhdným způsbem dfiltrvat chybné detekce. Před samtným filtrváním je nutné knturu nahradit plygnem (cv::apprxplydp). Platný plygn musí mít právě čtyři vrchly, musí být knvexní (cv:iscnturcnvex) a vzdálenst každých dvu vrchlů plygnu musí být větší než vhdně zvlená prahvá hdnta. Tímt krkem jsme získali kandidáty na markery a musíme dále věřit, zdali jsu alespň některé ze získaných plygnů skutečně knturami markerů. 3. Ověření ptenciálních markerů Pr získání bsahu jedntlivých plygnů, je nutné nejprve dstranit perspektivní prjekci a získat jejich braz z čelníh phledu. Th dcílíme pmcí transfrmační matice, kteru vypčteme pmcí funkce cv::getperspectivetransfrm na základě znalsti čtyř krespndujících párů bdů. 2/8

První čtveřice bdů jsu suřadnice nalezených vrchlů plygnu v braze a druhá čtveřice představuje bdy v lkálním suřadném systému samtnéh markeru. Samtný warping brazu prvedeme pmcí funkce cv::warpperspective. Zdrjvým brazem pr warping je riginální barevný snímek z kamery a výsledný braz ptencinálníh markeru je tedy také barevný brázek. Pr čtení binárních symblů je pr nás vhdnější jeh černbílá reprezentace. Tu získáme prahváním pmcí Otsuva algritmu (cv::threshld( CV_THRESH_OTSU), který předpkládá bimdální rzlžení jasů v braze (t je přesně náš případ) a snaží se nalézt takvu hdntu prahu, která maximalizuje varianci mezi třídami při zachvání c nejmenší variance uvnitř tříd. P prvedeném prahvání se můžeme pkusit dečíst binární hdnty z příslušných míst brazu markeru a získat tak jeh kód. Každý bit markeru je reprezentván jedním ze 49 čtverců rzmístěných v pravidelné mřížce nad každým markerem (viz. Obrázek 2). Předpkládejme, že bvdvé bity jsu vždy 0, tj. černé a užitečnu infrmaci nese puze vnitřní mřížka 5x5 bitů. Pr převedení hdnt pixelů jedntlivých bitů markeru na bity lze využít funkce cv::cuntnnzer nad příslušným reginem brazu markeru (tzv. ROI). 4. Rzpznání markerů Jednu z mžnstí, jak zapsat pžadvanu infrmaci (typ bjektu a rientaci) d markeru, je přím zakódvat např. nějaké ID d 25-bitvé hdnty. T však není zcela idální, prtže např. takvá hdnta ID=0 by vedla na černý čtverec, ze kteréh by evidentně nebyl mžn získat infrmaci rientaci markeru. Rvněž symetrické vzry by nám neumžnily jednznačně zreknstruvat jeh rientaci. Dále také nemůžeme spléhat na t, že se nám vždy pdaří každý marker rzpznat zcela bezchybně. Z těcht důvdů je vhdné hdnty markerů zakódvat např. pmcí lineárníh Hammingva kódvání pr pravu jedné chyby. 5. Přesné dhledání plh markerů v braze P dekódvání ID markeru a určení jeh správné rientace, můžeme dhledat jeh vrchly se subpixelvu přesnstí pmcí funkce cv::crnersubpixel. Tent krk nám zajistí c nejpřesnější nalezení umístění vrchlů markeru v braze a následně zpřesní dhad jeh umístění v 3D prstru. Tent krk je pměrně časvě nárčný, a prt je zařazen až zde, jelikž teď již pracujeme jen s malým pčtem markerů. 6. Plha markeru v 3D prstru P prvedení předcházejícíh krku známe 2D plhy rhů (p s ) nalezených markerů v brazvém prstru. Jejich umístění v 3D světvém prstru (p w ) a krespndující prjekce d 2D brazvéh prstru je svázána rvnicí p s = A [R t] p w, (1) 3/8

kde A představuje tzv. vnitřní matici kamery ppisující parametry jak hniskvá vzdálenst, hlavní bd kamery a gemetricku distrzi bjektivu kamery. Rtační matice R rzměrech 3x3 splu s translačním 4D vektrem t v hmgenních suřadnicích představuje Euklidvsku transfrmaci. Z rvnice (1) známe puze plhy rhů p s (můžeme si určit libvlně) a p w () vše statní musíme určit. Kalibrací kamery se zde zabývat nebudeme, jen pznamenáme, že knihvna OpenCV je vybavena funkcemi pr získání matice A ze série 10 20 snímků šachvnice. Pr tut chvíli předpkládejme, že matice A je nám pr naši kameru k dispzici a můžeme pkračvat dále. Prcedura nalezení dhadu transfrmace mezi prstrem kamery a glbálním prstrem, ve kterém je umístěn sledvaný marker, se nazývá dhad pózy z 2D-3D krespndence a jejím výsledkem je nalezení matice Euklidvské transfrmace [R t]. Tut krespndenci lze snadn nalézt pmcí funkce cv::slvepnp vracející bě kmpnenty uvažvané Euklidvské transfrmace, je však nutné si uvědmit, že nalezená transfrmace ppisuje pzici kamery vůči markeru ve světvém prstru. Pr další zpracvání je vhdné získat inverzní transfrmaci. 7. Dplnění virtuálníh mdelu d reálnéh brazu Psledním krkem je s využitím získaných transfrmací prvést vykreslení mdelu d brazu kamery. Th je mžné dsáhnut např. pmcí knihvny OpenGL. Následujícím cílem je uvedený pstup prakticky realizvat v jazyce C++ za využití knihvny OpenCV. Jak návdný příklad může pslužit následující úspěšná implementace uvedenéh pstupu. Příklad výsledné aplikace: Autři: Tmáš Bartšek, Jan Křístek, Peter Drábik, šklní rk 2012/2013 4/8

Obrázek 3: Ukázka výsledné aplikace Ppis jedntlivých vládacích prvků hlavníh kna aplikace (viz. Obrázek 3): 1. Zdrj snímků: zde se nastavuje, c bude zdrjem snímků pr detekci markerů. Přepínáním mezi zálžkami (tabulátrem) se nastavuje typ zdrje: Obrázky: vytvří seznam brázků z disku. Lze vybrat subry puze z jedné slžky. Pmcí klávesy ctrl lze vybrat selektivně neb pmcí ctrl+a lze vybrat všechny subry. Vide: vide subr. Pkud bsahuje více prudů, bude pužit první a zvukvá stpa je kmpletně ignrvána. Kamera: připjená kamera k PC (např. webkamera). Parametrem je čísl, které je pužit pr metdu cv::videcapture::pen(). 2. Nastavení detekce a vykreslvání: nastavuje různé nastavení pr vykreslvání a detekci. Dále je zde mžn nastavit kalibrační subr kamery, který je ptřeba pr správnu detekci. Také je zde mžn nastavit subr s metadaty hledně markerů, případně nechat zbrazit výsledky v samstatném kně a průběh jedntlivých krků detekce. 3. Nahrávání d subru: umžňuje nahrát rendervané snímky d videa. Je pužit MJPG kdek. P kliknutí na Start se budu průběžně ukládat všechny vyrendervané snímky až d stisknutí Stp. 4. Infrmace průběhu: zbrazuje infrmace tm, který snímek se detekuje, status vlákna detekce apd. 5. Rendervání: vládá rendervání. Prstřednictvím tlačítek previus a next se lze přepínat mezi jedntlivými snímky, které se ihned detekují, renderují a zbrazí. Kliknutím na play se autmaticky budu přehrávat jedntlivé snímky. Pzn.: tlačítka previus a next si pamatují snímek, který byl renderván napsled. Přehrávání je ale ignrván. Snímek, kde 5/8

se má přehrávání začít a ke kterému se vztahují tlačítka previus a next lze nastavit v plžce Frame v sekci 2. 6. Výsledek rendervání: vizualizuje výsledek detekce a rendervání. 7. Parametry detekce: Zde lze nastavit parametry OpenCV funkcí pužité pr rendervání. 8. Plžka nástrje: bsahuje nástrj pr tvrbu markerů. Je mžné si naklikat marker a nechat zbrazit jeh kód (viz. Obrázek 4). Marker lze ulžit jak brázek. Kalibrace kamery Obrázek 4: Editr markerů Aby byl mžn prvést detekci markerů správně, je ptřeba zjistit parametry kamery, tj, kalibrvat ji. Kalibrace prbíhá tak, že se nejprve kameru zachytí něklik (10 20) snímků šachvnice známých rzměrů, a pté se nechá prběhnut výpčet, který dané parametry zjistí. Ukázka aplikace pr kalibraci kamery (viz. Obrázek 5) pchází z diplmvé práce Tmáše Bartška. Prgram umžňuje kalibraci prvést pmcí videa neb samstatných brázků. V pravé části je mžn nastavit parametry kalibrace včetně veliksti šachvnice. Metadata markerů Prgram rzšířené reality pužívá textvé dkumenty s metadaty markerů pr jejich detekci a vykreslení správnéh mdelu. Frmát metadat: Textvý frmát, lze libvlně ddělvat bílými mezerami s jednu výjimku Když je řečen řetězec, je myšlen bez uvzvek a bez bílých mezer Struktura dat jednh markeru: Uvzen symblem ">" (bez uvzvek) 6/8

Příklad: Řetězec: jmén markeru Čísl: indikátr, zda marker pužívá hammingv kódvání (1 - an, 0 ne) Čísl: zakódvaný kód markeru; v případě hammingva kódvání se vynechávají paritní bity (čísl sptřebvává tedy 20 bitů míst 25) lze získat z nástrje pr tvrbu markerů následují vlitelné parametry: mdel frmátu ply: řetězec: "PLY_MODEL" (bez uvzvek) adresa subru; jak adresa se bere následující celý zbytek řádku, takže může bsahvat bílé znaky Neuvádí se pčet markerů ani uknčvací tken, ale je ptřeba značit všechny markery symblem ">". > marker_01 0 22757246 PLY_MODEL markerdata/dragn_vrip_res4.ply > marker_03 1 1040743 PLY_MODEL markerdata/dragn_vrip_res4.ply > marker_04 1 1043519 PLY_MODEL markerdata/bun_zipper_res4.ply Pstup pužití aplikace: Obrázek 5: Kalibrace kamery 1. Je ptřeba nasnímat šachvnici pr kalibraci a snímky pr samtné markery. 2. Kalibrace kamery. 3. Vytvření subrů s metadaty markerů. 4. Spuštění hlavníh prgramu a spuštění rzšířené reality: 7/8

a) Ve zdrji snímků nastavit vide. b) Nastavit kalibrační subr kamery. c) Nastavit subr s metadaty markerů. d) Je dpručen nechat rendervání v samstatném vlákně. Vlitelně je mžné nastavit zbrazvání výsledků v samstatném kně a případně zbrazvání průběhu detekce. e) Vlitelně lze nastavit výstupní vide. Kliknutím na Start se připraví jeh nahrávání. f) Pužitím tlačítek apply, previus a next lze pstupně nechat zpracvat jedntlivé snímky neb tlačítkem play přehrát celé vide. g) Jestliže jsme nahrávali vide s výslednými snímky, kliknutím na Stp se nahrávání dknčí a výsledný vide subr bude mžné přehrát. Pužitá literatura: [1] Baggi, Daniel a kl. Mastering OpenCV with Practical Cmputer Visin Prjects. Packt Publishing. ISBN 978-1-84951-782-9. 2012. 8/8