Computer Vision Summer Сamp – Intels sommarskola om datorseende

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Från 3 juli till 16 juli vid Nizhny Novgorod State University. N.I. Lobachevsky var värd för Intel Interuniversity Summer School on Computer Vision - Computer Vision Summer Camp, där mer än 100 studenter deltog. Skolan riktade sig till tekniska studenter från Nizhny Novgorod-universitetet som är intresserade av datorseende, djupinlärning, neurala nätverk, Intel OpenVINO, OpenCV.

I den här artikeln kommer vi att berätta hur urvalet till skolan gick till, vad de studerade, vad eleverna gjorde i den praktiska delen, och även prata om några av de projekt som presenterades på disputationen.

Urvalsprocess och former för deltagande

Vi bestämde oss för att ge barnen valet att söka till två utbildningsformer: heltid och deltid. För deltids- och deltidskurser genomgick inte studenterna urval och skrevs in omedelbart. De gick bara på föreläsningar, på vardagar, på morgonen. Barnen fick också möjlighet att utföra praktiska uppgifter och skicka dem till GitHub för testning av lärare.

För att kvalificera sig för heltidsprovet var killarna tvungna att komma till Intels kontor för en intervju med kommissionen. Skillnaden mot deltids- och deltidsformen var att lägerdeltagarna förutom föreläsningar gick igenom praktiska uppgifter med kuratorer – UNN-lärare och ingenjörer från Intel. Andra veckan avslutades praktiska uppgifter och projekt påbörjades, där deltagarna arbetade i grupper om 3 personer.

Under intervjun fick eleverna frågor om matematik och programmering och fick även ett problem som skulle lösas på plats. Det är värt att notera att kommissionen bestod av mjukvaruingenjörer, algoritmingenjörer och universitetslärare. N.I. Lobachevsky, så intervjun visade sig vara mångfacetterad och extraordinär. Ur intervjuarens synvinkel var det intressant att ta reda på elevernas grundläggande tekniska kunskaper i relation till datorseende, så ämnen som C++/STL, OOP, grundläggande algoritmer och datastrukturer, linjär algebra, matematisk analys, diskret matematik och mycket mer frågades. Bland uppgifterna var prioritet att ta reda på elevernas resonemang. Kommissionen var också intresserad av var de studerade, vilka erfarenheter de hade innan den här skolan (till exempel vetenskaplig verksamhet) och hur den kunde tillämpas direkt på området datorseende.

Totalt deltog 78 elever i uttagningen på heltid medan det var 24 heltidsplatser.Tävlingen var 3 elever per plats. Statistik över deltagare och visuella skillnader mellan heltids- och deltidsformerna för deltagande kan ses i tabellen nedan:

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Vad gjorde killarna i 2 veckor?

Eleverna bekantade sig i teori och praktik med datorseendes huvuduppgifter: bildklassificering, objektdetektering och deras spårning. Föreläsningsdelen för varje ämne inkluderade vanligtvis en historisk exkursion i utvecklingen av klassiska metoder för att lösa datorseendeproblem och moderna metoder för att lösa med hjälp av maskininlärning och neurala nätverk. Teorin följdes av praktik, där eleverna laddade ner populära neurala nätverksmodeller och lanserade dem med DNN-modulen i OpenCV-biblioteket och skapade en anpassad applikation.

Presentationer av alla föreläsningar lades upp i ett offentligt arkiv Github, så att eleverna alltid kan öppna och se nödvändig information, även efter skolan. Det gick att kommunicera med föreläsare, övningslärare och Intel-ingenjörer både live och via chatt på Gitter. Tidpunkten för projektveckan visade sig också vara framgångsrik: den började på onsdagen, vilket gjorde det möjligt att på ett användbart sätt tillbringa helgen fri från föreläsningar och förbättra teambeslut. De mest ansvarsfulla deltagarna tillbringade halva lördagen på Intels kontor, för vilket de belönades med en oplanerad utflykt samma dag.

Hur var försvaret av projekten?

Varje team fick 10 minuter på sig att prata om vad de gjorde under projektet och vad de kom fram till. Efter denna tid började 5 minuter, under vilka företagets ingenjörer ställde frågor till killarna och gav små tips som skulle hjälpa dem att förbättra sitt projekt eller förhindra befintliga misstag i framtiden. Var och en av killarna försökte sig som talare, demonstrerade sina kunskaper inom området datorseende och bekräftade deras bidrag till skapandet av projektet, vilket hjälpte oss att överväga och dra en slutsats om varje deltagare i skolan. Försvaret pågick under 3 timmar, men vi tog hand om killarna och lättade på spänningen med en kort fikapaus, där killarna kunde ta ett andetag och diskutera frågor med ledande Intel-specialister.

