Image recognition 2400-ZEWW989
W ramach kursu omówione zostaną kolejno następujące zagadnienia:
1. Wstępne przetwarzanie obrazu:
konwersja do skali szarości, normalizacja, poprawa kontrastu (np. wyrównywanie histogramu),
redukcja szumów: filtracja Gaussa, filtracja medianowa,
zmiana rozmiaru, wyostrzanie, rozmywanie,
augmentacja danych: obrót, odbicie lustrzane, przycinanie, zmiany kolorów (color jittering).
2. Klasyfikacja obrazów:
ekstrakcja cech: HOG, LBP, SIFT,
klasyczne modele klasyfikacyjne,
wprowadzenie do uczenia głębokiego,
konwolucyjne sieci neuronowe: struktura, warstwy konwolucyjne, pooling,
architektury CNN: LeNet, AlexNet, VGG, ResNet, EfficientNet,
uczenie transferowe i dostrajanie modeli wstępnie wytrenowanych.
3. Detekcja obiektów:
metoda przesuwającego się okna, selektywne wyszukiwanie,
klasyczne metody detekcji obiektów, HOG + SVM,
nowoczesne metody: rodzina YOLO (v3, v5, v8), SSD, Faster R-CNN,
ramki zakotwiczenia (anchor boxes), współczynnik IoU (Intersection over Union), NMS (Non-Maximum Suppression).
4. Rozpoznawanie twarzy i identyfikacja osób:
weryfikacja vs. identyfikacja twarzy i osób,
detekcja twarzy: Viola-Jones, MTCNN, klasyfikatory Haar, detektory oparte na DNN,
embeddingi twarzy: FaceNet, DeepFace, Dlib.
5. Analiza ruchu i śledzenie:
różnicowanie między klatkami, odejmowanie tła,
klasyczne algorytmy śledzenia: filtr Kalmana, MeanShift, CamShift,
śledzenie wielu obiektów: SORT, Deep SORT,
optyczny przepływ: Lucas-Kanade, Farneback.
Szacunkowy nakład pracy studenta:
Typ aktywności K (kontaktowe) S (samodzielne)
wykład (zajęcia) 0 0
ćwiczenia (zajęcia) 30 30
egzamin 0 0
konsultacje 5 0
przygotowanie do ćwiczeń 0 10
przygotowanie do wykładów 0 0
przygotowanie do kolokwium 0 0
przygotowanie do egzaminu 0 0
… 0 0
Razem 35 40=75
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
Studenci nauczą się jak wstępnie przygotowywać obrazy do dalszych analiz, w szczególności mających na celu ich klasyfikację, detekcję znajdujących się na nich obiektów, rozpoznawanie twarzy i identyfikację osób. Poznają oni teoretyczne podstawy działania algorytmów umożliwiających wymienione operacje, jak również zostaną zaznajomieni z praktycznymi aspektami konstruowania służących temu kodów programistycznych. Po zakończeniu kursu studenci będą potrafili analizować obrazy, dobierając metody odpowiednio do specyfiki napotkanego problemu. Ponadto studenci posiądą wiedzę w zakresie tego, w jaki sposób należy oceniać jakość modelu o danej specyfice. Będą oni również świadomi aktualnych wyzwań i problemów związanych z rozpoznawaniem obrazów.
Kryteria oceniania
Ocena końcowa zostanie ustalona w oparciu o: projekt do wykonania poza zajęciami (70% oceny) i prezentacja projektu (30% oceny).
pisemny (projekt) i ustny (prezentacja projektu)
Literatura
Podstawowa:
Goodfellow, I., Bengio, Y., & Courville, A. (2016) Deep learning. MIT Press.
Gonzalez, R., & Woods, R. (2017). Digital Image Processing (4th ed.). Pearson.
Shanmugamani, R. (2018). Deep Learning for Computer Vision: Expert techniques to train advanced neural networks using TensorFlow and Keras. Packt Publishing Ltd.
Szeliski, R. (2022). Computer vision: algorithms and applications. Springer Nature.
Uzupełniająca:
Friedman, J., Hastie, T., & Tibshirani, R. (2009). The elements of statistical learning: data mining, inference and prediction. Springer Series in Statistics.
Harrington, P. (2012). Machine learning in action, vol. 5, Greenwich, CT: Manning.
Kuhn, M., & Johnson, K. (2013). Applied predictive modelling, Springer-Verlag.
Planche, B., & Andres, E. (2019). Hands-On Computer Vision with TensorFlow 2: Leverage deep learning to create powerful image processing apps with TensorFlow 2.0 and Keras. Packt Publishing Ltd.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: