Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Od 3. julija do 16. julija na Državni univerzi v Nižnem Novgorodu. N.I. Lobačevskega gostila Intel Interuniversity Summer School on Computer Vision – Computer Vision Summer Camp, ki se ga je udeležilo več kot 100 študentov. Šola je bila namenjena študentom tehnike z univerz v Nižnem Novgorodu, ki jih zanimajo računalniški vid, globoko učenje, nevronske mreže, Intel OpenVINO, OpenCV.

V tem članku bomo delili, kako je potekal izbor za Šolo, kaj so študirali, kaj so študenti počeli v praktičnem delu, spregovorili pa bomo tudi o nekaterih projektih, predstavljenih na zagovoru.

Izbirni postopek in oblike sodelovanja

Odločili smo se, da otrokom damo na izbiro dve obliki izobraževanja: redno in izredno. Pri izrednem in izrednem študiju študenti niso bili selekcijsko izbrani in so bili vpisani takoj. Obiskovali so samo predavanja, ob delavnikih, v dopoldanskem času. Otroci so imeli tudi možnost opraviti praktične naloge in jih poslati na GitHub za testiranje s strani učiteljev.

Da bi se kvalificirali za redni izpit, so morali fantje priti v Intelovo pisarno na razgovor s komisijo. Razlika od izredne in izredne oblike je bila v tem, da so udeleženci tabora poleg predavanj opravili praktične naloge s kustosi - učitelji UNN in inženirji podjetja Intel. V drugem tednu so se praktične naloge zaključile in začeli so se projekti, na katerih so udeleženci delali v skupinah po 3 osebe.

Med razgovorom so dijaki zastavljali vprašanja o matematiki in programiranju, dobili pa so tudi nalogo, ki so jo morali reševati sproti. Omeniti velja, da so komisijo sestavljali programski inženirji, inženirji algoritmov in univerzitetni učitelji. N.I. Lobačevskega, zato se je intervju izkazal za večplastnega in izjemnega. Z vidika anketarja je bilo zanimivo izvedeti osnovno tehnično znanje študentov v zvezi z računalniškim vidom, zato so teme, kot so C++/STL, OOP, osnovni algoritmi in podatkovne strukture, linearna algebra, matematična analiza, diskretna matematika in veliko več vprašanih. Med nalogami je bilo prednostno ugotoviti sklepanje učencev. Komisijo je zanimalo tudi, kje so študirali, kakšne izkušnje so imeli pred to šolo (na primer znanstvena dejavnost) in kako bi jih lahko aplicirali neposredno na področje računalniškega vida.

Rednega izbora se je udeležilo 78 študentov, rednih pa 24. Konkurenca je bila 3 študenti na mesto. Statistika udeležencev in vizualne razlike med redno in izredno obliko sodelovanja so vidne v spodnji tabeli:

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Kaj so fantje počeli 2 tedna?

Študenti so se v teoriji in praksi seznanili z glavnimi nalogami računalniškega vida: klasifikacijo slik, detekcijo objektov in njihovo sledenje. Predavanje pri posamezni temi je običajno vključevalo zgodovinski ekskurz v razvoj klasičnih metod reševanja problemov računalniškega vida in sodobnih metod reševanja s pomočjo strojnega učenja in nevronskih mrež. Teoriji je sledila praksa, kjer so si študenti naložili priljubljene modele nevronskih mrež in jih zagnali s pomočjo DNN modula knjižnice OpenCV ter ustvarili aplikacijo po meri.

Predstavitve vseh predavanj so bile objavljene v javnem repozitoriju GitHub, tako da lahko učenci vedno odprejo in si ogledajo potrebne informacije, tudi po šoli. S predavatelji, učitelji prakse in Intelovimi inženirji je bilo mogoče komunicirati tako v živo kot prek klepeta na Gitterju. Tudi časovni razpored projektnega tedna se je izkazal za uspešnega: začel se je v sredo, kar je omogočilo koristno preživljanje vikenda brez predavanj in izboljšanje timskih odločitev. Najodgovornejši udeleženci so polovico sobote preživeli v Intelovi pisarni, za kar so bili isti dan nagrajeni z nenačrtovano ekskurzijo.

Kako je potekal zagovor projektov?

Vsaka ekipa je imela 10 minut časa za pogovor o tem, kaj je med projektom počela in do česa je prišla. Po tem času se je začelo 5 minut, med katerimi so inženirji podjetja fantom postavljali vprašanja in dajali majhne nasvete, ki bi jim pomagali izboljšati njihov projekt ali preprečiti obstoječe napake v prihodnosti. Vsak od fantov se je preizkusil kot govornik, pokazal svoje znanje na področju računalniškega vida in potrdil svoj prispevek k ustvarjanju projekta, kar nam je pomagalo razmisliti in narediti sklep o vsakem udeležencu šole. Zagovor je potekal več kot 3 ure, vendar smo poskrbeli za fante in napetost ublažili s kratkim odmorom za kavo, kjer so si fantje lahko dali duška in razpravljali o temah z vodilnimi Intelovimi specialisti.

