Software CAMouflage+, CAMouflage (popis programu)
Požadavky na software pro zajištění adaptivní kamufláže Z definice adaptivní kamufláže (maskování, které je schopné se efektivně přizpůsobit podmínkám tak, aby maskovaný objekt byl téměř neviditelný) vyplývá, že se z implementačního hlediska jedná o technologický systém, který vyžaduje provádění adaptivních změn scenérie a scény, uskutečňovaných v reálném čase v závislosti na změnách nejbližšího okolí kamuflovaného objektu, případně na poskytnutí vhodné iluze pozorovateli o tomto objektu.1 Adaptivní kamufláž se navíc musí dynamicky přizpůsobovat změnám nejen ve viditelné části spektra, ale také v té části elektromagnetického spektra, v němž má pozorovatel získat, případně si i ověřovat iluzi. V této souvislosti je třeba zmínit zejména infračervenou část elektromagnetického spektra. V případě řešení POV ADAPTIV je situace o něco jednodušší. Vzhledem k restrikci v zadání se projekt zabývá maskováním stacionárních objektů jenom ve viditelné části světelného spektra. Je třeba se tedy soustředit zejména na vlastnosti světla viditelné, rozpoznatelné a rozlišitelné prostým okem pozorovatele. Projekt však musí též zohledňovat i budoucí pravděpodobnost maskování objektů větších velikostí, například budov, bez předběžných konstrukčních úprav. Na základě těchto redukovaných požadavků byla stanovena základní kritéria, která musela splňovat softwarová část řešení projektu ADAPTIV. Z hlediska pořízení hardware i software se jednalo především o bezpodmínečné dodržení Zákona o veřejných zakázkách a dále o naplnění obecného principu COTS (Commercial-OffThe-Shelf), což znamenalo nákup běžných komerčních produktů. Dále bylo požadováno vytvoření souboru programového vybavení technologií s modulární architekturou, které by dovolilo splynutí objektu s jeho okolím s využitím speciálního hardwarového vybavení. Software měl dokázat z jednoho místa řídit několik zobrazovacích jednotek. Komunikace mezi řídící jednotkou a jednotkami řízenými měla být zajištěna pomocí stávajících standardních síťových technologií (TCP/IP, wi-fi). Software měl zvládnout import obrazových dat standardních typů (bmp, jpg, gif, png a další) pro kamuflování scény i jejich jednoduchou úpravu.
1
http://en.wikipedia.org/wiki/Stealth_technology
Obecná architektura softwaru Z výše uvedeného zadání vyplynulo, že nejvhodnější architekturou pro tento systém bude architektura modelu Master-Slave. V tomto modelu existuje jeden řídící počítač (aplikace, proces) – tzv. Master, který má jednostrannou kontrolu nad jedním nebo více dalšími podřízenými počítači (aplikacemi, procesy), tzv. Slave. Schematické znázornění této architektury (viz Obrázek 1). MASTER
SLAVE 1
SLAVE 2
SLAVE 3
SLAVE N
Obrázek 1 Architektura Master - Slave
Master – aplikace CAMouflage+ Úlohu řídicího centra, Mastera, v projektu ADAPTIV zaujímá software CAMouflage+ (dále SW CAMouflage+). Jeho hlavním úkolem je řízení jednoho nebo více podřízených softwarů CAMouflage (dále SW CAMouflage) v reálném čase přes běžnou komunikační síť. Což znamená, že SW CAMouflage+ řídí u podřízených aplikací následující činnosti: -
volbu zdroje kamufláže – souboru s obrazovými daty, základní úpravu zdroje dat pro následnou projekci (výřez, natočení, perspektivu, zvětšení/zmenšení, změnu jasu a změnu barevného tónu).
Základní nastavení konfigurace komunikace mezi řídící aplikací SW CAMouflage+ a podřízenými aplikacemi je vyřešeno ve stávající verzi pomocí xml souborů s konfigurací. Každá jednotlivá aplikace, ať už řídící nebo řízená, musí mít k dispozici svůj konfigurační soubor. Bez tohoto souboru není možné aplikace SW CAMouflage+ ani SW CAMouflage spustit. Identifikace jednotlivých podřízených SW CAMouflage je pomocí IP adresy a jednoznačného portu. Port musí být jednoznačný i pro případ, že jednotlivé SW CAMouflage běží na samostatných počítačích. Tím je umožněna univerzální konfigurace – je možné mít spuštěno více řízených aplikací i na jednom počítači, za předpokladu, že umožňuje připojení více projekčních zařízení, do kterých
jsou přes jednotlivé aplikace SW CAMouflage posílána řídící aplikaci SW CAMouflage+ maskovací obrazová data. Podrobnější popis jednotlivých částí aplikací SW CAMouflage+ a SW CAMouflage je uveden v části věnované ovládání aplikace.
Slave – aplikace CAMouflage Úlohu řízených aplikací plní v projektu ADAPTIV aplikace SW CAMouflage. Jejich úkolem je generování obrazových dat, která jsou promítána v rámci systému adaptivní kamufláže. SW CAMouflage přijímá obrazová data z řídící aplikace SW CAMouflage+ v reálném čase a zobrazuje je na připojeném projektoru. Každá jednotlivá aplikace SW CAMouflage dokáže zobrazovat obrazová data právě a pouze pro jedno projekční zařízení.
Systémové požadavky – CAMouflage+ Operační systém
Microsoft Windows XP Service Pack (SP) 2 nebo novější
Počítač a procesor
Procesor 500 MHz nebo rychlejší, 1 GB nebo více RAM
Pevný disk
10MB pro instalaci
Rozlišení monitoru
Minimálně 800 × 600, doporučuje se 1024 × 768 nebo vyšší
Připojení k Internetu
Širokopásmové připojení
Další součásti
NET Framework 2.0
Systémové požadavky – CAMouflage Operační systém Počítač a procesor
Microsoft Windows XP Service Pack (SP) 2 nebo novější Procesor 500 MHz nebo rychlejší, 256 MB nebo více RAM
Pevný disk
5MB pro instalaci
Rozlišení projektoru
Minimálně 800 × 600, doporučuje se 1024 × 768 nebo vyšší
Připojení k Internetu
Širokopásmové připojení
Další součásti
NET Framework 2.0
Konfigurace systému ADAPTIV – lokální s jednou zobrazovací jednotkou Jedná se o minimální konfiguraci (viz Obrázek 2), v které lze systém ADAPTIV provozovat. K počítači je přímo připojena zobrazovací jednotka. Na tomto počítači je spuštěna řídící část SW CAMouflage+ a jedna podřízená aplikace CAMouflage. Podřízená aplikace je identifikována pomocí lokální IP adresy 127.0.0.1 a zvoleným portem. Využití této konfigurace je primárně pro maskování objektů, které je možné pokrýt obrazem z jedné projekční jednotky.
LOKÁLNÍ POČÍTAČ MASTER APLIKACE
CAMouflage+
127.0.0.1:5998 SLAVE APLIKACE
CAMouflage
Obrázek 2 Konfigurace lokální s jednou zobrazovací jednotkou
Konfigurace systému ADAPTIV – s jednou vzdálenou zobrazovací jednotkou Modifikací předchozí varianty docílíme pro reálný provoz typičtější a bezpečnější konfigurace pro maskování objektů menších rozměrů, kdy řídící aplikace SW CAMouflage+ je spuštěna na počítači, který může být umístěný v zabezpečené oblasti. Tento počítač řídí jeden podřízený počítač s aplikací SW CAMouflage a projekční jednotkou (viz Obrázek 3). IP adresa SW CAMouflage je vzdálená například 10.1.5.98:5999. Výhodou je snížení nároků na podřízený počítač – může jím být např. netbook, vybavený některým z úsporných procesorů (intel Atom, AMD C-50, VIA apod.). V budoucnu bude možné využít i systémů používajících úsporné procesory ARM s Windows 8.
ŘÍDÍCÍ POČÍTAČ MASTER APLIKACE
CAMouflage+
ŘÍZENÝ POČÍTAČ
10.1.5.98:5999
SLAVE APLIKACE
CAMouflage
Obrázek 3 Konfigurace s jednou vzdálenou zobrazovací jednotkou
Konfigurace s více zobrazovacími jednotkami – vzdálené řízení Tato varianta bude v reálném provozu s největší pravděpodobností nejpoužívanější. Pokud je maskován objekt, jehož plocha je větší než plocha, kterou pokryje jeden projektor, musí být vytvořeno tolik podřízených obrazových kanálů aplikace SW CAMouflage, kolik je v daném sestavení použito projektorů. V této konfiguraci jsou jednotlivé podřízené aplikace na vzdálených počítačích jednoznačně identifikované podle IP adresy a čísla portu (viz Obrázek 4). Konfigurace přináší opět výhodu snížení nároků na podřízené počítače a zvyšuje bezpečnost a ochranu obsluhy řídícího počítače, který může být umístěn v zabezpečené oblasti. Řízené počítače obsluhu nepotřebují.
ŘÍDÍCÍ POČÍTAČ
MASTER APLIKACE
CAMouflage+
ŘÍZENÝ POČÍTAČ 1 SLAVE APLIKACE 10.1.5.9:5999
CAMouflage
ŘÍZENÝ POČÍTAČ 2 10.1.5.10:5997
SLAVE APLIKACE
CAMouflage
Obrázek 4 Konfigurace s více zobrazovacími jednotkami – vzdálené řízení
Konfigurace systému ADAPTIV – s více zobrazovacími jednotkami smíšené Poslední variantou konfigurace projekce ADAPTIV je využití všech počítačů pro připojení zobrazovacích jednotek, tzn. zobrazovací jednotky jsou připojeny nejenom ke vzdáleným počítačům, ale i k řídícímu počítači. Podřízená aplikace SW CAMouflage běžící na řídícím počítači používá IP adresu 127.0.0.1:5998, aplikace CAMouflage běžící na vzdálených počítačích potom například 10.1.5.9:5999 a 10.1.5.10:5997. V příkladu je zdůrazněno i použití rozdílných portů v rámci konfigurace.
ŘÍDÍCÍ POČÍTAČ
MASTER APLIKACE
CAMouflage+
ŘÍZENÝ POČÍTAČ 1
SLAVE APLIKACE 10.1.5.9:5999
CAMouflage
127.0.0.1:5998 SLAVE APLIKACE
ŘÍZENÝ POČÍTAČ 2
CAMouflage 10.1.5.10:5997
SLAVE APLIKACE
CAMouflage
Obrázek 5 Konfigurace s více zobrazovacími jednotkami – smíšené
V dalším textu bude primárně popisována konfigurace s distribucí obrazových dat.
Obsah distribuce aplikace CAMouflage+ Aplikace CAMouflage+2 je distribuována na jednom CD-ROM. V prostředí Microsoft Windows stačí spustit její instalaci do zvoleného umístění, aplikace se rozbalí do vyžadované adresářové struktury a je připravena k použití. Aplikace funguje bezchybně v 32bit i 64bit prostředí.
2
Software CAMouflage+, CAMouflage
Aplikace obsahuje tři adresáře: -
usr – ikony použité v aplikaci, etc – konfigurační XML soubory – viz dále, bin – adresář s vlastním programem a knihovnami.
Popis rozhraní aplikace Okno CAMouflage+ Hlavní okno řídící aplikace slouží pro vkládání, mazání, nastavení a distribuci jednotlivých obrazových kanálů. Otevře se po spuštění aplikace dávkovým souborem, který obsahuje parametry pro spuštění. Na obrázku 6 je ukázaný Stav po spuštění SW CAMouflage+ vzorovým souborem Camouflage3+.bat. Na obrázku je vidět situace, kdy v konfiguračním souboru bylo nastaveno připojení dvou obrazových kanálů (SW CAMouflage). Jeden běží na lokálním počítači, na kterém je spuštěna aplikace SW CAMouflage+, a druhý na vzdáleném počítači s IP adresou 10.1.5.98 a portem 5999. Část New Channel slouží pro vložení nového obrazového kanálu. Význam jednotlivých položek: -
Name – jméno přidávaného obrazového kanálu, IP – IP adresa nového obrazového kanálu (adresa počítače, na kterém poběží podřízená aplikace), Port – číslo portu pro komunikaci s novým obrazovým kanálem, Add – kliknutím na tlačítko Add se nový kanál přidá do seznamu a je možno dvojklikem otevřít okno ovládání daného obrazového kanálu.
Část Channels zobrazuje seznam vytvořených kanálů. Po kliknutí na vybraný kanál se zobrazí okno nastavení obrazového kanálu. Část Control umožní vymazat všechny kanály, případně ukončit aplikaci. -
Remove All – vymaže celý seznam obrazových kanálů, Exit – ukončí program.
Obrázek 6 Hlavní řídící okno aplikace
Okno nastavení obrazového kanálu Kliknutím nad jménem kanálu (v hlavním okně Camouflage+) se otevře okno úprav a nastavení konkrétního obrazového kanálu. Příslušnost ke zvolenému obrazovému kanálu se zobrazuje v hlavičce otevřeného okna. Na obrázku 7 je vidět nastavení obrazového kanálu 127.0.0.1:5999. Okno je rozděleno na dvě hlavní části: -
nabídku možných úprav zobrazovaných obrazových dat, zobrazení upravených obrazových dat – obrazový kanál.
Pro výběr a následnou editaci obrazových dat jsou k dispozici následující nástroje: – výběr souboru,
– oříznutí scény,
– otočení scény,
– nastavení perspektivy,
– zvětšení zobrazovaného obrázku,
– zmenšení zobrazovaného obrázku,
– změna jasu obrazu,
– změna saturace barvy obrazu.
Obrázek 7 Okno obrazového kanálu
Okno výběru obrazového souboru Slouží pro výběr obrazového souboru, který bude zobrazován jako kamufláž. Okno nabízí k usnadnění práce možnost uložit oblíbené umístění obrázků (Favorites) na disku. Ty lze potom použít pro rychlý přechod do tohoto umístění. Většinu okna zabírá výpis souborů v daném umístění, který lze omezit pomocí filtru. Pokud se označí soubor s obrázkem a je zatrženo políčko Preview, tak se v pravé části okna zobrazí jeho náhled. Uživatel má také možnost zadat přímo cestu k obrázku nebo nadřazenému adresáři obrázku do pole Filename. Potvrzení výběru se uskuteční zmáčknutím tlačítka OK.
Obrázek 8 Okno výběru souboru s obrazovými daty
Podporované formáty souboru: -
bm – X Windows System Bitmap File, bmp – Bitmap Image File, gif – Graphics Interchange Format, jpg – Joint Photographic Experts Group, pbm – Portable BitMap Format, pgm – Portable GrayMap Format, png – Portable Network Graphics, ppm – Portable PixMap Format, xbm – X BitMap, xpm – X PixMap.
Možný směr dalšího rozvoje aplikace CAMouflage Z pohledu aplikace v části distribuce obrazových dat by bylo vhodné upravit aplikaci tak, aby byla plně manuálně provozovatelná – znamenalo by to doprogramovat spuštění řídící aplikace i aplikací podřízených bez nutnosti konfiguračních souborů. Jednotlivé obrazové kanály by se přidávaly v okně řídící aplikace, jako je to možné již ve stávající verzi aplikace. S touto změnou také souvisí nutnost doprogramování tlačítek pro uložení přidaných kanálů a tlačítka pro mazání jednotlivých obrazových kanálů, vše v řídící aplikaci. Z pohledu úpravy obrazových kanálů je situace o něco vážnější. Nejzávažnější problém při používání aplikace CAMouflage je nemožnost uložení provedených
změn. Aplikace dokáže sice načíst obrázek, upravit jeho vzhled pomocí vestavěných nástrojů, zobrazit ho ve vzdálené aplikaci CAMouflage, ale neumožní ho uložit pro další použití. Při novém spuštění aplikace a požadavku na zobrazení obrázku, již jednou nastaveného, musíme provést kompletní nastavení znovu. Při dalším vývoji aplikace by bylo také nanejvýše vhodné dopracovat historii operací. V současné verzi aplikace se uživatel může dostat do situace, kdy kompletně nastaví obrázek pro využití v kamuflované scéně a jedinou nesprávnou změnou, třeba v posledním kroku – nastavení saturace, ztratí všechny dosud provedené kroky, protože je nucen znovu načíst obrazová data. Operace nastavení saturace totiž není reversibilní, ani při nastavení hodnot se nezobrazuje aktuální stav v náhledu. Pro pohodlnější práci by bylo vhodné spolu s historií rozšířit aplikaci o funkci „historie změn“. Jedná se o jednoduchý seznam dosud provedených změn nad obrazovými daty. V tomto seznamu lze kliknutím na danou položku nastavit upravovaná obrazová data do odpovídajícího „historického“ stavu. Dále by bylo vhodné doplnit do pracovního postupu nastavení scény i lepší provázanost nastavovaného obrázku s realitou – zpětná zobrazovací vazba. Jsou možné dva odlišné přístupy. První možností je použití kamery pro snímání scény a zobrazení této scény v kontrolním okně. Virtuální obrázek je pak laděn tak, aby na kontrolním monitoru nebyly vidět ostré přechody. Druhou možností je vyfotit celou kamuflovanou scénu a tuto fotografii použít jako pozadí pro laděný obrázek. Nastavení obrázku by potom již probíhalo klasickým způsobem. Docílí se tím jednodušší sladění jasových, světelných a barevných podmínek. Dále se také podstatně zrychlí rychlost při nastavování virtuálního obrazu a podstatně se ztíží odhalení „zneviditelněného“ objektu. Při nastavování scény by mohlo pomoci zobrazení tzv. histogramu – zobrazení jasových poměrů ve scéně. Za zvážení také stojí možnost přeprogramovat aplikaci např. do programovacího jazyku Java, který je multiplatformní – software by potom nebyl svázán pouze s platformou Microsoft Windows, ale šel by provozovat i na jiných desktopových i mobilních platformách. Pro nasazení v reálném provozu by bylo vhodné systém ADAPTIV naprogramovat jako částečně autonomní. Hlavní roli by hrála automatická detekce jasu nastavené scény. Maskovací obrázek by se nastavil na dané střední světelné podmínky a určilo by se, v jakých mezích se bude scéna regulovat podle světlocitlivého čidla, které bude snímat světelné podmínky v prostoru kamuflovaného objektu. Tím by byl obsluze zařízení umožněn prostor na sofistikovanější korekce kamuflovaného objektu.