Today I finished the main machine learning model work for PR #7 on the plate recognizer branch.
This PR adds the PlateRecognizerCRNN, which reads text from a cropped license plate image. The detector model finds where the plate is, and this recognizer model is meant to read what the plate says, like ABC123.
The model uses a CRNN. That means it combines a CNN and an LSTM. The CNN looks at the plate image and learns visual patterns like edges, curves, and character shapes. Then the LSTM reads those image features from left to right and right to left, so the model can understand the order of the letters and numbers on the plate. It takes a grayscale plate image shaped like 32x128, turns it into 16 left-to-right time steps, and outputs predictions over 37 possible classes: blank, A-Z, and 0-9.
I am currently working through the training side of the PR, especially understanding the loss function. This model uses CTC loss, which is new to me. The tricky part is that the model does not directly output ABC123. Instead, it outputs a sequence of guesses with blanks and repeated characters, and CTC helps compare that messy sequence to the correct plate text during training.
TDLR: PR #7 is not fully finished yet, but the core recognizer model is now in place. The next focus is understanding and finishing the training loop, CTC loss, and how the model learns from synthetic license plate images.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.