Ob koncu dneva smo podelili eno prvo, dve drugi in tri tretja mesta. Bilo je precej težko izbrati, saj je imela vsaka ekipa, vsak projekt svoj okus in se je odlikovala z izvirnostjo predstavitve.

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida
Redni udeleženci CV Campa, zagovor projektov, pisarna Intel v Nižnem Novgorodu

Predstavljeni projekti

Pametna rokavica

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Uporaba detektorja in sledilnika z uporabo OpenCV za vizualno navigacijo v prostoru. Ekipa je dodatno dodala zmogljivost zaznavanja globine z uporabo dveh kamer. Microsoft Speech API se uporablja kot vmesnik za upravljanje.

Receptor

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Zaznavanje živil in izbira recepta za že pripravljeno jed, vključno z najdenimi sestavinami. Fantje se niso ustrašili naloge in v enem tednu so sami označili zadostno število slik, usposobili detektor z uporabo TensorFlow Object Detection API in dodali logiko za iskanje recepta. Preprosto in okusno!

Urejevalnik 2.0

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Udeleženci projekta so uporabili nabor nevronskih mrež (iskanje obraza, normalizacija podobe obraza po ključnih točkah, izračun deskriptorja podobe obraza) za prepoznavanje obraza v okviru naloge iskanja fragmentov v dolgih video posnetkih, v katerih je določena oseba. prisoten. Razviti sistem se lahko uporablja kot pomočnik pri urejanju videoposnetkov, s čimer človeku ni treba sam gledati videoposnetek v iskanju potrebnih fragmentov. Uporaba nevronskih mrež iz Knjižnice modelov OpenVINO, ekipi je uspelo doseči visoko hitrost aplikacije: na prenosnem računalniku s procesorjem Intel Core i5 je bila hitrost obdelave videa 58 sličic na sekundo.

Anonimizator

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Risanje očal in mask na obraz osebe. Za zaznavanje obrazov in ključnih točk je bilo uporabljeno omrežje MTCNN.

Anonimno

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Še eno zanimivo delo na temo prikrivanja identitete. Ta ekipa je predstavila več možnosti za popačenje obrazov: zameglitev in pikselizacijo. V enem tednu so fantje ne le ugotovili nalogo, temveč so zagotovili tudi način za anonimizacijo določene osebe (s prepoznavanjem obraza).

Ogrevaj

Projektna skupina "Warm-up" je rešila problem ustvarjanja športnega pomočnika za vajo nagiba glave. In čeprav je končna uporaba te aplikacije še vedno sporna, je bila izvedena obsežna študija, v kateri so primerjali različne algoritme za zaznavanje obrazov: Haarove kaskade, omrežja TensorFlow, OpenCV in OpenVINO. Ogreli smo se ne le fizično, ampak tudi psihično!

Nižje 800

Computer Vision Summer Сamp – Intelova poletna šola računalniškega vida

Nižni Novgorod, mesto, kjer je šola potekala, bo čez 2 leti dopolnilo 800 let, kar pomeni, da je dovolj časa za izvedbo zanimivega projekta. Otroke smo prosili, da razmislijo o nalogi, kako ustvariti vodnik, ki bi lahko na podlagi podobe pročelja zgradb dal informacijo o tem, kakšen predmet je prikazan na sliki in katera dejstva so o njem znana. Po našem mnenju je bila ta naloga ena najtežjih, saj se nanaša na klasični računalniški vid, vendar je ekipa pokazala spodoben rezultat.

Kamen papir Škarje

Kljub strogim časovnim omejitvam za dokončanje oblikovalskega dela se ta ekipa prav tako ni bala izvesti eksperimenta, da bi usposobila lastno nevronsko mrežo za razvrščanje položajev rok v dobro znani igri.

Povratne informacije udeležencev

Študente različnih tečajev smo prosili, da delijo svoje vtise o Poletni šoli:

