Přehled Más Que la Cara

Más Que la Cara, španělská fráze, která znamená „více než tvář“, je v interaktivní instalaci, kterou jsme nainstalovali v loňském Downtown Houston.

Ke studiu, které pomáhám, YesYesNo, oslovila Weingarten Art Group a Downtown District zajímavou nabídku - navrhněte umělecká díla pro veřejnost v centru Houstonu ve staré budově Sakowitz, bývalém obchodním domě, který v současné době funguje jako garáž - fasáda budovy je stále stejná, ale vnitřek je zcela vykuchaný.

Budova byla jádrem centra Houstonu v 50. letech 20. století:

Interiéry Sakowitz

Milovali jsme okna na fasádě a navrhli instalaci na úrovni ulice, kde bychom si vzali dvě z nich, přidali do nich monitory a vytvořili interaktivní práci, která by vyzvala veřejnost k zapojení.

Tato velká okna se nám opravdu líbila

Okamžitě jsme přemýšleli o maskách. Před několika lety jsme s Kylem McDonaldem vyvinuli interaktivní instalaci pro výstavu SXSW, která nahradila vaši tvář nasekanými částmi obličeje, které jsme našli na starých fotografiích, v jakési performativní koláži. Milovali jsme, jak to vypadalo.

Stejně tak jsem postavil instalaci pro New York Hall of Science, která vyřízla části tváře několika předchozích účastníků a znovu je sestavila na tvář současného uživatele.

Když jsem na těchto projektech pracoval, byl jsem ohromen tím, jak moc se jedná o masky, a přemýšlel jsem, jestli bychom mohli udělat instalaci, kde bychom mohli vytvořit živé masky, které lidé budou provádět.

Pro tuto konkrétní instalaci v Houstonu jsme byli hluboce inspirováni prací Bruna Munariho, který ve své knize Design as Art má toto rozvržení, kde ukazuje, jak málo musíte reprezentovat tvář.

Bruno Munari - design jako umění

Podobným nápadem je Pareidolia, představa, že na nic tváře nemusíte moc vidět.

Byli jsme také zasaženi bohatou historií masek z různých kultur. Masky jsou nástroje pro hraní rolí a umožňují věřit a pomáhat vyjádřit to, co má smysl pro kulturu. Umožňují vám transformovat se a vidět se novým způsobem.

Díky aplikacím jako SnapChat jsou lidé stále častěji obeznámeni se sledováním obličeje a augmentací (ve formě filtrů snapchat) a přemýšleli jsme, jak bychom mohli dělat to, co děláme jinak. Naším řešením bylo zaměřit se na grafické zvětšení tváře - chtěli jsme, aby to vypadalo spíše jako plakát založený na vaší tváři více než trik nebo novinka. Začali jsme zkoumat grafiku plakátů a objevili jsme bohatý jazyk, který nás inspiroval. Naším hlavním cílem bylo vytvořit z něj živý plakát.

Návrhový proces

Myslím, že jednou z výzev veřejného uměleckého projektu je to, jak se spojíte s komunitou, ve které pracujete - a to nejen předvedením a instalací díla. Navrhli jsme řadu veřejných workshopů, kde by studenti z masky vyráběli masky a pomohli nám vymyslet, jak by naše masky mohly vypadat. Tyto workshopy byly velmi zábavné a také nám daly mnoho nápadů, jak se věci mohou shromažďovat a pohybovat.

Další věc, kterou jsme považovali za užitečnou, bylo vytvoření databáze masek - tyto sbírky se ukázaly jako velmi užitečné, protože jsme skicovali, pokud bychom potřebovali inspiraci.

maska ​​databáze v pixave, vizuální archiv nástroj (také jsme použili pinterest a slack)

Začali jsme skicováním v ilustrátoru - ušetřili bychom SVG, abychom otestovali pohybující se tvář.

V dalším kole skicování jsme začali zkoumat, jak tyto grafické nápady budou interagovat s obličejem - snažili jsme se přijít na to, jak lehce vyblednout obličej, aby se vynořila grafika.

Technické údaje

Grafický jazyk, který nás nadchl, nás vedl k prozkoumání použití paper.js jako našeho frontendu. Paperjs je javascriptová knihovna, která se skutečně cítí, jako byste byli v programové verzi ilustrátora (je vytvořena dvěma lidmi, kteří původně vytvořili Scriptographer, takže to dává smysl)

