Teme za studentske radove

Osnovna područja rada su:

Većina predloženih konkretnih tema je kombinacija ovih područja. Prihvaćaju se i vlastiti prijedlozi tema pod uvjetom da zadovoljavaju kriterije za studentski rad. Lista tema daje veći broj ideja za teme studentskih radova te se često nadopunjuje i mijenja. Ako ste u potrazi za temom, pogledajte ove stranice češće. Uputno je pogledati i radove iz prethodnih godina.

Zadnja promjena: 11.10.2018.

Praćenje i analiza lica tehnikama računalnog vida

Na Zavodu je dostupan vrhunski softverski sustav za praćenje lica u stvarnom vremenu tvrtke Visage Technologies s kojom HOTLab tijesno surađuje. Studenti se mogu uključiti u rad na daljnjem razvoju ovog sustava kao i na povezanim projektima, uz vrlo širok izbor tema.

Video: rad sustava u raznim uvjetima i na raznim sustavima.

Raspoznavanje emocija praćenjem lica

U komunikaciji među ljudima, emocije se vrlo često raspoznaju preko izraza lica. Praćenje lica, odnosno pokreta lica, osnova je strojnog raspoznavanja emocija. Cilj studentskog zadatka bio bi proučiti metode raspoznavanja emocija s naglaskom na postojeću implementaciju i mogućnosti njenog poboljšanja ili proširenja (tzv valence/arousal prostorom).

Video: raspoznavanje emocija.

Raspoznavanje i verifikacija identiteta

Zadatak je implementirati neuronsku mrežu (Torch framework) koja klasificira identitet osoba na temelju fotografija lica osoba. Neuronskoj mreži nakon završetka treniranja potrebno je maknuti zadnji klasifikacijski potpuno povezani sloj (engl. fully connected layer) te izmjeriti koliko su diskriminativne značajke predzadnjeg sloja za generalno raspoznavanje lica. Funkcija cilja koju je potrebno minimizirati je softmax loss funkcija. Po potrebi nadograditi softmax loss funkciju (npr. ArcFace, CosineFace itd.) i analizirati rezultate.

Video: raspoznavanje identiteta.

Detekcija lica dubokim neuronskim mrežama

Istražiti algoritme za detekciju lica temeljene na dubokim neuronskim mrežama (npr. Faster R-CNN: članak ili SSD: Single Shot MultiBox Detector: članak). Implementirati training tool za detekciju lica u Torch frameworku i istrenirati model. Izmjeriti performanse sustava (brzina) i preciznost. Predložiti moguća rješenja za poboljšanje performansi i preciznosti sustava.

Raspoznavanje oblika lica

Oblik ljudskog lica može se klasificirati u nekoliko osnovnih kategorija kao što su ovalno, okruglo, srcoliko, četvrtasto, izduženo ili oblika dijamanta. Poznavanje oblika lica smatra se važnim između ostalog za izbor odgovarajućeg oblika naočala, frizure ili kozmetike. Automatsko raspoznavanje oblika lica temeljem slike lica stoga je izuzetno aktualna tema zbog mogućih primjena u industrijama vezanim uz navedeno (npr. automatsko preporučivanje naočala, šminke, frizure...). Cilj studentskog zadatka je osmisliti metodu raspoznavanja oblika lica temeljem analize slike lica, te kroz praktičnu implementaciju ispitati rad sustava. Prijedlog moguće implementacije sastoji se od dvije komponente: (a) segmentiranje lica od pozadine/kose i (b) ispitivanje preklapanja predložaka raznih oblika lica sa licem. Na raspolaganju je i baza podataka (slika) za učenje i evaluaciju sustava. 

Automatsko mjerenje fizičkih značajki lica

Automatsko mjerenje fizičkih značajki lica moguće je praćenjem 2D značajki lica te iterativnom optimizacijom deformabilnog 3D modela koristeći Extended Information Filter.
Trenutni algoritam pretpostavlja parametre kamere u procesu optimizacije. Cilj studentskog zadatka je istražiti utjecaj kalibracije kamere (koriteći OpenCV) i na taj način dobivenih
parametara u procesu mjerenja stvarnih fizičkih dimenzija značajki lica (npr. razmak između zjenica, širina nosa itd.).

