matthewearl / deep-anpr

Using neural networks to build an automatic number plate recognition system
MIT License
1.84k stars 699 forks source link

Support variable license plate lengths #6

Open matthewearl opened 8 years ago

matthewearl commented 8 years ago

Currently the detection network architecture only supports number plates with exactly 7 characters. This issue it to track adding support for variable length number plates.

The approach used by Goodfellow et al in the Google house number paper (pdf) is to have multiple separate fully connected/output sub-networks on top of the last convolutional stage. There is one network for each possible character in the output as well as a network to indicate how many characters are in the number plate. (See the Google paper for details.)

The change would require adapting gen.py to output variable length plates, model.py to represent the new network architecture, and train.py and detect.py to properly interface with the new architecture.

synckey commented 8 years ago

variable length

I copied your code ,and migrate it to a bank card ocr one using lstm and ctc referencing ctc_example. The code could work well with variable length.

matthewearl commented 8 years ago

Great work on the bank card decoder! I'm not fully read up on CTC however I agree it looks like it a more elegant solution that the multi-network solution I suggested above.

jihadbourassi commented 5 years ago

Did anyone succeed in implementing the deep-anpr with a variable number of characters ? if so could you please share how you did it, i'm trying to implement Matt's anpr for moroccan licence plates and the number of characters varies from 9 to 10