KaptchaOCR ft-small-det
One of the five fine-tuned KaptchaOCR models. This repository contains the
small_det.onnx glyph detector only.
KaptchaOCR is a Rust CAPTCHA library and server: github.com/ozalt/kaptchaocr.
Model card
| Field | Value |
|---|---|
| Task | glyph-level text detection (DB) |
| Base | PP-OCRv6 small detection |
| Size | 9.5 MB |
| Input | RGB image, padded to a square |
| Output | probability map β character boxes |
| Training data | 20,000 synthetic 320Γ160 images, scatter layout, English + Chinese, seed 11 |
| Validation | 200-image val and val2 sets |
This is not general object detection. It finds character/glyph boxes for click CAPTCHAs; it does not find cars, trucks or other objects.
Benchmark
A fresh synthetic set: 400 images, 1,800 glyph boxes, scatter layout,
English + Chinese, seed 20261103. Glyph-level ground truth, greedy polygon
matching.
| Metric | Score |
|---|---|
| F1@0.5 | 95.8% |
| F1@0.75 | 50.5% |
| Precision@0.5 | 93.9% |
| Recall@0.5 | 97.7% |
| Mean IoU | 0.750 |
| Mean latency | 270 ms |
The detection benchmark is a synthetic proxy; real click-CAPTCHA data is not included. Full tables and charts: benchmarks.
Usage
Use the shipped manifest entry with the KaptchaOCR binary:
kaptchaocr --ocr --det --manifest model/models.json --det-model ft-small-det
For a non-inline build, point at this repo's file directly:
kaptchaocr --det --det-path small_det.onnx
Manifest entry:
{"name": "ft-small-det", "task": "det", "path": "small_det.onnx", "det": {"type": "db", "thresh": 0.2, "box_thresh": 0.4, "unclip_ratio": 1.4, "max_candidates": 3000, "nms_thr": 0.3, "score_thr": 0.1}}
License
Apache-2.0. Fine-tuned from the PP-OCRv6 small detector (PaddleOCR, Apache-2.0). No ddddocr weights are included in this repository.