Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Od 3. do 16. jula na Državnom univerzitetu Nižnji Novgorod. N.I. Lobačevski je bio domaćin Intel Interuniverzitetske ljetne škole o kompjuterskom vidu - Computer Vision Summer Camp, u kojoj je učestvovalo više od 100 studenata. Škola je bila namenjena studentima tehničkih nauka sa univerziteta u Nižnjem Novgorodu koji su zainteresovani za kompjuterski vid, duboko učenje, neuronske mreže, Intel OpenVINO, OpenCV.

U ovom članku ćemo podijeliti kako je protekla selekcija za Školu, šta su učili, šta su učenici radili na praktičnom dijelu, a govorićemo i o nekim od projekata predstavljenih na odbrani.

Proces selekcije i oblici učešća

Odlučili smo da djeci damo izbor da se prijave za dva oblika obrazovanja: redovni i vanredni. Za vanredne i vanredne kurseve studenti nisu prošli selekciju i odmah su upisani. Išli su samo na predavanja, radnim danima, u jutarnjim satima. Djeca su također imala priliku da urade praktične zadatke i pošalju ih GitHub za testiranje od strane nastavnika.

Da bi se kvalifikovali za redovni ispit, momci su morali doći u Intelovu kancelariju na razgovor sa komisijom. Razlika u odnosu na vanrednu i vanrednu formu bila je u tome što su učesnici kampa, pored predavanja, prošli i praktične zadatke sa kustosima – UNN nastavnicima i inženjerima iz Intela. U drugoj sedmici su završeni praktični zadaci i započeti projekti na kojima su učesnici radili u grupama od 3 osobe.

Tokom intervjua učenicima su postavljana pitanja o matematici i programiranju, a dobijali su i problem koji je trebalo riješiti na licu mjesta. Vrijedi napomenuti da su komisiju činili softverski inženjeri, inženjeri algoritama i univerzitetski nastavnici. N.I. Lobačevskog, pa je intervju ispao višestruko i izvanredno. Sa stanovišta anketara bilo je zanimljivo saznati osnovna tehnička znanja učenika u vezi sa kompjuterskim vidom, pa su teme poput C++/STL, OOP, osnovni algoritmi i strukture podataka, linearna algebra, matematička analiza, diskretna matematika i mnogo više se tražilo. Među zadacima, prioritet je bio saznanje obrazloženja učenika. Komisiju je zanimalo i gdje su studirali, kakvo su iskustvo imali prije ove škole (npr. naučna djelatnost) i kako se to može primijeniti direktno na oblast kompjuterskog vida.

U redovnoj selekciji učestvovalo je ukupno 78 studenata, dok je redovnih mjesta bilo 24. Konkurencija je bila 3 studenta po mjestu. Statistiku učesnika i vizuelne razlike između redovnih i vanrednih oblika učešća možete vidjeti u tabeli ispod:

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Šta su momci radili 2 sedmice?

Studenti su se u teoriji i praksi upoznali sa glavnim zadacima kompjuterskog vida: klasifikacija slika, detekcija objekata i njihovo praćenje. Komponenta predavanja za svaku temu obično je uključivala povijesni izlet u razvoj klasičnih metoda rješavanja problema kompjuterskog vida i savremenih metoda rješavanja korištenjem mašinskog učenja i neuronskih mreža. Teoriju je pratila praksa, gdje su studenti preuzimali popularne modele neuronskih mreža i pokretali ih koristeći DNN modul OpenCV biblioteke, kreirajući prilagođenu aplikaciju.

Prezentacije svih predavanja postavljene su u javnom repozitoriju GitHub, tako da učenici uvijek mogu otvoriti i pogledati potrebne informacije, uključujući i poslije škole. Bilo je moguće komunicirati sa predavačima, nastavnicima prakse i Intelovim inženjerima kako uživo tako i putem chata na Gitteru. Uspješnim se pokazao i tajming projektne sedmice: počela je u srijedu, što je omogućilo da se vikend bez predavanja korisno provede, unapređujući timske odluke. Najodgovorniji učesnici su pola subote proveli u kancelariji Intela, za šta su istog dana nagrađeni neplaniranim izletom.

Kako je protekla odbrana projekata?

Svaki tim je dobio 10 minuta da priča o tome šta je radio tokom projekta i do čega je došao. Nakon ovog vremena, počelo je 5 minuta, tokom kojih su inženjeri kompanije postavljali momcima pitanja i davali male savjete koji bi im pomogli da unaprijede svoj projekat ili spriječe postojeće greške u budućnosti. Svaki od momaka okušao se kao govornik, demonstrirajući svoje znanje iz oblasti kompjuterskog vida i potvrđujući svoj doprinos kreiranju projekta, što nam je pomoglo da razmotrimo i izvučemo zaključak o svakom polazniku škole. Odbrana je trajala preko 3 sata, ali smo se pobrinuli za momke i smirili napetost uz kratku pauzu za kafu, gdje su momci mogli udahnuti i razgovarati o problemima sa vodećim Intel stručnjacima.

