České vysoké učení technické v Praze Fakulta elektrotechnická X39ITT: Intermediální tvorba a technologie I ZS 2010/2011
Reflection universe
Řešitelé: – Jan Murin
[email protected] – Jana Moudrá
[email protected] – Jan Pavlovský
[email protected]
Stránky projektu: http://www2.iim.cz/wiki/index.php/Zrcadlo
.
Člověk žijící ve společnosti řízené umělými algoritmy vs. člověk žijící ve společnosti řízené přirozenými algoritmy.
Intermediální tvorba a technologie I
Obsah 1 Vize
2
2 Provedení
2
3 Konkurenční řešení 3.1 Virtuální zrcadla . . . . . . . . . . . . . . . . 3.2 Cloudmirror . . . . . . . . . . . . . . . . . . . 3.3 Magic Morphin Mirror/ Mass Hallucinations 3.4 i-mirror . . . . . . . . . . . . . . . . . . . . . 3.5 Handheld Mirror Simulation . . . . . . . . . .
2 2 4 4 5 5
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
4 Vlastní řešení 4.1 Monitor – LCD . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Speciální zrcadlo a projekce obrazu pomocí projektoru . . . . 4.3 Princip polopropustného plátna a zpětné projekce – vlastní nápad . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 6
5 Implementace 5.1 Detekce obličeje . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Framework Qt . . . . . . . . . . . . . . . . . . . . . . . . . .
7 7 8
6 Realizovatelnost
8
7 Závěr
9
8 Zdroje informací
7
10
1
Intermediální tvorba a technologie I
1
Vize
Náš projekt je bránou do světa, do jiného světa, který je tvořený umělými algoritmy. V tomto světě se však člověk řídí jinými algoritmy. Už při prvním pohledu na rozhraní těchto dvou světů si je možné povšimnout v čem se liší odraz obou světů. V prvních několika okamžicích je odraz stejný jako originál, ale za několik málo chvil se pomalu, ale nevyhnutelně začne měnit. Jeho kontury a obrysy jsou výraznější. Objevují se náhodné a neskutečné prvky. Krása matematiky jež řídí onen svět. Odraz je pomalu, ale jistě, deformován. Místo jasných obrysů vidíme nejasné siluety, místo nejasných siluet vnímáme křehké a pevné tvary. Pozadí už není reálné a odraz je jakoby pohlcován. Ale jen na chvíli. Na malou chvíli, než se vše vrátí zpátky jako mořská vlna. A znovu. A ještě. S povrchem brány si začnou pohrávat oscilace. To vše dovede náhled do jiného světa znázornit. Odhalit skryté úhly. Skryté pravdy. Chce to jen trošku představivosti. Brána vnímá pohyby subjektu a na jejich základě upravuje obraz, který snímá a zobrazuje.
2
Provedení
Máme dvě možné verze provedení brány mezi našimy světy. Zrcadlo. Zrcadlo je klasickým nástrojem jehož pomocí nahlížíme do vlastní reality z jiného pohledu než přímo z našich očí. Přesto známe mnoho druhů zrcadel, které jsou schopny podat naši realitu zkresleně. Vodní hladina. Vodní hladina je bezesporu prvním „zrcadlem“. Je nám dobře známá a co hlavně nedokáže lhát, tak jako námi vytvořená umělá zrcadla. Přesto pár vln dokáže rozhýbat sebevíc strnulý obraz.
3 3.1
Konkurenční řešení Virtuální zrcadla
Při průzkumu existujících technologií jsme zjistili, že technologie virtuálních zrcadel je hojně používaná. Velké firmy vytvářejí tyto zrcadla s různými vlastnostmi. Například Disney vytvořil zrcadlo, které přidává sledované osobě oblečení, nový účes atd. Tohoto nápadu se také zhostila firma Cisco, která vytvořila interaktivní zrcadlo pro nakupování oblečení, pomocí kterého si člověk může zkoušet různé oblečení bez toho, aby se reálně převlékl.
2
Intermediální tvorba a technologie I
Obrázek 1: Interaktivní zrcadlo zhotovené firmou Cisco.
Hodně firem také implementuje tuto technologii na své webové stránky. K tomuto je potřeba webkamera a zákazník si tak může vyzkoušet výrobky, jako například brýle, aby si je vyzkoušel před tím, než si je koupí. Může se taktéž prohlížet z mnoha úhlů, stejně jako by reálně tyto brýle nosil. Stejně tak existují zrcadla pro testování kosmetiky pro ženy. Interaktivních zrcadel existuje opravdu mnoho. BlogLitStudios například vytvořili interaktivní zrcadlo, na kterém člověk může kreslit, hrát hry a další věci. Obraz člověka zůstává zachován.
Obrázek 2: Zrcadlo z dílny BlogLitStudios.
Mezi další příklady patří například Persuasive Mirror, které zobrazí člověka, jak bude vypadat za pár let, dále Inteligentní zrcadlo Candy and Candy, které je vybaveno 50-ti palcovou plazma obrazovkou a skrytou kamerou dokáže zobrazit člověka z více úhlů. Některá zrcadla jsou dokonce vytvářena k rozpoznávání zdraví člověka či existují zrcadla, která dokáží ze vzdálenosti 30-ti cm měřit lidskou teplotu.
3
Intermediální tvorba a technologie I
3.2
Cloudmirror
Toto zrcadlo slučuje svět sociálních sítí s reálným světem. Funguje na principu, že přijde člověk a zaloguje svůj Facebook, Twitter a další aplikace do aplikace pro zrcadlo. Poté má na sobě kartičku, která ho identifikuje v databázi. Když se postaví před zrcadlo, tak zrcadlo kromě jeho obrazu zobrazí i bublinu s jeho příspěvkem, který posílal na některou ze sociálních sítí.
Obrázek 3: Cloudmirror.
Reference [1].
3.3
Magic Morphin Mirror/ Mass Hallucinations
Cílem tohoto bylo vytvořit interaktivní vizuální zážitek. Toto virtuální zrcadlo deformuje lidský obličej člověka, který se nachází před ním.
Obrázek 4: Magic Morphin Mirror.
4
Intermediální tvorba a technologie I
Tento systém používá tři klíčové moduly: 1. Odhad hloubky k oddělení uživatele od ostatních osob a pozadí. 2. Rozpoznávání kůže. 3. Rozpoznávání obličeje a jeho oddělení od ostatních částí těla. Systém využívá několika kamer a napůl postříbřeného (half-silvered) zrcadla pomocí kterého se obraz snímá a zároveň zobrazuje na monitor. Reference [6].
3.4
i-mirror
i-mirror imituje klasické zrcadlo pomocí speciálního optického systému a aplikací, které virtualizují zrcadlo. Tento systém používá buď dvě zrcadla či principu holografie. Zrcadlo je ve třech aplikacích: 1. Zrcadlo s nočním viděním – odraz v zrcadle je vidět i potmě. 2. Zrcadlo se kterým člověk omládne/zestárne. 3. Zrcadlo s pamětí. Toto zrcadlo se nejdříve chová jako normální zrcadlo a vše je zaznamenáváno na disk počítače. Poté je možné zobrazit zaznamenané video v zrcadle jakoby to byl přehrávač. Reference [5].
3.5
Handheld Mirror Simulation
Tento systém využívá LCD obrazovku, kameru připevněnou na tuto obrazovku a sledovací zařízení. Na obrazovce je poté zobrazen obraz stejně, jako by to bylo zrcadlo. Vše musí být zobrazeno samozřejmě real-timově. Reference [7].
4 4.1
Vlastní řešení Monitor – LCD
Jedno z řešeních bohužel ne nejvhodnější. Obraz nevypadá jako odraz v zrcadle či odraz od vodní hladiny. Přesto toto je nejsnažší řešení i s možností detekce dotyku v případě dotykové obrazovky a následné vlnění hladiny.
5
Intermediální tvorba a technologie I
4.2
Speciální zrcadlo a projekce obrazu pomocí projektoru
Obrázek 5: Postříbřené zrcadlo. Zdroj [8]
Použití speciálního napůl postříbřeného zrcadla, které se chová částečně jako zrcadlo a částečně jako okno skrz které je vidět. Kamera by pak natáčela obraz v zrcadle a člověk by skrz zrcadlo viděl na monitor.
Obrázek 6: Porovnání průchodu paprsků zrcadly.
Bohužel, zde se zrcadlo chová stále jako zrcadlo takže pro náš projekt není použitelné. V jednu chvíli by se zobrazoval přirozený odraz a promítaný obraz. Využítí by se uplatnilo při tvorbě tzv. Augment Reality.
6
Intermediální tvorba a technologie I
4.3
Princip polopropustného plátna a zpětné projekce – vlastní nápad
Obrázek 7: Využití zpětné projekce na plátno.
Pozorovatel hledí do „zrcadla“, které je tvořeno polopropustným plátnem. Z druhé strany plátna je tedy vidět pozorovatel před plátnem. Za plátnem tedy může být umístěna kamera, která bude snímat dění před plátnem. Obraz, který má být promítán na plátno zpětnou projekcí, musí být polarizován, aby se dal před kamerou odfiltrovat. Pozice kamery a projektoru jsou navzájem zaměnitelné.
5
Implementace
Jelikož všechny nalezené knihovny pro detekci obličeje (viz níže) jsou pro jazyk C++ rohozhodli jsme se využít dále frameworku Qt pro tvorbu GUI a využít jeho další grafické moduly. Jelikož jsou všechny nalezené knihovny včetně frameworku multiplatformní, bude cílový systém rozhodnut až na základě podpory hardwaru na dané platformě. Přesto bychom rádi dali přednost opensource OS.
5.1
Detekce obličeje
Nalezené knihovny:
7
Intermediální tvorba a technologie I
• Libface je knihovna, jejímž cílem je rozpoznání obličeje pro technologie open source komunity. Je napsána v C++ a udržována na Sourceforge. Knihovna používá OpenCV 2,0 a chce být middleware pro vývojáře, který nemusí obsahovat libovolný kód OpenCV s cílem využít rozpoznávání obličejů a detekce obličeje. Libface je vyrobena s použitím Cmake. To umožňuje, aby byl co nejvíce multiplatformní. V současné době byl testován s Mac OS X 10.6, Windows a Linux distribucemi. – C++ knihovna. – Multiplatformní. – Používá openCV (viz dále). • OpenCV (Open Source Computer Vision) je knihovna funkcí pro programování v reálném čase počítačového vidění. OpenCV je šířen pod licencí BSD, je zdarma pro akademické i komerční využití. Knihovna má více než 500 optimalizovaných algoritmů. Používá se od interaktivního umění až po pokročilou robotiku. – C++ knihovna. – Využití v real-time applikacích. – Nezávislá na OS. – Rozpoznávání objektů. – Úpravy videa a obrázků.
5.2
Framework Qt
Soubor multiplatformních knihoven pro práci s GUI, XML, vlákny, sítí, soubory a v neposlední řadě multimedii a grafikou. Framework má velice kvalitně zpracovanou dokumentaci a s jeho používání máme zkušenosti.
6
Realizovatelnost
Potřebný materiál: • PC/Notebook pro běh programu. • Využití opensource OS na bázi Linuxu. • Webkamera/Kamera pro snímání obrazu scény. • LCD display nebo projektor pro zobrazování odrazu. • Případně zrcadlo po projekci.
8
Intermediální tvorba a technologie I
Vlastní vývoj může běžet nezávisle u všech členů týmů. Hned na začátku bude potřeba vybrat a ověřit funkčnost snímacího zařízení ve spolupráci s jednotlivými použitými technologiemi. Dále konečně určit podobu „brány do druhého světa“ a to především provést sérii testů a zjistit nejvhodnější řešení nápadů z rešerše.
7
Závěr
Většina výše popsaných zrcadel se zaměřuje jen na jednu věc. Většinou nějak upravuje obličej osoby stojící před ním či je to technologie, která se chová jako zrcadlo i když to fyzicky zrcadlo není. Popřípadě dodává vlastní grafické prvky. Naším cílem je vytvořit pohled do komplexně jiného světa jak se změnou osob tak i pozadí. Vytvořením nové reality na zakladech té naší, která by byla tak blízká přesto nedotknutelná. Na základě naší rozvahy bychom rádi dali přednost řešení „brány“ pomocí vodní hladiny. Vlastní implementencací pomocí openCV, Qt a běžecí na operačním systému Linux.
9
Intermediální tvorba a technologie I
8
Zdroje informací
1 Monkeys and robots [online]. 2010 [cit. 2011-01-22]. The cloud mirror. Dostupné z WWW:
. 2 OpenCVWiki [online] 2010 [cit. 2011-01-22] OpenCV. Dostupné z WWW: . 3 The Code Project [online]. 2010 [cit. 2011-01-22]. Face Detection C++ Library with Skin and Motion Analysis. Dostupné z WWW: . 4 Qt [online]. 2010 [cit. 2011-01-22]. Qt. Dostupné z WWW: . 5 USHID, Keita, et al. I-mirror: An Interaction/Information Environment Based on a Mirror Metaphor Aiming to Install into Our Life Space. [online]. 2002, [cit. 2011-01-22]. Dostupný z WWW: . 6 DARRELL, T., et al A Virtual Mirror Interface using Real-time Robust Face Tracking. [online]. Palo Alto CA [cit. 2011-01-22]. Dostupné z WWW: 7 FRANÇOIS, Alexandre R.J. ; KANG, D Eun-Young Elaine . A HANDHELD MIRROR SIMULATION [online]. [cit. 2011-01-22]. Dostupný z WWW: . 8 Youtube LJANDERSSON [online]. [cit. 2011-01-23] Dostupný z WWW: .
10