Liveness detection

Liveness detection znači razlikovanje stvarnog čovjeka od slike, u cilju sprječavanja varanja sustava za provjeru identitata podmetanjem slike. Zadatak počinje proučavanjem literature jer postoji više pristupa.

Zamjena lica u videu

U okviru ove teme potrebno je osmisliti i implementirati video efekt zamjene ljudskog lica u video sekvenci drugim licem, uz očuvanje izvornih pokreta lica. Time se efektivno postiže zamjena osobe u videu. Lice nove osobe dobiva se iz jedne fotografije.
Ulaz u sustav čine izvorni video i fotografija novog lica, a izlaz je video u kojem je izvorno lice zamijenjeno novim licem.
Na raspolaganju su sve potrebne komponente za izradu ovakvog sustava:
- sustav za automatsko pronalaženje ključnih točaka lica (vidi sliku uz temu dolje, Talking Photos)
- sustav za praćenje ključnih točaka lica u video sekvenci
- 3D model lica koji se adaptira prema pronađenim ključnim točkama

Moguća još zanimljivija varijacija ove teme je zamjena lica u videu licem korisnika dobivenim u stvarnom vremenu iz kamere. Efekt za korisnika bio bi da vidi sebe u nekoj video sekvenci u stvarnom vremenu; na primjer, bilo bi moguće odglumiti ulogu glavnog lika u nekoj poznatoj sceni iz filma.

Igre i druge aplikacije pokretane praćenjem lica

Praćenje lica može se koristiti kao inovativan način upravljanja računalnim aplikacijama. Ovo je pogotovo zanimljivo za igre i zabavne aplikacije, premda ne mora nužno biti ograničeno na zabavu. Od posebnog je interesa izrada ovakvih aplikacija za pokretne uređaje. Nekoliko ovakvih projekata izrađeno je i u okviru studentskih preddiplomskih projekata.

Praćenje lica u infra-crvenim ili termalnim video signalima

Cilj studentskog zadatka bio bi proučiti rad postojećeg sustava za praćenje lica u video signalima u infra-crvenom ili termalnom području spektra. Dosadašnja ispitivanja pokazuju da sustav može raditi u ovom području, ali postoje određena ograničenja. 

U termalnim slikama, ne radi metoda detekcije lica, kao ni metoda lokalizacije točaka lica, te čitav sustav radi na vrlo ograničen način. Pretpostavlja se da bi moglo biti moguće zaobići ovaj problem obradom slike. U protivnom, bilo bi potrebno trenirati sustav detekcije lica na termalnim slikama.

Praćenje pogleda metodama strojnog učenja

Pogled se softverski može pratiti direktnim isčitavanjem geometrijskih značajki oka iz slike ili treniranjem modela koji će biti sposobni prepoznati gdje osoba gleda na temelju velikog skupa naučenih podataka. Zadatak je istražiti moguće pristupe rješavanju problema praćenja pogleda na temelju strojnog učenja (npr. članak) i implementirati alat za treniranje jednog od modela u Torch frameworku. Dodatno, moguće je ispitivanje sintetičkog generiranja baze za trening te postizanje realističnog izgleda korištenjem GAN arhitektura. Nakon implementacije je potrebno trenirati i testirati model te prikazati preciznost sustava.

Geometrijsko praćenje pogleda s kalibracijom

Različiti faktori utječu na performanse algoritama za geometrijsko praćenje pogleda (npr. osvjetljenje, razmak između očiju, kappa kut oka itd.). Zadatak je istražiti moguće metode kalibracije i primijeniti jednu metodu na postojećem algoritmu geometrijskog praćenja pogleda. Potrebno je navesti prednosti i nedostatke korištenja odabrane metode i istaknuti rezultate.

Segmentacija kose

