-
Notifications
You must be signed in to change notification settings - Fork 7
Workflow Guide text alignment
Robert Sachunsky edited this page Feb 4, 2022
·
3 revisions
In this processing step, text results from multiple OCR engines (in different annotations sharing the same line segmentation) are aligned into one annotation.
Processor | Parameter | Remarks | Call |
---|---|---|---|
ocrd-cor-asv-ann-align |
-P method majority
|
ocrd-cor-asv-ann-align -I OCR-D-OCR1,OCR-D-OCR2,OCR-D-OCR3 -O OCR-D-ALIGN |
|
ocrd-cis-align | ocrd-cis-align -I OCR-D-OCR1,OCR-D-OCR2,OCR-D-OCR3 -O OCR-D-ALIGN |
ocrd-cor-asv-ann-align | ocrd-cis-align | |
---|---|---|
goal | optimal aligned string (i.e. as post-correction) | candidates for input for ocrd-cis-postcorrect |
input arity | N fileGrps | N fileGrps (first as "master") |
input constraints | textlines must have common IDs | regions and textlines must be in same order |
input level | textline (+ optionally words or glyphs for confidence) | textline (for strings) and word (for resegmentation) |
output | PAGE with single-best TextEquiv per textline | PAGE with multiple aligned TextEquivs per textline |
alignment library | difflib.SequenceMatcher |
de.lmu.cis.ocrd.align |
alignment method | true n-ary multi-alignment (closest pairs first), including lower level confidences | 1:n alignment with master also restricting allowable word-segmentation |
decision | majority voting, confidence voting, or combination | no decision |
E.g.
- which parameters do you use with what values?
- which parameters are insufficiently documented?
- which aspects of a processor should be parameterizable but are not?
E.g. which processors worked best with what material? -- feel free to post sample images here, too.
Welcome to the OCR-D wiki, a companion to the OCR-D website.
Articles and tutorials
- Running OCR-D on macOS
- Running OCR-D in Windows 10 with Windows Subsystem for Linux
- Running OCR-D on POWER8 (IBM pSeries)
- Running browse-ocrd in a Docker container
- OCR-D Installation on NVIDIA Jetson Nano and Xavier
- Mapping PAGE to ALTO
- Comparison of OCR formats (outdated)
- A Practicioner's View on Binarization
- How to use the bulk-add command to generate workspaces from existing files
- Evaluation of (intermediary) steps of an OCR workflow
- A quickstart guide to ocrd workspace
- Introduction to parameters in OCR-D
- Introduction to OCR-D processors
- Introduction to OCR-D workflows
- Visualizing (intermediate) OCR-D-results
- Guide to updating ocrd workspace calls for 2.15.0+
- Introduction to Docker in OCR-D
- How to import Abbyy-generated ALTO
- How to create ALTO for DFG Viewer
- How to create searchable fulltext data for DFG Viewer
- Setup native CUDA Toolkit for Qurator tools on Ubuntu 18.04
- OCR-D Code Review Guidelines
- OCR-D Recommendations for Using CI in Your Repository
Expert section on OCR-D- workflows
Particular workflow steps
Workflow Guide
- Workflow Guide: preprocessing
- Workflow Guide: binarization
- Workflow Guide: cropping
- Workflow Guide: denoising
- Workflow Guide: deskewing
- Workflow Guide: dewarping
- Workflow Guide: region-segmentation
- Workflow Guide: clipping
- Workflow Guide: line-segmentation
- Workflow Guide: resegmentation
- Workflow Guide: olr-evaluation
- Workflow Guide: text-recognition
- Workflow Guide: text-alignment
- Workflow Guide: post-correction
- Workflow Guide: ocr-evaluation
- Workflow Guide: adaptation-of-coordinates
- Workflow Guide: format-conversion
- Workflow Guide: generic transformations
- Workflow Guide: dummy processing
- Workflow Guide: archiving
- Workflow Guide: recommended workflows