
Przedmiot poświęcony jest zagadnieniom widzenia maszynowego. Omówimy na nim klasyczne i nowoczesne metody rozpoznawania obrazów w kontekście praktycznych zastosowań (pomiary, rozszerzona rzeczywistość, rozpoznawanie twarzy).
Poznamy też fizykę procesu powstawania obrazów cyfrowych oraz popularne narzędzia programistyczne stosowane w widzeniu maszynowym.
Program
- Tydzień 1: Wprowadzenie. Zajęcia organizacyjne
- Tydzień 2: Wprowadzenie do narzędzi programistycznych
- Tydzień 3: Detekcja prostych obiektów geometrycznych
- Tydzień 4: Jak powstaje obraz? Geometria rzutowa
- Tydzień 5: Lokalizacja w przestrzeni 3D
- Tydzień 6: Jak sobie radzić ze zbyt dużym obrazem?
- Tydzień 7: Detektor korelacyjny
- Tydzień 8: Detektory oparte o inżynierię cech
- Tydzień 9: Analiza składowych głównych (PCA)
- Tydzień 10: Deep learning – wprowadzenie do sieci neuronowych
- Tydzień 11: Deep learning – konwolucyjne sieci neuronowe
- Tydzień 12: Deep learning – detekcja obiektów
- Tydzień 13: Wizyta w laboratorium OptiNav
- Tydzień 14: Seminarium
- Tydzień 15: Prezentacja prac zaliczeniowych
Zadania przygotowawcze
Tydzień 2
Proszę zainstalować na swoich komputerach środowisko Visual Studio Code i dystrybucję Pythona – Anaconda. Następnie proszę napisać program, który będzie wyświetlał na żywo obraz z kamerki internetowej. Można do tego wykorzystać np. pakiet OpenCV (jest instalowany razem z Anacondą).
Literatura
- R. Szeliski, Computer Vision: Algorithms and Application – e-book dostępny za darmo na stronie autora (link). Bardzo dobre omówienie wielu poruszanych przez nas zagadnień. Można go traktować jako podręcznik podstawowy.
- A. Geron, Uczenie maszynowe z użycie Scikit-Learn i TensorFlow, Helion 2018. Dużo przydatnych ćwiczeń na temat uczenia maszynowe i deep learningu, ale od wydania pojawiła się nowa wersja frameworka TensorFlow i podane przykłady są trochę przestarzałe.
Zasady zaliczenia
Ocena końcowa jest średnią arytmetyczną oceny z seminarium oraz prezentacji wyników projektu zaliczeniowego.
Tematy seminarium
Tematy seminarium będą dostępne wkrótce.
Projekt zaliczeniowy
Proszę napisać w zespole program, który będzie wykrywał i rozpoznawał na obrazie z kamery znaki drogowe. Działanie programu należy zaprezentować na samodzielnie wykonanej rejestracji wideo przejazdu samochodem. Obrazy z nagrania, na którym będzie demonstrowane działanie programu nie mogą być użyte do trenowania wykorzystywanych przez program algorytmów, sieci neuronowych itd.