Segmentacija kose (eng. hair segmentation) jest detekcija piksela fotografije (lica) koji odgovaraju kosi. Zadatak je implementirati neuronsku mrežu (Torch framework) koja segmentira kosu osobe na temelju fotografija lica osoba. Potrebno je istražiti moguće metode i odabrati onu koja najviše obećava. Potrebno je navesti prednosti i nedostatke korištenja odabrane metode i istaknuti rezultate.

Virtualni likovi

Animacija lica analizom video slike

Jedan od brojnih načina 3D animacije lica je analiza video slike, pri čemu je cilj iz slike dobiti 3D pozicije glave i karakterističnih točaka lica (konture usana, obrva, rotacija očiju). Taj postupak se naziva praćenje karakterističnih točaka lica (engl. Facial Feature Tracking ili Facial Motion Capture) ili skraćeno praćenje lica (engl. Face Tracking). Praćenje lica je jedan od najvećih izazova u području obrade video slike. Na Zavodu je dostupan vrhunski softverski sustav za praćenje lica u stvarnom vremenu, povezan sa softverom za animaciju lica također dostupnim na zavodu čime se dobiva sustav koji animira virtualno lice u stvarnom vremenu, prateći direktno pokrete osobe pred kamerom. Unutar ove teme moguće je definirati više praktičnih zadataka. S jedne strane, zadatak može biti poboljšano povezivanje sustava praćenja lica sa sustavom animacije, kroz bolji izbor parametara animacije virtualnog lica i njihovo preslikavanje. Druge mogućnosti uključuju implementacije drugih sustava za grafiku (trenutno se koristi Unity3D) ili boljih metoda animacije lika.

Automatska izrada karikatura iz fotografija lica

Krajnji cilj ovog zadatka je osmisliti sustav koji bi omogućavao uslugu izrade automatske karikature putem mobitela koja bi se spremala lokalno. Postoji literatura o automatskoj obradi slike na način da izgleda poput crteža, kao i o načinima modifikacije modela lica na način da se dobije karikatura. Potrebno je pronaći i proučiti tu literaturu te osmisliti i implementirati predloženi sustav ili njegov dio.

Talking photos

U okviru ove teme potrebno je osmisliti i implementirati algoritam za automatsku animaciju digitalnih fotografija ljudskih lica tako da izgleda kao da slika govori, smije se itd. Na raspolaganju su sve potrebne komponente za izradu ovakvog sustava:

- sustav za automatsko pronalaženje ključnih točaka lica (v. sliku)
- 3D model lica koji se adaptira prema pronađenim ključnim točkama
- sustav za animaciju lica

3D grafika

 

View Dependent Rendering

View Dependent Rendering je tehnika za 3D iscrtavanje uz dinamičku promjenu perspektive u stvarnom vremenu na bazi rezultata 3D praćenja glave korisnika u slici dobivenoj kamerom (engl. head tracking). Aplikacija ne zahtijeva nikakav dodatni hardver osim obične web kamere montirane iznad zaslona računala. Dobiveni efekt je da se korisnik može "okretati oko predmeta" i promatrati predmete s raznih strana jednostavnim pomakom glave. U okviru studentskog projekta 2010. g. razvijen je osnovni sustav  demonstriran video zapisom dolje. Zadatak studenta bio bi razviti novi ovakav sustav na bazi naprednije tehnologije praćenja i novijeg 3D sustava (npr. Unity), uz posebno zanimljivu mogućnost razvoja ovakve aplikacije za pokretne uređaje (iOS, Android), ili za web (HTML5).

Video: View Dependent Rendering.

Programiranje grafičkih procesora

