Počítačová grafika, vidění a vývoj her

Naše nová specializace "Počítačová grafika, vidění a vývoj her" je součástí bakalářského studijního programu "Informatika" (B0613A140006) od školního roku 2019/2020.

Naším cílem bylo nabídnout studium zaměřené na vizuální obory: syntézu i analýzu obrazu, fotorealistickou i realtime grafiku včetně počítačových her – vděčné obory, ve kterém čeští a slovenští vědci a vývojáři vynikají.

Velkou výhodou naší specializace je, že přestože obsahuje tři různá zaměření (fotorealistická grafika, realtime grafika a počítačové hry, počítačové vidění), během studia nemusíte deklarovat, co přesně chcete studovat. Prostě se přihlásíte na program "Informatika", studujete povinné předměty (společné pro celou informatiku) a od druhého ročníku si jen začnete zapisovat přednášky a semináře, které Vás budou nejvíce zajímat nebo které budou užitečné pro Vaše zaměření. A až před skládáním závěrečné bakalářské zkoušky si zvolíte, pro který směr jste se rozhodli.
Samozřejmě o rok dříve si volíte téma bakalářské práce, tam už Vám doporučíme, abyste se poohlédli po tématu/vedoucím, blízkému Vašim zájmům a cílům.

Po úspěšném absolvování Bc. studia grafiky můžete dále pokračovat navazujícím magisterským programem "Vizuální výpočty a počítačové hry" (Visual Computing and Game Development) nebo později můžete dokonce studovat podobně zaměřený doktorandský obor. Vše je pro Vás na Matfyzu připraveno.

Tato webová stránka Vám může pomoci se rozhodnout, jestli chcete studovat bakalářskou Informatiku na Matfyzu, konkrétně specializaci "Počítačová grafika, vidění a vývoj her". Nejdříve představíme jednotlivá zaměření, potom příklady průchodů studiem a nakonec jednotlivé grafické předměty.

Prezentace z besedy o Bc. specializacích (14. 9. 2021)

Zaměření: Počítačová grafika

photorealistic

Chcete se seznámit s moderními metodami fotorealistického renderingu a později třeba pracovat ve výzkumu nebo vývoji rendererů? V Praze máme výbornou tradici těchto oborů, např. zde byl založen světoznámý Corona Renderer (naši kolegové z grafické skupiny MFF UK) nebo FurryBall renderer (rendering filmů jako Kozí příběh, ..).

V tomto zaměření Vám nabízíme přednášky (detailně budou představeny později):

  • NPGR003 Základy počítačové grafiky – pokrývá základy 2D a 3D grafiky, barvy, základy realtime grafiky (OpenGL) a stínování
  • NPGR004 Fotorealistická grafika – pokračuje jednoduššími fotorealistickými metodami (ray-tracing) až k modernějším přístupům založeným na Monte-Carlo výpočtech (viz dnešní současné komerčně používané algoritmy)
  • NPGR025 Introduction to Colour Science – vše potřebné o barvách, jejich reprezentaci na počítači nebo využití při realistické syntéze obrazu. Profesionální renderer nebo třeba tiskový systém se neobejde bez správně používaných barevných systémů!
  • NPGR020 Geometrie pro počítačovou grafiku – základy geometrie pro geometrické modelování, které by měl znát každý, kdo se 3D grafikou zabývá. Naučíte se základy, s jejichž pomocí se editují 3D objekty v systémech jako 3D Studio Max nebo Blender
  • NPGR039 Animovaná a grafická tvorba – seznámíte se s reálnými postupy používanými v praxi grafického studia při vývoji počítačových efektů pro film, reklamu nebo v jiných grafických projektech

Jeden možný průchod Bc studiem najdete zde.

Zaměření: Počítačové vidění

vision

Chcete se naučit základům teorie i praxe počítačového vidění, oboru, na kterém jsou založeny technologie budoucnosti jako autonomní roboti nebo samořídicí auta? Můžete se později zabývat výzkumem nebo vývojem takových algoritmů. Mnoho budoucích systémů umělé inteligence bude potřebovat vizuální komponenty. Rychlé rozpoznávání objektů nebo speciálních značek je velmi žádanou dovedností již dnes, i v takových oborech jako rozšířená realita (Augmented Reality).