Už od doby, co jsem instaloval instalaci vedle fenomenálně nadané laboratoře 212 v Barbican muzeu, jsem byl nadšený z paper.js. Ve svém projektu, nazvaném Les métamorphoses de Mr. Kalia, použili aplikaci openFrameworks k sledování kinematických koster a poslali tato data do prohlížeče, který běžel paperjs a vizualizoval data. Vizuální styl byl na rozdíl od většiny OF nebo zpracování aplikací - velmi grafický a magický:

Pamatuji si, jak jsem je sledoval, jak vytvářejí nové scény načrtnutím ilustrátora a importem svg a bezproblémovou integrací grafických nápadů rychle.

Nemohu říci dost dobrých věcí o tom, jaké druhy grafického vzhledu můžete získat pomocí paper.js, který je postaven na plátně. Jako někdo, kdo je zvyklý na openGL, považuji za samozřejmé, že tlusté čáry budou většinou vypadat hrozně. Plátno je opravdu dobré na věci jako vržené stíny, přechody a silné čáry. Znamenalo to, že bychom mohli opravdu snadno vytvořit grafiku ve stylu plakátu.

Paper.js vypadá

Podobně jako v projektu pana Kálie jsme použili openFrameworks pro sledování a poslali data do prohlížeče, který provozuje paper.js.

V našem případě jsme použili sledování obličeje CLM, které leží na horní straně knihovny dLib. V minulosti jsem použil kód sledování obličeje Jasona Saragih (a velmi užitečný obal openFrameworks ofxFaceTracker, který vytvořil kyle mcdonald), ale měl jsem k tomu určité výhrady. Podle mé zkušenosti to má tendenci zpomalit, když nemůže najít obličej. Vím, že existuje několik řešení pro navlékání vláken, ale chtěl jsem najít něco více výkonného. Kromě toho jsem měl problémy s registrací ofxFaceTracker s dobrými polohami v ústech (na mé tváři je vousy docela matoucí) as nepříznivými světelnými a kontrastními podmínkami. Zajímavé na dlib je to, že používá HoG k vyhledání tváří v obrázku, spíše než ofxFaceTracker, který používá vyhledávač haarů openCv. Zjistil jsem, že HoG pracuje spolehlivěji ve špatnějších světelných podmínkách. Zde je srovnání videa z obou detektorů.

Detekce obličeje HoG

Další věc, která pomohla z technické stránky, je CLAHE, což je lokální úprava kontrastu. Zjistil jsem, že v mnoha případech budeme mít špatný kontrast kolem obličeje, zejména v situacích, kdy byla postava podsvícena. Na obrázku kamery bylo dost informací, ale druhy kontrastu, které chcete vidět kolem rysů obličeje, by byly příliš ploché, aby se daly zachytit. To, co dělá, je zlepšit místní kontakt - svým způsobem to všechno vypadá jako kresby na uhlí, protože někdo, kdo kreslí, používá při kreslení soustředění na malé kontrastní rozdíly. To zesiluje místní kontrast v obličeji a výrazně pomáhá zlepšit sledování. Doporučuji clahe každému, kdo experimentuje se sledováním obličeje a čelí přirozeným (a nepříznivým) světelným podmínkám. Některé z mých podsvícených situací byly brutální a tento algoritmus byl zachránce.

CLAHE dělá všechno vypadat jako kresba!

Zde je příklad některých špatných světelných situací, kterým jsme čelili:

podsvícení a boční osvětlení pro nás byly velkým problémem

Data (68 bodů obličeje, stejně jako ohraničující kruh a orientaci) odesíláme z OF (který najde obličej) na paper.js, který vizualizoval obličej přes OSC na horní části websockets.

údaje o obličeji na straně openframeworks a v paper.js

Jednou z technických výzev, kterou jsme museli použít rozhraní front-end s prohlížečem (s backframeworks na backendu), je to, že jsme chtěli mít video z webové kamery směřující na obě místa. Na straně OF jsme potřebovali video pro sledování, ale chtěli jsme také ukázat tvář živě v prohlížeči s paper.js jako druh augmentace. Nekonečně jsme se dívali na řešení, která by nám umožnila vyřadit video z openFrameworks do prohlížeče - z webrtc, streamování, popadnutí plochy atd., Ale nenašli jsme řešení, které by fungovalo velmi dobře. V určitém okamžiku jsme se dokonce pokusili použít CEF, což dává chromu v openFrameworks jako texturu, ale zjistili jsme, že to není super výkon.

