Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 16:38
· 16 commits to main since this release
08f9083
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.