V tomto zaměření se Vám budou hodit například přednášky:

  • NPGR003 Základy počítačové grafiky – pokrývá základy 2D a 3D grafiky, barvy, základy realtime grafiky (OpenGL), a stínování
  • NPGR002 Digitální zpracování obrazu – základy matematického modelování obrazu, potlačování šumu, vývoj filtrů pro vylepšení obrazu nebo detekci potřebných prvků v něm
  • NPGR025 Introduction to Colour Science – vše potřebné o barvách, jejich reprezentaci na počítači nebo využití při analýze obrazu
  • NPGR036 Počítačové vidění – analýza obrazu zaměřená na detekci objektů v obraze. Každý moderní systém zpracovávající obrazové vstupy (z digitálních fotoaparátů nebo kamer) tyto algoritmy potřebuje, bez nich by se žádný autonomní robot vybavený kamerou nemohl obejít!
  • NPGR035 Strojové učení v počítačovém vidění – tato přednáška je zaměřena na rozpoznávání/klasifikaci objektů v digitálním obraze. Naučíte se ty nejužitečnější techniky, které se již dnes uplatňují v systémech umělé inteligence, neuronové sítě budete používat zejména pro vizuální data (kde bylo v posledním desetiletí dosaženo asi nejvýraznějšího pokroku)
  • NPGR037 Praktikum z Matlabu – systém Matlab je univerzálním jazykem výpočetních matematiků a vědců zabývajících se analýzou obrazu a rozpoznáváním vzorů. Praktikum Vám umožní dosáhnout v tomto programu vyšších úrovní dovednosti, postačujících k praktickému a efektivnímu využívání Matlabu pro Vaše studentské práce i další projekty

Jeden možný průchod Bc. studiem najdete zde.

Zaměření: Vývoj počítačových her

games

Zaměření pro ty, které láká vývoj počítačových her. Seznámíte se nejen s nejpopulárnějšími knihovnami ("engines": Unity, Unreal), ale mohli byste si i troufnout do vývoje vlastního "engine" nebo do existujících systémů přispívat netriviálním způsobem. Dozvíte se rovněž o postupech používaných herními studii při vývoji úspěšných projektů.
V neposlední řadě budou Vaše dovednosti žádané v rychle se rozvíjejícím oboru rozšířené reality (Augmented Reality).

Některá známější studia, která přímo založili absolventi MFF UK:
Bohemia Interactive (Operation Flashpoint, Arma, DayZ, ..),
Bohemia Interactive Simulations (VBS1-3 – profesionální armádní simulátory),
SCS Software (Truck Simulators),
Beat Games (Beat Saber), ...
V mnoha dalších herních studiích fungují matfyzáci jako užiteční architekti, grafici nebo vývojáři.

Ale to trochu předbíháme – bakalářské přednášky a semináře vhodné pro Vás:

  • NPGR003 Základy počítačové grafiky – pokrývá základy 2D a 3D grafiky, barvy, základy realtime grafiky (OpenGL) a stínování
  • NPGR019 Realtime grafika na GPU – podrobnější informace o tom, jak funguje moderní GPU a jak ho můžeme programovat. Shadery, efekty, triky, efektivní využití HW, který máme k dispozici. Více či méně podrobně se dozvíte o technologiích: OpenGL, GLSL, Vulkan, OpenCL, CUDA
  • NPGR020 Geometrie pro počítačovou grafiku – základy geometrie pro geometrické modelování, který by měl znát každý, kdo se 3D grafikou zabývá. Naučíte se základy, s jejichž pomocí se editují 3D objekty v systémech jako 3D Studio Max nebo Blender
  • NPGR038 Základy vývoje počítačových her – další postupy užitečné pro herní vývojáře, přednáška doplněná praktickými cvičeními
  • NCGD003 Gameplay Programming – naučíte se dva populární systémy usnadňující vývoj nových her: Unity 3D a Unreal Engine. Čistě praktický předmět vyučovaný v počítačové laboratoři
  • NCGD006 Practical Course on Rapid Game Development – vyzkoušejte si jednotlivě nebo v malém týmu za jeden semestr navrhnout a dokončit svůj vlastní herní projekt. U tohoto předmětu Vám dokonce doporučíme, abyste si ho zapsali dvakrát a vyzkoušeli si tak různé přístupy a technologie

Jeden možný průchod Bc. studiem najdete zde.

