Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

3. heinäkuuta - 16. heinäkuuta Nižni Novgorodin osavaltion yliopistossa. N.I. Lobachevsky isännöi Intel Interuniversity Summer School on Computer Vision - Computer Vision Summer Camp, johon osallistui yli 100 opiskelijaa. Koulu oli suunnattu Nizhny Novgorodin yliopistojen teknisille opiskelijoille, jotka ovat kiinnostuneita tietokonenäöstä, syväoppimisesta, hermoverkoista, Intel OpenVINOsta, OpenCV:stä.

Tässä artikkelissa kerromme, miten koulun valinta tapahtui, mitä he opiskelevat, mitä opiskelijat tekivät käytännön osiossa, ja kerromme myös joistakin väittelyssä esitellyistä projekteista.

Valintaprosessi ja osallistumismuodot

Päätimme antaa lapsille mahdollisuuden hakea kahta koulutusmuotoa: kokopäiväistä ja osa-aikaista. Osa- ja osa-aikaisille kursseille opiskelijat eivät läpäisseet valintaa ja ilmoittautuivat välittömästi. He osallistuivat vain luennoille, arkisin, aamuisin. Lapsilla oli myös mahdollisuus suorittaa käytännön tehtäviä ja lähettää ne GitHub opettajien testattavaksi.

Päästäkseen kokopäiväiseen kokeeseen poikien piti tulla Intelin toimistoon haastatteluun komission kanssa. Erona osa- ja osa-aikaiseen muotoon oli se, että leirille osallistujat kävivät luentojen lisäksi käytännön tehtävissä kuraattorien - UNN:n opettajien ja Intelin insinöörien kanssa. Toisella viikolla loppuivat käytännön tehtävät ja alkoivat projektit, joissa osallistujat työskentelivät 3 hengen ryhmissä.

Haastattelussa opiskelijoille esitettiin kysymyksiä matematiikasta ja ohjelmoinnista, ja heille annettiin myös tehtävä, joka piti ratkaista paikan päällä. On syytä huomata, että komissio koostui ohjelmistosuunnittelijoista, algoritmi-insinööreistä ja yliopiston opettajista. N.I. Lobachevsky, joten haastattelu osoittautui monitahoiseksi ja poikkeukselliseksi. Haastattelijan näkökulmasta oli mielenkiintoista saada selville opiskelijoiden tekniset perustiedot tietokonenäön suhteen, joten aiheita kuten C++/STL, OOP, perusalgoritmit ja tietorakenteet, lineaarinen algebra, matemaattinen analyysi, diskreetti matematiikka ja paljon muutakin kysyttiin. Tehtävien joukossa oli ensisijaisesti opiskelijoiden päättelyn selvittäminen. Komissio oli myös kiinnostunut siitä, missä he opiskelevat, mitä kokemuksia heillä oli ennen tätä koulua (esimerkiksi tieteellinen toiminta) ja kuinka sitä voitaisiin soveltaa suoraan tietokonenäön kenttään.

Päätoimiseen valintaan osallistui yhteensä 78 opiskelijaa ja päätoimisia paikkoja oli 24. Kilpailussa oli 3 opiskelijaa per paikka. Osallistujatilastot ja visuaaliset erot kokopäiväisten ja osa-aikaisten osallistumismuotojen välillä näkyvät alla olevassa taulukossa:

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Mitä pojat tekivät 2 viikkoa?

Opiskelijat tutustuivat teoriassa ja käytännössä tietokonenäön päätehtäviin: kuvien luokitteluun, esineiden havaitsemiseen ja niiden seurantaan. Jokaisen aiheen luentokomponentti sisälsi yleensä historiallisen retken klassisten tietokonenäköongelmien ratkaisumenetelmien ja nykyaikaisten ratkaisumenetelmien kehitykseen koneoppimisen ja neuroverkkojen avulla. Teoriaa seurasi käytäntö, jossa opiskelijat latasivat suosittuja hermoverkkomalleja ja käynnistivät ne OpenCV-kirjaston DNN-moduulin avulla luoden mukautetun sovelluksen.