Grafički procesori (GPU) i programska sučelja ostavljaju mogućnost programiranja operacija protočnog sustava na niskoj razini - moguće je programirati vlastite operacije osvjetljavanja i manipulacije vrhova kao i popunjavanja pixel-a. Ovo pruža izuzetnu fleksibilnost u programiranju grafičkih efekata i animacije, pa čak i korištenja specifičnih mogućnosti grafičkih procesora za druge vrste računanja nevezane uz grafiku. U sklopu ove teme studenti će proučiti postojeće tehnologije, programska sučelja i alate, te u dogovoru s mentorom osmisliti praktični zadatak, npr. odabrati jedan specifični grafički efekt ili način animacije, te ga implementirati na stvarnoj grafičkoj kartici ili na emulatoru. Na ovu temu je posljednjih godina ostvareno nekoliko studentskih radova koji mogu koristiti kao predložak.

3D grafika na webu

Premda ideja o 3D sadržajima u web stranicama postoji još od devedesetih godina prošlog stoljeća, do sada niti jedan pokušaj uspostavljanja široko prihvaćene norme za prikaz takvih sadržaja nije uspio, te i dalje ne postoji "standardni" način uključivanja interaktivnih 3D sadržaja u web aplikacije. Tijekom godina pojavile su se međunarodne norme kao VRML, X3D i MPEG-4 koje su (između ostalog) bile namijenjene rješavanju ovog problema; čitav niz pojedinačnih rješenja nuđenih od strane raznih tvrtki, uglavnom zasnovanih na nekoj vrsti plugina za web preglednik; rješenja zasnovana na lažnom 3D prikazu uz korištenje većeg broja slika čijim izmjenjivanjem bi se dobila iluzija 3D grafike; rješenja zasnovana na Java appletima itd. Trenutno možda najizglednija tehnologija za rješavanje problema 3D sadržaja na webu je WebGL, koji je već uključen u sve vodeće web preglednike osim Internet Explorera. Cilj ovog zadatka je proučiti trenutno stanje tehnologija za 3D prikaz na webu, odabrati jednu tehnologiju i u njoj implementirati aplikaciju po dogovoru s mentorom. 

Razvoj plugina za 3D softver (Blender)

Svi profesionalni i open source softveri za 3D modeliranje i animaciju omogućavaju proširivanje funkcija programiranjem plugina. Ova tema predviđa upoznavanje s jednim softverom uz naglasak na njegove mogućnosti proširivanja, te izradu jednog konkretnog plugina. Odabir softvera i funkcije samog plugina radi se u dogovoru s mentorom. 

 

Virtualna i proširena stvarnost

Proširena stvarnost za virtualno isprobavanje šminke (virtual makeup)

Zadatak je implementirati virtualno iscrtavanje šminke na licu u stvarnom vremenu korištenjem tehnologije praćenja lica dostupne na Zavodu.

Video: primjer sustava virtualne šminke razvijenog na bazi iste tehnologije praćenja.

Proširena stvarnost za virtualno isprobavanje naočala

HOTLab je u suradnji s komercijalnim partnerom razvio sustav za virtualno isprobavanje naočala zasnovan na proširenoj stvarnosti i 3D praćenju pokreta lica. Sustav je implementiran i na pokretnim sustavima (iPhone, iPad...), kao i za HTML5; demonstracija ovdje.

Studentski zadatak sastojao bi se u ispitivanju mogućih poboljšanja postojećeg sustava. Ideje za to uključuju:

  • Iscrtavanje sjene virtualnih naočala na licu,
  • Poboljšano prekrivanje dijelova lica (npr. nosa) naočalama,
  • Realistično podešavanje veličine naočala,
  • Isprobavanje naočala na prethodno snimljenom nizu slika po uzoru na glasses.com.

Proširena stvarnost za virtualno pomlađivanje i postaranje lica

Zadatak je implementirati virtualno pomlađivanje i postaranje licu u stvarnom vremenu korištenjem tehnologije praćenja lica i estimacije starosti dostupne na Zavodu. Potrebno je proučiti literaturu jer postoji više načina kako to napraviti.

Proširena stvarnost za virtualno isprobavanje brade i obrva

Zadatak je implementirati virtualno iscrtavanje brade i obrva na licu u stvarnom vremenu korištenjem tehnologije praćenja lica dostupne na Zavodu.

Proširena stvarnost za virtualno isprobavanje šminke za muškarce