vlevo, dat.gui běžící v CEF uvnitř openFrameworks - vpravo je aplikace OF zkompilovaná do emscriptu pro spuštění v prohlížeči, spuštěna v CEF, v OF (inception!)

Nakonec jsme našli řešení, kde máme otevřenou kameru na OF i prohlížeči. Kamera v prohlížeči sedí pod plátnem paperjs:

Živé video v prohlížeči s paperjs nahoře - všimněte si, jak se paperjs skvěle mísí s podkladovým videem

Kamera je UVC kamera a my jí posíláme příkazy z aplikace OF ke změně úrovně expozice při změně světla (zjistili jsme, že její vlastní automatické nastavení bylo příliš agresivní s množstvím podsvícení, které jsme viděli v některých bodech dne ). Zjistili jsme, že to není 100% stabilní (kamera zamrzne přibližně jednou denně), takže jsme ukončili vytváření skriptu, který detekuje problémy a restartuje software. Přidal jsem nějaký kód, který chcete zveřejnit na nevyužitého kanálu, abych to mohl sledovat - moje telefonní bzučení se nyní restartuje.

Existovaly některé zajímavé výhody a nevýhody používání chromu jako rozhraní frontend. Jednou výzvou, kterou jsme měli, je to, že chrome má tendenci se agresivně aktualizovat a někdy v průběhu roku se náš kód na celou obrazovku / kiosk rozpadl, protože chrome změnil položku nabídky a náš kód aplikace byl zastaralý. Zjistil jsem, že můžete použít kanár a existuje několik způsobů, jak zabránit automatické aktualizaci, ale to je něco, co jsme na začátku nezvažovali. Další kon byl, že když používáte video v chrome, musíte použít https - to zvyšuje úroveň složitosti pro věci, jako jsou webové zásuvky / uzel.

Na straně plus, tam jsou skvělé ladicí nástroje vestavěné do chrome a jako staré školy c ++ programátoři jsme zjistili, že je užitečné, pokud dáme "použití přísné" v horní části našich javascriptových souborů, můžeme použít konstrukty třídy es6 bez použití transpilátoru, jako je babel. Existuje také několik zajímavých funkcí, které jsme používali jako filtry css3, aby se video stalo „duotonovým“, jakmile se maska ​​objeví nahoře. V našem javascriptovém kódu jsme také našli několik užitečných knihoven javascriptu, jako je material.js a dat.gui, pro fyziku a gui.

Další technické detaily, používáme ultrasvětlé televizory Dynascan, které mají displeje, které by mohly fungovat na plném slunci. V noci jsme pomocí dmx ovládaných fotografických světel proměňovali okno kolem televizoru v jakýsi měkký světelný box. Software běžel na laptopech OS X a používali jsme kamery Logitech c920s.

tým

Jednou z radostí takového projektu je úžasný tým, který se schází, aby to bylo možné. Molmol Kuo, můj partner v YesYesNo, poskytl úžasný umělecký směr. Gordey Cherney, byl obrovskou pomocí při vytváření masek a rámců pro pracovní postup ilustrátora -> paperjs. Matthias Dortfelt také přispěl několika generativními maskami.

Jsme opravdu vděční za tým umělecké skupiny Lea Weingarten, včetně Lea Weingarten a Piper Faust, kteří byli pro dosažení tohoto úspěchu nápomocní.

Z centra města bychom chtěli poděkovat Angie Bertinotové, Jacqueline Longorii, Joe Maxwellovi a Lonnie Hoogeboomovi, s nimiž byla úžasná spolupráce. Také Onézieme Mouton a tým pro stavbu skvělé struktury pro umístění zařízení.

Jedno z našich plánovacích sezení v garáži

Nakonec několik záběrů v akci:

(Některé kryty obrazovky ze vzdáleného prohlížení - bylo to skvělé přihlašovací jméno a sledujte, jak jej lidé používají)