Pravděpodobnostní programování pro počítačové vidění  
Vývojáři z MIT pracují na jazyku pravděpodobnostního programování pro aplikace počítačového vidění.


Horní řádek ukazuje 2D obrázky lidských tváří, dolní řádek jejich 3D modely ve starším software a prostřední řádek ukazuje modely vytvořené s Picture. Kredit: Kulkarni et al., MIT.
Horní řádek ukazuje 2D obrázky lidských tváří, dolní řádek jejich 3D modely ve starším software a prostřední řádek ukazuje modely vytvořené s Picture. Kredit: Kulkarni et al., MIT.
Poslední dobou jsme svědky intenzivního rozvoje umělých inteligencí. Skynet to sice ještě není, ale stále víc nás obklopují podivuhodně inteligentní aplikace, které nám chtějí usnadnit život. Většinu pokroku umělých inteligencí má na svědomí strojové učení (machine learning), tedy algoritmy, díky kterým se počítače dovedou samy učit z dostupných dat.

Tejas Kulkarni. Kredit: T. Kulkarni.
Tejas Kulkarni. Kredit: T. Kulkarni.

Vývojáři umělých inteligencí se snaží usnadnit tvorbu aplikací strojového učení a tak vyvíjejí takzvané pravděpodobnostní programování (probabilistic programming), které je šité na míru ovládaní algoritmů strojového učení.

Pravděpodobnostní programování zaujalo i americké vojenské vizionáře DARPA (Defense Advanced Research Projects Agency), kteří spustili čtyřletý program financování jeho výzkumu Probabilistic Programming for Advancing Machine Learning (PPAML).



Tejas Kulkarni z MIT a jeho kolegové hodlají na červnové konferenci Computer Vision and Pattern Recognition předvést sílu pravděpodobnostního programování při řešení úloh pro počítačové vidění (computer vision), v programech či aplikacích získávajících data ze zachyceného obrazu. Tvrdí, že takové programy, které mají v konvenčním počítačovém jazyku rozsah tisíců řádků, lze sepsat v jazyku pravděpodobnostního programování na pár desítek řádků. V MIT si pro své experimenty vyvinuli jazyk pravděpodobnostního programování Picture, který navazuje na dříve vyvinutý jazyk MIT pro pravděpodobnostní programování jménem Julie. Podle jejich slov je to poprvé, kdy se někdo pustil do počítačového vidění s pravděpodobnostním programováním.

Logo programu Probabilistic Programming for Advancing Machine Learning (PPAML). Kredit: DARPA.
Logo programu Probabilistic Programming for Advancing Machine Learning (PPAML). Kredit: DARPA.

Vědci studovali použití pravděpodobnostního programování v počítačovém vidění třeba na řešení problému konstrukce trojrozměrného modelu lidské tváře ze dvojrozměrného obrázku. Odvozování tvaru je totiž pravděpodobnostní úloha. Jde o to, vybrat z mnoha navzájem si konkurujících možností tu, která je nejvíc pravděpodobná. A právě tohle usnadňují jazyky pravděpodobnostního programování.



Program Kulkarniho a spol. v jazyku Picture popisuje klíčové parametry tváře, jako například pozice dvou symetricky rozmístěných objektů (očí) a dvou dalších objektů umístěných veprostřed pod nimi (nosu a úst). Překlad charakteristik obličeje do jazyka pravděpodobnostního programování prý nedá mnoho práce a pak už jenom stačí krmit software 2D obrázky tváří společně s odpovídajícími 3D modely, na nichž se program sám naučí vše potřebné.



V jazyku pravděpodobnostního programování má tu nejtěžší práci na starost takzvaný odvozovací algoritmus (inference algorithm). Právě ten zařizuje strojové učení programu z dat, která má k dispozici. Kulkarni a jeho kolegové mohli využít dosavadní pokrok ve výzkumu strojového učení a vybavili jazyk Picture několika různými odvozovacími algoritmy, které se osvědčily v úlohách počítačového vidění. Picture si může při řešení určitého problému vyzkoušet všechny a zjistit, který algoritmus je pro danou situaci ten nejlepší.



Zároveň je jazyk Picture navržen tak, že si může prostřednictvím strojového učení vylepšit samotné odvozovací algoritmy. Vylepšování odvozovacích algoritmů bývá hodně specifické a vázané na konkrétní problém, pravděpodobnostní programování ho ale umožňuje zobecnit. Podle oslovených odborníků z oboru nabízí Picture možnost řešit takřka všechny problémy počítačového vidění a také se blíží k odpovědi na zásadní otázku počítačového vidění – jak v počítači co nejlépe zachytit vizuální scénu.




Video:  AGI 2011 - Probabilistic Programs: A New Language for AI.





Literatura
MIT News 13. 4. 2015, Wikipedia (Machine learning, Computer vision, Probabilistic programming language).

Datum: 19.04.2015 22:43
Tisk článku



Diskuze:

Špatně placení dobrovolníci nemají kvalitní hlavy

Josef Hrncirik,2015-04-21 20:36:05

Co si ale inteligentní program pomyslí a co vymodeluje když uvidí např. jako Archimedes: kouli,krychli,válec, kužel, (např. kouli opsané). Nevytesá 4 stejné Barracky?

Odpovědět

Má T. Kulkarni vpravo pravé ucho?