Kaikkien luentojen esitykset asetettiin julkiseen arkistoon Github, jotta oppilaat voivat aina avata ja tarkastella tarvittavia tietoja, myös koulun jälkeen. Opettajien, harjoitteluopettajien ja Intelin insinöörien kanssa oli mahdollista kommunikoida sekä livenä että chatin kautta Gitterissä. Myös projektiviikon ajoitus osoittautui onnistuneeksi: se alkoi keskiviikkona, mikä mahdollisti viikonlopun hyödyllisen viettämisen luentovapaana parantaen tiimien päätöksiä. Vastuullisimmat osallistujat viettivät puolet lauantaista Intelin toimistolla, josta heidät palkittiin suunnittelemattomalla retkellä samana päivänä.

Miten hankkeiden puolustaminen sujui?

Jokaiselle tiimille annettiin 10 minuuttia aikaa keskustella siitä, mitä he tekivät projektin aikana ja mihin päätyivät. Tämän ajan jälkeen alkoi 5 minuuttia, jonka aikana yrityksen insinöörit esittivät pojille kysymyksiä ja antoivat pieniä vinkkejä, jotka auttaisivat heitä parantamaan projektiaan tai ehkäisemään olemassa olevia virheitä tulevaisuudessa. Jokainen kaveri kokeili itseään puhujana, osoitti tietonsa tietokonenäön alalla ja vahvisti panoksensa projektin luomiseen, mikä auttoi meitä pohtimaan ja tekemään johtopäätöksen jokaisesta koulun osallistujasta. Puolustus kesti yli 3 tuntia, mutta pidimme pojista huolta ja purimme jännitteitä lyhyellä kahvitauolla, jossa pojat saivat vetää henkeä ja keskustella asioista johtavien Intel-asiantuntijoiden kanssa.

Päivän päätteeksi jakoimme yhden ykkös-, kaksi toisen- ja kolme kolmatta sijaa. Valinta oli melko vaikeaa, koska jokaisella tiimillä, jokaisella projektilla oli oma makunsa ja se erottui esityksen omaperäisyydestään.

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä
Päätoimiset CV-leirin osallistujat, projektipuolustus, Intelin toimisto Nižni Novgorodissa

Esiteltyjä projekteja

Älykäs käsine

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Ilmaisimen ja seurantalaitteen käyttö OpenCV:n avulla visuaaliseen navigointiin avaruudessa. Tiimi on lisäksi lisännyt syvyystunnistuksen kahden kameran avulla. Hallintaliittymänä käytetään Microsoft Speech API:ta.

Reseptori

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Ruoan tunnistaminen ja reseptin valinta valmiille ruoalle, mukaan lukien löydetyt ainekset. Kaverit eivät pelänneet tehtävää ja he merkitsivät viikon sisällä itse riittävän määrän kuvia, kouluttivat ilmaisimen TensorFlow Object Detection API:lla ja lisäsivät logiikkaa reseptin löytämiseen. Yksinkertaista ja maukasta!

Editor 2.0

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Projektin osallistujat käyttivät kasvojentunnistukseen joukkoa hermoverkkoja (kasvohaku, kasvokuvan normalisointi avainpisteiden mukaan, kasvokuvan kuvaajan laskeminen) osana tehtävää etsiä katkelmia pitkistä videoista, joissa tietty henkilö on esittää. Kehitettyä järjestelmää voidaan käyttää apujärjestelmänä videoeditointiin, jolloin henkilö ei tarvitse katsoa videota itse etsiessään tarvittavia fragmentteja. Neuroverkkojen käyttäminen kohteesta OpenVINO mallikirjastot, tiimi onnistui saavuttamaan sovelluksen suuren nopeuden: Intel Core i5 -prosessorilla varustetussa kannettavassa tietokoneessa videon käsittelynopeus oli 58 kuvaa sekunnissa.

Anonymisoija

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Silmälasien ja naamarien piirtäminen ihmisen kasvoille. MTCNN-verkkoa käytettiin kasvojen ja avainpisteiden havaitsemiseen.