Pred kratkim sem imel srečo, da sem se udeležil poletnega tabora Intel Computer Vision in bila je čudovita izkušnja. Pridobili smo veliko novih znanj in veščin s področja življenjepisa, namestitve programske opreme, odpravljanja napak, vživeli smo se tudi v delovno okolje, se soočili z resničnimi problemi, razpravljali o možnih rešitvah s sodelavci in učitelji.Velja mit, da je delo programerja sestoji izključno iz komunikacije z računalnikom. Vendar temu sploh ni tako. Naše ustvarjalno delo je neločljivo povezano s komunikacijo z ljudmi. Prav s komunikacijo je bilo mogoče pridobiti edinstveno znanje. In ta komponenta šole mi je bila najbolj všeč. Vendar pa obstaja ena pomanjkljivost ... po končanem usposabljanju sem želel nadaljevati! Poleg teoretičnega znanja v DL in praktičnih veščin v življenjepisu sem pridobil predstavo o tem, katerim področjem matematike je treba posvetiti posebno pozornost in katere tehnologije je treba študirati. Predanost, strokovnost in ljubezen do svojega dela Intelovih inženirjev in raziskovalcev so vplivali na mojo izbiro smeri IT. Za to bi se rad zahvalil vsem organizatorjem šole.

Kristina, 1. letnik, HSE

V tako kratkem času je šola uspela zagotoviti največ informacij in prakse na temo računalniškega vida. In čeprav je bilo zasnovano za osnovno znanje, so predavanja vsebovala veliko strokovne snovi, ki si jo želiš razumeti in ji posvetiš več časa. Mentorji in predavatelji šole so z veseljem odgovarjali na vsa vprašanja in komunicirali z dijaki. No, med dokončanjem končnega projekta sem se moral potopiti v džunglo razvoja končane aplikacije in naleteti na težave, ki se ne pojavijo vedno pri študiju. Naša ekipa je na koncu naredila aplikacijo za igranje igre kamen-škarje-papir z računalnikom. Usposobili smo model za prepoznavanje figure na spletni kameri, napisali logiko in naredili vmesnik na osnovi opencv ogrodja. Šola je bila snov za razmišljanje in vektor za nadaljnje učenje in razvoj. Zelo sem vesel, da sem sodeloval.

Sergej, 3. letnik, UNN

Šola ni povsem izpolnila mojih pričakovanj. Predavanja so imeli dokaj izkušeni ljudje iz Intelovih razvijalcev. Komunikacija s predavatelji je bila vedno zanimiva in koristna, mentorji so odzivni in vedno pripravljeni pomagati, predavanja so prijetna za poslušanje, teme zelo aktualne in poučne. Toda nekatere stvari sem že vedel, tiste, ki jih nisem vedel, pa niso bile v ničemer podprte s prakso, zato res dobrega materiala nikoli nisem popolnoma razumel in preučil. Da, večina informacij je podanih v informativne namene, da jih lahko potem preizkusite doma ali pa samo dobite idejo o čem gre, vendar sem vseeno želel nekaj obstoječih algoritmov implementirati sam pod nadzor izkušenih učiteljev, ki lahko dobro svetujejo ali pomagajo, če se kaj zgodi, ne deluje. Posledično so bile v praksi uporabljene že pripravljene rešitve, koda pa je bila, lahko bi rekli, vnaprej napisana za nas, le nekoliko jo je bilo treba spremeniti. Projekti so bili najenostavnejši in če poskušaš nalogo na nek način zakomplicirati, potem nimaš dovolj časa, da bi jo izvedel v bolj ali manj stabilno stanje, kot se je zgodilo pri nas.
Na splošno je celotna šola videti kot nekakšna ne preveč resna igra razvijalcev in to je ravno napaka praktičnega dela. Mislim, da je treba povečati čas, porabljen za šolo, zakomplicirati gradivo za vadbo, tako da lahko in bi moral napisati nekaj sam, nekaj res zapletenega in potrebnega, in ne uporabljati že pripravljenih, da bo praksa bolj gladka pri povečevanju zahtevnosti, teme za natečajne projekte oddajte v prvih dneh, da boste snov s predavanj in vaj takoj uporabili v svojih projektih in bo ostalo več časa za izvedbo. Potem bo čas, preživet v šoli, služil kot dobra izkušnja za ambiciozne strokovnjake.

Dmitry, 1. letnik magisterija, NSTU

Intelova poletna šola je bila odlična priložnost, da to poletje preživite v tem, kar imate radi. Že dejstvo, da so predavanja izvajali Intelovi sodelavci, povezani s programiranjem na področju računalniškega vida, mi ni dopuščalo sprostitve, želel sem iz celotnega procesa potegniti največ, čeprav je bilo včasih težko. Vsak dan je minil zelo hitro, neopazno in plodno. Priložnost za izvedbo lastnega projekta mi je omogočila sodelovanje v timu s čudovitimi kustosi in drugimi udeleženci šole. Ta dva tedna lahko na kratko opišem takole: zanimiva in minljiva.

Elizaveta, 2. letnik, UNN

Jeseni (oktober-november) vas čaka izobraževalni program Delta, o katerem lahko izveste na naši Skupine VKontakte. Ostani na vezi!

Vir: www.habr.com

Dodaj komentar