Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Od 3 lipca do 16 lipca na Uniwersytecie Państwowym w Niżnym Nowogrodzie. NI Lobachevsky był gospodarzem międzyuczelnianej szkoły letniej Intel na temat widzenia komputerowego – obozu letniego Computer Vision, w którym wzięło udział ponad 100 uczniów. Szkoła skierowana była do studentów kierunków technicznych z uniwersytetów w Niżnym Nowogrodzie zainteresowanych wizją komputerową, głębokim uczeniem, sieciami neuronowymi, Intel OpenVINO, OpenCV.

W tym artykule opowiemy, jak przebiegała selekcja do Szkoły, czego się uczyli, co uczniowie robili w części praktycznej, a także opowiemy o niektórych projektach prezentowanych na obronie.

Proces selekcji i formy uczestnictwa

Postanowiliśmy dać dzieciom możliwość wyboru dwóch form kształcenia: stacjonarnego i niestacjonarnego. Na studiach niestacjonarnych i niestacjonarnych studenci nie przechodzili selekcji i byli przyjmowani od razu. Uczęszczali jedynie na wykłady, w dni powszednie, rano. Dzieci miały także możliwość wykonania zadań praktycznych i przesłania ich do świetlicy GitHub do testów przez nauczycieli.

Aby zakwalifikować się do egzaminu w pełnym wymiarze godzin, chłopaki musieli przyjść do biura Intela na rozmowę z komisją. Różnica w stosunku do formy stacjonarnej i niestacjonarnej polegała na tym, że oprócz wykładów uczestnicy obozu wykonywali zadania praktyczne pod okiem kuratorów – nauczycieli UNN i inżynierów z Intela. W drugim tygodniu zakończyły się zajęcia praktyczne i rozpoczęły się projekty, nad którymi uczestnicy pracowali w 3-osobowych grupach.

Podczas rozmowy uczniowie zadawali pytania z zakresu matematyki i programowania, a także otrzymywali zadanie do rozwiązania na miejscu. Warto zaznaczyć, że w skład komisji wchodzili inżynierowie oprogramowania, inżynierowie algorytmów oraz nauczyciele akademiccy. NI Łobaczewskiego, więc wywiad okazał się wieloaspektowy i niezwykły. Z punktu widzenia ankietera interesujące było poznanie podstawowej wiedzy technicznej uczniów w odniesieniu do widzenia komputerowego, a więc takich tematów jak C++/STL, OOP, podstawowe algorytmy i struktury danych, algebra liniowa, analiza matematyczna, matematyka dyskretna i pytano o wiele więcej. Wśród zadań priorytetem było poznanie rozumowania uczniów. Komisję interesowało także to, gdzie studiują, jakie doświadczenie mają przed tą szkołą (np. działalność naukowa) i w jaki sposób można je zastosować bezpośrednio w dziedzinie widzenia komputerowego.

W naborze stacjonarnym wzięło udział łącznie 78 uczniów, przy czym na studia stacjonarne przypadały 24. Na jedno miejsce w konkursie przypadało 3 uczniów. Statystyki dotyczące uczestników oraz wizualne różnice pomiędzy formami uczestnictwa w pełnym i niepełnym wymiarze godzin można zobaczyć w poniższej tabeli:

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Co chłopaki robili przez 2 tygodnie?

Studenci zapoznali się w teorii i praktyce z głównymi zadaniami wizji komputerowej: klasyfikacją obrazu, detekcją obiektów i ich śledzeniem. Część wykładowa dla każdego tematu obejmowała zazwyczaj wycieczkę historyczną dotyczącą rozwoju klasycznych metod rozwiązywania problemów widzenia komputerowego oraz nowoczesnych metod rozwiązywania problemów z wykorzystaniem uczenia maszynowego i sieci neuronowych. Po teorii nastąpiła praktyka, podczas której studenci pobierali popularne modele sieci neuronowych i uruchamiali je za pomocą modułu DNN biblioteki OpenCV, tworząc niestandardową aplikację.