Nimetön

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Toinen mielenkiintoinen työ identiteetin salaamisesta. Tämä tiimi esitteli useita vaihtoehtoja kasvojen vääristämiseen: sumennuksen ja pikseloinnin. Yhdessä viikossa kaverit eivät vain selvittäneet tehtävää, vaan tarjosivat myös tilan tietyn henkilön anonymisoimiseksi (kasvontunnistuksella).

Lämmitä

"Warm-up"-projektitiimi ratkaisi ongelman urheiluassistentin luomisesta pään kallistusharjoitukseen. Ja vaikka tämän sovelluksen lopullinen sovellus on edelleen kiistanalainen, tehtiin kattava tutkimus, jossa verrattiin erilaisia ​​kasvojentunnistusalgoritmeja: Haar-kaskadit, TensorFlow-verkot, OpenCV ja OpenVINO. Lämmittelimme paitsi fyysisesti, myös henkisesti!

Alempi 800

Computer Vision Summer Сamp – Intelin kesäkoulu tietokonenäöstä

Nižni Novgorod, kaupunki, jossa koulu pidettiin, täyttää 2 vuotta kahdessa vuodessa, mikä tarkoittaa, että aikaa on tarpeeksi mielenkiintoisen projektin toteuttamiseen. Pyysimme lapsia pohtimaan tehtävää luoda opas, joka voi rakennuksen julkisivukuvan perusteella antaa tietoa siitä, millainen esine kuvassa näkyy ja mitä faktoja siitä tiedetään. Mielestämme tämä tehtävä oli yksi vaikeimmista, koska se liittyy klassiseen tietokonenäköön, mutta joukkue osoitti kunnollisen tuloksen.

Kivi paperi sakset

Huolimatta suunnittelutyön tiukoista aikarajoituksista tämä tiimi ei myöskään pelännyt tehdä kokeilua oman hermoverkkonsa kouluttamiseksi käsien asemien luokitteluun tunnetussa pelissä.

Palaute osallistujilta

Pyysimme eri kurssien opiskelijoita jakamaan vaikutelmiaan kesäkoulusta:

Minulla oli äskettäin onni osallistua Intel Computer Vision -kesäleiriin, ja se oli upea kokemus. Saimme paljon uutta tietoa ja taitoja CV:n, ohjelmistojen asennuksen, virheenkorjauksen saralla, uppouduimme myös työympäristöön, kohtasimme todellisia ongelmia, keskustelimme mahdollisista ratkaisuista kollegoiden ja koulun opettajien kanssa.On olemassa myytti, että ohjelmoijan työ on koostuu yksinomaan kommunikoinnista tietokoneen kanssa. Näin ei kuitenkaan ole ollenkaan. Luova työmme on erottamaton kommunikaatiosta ihmisten kanssa. Viestinnän kautta saattoi saada ainutlaatuista tietoa. Ja tästä koulun osasta pidin eniten. Yksi haittapuoli kuitenkin on... opintojeni päätyttyä halusin jatkaa! Teoreettisen DL-tiedon ja käytännön CV-taitojen lisäksi sain käsityksen siitä, mihin matematiikan osa-alueisiin tulisi kiinnittää erityistä huomiota ja mitä teknologioita kannattaa opiskella. Intelin insinöörien ja tutkijoiden omistautuminen, ammattitaito ja rakkaus työtään kohtaan vaikuttivat IT-suunnan valintaani. Tästä haluan kiittää kaikkia koulun järjestäjiä.

Kristina, 1. vuosi, HSE

Näin lyhyessä ajassa koulu pystyi tarjoamaan mahdollisimman paljon tietoa ja harjoittelua tietokonenäön aiheesta. Ja vaikka se oli suunniteltu perustietoihin, luennot sisälsivät paljon teknistä materiaalia, jota halutaan ymmärtää ja viettää enemmän aikaa opiskeluun. Koulun mentorit ja luennoitsijat vastasivat innokkaasti kaikkiin kysymyksiin ja kommunikoivat opiskelijoiden kanssa. No, lopputyötä tehdessäni jouduin sukeltamaan valmiin sovelluksen kehittämisen viidakkoon ja kohtaamaan vaikeuksia, joita opiskelussa ei aina esiinny. Tiimimme teki lopulta sovelluksen pelata "kivi-paperi-sakset" -peliä tietokoneella. Koulutimme mallin tunnistamaan hahmon web-kameralla, kirjoitimme logiikkaa ja teimme käyttöliittymän opencv-kehyksen pohjalta. Koulu tarjosi ajattelua ja vektoria myöhempään oppimiseen ja kehittymiseen. Olen erittäin iloinen, että osallistuin.