Zadatak je implementirati virtualno iscrtavanje šminke za muškarce na licu u stvarnom vremenu korištenjem tehnologije praćenja lica dostupne na Zavodu.

Proširena stvarnost za virtualno isprobavanje frizure

Zadatak je implementirati virtualno iscrtavanje frizure na 3D modelu u stvarnom vremenu korištenjem tehnologije praćenja lica dostupne na Zavodu.

Proširena stvarnost za virtualnu segmentaciju kose

Zadatak je implementirati virtualno bojanje kose u stvarnom vremenu 2-D segmentacijom te korištenjem tehnologije praćenja lica dostupne na Zavodu.

Proširena stvarnost za virtualno crtanje očima

Zadatak je implementirati virtualno crtanje očima u stvarnom vremenu korištenjem tehnologije praćenja lica i smjera gledanja dostupne na Zavodu.

Vizualizacija podataka (izv.prof.dr.sc. Krešimir Matković)

Block Modeler

U inženjerskim aplikacijama sistemi su najčešće definirani korištenjem međusobno povezanih 2D blokova. Takav sistem je vrlo pogodan za definiranje problema i pripremu ulaznih podataka u simulaciju. Rezultati simulacije su najčešće prikazani tekstualno ili korištenjem odvojenog sustava. Cilj ovog diplomskog rada je objediniti modeliranje i prezentaciju rezultata, tj. blokovi korišteni u modeliranju moraju moći prikazati i rezultate. S obzirom na potencijalno velik broj elemenata u raznim sustavima, editor za nove elemente je sastavni dio rada. Težište je na vizualizaciji rezultata, vizaulizaciji odstupnja i pogreąaka kod više simulacija i interaktivnosti modela. Predviđeno je korištenje GTK biblioteke za GUI, OpenGL-a za grafiku i c za programiranje. Rad mogu raditi i dva studenta.

​Advanced Interaction with Color Lines View

Color Lines View je način prikaza familije krivulja. Krivulje su prikazane ravnim crtama, a vrijednost funkcije je kodirana bojom. Novi načini selekcije i interakcije s prikazom su težište ovog rada. Zainteresirani studenti mogu zatražiti opis prikaza (samo pošaljite e-mail). Predviđeno je korištenje OpenGL-a za grafiku i C za programiranje.

Advanced Scatter Plot and Parallel Coordinates

Proširenje standardnih prikaza tako da podržavaju osi koje nisu jednodimenzinalne. Kod paralelnih koordinata, dodatno se očekuje implementiranje "Parellel Sets" pristupa u kombinaciji s paralelnim koordinatama. Predviđeno je korištenje OpenGL-a za grafiku i C za programiranje.​

Znanstvena vizualizacija (izv.prof.doc.dr.sc. Krešimir Matković)

Basic Volume Visualization

Osnovni sustav za vizualizaciju volumena. Ray casting, splatting. Moguće je proširiti temu na GPU bazirane metode. Ovu temu vodi izv.prof.dr.sc. Krešimir Matković. ​​

Flow Visualization

2D Steady state flow on regular grid. Predviđeno je korištenje OpenGL-a za grafiku i C za programiranje. Ovu temu vodi izv.prof.dr.sc. Krešimir Matković.

Parameterized Constructive Solid Geometry

Constructive Solid Geometry je način modeliranja gdje se koriste osnovni oblici volumena (kocka, kvadar, kugla, cilindar, ...) i Booleove operacije među njima kako bi se modelirali kompleksni oblici. U ovom radu očekuje se prikaz mogućnosti i razvoj sustava za parametrizirani CSG. Definicija konačnog tijela nije dana striktno već kao funkcija parametara. Npr. kocka stranice a je kombinirana s valjkom polumjera b i visine c. Korisnik može odrediti a, b, c (unutar dozvoljenih granica) i sistem računa konačni objekt. Predviđeno je korištenje GTK biblioteke za GUI, OpenGL-a za grafiku i c za programiranje. Ovu temu vodi izv.prof.dr.sc. Krešimir Matković.