I slutet av dagen belönade vi en första, två andra och tre tredjeplatser. Det var ganska svårt att välja, eftersom varje team, varje projekt hade sin egen smak och kännetecknades av sin originalitet i presentationen.

Computer Vision Summer Сamp – Intels sommarskola om datorseende
Heltidsanställda CV Camp-deltagare, projektförsvar, Intel-kontor i Nizhny Novgorod

Presenterade projekt

Smart handske

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Använda en detektor och spårare med OpenCV för visuell navigering i rymden. Teamet har dessutom lagt till djupavkänningskapacitet med hjälp av två kameror. Microsoft Speech API används som hanteringsgränssnitt.

Receptor

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Detektering av mat och val av recept på en färdig rätt, inklusive de hittade ingredienserna. Killarna var inte rädda för uppgiften och inom en vecka märkte de upp ett tillräckligt antal bilder på egen hand, tränade detektorn med TensorFlow Object Detection API och lade till logik för att hitta receptet. Enkelt och smakfullt!

Editor 2.0

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Projektdeltagarna använde en uppsättning neurala nätverk (ansiktssökning, normalisering av ansiktsbilden med nyckelpunkter, beräkning av ansiktsbildsbeskrivningen) för ansiktsigenkänning som en del av uppgiften att söka efter fragment i långa videor där en viss person är närvarande. Det utvecklade systemet kan användas som ett hjälpsystem för videoredigering, vilket befriar en person från att behöva titta på videon själv på jakt efter de nödvändiga fragmenten. Använda neurala nätverk från OpenVINO modellbibliotek, teamet lyckades uppnå hög hastighet på applikationen: på en bärbar dator med en Intel Core i5-processor var videobehandlingshastigheten 58 bilder per sekund.

Anonymiserare

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Rita glasögon och masker på en persons ansikte. MTCNN-nätverket användes för att upptäcka ansikten och nyckelpunkter.

Anonym

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Ett annat intressant arbete på temat att dölja identitet. Detta team introducerade flera alternativ för att förvränga ansikten: suddighet och pixelering. På en vecka kom killarna inte bara på uppgiften, utan gav också ett läge för att anonymisera en specifik person (med ansiktsigenkänning).

Värma upp

Projektteamet "Warm-up" löste problemet med att skapa en sportassistent för huvudlutningsövningen. Och även om den slutliga tillämpningen av denna applikation fortfarande är kontroversiell, genomfördes en omfattande studie som jämförde olika ansiktsdetektionsalgoritmer: Haar-kaskader, nätverk från TensorFlow, OpenCV och OpenVINO. Vi värmde upp inte bara fysiskt, utan också mentalt!

Lägre 800

Computer Vision Summer Сamp – Intels sommarskola om datorseende

Nizhny Novgorod, staden där skolan ägde rum, fyller 2 år om 800 år, vilket innebär att det finns tillräckligt med tid för att genomföra ett intressant projekt. Vi bad barnen fundera över uppgiften att skapa en guide som utifrån bilden av fasaden på byggnader kan ge information om vilken typ av föremål som visas på bilden och vilka fakta som är kända om det. Enligt vår åsikt var denna uppgift en av de svåraste, eftersom den relaterar till klassisk datorseende, men laget visade ett anständigt resultat.

Sten sax påse

Trots de strikta tidsbegränsningarna för att slutföra designarbetet var detta team inte heller rädda för att genomföra ett experiment för att träna sitt eget neurala nätverk för att klassificera handpositioner i ett välkänt spel.

Feedback från deltagare

Vi bad elever från olika kurser att dela med sig av sina intryck av Sommarskolan:

Jag hade nyligen turen att delta i Intel Computer Vision Summer Camp och det var en underbar upplevelse. Vi fick många nya kunskaper och färdigheter inom området CV, mjukvaruinstallation, felsökning, vi var också nedsänkta i en arbetsmiljö, mötte verkliga problem, diskuterade möjliga lösningar med kollegor och skollärare Det finns en myt att en programmerares jobb består enbart av att kommunicera med en dator. Detta är dock inte alls fallet. Vårt kreativa arbete är oskiljaktigt från kommunikation med människor. Det var genom kommunikation man kunde få unik kunskap. Och jag gillade den här delen av skolan mest. Det finns dock en nackdel... efter avslutad utbildning ville jag fortsätta! Förutom teoretiska kunskaper i DL och praktiska färdigheter i CV, fick jag en uppfattning om vilka områden inom matematiken som bör ägnas särskild uppmärksamhet och vilka teknologier som bör studeras. Engagemanget, professionalismen och kärleken till deras arbete från Intels ingenjörer och forskare påverkade mitt val av inriktning inom IT. Det är för detta jag vill tacka alla arrangörer av skolan.

Kristina, 1:a år, HSE

På så kort tid kunde skolan ge maximal information och övning i ämnet datorseende. Och även om det var designat för grundläggande kunskaper innehöll föreläsningarna mycket tekniskt material som man vill förstå och lägga mer tid på att studera. Skolans mentorer och föreläsare svarade ivrigt på alla frågor och kommunicerade med eleverna. Tja, när jag slutförde slutprojektet var jag tvungen att kasta mig in i djungeln av att utveckla en färdig applikation och stöta på svårigheter som inte alltid uppstår när jag studerar. Vårt team gjorde så småningom en ansökan om att spela spelet "sten-papper-sax" med en dator. Vi tränade en modell att känna igen en figur på en webbkamera, skrev logik och gjorde ett gränssnitt baserat på opencv-ramverket. Skolan gav mat till eftertanke och en vektor för efterföljande lärande och utveckling. Jag är väldigt glad att jag deltog.

Sergey, 3:e år, UNN

Skolan levde inte riktigt upp till mina förväntningar. Föreläsningarna hölls av ganska erfarna personer från Intel-utvecklare. Kommunikation med föreläsare har alltid varit intressant och användbar, mentorerna är lyhörda och alltid redo att hjälpa till.Föreläsningarna är trevliga att lyssna på, ämnena är ganska relevanta och informativa. Men jag visste redan en del saker, och de som jag inte visste stöddes inte av övning på något sätt, och därför förstod och studerade jag det riktigt bra materialet aldrig till fullo. Ja, det mesta av informationen tillhandahålls i informationssyfte, så att du sedan kan prova det hemma, eller bara ha en uppfattning om vad det handlar om, men jag ville ändå implementera några befintliga algoritmer på egen hand under handledning av erfarna lärare som kan ge goda råd eller hjälpa till om något händer fungerar inte. Som ett resultat av detta användes i praktiken färdiga lösningar och koden, kan man säga, var förskriven för oss, den behövde bara modifieras något. Projekten var de enklaste, och om du försöker komplicera uppgiften på något sätt, så har du inte tillräckligt med tid för att implementera den till ett mer eller mindre stabilt tillstånd, som hände med oss.
I allmänhet ser hela skolan ut som något slags inte särskilt seriöst spel med utvecklare, och det är just den praktiska delens fel. Jag tror att det är nödvändigt att öka tiden på skolan, att komplicera övningsmaterialet så att man kan och bör skriva något själv, något riktigt komplext och nödvändigt, och inte använda färdiga, för att göra praktiken smidigare i att öka komplexitet, ämnen för tävlingsprojekt bör delas ut under de första dagarna, så att materialet från föreläsningar och övningar kan användas direkt i dina projekt och det blir mer tid för genomförande. Då blir tiden i skolan en bra upplevelse för blivande specialister.

Dmitry, 1:a års magisterexamen, NSTU

Sommarskola från Intel var en fantastisk chans att spendera den här sommaren med att göra det du älskar. Just det faktum att föreläsningarna hölls av Intel-anställda med anknytning till programmering inom datorseende tillät mig inte att slappna av, jag ville få ut så mycket som möjligt av hela processen, även om det ibland var svårt. Varje dag gick väldigt snabbt, omärkligt och fruktbart. Möjligheten att genomföra mitt eget projekt gjorde att jag kunde arbeta i ett team med underbara kuratorer och andra skoldeltagare. Dessa två veckor kan kort beskrivas enligt följande: intressanta och flyktiga.

Elizaveta, 2:a år, UNN

Under hösten (oktober-november) väntar Delta-utbildningen på dig, information om vilken du kan ta reda på från vår VKontakte-grupper. Håll ögonen öppna!

Källa: will.com

Lägg en kommentar