Prezentacje wszystkich wykładów zostały zamieszczone w publicznym repozytorium Github, dzięki czemu uczniowie mogą zawsze otworzyć i przeglądać niezbędne informacje, także po lekcjach. Z wykładowcami, nauczycielami praktykami i inżynierami Intela można było komunikować się zarówno na żywo, jak i za pośrednictwem czatu na Gitterze. Termin tygodnia projektowego również okazał się udany: rozpoczął się w środę, co pozwoliło na pożyteczne spędzenie weekendu wolnego od wykładów, usprawniając decyzje zespołu. Najbardziej odpowiedzialni uczestnicy spędzili połowę soboty w biurze Intela, za co zostali nagrodzeni niezaplanowaną wycieczką tego samego dnia.

Jak przebiegała obrona projektów?

Każdy zespół miał 10 minut na rozmowę o tym, co zrobił w trakcie projektu i do czego doszedł. Po tym czasie rozpoczęło się 5 minut, podczas których inżynierowie firmy zadawali chłopakom pytania i udzielali drobnych wskazówek, które pomogły im ulepszyć projekt lub zapobiec istniejącym błędom w przyszłości. Każdy z chłopaków sprawdził się w roli prelegenta, demonstrując swoją wiedzę z zakresu widzenia komputerowego i potwierdzając swój wkład w powstanie projektu, co pomogło nam przemyśleć i wyciągnąć wnioski na temat każdego uczestnika szkoły. Obrona trwała ponad 3 godziny, ale my zadbaliśmy o chłopaków i rozładowaliśmy napięcie krótką przerwą na kawę, podczas której chłopaki mogli odetchnąć i przedyskutować problemy z czołowymi specjalistami Intela.

Ostatecznie przyznaliśmy jedno pierwsze, dwa drugie i trzy trzecie miejsca. Wybór był dość trudny, bo każdy zespół, każdy projekt miał swój klimat i wyróżniał się oryginalnością prezentacji.

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego
Pełnoetatowi uczestnicy CV Camp, obrona projektu, biuro Intel w Niżnym Nowogrodzie

Prezentowane projekty

Inteligentna rękawica

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Wykorzystanie detektora i trackera wykorzystującego OpenCV do nawigacji wizualnej w przestrzeni. Zespół dodatkowo dodał możliwość wykrywania głębi za pomocą dwóch kamer. Interfejs API Microsoft Speech służy jako interfejs zarządzania.

Chwytnik

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Wykrywanie żywności i wybór przepisu na gotowe danie z uwzględnieniem znalezionych składników. Chłopaki nie bali się zadania i w ciągu tygodnia samodzielnie oznaczyli odpowiednią liczbę zdjęć, przeszkolili detektor z wykorzystaniem API TensorFlow Object Detection i dodali logikę znajdowania przepisu. Prosto i gustownie!

Redaktor 2.0

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Uczestnicy projektu wykorzystali zestaw sieci neuronowych (przeszukiwanie twarzy, normalizacja obrazu twarzy według kluczowych punktów, obliczanie deskryptora obrazu twarzy) do rozpoznawania twarzy w ramach zadania polegającego na wyszukiwaniu fragmentów w długich filmach, w których dana osoba jest obecny. Opracowany system może służyć jako system wspomagający montaż wideo, uwalniając osobę od konieczności samodzielnego oglądania filmu w poszukiwaniu potrzebnych fragmentów. Korzystanie z sieci neuronowych z Biblioteki modeli OpenVINOzespołowi udało się osiągnąć dużą prędkość aplikacji: na laptopie z procesorem Intel Core i5 prędkość przetwarzania wideo wyniosła 58 klatek na sekundę.

Anonimizator

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Rysowanie okularów i masek na twarzy osoby. Do wykrywania twarzy i kluczowych punktów wykorzystano sieć MTCNN.

