3D rekonstrukce objektů ze stránek pro sdílení fotografií. Ondřej Macoszek
|
|
- Matěj Jelínek
- před 9 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce 3D rekonstrukce objektů ze stránek pro sdílení fotografií Ondřej Macoszek Vedoucí práce: Ing. David Sedláček Studijní program: Softwarové technologie a management, Bakalářský Obor: Softwarové inženýrství 30. května 2011
2 iv
3 v Poděkování Rád bych poděkoval panu Ing. Davidu Sedláčkovi za trpělivost a podporu při realizaci této bakalářské práce.
4 vi
5 vii Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne
6 viii
7 Abstract The aim of bachelor thesis is to design and implement application for automatic 3D reconstruction of photo from photo-sharing websites (such as Flickr). App will integrate existing components for 3D reconstruction (Bundler - the structure from motion tool, CMVS - multiview stereo tool). Input will be search keyword or collection of already downloaded photos. App will prepare all necessary structures for 3D reconstruction. Integrated existing componets will be able to configure and replace. Test solution on two collections from internet and one one given by supervisor. Abstrakt Cílem práce je navrhnout a implementovat nástroj pro automatickou 3D rekonstrukci objektů z fotografií volně dostupných na internetu (např. Flickr). Nástroj bude integrovat již hotové komponenty pro 3D rekonstrukci (structure from motion program Bundler a program pro rekonstrukci hustého mračna bodů - CMVS). Vstupem budou data z kolekce fotografií (vyhledávací výraz) a nebo již stažené fotografie. Nástroj automaticky připraví potřebné datové struktury pro následující kroky 3D rekonstrukce. Jednotlivé části rekonstrukčních programů budou konfigurovatelné a zaměnitelné (např. výběr SIFT detektoru). Řešení otestujte na 2 kolekcích z internetu a na jedné kterou dodá vedoucí práce. ix
8 x
9 Obsah 1 Úvod 1 2 Specifikace cíle Vymezení požadavků Případy užití Rešerše existujících implementací Photo Tourism Photosynth Photo City Game Google Street View Analýza Typický průběh práce při 3D rekonstrukci Fungování podpůrných aplikací SIFT Bundler PMVS CMVS Průzkum možností technologií používaných při realizaci Sítě pro sdílení obrázků Flickr Google Image Search a Facebook Guice Operační systém Návrh a realizace Architektura Deploy model Model tříd a entit Byznys vrstva Uživatelské rozhraní Jednotkové testovaní xi
10 xii OBSAH 5 Testování Experimenty s vlastnoručně nafocenými fotkami Experiment s daty staženými z internetu Experiment s daty od vedoucího BP Experiment s testovacími obrázky z distribuce Bundleru Závěr 31 A Seznam literatury 33 B Seznam použitých zkratek 35 C UML diagramy 37 D Instalační a uživatelská příručka 43 D.1 Instalace D.2 Popis obrazovek D.2.1 Dashboard D.2.2 Search query D.2.3 Search results D.2.4 Download D.2.5 SFM Setup D.2.6 SFM running D.2.7 MVS D.2.8 Settings E Obsah přiloženého CD 49
11 Seznam obrázků 4.1 Architektura aplikace a rozložení komponent Diagram nasazení Model tříd, Přehled tříd byznys vrstvy Model tříd, balíček downloader Model tříd, balíček images Model tříd, balíček search Model tříd, balíček SFM Model tříd, balíček MVS Model tříd, balíček settings Model tříd, balíček tools Model tříd UI, obecné třídy Model tříd UI, třídy pro vyhledávání a stahování Model tříd UI, třídy PMVS a CMVS Testování, Čajová konvice Testování, Srní, meshlab Testování, Srní, fotografie Testování, Kermit, meshlab Testování, Kermit, fotografie C.1 Analýza, Vztahy mezi soubory, které zpracovává Bundler C.2 Analýza, Závislosti Bundleru C.3 Analýza, Závislosti CMVS C.4 Analýza, Závislosti PMVS C.5 Případy užití, hlavní C.6 Případy užití, stahování C.7 Případy užití, multi-view-stereo C.8 Případy užití, výběr fotek C.9 Případy užití, vyhledávání C.10 Případy užití, structure from motion D.1 UI, Dashboard D.2 UI, Search query D.3 UI, Search results D.4 UI, Download progress D.5 UI, SFM setup xiii
12 xiv SEZNAM OBRÁZKŮ D.6 UI, SFM running D.7 UI, MVS D.8 UI, Settings
13 Seznam tabulek xv
14 xvi SEZNAM TABULEK
15 Kapitola 1 Úvod Za posledních několik let zažil svět vznik množství sociálních sítí a za poslední 2 roky nevídaný nárust mobilních aplikací. To vše usnadnilo lidem sdílet své každodenní zážitky okamžitě se svými přáteli, nebo rovnou s celým světem. Portál Flickr zabývající se sdílením fotografií zaznamenal 1 koncem roku 2010 pět miliard obrázků. Uživatelé tohoto webu navíc přidají 3000 fotek každou minutu. Tyto čísla ovšem hravě strčí do kapsy sociální síť Facebook, která zaznamenává 200 miliónů nahraných fotek každý den a se současnými přibližně 90 miliardami fotek celkem tvoří pravděpodobně největší databázi fotek na internetu 2. Velikou výhodou je, že fotky jsou popsány především klíčovými slovy, ale mnohdy jsou opatřeny i gps souřadnicemi nebo dalšími informacemi. Takové to množství pojmenovaných fotek samozřejmě nabízí nejrůznější příležitosti. Jednou z těchto příležitostí je právě 3D rekonstrukce objektů. Existující aplikace pro 3D rekonstrukci dokážou předané fotky zpracovat a vytvořit často velmi věrohodný 3D model vyfocených objektů. Bylo by úžasné spojit vyhledávání v některé z veřejných internetových fotobank a 3D rekonstrukci, pak by stačilo zadat například klíčové slovo "notre dame"a vysledkem by byl 3D model této pařížské katedrály. 1 Flickr Blog, 5,000,000,000: 2 Dotaz na Quora.com: 1
16 2 KAPITOLA 1. ÚVOD
17 Kapitola 2 Specifikace cíle 2.1 Vymezení požadavků Hlavním cílem bakalářské práce je vyvinout nástroj usnadňující 3D rekonstruci objektů z fotografií volně dostupných na internetu. Aplikace bude schopna přijmout určité klíčové slovo, volitelně nějaké upřesňující informace (GPS souřadnice, datum pořízení snímku) pomocí, kterých vyhledá na internetu odpovídající fotografie. Nalezené fotografie budou uživateli prezentovány k ručnímu vyfiltrování nevhodných záběrů. Tyto vybrané fotografie budou následně staženy do předem určené složky na počítači. Alternativně bude možné aplikaci předat složku s již staženými fotkami ke zpracování. Aplikace dále uživateli umožní konfigurovat a spustit programy pro 3D rekonstrukci. K nefunkčním požadavkům řadíme zajištění plynulosti ovládání aplikace. Protože 3D rekonstrukce i stahování fotek jsou úkony velmi výpočetně a časově náročné, bude víc než užitečné tyto činnosti přesunout od samostatných vláken, kde nebudou zpomalovat ovládání hlavní aplikaci a její uživatelské rozhraní. Mezi systémové požadavky bude patřit nezávislost na aplikacích zajišťující detekci významných bodů (SIFT) a zpracování structure-from-motion (Bundler) a multi-view-stereo (CMVS). Primárně bude aplikace určená pro operační systém linux, ale při návrhu i implementaci se bude počítat i s jinými platformami. Aplikace bude vytvořena v Javě jednak kvůli budoucímu snadnějšímu propojení s již existujícími vizualizačními programy. Další výhodou je také snadnější přenos aplikace mezi platformami a v neposlední řadě, že autor práce se v prostředí vyzná a vyhovuje mu. Uživatelské rozhraní si klade za cíl být přehledné a jednoduché. Bez prvků zbytečných pro aktuální činnost. Pro práci s aplikací je typický postup určitými fázemi zpracování množiny dat, proto uživatelské rozhraní obsahuje navigační prvky usnadňující rozhodnutí kam pokračovat dál. Například po stažení sady fotek má uživatel možnost postoupit k fázi nastavení a spuštění programu Bundler. Aplikace ovšem umožňuje také skok do libovolné fáze a začít pracovat právě tam - pro případy, kdy uživatel potřebuje například opravit či porovnat výstup z určité fáze. Součástí bakalářské práce bude také ověření funkčnosti aplikace na dvou kolekcích fotografií stažených z internetu (notre dame a orloj na staroměstském náměstí) a na jedné dodané vedoucím bakalářské práce (faustův dům). 3
18 4 KAPITOLA 2. SPECIFIKACE CÍLE 2.2 Případy užití Případy užití vyjadřují jak bude uživatel se systémem pracovat, konkrétně jaké úkony tam bude provádět. Vycházejí z požadavků, ale dotahují detailněji popis typických činností uživatele. Hlavními akcemi uživatele v aplikaci bude výběr fotografií ke zpracování, nastavení a spuštění structure-from-motion, dále nastavení a spuštění multi-view stereo aplikace a konečně nastavení cest k nezbytným souvisejícím aplikacím. Při výběru fotografií bude mít uživatel na výběr mezi dvěmi možnostmi. Jednou je stažení kolekce fotek z internetu a druhou je výběr složky na počítači s již připravenou sadou obrázků. Budou zaznamenávány posledně hledaná klíčová slova a posledně používané složky a uživatel tak může přeskočit rovnou do předvyplněného formuláře, nebo začít nastavovat SFM s již doplněným adresářem se zdrojem obrázků. Bude-li uživatel chtít hledat fotky na internetu, uvítá ho nejprve formulář, ve kterém vyplní co by potřeboval nalézt. Uživatel vyplní klíčová slova typická pro hledaný objekt, případně vyplní GPS souřadnice hledaného místa, nebo datum upřesňující okamžik pořízení nebo nahrání fotky na internet. Dále uživatel může nastavit počet zobrazených výsledků na stránce. Bez vyplněného klíčového slova nepůjde formulář odeslat. Kromě formuláře pro vyhledávání bude mít uživatel v tomto okamžiku také možnost zvolit složku pro stažení případných vybraných obrázků a nastavení zda každý stažený obrázek zmenší a předvypočítat mu významné body pomocí SIFT. Stav stahování uživatel nebude ovlivňovat a bude jej smět jen prohlížet. Uživatel uvidí průběh stahování jednotlivých fotografií. Stav bude informovat o tom, zda obrázek čeká ve frontě na stažení, zda je právě stahován, zda byl kvůli nějakým problémům přeskočen a zda byl zdárně stažen. Méně podrobněji pak bude uživatel informován o průběhu úprav fotek po stažení (zmenšení velikost a předvypočítání SIFT). Před přesunutím k prvnímu kroku 3D rekonstrukce bude muset uživatel počkat na stažení všech fotografií ve frontě. První krok 3D rekonstrukce structure-from-motion nabídne uživateli výběr složky ke zpracování, pokud ještě nebyla vybrána. Uživatel bude také moci upravit nastavení spouštěného SFM programu. V případě, že fotografie byly pořízeny fotoaparátem, o kterém aplikace nemá informace o optice, bude na to při zpracování uživatel upozorněn a může pak zpátky v nastavení doplnit informace o optice ručně. Po spuštění rekonstrukce bude uživatel průběžně informován o stavu rekonstrukce. Budou zde také ovládací prvky pomocí, kterých půjde právě probíhanou rekonstrukci zastavit anebo prohlédnout složku s výsledkem zpracování. Po dokončení rekonstrukce bude uživateli nabídnuto postoupení k druhému kroku rekonstrukce. Druhý krok 3D rekonstrukce multi-view-stereo uživatele požádá o zadání adresáře s výstupem z prvního kroku (SFM). Uživatel může pomocí formuláře upřesnit volby aplikací CMVS a PMVS. Obdobně jako u prvního kroku bude po spuštění rekonstrukce uživatel informován o průběhu, a bude mít možnost rekonstrukci zastavit, nebo prohlédnout výsledek. Čast s nastavením bude od uživatele požadovat upřesnění umístění aplikací, které jsou nezbytné pro 3D rekonstrukci. Při zadání cesty k aplikaci, bude uživatel informován zda aplikace skutečně existuje a zda je spustitelná.
19 2.3. REŠERŠE EXISTUJÍCÍCH IMPLEMENTACÍ Rešerše existujících implementací Zatím neexistuje veřejně dostupná aplikace zajišťující dohromady vyhledávání fotek na internetu a jejich 3D rekonstrukci. Existující implementace se zaměřují spíše na způsob prohlížení a prezentace fotek a rekonstruovaného modelu scény Photo Tourism Photo Tourism 1 si klade za cíl vytvořit z fotek 3D prostředí a umožnit uživateli prostředím interaktivně procházet a prohlížet fotky v místech odkud byly foceny. Navigace mezi místy existuje ve dvou módech. První nabízí pohyb mezi scénami formou prolínání fotek mezi sebou. Druhý způsob umožňuje plný pohyb 3D prostorem, kde jsou fotografie umístěny na místech odkud byly foceny, a navíc dokáže zobrazit pomocné informace a náhled mapy z ptačí perspektivy. Jádro aplikace pro 3D rekonstrukci bylo uvolněno pod názvem Bundler. Aplikaci vytvořil Noah Snavely a jeho tým z laboratoře GRAIL na University of Washington Photosynth Photosynth 2 je software pro tvorbu panoramat a prohlížení fotografií v 3D prostoru. Vznikl na základě Photo Tourism a přenesl možnost pohybu 3D prostorem do prostředí webového prohlíže. Vizualizace scény v prohlížeči funguje prostřednictvím technologie Silverlight. Využívá také softwaru firmy Seadragon pro optimalizované prohlížení fotek bez ohledu na jejich původní velikost. Později byla přidána také možnost tvorby panorarmat Photo City Game Photo City Game 3 je zajímavý nápad jak spojit dohromady zábavu a praktické využití. Pomocí mobilních telefonů a digitálních fotoaparátů hráči "dobývají"budovu tím, že fotí chybějící části. Body se počítají podle toho kolik 3D bodů fotografie do modelu přidá. Více bodů znamená větší skóre a větší šance na vítězství Google Street View Google ve svém Street View používá princip z Photo Tourist tak, že během procházení ulice nabízí uživateli možnosti kliknout na místo ulice, které bylo nafoceno detailněji a prohlížet jej zblízka. Navíc při prohlížení této fotky se lze opět posouvat dál na další detailněji nafocená místa. Toto vylepší funguje dokonce i v místech, kde vůz Street View nedokázal projet. 1 Oficiální web Photo Tourism: 2 Oficiální web Photosynth: 3 Oficiální web Photo City Game:
20 6 KAPITOLA 2. SPECIFIKACE CÍLE
21 Kapitola 3 Analýza 3.1 Typický průběh práce při 3D rekonstrukci Během 3D rekonstrukce scény je zapotřebí projít několika nezbytnými kroky. Nastavení v jednotlivých krocích mnohdy výrazně ovlivňuje výsledek příslušné fáze. Nejprve je potřeba vybrat vhodné fotografie. Snímky by měly zabírat rekonstruovaný objekt pokud možno postupně ze všech stran. Pokud jde o veřejně známý objekt může pomoci i vyhledávání na internetu. Pro účely programu Bundler je nezbytné aby fotografie byly opatřeny EXIF informacemi, ze kterých aplikace získá podrobnosti o optice fotoaparátu, ze kterého bylo foceno. Díky aplikací PMVS nemusíme vyřazovat fotografie obsahující nestatické objekty, tj. například lidi, auta, cyklisty. Velikost fotografií je nejlepší ponechat původní. Zpracování je pak sice výpočetně i časově náročnější, ale zato rekonstrukce scény by měla být mnohem přesnější. Pokud experimentujeme může být kvůli rychlé zpětné vazbě vhodné velikost fotografí zmenšit a případně také vyřadit ze zpracování některé nadbytečné snímky. Dalším krokem je již spuštění programu Bundler. Spouští se pomocí shellového skriptu RunBundler.sh dodávaného v distribuci aplikace. Skript zajistí nezbytnou přípravu zahrnující zjištění optiky fotoaparátu pomocí EXIF informací uložených ve fotografiích, detekci významných bodů pomocí algoritmu SIFT, a následná identifikace shodných významných bodů mezi různými fotografiemi. Po předzpracování sady fotek se konečně spustí samotná aplikace Bundler, které skript předá právě zjištěné informace o optice, a dále nalezené shody významných bodů mezi fotografiemi, společně s nastavením řídícím další zpracování. Bundler spočítá umístění významných bodů a kamer v 3D prostoru a výsledek vrátí. Následně se spustí nástroj Bundle2PMVS, který výstup z Bundleru převede na formát kompatibilní s formátem očekávaným na vstupu PMVS. Nástroj vytvoří shellový skript který provede nezbytnou přípravu fotek pro další krok. Pokračuje se spuštěním aplikace CMVS, která množinu obrázků rozdělí na menší kousky. Tyto kousky je možné zpracovávat nezávisle, lze tedy případně využít síly více strojů běžících paralelně. Na jednom počítači se však pokračuje nástrojem genoption, který vytvoří shellový skript automatizující spuštění PMVS a sjednocení clusterů. 7
22 8 KAPITOLA 3. ANALÝZA Jakmile PMVS dokončí svou práci pokračuje se obvykle zkoumáním výsledků v aplikacích jako Meshlab. Výsledný model lze dále upravovat například pomocí Poissonovy rekonstrukce do polygonů. 3.2 Fungování podpůrných aplikací SIFT SIFT je zkratka názvu algoritmu Scale-invariant feature transform. Tento algoritmus se především v oboru počítačového vidění používá k detekci významných bodů v obrázku. Algoritmus vytvořil v roce 1999 kanadský vědec David Lowe. 1. Algoritmus zpracovává fotku čtyřmi hlavními kroky. První fáze nazývaná detekce extrémů nezávislých na velikosti (anglicky: Scaleinvariant extrema detection) zajístí vybrání prvních kandidátů na významné body. Stejný obrázek nejprve rozmaže pomocí Gaussových filtrů s různou intenzitou. Tím vznikne několik variant obrázků rozmazaných postupně čím dál víc. Dále se vypočítá rozdíl mezi dvěmi rozmazanými obrázky (jeden silněji rozmazaný a druhý slaběji), v algoritmu nazývaný jako Difference of Gaussian (DoG). Kandidáti na významné body pak vyberou jako lokální minima a maxima rozdílových DoG obrázků. Výběr se provádí pro každý pixel DoG obrázku tak, že se porovná s osmi sousedy svého obrázku a zároveň s devíti sousedícími pixely postupně na všech dalších DoG (které reprezentují zbývající úrovních rozmazání původního obrázku). Pokud je hodnota pixelu nějvětší nebo nejmenší mezi všemi ostatními porovnávanými pixely, pak je bod vybrán jako významný. Druhou fází je lokalizace významných bodů (anglicky: Keypoint localization), která se postará o zužení výběru významných bodů, tak aby zůstaly jen ty stabilní. Pro každého kandidáta se určí pozice pomocí interpolace jeho sousedních bodů. Pokud se zjistí, že bod leží velmi blízko jiného kandidáta, pak se bod zahodí a test se spustí znova od tohoto blízkého kandidáta. V opačném případě bod zůstává v množině kandidátů. Dále se v této fázi vyřadí body zastupující místa obrázku s nízkým kontrastem. Třetí fáze přiřazení orientace bodů (anglicky: Orientation assignment) učiní bod nezávislým na natočení obrázku. Přiřadí každému bodu orientaci podle toho, kterým směrem je v místě bodu na obrázku nasměrován přechod barev. Čtvrtá fáze výpočet deskriptoru pro významný bod (anglicky: Obtaining keypoint descriptor) slouží k vytvoření unikátního identifikátoru bodu. Identifikátor bude vyjadřovat směr, umístění a velikost. Nyní je tento bod vybavený deskriptorem výborně odlišitelný od ostatních a zůstává také částečně nezávislý na vlivu osvětlení a deformace v 3D prostoru Bundler Bundler je aplikace pro rekonstrukci umístění kamer v 3D prostoru z množiny neuspořádaných obrázků. Autorem je Noah Snavely, který tento software napsal pro svůj projekt Photo Tourism. 1 Object recognition from local scale-invariant features
23 3.2. FUNGOVÁNÍ PODPŮRNÝCH APLIKACÍ 9 Jde o implementace principu structure-from-motion, který v oboru počítačového vidění označuje postupy pro nalézání trojdimenzionálních objektů v signálech a strukturách reprezentujících pohyb. Na vstupu aplikace očekává cestu ke zpracovávaným obrázkům, informace o šířce CCD čipu fotoaparátu, který snímky pořídil, dále významné body detekované pomocí SIFT algoritmu, a konečně vztahy mezi obrázky zjištěné pomocí KNN (k nejbližších sousedů) algoritmu. Výstupem je shluk rozptýlených významných bodů a rekonstruované umístění kamer v 3D prostředí. Bundler rekonstruuje scénu přírustkově, tj. zpracovává se jen několik obrázků současně. Uvnitř Bundler postupuje tak, že vybere několik podobných (blízkých) významných bodů a provede nad nima operaci RANSAC. Tím se určí 3D umístění významných bodů a umístění fotoaparátu. Příslušný paprsek pohledu z místa odkud byla fotografie focena se pak musí protnout v určitém 3D bodě s paprskem pohledu z místa pořízení druhé fotky, která obsahuje stejný právě analyzovaný významný bod jako fotografie druhá. Poté jsou zjištěné informace o pozicích kamer přidáný do výsledného modelu scény. Takto postupně (pár obrázků současně) se pokračuje v identifikaci pozic kamer dokud nejsou zpracovány všechny významné body PMVS PMVS neboli patch based multi-view stereo je program, který pomocí sady obrázků a informací o nastavení kamer (výstup Bundleru) dokáže rekonstruovat 3D strukturu objektů nebo scény zaznamenané na obrázcích. PMVS rekonstruuje pouze statické objekty. Proměnlivé objekty (například auta nebo chodci) jsou ignorovány. Vnitřní logika dokáže urychlit výpočty pokud jsou známy informace o viditelnosti (které obrázky vidí společné body povrchu) z SfM aplikací. PMVS je výborně propojitelná s programem Bundler. Bundler ve své distribuci obsahuje nástroj, kterým lze převést jeho výstup na vstup očekávaný v PMVS CMVS CMVS řeší problém škálovatelnosti pro multi-view stereo aplikace, především pro PMVS. Program postupuje tak, že rozdělí množinu zpracovávaných obrázků na menší části (clustery) a ty se pak nechají v MVS aplikaci zpracovat samostatně. Pokud je k dispozici více strojů, lze nechat úlohu řešit paralelně a dosáhnout tak daleko rychlejšího zpracování. Tvůrci aplikace doporučují 2 používat CMVS po zpracování sady Bundlerem a před PMVS. A to i když je počet obrázků malý, protože PMVS, pokud využívá clustery, poběží vždy rychleji a dodá přesnější výsledky. Vytváření clusterů z množiny obrázků odstraňuje nadbytečné obrázky, které nejsou potřebné pro MVS rekonstrukci. Toto opět zrychlí proces PMVS a zlepší přesnost rekonstrukce. Nadbytečné obrázky bez dostatečné baseline degradují přesnost rekonstrukce. Dalšího zrychlení je možné dosáhnout pomocí souboru vis.dat, který CMVS vytváří a který obsahuje informace o sousedních obrázcích (zjištěné KNN algoritmem). 2
24 10 KAPITOLA 3. ANALÝZA 3.3 Průzkum možností technologií používaných při realizaci Sítě pro sdílení obrázků Flickr Flickr je jednou z nějvětších sociálních sítí pro sdílení fotografií. Vývojářům poskytuje kvalitní API, které je velmi dobře zdokumentováno, poskytuje interaktivní pískoviště, kde je možné si vše okamžitě vyzkoušet. Výhodou je také existence otevřených nádstaveb API pro mnoho programovacích jazyků. Pro komunikaci s rozhraním je k dispozici široká škála podporovaných protokolů. Dotazovat se lze pomocí REST, XML-RPC a SOAP. Odpověď na požadavek lze získat opět v REST, XML-RPC a SOAP, ale navíc je možné využí formátu JSON, případně serializovaného řetězce pro PHP. Formát odpovědi se v požadavku určuje argumentem format. Všechny požadavky do API vyžadují dva nezbytné argumenty. Prvním je method značící volanou metodu a druhým je api"_"key pro API klíč komunikující aplikace. Dokumentace upozorňuje na skutečnost, že identifikátory všech objektů jsou řetězce a proto by neměly být přetypovávany na číslo. Zatím jsou identifikátory většinou čísla, ale to se může v budoucnu změnit. Dále tvůrci deklarují, že všechna data v komunikaci budou zakódována v kódování UTF-8. API umožňuje navázat ověřené spojení přihlášením přes Authentication API. Aplikace po přihlášení obdrží token a podpis, který musí předávat v každém dalším požadavku. Výhodou je pak přístup k fotkám spřátelených účtů. Pro účely bakalářské práce však přihlášení nemá velký význam, protože pokud by nebyl k dispozici účet s velkým množstvím přátel, nenalezlo by se o mnoho více fotek než při neautorizovaných požadavcích. Pro komunikaci s rozhraním v jazyce Java, existují dvě implementované open-source nádstavby (Flickrj a Jickr), avšak jsou již neudržované a místy lehce zastaralé (zvláště v části pro vyhledávání). Bakalářská práce si pro odesílání požadavků vystačí s principem REST, který je založen na zakódování požadavku přímo do URL. V javě lze odpověď jednoduše přečíst přes BufferedStream. Nejvhodnějším formátem odpovědi bude JSON čitelný v javě například prostřednictvím jednoduché nenáročné knihovny Json Simple Google Image Search a Facebook Nabízelo se také využití databáze některých jiných gigantů na poli sdílení fotek. Databáze Google Image Search by měla obsahovat všechny obrázky veřejně dostupné na internetu. K dispozici je také kvalitně zdokumentované rozhraní s principy fungování podobnými rozhraní Flickru. Datáze fotek na Facebooku přes svoji lákavou rozsáhlost zůstává volnějšímu vyhledávání uzavřena. Nabízejí také velmi dobré API, avšak umožňující přistupovat pouze fotkám předem známé stránky či uživatele, nedovoluje vyhledávat podle klíčových slov. Podobně funguje také služba Google Picasa Web. 3
25 3.3. PRŮZKUM MOŽNOSTÍ TECHNOLOGIÍ POUŽÍVANÝCH PŘI REALIZACI 11 Bakalářská práce bude počítat s návrhem tak, aby bylo možné postupem času přidat kromě Flickru i další služby. Flickr působí jako nejlepší kandidát, protože jeho uživatelé obvykle fotí cíleně a rádi, obvykle slouží také jako galerie vzpomínek na dovolené, proto lze předpokládat, velké množství dobrých fotek turisticky atraktivních míst Guice Nástroj Guice pro správu závislostí objektů v jazyce Java vyvinuli vývojáři společnosti Google. Jde o nástroj zajišťující v Javě podporu principu dependency injection pomocí anotací. Princip dependency injection (DI) tkví v tom, že vyžadovaný objekt je úsporně uchován v nějakém repozitáři a v případě, že je objekt požadován na určitém místě kódu, pak je na toto místo automaticky podsunut, takže tento místní kód může počítat s příslušnou instancí objektu. Obvykle lze také nastavit okruh platnosti ve kterém může stejná instance stále fungovat, například request, session, singleton a další. Odprosťuje od nutnosti používat pro vytváření instancí tříd operátor new nebo továrny. Výhodou je skutečnost, že třídy pak nejsou tolik svázané k sobě a tím pádem i snadněji rozšiřitelné a upravitelné. Pokud například třída implementuje určité rozhraní a v jiná třída na tomto rozhrání závisí, pak je nutné objektu této třídy nějak předat instanci, která toto rozhraní podporuje. Obvykle se toto činí pomocí operátoru new následovaného jménem specifické třídy implementující příslušné rozhraní. Pokud je toto nutné provést na více místech, hrozí do budoucna riziko, že v případě nutnosti výměny této specifické třídy za jinou, bude nutné projít postupně všechna místa v kódu a upravit je. Další vyhodou je podpora okruhu platnosti objektu. Pak je možné například vytvořit z obyčejné nestatické třídy objekt typu singleton a používat jej takto v části kódu, kde je takové chování příhodné. V jiné části kódu se může chovat opět jako klasická instance třídy s platností omezenou blokem, ve kterém je definovaná. Princip dependency injection je také velká výhra pro testování softwaru. Pokud například v některém unit testu potřebujeme nasimulovat chování závislého objektu, můžeme vytvořit vlastní testovací (mock) implementaci splňující rozhraní očekáváné v závislém objektu. Pomocí Guice ji podsunout všem potřebným objektům a pak už jen testovat chování. Guice funguje tak, že se vytvoří třída nazývaná modul, ve které se upřesní vztahy používaných typů k instancím. Například pokud máme navržené určité rozhraní, a k němu naimplementovanou třídu, pak v modulu pro Guice propojíme rozhraní s implementací a případně nastavíme nějaký okruh platnosti (třeba singleton). Když pak nástroji Guice řekneme, aby nám, s pomocí námi vytvořeného modulu, zajistil instanci požadovaného typu - Guice zjistí které instance je na typ napojena a tuto instanci vrátí (nebo případně vytvoří, pokud ještě nebyla). V takto vytvořených objektech jsou pak automaticky podsunuty instance pro proměnné (nebo argumenty metod) označené Operační systém Nástroje pro rekonstrukci Bundler a MVS jsou silně svázány s platformou Linux. Ve zdrojových kódech lze například nalézt několik závislostí na linuxové chování adresářové struktury.
26 12 KAPITOLA 3. ANALÝZA Přesto Bundler je možné spustit i pod operačním systémem Windows pomocí programu Cygwin, který simuluje linuxové prostředí.
27 Kapitola 4 Návrh a realizace 4.1 Architektura Architektura aplikace je třívrstvá - rozdělená do uživatelského rozhraní, byznys logiky a podpůrných aplikací. Byznys logika aplikace bude tvořena třemi hlavními částmi. Na obrázku jsou barevně odlišeny. Fialová barva označuje komponenty zajišťující 3D rekonstrukci. Béžovou barvou je vyznačená část upravující nebo pracující s obrázky. A poslední část obarvená zeleně má na starosti procesy kolem vyhledávání a následného stahování. Komponenty Downloader, Editor, MVS a SFM jsou proti ostatním vyjímečné tím, že jejich výpočetně náročná činnost je přesunuta do samostatných vláken, takže neblokují kód, který je volal. Volající kód pak bude v případě potřeby sám zjišťovat zda byla činnost dokončena. Tyto komponenty také poskytuj možnost naslouchat jejich vnitřním změnám, prostřednictvím mechanismu Observer-Observable. Rozhraní Observable je implementováno již v základní třídě BaseBusiness všech tříd byznys vrstvy, protože je předpoklad, že uživatelské rozhraní bude zajímat aktualizace stavu byznys vrstvy okamžitě. Uživatelské rozhraní bude tvořit okno s ovládacím menu a prostorem nazývaným epicentrum, které bude sloužit pro umístění obrazovek právě prezentovaných uživateli. 4.2 Deploy model Aplikace bude běžet v linuxovém prostředí na platformě Java 6. Před spuštěním částí aplikace s 3D rekonstrukcí je potřeba mít v operačním systému nainstalovanou knihovnu liblapack3gf, kterou program Bundler využívá pro matematické výpočty. Dále je potřeba zkopírovat do sdíleného adresáře knihoven s aplikací dodanou knihovnu libann"_"char.so, zajišťující v Bundleru porovnávání významných bodů. Dále v případě, že uživatel hodlá využívat vyhledávání fotek na internetu, je nutné aplikaci povolit HTTP přístup k serverům společnosti flickr.com. 13
28 14 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.1: Architektura aplikace a rozložení komponent.
29 4.3. MODEL TŘÍD A ENTIT 15 Obrázek 4.2: Diagram nasazení 4.3 Model tříd a entit Byznys vrstva Hlavní logika aplikace je organizována do balíčků podle druhu zaměření. Veškeré třídy obstarávající vyhledávání, zpracování obrázků, stahování obrázků, 3D rekonstrukci nebo nastavení jsou soustředěny do samostatných balíčků. Návrh řídících tříd ctí princip návrhu chování přes rozhraní a pak následnou implementaci tohoto chování v třídě. V celém kódu se bude důsledně dodržovat ukládání instancí právě do těch rozhraní, které jsou v tom momentě potřeba. Uložit instanci třidy do specifického typu této třídy lze použít jen při testování. Pokud mají nějaké závislosti na jiných třídách byznys vrstvy, pak pokud je to jen možné, se využije připraveného dependency-injection mechanismu pro podsunutí správné instance. Třída BaseBusiness bude tvořit jádro všech řídících tříd vrstvy. Obsahuje již naimplementované metody rozhraní Observable, takže je připravena rozesílat registrovaným posluchačům, zprávy o aktualizaci dle potřeby. V rámci byznys vrstvy tento návrhový vzor využijí třídy DownloadManager a Editor, které spolupracují na zpracování stahovaných obrázků. Balíček download se stará o plynulé stahování požadovaných obrázků. Obrázky plánované ke stažení se kumulují do fronty a po spuštění stahování se začnou postupně stahovat. Obrázek se do fronty zařadí v přestrojení za objekt DownloadItem, který sebou nese URL adresu cíle, umístění kam se obrázek bude lokálně stahovat a v neposlední řadě údaj o stavu stahování tohoto obrázku. Stav stahování položky může nabývat čtyř možností: waiting, který se přiřazuje nově příchozím obrázkům, dále downloading pro právě stahované, pak finished pro
30 16 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.3: Model tříd, Přehled tříd byznys vrstvy úspěšně stažené obrázky a nakonec skipped pro položky které z nejrůznějších důvodů nebyly staženy v pořádku, nebo byly po stažení rozpoznány jako zbytečné. Samotný proces stahování dat obrázků z internetu probíhá v samostatném vlákně. To proto, aby nezpomaloval chod dalších částí aplikace. Metodou start je vytvořeno nové vlákno vždy když jsou položky ke stažení a vlákno ještě nebylo vytvořeno. Metodou stop se vlákno zruší a tím se i zastaví proces stahování. Pokud byla stahovaná položka právě na půli cesty, nemá ještě nastavený stav finished, takže bude při opětovné startu stahování stažena celá od znova. Balíček images se postará o všechy činnosti týkající se zpracování fotek. Obsahuje třídu Editor, která se fungováním dosti podobá tříde DownloadManager. Totiž, Editor slouží opět k zajištění plynulé úpravy fotek na pozadí mimo ostatní procesy. Rozhraní ImageManager popisuje její implementaci BasicImageManager souhrn služeb, které musí být schopná zajistit. Jde o změnu velikosti fotky pomocí nástroje mogrify, spočtení významných bodů pomocí algoritmu SIFT, pomůcky pro zjištění zda pro obrázek soubor s vypočtenými body již existuje. Mimo to, ji byla také svěřena detekce informací o šířce CCD čipu fotoaparátu, který zpracovávaný snímek pořídil. Databáze informací o CCD čipech lze za běhu aplikace rozšiřovat, a proto musí být uchovávána do souboru, aby je bylo možné načíst po opětovném spuštění aplikace. Návrh balíčku pro vyhledávání počítá již od základů s možným rozšířením o další vyhledávací služby. Proto je algoritmus dotazování vyhledávače vytažen do samostatné třídy SearchEngine a dotazování je na něj delegováno z třídy ImageSearch, která slouží k uchovávání a tvoření aktuálního vyhledávacího dotazu. Třída SearchEngine poskytuje také metody pro zjištění URL k obrázku. Lze získa zvlášť URL pro náhled, pro obrázek střední velikost a pro obrázek v původní velikosti.
31 4.3. MODEL TŘÍD A ENTIT 17 Obrázek 4.4: Model tříd, balíček downloader
32 18 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.5: Model tříd, balíček images Balíček pro první fázi 3D rekonstrukce structure from motion zahrnuje implementaci nádstavby nad aplikací Bundler. Fungování třídy Bundler je z výkonostních důvodů opět navrženo tak, aby bylo spuštěno v samostatném vláknu a nezatěžovalo tak zbytek systému. Třída kompletně zastupuje skript RunBundler.sh, distribuovaný s programem Bundler. Automaticky zajistí přejmenování přípon na malá písmena, dále vytvoří soubory s informacemi o optice fotoaparátů, provede nalezení shodných významných bodů a nakonec spustí samotný Bundler. Balíček mvs se stará o druhou fázi 3D rekonstrukce multi-view stereo. Třída je Basic- MultiViewStereo bude implementována opět tak aby časově náročná část procesu běžela v samostatném vlákně. Třída si klade za cíl zastoupit shelové skripty v původní distribuci programů PMVS a CMVS. Třídu Settings hojně využívají třídy byznys vrstvy, které závisejí na nějaké externí aplikaci. Totiž, právě prostřednictvím této třídy lze zjistit cestu k příslušné aplikaci. Nastavení těchto cest lze prostřednictvím uživatelského rozhraní kdykoli změnit. Třída nastavení automaticky ukládá do souboru, takže zvolené volby zůstanou i po opětovném startu aplikace. Balíček tools obsahuje nástroje plnící rutiní procedury používané hojně napříč všemi částmi aplikace. Třídy tohoto balíčku se vyznačují svou statickou implementací. Jde totiž o jednoúčelové příkazy, proto byl tento způsob implementace považován za nejvhodnější. Třída FileHelper obsahuje funkce pro usnadnění manipulace se složkami, soubory, jejich sestami a příponami. Dále je schopná kopírovat a binárně porovnávat soubory. Třída OS umožňuje identifikovat operační systém. Třída StreamHelper zajišťuje snadnou manipulaci s proudy (nyní jen se vstupními proudy). Součásti balíku jsou také vlastní volnější implementace návrhového vzoru Observer- Observable. U standartní javovské implementace těchto vzorů překážela nutnost dědit od
33 4.3. MODEL TŘÍD A ENTIT 19 Obrázek 4.6: Model tříd, balíček search
34 20 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.7: Model tříd, balíček SFM
35 4.3. MODEL TŘÍD A ENTIT 21 Obrázek 4.8: Model tříd, balíček MVS
36 22 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.9: Model tříd, balíček settings Obrázek 4.10: Model tříd, balíček tools
37 4.3. MODEL TŘÍD A ENTIT 23 Obrázek 4.11: Model tříd UI, obecné třídy třídy Observable. Avšak nejdůležitější součástí je třída DI, zabalující rozhraní dependency-injection frameworku Guice do jedné třídy. Usnadňuje tak potom ovládání frameworku zejména nutností psát menší počet znaků Uživatelské rozhraní Uživatelské rozhraní je navrženo tak, aby bylo možné snadno, operativně a odkudkoli vyslat příkaz ke změně obrazovky za jinou. Centrem je hlavní okno MainWindow, které kromě ovládacího menu, drží také instanci JPanel nazývanou epicentrum. Do tohoto epicentra se vždy načte aktuální požadovaná obrazovka. Pomocí metod changeepicenterto lze změnit aktuální obrazovku. Tato metoda má specifikum v tom co provádí před změnou a po změně obrazovky. Totiž, přijímá pouze typ BaseUi, který dedí všechny třídy uživatelského rozhraní objevující se v epicentru, a tato třídá poskytuje metody init, start a close, které metoda changeepicenterto volá postupně: close při zrušení aktuální okna, init pro inicializaci okna, a po přiřazení do epicentra zavolá start. Díky těmto metodám, lze ovlivňovat spuštění nějaké činnosti pravě v okamžiku kdy je to vhodné. Například pomocí start a close se registrují a ruší obrazovka jako posluchač v příslušných třídách implementující Observable. Ještě by bylo vhodné zmínit, že je to právě metoda changescreen tříd BaccordApp přes, kterou se obrazovky mění. Jde o třídu typu singleton, takže je jediná instance dostupná vždy všude. Zde tato skutečnost nevadí, protože aplikace bude mít vždy jen jediné okno. Tato třída drží instanci na MainWindow. Metoda changescreen vždy požádá dependency-injection framework o instanci obrazovky a následně instanci uloží do epicentra MainWindow. Role DI frameworku zde, hraje důležitou roli protože, díky ní zde budou naplněny místa označená Univerzální třídou je Dialog, která poskytuje rychlý přístup k vytvoření okna s upozorněním nebo zprávou. Mimo to také dokáže vyvolat formulář pro zadání cesty k souboru či adresáři a vybraný adresář pak vrátit. Implementace tříd obrazovek pro vyhledávání a stahování již hojně využívá DI frameworku pro doplnění instancí požadovaných tříd z byznys vrstvy. Předávání dat z formulářových políček do objektů byznys vrstvy probíhá obvykle v okamžiku stisknutí tlačítka
38 24 KAPITOLA 4. NÁVRH A REALIZACE Obrázek 4.12: Model tříd UI, třídy pro vyhledávání a stahování určeného pro odeslání nebo potvrzení akce. Informace z formuláře je předáná vždy přímo do byznys vrstvy. Po změně obrazovky je informace v případě potřeby z byznys objektu opět načtena. Zde stojí za zmínku třída SingleResult, která ve vyhledávání reprezentuje jeden nalezený obrázek. Je schopná držet stav o tom zda je nebo není označená. Tento stav také vizuálně prezentuje, díky přetížení metody paint. Třída ImagesDownloadProgress ukazuje napojení na DownloadManager pomocí mechanismu Observer-Observable. Proto okamžitě, když se změní stav stahované položky, bude o této změně upozorněna i třída ImagesDownloadProgress. Diagram znázorňuje dohromady dvě velmi podobné části reprezentující implementaci uživatelského rozhraní pro ovládání 3D rekonstrukce. Třídy s příponou Setup vždy předají nastavení do příslušného byznys objektu, tj. buď implementace StructureFromMotion nebo MultiViewStereo. Po stisknutí tlačítka pro běh se obrazovka změní obrazovku s informacemi o průběhu zpracování. Obrazovky implementují rozhraní Observer a proto mohou sledovat aktuální zprávy z průběhu 3D rekonstrukce. 4.4 Jednotkové testovaní Vývoj byznys vrstvy provázelo od začátku testování správného fungování často používaných součástí. Zejména balíček tools s nástroji bylo nutné důkladně otestovat. Dalšími otesto-
39 4.4. JEDNOTKOVÉ TESTOVANÍ 25 Obrázek 4.13: Model tříd UI, třídy PMVS a CMVS vanými částmi byl správce stahování obrázků, nástroj pro vyhledávání a třída pro úpravu fotografií. Otestování těchto tříd pomocí unit testů bylo místy poměrně zapeklité, ale vyplatilo se. Není tak potřeba například ručně zkoušet pouštět změnu velikosti fotografie nebo kontrolovat výsledek vyhledávání. Vývoj souběžně s testováním dodává vývojáři mnohem větší jistotu o správném fungování otestovaných součástí a může se tak soustředit na hledání chyb jinde, často právě v neotestovaných místech aplikace. Bohužel některé místa jsou na testování opravdu náročná. Zejména ověření správného fungování částí, které která závisejí na externích programech a jsou pro vývojáře do určité míry černou skřínkou. Dalším problémovou oblastí testování je unit testing uživatelského rozhraní. Přesto pro webová prostředí jsou známy nástroje (např. Selenium), které tuto činnost zpříjemňují. Pro desktopová prostředí, jsem bohužel nenalezl vhodný nástroj. Výhodou je, že ruční testování má zde velmi rychlou zpětnou odezvu, takže je možné změny dělat operativněji.
40 26 KAPITOLA 4. NÁVRH A REALIZACE
41 Kapitola 5 Testování 5.1 Experimenty s vlastnoručně nafocenými fotkami Vybral jsem si konvici a umístil na stůl. Konvici jsem nafotil ze všech stran, tak aby se fotky vzájemně překrývaly. V počítači jsem fotky zmenšil na maximálně 1024px v každé straně. Dále jsem přidal informace o optice mého fotoaparátu do souboru extract"_"focal.pl. Bundler, CMVS i PMVS fotky zpracovali bez problému. Zkoušel jsem podobný experiment ještě s houslemi, u kterých jsem ale stál na jednom místě a postupně otáčel houslemi. Rekonstrukce se, ale bohužel nezdařila. Pravděpodobně kvůli tomu, že jsem během otáčení houslemi hýbal s houslemi vůči rigidnímu pozadí příliš moc a tak software bral významné body na houslích za nerigidní a tedy je ze zpracování odstranil. 5.2 Experiment s daty staženými z internetu Zde jsem bohužel neuspěl. Jediné fotky stažené z Flickru, které obsahují EXIF informace jsou totiž fotografie v původní velikosti. Problémem je, že většina uživatelů si původní velikosti Obrázek 5.1: Testování, Čajová konvice 27
42 28 KAPITOLA 5. TESTOVÁNÍ Obrázek 5.2: Testování, Srní, meshlab fotek zamyká a jsou tak nedostupné ke stažení. Zkoušel jsem stahovat fotografie zachycující Orloj na Staroměstském náměstí, bohužel však výsledná rekonstrukce tvořila jeden dlouhý pruh bodů. 5.3 Experiment s daty od vedoucího BP Fotografie domu jsem nejprve ručně příkazem mogrify zmenšil na velikost 800x600 a poté fotografie otevřel v aplikaci a nechal spustit fázi structure-from-motion. Rekonstrukce umístění kamer a významných bodů se povedla, proto jsem se přepnul do příkazové řádky a spustil ručně fázi MVS. Podařilo se rekonstruova jednu stěnu budovy. 5.4 Experiment s testovacími obrázky z distribuce Bundleru Fotografie jsem bez změn otevřel v aplikaci a spustil 3D rekonstrukci. Poté opět jako u předchozího experimentu jsem ručně provedl druhou fázi.
43 5.4. EXPERIMENT S TESTOVACÍMI OBRÁZKY Z DISTRIBUCE BUNDLERU 29 Obrázek 5.3: Testování, Srní, fotografie Obrázek 5.4: Testování, Kermit, meshlab
44 30 KAPITOLA 5. TESTOVÁNÍ Obrázek 5.5: Testování, Kermit, fotografie
45 Kapitola 6 Závěr Téma 3D rekonstrukce bylo velmi zajímavé a pro mě dříve neutušená oblast počtačové vědy, o kterou s budu pravděpodobně zajímat i v budoucnu. Během analýzy aplikací Bundler a MVS jsem nasbíral také mnoho zkušeností s kompilováním těchto aplikací. Odhalil jsem také některé chyby v původním kódu, které bránily spuštění. Vývoj aplikace provázela místy překvapení, jak některé části fungují proti mým očekáváním. Zejména u nástroje pro stahování obrázků z Flickru bylo nemilé překvapení, že potřebné EXIF informace s sebou nesou pouze orignální verze fotografií (nikoli ty zmenšené), což si vyžádalo nepříliš elegantní opravu, která nyní stahování fotek trochu zdržuje. Bohužel se mi nepodařilo stihnout implementovat část zajišťující MVS rekonstrukci, proto jsem tyto části zatím prováděl ručně pomocí příkazové řádky. Řešení se mi bohužel nepodařilo otestovat na sadách stažených z internetu, protože snímky často neobsahovaly potřebné EXIF informace nebo se jich mnoho nepodařilo stáhnout a aplikace tak neměla dostatek fotografií pro rekonstrukci. Nicméně aplikaci se podařilo úspěšně spustit na vzorovém příkladu z původní distribuce Bundleru a na množině fotek Srní dodané vedoucím práce. Architektura aplikace byla navržena s ohledem na modularitu závislých aplikací a na možnou budoucí rozšířitelnost dalších vyhledávačů obrázků. Práci by v budoucnu mohlo být dobré vylepšít tak aby dokázala přes síť spolupracovat s dalšími instalacemi této aplikace a spolupracovat tak na paralelním zpracování 3D rekonstrukce. 31
46 32 KAPITOLA 6. ZÁVĚR
47 Příloha A Seznam literatury Ambler, Scott W. The Object Primer - third edition, Cambridge university press, ISBN Agarwal; Furukawa; Snavely; Curless; Sietz; Szeliski; Reconstructing Rome, IEEE Computer Society Goesele; Ackermann; Fuhrmann; Klowskz; Langguth; Mucke; Scene Reconstruction From Community Photo Collections, IEEE Computer Society 33
48 34 PŘÍLOHA A. SEZNAM LITERATURY
49 Příloha B Seznam použitých zkratek SIFT Scale-invariant feature transform DoG Difference of Gaussians SFM Structure from motion PMVS Patch based multi-view stereo CMVS Clustering views for multi-view stereo KNN K-Nearest Neighbors algorithm API Aplication Programming Interface SOAP Simle Object Access Protocol XML-RPC Remote procedure call based on XML JSON JavaScript Object Notation PHP PHP: Hypertext Processor REST Representational State Transfer GPS Global position system URL Uniform resource locator. 35
50 36 PŘÍLOHA B. SEZNAM POUŽITÝCH ZKRATEK
51 Příloha C UML diagramy Obrázek C.1: Analýza, Vztahy mezi soubory, které zpracovává Bundler 37
52 38 PŘÍLOHA C. UML DIAGRAMY Obrázek C.2: Analýza, Závislosti Bundleru Obrázek C.3: Analýza, Závislosti CMVS
53 39 Obrázek C.4: Analýza, Závislosti PMVS Obrázek C.5: Případy užití, hlavní
54 40 PŘÍLOHA C. UML DIAGRAMY Obrázek C.6: Případy užití, stahování Obrázek C.7: Případy užití, multi-view-stereo
55 41 Obrázek C.8: Případy užití, výběr fotek Obrázek C.9: Případy užití, vyhledávání
56 42 PŘÍLOHA C. UML DIAGRAMY Obrázek C.10: Případy užití, structure from motion
57 Příloha D Instalační a uživatelská příručka D.1 Instalace Aplikace je prozatím otestovaná pouze na opearčním systému Linux Ubuntu (32b). Pro úspěšný běh aplikace je potřeba provést následující příkaz. Slovo HOME vyjadřuje adresář kde je aplikace nainstalována. sudo apt-get install liblapack3gf sudo cp HOME/lib/libANN_char.so /usr/local/lib sudo ldconfig /usr/local/lib D.2 Popis obrazovek Organizace uživatelského rozhrání vychází z nezávislosti jednotlivých dílčích aplikací. Každá z částí může být použita nezávisle na ostatních. Například je možné použít program jen na stažení fotek, případně rovnou přeskočit ke generování pomocí MVS pokud máme vstup již připraven odjinud. Proto jsem zvolil navigaci ve formě záložek. Navigace bude vždy viditelná v horní části okna aplikace. Podle zvolené záložky se načte odpovídající uživatelské rozhraní do prostoru epicentra aplikace. D.2.1 Dashboard Dovede uživatele provést výběrem skupiny fotek, která se později použije pro generování 3D modelu. Nejjednodušší možnost je vybrat některou složku na disku. Další možností je najít fotky na internetu (např. na Flickru) a vhodné fotky uložit na disk. Pro usnadnění používání aplikace umožňuje vybrat přímo některé z nedávno použitých klíčových slov, nebo některou z posledně použitých složek. D.2.2 Search query Umožňuje nastavit žádaná klíčová slova, gps souřadnice, omezení data podle kterých se budou fotky vyhledávat. Lze také nastavit zda rovnou při stahování provést SIFT algoritmus a změnu velikosti fotografie. 43
58 44 PŘÍLOHA D. INSTALAČNÍ A UŽIVATELSKÁ PŘÍRUČKA Obrázek D.1: UI, Dashboard Obrázek D.2: UI, Search query
59 D.2. POPIS OBRAZOVEK 45 Obrázek D.3: UI, Search results D.2.3 Search results Jakmile aplikace dostane odpověď od serveru, na kterém se fotky hledaly, zobrazí náhledy obrázků. Počet vrácených obrázků na dotaz lze upravit roletkou nahoře. Hned vedle roletky je tlačítko umožňující uživateli vrátit se zpět k zadání/upřesnění vyhledávacího dotazu. Všechny vypsané obrázky jsou standartně označeny ke stažení. Kliknutím na náhled obrázku bude dříve určený obrázek ke stažení ze stažení vyjmut. Opětovným kliknutím pak lze obrázek opět zařadit mezi stahované. Stažení a vrácení dalších výsledků na dotaz je sloučeno pro uživatele do jednoho tlačítka uplně dole. Napravo je přehled právě stahovaných nebo stažených obrázků. D.2.4 Download Uživatel zde může sledovat stav stahovaných obrázků. D.2.5 SFM Setup Před spuštěním samotného structure-from-motion programu Bundler je potřeba upřesnit složku s obrázky, které bude Bundler zpracovávat. Toto je nutné nastavit pouze pokud uživatel přeskočil sekci Pick Photos (předchozí záložka). Pokud uživatel souhlasí aplikace vyčistí složku a nechá tam jen obrázky. Poslední důležitou částí je prostor pro úpravu parametrů, které se předávají programu Bundler při spuštění - zde lze upravit libovolný argument, který Bundler přijímá.
60 46 PŘÍLOHA D. INSTALAČNÍ A UŽIVATELSKÁ PŘÍRUČKA Obrázek D.4: UI, Download progress Obrázek D.5: UI, SFM setup
61 D.2. POPIS OBRAZOVEK 47 Obrázek D.6: UI, SFM running D.2.6 SFM running Obrazovka informuje uživatele o provedených úkonech a o aktuálním průběhu zpracování fotek. Uživatel má možnost proces zastavit a vrátit se k předchozímu kroku nastavení. Po dokončení práce Bundleru se úplně dole pod výpisem průběhu prací aktivují tlačítka - první nalevo pro otevření adresáře s výsledky a druhé napravo pro přesun k dalšímu kroku (MVS). D.2.7 MVS V případě, že uživatel nezpracovával fotky pomocí sekce SFM, pak musí upřesnit adresář s výsledky zpracování fotek přes Bundler. Další části obrazovky obsahují výchozí nastavení parametrů pro programy CMVS a PMVS (potažmo genoption, který připravuje dávku příkazů využívající PMVS). D.2.8 Settings Sekce sloužící pro definování výchozích voleb používaných v aplikaci. Například cesty k programům Bundler, PMVS, CMVS, detektoru významných bodů.
62 48 PŘÍLOHA D. INSTALAČNÍ A UŽIVATELSKÁ PŘÍRUČKA Obrázek D.7: UI, MVS Obrázek D.8: UI, Settings
Obsah. Kapitola 1 Stažení a instalace... 13. Kapitola 2 Orientace v programu a základní nastavení... 23. Úvod... 9
Obsah Úvod......................................................... 9 Co vás čeká a co GIMP umí............................................... 9 Co s GIMPem dokážete?............................................................10
BankKlient. FAQs. verze 9.50
BankKlient FAQs verze 9.50 2 BankKlient Obsah: Úvod... 3 Instalace BankKlient možné problémy... 3 1. Nejsou instalovány požadované aktualizace systému Windows... 3 2. Instalační program hlásí, že nemáte
MAWIS. Uživatelská dokumentace
MAWIS Uživatelská dokumentace Verze 27-11-2008 OBSAH OBSAH... 2 1) O MAPOVÉM SERVERU... 3 2) POTŘEBNÁ NASTAVENÍ... 3 Hardwarové požadavky... 3 Softwarové požadavky... 3 Nastavení Internet Exploreru:...
DATA ARTICLE. AiP Beroun s.r.o.
DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace
Mobilní aplikace Novell Filr Stručný úvod
Mobilní aplikace Novell Filr Stručný úvod Únor 2016 Podporovaná mobilní zařízení Aplikace Novell Filr je podporována v následujících mobilních zařízeních: Telefony a tablety se systémem ios 8 novějším
KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.
KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná
Kapitola 1 15. Kapitola 2 29
Obsah Kapitola 1 15 Jak dostat obrázky do Lightroomu Postup importu zařídit, aby se Lightroom automaticky spustil při vložení paměťové karty? 16 maximálně urychlit zobrazení miniatur? 17 při importu přidat
CTUGuide (XXX-KOS) D1
CTUGuide (XXX-KOS) D1 Verze: 1.0 Předmět: PDA Mentor: Zdeněk Míkovec Autor: Petr Tarant, Martin Štajner, Petr Husák Datum: 14. 02. 2013 Obsah CTUGUIDE verze 1.0 1. Úvod... 3 1.1. Úvod do problematiky...
M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele
M I S Y S - W E B Intranet řešení systému MISYS Verze 9.00 Příručka uživatele GEPRO s.r.o. Září 2008 Copyright GEPRO s.r.o. 2008 Ochranné známky GEPRO spol. s r.o. KOKEŠ, MISYS Ochranné známky Microsoft
Funkce Chytrý dotyk. verze 1.4. A-61629_cs
Funkce Chytrý dotyk verze 1.4 A-61629_cs Používání funkce chytrého dotyku Obsah Přehled... 1 Spuštění funkce chytrého dotyku... 2 Používání funkce chytrého dotyku s výchozími čísly funkcí a předem definovanými
Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich
Návrh aplikace Project Westpon Inteligentní simulátor budov Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich . Úvod.. Účel dokumentu Tento dokument má za účel detailně popsat návrh
Manuál administrátora FMS...2
Manuál administrátora Manuál administrátora FMS...2 Úvod... 2 Schéma aplikace Form Management System... 2 Úvod do správy FMS... 3 Správa uživatelů... 3 Práva uživatelů a skupin... 3 Zástupci... 4 Avíza
TouchGuard Online pochůzkový systém
TouchGuard Online pochůzkový systém Uživatelský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz
Práce s velkými sestavami
Práce s velkými sestavami Číslo publikace spse01650 Práce s velkými sestavami Číslo publikace spse01650 Poznámky a omezení vlastnických práv Tento software a související dokumentace je majetkem společnosti
Technologie počítačových sítí 5. cvičení
Technologie počítačových sítí 5. cvičení Obsah jedenáctého cvičení Active Directory Active Directory Rekonfigurace síťového rozhraní pro použití v nadřazené doméně - Vyvolání panelu Síťové připojení -
Program MediaLib. Program MediaLib slouží pro automatické skládání reklamních spotů do delších smyček.
LED Panely SW 2.3.2013, revize 1.0 Platné pro verzi programu 1.04 a vyšší. Program MediaLib Program MediaLib slouží pro automatické skládání reklamních spotů do delších smyček. Určí se celková délka smyčky
Instalujeme a zakládáme databázi Oracle Database 11g
KAPITOLA 2 Instalujeme a zakládáme databázi Oracle Database 11g Protože se instalace systému Oracle s každou novou verzí zjednodušuje, stojí uživatel před pokušením otevřít krabici s médii a ihned začít
IDENTITY MANAGEMENT Bc. Tomáš PRŮCHA
IDENTITY MANAGEMENT Bc. Tomáš PRŮCHA 20. 12. 2013 ÚVOD S penetrací IT do fungování společnosti roste důraz na zabezpečení důvěrnosti a opravdovosti (autenticity) informací a potvrzení (autorizaci) přístupu
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.
MapleCloud a jeho použ ití. Vladimír Žák
MapleCloud a jeho použ ití Vladimír Žák Brno, 2015 Obsah 1 Úvod... 4 2 Novinky v MapleCloud pro Maple 2015... 5 3 MapleCloud a registrace... 6 4 Použití MapleCloud přímo z Maple 2015... 7 4.1 Popis jednotlivých
CS WAVE Virtuální pracovní stůl svařování Malá verze Manuál uživatele
CS WAVE Virtuální pracovní stůl svařování Malá verze Manuál uživatele Version 4.0 14/04/2010 1 Tato příručka slouží všem uživatelům bez ohledu na jejich pracovní pozici a popisuje funkce, které poskytuje
10. Editor databází dotazy a relace
10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast
Příručka pro uživatele Navigační software
Příručka pro uživatele Navigační software - 2 - Obsah 1 Uvedení do provozu... 4 1.1 Důležité informace... 5 1.2 Alternativní instalace navigačního softwaru z paměťové karty... 5 1.3 Další digitální mapy...
Test uživatelského rozhraní aplikace Google Maps
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ Test uživatelského rozhraní aplikace Google Maps Testování uživatelského rozhraní - A4B39TUR Semestrální práce A2 Tom Nováček novacto2@fel.cvut.cz
Uživatelský manuál. A3600 DL ( Data Download)
Uživatelský manuál A3600 DL ( Data Download) Aplikace : Jednoduchý program pro přenášení dat z on line monitorovacího systému A3600 Export měřených statických dat do souboru Zobrazení grafů naměřených
UZ modul VVISION poslední změna 1. 3. 2013
UZ modul VVISION poslední změna 1. 3. 2013 Obsah 1 Základní popis... - 2-1.1 Popis aplikace... - 2-1.2 Zdroje obrazových dat... - 2-1.3 Uložení dat... - 2-1.4 Funkcionalita... - 2-1.4.1 Základní soubor
Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s.
Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv V prostředí společnosti Pražská vodohospodářská společnost a.s. Obsah 1. ÚVOD... 5 2. PROSTŘEDÍ WORKSPACE... 5 2.1 TECHNOLOGIE
Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer
Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer 1 První certifikační autorita, a.s. 8.9.2011 Obsah 1. Úvod... 3 2. Požadavky na
Statistica, kdo je kdo?
Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,
Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m
Servisní návod 24. června 2014 w w w. p a p o u c h. c o m Workmonitor Katalogový list Vytvořen: 18.5.2009 Poslední aktualizace: 24.6 2014 09:20 Počet stran: 11 2014 Adresa: Strašnická 3164/1a 102 00 Praha
Okno Editoru nabízí v panelu nástrojů
110 Editor pracovní nástroje Naučte se používat základní nástroje Editoru pro efektivní úpravy obrázků. VYBRANÉ OVLÁDACÍ PRVKY 112 POLYGONOVÉ LASO A LASO 124 VLOŽIT OBRÁZEK DO OBRÁZKU 132 VÝBĚRY 114 REDUKCE
Návod k ovládání administrační části nového turistického portálu Olomouckého kraje
Evropská unie a Evropský fond pro regionální rozvoj jsou partnery pro váš rozvoj. Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Příručka pro Informační centra Olomouckého
Uživatelská příručka
Uživatelská příručka PC výkaznictví JASU (program pro zpracování účetního výkaznictví) březen 2012 Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 P.O.Box 36 111 21 Praha 1 telefon: 224 091 619 fax:
NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková
NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková studijní materiál ke kurzu Odborné publikování, citační etika a autorské právo s podporou ICT Fakulta informatiky a managementu Univerzity Hradec
Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.
Školení programu TopoL xt Přechod na TopoL xt z programu TopoL pro Windows Cíl: Obsah: Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností
Manuál k aplikaci WANAS
Manuál k aplikaci WANAS OBSAH 1 DŮLEŽITÉ INFORMACE PRO PRÁCI V NOVÉ VERZI APLIKACE WANAS.. 2 2 PROSTOROVÁ DATA... 3 2.1 POPIS HLAVNÍCH FUNKCÍ... 3 2.2 PRÁCE S DEFINIČNÍM BODEM SEGMENTU... 4 2.3 PRÁCE S
POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6
Obsah POPIS PROSTŘEDÍ PROGRAMU GIMP 2 Barvy 2 Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6 Změna velikosti fotografie 6 Ořezání obrázku 7 TRANSFORMACE 9 Rotace 9 Překlopení 11 Perspektiva
MAPOVÁNÍ BIOTOPŮ BIOTOP ARCGIS SERVER
MAPOVÁNÍ BIOTOPŮ Aplikace Mapování biotopů je určená pro on-line aktualizaci vrstvy mapování biotopů 1) (dále jen VMB) pořízené v létech 2001 až 2004 pro celé území ČR. Aktualizace byla zahájena v roce
Uživatelská příručka
OM-Link Uživatelská příručka Verze: 2.1 Prosinec 2006 Copyright 2005, 2006 ORBIT MERRET, s r.o. I Nápověda k programu OM-Link Obsah Část I Úvod 3 Část II Základní pojmy a informace 3 1 Připojení... 3 2
SPZ 2010 13.13. Uživatelská příručka
SPZ 2010 13.13 Uživatelská příručka Listopad, 2010 Obsah Obsah ÚVOD... 2 Nápověda programu... 2 POŽADAVKY... 2 INSTALACE... 3 ZÁKLADNÍ NASTAVENÍ... 5 PRVNÍ NAČTENÍ DAT... 6 Automatické načtení... 6 Doplnění
LuxRiot uživatelský manuál verze 1.6.12. Uživatelský manuál Verze 1.6.12. -1-2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA
Uživatelský manuál Verze 1.6.12-1- 2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA LuxRiot je softwarový balík, určený pro sledování a ukládání dat z kamer. Umožňuje přijímat data z IP kamer a video serverů
Microsoft Office 2003 Souhrnný technický dokument white paper
Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti
VYTVÁŘENÍ OBSAHU KURZŮ
VYTVÁŘENÍ OBSAHU KURZŮ Mgr. Hana Rohrová Mgr. Linda Huzlíková Ing. Martina Husáková Fakulta informatiky a managementu Univerzity Hradec Králové Projekt je spolufinancován Evropským sociálním fondem a státním
Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu
Servlety a JSP Petr Adámek, petr.adamek@ibacz.eu Úvod Rekapitulace vstupních znalostí Standardy Nástroje (Běhové prostředí, nástroje pro vývoj) Servlety JSP JSP značky EL (Expression Language) Internacionalizace
Uživatelská příručka. Chráníme více lidí před více online hrozbami než kdokoli jiný na světě.
Uživatelská příručka Chráníme více lidí před více online hrozbami než kdokoli jiný na světě. Chraňte své životní prostředí. Je to správné. Společnost Symantec odstranila z tohoto návodu obálku, aby snížla
Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu
Program pro flexibilní tvorbu evidencí VIKLAN - Evidence Uživatelská příručka pro seznámení se základními možnostmi programu Vlastimil Kubínek, Ing. Josef Spilka VIKLAN - Evidence Verse 1.11.8.1 Copyright
Manuál k aplikaci SDO PILOT v.0.2
Manuál k aplikaci SDO PILOT v.0.2 Základní informace o aplikaci Aplikace slouží pro zjednodušené vytváření dokumentů Souhrnů doporučených opatření pro Evropsky významné lokality. Vznikala přírustkovým
Databázový systém ACCESS
Databázový systém ACCESS Cíle: Databáze je souhrn dat vztahujících se k určitému tématu nebo účelu. Databázi lze chápat jako množinu dat popisujících určitou část objektivní reality, udržovanou a využívanou
Kapitola 1: Úvodní strana PARTICLER
Kapitola 1: Úvodní strana PARTICLER OBSAH Úvod 1.O Particleru 2.Popis programu 2.1 Hlavní okno programu 2.1.1 - Horní lišta 2.1.1.1 Soubor 2.1.1.2 Vzhled 2.1.1.3 - Nastavení 2.1.1.4 - Pomoc 2.1.2 - Pracovní
SEZNÁMENÍ S PROGRAMEM
SEZNÁMENÍ S PROGRAMEM Základní informace pro každého Následující popis je určen pro stručné a rychlé seznámení s programem a jeho ovládáním. Detailnější vysvětlení funkcí programu naleznete v českém i
MATURITNÍ PRÁCE dokumentace
MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,
Elektronická spisová služba
Univerzitní informační systém Univerzita Konštantína Filozofa v Nitre Elektronická spisová služba Svazek 19 Verze: 0.49 Datum: 11. března 2016 Autor: Jitka Šedá, Martin Tyllich Obsah Seznam obrázků 5
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums
Teoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
E-ZAK, verze M-2 jednoduchý elektronický nástroj pro veřejné zakázky
E-ZAK, verze M-2 jednoduchý elektronický nástroj pro veřejné zakázky uživatelská příručka pro zadavatele, verze 1.2 2008 QCM, s.r.o. Obsah Úvod......5 Požadavky na provoz......6 Přihlášení......6 Odhlášení......7
Uživatelský manuál Radekce-Online.cz
Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro
Obsah. Část I Začínáme s jazykem AppleScript
Obsah Úvod... 13 Je tato kniha pro vás?...13 Jaká témata kniha pokrývá?...13 Proč je text vytištěný tolika různými druhy písma a k čemu jsou všechny ty podivné značky?...15 Zpětná vazba od čtenářů...16
Analýza dat na PC I.
Lékařská a Přírodovědecká fakulta, Masarykova univerzita Analýza dat na PC I. Základy programu STATISTICA IBA výuka 2008/2009 StatSoft, Inc., http://www.statsoft.com/, http://www.statsoft.cz Verze pro
Navigace na webových stránkách
Navigace na webových stránkách Tato kapitola navazuje na kapitoly o přístupnosti, použitelnosti a optimalizaci webových stránek a podrobněji popisuje tvorbu informační architektury webových stránek, zejména
SPIRIT 2012. Nové funkce. SOFTconsult spol. s r. o., Praha
SPIRIT 2012 Nové funkce SOFTconsult spol. s r. o., Praha Informace v tomto dokumentu mohou podléhat změnám bez předchozího upozornění. 01/2012 (SPIRIT 2012 CZ) Revize 1 copyright SOFTconsult spol. s r.
Mikroskopická obrazová analýza
Návod pro laboratorní úlohu z měřicí techniky Práce O1 Mikroskopická obrazová analýza 0 1 Úvod: Tato laboratorní úloha je koncipována jako seznámení se s principy snímání mikroskopických obrazů a jejich
Studentská tvůrčí a odborná činnost STOČ 2015
Studentská tvůrčí a odborná činnost STOČ 2015 NÁVRH A REALIZACE ALGORITMU PRO SYSTÉM LIMITNÍHO OZAŘOVÁNÍ David OCZKA Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky
Postup při instalaci a nastavení programu
Postup při instalaci a nastavení programu Program Sumář je pro každý zpracovávaný rok individuální. Programy pro roky předešlé si uživatel může v PC ponechat a kdykoliv nahlédnout do zpracovaných dat.
MS WINDOWS UŽIVATELÉ
uživatelské účty uživatelský profil práce s uživateli Maturitní otázka z POS - č. 16 MS WINDOWS UŽIVATELÉ Úvod Pro práci s počítačem v operačním systému MS Windows musíme mít založený účet, pod kterým
A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko
Strategie testování, validace a verifikace. Testování v průběhu životního cyklu SW díla. Testování jednotek, integrační testování, validační testování, systémové testování, ladění. Principy testování,
[TMB-NAP] Nabídka a poptávka produktů založená na mapových podkladech D3. Jan Minařík, minarja4 Vojtěch Koukal, koukavoj Mikhail Sukhotin, sukhomik
[TMB-NAP] Nabídka a poptávka produktů založená na mapových podkladech D3 Jan Minařík, minarja4 Vojtěch Koukal, koukavoj Mikhail Sukhotin, sukhomik Vytvoření prototypu Pokryté scénáře Vytvořený prototyp
Počítačové zpracování obrazu Projekt Učíme se navzájem
Počítačové zpracování obrazu Projekt Učíme se navzájem Tomáš Pokorný, Vojtěch Přikryl Jaroška 15. ledna 2010 Tomáš Pokorný email: xtompok@gmail.com Jaroška 1 Obsah Abstrakt! 4 Začátky! 5 M&M 5 Původní
Reranking založený na metadatech
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1
Generování žádostí o certifikát Uživatelská příručka pro prohlížeč Apple Safari
Generování žádostí o certifikát Uživatelská příručka pro prohlížeč Apple Safari První certifikační autorita, a.s. 12.8.2011 Verze 7.07 Obsah 1. Úvod... 3 2. Požadavky na software... 3 3. Instalace kořenového
Ovládání RC modelu pomocí Wi-fi. Pavel Valenta
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové
Elektronická Kniha jízd. www.knihajizd.info
Elektronická Kniha jízd www.knihajizd.info Jak to funguje O produktu Aplikace elektronické Knihy jízd Patriot Vám s využitím systému GPS (Global Positioning System) umožní jednoduše a spolehlivě sledovat
Metodická příručka pro učitele. InspIS SET modul školní testování
Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice
Zásady ochrany osobních údajů
Zásady ochrany osobních údajů Naposledy upraveno: 28. června 2016 (zobrazit archivované verze) (Příklady odkazů jsou k dispozici na konci dokumentu.) Naše služby můžete využívat mnoha různými způsoby počínaje
Příručka pro schvalovatele témat
I N T E R N E T O V Ý I N F O R M A N Í S Y S T É M P R O J E D N O T N Á Z A D Á N Í Z Á V R E N Ý C H Z K O U Š E K N á r o d n í ú s t a v p r o v z d l á v á n í Příručka pro schvalovatele témat Schvalovatelé
2. Kontakty. 1. Základní nastavení telefonu Vložení SIM karty Vložení paměťové karty Zapnutí telefonu a PIN. 3. Volání
Základní nastavení telefonu Vložení SIM karty Vložení paměťové karty Zapnutí telefonu a PIN Kontakty Kopírování ze SIM karty do telefonu Založení nového kontaktu Upravení kontaktu včetně fotky Volání Nastavení
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML
Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k
ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4
ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 JEDNODUCHÉ PŘIHLÁŠENÍ 4 ADMINISTRAČNÍ PROSTŘEDÍ 5 PŘEPÍNÁNÍ JAZYKOVÉ VERZE 5 POLOŽKY HORNÍHO MENU 5 DOPLŇKOVÉ POLOŽKY MENU: 6 STROM SE STRÁNKAMI, RUBRIKAMI A ČLÁNKY 7 TITULNÍ
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress www.webdevel.cz Webdevel s.r.o. IČ 285 97 192 DIČ CZ28597192 W www.webdevel.cz E info@webdevel.cz Ostrava Obránců míru 863/7 703 00 Ostrava Vítkovice M 603
RETAIL PROCESS TRACKER VIZUALIZACE OBCHODNÍCH PROCESŮ VAŠEHO INFORMAČNÍHO SYSTÉMU
Váš IT partner pro retail, logistiku a distribuci RETAIL PROCESS TRACKER VIZUALIZACE OBCHODNÍCH PROCESŮ VAŠEHO INFORMAČNÍHO SYSTÉMU Miroslav Krupa 1.10.2009 IT pro U&SLUNO a.s. l SADOVÁ 28 l 702 00 OSTRAVA
Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu
Word 2007 Word 2007 egon Spuštění, vzhled, zobrazení dokumentu Jan Málek 30.4.2010 Word 2007 V roce 2007 přichází firma Microsoft s novou verzí kancelářského balíku MS Office 2007 a tedy i textového editoru
Filr 2.0 Uživatelská příručka k aplikaci Filr Web. Únor 2016
Filr 2.0 Uživatelská příručka k aplikaci Filr Web Únor 2016 Právní vyrozumění Informace o právních upozorněních, ochranných známkách, prohlášeních o omezení odpovědnosti, zárukách, omezeních exportu a
Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů
Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,
Návod na použití prezentační techniky
Laboratorní centrum Fakulty technologické Návod na použití prezentační techniky Střední posluchárna č. 113 Před použitím prezentační techniky pročtěte tento návod ApS Brno s.r.o., divize projekční techniky
OpusBenefit. Uživatelský manuál k verzi 1.0 verze 1-2010 1 / 24. K l i e n t s k á d a t a b á z e
1 / 24 1 Úvod Program OpusBenefit byl vytvořen proto, aby naši obchodní partneři mohli sledovat aktivity svých zákazníků (nákupy v jejich obchodech, využívání jejich služeb, návštěvy jejich zařízení),
7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu
Kapitola 7: Nástroje 47 7. Nástroje Kontrola pravopisu 7.1 Pravopis V prezentaci Encian přichystejme dvě záměrné pravopisné chyby na prvním snímku. Slovo Váš nahradíme slovem Vaš a slovo přehledným nahradíme
Stručný manuál k ovládání programu STATISTICA. Mgr. Petra Beranová Ing. Miloš Uldrich
Stručný manuál k ovládání programu STATISTICA Mgr. Petra Beranová Ing. Miloš Uldrich Copyright StatSoft CR s.r.o. 2011 StatSoft CR s.r.o. Ringhofferova 115/1 155 21 Praha 5 Zličín tel.: +420 233 325 006
MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ
MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ 1 OBSAH 1.Popis... 3 2.Ovládání aplikace...3 3.Základní pojmy... 3 3.1.Karta...3 3.2.Čtečka...3 3.3.Skupina...3 3.4.Kalendář...3 3.5.Volný
Centrální evidence závětí NK ČR
CIS NK ČR Centrální evidence závětí NK ČR Uživatelská příručka Dodavatel: Corpus Solutions a.s. V Praze dne 15. 4. 2005 Pod Pekařkou 1 Praha 4 Podolí Verze: 1.0 Obsah 1 Úvod...3 1.1 Přístup do aplikace...3
Program je určen pro děti se specifickými poruchami učení.
Program je určen pro děti se specifickými poruchami učení. Program byl vyvinut ve spolupráci s Okresní pedagogicko - psychologickou poradnou v Klatovech Co oceníte: Program lze velice snadno modifikovat
sssssssssssssssssssssssssssssssssssssssssssssssssss UŽIVATELSKÁ PŘÍRUČKA ELEKTRONICKÁ PODATELNA - WEBOVÁ ČÁST APLIKACE Verze distribuce: 1.1.29.
řízený dokument sssssssssssssssssssssssssssssssssssssssssssssssssss UŽIVATELSKÁ PŘÍRUČKA VERZE: 4 ELEKTRONICKÁ PODATELNA - WEBOVÁ ČÁST APLIKACE Verze distribuce: 1.1.29.1 Počet stran: 41 Správa dokumentu
Aktualizační systém Progres
Aktualizační systém Progres Obecně o systému Celý obsah webu se skládá z článků, fotogalerii, novinek, systémových bloků atd., které jsou vždy vloženy do nějaké rubriky položky v menu, podmenu, přip. mimo
ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44)
- ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44) ADDAT s.r.o. Májová 1126 463 11 Liberec 30 telefon: fax: http: e-mail: 485 102 271 485 114 761 www.addat.cz addat@addat.cz Obsah: 1.
2N Helios IP Manager Software pro konfiguraci a správu dveřních komunikátorů 2N Helios IP.
2N Helios IP Manager Software pro konfiguraci a správu dveřních komunikátorů 2N Helios IP. Uživatelský manuál Verze 1.0.0 Software 1.0.x www.2n.cz Společnost 2N TELEKOMUNIKACE a.s. je českým výrobcem a
Metodika pro učitele
Metodika pro učitele Tvorba prezentace v aplikaci PowerPoint 2010 PowerPoint je program, který umožňuje navrhnout, kvalitně graficky a esteticky ztvárnit a následně spustit a předvést prezentaci. Celý
Recognoil RRW Manager rychlý návod k obsluze
Recognoil RRW Manager rychlý návod k obsluze Obsah: 1) Úvod charakteristika funkcí 2) Instalace 3) První spuštění - menu 4) Selektivní vyhodnocení plochy + uložení 5) Práce s projektem a exporty 6) Poznámky
Elektronická kapacitní dekáda - BASIC
Elektronická kapacitní dekáda - BASIC Stručná charakteristika: Plně elektronizovaná kapacitní dekáda s širokým rozsahem hodnot. Indikuje velké množství parametrů nastaveného kapacity včetně lokálních teplot.
Správa a sledování SOA systémů v Oracle SOA Suite
Správa a sledování SOA systémů v Oracle SOA Suite Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 7. října 2014 Marek Rychlý Správa
Zpráva, hodnotící postup a výsledky nových forem práce Pozemkového spolku Meluzína (PSM) Využití satelitní navigace (GPS) pro práci pozemkového spolku
PSM07_zpr_GIS_GPS_www.doc str. 1 Zpráva, hodnotící postup a výsledky nových forem práce Pozemkového spolku Meluzína (PSM) Využití satelitní navigace (GPS) pro práci pozemkového spolku Základní vybavení
V této kapitole se naučíte základnímu ovládání programu ZoomText, totiž:
KAPITOLA 2 Začínáme V této kapitole se naučíte základnímu ovládání programu ZoomText, totiž: Jak ZoomText instalujete a aktivujete. Jak ZoomText spustíte a ukončíte. Jak ZoomText zapnete a vypnete. Jak