24 lines
1.4 KiB
Markdown
24 lines
1.4 KiB
Markdown
|
### Aplikacja iOS rozpoznająca tablice rejestracyjne pojazdów
|
||
|
|
||
|
___
|
||
|
Surowy zbiór danych:
|
||
|
- [Kaggle/car-plate-detection](https://www.kaggle.com/datasets/andrewmvd/car-plate-detection?fbclid=IwAR1PmFR4HCju2uqKWs9u0RWO6TxTynyIBIBMttuzGGfTWopLUIhVYrKx-U8)
|
||
|
|
||
|
Dane przygotowane do uczenia modelu:
|
||
|
- [Roboflow/wko](https://universe.roboflow.com/wko/car-license-plate-occlq/dataset/1)
|
||
|
(należy pobrać w formacie yoloV3 Keras)
|
||
|
|
||
|
Aby uruchomić trening modelu z folderu `API` należy w pliku `train.py` zmodyfikować domyślne ścieżki z anotacjami, oczekiwanymi klasami oraz wielkościami ramek (anchors). Następnie można uruchomić powyższy plik i czekać na model. W rezultacie otrzymamy dwa modele:
|
||
|
- `_stage.h5` - model po podstawowym uczeniu;
|
||
|
- `_final.h5` - model po fine tuningu na odmrożonych warstwach z domyślnego procesu uczenia.
|
||
|
|
||
|
___
|
||
|
### Aplikacja
|
||
|
Aby skorzystać z aplikacji należy najpierw uruchomić API oparte na frameworku FLASK - (`python -m pip install flask`), z którym komunikuje się aplikacja. W tym celu trzeba wywołać poniższe polecenia z głównego katalogu projektu:
|
||
|
- `export FLASK_APP=API/api.py`
|
||
|
- `flask run --without-threads`
|
||
|
W terminalu otrzymamy address na którym serwis został uruchomiony. Należy go skopiować i po otwarciu projektu `App/LicensePlates/LicensePlates.xcodeproj` wkleić jako wartość zmiennej `_apiAddress_` w klasie `Api`.
|
||
|
Ostatnim krokiem jest zbudowanie aplikacji w IDE.
|
||
|
|
||
|
|