File size: 2,922 Bytes
42310ef 46b1f95 83bb178 8b13820 46b1f95 8b13820 411de07 46b1f95 411de07 8b13820 42310ef 8b13820 46b1f95 8b13820 42310ef 8b13820 42310ef 8b13820 5301781 42310ef 411de07 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# CRNN
An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
Results of accuracy evaluation with [tools/eval](../../tools/eval) at different text recognition datasets.
| Model name | ICDAR03(%) | IIIT5k(%) | CUTE80(%) |
|--------------|------------|-----------|-----------|
| CRNN_EN | 81.66 | 74.33 | 52.78 |
| CRNN_EN_FP16 | 82.01 | 74.93 | 52.34 |
| CRNN_CH | 71.28 | 80.90 | 67.36 |
| CRNN_CH_FP16 | 78.63 | 80.93 | 67.01 |
\*: 'FP16' stands for 'model quantized into FP16'.
Note:
- Model source:
- `text_recognition_CRNN_EN_2021sep.onnx`: https://docs.opencv.org/4.5.2/d9/d1e/tutorial_dnn_OCR.html (CRNN_VGG_BiLSTM_CTC.onnx)
- `text_recognition_CRNN_CH_2021sep.onnx`: https://docs.opencv.org/4.x/d4/d43/tutorial_dnn_text_spotting.html (crnn_cs.onnx)
- `text_recognition_CRNN_CN_2021nov.onnx`: https://docs.opencv.org/4.5.2/d4/d43/tutorial_dnn_text_spotting.html (crnn_cs_CN.onnx)
- `text_recognition_CRNN_EN_2021sep.onnx` can detect digits (0\~9) and letters (return lowercase letters a\~z) (view `charset_36_EN.txt` for details).
- `text_recognition_CRNN_CH_2021sep.onnx` can detect digits (0\~9), upper/lower-case letters (a\~z and A\~Z), and some special characters (view `charset_94_CH.txt` for details).
- `text_recognition_CRNN_CN_2021nov.onnx` can detect digits (0\~9), upper/lower-case letters (a\~z and A\~Z), some Chinese characters and some special characters (view `charset_3944_CN.txt` for details).
- For details on training this model series, please visit https://github.com/zihaomu/deep-text-recognition-benchmark.
## Demo
***NOTE***:
- This demo uses [text_detection_db](../text_detection_db) as text detector.
- Selected model must match with the charset:
- Try `text_recognition_CRNN_EN_2021sep.onnx` with `charset_36_EN.txt`.
- Try `text_recognition_CRNN_CH_2021sep.onnx` with `charset_94_CH.txt`
- Try `text_recognition_CRNN_CN_2021sep.onnx` with `charset_3944_CN.txt`.
Run the demo detecting English:
```shell
# detect on camera input
python demo.py
# detect on an image
python demo.py --input /path/to/image
```
Run the demo detecting Chinese:
```shell
# detect on camera input
python demo.py --model text_recognition_CRNN_CN_2021nov.onnx --charset charset_3944_CN.txt
# detect on an image
python demo.py --input /path/to/image --model text_recognition_CRNN_CN_2021nov.onnx --charset charset_3944_CN.txt
```
### Examples


## License
All files in this directory are licensed under [Apache 2.0 License](./LICENSE).
## Reference
- https://arxiv.org/abs/1507.05717
- https://github.com/bgshih/crnn
- https://github.com/meijieru/crnn.pytorch
- https://github.com/zihaomu/deep-text-recognition-benchmark
- https://docs.opencv.org/4.5.2/d9/d1e/tutorial_dnn_OCR.html
|