Na kraju dana dodijelili smo jedno prvo, dva druga i tri treća mjesta. Bilo je prilično teško izabrati, jer je svaki tim, svaki projekat imao svoj ukus i odlikovao se originalnošću prezentacije.

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu
Redovni učesnici CV kampa, odbrana projekta, Intel kancelarija u Nižnjem Novgorodu

Predstavljeni projekti

Pametna rukavica

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Korištenje detektora i tragača koristeći OpenCV za vizualnu navigaciju u svemiru. Tim je dodatno dodao mogućnost senzora dubine pomoću dvije kamere. Microsoft Speech API se koristi kao interfejs za upravljanje.

Receptor

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Detekcija hrane i odabir recepture za gotovo jelo, uključujući pronađene sastojke. Momci se nisu plašili zadatka i u roku od nedelju dana sami su obeležili dovoljan broj slika, obučili detektor koristeći TensorFlow Object Detection API i dodali logiku za pronalaženje recepta. Jednostavno i ukusno!

Editor 2.0

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Učesnici projekta su koristili skup neuronskih mreža (pretraga lica, normalizacija slike lica po ključnim tačkama, izračunavanje deskriptora slike lica) za prepoznavanje lica u sklopu zadatka traženja fragmenata u dugim video zapisima u kojima je određena osoba prisutan. Razvijeni sistem se može koristiti kao pomoćni sistem za montažu videa, oslobađajući osobu od potrebe da sama gleda video u potrazi za potrebnim fragmentima. Korištenje neuronskih mreža iz OpenVINO biblioteke modela, tim je uspeo da postigne veliku brzinu aplikacije: na laptopu sa Intel Core i5 procesorom, brzina obrade video zapisa bila je 58 sličica u sekundi.

Anonimizator

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Crtanje naočala i maski na licu osobe. MTCNN mreža je korištena za otkrivanje lica i ključnih tačaka.

Anonymous

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Još jedan zanimljiv rad na temu prikrivanja identiteta. Ovaj tim je predstavio nekoliko opcija za izobličenje lica: zamagljivanje i pikselizaciju. Za nedelju dana, momci ne samo da su shvatili zadatak, već su obezbedili i način za anonimizaciju određene osobe (s prepoznavanjem lica).

Zagrijati

Projektni tim “Warm-up” riješio je problem kreiranja sportskog asistenta za vježbu nagiba glave. Čak i ako je konačna primjena ove aplikacije još uvijek kontroverzna, sprovedena je opsežna studija upoređujući različite algoritme za detekciju lica: Haar kaskade, mreže iz TensorFlowa, OpenCV i OpenVINO. Zagrijali smo se ne samo fizički, već i psihički!

Donji 800

Ljetni kamp Computer Vision - Intel ljetna škola o kompjuterskom vidu

Nižnji Novgorod, grad u kojem se održava škola, napuniće 2 godina za 800 godine, što znači da ima dovoljno vremena za realizaciju zanimljivog projekta. Zamolili smo djecu da razmisle o zadatku izrade vodiča koji na osnovu slike fasade zgrada može dati informacije o tome kakav je predmet prikazan na slici i koje su činjenice o njemu poznate. Po našem mišljenju, ovaj zadatak je bio jedan od najtežih, jer se odnosi na klasični kompjuterski vid, ali je tim pokazao pristojan rezultat.

Kamen papir makaze

Uprkos striktnim vremenskim ograničenjima za završetak dizajna, ovaj tim se takođe nije plašio da sprovede eksperiment za obuku sopstvene neuronske mreže da klasifikuje pozicije ruku u dobro poznatoj igri.

Povratne informacije od učesnika

Zamolili smo studente sa različitih kurseva da podijele svoje utiske o Ljetnoj školi:

Nedavno sam imao sreću da prisustvujem letnjem kampu Intel Computer Vision i bilo je to divno iskustvo. Stekli smo mnoga nova znanja i veštine iz oblasti CV-a, instaliranja softvera, otklanjanja grešaka, takođe smo bili uronjeni u radno okruženje, suočili se sa stvarnim problemima, razgovarali o mogućim rešenjima sa kolegama i nastavnicima. Postoji mit da je posao programera sastoji se isključivo od komunikacije sa računarom. Međutim, to uopće nije slučaj. Naš kreativni rad je neodvojiv od komunikacije s ljudima. Kroz komunikaciju se moglo steći jedinstveno znanje. A ova komponenta škole mi se najviše dopala. Međutim, postoji jedan nedostatak... nakon završenog treninga htio sam nastaviti! Pored teorijskih znanja iz DL i praktičnih vještina u CV-u, stekao sam ideju kojim oblastima matematike treba posvetiti posebnu pažnju i koje tehnologije treba proučavati. Posvećenost, profesionalnost i ljubav prema svom radu Intelovih inženjera i istraživača uticali su na moj izbor pravca u IT-u. Upravo zbog toga želim da se zahvalim svim organizatorima škole.

Kristina, 1. godina, HSE

U tako kratkom vremenu škola je bila u mogućnosti da pruži maksimalnu informaciju i praksu na temu kompjuterskog vida. I iako je osmišljen za osnovno znanje, predavanja su sadržavala mnogo tehničkog materijala koji želite razumjeti i posvetiti više vremena učenju. Mentori i predavači škole su željno odgovarali na sva pitanja i komunicirali sa učenicima. Pa, dok sam dovršavao završni projekat, morao sam uroniti u džunglu razvoja gotove aplikacije i naići na poteškoće koje se ne javljaju uvijek prilikom učenja. Naš tim je na kraju napravio aplikaciju za igranje igre kamen-papir-makaze sa kompjuterom. Obučili smo model da prepozna figuru na web kameri, napisali logiku i napravili interfejs baziran na opencv frameworku. Škola je pružila hranu za razmišljanje i vektor za kasnije učenje i razvoj. Veoma mi je drago što sam učestvovao.

Sergej, 3. godina, UNN

Škola nije u potpunosti ispunila moja očekivanja. Predavanja su držali prilično iskusni ljudi iz Intel programera. Komunikacija sa predavačima je uvijek bila zanimljiva i korisna, mentori su pristupačni i uvijek spremni pomoći, predavanja su prijatna za slušanje, teme su dosta relevantne i informativne. Ali neke stvari sam već znao, a one koje nisam znao nije ni na koji način poduprla praksa, pa sam zaista dobar materijal nikada u potpunosti shvatio i proučio. Da, većina informacija je data u informativne svrhe, tako da ih možete isprobati kod kuće ili jednostavno imati predstavu o čemu se radi, ali sam ipak želio sam implementirati neke postojeće algoritme pod nadzor iskusnih nastavnika koji mogu dati dobar savjet ili pomoći ako se nešto desi ne funkcionira. Kao rezultat toga, u praksi su korištena gotova rješenja, a kod je, moglo bi se reći, unaprijed napisan za nas, samo ga je trebalo malo modificirati. Projekti su bili najjednostavniji, a ako pokušate na neki način zakomplikovati zadatak, onda nemate dovoljno vremena da ga provedete u koliko-toliko stabilno stanje, kao što se dogodilo kod nas.
Općenito, cijela škola izgleda kao neka ne baš ozbiljna igra programera, a za to je kriv praktični dio. Smatram da je potrebno povećati vrijeme provedeno u školi, zakomplikovati gradivo za vježbu tako da možete i trebate nešto sami napisati, nešto zaista složeno i potrebno, a ne koristiti gotove, kako bi vježbanje bilo lakše u povećanju kompleksnosti, teme za konkursne projekte treba dati u prvim danima, kako bi se materijal sa predavanja i vježbi mogao odmah koristiti u svojim projektima i da bi bilo više vremena za implementaciju. Tada će vrijeme provedeno u školi poslužiti kao dobro iskustvo za buduće specijaliste.

Dmitrij, 1. godina master studija, NSTU

Letnja škola kompanije Intel je bila odlična prilika da ovo leto provedete radeći ono što volite. Sama činjenica da su predavanja držali zaposleni u Intelu vezana za programiranje u oblasti kompjuterskog vida nije mi dala da se opustim, želeo sam da izvučem maksimum iz celog procesa, iako je ponekad bio težak. Svaki dan je prošao vrlo brzo, neprimjetno i plodonosno. Prilika da realizujem sopstveni projekat omogućila mi je da radim u timu sa divnim kustosima i ostalim polaznicima škole. Ove dvije sedmice mogu se ukratko opisati na sljedeći način: zanimljivo i prolazno.

Elizaveta, 2. godina, UNN

U jesen (oktobar-novembar) očekuje vas Delta edukativni program, informacije o kojem možete saznati na našoj VKontakte grupe. Stay tuned!

izvor: www.habr.com

Dodajte komentar