System do automatycznego wykrywania i odczytywania tablic rejestracyjnych ze zdjęć - własnoręcznie dotrenowany model detekcji połączony z OCR, zbudowany według rygorystycznych praktyk inżynierii oprogramowania.
Odczyt tablic rejestracyjnych ze zwykłych zdjęć jest trudniejszy niż się wydaje - tablice pojawiają się pod różnym kątem, w różnej odległości i oświetleniu, a gotowe systemy OCR notorycznie mylą podobne znaki (0/O, 1/I, 8/B, 2/Z).
Dotrenowałam YOLOv8n (start z wag wytrenowanych na COCO) na zbiorze Poland Vehicle License Plate Dataset (Kaggle, autor: piotrstefaskiue - kaggle.com/datasets/piotrstefaskiue/poland-vehicle-license-plate-dataset) przez 30 epok w rozdzielczości 640px, aby zlokalizować tablicę. Model wyeksportowałam do ONNX dla szybszej inferencji na CPU. Wycięty fragment ze zdjęcia tablicy odczytuje EasyOCR, a warstwa normalizacji poprawia znaki najczęściej mylone przez OCR (0/O, 1/I, 8/B, 2/Z) przed porównaniem wyników. Dedykowany moduł metryk liczy IoU oraz dokładność OCR na 100-zdjęciowym zbiorze testowym.
Model osiągnął ok. 88% dokładności na zbiorze testowym, mierzonej przez autorski moduł metryk łączący IoU detekcji z dokładnością OCR na 100 zdjęciach testowych.
Zaczęłam od wag wytrenowanych na COCO i dotrenowałam YOLOv8n na zbiorze Poland Vehicle License Plate Dataset (Kaggle, autor: piotrstefaskiue) przez 30 epok w rozdzielczości 640px, aby lokalizować tablicę bezpośrednio na zdjęciu.
Wytrenowany model detekcji wyeksportowałam do formatu ONNX, dzięki czemu działa sprawnie bez GPU, zachowując szybką inferencję na standardowym sprzęcie.
Wycięty fragment zdjęcia z wykrytą tablicą przekazywałam do EasyOCR w celu odczytania znaków, oddzielając etap odczytu tekstu od detekcji.
Dodałam etap normalizacji, który poprawia znaki najczęściej mylone przez OCR przed porównaniem wyników, adresując pomyłki 0/O, 1/I, 8/B i 2/Z, które nękają surowe wyniki OCR.
Zbudowałam dedykowany moduł metryk liczący IoU dla dokładności detekcji oraz dokładność OCR względem danych referencyjnych, uruchamiany na 100-zdjęciowym zbiorze testowym, aby zwalidować cały pipeline.