Josef Hrncirik,2015-04-21 17:39:50

Odpovědět

Pane Tomasi A,

Jan Kment,2015-04-20 21:47:55

předpokládám, že základem toho programu by měla být stavba průměrné lidské hlavy a připadá mi, že právě tyhle parametry nejsou dobře zadané, velikost mozkovny je podceněná, tvarování příliš kónické, lícní kosti nepřirozeně ustupují atd. zkrátka jakoby to zadával sám programátor... :-)

Odpovědět


Tomas A,2015-04-20 23:15:41

Prumerna hlava je tak dobra, jak kvalitni jsou skeny onech 200 dobrovolniku, ze kterych je vypocitana. Co se tyce tech dalsich veci, tak se samozrejme jedna jen o castecny povrch (tvar) a ne o kompletni hlavu, proto jsou modely oriznute - to je doufam jasne. Hezci obrazky jsou primo v konferencnim clanku
http://mrkulk.github.io/www_cvpr15/1999.pdf

Nektere nerealisticke rysy ve tvari jsou dane tim, ze vzhledem k dostupne ucici databazi zase tak nepravdepodobne nejsou. Problem by zde castecne resilo apriorni omezeni prostoru designerem (cimz se ale omezi presnost/citlivost inference), jedine skutecne reseni by vsak bylo podstatne rozsirit ucici databazi a exhaustivne bez jakekoliv heuristiky prochazet cely prostor parametru, coz je spise hudba budoucnosti.

Holt vnimani kvality je evidentne zavisle na oblasti, ve ktere se oba pohybujeme. Zatimco mne se libi pravdepodobnostni formulace ulohy a jeji efektivni algoritmus reseni, vam jako grafikovi pripadaji vysledne modely nerealisticke. Ja naopak nedocenim vselijake abstratkni umeni, ktere by z ciste remeslneho hlediska zvladl kazdy zak druheho stupne ZS...

Odpovědět


Souhlasím,

Jan Kment,2015-04-20 23:43:48

ty hlavy na tom vašem odkazu vypadají mnohem lépe. (nechci se s vámi hádat o tom, jestli je hezčí Lara Croft nebo Zina s absintem od Picassa, jde mi čistě o měřitelné proporce :-)

Odpovědět

Všichni se nápadně podobáme Bin Ládinovi

Josef Hrncirik,2015-04-20 19:07:33

Odpovědět

Je to reklama na špatné posmrtné masky od Darpy.

Josef Hrncirik,2015-04-20 17:52:45

Vše v jedné zásilce.

Odpovědět

Promiňte,

Jan Kment,2015-04-19 23:29:35

jako výtvarník vidím v prvních dvou řádcích slušné portréty ale ve třetím (tzv. 3d) poněkud nepodařené androidy, kteří nejen téměř neodrážejí podobu předloh, ale také se vymykají proporcím běžné lidské hlavy. Jakoby tu někdo opět trochu překročil své kompetence... V počítačových hrách nad tím mávnu rukou, ale ve vědě? :-)

Odpovědět


Mintaka Earthian,2015-04-20 00:21:12

V tom případě je to v pořádku. Spodní řádek ukazuje srovnání s 3D modely v hrách, a leckteré jsou na tom opravdu bídně.

Odpovědět


Ohnisková vzdialenosť

Marek Fucila,2015-04-20 15:39:29

Podľa mňa ide len o to, že 3D modely su vyrendrované pri pohľade zblízka. Tvár je potom užšia.
http://petapixel.com/2011/11/07/a-striking-look-at-how-focal-length-affect-head-shots/

Odpovědět


Tomas A,2015-04-20 18:13:54

Jde o to, ze modely jsou automaticky rekonstruovane na zaklade odhadu z 2D pohledu, tedy vlastne jeste s mene vstupnimi informacemi, nez ma bezne k dispozici clovek.

Funguje to tak, ze je nejprve z nejake databaze obliceju (zde pouzili 3D skeny pokud si dobre pamatuji asi 200 lidi) sestavite pravdepodbnostni model. Je to v principu to same, jako kdybyste sledoval prumernou vysku v populaci a vykreslil graf rozlozeni jejich hodnot. Zde je jen vice promennych, tedy graf by byl mnohorozmerny.

Ulohou je pak z dvourozmerneho pohledu najit nejpravdepodobnejsi trojrozmernou podobu obliceje, k cemuz z principu neni dostatek informaci pro exaktni reseni. Je to podobne, jako kdybyste mel vysku odhadovat na zaklade dotazniku, zda clovek pripada ostatnim vysoky ci ne. Proto ony inferencni algoritmy, jejichz uspesnost kriticky zavisi na kvalite trenovaciho modelu (zde se uvazuje, ze jakykoliv oblicej lze sestavit kombinaci z onech 200 naskekovanych dobrovolniku) a mnozstvi vstupnich informaci, predevsim pokud mate velke mnozstvi neznamych promennych (kontrolni parametry kombinace). Modely se tak mohou zdat nedokonale, ale v ramci moznosti a vzhledem ke slozitosti prohledavaneho prostoru moznosti jsou opravdu velmi kvalitni.

Odpovědět


Diskuze je otevřená pouze 7dní od zvěřejnění příspěvku nebo na povolení redakce








Zásady ochrany osobních údajů webu osel.cz