Skrypt w języku Python pozwala na trenowanie i ocenę różnych modeli sieci neuronowych konwolucyjnych (CNN) do klasyfikacji znaków drogowych przy użyciu biblioteki TensorFlow i Keras. Udostępnia różne modele o różnych architekturach oraz opcje augmentacji danych.
- Python 3.x
- TensorFlow
- Keras
- Matplotlib
- Numpy
- Dataset
Skrypt udostępnia następujące modele CNN:
- model01: Podstawowy model klasyfikacji znaków drogowych bez warstw Dropout i mniejszą liczbą filtrów.
- model02: Model klasyfikacji znaków drogowych bez warstw Dropout i większą liczbą filtrów.
- model03: Model klasyfikacji znaków drogowych bez warstw Dropout, większą liczbą filtrów oraz więcej warstw konwolucyjnych.
- model04: Model klasyfikacji znaków drogowych z warstwami Dropout, większą liczbą filtrów oraz więcej warstw konwolucyjnych.
Obsługiwane są dwa rodzaje augmentacji danych:
- Podstawowa: Augmentuje dane tylko przez zmianę skali obrazów.
- Rozszerzona: Augmentuje dane poprzez zmianę skali, skos, przybliżanie, rozjaśnianie, przesuwanie i zmianę kanałów obrazów.
Po treningu skrypt generuje następujące wyniki:
- Pliki zapisanych modeli (jeśli użyto flagi
--save
). - Histogramy dystrybucji danych treningowych i walidacyjnych.
- Wykresy dokładności treningu i walidacji.
- Wykresy straty treningu i walidacji.