Anonimowy

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Kolejna ciekawa praca poruszająca temat ukrywania tożsamości. Zespół ten wprowadził kilka opcji zniekształcania twarzy: rozmycie i pikselację. W ciągu tygodnia chłopaki nie tylko wymyślili zadanie, ale także zapewnili tryb anonimizacji konkretnej osoby (z rozpoznawaniem twarzy).

Rozgrzej się

Zespół projektowy „Rozgrzewka” rozwiązał problem stworzenia sportowego asystenta do ćwiczenia pochylenia głowy. I choć ostateczne zastosowanie tej aplikacji nadal budzi kontrowersje, przeprowadzono kompleksowe badanie porównujące różne algorytmy wykrywania twarzy: kaskady Haara, sieci z TensorFlow, OpenCV i OpenVINO. Rozgrzaliśmy się nie tylko fizycznie, ale i psychicznie!

Niższe 800

Letni obóz Computer Vision – letnia szkoła firmy Intel na temat widzenia komputerowego

Niżny Nowogród, miasto, w którym miała miejsce szkoła, za 2 lata skończy 800 lat, a to oznacza, że ​​jest wystarczająco dużo czasu na realizację ciekawego projektu. Poprosiliśmy dzieci, aby zastanowiły się nad zadaniem stworzenia przewodnika, który na podstawie wizerunku elewacji budynków będzie w stanie dostarczyć informacji o tym, jaki rodzaj obiektu jest przedstawiony na obrazie i jakie fakty są na jego temat znane. Naszym zdaniem zadanie to było jednym z najtrudniejszych, ponieważ dotyczy klasycznego widzenia komputerowego, ale zespół wykazał się przyzwoitym wynikiem.

Nożyczki do papieru kamiennego

Pomimo rygorystycznych ograniczeń czasowych na wykonanie prac projektowych, zespół ten nie bał się także przeprowadzić eksperymentu mającego na celu wytrenowanie własnej sieci neuronowej w celu klasyfikowania pozycji rąk w znanej grze.

Informacje zwrotne od uczestników

Poprosiliśmy uczniów z różnych kursów o podzielenie się wrażeniami ze Szkoły Letniej:

Niedawno miałem szczęście uczestniczyć w letnim obozie Intel Computer Vision i było to wspaniałe doświadczenie. Zdobyliśmy wiele nowej wiedzy i umiejętności z zakresu CV, instalacji oprogramowania, debugowania, zanurzyliśmy się także w środowisko pracy, zmierzyliśmy się z realnymi problemami, przedyskutowaliśmy możliwe rozwiązania z kolegami i nauczycielami w szkole.Panuje mit, że zawód programisty polega wyłącznie na komunikacji z komputerem. Jednak wcale tak nie jest. Nasza praca twórcza jest nierozerwalnie związana z komunikacją z ludźmi. To dzięki komunikacji można było zdobyć unikalną wiedzę. I ten element szkoły podobał mi się najbardziej. Jest jednak jeden mankament... po ukończeniu szkolenia chciałam kontynuować! Oprócz wiedzy teoretycznej w DL i umiejętności praktycznych w CV, zyskałem pojęcie, na które obszary matematyki należy zwrócić szczególną uwagę i jakie technologie warto studiować. Zaangażowanie, profesjonalizm i miłość do pracy inżynierów i badaczy Intela wpłynęły na mój wybór kierunku w IT. Właśnie za to chciałbym podziękować wszystkim organizatorom szkoły.

Krystyna, 1. rok, BHP