Příklady průchodů bakalářským studiem

Abyste si lépe představili, jak může studium na MFF vypadat, předkládáme Vám příklady tzv. "průchodů studiem". Kromě prvního ročníku je studium zcela volitelné – můžete si vybírat, které předměty si zapíšete a ve kterém semestru je budete navštěvovat. Protože existuje mnoho možností, v následujících sekcích se můžete inspirovat. Najdete tu příklady průchodů, které jsou logické, vše na sebe pěkně navazuje a na konci budete mít splněna požadovaná kritéria a budete připraveni na závěrečné zkoušky.
Ti kreativnější z Vás mohou s touto inspirací samozřejmě dále pracovat, minimálně si mohou zvolit jiné volitelné nebo povinně volitelné předměty. To už záleží na každém z Vás.

Legenda – barvami jsou znázorněny třídy předmětů:

  • Černě jsou předměty povinné pro celý obor Informatika (ty musí absolvovat každý, u některých si můžete volit, ve kterém semestru to bude).
  • Modře jsou znázorněny povinné a povinně volitelné předměty z naší tématické oblasti (počítačová grafika, vidění a vývoj her). Nemusíte je absolvovat přesně v navržené konfiguraci (jediný povinný je NPGR003 Základy počítačové grafiky).
  • Oranžově jsou znázorněny povinné a povinně volitelné předměty z ostatních oblastí informatiky nebo matematiky (z toho jsou povinné jen tři: Programování v C#, Programování v C++ a Matematická analýza 2).

Podtržené jsou ty barevné předměty, které jsou v daném zaměření povinné nebo silně doporučené – tzv. "profilové" – je na nich založena Bc. státní zkouška. Černé předměty nepodtrháváme, ty jsou automaticky povinné pro všechny studenty.

Průchod: Počítačová grafika

 1. r ZS

zk:5, kr:27
Algoritmizace (2/1)
Programování 1 (2/2)
Počítače a data (2/0)
Úvod do počítačových sítí (2/0)
Diskrétní matematika (2/2)
Lineární algebra 1 (2/2)
Matematické dovednosti (0/2)
 1. r LS

zk:5, kr:29
Algoritmy a datové struktury 1 (2/2)
Programování 2 (1/2)
Principy počítačů (2/2)
UNIX (1/2)
Matematická analýza 1 (2/2)
Lineární algebra 2 (2/2)
 2. r ZS

zk:6, kr:30
Algoritmy a datové struktury 2 (2/2)
Kombinatorika a grafy 1 (2/2)
NPGR003 Základy počítačové grafiky (2/2)
Programování v C# (2/2)
Programování v C++ (2/2)
Matematická analýza 2 (2/2)
 2. r LS

zk:6, kr:34
Automaty a gramatiky (2/2)
Pravděpodobnost a statistika 1 (2/2)
Ročníkový projekt (0/1)
NPGR004 Fotorealistická grafika (2/2)
Matematická analýza 3 (2/2)
Pokročilé C++ (2/2)
Numerická matematika (2/2)
 3. r ZS

zk:5, kr:29
Výroková a predikátová logika (2/2)
Databázové systémy (2/2)
NPGR002 Digitální zpracování obrazu (3/0)
NPGR025 Introduction to Colour Science (2/0)
NPGR037 Praktikum z Matlabu (0/2)
Pravděpodobnost a statistika 2 (2/2)
Operační systémy (2/1)
 3. r LS

zk:5, kr:30
Vypracování a konzultace Bc. práce
NPGR036 Počítačové vidění (2/2)
NPGR020 Geometrie pro počítačovou grafiku (2/0)
NPGR019 Realtime grafika na GPU (2/2)
Vývoj vysoce výkonného software (2/2)
Diskrétní a spojítá optimalizace (2/2)

Průchod: Počítačové vidění

 1. r ZS

zk:5, kr:27
Algoritmizace (2/1)
Programování 1 (2/2)
Počítače a data (2/0)
Úvod do počítačových sítí (2/0)
Diskrétní matematika (2/2)
Lineární algebra 1 (2/2)
Matematické dovednosti (0/2)
 1. r LS

zk:5, kr:29
Algoritmy a datové struktury 1 (2/2)
Programování 2 (1/2)
Principy počítačů (2/2)
UNIX (1/2)
Matematická analýza 1 (2/2)
Lineární algebra 2 (2/2)
 2. r ZS

zk:6, kr:32
Algoritmy a datové struktury 2 (2/2)
Kombinatorika a grafy 1 (2/2)
NPGR003 Základy počítačové grafiky (2/2)
NPGR002 Digitální zpracování obrazu (3/0)
NPGR037 Praktikum z Matlabu (0/2)
Programování v C# (2/2)
Matematická analýza 2 (2/2)
 2. r LS

zk:6, kr:32
Automaty a gramatiky (2/2)
Pravděpodobnost a statistika 1 (2/2)
Ročníkový projekt (0/1)
NPGR036 Počítačové vidění (2/2)
NPGR020 Geometrie pro počítačovou grafiku (2/0)
Matematická analýza 3 (2/2)
Diskrétní a spojítá optimalizace (2/2)
 3. r ZS

zk:6, kr:30
Výroková a predikátová logika (2/2)
Databázové systémy (2/2)
NPGR035 Strojové učení v počítačovém vidění (2/2)
Úvod do robotiky (2/2)
Pravděpodobnost a statistika 2 (2/1)
Programování v C++ (2/2)
 3. r LS

zk:4, kr:27
Vypracování a konzultace Bc. práce
NPGR004 Fotorealistická grafika (2/2)
NPGR019 Realtime grafika na GPU (2/2)
Numerická matematika (2/2)
Vývoj vysoce výkonného software (2/2)

Průchod: Vývoj počítačových her

 1. r ZS

zk:5, kr:27
Algoritmizace (2/1)
Programování 1 (2/2)
Počítače a data (2/0)
Úvod do počítačových sítí (2/0)
Diskrétní matematika (2/2)
Lineární algebra 1 (2/2)
Matematické dovednosti (0/2)
 1. r LS

zk:5, kr:29
Algoritmy a datové struktury 1 (2/2)
Programování 2 (1/2)
Principy počítačů (2/2)
UNIX (1/2)
Matematická analýza 1 (2/2)
Lineární algebra 2 (2/2)
 2. r ZS

zk:6, kr:30
Algoritmy a datové struktury 2 (2/2)
Kombinatorika a grafy 1 (2/2)
NPGR003 Základy počítačové grafiky (2/2)
Programování v C# (2/2)
Programování v C++ (2/2)
Matematická analýza 2 (2/2)
 2. r LS

zk:6, kr:34
Automaty a gramatiky (2/2)
Pravděpodobnost a statistika 1 (2/2)
Ročníkový projekt (0/1)
NPGR019 Realtime grafika na GPU (2/2)
NPGR038 Základy vývoje počítačových her (2/2)
Pokročilý C# (2/2)
Pokročilé C++ (2/2)
 3. r ZS

zk:4, kr:30
Výroková a predikátová logika (2/2)
Databázové systémy (2/2)
NCGD003 Gameplay Programming (0/4)
NCGD006 Practical Course on Rapid Game Development (0/1)
NPGR002 Digitální zpracování obrazu (3/0)
Operační systémy (2/1)
Úvod do robotiky (2/2)
 3. r LS

zk:4, kr:26
Vypracování a konzultace Bc. práce
NCGD006 Practical Course on Rapid Game Development (0/1)
NPGR020 Geometrie pro počítačovou grafiku (2/0)
NPGR004 Fotorealistická grafika (2/2)
NPGR036 Počítačové vidění (2/2)
Úvod do umělé inteligence (2/2)

Předměty

NPGR003

NPGR003: Základy počítačové grafiky

Pokrývá základy 2D a 3D grafiky, úvod do realtime grafiky (OpenGL) a stínování. Jaké otázky a témata nás budou zajímat:

  • Jak vnímá barvy člověk? Jak se barvy ukládají na počítači a jak se skládají? Jak se reprodukují na digitálních výstupních zařízeních (displej, projektor, tiskárna)?
  • Rozdíly mezi rastrovou a vektorovou grafikou. Základy SVG.
  • Jak počítač vektorové objekty vykresluje ("rasterizuje")? Co je anti-aliasing a jak vylepšuje rastrový grafický výstup? Jakými metodami se ant-aliasing počítá?
  • Co je to HDR grafika a jak nám může vylepšit grafický výstup?
  • Jak se ukládají poloprůhledné obrázky? Jak je možné dva poloprůhledné obrázky kombinovat?
  • Které jsou nejpopulárnější formáty pro ukládání rastrových obrázků a jaké kompresní metody se v nich používají?
  • Základy 3D počítačové grafiky – matematické nástroje: homogenní souřadnice, maticové transformace, projekce, kvaterniony, animační křivky.
  • Jak se v počítači reprezentují 3D scény a jak je efektivně vykreslit?
  • Základy architektury grafických karet (GPU). Jak GPU zpracovává naši 3D grafiku.
  • Základy OpenGL a příklady 3D realtime aplikace. K čemu jsou "shadery", co všechno mohou ovlivnit a jak se programují?
  • Základy stínování: jak nakreslit pěkně vypadající 3D objekt? Jednoduchá simulace materiálu – barva, odrazivost, lesk.
  • Jak počítat viditelnost 3D scény? Jak počítá viditelnost grafická karta?
  • Základy fotorealistické grafiky: princip metody "Ray-tracing" (rekurzivní sledování paprsku).

NPGR004

NPGR004: Fotorealistická grafika

Pokračujeme jednoduššími fotorealistickými metodami ("Ray-tracing") až k modernějším přístupům založeným na Monte-Carlo výpočtech (moderní komerčně používané algoritmy). Čím se budeme zabývat:

  • Modely odrazu světla na povrchu těles. Na jakých principech jsou založeny fyzikálně věrnější modely odrazu?
  • Rekurzivní sledování paprsku (RT): základní principy a východiska. Které nedostatky má naivní varianta tohoto algoritmu?
  • Jak se počítají průzečíky paprsku s různými 3D tvary/tělesy? Jak je možné výpočet průsečíků urychlovat? Může se počítat scéna s mnoha miliardami trojúhelníků?
  • Jak se anti-aliasing implementuje v RT? Přehled několika vzorkovacích technik. Je možné tyto algoritmy implementovat adaptivně, abychom ušetřili čas?
  • Mapování textur, 2D a 3D textury. Jak pomocí šumových funkcí napodobit přírodní jevy? Jak modelovat strukturu dřeva nebo mramoru?
  • Monte-Carlo přístupy v rekurzivním sledování paprsku: jak potlačit většinu nedokonalostí naivního algoritmu RT?
  • Jiné přístupy pro výpočet realistického šíření světla ve scéně – např. radiační metody na to jdou úplně jinak!
  • Moderní metody fotorealismu vycházející z Monte-Carlo přístupu: Path-tracing, Photon-mapping. Teorie šíření světla (zobrazovací rovnice) a metody aproximující její řešení.

NPGR019

NPGR019: Realtime grafika na GPU

Podrobnější informace o tom, jak funguje moderní GPU a jak ho můžeme programovat. Shadery, efekty, triky, efektivní využití HW, který máme k dispozici. Dozvíte o technologiích: OpenGL, GLSL, Vulkan, OpenCL, CUDA. Trochu podrobnější výčet témat:

  • Hardwarová architektura GPU, typické proudové zpracování ("pipeline") 3D dat. Dnes máme shadery a proudy vrcholů, vždy tomu tak ale nebylo!
  • Jaké reprezentace 3D scény se nejlépe hodí pro GPU zobrazování? Jaká data můžeme do grafické karty posílat? Které veličiny typicky posíláme spolu s vrcholem?
  • Efektivní reprezentace trojúhelníkových sítí. Miliarda trojúhelníků ve scéně – jak to zvládneme? Pomohou nám úrovně detailu (LoD = "Levels of Detail")? Nekonečný terén – to je výzva!
  • Textury se dají používat pěkně divoce! Normálové mapy, paralax-mapy, mapy světla nebo odrazivosti, mapy okolí ("Environment maps"), ...
  • Na příkladu knihovny OpenGL (a jazyka shaderů GLSL) si ukážeme konkrétní postupy, jak GPU nastavit, naprogramovat, posílat do ní data efektivně, apod.
  • Ale co modernější přístupy: Vulkan, "Mesh-shaders", instancing, "deferred shading", ...? I na ty by mělo dojít.
  • Malá ochutnávka GPGPU v systémech CUDA nebo OpenCL by Vám měla doplnit představu, jak hardware GPU opravdu funguje a jak z něj vyždímat maximum!
  • ... konkrétní program semestrální přednášky je doplněn příklady zajímavých efektů a triků, podle času a zájamu přednášejících ...
  • Cvičení v dobře vybavené počítačové laboratoři Vám dá šanci se s většinou přednášených technik seznámit, na zápočet budete řešit zajímavé úlohy z nabídky cvičících.

NPGR025 NPGR025 NPGR025

NPGR025: Introduction to Colour Science

Vše potřebné o barvách, jejich reprezentaci na počítači nebo využití při realistické syntéze obrazu, analýze obrazu nebo vývoji her. Přednáška je vedena v angličtině a její hlavní témata jsou:

  • The causes of colour
  • Human perception
  • Colorimetry
  • Colour spaces
  • ICC workflows
  • White balance
  • Colour Appearance Models

NPGR020 NPGR020 NPGR020 NPGR020 NPGR020

NPGR020: Geometrie pro počítačovou grafiku

Předmět podává přehled geometrických znalostí nezbytných pro pochopení základních algoritmů počítačové grafiky a pro další aplikace jako CAD programy, animace, robotika, zpracování obrazu a podobně. Budeme se věnovat zejména těmto tématům:

  • Afinní a euklidovský prostor, souřadnice, změna souřadnic. Systémy bodů a přímek.
  • Popis objektů parametricky a implicitně. Křivost křivky a plochy, význačné body na ploše. Základy algebraické geometrie, parametrizace, singularity.
  • Popis deformací objektů (afinní grupa, projektivní grupa) a shodných přesunutí objektů (eukleidovská grupa). Klasifikace shodností.
  • Popis eukleidovské grupy pomocí kvaternionů a duálních vektorů, Studyho reprezentace grupy shodností, aplikace v animaci.
  • Projektivní zobrazení, maticová reprezentace grupy transformací, projekční matice kamery, rekonstrukce scény. Aplikace konečných projektivních geometrií.

NPGR002 NPGR002 NPGR002 NPGR002 NPGR002 NPGR002

NPGR002: Digitální zpracování obrazu

Úvodní přednáška z digitálního zpracování obrazu a rozpoznávání. Hlavní pozornost je věnována digitalizaci obrazu, předzpracování (potlačení šumu, zvýšení kontrastu, odstranění rozmazání), detekci hran, geometrickým transformacím, příznakovému popisu objektu a metodám automatického rozpoznávání (klasifikace). Výklad teorie bude doprovázen ukázkami experimentů a praktických aplikací.

  • Digitalizace obrazu, vzorkování a kvantování spojitých funkcí, Shannonuv teorém
  • Základní operace s obrazy, histogram, změny kontrastu, odstranění šumu, zaostření obrazu
  • Lineární filtrace v prostorové a frekvenční oblasti, konvoluce, Fourierova transformace
  • Detekce hran a rohů
  • Degradace obrazu a její modelování, odstranění základních typů degradací (rozmazání pohybem a defokusací), inverzní a Wieneruv filtr
  • Segmentace obrazu
  • Registrace (matching) obrazu
  • Příznakový popis rovinných objektů – obecné principy
  • Invarianty pro popis a rozpoznávání 2-D objektů
  • Teorie příznakového rozpoznávání, klasifikátory s učením a bez učení, NN-klasifikátor, lineární klasifikátor, Bayesův klasifikátor
  • Shluková analýza v prostoru příznaků, iterační a hierarchické metody

NPGR036 NPGR036 NPGR036 NPGR036 NPGR036

NPGR036: Počítačové vidění

Analýza obrazu zaměřená na detekci objektů v obraze. Každý moderní systém zpracovávající obrazové vstupy (z digitálních fotoaparátů nebo kamer) tyto algoritmy potřebuje, bez nich by se žádný autonomní robot vybavený kamerou nemohl obejít!

  • Snímanie obrazu, vlastnosti digitálneho obrazu
  • Farba, Modely farieb, Kvantovanie farieb
  • Matematická morfológia
  • Segmentácia obrazu (K-means, mean-shift, watershed, superpixle, grafové metódy)
  • Detekcia, popis a párovanie lokálnych príznakov, aplikácie
  • Významné oblasti v obraze, Sledovanie pohybu očí
  • 3D videnie, 3D rekonštrukcia, Stereo
  • Spracovanie videa, Pohyb vo videu
  • Detekcia a Sledovanie objektov (napr. tvárí), Optický tok
  • Časová segmentácia a sumarizácia videa
  • Vyhľadávanie na základe obsahu (obrazy, video, 3D objekty)
  • Rozpoznávanie, Úvod do strojového učenia

NPGR035 NPGR035 NPGR035 NPGR035 NPGR035

NPGR035: Strojové učení v počítačovém vidění

Tato přednáška je zaměřena na rozpoznávání/klasifikaci objektů v digitálním obraze. Naučíte se ty nejužitečnější techniky, které se již dnes uplatňují v systémech umělé inteligence, neuronové sítě budete používat zejména pro vizuální data (kde bylo v posledním desetiletí dosaženo asi nejvýraznějšího pokroku).

  • Úloha klasifikace, příznakový a syntaktický popis objektu.
  • Výběr a předzpracování příznaků.
  • Klasifikátory, základní pojmy.
  • Bayesovská teorie rozhodování, diskriminační funkce a oddělující nadplochy, kritérium minimální chyby.
  • Rozhodovací stromy.
  • Diskriminační analýza, lineární klasifikátor.
  • Support Vector Machines (SVM).
  • Neuronové sítě.
  • Učení bez učitele.
  • Skryté Markovovy modely.
  • Hodnocení kvality klasifikace.
  • Syntaktické rozpoznávání, inference gramatiky. Speciální typy gramatik.

NPGR037 NPGR037 NPGR037 NPGR037 NPGR037

NPGR037: Praktikum z Matlabu

Systém Matlab je univerzálním jazykem výpočetních matematiků a vědců zabývajících se analýzou obrazu a rozpoznáváním vzorů. Praktikum Vám umožní dosáhnout v tomto programu vyšších úrovní dovednosti, postačujících k praktickému a efektivnímu využívání Matlabu pro Vaše studentské práce i další projekty.


NPGR038 NPGR038 NPGR038 NPGR038

NPGR038: Základy vývoje počítačových her

Předmět představuje studentům přehled základních oblastí týkajících se vývoje počítačových her. Studenti získají znalosti o aplikaci 2D a 3D grafiky, animace, návrhových vzorů, zvuků a síťové komunikace v kontextu vývoje počítačových her, stejně jako architektury herních engine a herního designu.

  • 2D hry: sprite-based animace, 2D kosterní animace, parallax scrolling, dlaždicové systémy, pixel art
  • 3D hry: scéna, modely, kosterní animace, rigging
  • 3D Rendering: shadery, stíny, částicové systémy, billboarding, screenspace efekty
  • Zvuky: zvukové efekty, 3D zvuk, sound engine, kompozice zvuku
  • Herní design, herní mechaniky
  • Architektura herních engine, správa assetů
  • Typy herních smyček. Návrhové vzory použivané při vývoji her
  • Síťová komunikace a multiplayer
  • Tvorba obsahu pro hry

NSWI160 NSWI160 NSWI160

NCGD003: Gameplay Programming

Používání nástrojů specifických pro tvorbu počítačových her má v odvětví dlouholetou tradici. Dnes již prakticky žádné studio nevyvíjí hry bez podpory software třetích stran. Kurz má dvě části. V té první si představíme nejběžněji používané herní engines a frameworky vhodné pro tvorbu jak indie her, tak velkých AAA herních titulů (Unreal Engine 4, Unity3D a Phaser). V druhé pak s jejich pomocí budeme vytvářet vlastní malé hry, u kterých se budeme soustředit na prototypování různých herních mechanik. Napsali o předmětu:

  • 'Prvních pár hodin nám byly předvedeny různé základní technologie. V následujících hodinách jsme se střídali s prezentacemi, kde si vždy jeden ze studentů připravil téma (s kterým často předem neměl zkušenosti) a ostatním ho vysvětlil a názorně ukázal. Velmi užitečné, protože jsme viděli, jaké různé věci jsou možné s existujícími platformami, na co existují nástroje, plus (pro někoho) nové metody myšlení a programátorské postupy.'
  • 'I really enjoyed this course, because of the different technologies that were used. Almost every practicals, we had a different programing language, and different programing enviroments. But because of the clarity of the explanation it was not difficult to follow.'

NSWI159 NSWI159 NSWI159 NSWI159

NCGD006: Practical Course on Rapid Game Development

Vývoj malé počítačové hry v praxi. Student se zúčastní jednoho z tzv. herních jamu, v rámci kterého vytvoří kompletní počítačovou hru v omezeném čase (minimálně 48 hodin) a to buď samostatně nebo v malém týmu. Některých GameJamů je možné se účastnit v rámci akcí konaných na MFF UK. Napsali o předmětu:

  • 'Super predmet, ktorý núti sa niečo samostatne naučiť a hlavne prakticky si to vyskúšať. Páči sa mi možnosť získať zápočet za jediný víkend – aj keď je to 48-72 hodín "non-stop" vývoja hry. Bonusom je, že výstup samotný v podobe hry je napr. dobrým doplnením portfólia hocikoho, kto sa aspoň trochu zaujíma o vývoj hier. Oceňujem možnosť si tento predmet zapísať opakovane v každom semestri.'
  • 'Very interesting class. You get to learn how other students are approaching already setup genres and games.'
  • 'Skvělá příležitost zkusit naprogramovat něco "většího" (hru). Časové omezení 48 nebo 72 hodin je velkou výhodou – není to vlastně předmět navíc a nutnost vyhradit si na něj čas, prostě jen jeden víkend. Při vývoji si projdete všemi fázemi vývoje – myšlenka, návrh (mechanika, kod, apod.), implementace, testování, ladění.'
  • 'Ludum Dare je skvělá akce. Všem doporučuji se jí účastnit (i kdyby nakonec kredity nevyšly). Podmínky zápočtu jsou nastaveny velmi rozumně – vyrobit hru a nasbírat několik komentářů. Příjemná atmosféra, neformální jednání – celkově můžu jenom doporučit. Sám se budu účastnit i dalších akcí.'

NPGR039 NPGR039 NPGR039 NPGR039

NPGR039: Animovaná a grafická tvorba

Kurz seznámí studenty se základní terminologií, principy a workflow při produkci 2D a 3D animovaných děl. Rámcově se bude věnovat celkovému postupu a jednotlivým výrobním fázím od prvotního námětu po finální realizaci. V rámci kurzu budou osvětleny základní animační principy. Důraz bude kladen na pochopení podstaty a povahy tohoto druhu kreativní činnosti. Kurz se rovněž zaměří na softwarová řešení a požadavky z perspektivy koncového uživatele, tj. animátora, tvůrce, umělce, výtvarníka atp. V průběhu kurzu si studenti na sérii cvičení prakticky vyzkouší realizaci krátké animace.

  • Animace v kontextu umění a zábavního průmyslu. Zasazení současného stavu do historického a geografického rámce. Nástin problematiky produkční pipeline. Rozdíly pipeline dle povahy projetku. Typy a techniky animace.
  • Mystický vs. utilitární tvůrčí impulz. Vývoj a design postav v kontextu produkce. Concept-art a jeho místo v produkci. Digitální výtvarné postupy.
  • Od námětu ke scénáři, přes storyboard, po animatic. Možnosti previsualizace. Styčné plochy živé akce a animace.
  • Základní animační principy (timing and spacing). 2D vs. 3D. Stručné seznámení s 12 principy animace a jejich historickým kontextem. Klasické 2D digitální animační postupy.
  • Keyframe animace. Základní seznámení s principy digital cutout. Sprite-sheet. FK vs. IK. Curve editor.
  • Teorie 3D animace – hyper loutka, mimesis a uncanny valley. Základní principy a nástroje pro 3D animaci. Standardní workflow při animaci 3D charakterů – design, modeling, texturing, rigging, animace, simulace, shaders, rendering.
  • Základní seznámení s 3D editorem a 3D animačními nástroji.
  • Animace 3D postavy. Problematika rigu a práce s rigem, procedurální rig, Human IK.
  • Vyhlídky 3D animace. Teoretické i praktické rozdíly mezi filmovou a herní animací. VFX animace. Mocap metody a postupy. AI a fyzikální simulace v animaci.
  • Budoucnost animačních nástrojů a animace obecně. VR a AR. Budoucnost concept-artu a nástrojů pro previsualizaci.

Copyright (C) 2019-2020 J.Pelikán, last change: 2021-09-14 17:20:39 +0200 (Tue, 14 Sep 2021)