Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Dal 3 luglio al 16 luglio presso l'Università statale di Nizhny Novgorod. N.I. Lobachevskij ha ospitato la Intel Interuniversity Summer School on Computer Vision - Computer Vision Summer Camp, alla quale hanno preso parte più di 100 studenti. La scuola era rivolta a studenti tecnici delle università di Nizhny Novgorod interessati alla visione artificiale, al deep learning, alle reti neurali, Intel OpenVINO, OpenCV.

In questo articolo condivideremo come si è svolta la selezione per la Scuola, cosa hanno studiato, cosa hanno fatto gli studenti nella parte pratica e parleremo anche di alcuni dei progetti presentati alla difesa.

Processo di selezione e forme di partecipazione

Abbiamo deciso di dare ai bambini la possibilità di scegliere tra due forme di istruzione: a tempo pieno e part-time. Per i corsi part-time e part-time gli studenti non sono stati sottoposti a selezione e sono stati immatricolati immediatamente. Frequentavano solo le lezioni, nei giorni feriali, al mattino. I bambini hanno anche avuto l'opportunità di completare compiti pratici e di inviarli GitHub per i test da parte degli insegnanti.

Per qualificarsi per l'esame a tempo pieno, i ragazzi dovevano recarsi presso l'ufficio Intel per un colloquio con la commissione. La differenza rispetto alla forma part-time e part-time era che, oltre alle lezioni, i partecipanti al campo hanno svolto attività pratiche con i curatori: insegnanti dell'UNN e ingegneri di Intel. Nella seconda settimana si sono conclusi i compiti pratici e sono iniziati i progetti, sui quali i partecipanti hanno lavorato in gruppi di 3 persone.

Durante il colloquio agli studenti sono state poste domande sulla matematica e sulla programmazione ed è stato anche loro proposto un problema da risolvere sul momento. Vale la pena notare che la commissione era composta da ingegneri del software, ingegneri di algoritmi e docenti universitari. N.I. Lobachevskij, quindi l'intervista si è rivelata poliedrica e straordinaria. Dal punto di vista dell'intervistatore, è stato interessante scoprire le conoscenze tecniche di base degli studenti in relazione alla visione artificiale, quindi argomenti come C++/STL, OOP, algoritmi di base e strutture dati, algebra lineare, analisi matematica, matematica discreta e è stato chiesto molto di più. Tra i compiti, la priorità era scoprire il ragionamento degli studenti. La commissione era anche interessata a dove hanno studiato, quale esperienza hanno avuto prima di questa scuola (ad esempio, attività scientifica) e come potrebbe essere applicata direttamente al campo della visione artificiale.

Alla selezione a tempo pieno hanno partecipato complessivamente 78 studenti, mentre i posti a tempo pieno erano 24. Il concorso prevedeva 3 studenti per posto. Le statistiche sui partecipanti e le differenze visive tra le forme di partecipazione a tempo pieno e part-time possono essere visualizzate nella tabella seguente:

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Cosa hanno fatto i ragazzi per 2 settimane?

Gli studenti hanno familiarizzato in teoria e pratica con i compiti principali della visione artificiale: classificazione delle immagini, rilevamento degli oggetti e loro tracciamento. La componente di lezione per ciascun argomento includeva solitamente un'escursione storica nello sviluppo di metodi classici per risolvere problemi di visione artificiale e metodi moderni di risoluzione utilizzando l'apprendimento automatico e le reti neurali. Alla teoria è seguita la pratica, in cui gli studenti hanno scaricato i modelli di reti neurali più diffusi e li hanno lanciati utilizzando il modulo DNN della libreria OpenCV, creando un'applicazione personalizzata.

Le presentazioni di tutte le lezioni sono state pubblicate in un archivio pubblico Github, in modo che gli studenti possano sempre aprire e visualizzare le informazioni necessarie, anche dopo la scuola. È stato possibile comunicare con docenti, insegnanti di pratica e ingegneri Intel sia dal vivo che tramite chat su Gitter. Anche la tempistica della settimana del progetto si è rivelata vincente: è iniziata mercoledì, il che ha permesso di trascorrere utilmente il fine settimana libero dalle lezioni, migliorando le decisioni del team. I partecipanti più responsabili hanno trascorso metà sabato presso l'ufficio Intel, per il quale sono stati premiati con un'escursione non programmata lo stesso giorno.

Come è stata la difesa dei progetti?

Ad ogni squadra sono stati concessi 10 minuti per parlare di ciò che hanno fatto durante il progetto e dei risultati raggiunti. Trascorso questo tempo, sono iniziati 5 minuti, durante i quali gli ingegneri dell’azienda hanno posto domande ai ragazzi e dato piccoli consigli che li avrebbero aiutati a migliorare il loro progetto o a prevenire errori esistenti in futuro. Ognuno dei ragazzi si è cimentato come relatore, dimostrando le proprie conoscenze nel campo della visione artificiale e confermando il proprio contributo alla creazione del progetto, che ci ha aiutato a considerare e trarre una conclusione su ciascun partecipante alla scuola. La difesa è durata 3 ore, ma ci siamo presi cura dei ragazzi e abbiamo allentato la tensione con una breve pausa caffè, durante la quale i ragazzi hanno potuto prendere fiato e discutere i problemi con i principali specialisti Intel.

