Ročníkové a bakalářské projekty (NPRG045)

Zájemci o Ročníkový projekt (NPRG045) musí akceptovat některé z mých témat na Bakalářskou práci, která je pokračováním NPRG045. Dále musí akceptovat moje podmínky uvedené níže..
Vítám zájemce o počítačovou grafiku (absolventy NPGR003, posluchače NPGR004 a NPGR019) a studenty, kteří se chtějí něco nového zajímavého naučit a udělat kus práce užitečný třeba i pro ostatní.

Každý zájemce mne musí kontaktovat mailem a domluvit si u mne téma finálního Bc. projektu. Ozvěte se co nejdříve.
Pošlete mi současně ukázku nějaké vaší zajímavé programátorské práce (včetně zdrojáků), napište, kdy jste u mne absolvovali Počítačovou grafiku. Napište, které partie grafiky vás nejvíc zajímají..

Individuální ročníkový projekt

.. uděláme v takovém rozsahu, aby byl zvládnutelný ve jednom semestr (do prázdnin - specifikace a alfa verze, do září - implementace, dokumentace) a snadno a přirozeně byl rozšiřitelný na Bc. práci!

Mám vymyšleno několik témat Bc. prací, ale jsem velmi vytížen, takže si vyhrazuji právo vybírat si studenty i témata. Cizí témata nepřijímám rád (četnost výjimek z tohoto pravidla je velmi nízká), ale můžete to zkusit.

Obecná pravidla

Operační systém: Windows, Android, Linux (pokud není ve speciální úloze řečeno jinak)

Programovací jazyk: C#, C++, Java

Povinnosti

Pro sledování průběhu práce na projektu založíme Subversion nebo GIT repository a podle potřeby i Trac projekt, které budete pravidelně sledovat a přispívat do nich.

SVN/GIT repository bude obsahovat oddělené větve pro zdrojáky a dokumentaci (příp data). Commit by se měl provádět minimálně jednou za týden (při intenzivní práci je běžné commitovat několikrát za den!).
Podrobnější pokyny a rady k používání systému Subversion, dokumentace systému GIT. odkazy doplním.

Termíny

Aktuální data pro školní rok 2016/2017.

Uvedené termíny jsou aproximace/odhady, možná je upřesním (splnit je můžete samozřejmě i dřív :-) )

  • 21. 2. 2017: úvodní přednáška Filipa Zavorala v S3, 15:40-17:00
  • 28. 2. 2017: prezentace kateder v S3, 15:40-17:00
  • 20. 3. 2017: přihlášení se k vedoucímu, zápis do Grupíčku
  • 10. 4. 2017: upřesnění zadání a krátká specifikace (minimálně 100 slov), založení SVN/GIT repository (může zařídit vedoucí)
  • 30. 4. 2017: studium literatury a odevzdání formální specifikace, už se běžně pracuje s SVN/GIT repository
  • 30. 6. 2017: předvedení pilotní verze programu (musí být v rozumné míře rozpracovaná, chci vidět solidní základ projektu)
  • 20. 9. 2017: předvedení verze k projektu včetně dokumentace

Seznam nabízených témat (často v maximálním rozsahu = na Bc. práci!)

Seznam témat, některá bez detailních rozpisů (detailní stránky jsou často jenom souhrnem poznámek k tématu, není to úplně závazné - může být předmětem dalšího vyjednávání).
Témata není možné přenést k jinému vedoucímu! (výjimkou mohou být po dohodě ostatní členové naší grafické skupiny).

[Morpho] oznacuje prislusnost k projektu Morphome3cs, ve kterém spolupracujeme s 3D laboratoří Katedry antropologie PřF UK.
Pozn: Mezi zájemce počítám všechny, kteří se mi ozvali mailem a o téma předběžně projevili zájem.. Neznamená to, že už je téma rezervováno! Jakmile se u tématu objeví jméno, je už téma obsazené.

057. Analýza dat ze sociálních sítí (asi nevhodné /GraphAPI se omezuje/)

Naučit se stahovat data z některé sociální sítě (preferován Facebook) a implementovat analýzy a visualizace těchto dat (dle zájmu a možností).
detaily

062. BRDF laboratoř (volné!)

Implementovat interaktivní systém pro experimenty s BRDF funkcemi (modely odrazu světla na povrchu různých materiálů). Implementovat knihovnu nejpoužívanějších modelů, umožnit přidávat další, navrhnout vhodnou testovací scénu/scény a uvažovat o co nejvyšší efektivitě (caching).
detaily

