- 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ę