Nazwa przedmiotu:
Techniki widzenia maszynowego
Koordynator przedmiotu:
Rajmund Kożuszek
Status przedmiotu:
Fakultatywny dowolnego wyboru
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne - zaawansowane
Kod przedmiotu:
TWM
Semestr nominalny:
2 / rok ak. 2021/2022
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. liczba godzin kontaktowych – 60 godz., w tym obecność na wykładach 15 godz., obecność na zajęciach komputerowych 30 godz., konsultacje projektowe 15 godz. 2. praca własna studenta – 50 godz., w tym przygotowanie do zajęć komputerowych 15 godz., praca projektowa 25 godz., przygotowanie do sprawdzianu 10 godz. Łączny nakład pracy studenta wynosi 110 godz., co odpowiada 4 pkt. ECTS.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2,18 pkt. ECTS, co odpowiada 60 godz. kontaktowym
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2,46 pkt. ECTS, co odpowiada 30 godz. zajęć komputerowych plus 15 godz. konsultacji projektowych plus 25 godz. pracy projektowej
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia30h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Studenci przystępujący do przedmiotu powinni wykazywać się podstawową wiedzą z zakresy analizy matematycznej, algebry liniowej, metod optymalizacji, rachunku prawdopodobieństwa i statystyki, oraz posiadać umiejętność programowania w języku Python lub Matlab na poziome zaawansowanym. Powinni też znać podstawowe zagadnienia związane z przetwarzaniem obrazów i sygnałów cyfrowych.
Limit liczby studentów:
30
Cel przedmiotu:
Zapoznanie z najważniejszymi współczesnymi metodami widzenia maszynowego oraz ich zastosowaniami w rozwiązywaniu praktycznych problemów. Nacisk położony jest na stronę aplikacyjną oraz operowanie obrazami i scenami trójwymiarowymi, które są naturalnym sposobem odbioru rzeczywistości.
Treści kształcenia:
Wykład: Wykład obejmuje podstawowe zagadnienia teoretyczne z zakresu widzenia maszynowego. W ramach każdego wykładu omówiony zostanie w sposób ogólny konkretny problem wizyjny oraz wybrane rozwiązanie(-a) problemu. Bardziej szczegółowa wiedza teoretyczna przekazywana będzie przy okazji realizowanych zajęć praktycznych oraz w postaci materiałów do samodzielnego zapoznania się przez studentów. Zakres wykładu obejmuje: 1. Podstawy widzenia maszynowego: sensory wizyjne, geometria projekcyjna, kalibracja kamery. 2. Pozyskiwanie danych RGBD: stereowizja, sensory RGBD. 3. Przetwarzanie obrazów: przetwarzanie wstępne, wykrywanie i opisywanie cech w obrazach, segmentacja obrazów. 4. Tworzenie trójwymiarowych modeli scen: przetwarzanie chmur punktów, sklejanie widoków, reprezentacja danych 3D. 5. Klasyfikacja i detekcja wzorców: klasyczne metody klasyfikacji wzorców i detekcji wzorców w obrazach, problemy uczenia klasyfikatorów. 6. Widzenie dynamiczne: metody wykrywania ruchu, śledzenie punktów i obiektów, filtracja zaszumionych pomiarów. 7. Podstawowe struktury Głębokich Sieci Neuronowych przeznaczonych do klasyfikacji obrazów. 8. Warianty Głębokich Sieci Neuronowych wykorzystywane w widzeniu maszynowym: detektory obiektów, autoenkodery, sieci GAN, sieci rekursywne. 9. Konstruowanie i testowanie systemów wizyjnych, analiza przypadków (case studies). Zajęcia komputerowe: W ramach zajęć instruktażowych, pod aktywnym nadzorem prowadzącego, realizowane będą zadania wizyjne ilustrujące wykorzystanie poszczególnych rodzajów metod widzenia maszynowego. Zadania realizowane podczas zajęć będą składały się w całość wiodącą do przygotowania zadanego systemu wizyjnego. Przewidywane tematy zajęć: 1. Ekstrakcja danych 3D z różnych sensorów, metody stereowizji 2. Segmentacja obrazu, ekstrakcja cech. (punkty kluczowe, detektory Hougha, linie, okręgi, płaszczyzny, powierzchnie, itp.) 3. Rekonstrukcja sceny 3D z wielu widoków, uproszczenie reprezentacji 4. Detekcja i rozpoznawanie obiektów 2D i 3D w obrazach 5. Śledzenie i predykcja ruchu obiektów 6. Zastosowanie metod Głębokiego Uczenia w klasyfikacji wzorców 7. Zastosowanie metod Głębokiego Uczenia w detekcji obiektów i segmentacji obrazu Projekt: W drugiej części semestru, w niewielkich 2-4 osobowych grupach realizowany będzie bardziej wymagający projekt problemowy, rozwijający umiejętności samodzielnej analizy problemu widzenia maszynowego i doboru odpowiednich środków jego rozwiązania. W ramach każdego projektu konieczne będzie zapoznanie z literaturą rozszerzającą wiedzę uzyskaną na wykładzie.
Metody oceny:
Zajęcia instruktażowe zorganizowane są w formie 7 spotkań w laboratorium komputerowym. Każde spotkanie obejmuje 4 godziny lekcyjne zajęć poza 2 ostatnimi o wymiarze 5 godzin lekcyjnych. W ramach każdego spotkania odbywa się weryfikacja przygotowania do zajęć (kartkówka-wejściówka), 45-minutowe wprowadzenie do tematu o charakterze teoretycznym. Pozostała część czasu poświęcona jest praktycznemu zapoznaniu się z przykładami przedstawionymi przez prowadzącego oraz rozwiązaniu rozszerzonego zadania wizyjnego. Prowadzenie zajęć instruktażowych jest wspomagane przez metody uczenia mieszanego (Blended Learning). W szczególności studenci korzystają z materiałów dydaktycznych przygotowanych w technologii Live Code (np. Jupyter Notebook lub MatLab LiveScript). W ramach projektu studenci pracując w 2-4 osobowych grupach rozwiązują zadany problem wizyjny. Celem jest stworzenie kompletnego (obejmującego wszystkie etapy przetwarzania) systemu wizyjnego rozwiązującego zadany problem. Zagadnienia związane z projektem rozszerzają wykład i wykraczają poza jego zakres, zatem wymagają samodzielnego zapoznania się z literaturą wskazaną przez koordynatora projektu.
Egzamin:
nie
Literatura:
Literatura: 1. R. Hartley, A. Zisserman: Multiple View Geometry in Computer Vision Cambridge University Press, 2003 2. E.R. Davies: Machine Vision: Theory, Algorithm, Practicalities Elsevier, 2005 3. I. Goodfellow, Y. Bengio, A. Courville, Deep learning. The MIT Press, 2016 4. R.C. Gonzalez, R.E. Woods: Digital Image Processing, Pearson, 2017 5. R. Szeliski: Computer vision: algorithms and applications, Springer-Verlag, 2011 Oprogramowanie: 1. MatLab, MathWorks, https://www.mathworks.com 2. Python Programming Language, https://www.python.org 3. OpenCV, https://opencv.org/ 4. TensorFlow, https://www.tensorflow.org/ 5. Keras, https://keras.io/
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INISY-MSP-TWM
Uwagi:
(-)

Efekty uczenia się