058. Visualizace velkých dat (obsazeno: Michal Lehončák)

Načítat a visualizovat velká data (~stovky miliónů až miliardy položek) na běžném počítači či mobilním zařízení (zde by bylo asi potřeba implementovat nějakou redukci). Prohlížení by mělo být interaktivní, s případnými jednoduchými analytickými funkcemi (dle dohody a podle chuti).
detaily

059. Deep Learning v geometrické morfometrii (obsazeno: Gabriela Dvořáková, Tomáš Nekvinda) [Morpho]

Vyzkoušet některé moderní metody strojového učení (např. Deep Learning za pomoci TensorFlow knihovny od Google) na klasifikační úlohy v oboru geometrické morfometrie. Například zkusit naučit systém na klasifikaci pohlaví ze tvaru obličeje (data dodáme my), ..
Výsledky porovnat s klasickými přístupy (dodáme)
detaily

052. Morphome3cs - feature detection (obsazeno: Petr Houška) [Morpho]

Detekce významných povrchových prvků (features) na 3D trojúhelníkových sítích. Později bude možno zapojit modul do používaného systému Morphome3cs.

053. Morphome3cs - hybridní renderer (obsazeno: Matúš Goliáš) [Morpho]

Triangle mesh / volume renderer (prohlížeč dat). Interaktivita, pluginy na další doplňované vrstvy, .. Později bude možno zapojit modul do používaného systému Morphome3cs.
detaily

055. Morphome3cs - rozdíl mezi dvěma meshi (obsazeno: Jan Horešovský) [Morpho]

Dvě trojúhelníkové sítě, úkolem je visualizovat jejich rozdíl. Může se předpokládat jejich topologická unifikace, tj. mají vrcholy a topologii 1 : 1. Později bude možno zapojit modul do používaného systému Morphome3cs.
detaily

056. Zjednodušování a čištění triangle mesh (volné!) [Morpho]

[Polo]automatický proces, který zmenší vstupní mesh (např. výstup z face scanneru) na rozumnou (požadovanou) velikost, případně odstraní nejvýznamnější chyby (zalátá díry) a síť ořízne. Později bude možno zapojit modul do používaného systému Morphome3cs.
detaily
Ukázka před a po čištění, vyčištěná mesh

060. Expertní systém na analýzu dat (obsazeno: Petra Doubravová)

Navrhnout a implementovat nástroje pro první analýzu neznámých velkých dat. Možnost použít metod strojového učení (pokud bude mít zájemce chuť), bylo by vhodné aplikovat aspoň některé klasické přístupy (shluková analýza, regrese, slepá klasifikace, redukce dimenze) a navrhnout, co by se na datech mohlo dále zkoumat / čím jsou zajímavá.
Podle zájmu se mohou uvažovat data čistě jen o entitách (a jejich vztazích) nebo data opatřená navíc časovými značkami (timeline, log-file), ... Je to velice pružné téma, je možná se dohodnout na jakémkoli relevantním směřování projektu.
detaily

054. Demo-rozšíření C# ray-traceru (volné!)

Základní myšlenky jsou obsažené v této úloze. Pro účely Bc. práce by se mělo zadání rozšířit o interaktivní prvky, více demonstračních a ladících visualizací, apod. Vhodné zejména pro studenty Počítačové grafiky II. Detailní specifikace vznikne po dohodě.

061. Editor symetrií / dláždění (volné!)

Navrhnout a implementovat interaktivní systém pro editaci vektorové grafiky založené na symetriích / dlaždičkování. Snadné používání, ukládání dat v SVG formátu, export finálního grafického díla. Pro implementační platformu si lze zvolit PC nebo Android (tablet).
detaily

047. Mechanická simulace bowlingu (volné!)

Cílem je co nejpřesnější simulace bowlingu - jenom desky s kuželkami. Není potřeba řešit jízdu koule po dráze. Možnost použít některou dostupnou knihovnu pro fyzikální simulace (např. Open Dynamics Engine). Grafická stránka ani realtime výpočet nejsou důležité, ale je potřeba vyrobit i "batch-mode" pro statistické analýzy na velkých souborech dat.

050. Analýza pohybu ze záznamů Sportstrackeru (obsazeno: Jana Seidlová)