W tak krótkim czasie szkoła była w stanie zapewnić maksimum informacji i praktyki na temat widzenia komputerowego. I chociaż był przeznaczony dla wiedzy podstawowej, wykłady zawierały dużo materiału technicznego, który chcesz zrozumieć i poświęcić więcej czasu na naukę. Mentorzy i wykładowcy szkoły chętnie odpowiadali na wszystkie pytania i komunikowali się z uczniami. Cóż, kończąc finalny projekt, musiałem zanurzyć się w dżunglę tworzenia gotowej aplikacji i napotkać trudności, które nie zawsze pojawiają się podczas nauki. Ostatecznie nasz zespół stworzył aplikację umożliwiającą grę w grę „kamień-papier-nożyce” z komputerem. Wytrenowaliśmy model rozpoznawania postaci na kamerze internetowej, napisaliśmy logikę i wykonaliśmy interfejs oparty na frameworku opencv. Szkoła dała do myślenia i wektor do dalszej nauki i rozwoju. Bardzo się cieszę, że wzięłam udział.

Siergiej, trzeci rok, UNN

Szkoła nie do końca spełniła moje oczekiwania. Wykłady prowadziły dość doświadczone osoby z programistów Intela. Komunikacja z wykładowcami zawsze była interesująca i przydatna, mentorzy są responsywni i zawsze gotowi do pomocy.Wykłady są przyjemne w słuchaniu, tematy są dość istotne i pouczające. Ale pewne rzeczy już wiedziałem, a te, których nie wiedziałem, nie były w żaden sposób poparte praktyką, dlatego naprawdę dobry materiał nigdy nie został przeze mnie w pełni zrozumiany i przestudiowany. Tak, większość informacji jest podana w celach informacyjnych, aby można było później wypróbować to w domu, lub po prostu mieć pojęcie o co w tym wszystkim chodzi, ale mimo wszystko chciałem samodzielnie zaimplementować niektóre istniejące algorytmy w ramach nadzór doświadczonych nauczycieli, którzy służą dobrą radą lub pomocą, jeśli coś się nie uda. W rezultacie w praktyce korzystano z gotowych rozwiązań, a kod, można powiedzieć, był dla nas napisany z góry, wymagał jedynie niewielkiej modyfikacji. Projekty były najprostsze i jeśli spróbujesz w jakiś sposób skomplikować zadanie, to nie masz czasu na jego wdrożenie do mniej więcej stabilnego stanu, jak to miało miejsce u nas.
Ogólnie rzecz biorąc, cała szkoła wygląda jak jakaś niezbyt poważna gra programistów i to właśnie jest wina części praktycznej. Uważam, że należy wydłużyć czas spędzony w szkole, skomplikować materiał ćwiczeniowy, aby można było i należało napisać coś samemu, coś naprawdę skomplikowanego i potrzebnego, a nie korzystać z gotowych, aby praktyka była płynniejsza w zwiększaniu złożoność, tematy projektów konkursowych powinny być podawane już w pierwszych dniach, aby materiał z wykładów i ćwiczeń można było od razu wykorzystać w swoich projektach i było więcej czasu na realizację. Wtedy czas spędzony w szkole będzie dobrym doświadczeniem dla aspirujących specjalistów.

Dmitry, I rok studiów magisterskich, NSTU

Szkoła letnia firmy Intel była świetną okazją do spędzenia tego lata, robiąc to, co kochasz. Sam fakt, że wykłady prowadzili pracownicy Intela, związane z programowaniem z zakresu widzenia komputerowego, nie pozwalał mi się zrelaksować, chciałem wycisnąć z całego procesu jak najwięcej, choć czasami było to trudne. Każdy dzień mijał bardzo szybko, niezauważalnie i owocnie. Możliwość realizacji własnego projektu pozwoliła mi pracować w zespole ze wspaniałymi kuratorami i innymi uczestnikami szkoły. Te dwa tygodnie można krótko opisać następująco: ciekawe i ulotne.

Elżbieta, rok II, UNN

Jesienią (październik-listopad) czeka na Państwa program edukacyjny Delta, o którym informacji można dowiedzieć się z naszego Grupy VKontakte. Czekać na dalsze informacje!

Źródło: www.habr.com

Dodaj komentarz