You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v0.2.0 — accuracy, API and packaging improvements
First release since v0.1.0-php1. All four language wrappers pin that
tag, so nothing in this changelog has reached wrapper users until they
bump to v0.2.0.
Behaviour changes wrappers must know about:
- arboocr_demo is silent on stderr unless --log-level is passed.
- Exit code 2 for model-load / recognition failure, distinct from 1.
- --help now exits 0 instead of 1.
- Batch --json emits an array; single-image still emits a bare object.
- "words" appears in JSON only with --word-boxes.
Fixes
- ORT CPU memory arena disabled: 235 MB -> 135 MB peak RSS, +17.6%
latency (measured on the SROIE smoke set, small, CPU).
- getScaleParam no longer upscales; detLimitSideLen is a true ceiling.
- Reading-order tolerance derives from median line height instead of a
hard-coded 12px, so ordering is scale-invariant.
- downloadOcrModels fetches the recognizer dict; without it the
documented download path produced a silently broken models dir.
- Engine construction failure no longer terminates the CLI.
Features
- CLI accuracy flags (det thresholds, unclip ratio, limit side len,
rec batch, min confidence, split-overmerged, trt cache dir) plus
--log-level, --draw, --markdown, --word-boxes.
- Batch input via --images-from: one Engine for a whole list instead
of one process and one model load per image.
- Encoded-bytes input (recognizeEncoded) for callers already holding
image bytes.
- drawResult visualizer (boxes only; putText cannot render CJK).
- Word / character boxes, opt-in via returnWordBoxes.
- Markdown export (toMarkdown): paragraphs, headings, lists, and
key/value tables.
- intraOpNumThreads / interOpNumThreads for multi-worker hosts.
- CMake install/export: find_package(arboOCR CONFIG) and link
arboOCR::arboOCR instead of vendoring the tree.
- Python bindings cover all of the above.
Accuracy is unchanged on the SROIE smoke set (within -0.2 pts).
119 tests pass on Windows and Linux.
Not yet validated: useFp16 = true is the TensorRT default and no test
exercises it. scripts/fp16_ab.py is ready but needs NVIDIA hardware.