Některou populární aplikací na záznam pohybu (SportsTracker) získáváme data z tréninků (běh, inline brusle, běžky, sjezdové lyžování, apod.). Úkolem je vyvinout offline nástroj pro pokročilejší analýzu takových záznamů. Něco jako náhrada placené verze SportsTracker Pro, ale třeba i s bohatší sadou funkcí. Případně napojení na GoogleMaps a GoogleEarth, sociální sítě, apod.
detaily


Stará (v minulých letech použitá) témata

Letos se už nedají použít! (jsou tu jen na ukázku)

 

001. Mozaikovani CCD snimku pohybujicich se objektu (obhájeno: Jan Fajtl)
Pro snimky komet, zadano z Astronomickeho ustavu AVCR
detaily
002. Detekce meteoru na sirokouhle CCD kamere (obhájeno: Igor Gomboš)
"Real-time" (30 sekund na snimek), zadano z Astronomickeho ustavu AVCR
detaily
003. NPR - silhouette rendering na GPU (obhájeno: Milos Doubek, Frantisek Psotka)
Real-time kresleni obrysu na GPU (vstup - 3D model, animace, vystup - OpenGL, DirectX API)
detaily
005. Point sprites zobrazovani prirodnich objektu (obhájeno: Vaclav Klecanda)
stromy, kytky, (proste flora obecne), LoD
detaily
006. Particle systems (obhájeno: Martin Růžička, Martin Sik /C++/)
Ohen, voda, vybuchy, ohnostroj, apod. Modelovani prirodnich a chaotickych systemu, ..
detaily
008. [VOB] Převod vrstevnic na výškovou mapu (obhájeno: Jonáš Klimeš)
Vstupem jsou vektorove 2D vrstevnice + dalsi potrebne informace (potoky, heuristicka pravidla), vystupem je vyskova mapa (sit trojuhelniku, height function)
detaily
009. [VOB] Synteticky ekosystem (obhájeno: Radek Krizka, obsazeno: Martin Franců /C++/)
Generovani poloh a parametru stromu a keru podle mapy
detaily
010. [VOB] Prochazeni lesem (obhájeno: Radek Krizka)
Prochazeni virtualni prirodni scenou (les, stromy, kere, trava, rozsahly teren) s navigaci pripominajici OB. Vstupni 3D data jsou jiz pripravena, prace to resit nemusi
detaily
013. Priblizne oznacovani objektu v rastrovem obrazku (obhájeno: Ondrej Fiala)
Varianta nastroje "lasso" z PhotoShopu. Objedu priblizne obrysy objektu a program umi obrys zpresnit (pixelova presnost / subpixely / antialiasing) podle dat (hrany)
detaily
014. Jednoduchy 3D editor pro subdivision surfaces (obhájeno: Jan Kolomaznik)
Jednoduche a intuitivni ovladani, export trojuhelnikove site, LoD, rozsiritelnost, nemusi byt prilis mnoho prikazu a nastroju
detaily
015. Jednoduchý 3D editor pro implicitní plochy (obhájeno: Martin Podloucký)
Blobs, jednoduche ovladani, ukladani vektoroveho formatu i export trojuhelnikove site
detaily
016. Rastry pro laserovou tiskárnu (obhájeno: Bohumír Zámečník)
Umelecke a jine zajimave rastry pro halftoning: SFC, blue-noise dithering, apod.
detaily
017. Mouse gestures (obhájeno: Milan Burda)
Rychle ovladani programu jen pomoci mysi ("gesta"). Viz StrokeIt. Univerzalni modul/knihovna/DLL (Java/Swing/SWT, Windows, XWindow..)
018. LoL - smějící se obličeje (zastaralé)
Snímání dat Webkamerou nebo z fotografií, [polo]automatická segmantace obličeje, automatické generování expresivních výrazů tváře, nepředpokládá se realtime
detaily
020. Osvětlovací demo/dílna (obhájeno: Jiří Matějka)
Demonstrace osvetlovacich modelu v realnem case. Definice vzorcu symbolicky, real-time interpretace, vrhani paprsku pro pruhlednost a odrazy, interaktivni zmena parametru. Moznost pouzit GPU pro rychle zobrazovani.
021. Symbolická a grafická kalkulačka (zastaralé)
Substituce, konstanty, výrazy, funkce, skaláry, vektory, matice, tensory, .. Různé typy zobrazení dat (systém pluginů), export výsledného obrázku.. Platforma: Android, Windows.
detaily
025. Editor na dlaždice (obhájeno: Marek Mikeš)
Opakujici se tvary, navazovani, slozitejsi topologie, synteza umelych grafickych designu, ..
detaily
026. Jednoduchý 3D editor pro "point clouds" (obhájeno: Václav Remeš)
Primitiva + jednoduche nastroje (sila, vyhlazeni, sweep), lokalni operace, napojeni na textury, LoD
detaily
027. Potlačení rozmazání pohybem (obhájeno: Michal Papež)
Detekce oblasti, parametru rozmazani a lokalni pseudo-inverzni filtrace digitalniho snimku
detaily
028. Potlačení rozostření (obhájeno: Michal Papež)
Detekce parametru rozostreni/strzeni (predpoklada se na celem snimku), restaurace ostreho digitalniho obrazku
detaily
029. Zobrazovani objemovych dat (obhájeno: Tomáš Tůma)
Zobrazovani objemovych dat na vykonnem super-pocitaci (Onyx 350 s grafikou InfiniteReality 4). Zpracovani na serveru, posilani vysledku po vysokorychlostni siti. Nekolik moznych projektu s praktickym vyuziti v medicine!
031. Simulace davu (obhájeno: Jan Stria, Filip Řepka /C++/)
Simulace davu lidi, vzajemne interakce, kolize, individualni i globalni cile, variabilita, rendering na GPU
032. Editor na terén (obhájeno: Oto Petřík)
Teren reprezentovany trojuhelnikovou siti, LoD, zobrazovani pomoci GPU, modelovani geologickych jevu, eroze, lidsky faktor
034. Optická lavice (obhájeno: Zdeněk Kavalír, Martin Bulant /C++/)
Simulator opticke soustavy z tlustych cocek, sledovani zobrazovacich schopnosti, příp. i interaktivni editor optickych soustav (C++, Windows)
035. Minority Report (obhájeno: Peter Lapin, Miroslav Šedivý)
Ovladani GUI pomoci gest jednou rukou (prip. obema rukama) snimanych levnou Web-kamerou. Tri ruznobarevne LED na palci, ukazovaku a prostredniku. Vymyslet gesta pro pohyb mysi, stisky 2 tlacitek a rolovaci kolecko. Emulace mysi - Windows (pref.) nebo XWindow. Moznost rozsirit o vyssi uroven (high-level GUI events).
036. "Pěkný" pohled na 3D scénu (obhájeno: Ivan Jankovič)
Vstupem je 3D scéna (nejčastěji jediný objekt) v nějakém běžném ploškovém formátu (OBJ, 3DS, X3D). Cílem je navrhnout esteticky co nejhezčí pohled (směr pohledu perspektivní kamery) na takovou scénu. Existují o tom odborné články, museli byste jich pár přečíst a příp. vymyslet i nějaké vlastní vylepšení..
038. Detekce mraků na wide-field kameře (anglicky) (obsazeno, nedokončeno: Dávid Haraga)
Data z wide-field kamery, jde o to, detekovat kde jsou mraky a kde ne .. kde se tedy da pozorovat a kde to nema smysl. Vymezene nadejne oblasti by se pak posilaly do automatickeho systemu rizeni dalekohledu, ktery by podle toho planoval pozorovani. Bc. prace by musela byt napsana v anglictine!
detaily
039. Syntéza RTG snímku z CT série (obhájeno: Andrej Chovanec)
Vstupem je 3D soubor nasnímaný na počítačovém tomografu (CT). Úkolem je pokusit se o co nejkvalitnější simulaci rentgenového snímku podle zadaných parametrů (směr průmětu, další parametry projekce). Výstupem by měl být 2D rastrový obrázek ve formátu DICOM (knihovna pro I/O DICOM formátu je k dispozici). Později převést aplikaci do prostředí MedV4D.
040. Animace mraků (obhájeno: Jan Šnábl)
Úkolem je vymyslet a implementovat algoritmy pro výrobu hladké animace z řídkých dat. Je potřeba vkládat uměle spočítané obrázky do vstupní sekvence tak, aby byly respektovány pohyby objektů (mraků), ale i celkový jas (jasový trend), apod.
detaily
041. Ray-casting implicitních ploch na GPU (zastaralé)
3D scéna popsaná sjednocením implicitních ploch se bude zobrazovat vrháním paprsku (později sledováním paprsku) implementovaným na GPU. Je možné použít nějaký high-level jazyk pro programování shaderů, inspirace a literatura viz "Interactive ray shading of FRep objects" Oleg Fryazinov, Alexander Pasko, WSCG'2008.
042. Zobrazování diamantů (obhájeno: Lukáš Krtek)
Realistický rendering scény zaměřený hlavně na průhledné objekty s množstvím odrazů a lomů, nutnost implementovat spektrální reprezentaci barvy a závislot indexu lomu na vlnové délce..
043. Morfometrika křivek ve 2D (obhájeno: Tomáš Zámečník)
Digitalizace křivek z rastrového obrázku (typicky obrysy kostí), alternativní metody matematické reprezentace křivek a jejich porovnání, použití ve statistickém vyhodnocení (pracovat uvnitř projektu Morpho nebo to na konci přeportovat)
043. Hra Mancala (obhájeno: Tadeáš Berkman)
Analýza hry Mancala (Egyptská nebo Etiopská pravidla, parametrizovaný počet jamek) a implementace AI hráče. Možnost implementace herního serveru, ještě obecnější parametrizace, apod. .. podle zájmu
044. Minority Report II (zastaralé)
3D ovládání pomoci gest ruky snímané dvěma levnými Web-kamerami. Tři různobarevné LED na palci, ukazováku a prostředníku. Implementovat robustní 3D lokalizaci jednotlivých prstů a navrhnout 3D gesta. Projekt může navázat na úspěšně obhálený projekt z lonskeho roku (to byla úspěšná 2D segmentace a ovládání pohybu myši pomocí jedné kamery a 3 LED diod).
045. Webový prohlížeč astronomických snímků (zastaralé)
Navrhnout a implementovat rozšíření webového prohlížeče astronomických snímků. Snímky pocházejí povětšinou z CCD kamer na astronomických dalekohledech po celém světě. Implementace může vycházet z kódu, který je již k dispozici a který řeší základní rychlé zobrazení snímků. Hlavním úkolem je vyzkoušení různých algoritmů pro škálování digitálních obrázků v prohlížeči. Na Bc. práci bude patrně potřeba zadání rozšířit. Odkaz na RTS2
046. IRAF++ - algoritmy zpracování a interaktivní analýzy astronomických obrázků (zastaralé)
IRAF, neboli Image Reduction and Analysis Facility, je mohutný balík povětšinou Fortranského kódu, vytvořený před dávnými věky pro zpracování prvních digitálních astronomických snímků. Úkolem projektu je přepsat alespoň některé algoritmy do strukturovanějších jazyků (C++, Python), a vytvořit podobný, ale více graficky a uživatelsky přívětivější balík. Výsledkem by měl být kód, který bude na rozdíl od IRAFu přístupný i začátečníkům a bude do budoucna udržovatelný. Předpokládá se vysoká míra optimalizace a odvaha experimentovat s moderními grafickými knihovnami (OpenGL, ..) Odkaz na IRAF
048. Android - záznamník pohybu (zastaralé - SportsTracker)
Aplikace pro OS Android umožňující dostatečně přesné zaznamenávání GPS polohy pro účely sportovních analýz. Úsporné logování GPS souřadnic na pozadí + sada vyhodnocovacích nástrojů (na telefonu i na PC), oblasti použití: sjezdové lyžování, běžky, inline bruslení, běh. Případně napojení na GoogleMaps a GoogleEarth..
049. Šifrování obrázku na základě liftingu (obsazeno: Jan Kubový)
Bezeztrátová transformace obrazu založená na principu liftingu (Wikipedia page) by se dala použít i k šifrování rastrového obrazu nebo vytváření různých zajímavých ornamentů, apod. Cílem je navrhnout a vyvinout systém pro takové experimenty, není nutné vyvíjet vlastní kódování obrazu, k tomu postačí bezeztrátový PNG. Další info: PDF prezentace o základech liftingu.
051. Mobilní aplikace na prohlížení obličejů (obsazeno: Jindřich Pikora)
Jednoduchý mobilní prohlížeč na trojúhelníkové sítě opatřené příp. texturou a dalšími prvky (landmarky). GL ES knihovna nebo WebGL. Později: pluginy pro přidávání dalších vrstev do renderingu.

Copyright (C) 2005-2017 J.Pelikán, last change: 2017-03-12 03:04:16 +0100 (Sun, 12 Mar 2017)