Image-to-Text
Transformers
Safetensors
English
Russian
pp_ocrv6_small_rec
captcha
ocr
minecraft
pp-ocrv6
text-recognition
cyrillic
Instructions to use Titlehhhh/captchaocr-ppocrv6 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Titlehhhh/captchaocr-ppocrv6 with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "image-to-text" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # pip install "transformers<5.0.0" from transformers import pipeline pipe = pipeline("image-to-text", model="Titlehhhh/captchaocr-ppocrv6")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Titlehhhh/captchaocr-ppocrv6", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Card: add the other-captcha-models table (12 foreign models, one protocol) and our own models (a different protocol)
Browse files
README.md
CHANGED
|
@@ -138,6 +138,46 @@ same repository.
|
|
| 138 |
| exact match (micro) on the same 29 types, whole frame | 0.0345 | `reports/bench_models/ppocrv6-medium.json` |
|
| 139 |
| exact match (micro) on all 46 types, band crop | 0.4043 | `reports/bench_models/ppocrv6-medium.json` |
|
| 140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
Every number in this card comes from a file of the **CaptchaOCR** project repository — the
|
| 142 |
measured results are in `reports/`, they are not typed by hand and nothing is extrapolated.
|
| 143 |
|
|
|
|
| 138 |
| exact match (micro) on the same 29 types, whole frame | 0.0345 | `reports/bench_models/ppocrv6-medium.json` |
|
| 139 |
| exact match (micro) on all 46 types, band crop | 0.4043 | `reports/bench_models/ppocrv6-medium.json` |
|
| 140 |
|
| 141 |
+
### Other captcha models measured on this dataset
|
| 142 |
+
|
| 143 |
+
All foreign models were measured by **one protocol** (`bench/bench_models.py`): the picture is
|
| 144 |
+
cropped by the answer band (`roi`), the input is normalised the same way for everybody, the greedy
|
| 145 |
+
decode is the same, and the metric is exact match on the normalised `text`. The set is the
|
| 146 |
+
**29 band-carrying types, 20 images per type (580 items)**, on the earlier 100-images-per-type
|
| 147 |
+
render of the dataset.
|
| 148 |
+
|
| 149 |
+
| model | band exact match | item set | source file |
|
| 150 |
+
|---|---|---|---|
|
| 151 |
+
| `PaddlePaddle/PP-OCRv6_medium_rec_onnx` | 0.5517 | 29 types / 580 items | `reports/bench_models/ppocrv6-medium.json` |
|
| 152 |
+
| `PaddlePaddle/PP-OCRv5_mobile_rec_onnx` | 0.4621 | 29 types / 580 items | `reports/bench_models/ppocrv5-mobile.json` |
|
| 153 |
+
| `PaddlePaddle/cyrillic_PP-OCRv5_mobile_rec_onnx` | 0.4621 | 29 types / 580 items | `reports/bench_models/ppocrv5-cyrillic.json` |
|
| 154 |
+
| `easyocr` | 0.3281 | 8 types / 64 items (the old `legacy64` subset) | `reports/bench_models/easyocr.json` |
|
| 155 |
+
| `anuashok/ocr-captcha-v3` | 0.2966 | 29 types / 580 items | `reports/bench_models/anuashok-v3.json` |
|
| 156 |
+
| `graycat660/doctr-crnn-vgg16-bn-russian-onnx` | 0.2776 | 29 types / 580 items | `reports/bench_models/doctr-crnn-ru.json` |
|
| 157 |
+
| `Graf-J/captcha-crnn-base` | 0.0828 | 29 types / 580 items | `reports/bench_models/grafj-crnn-base.json` |
|
| 158 |
+
| `Graf-J/captcha-crnn-finetuned` | 0.0672 | 29 types / 580 items | `reports/bench_models/grafj-crnn.json` |
|
| 159 |
+
| `Graf-J/captcha-conv-transformer-finetuned` | 0.0638 | 29 types / 580 items | `reports/bench_models/grafj-convtr.json` |
|
| 160 |
+
| `emelnov/ocr-captcha-v4-mailru` | 0.0431 | 29 types / 580 items | `reports/bench_models/emelnov-mailru.json` |
|
| 161 |
+
| `jtrecenti/txtcaptcha-crnn` | 0.0034 | 29 types / 580 items | `reports/bench_models/txtcaptcha-crnn.json` |
|
| 162 |
+
| `microsoft/trocr-base-printed` | **no score — the harness failed**: `ValueError: You need to specify either 'text' or 'text_target'.` | — | `reports/bench_models/trocr-base-printed.json` |
|
| 163 |
+
|
| 164 |
+
For the same base model, the whole frame instead of the band gives **0.0345** — 16× worse. The
|
| 165 |
+
cropper, not the model, decides this task.
|
| 166 |
+
|
| 167 |
+
### Our own models — **a different protocol, not comparable with the table above**
|
| 168 |
+
|
| 169 |
+
| our model | median exact (held-out types) | micro exact | held-out set | source |
|
| 170 |
+
|---|---|---|---|---|
|
| 171 |
+
| **this repository: PP-OCRv6 + interpolation α = 0.4** | **0.638** | **0.6123** | 7 types / 3 500 images | `reports/TRAINING_PPOCR_V6_BIG.md` |
|
| 172 |
+
| our CRNN+CTC, trained from scratch | 0.372 | 0.381 | 4 types / 1 999 images | `reports/TRAINING_CRNN_BIG.md` |
|
| 173 |
+
| our CRNN+CTC on its **own training plugins** | 1.000 | 1.000 | 7 types — pure memorisation | `reports/TRAINING_CRNN_BIG.md` |
|
| 174 |
+
|
| 175 |
+
**These two tables are not one protocol and must not be read as one ranking.** The foreign models
|
| 176 |
+
were measured by the benchmark harness on 29 band-carrying types (580 items, 20 images per type);
|
| 177 |
+
our two models were measured on their **own** held-out plugin splits with their own training
|
| 178 |
+
pipelines — 7 types / 3 500 images and 4 types / 1 999 images respectively. Different type sets,
|
| 179 |
+
different image counts, different pipelines: the numbers are not directly comparable.
|
| 180 |
+
|
| 181 |
Every number in this card comes from a file of the **CaptchaOCR** project repository — the
|
| 182 |
measured results are in `reports/`, they are not typed by hand and nothing is extrapolated.
|
| 183 |
|