Sergey, 3. vuosi, UNN

Koulu ei täysin vastannut odotuksiani. Luennot pitivät melko kokeneet Intelin kehittäjät. Viestintä luennoitsijoiden kanssa on aina ollut mielenkiintoista ja hyödyllistä, mentorit ovat reagoivia ja aina valmiita auttamaan.Luennot ovat miellyttävää kuunnella, aiheet ovat varsin ajankohtaisia ​​ja informatiivisia. Mutta tiesin jo joitain asioita, ja niitä, joita en tiennyt, ei käytäntö tukenut millään tavalla, ja siksi todella hyvää materiaalia en koskaan ymmärtänyt ja opiskellut. Kyllä, suurin osa tiedoista on tarkoitettu tiedoksi, jotta voit kokeilla sitä kotona tai vain saada käsityksen siitä, mistä on kyse, mutta halusin silti toteuttaa joitain olemassa olevia algoritmeja itse. kokeneiden opettajien valvonta, jotka voivat antaa hyviä neuvoja tai auttaa, jos jotain tapahtuu, ei toimi. Tästä johtuen käytännössä käytettiin valmiita ratkaisuja ja koodi, voisi sanoa, oli valmiiksi kirjoitettu meille, sitä tarvitsi vain hieman muokata. Projektit olivat yksinkertaisimpia, ja jos yrität jollain tavalla monimutkaista tehtävää, sinulla ei ole tarpeeksi aikaa toteuttaa sitä enemmän tai vähemmän vakaaseen tilaan, kuten meillä kävi.
Yleisesti ottaen koko koulu näyttää jonkinlaiselta ei kovin vakavalta kehittäjien peliltä, ​​ja tämä on juuri käytännön osan vika. Mielestäni on välttämätöntä lisätä kouluun käytettyä aikaa, monimutkaista harjoitusmateriaalia, jotta voit ja pitää kirjoittaa jotain itse, jotain todella monimutkaista ja tarpeellista, eikä käyttää valmiita, jotta harjoittelu sujuisi monimutkaisuuden lisääntyessä , kilpailuprojektien aiheet kannattaa jakaa ensimmäisinä päivinä, jotta luentojen ja harjoitusten materiaalia voidaan käyttää heti projekteissasi ja toteutukseen jää enemmän aikaa. Silloin koulussa vietetty aika toimii hyvänä kokemuksena aloitteleville asiantuntijoille.

Dmitry, 1. vuoden maisterin tutkinto, NSTU

Intelin kesäkoulu oli loistava tilaisuus viettää tämä kesä tekemällä sitä, mitä rakastat. Pelkästään se tosiasia, että Intelin työntekijät pitivät luentoja tietokonenäköalan ohjelmointiin liittyen, ei antanut minun rentoutua, halusin saada kaiken irti koko prosessista, vaikka se välillä olikin vaikeaa. Jokainen päivä kului erittäin nopeasti, huomaamattomasti ja hedelmällisesti. Mahdollisuus toteuttaa omaa projektiani antoi minulle mahdollisuuden työskennellä tiimissä upeiden kuraattorien ja muiden koulun osallistujien kanssa. Näitä kahta viikkoa voidaan kuvata lyhyesti seuraavasti: mielenkiintoisia ja ohikiitäviä.

Elizaveta, 2. vuosi, UNN

Syksyllä (loka-marraskuu) sinua odottaa Delta koulutusohjelma, josta saat tietoa VKontakte ryhmät. Pysy kanavalla!

Lähde: will.com

Lisää kommentti