Alla fine della giornata abbiamo assegnato un primo, due secondi e tre terzi posti. È stato abbastanza difficile scegliere, perché ogni squadra, ogni progetto aveva il suo sapore e si distingueva per l'originalità della presentazione.

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale
Partecipanti al CV Camp a tempo pieno, difesa del progetto, ufficio Intel a Nizhny Novgorod

Progetti presentati

Guanto intelligente

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Utilizzo di un rilevatore e inseguitore che utilizza OpenCV per la navigazione visiva nello spazio. Il team ha inoltre aggiunto la capacità di rilevamento della profondità utilizzando due fotocamere. L'API Microsoft Speech viene utilizzata come interfaccia di gestione.

Recettore

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Rilevamento del cibo e selezione di una ricetta per un piatto già pronto, compresi gli ingredienti trovati. I ragazzi non si sono spaventati del compito e nel giro di una settimana hanno contrassegnato da soli un numero sufficiente di immagini, hanno addestrato il rilevatore utilizzando l'API TensorFlow Object Detection e hanno aggiunto la logica per trovare la ricetta. Semplice e di buon gusto!

Redattore 2.0

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

I partecipanti al progetto hanno utilizzato una serie di reti neurali (ricerca del volto, normalizzazione dell'immagine del volto tramite punti chiave, calcolo del descrittore dell'immagine del volto) per il riconoscimento del volto come parte del compito di ricerca di frammenti in video lunghi in cui una determinata persona è presente. Il sistema sviluppato può essere utilizzato come sistema di assistenza per il montaggio video, liberando una persona dalla necessità di guardare lui stesso il video alla ricerca dei frammenti necessari. Utilizzando le reti neurali da Librerie di modelli OpenVINO, il team è riuscito a raggiungere un'elevata velocità dell'applicazione: su un laptop con processore Intel Core i5, la velocità di elaborazione video era di 58 fotogrammi al secondo.

Anonimizzatore

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Disegnare occhiali e maschere sul volto di una persona. La rete MTCNN è stata utilizzata per rilevare volti e punti chiave.

anonimo

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Un altro lavoro interessante sul tema dell'occultamento dell'identità. Questo team ha introdotto diverse opzioni per distorcere i volti: sfocatura e pixelizzazione. In una settimana, i ragazzi non solo hanno capito il compito, ma hanno anche fornito una modalità per anonimizzare una persona specifica (con riconoscimento facciale).

Riscaldamento

Il team del progetto "Warm-up" ha risolto il problema della creazione di un assistente sportivo per l'esercizio di inclinazione della testa. E anche se l’applicazione finale di questa applicazione è ancora controversa, è stato condotto uno studio approfondito confrontando diversi algoritmi di rilevamento dei volti: cascate Haar, reti di TensorFlow, OpenCV e OpenVINO. Ci siamo riscaldati non solo fisicamente, ma anche mentalmente!

Inferiore a 800

Campo estivo di visione artificiale: scuola estiva Intel sulla visione artificiale

Nizhny Novgorod, la città in cui si è svolta la scuola, compirà 2 anni tra 800 anni, il che significa che c'è abbastanza tempo per realizzare un progetto interessante. Abbiamo chiesto ai bambini di pensare al compito di creare una guida che, basandosi sull'immagine della facciata degli edifici, possa fornire informazioni su che tipo di oggetto è mostrato nell'immagine e quali fatti sono noti al riguardo. A nostro avviso, questo compito è stato uno dei più difficili, poiché riguarda la visione artificiale classica, ma il team ha mostrato un risultato decente.

Sasso carta forbici

Nonostante i rigidi vincoli di tempo per completare il lavoro di progettazione, questo team non ha avuto paura di condurre un esperimento per addestrare la propria rete neurale a classificare le posizioni delle mani in un gioco ben noto.

Feedback dei partecipanti

Abbiamo chiesto agli studenti di diversi corsi di condividere le loro impressioni sulla Summer School:

Recentemente ho avuto la fortuna di partecipare al campo estivo Intel Computer Vision ed è stata un'esperienza meravigliosa. Abbiamo acquisito molte nuove conoscenze e competenze nel campo dei CV, dell'installazione di software, del debug, ci siamo anche immersi in un ambiente di lavoro, abbiamo affrontato problemi reali, discusso possibili soluzioni con colleghi e insegnanti della scuola. C'è un mito secondo cui il lavoro di un programmatore consiste esclusivamente nel comunicare con un computer. Tuttavia, non è affatto così. Il nostro lavoro creativo è inseparabile dalla comunicazione con le persone. Era attraverso la comunicazione che si poteva acquisire una conoscenza unica. E mi è piaciuta di più questa componente della scuola. Tuttavia c'è uno svantaggio... dopo aver terminato la formazione ho voluto continuare! Oltre alle conoscenze teoriche in DL e alle competenze pratiche in CV, ho acquisito un'idea di quali aree della matematica dovrebbero ricevere particolare attenzione e quali tecnologie dovrebbero essere studiate. La dedizione, la professionalità e l'amore per il proprio lavoro degli ingegneri e dei ricercatori Intel hanno influenzato la mia scelta di direzione nel settore IT. È per questo che desidero ringraziare tutti gli organizzatori della scuola.

Kristina, 1° anno, HSE

In così poco tempo la scuola è stata in grado di fornire il massimo delle informazioni e della pratica sul tema della visione artificiale. E sebbene siano state progettate per conoscenze di base, le lezioni contenevano molto materiale tecnico che vorresti comprendere e dedicare più tempo allo studio. I tutor e i docenti della scuola hanno risposto con entusiasmo a tutte le domande e hanno comunicato con gli studenti. Ebbene, durante il completamento del progetto finale, ho dovuto immergermi nella giungla dello sviluppo dell'applicazione finita e incontrare difficoltà che non sempre si presentano durante lo studio. Alla fine il nostro team ha presentato una domanda per giocare al gioco “sasso-carta-forbici” con un computer. Abbiamo addestrato un modello a riconoscere una figura su una webcam, scritto la logica e realizzato un'interfaccia basata sul framework opencv. La scuola ha fornito spunti di riflessione e un vettore per il successivo apprendimento e sviluppo. Sono molto felice di aver preso parte.

Sergey, 3° anno, UNN

La scuola non è stata del tutto all'altezza delle mie aspettative. Le lezioni sono state tenute da persone abbastanza esperte provenienti dagli sviluppatori Intel. La comunicazione con i docenti è sempre stata interessante e utile, i mentori sono reattivi e sempre pronti ad aiutare, le lezioni sono piacevoli da ascoltare, gli argomenti sono piuttosto pertinenti e istruttivi. Ma alcune cose le sapevo già, e quelle che non sapevo non erano in alcun modo supportate dalla pratica, e quindi il materiale veramente buono non è mai stato da me compreso e studiato appieno. Sì, la maggior parte delle informazioni sono fornite a scopo informativo, in modo che tu possa poi provarlo a casa o semplicemente avere un'idea di cosa si tratta, ma volevo comunque implementare alcuni algoritmi esistenti da solo sotto il titolo la supervisione di insegnanti esperti che possono dare buoni consigli o aiutare se succede qualcosa non funziona. Di conseguenza, in pratica, sono state utilizzate soluzioni già pronte e il codice, si potrebbe dire, era già scritto per noi, doveva essere solo leggermente modificato. I progetti erano i più semplici e se provi a complicare il compito in qualche modo, non hai abbastanza tempo per implementarlo in uno stato più o meno stabile, come è successo con noi.
In generale, l'intera scuola sembra una sorta di gioco di sviluppatori non molto serio, e questo è proprio colpa della parte pratica. Penso che sia necessario aumentare il tempo dedicato alla scuola, complicare il materiale pratico in modo che tu possa e debba scrivere qualcosa da solo, qualcosa di veramente complesso e necessario, e non usare quelli già pronti, per rendere la pratica più agevole nell'aumentare complessità, gli argomenti per i progetti di concorsi dovrebbero essere distribuiti nei primi giorni, in modo che il materiale delle lezioni e delle esercitazioni possa essere utilizzato immediatamente nei vostri progetti e ci sia più tempo per l'implementazione. Quindi il tempo trascorso a scuola servirà come una buona esperienza per gli aspiranti specialisti.

Dmitry, master del primo anno, NSTU

La scuola estiva di Intel è stata un'ottima occasione per trascorrere l'estate facendo ciò che ami. Il fatto stesso che le lezioni fossero tenute da dipendenti Intel relativi alla programmazione nel campo della visione artificiale non mi ha permesso di rilassarmi, volevo ottenere il massimo dall'intero processo, anche se a volte era difficile. Ogni giorno passava molto velocemente, impercettibilmente e fruttuosamente. L'opportunità di realizzare il mio progetto mi ha permesso di lavorare in una squadra con meravigliosi curatori e altri partecipanti alla scuola. Queste due settimane possono essere brevemente descritte come segue: interessanti e fugaci.

Elizaveta, 2° anno, UNN

In autunno (ottobre-novembre) vi aspetta il programma educativo Delta, informazioni su cui potete trovare presso il nostro Gruppi VKontakte. Rimani sintonizzato!

Fonte: habr.com

Aggiungi un commento