-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
188 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
title: OCR4all 1.0 | ||
next: | ||
text: 'Introduction' | ||
link: '/beta/introduction' | ||
--- | ||
# {{ $frontmatter.title }} | ||
## Core Features | ||
- 👥 User and group management. Share your all your projects and files with other users and groups on the same instance. | ||
- ⚙️ Wide array of OCR processor, powered by [OCR-D](https://ocr-d.de/) and others. | ||
- 🗂️ Fully fledged in-app data management. Upload and manage your images, models, workflows and datasets completely through the UI. | ||
- 📥 Export all uploaded and generated data, import them into other OCR4all instances or use them wherever you want. | ||
- 👑 Full data sovereignty. No data leaves your instance unless approved by you or the instance administrator. | ||
- 💪 Generate training data and use it to train or fine-tune models. | ||
- 🆓 OCR4all is and will always stay free and open-source. | ||
- and much more... | ||
|
||
## Next steps | ||
- [Find out more about OCR4all 1.0](/beta/introduction) | ||
- [Jump right into setting up your own instance of the OCR4all 1.0 beta](/beta/setup) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
--- | ||
title: OCR4all 1.0 – Introduction | ||
next: | ||
text: 'Setup Beta' | ||
link: '/beta/setup' | ||
--- | ||
# {{ $frontmatter.title }} | ||
|
||
## Motivation and General Idea | ||
- **Availability of Solutions:** Numerous high-performance open-source solutions for Automatic Text Recognition (ATR) are already available, with new releases emerging continuously. | ||
- **Diverse Use Cases:** The highly heterogeneous nature of use cases necessitates the targeted deployment of specialized ATR solutions. | ||
- **Requirement:** There is a need for user-friendly frameworks that facilitate the flexible, integrable, and sustainable combination and application of both existing and future ATR solutions. | ||
- **Objective:** Our goal is to empower users to perform ATR independently, achieving high-quality results. | ||
- **Foundation:** This framework is built upon freely available tools, enhanced by our in-house developments. | ||
|
||
## OCR-D and OCR4all | ||
- **OCR-D Initiative:** The DFG-funded OCR-D initiative is dedicated to facilitating the mass full-text transformation of historical prints published in the German-speaking world. | ||
- **Focus Areas:** OCR-D emphasizes interoperability and connectivity, ensuring a high degree of flexibility and sustainability in its solutions. | ||
- **Integrated Solutions:** The initiative combines multiple ATR solutions within a unified framework, enabling precise adaptation to specific materials and use cases. | ||
- **Open Source Commitment:** All results from the OCR-D project are released as completely open-source. | ||
- **OCR4all-Libraries Project:** The DFG-funded OCR4all-libraries project has two primary goals: | ||
- Providing a user-friendly interface for OCR-D solutions via OCR4all, enabling independent use by non-technical users. | ||
- Enhancing the ATR output within OCR4all to offer added value to even the most technically experienced users. | ||
|
||
## System Architecture | ||
- **Modularity and Interoperability:** The framework is designed with a strong focus on modularity and interoperability, ensuring seamless integration and adaptability. | ||
- **Distributed Infrastructure:** The architecture features a distributed infrastructure, with a clear separation between the backend and frontend components. | ||
- **Backend:** Built with Java and [Spring Boot](https://spring.io/projects/spring-boot). | ||
- **Frontend:** Developed using the [Vue.js](https://vuejs.org/) ecosystem. | ||
- **Component Communication:** Components communicate via a REST API, enabling efficient interaction between different parts of the system. | ||
- **Integration of Third-Party Solutions:** Service Provider Interfaces (SPIs) allow for the integration of third-party solutions, such as ATR processors. | ||
- **Containerized Setup:** The containerized architecture ensures easy distribution and deployment of all integrated components with minimal barriers. | ||
- **Data Sovereignty:** Users retain full control over their data, with no data leaving the instance without explicit user or administrator consent. | ||
- **Reproducibility:** Every step in the process is fully reproducible. A "transcript of records" feature stores detailed information about the processors and parameters used, ensuring transparency and repeatability. | ||
|
||
## Modules | ||
|
||
### Data Management and Processing | ||
- **Separation of Functions:** Data management and processing are strictly separated to ensure efficient handling and security. | ||
- **Data Sharing:** Data can be shared with different users or user groups as needed. | ||
|
||
### Processors and NodeFlow | ||
- **Wide Array of Processors:** A diverse range of ATR processors is available, including OCR-D and external options. | ||
- **Ease of Integration:** New processors can be easily implemented via a well-defined interface, with the user interface generated automatically. | ||
- **NodeFlow:** The graphical editor NodeFlow simplifies the creation of workflows, making it convenient for users to design and customize processing sequences. | ||
|
||
### LAREX | ||
- **Result Correction and Training Data Creation:** LAREX allows for the correction of all ATR workflow results and the creation of training data. | ||
- **Visual Workflow Identification:** LAREX helps users identify the most suitable workflows as a visual explanation component. | ||
|
||
### Datasets, Training, and Evaluation | ||
- **Dataset Creation:** Datasets can be created with the option to use tagging and import functionalities. | ||
- **Dataset Enrichment:** Datasets can be enriched with training data generated and tagged within the application, even across various projects and sources. | ||
- **Model Training:** Train models on selected datasets or subsets thereof, with options for in-app usage or exporting both models and associated training data. | ||
- **Model Evaluation:** Evaluate both trained and imported models using curated datasets to ensure quality and accuracy. | ||
|
||
### Working with OCR4all 1.0 | ||
#### One Tool, Two Modes | ||
| Base Mode | Pro Mode | | ||
|-------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Designed for novice users, with reduced complexity and a strongly guided, linear workflow | Tailored for experienced users who require more exploration and complexity | | ||
| Pre-selected solutions for each processing step | Unrestricted access to all processors, parameters, and features | | ||
| Pre-filtered parameters and limited access to advanced features | Support for identifying the best workflows and models for specific needs | | ||
::: info | ||
Currently only pro mode is available in the beta release. The base mode will be added shortly. | ||
::: | ||
### Example Use Cases and Application Scenarios | ||
#### Fully Automatic Mass Full-Text Digitalization | ||
- **Objective:** Maximize throughput with minimal manual effort. | ||
- **Users:** Libraries and archives processing large volumes of scanned materials. | ||
- **Approach:** Use the pro mode (NodeFlow, LAREX, and datasets) to identify the most suitable workflow. | ||
|
||
#### Flawless Transcription of Source Material | ||
- **Objective:** Achieve maximum quality, accepting significant manual effort. | ||
- **Users:** Humanist researchers preparing text for a digital edition. | ||
- **Approach:** Utilize the base mode for iterative transcription with continually improving accuracy. | ||
|
||
#### Building Corpora for Quantitative Applications | ||
- **Objective:** Maximize quality while minimizing manual effort. | ||
- **Users:** Researchers constructing corpora for training and evaluating quantitative methods. | ||
- **Approach:** Manage data and consistently retrain source-specific or mixed models using datasets and tagging functionalities. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- | ||
title: OCR4all 1.0 – Setup | ||
--- | ||
# {{ $frontmatter.title }} | ||
|
||
If you want to try out the beta version of release 1.0 of OCR4all you can simply use the following Docker Compose file or download it [here](). | ||
|
||
The prerequisite for this is having both [Docker](https://docs.docker.com/get-started/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) installed. | ||
|
||
A more in-depth installation guide will follow with the stable release of OCR4all 1.0. | ||
|
||
::: warning | ||
This will install a beta version of OCR4all 1.0 which may still contain some bugs and many features are yet to come. | ||
::: | ||
|
||
``` | ||
version: "3.9" | ||
services: | ||
msa-calamari: | ||
hostname: msa-calamari | ||
build: | ||
context: ocr4all-app-calamari-msa | ||
dockerfile: Dockerfile | ||
args: | ||
- TAG=${CALAMARI_TAG:-20240502} | ||
- JAVA_VERSION=${CALAMARI_JAVA_VERSION:-17} | ||
- APP_VERSION=${CALAMARI_APP_VERSION:-1.0-SNAPSHOT} | ||
user: "${UID:-}" | ||
restart: always | ||
environment: | ||
- SPRING_PROFILES_ACTIVE=${CALAMARI_PROFILES:-logging-debug,msa-api,docker} | ||
volumes: | ||
- ${OCR4ALL_DATA:-~/ocr4all/docker/data}:/srv/ocr4all/data | ||
- ${OCR4ALL_ASSEMBLE:-~/ocr4all/docker/assemble}:/srv/ocr4all/assemble | ||
- ${OCR4ALL_WORKSPACE_PROJECT:-~/ocr4all/docker/workspace/projects}:/srv/ocr4all/projects | ||
ports: | ||
- "${CALAMARI_API_PORT:-127.0.0.1:9092}:8080" | ||
msa-ocrd: | ||
hostname: msa-ocrd | ||
build: | ||
context: ocr4all-app-ocrd-msa | ||
dockerfile: Dockerfile | ||
args: | ||
- TAG=${OCRD_TAG:-2024-04-29} | ||
- JAVA_VERSION=${OCRD_JAVA_VERSION:-17} | ||
- APP_VERSION=${OCRD_APP_VERSION:-1.0-SNAPSHOT} | ||
user: "${UID:-}" | ||
restart: always | ||
environment: | ||
- SPRING_PROFILES_ACTIVE=${OCRD_PROFILES:-logging-debug,msa-api,docker} | ||
volumes: | ||
- ${OCR4ALL_WORKSPACE_PROJECT:-~/ocr4all/docker/workspace/projects}:/srv/ocr4all/projects | ||
- ${OCR4ALL_RESOURCES_ORCD:-~/ocr4all/docker/opt/ocr-d/resources}:/usr/local/share/ocrd-resources | ||
ports: | ||
- "${OCRD_API_PORT:-127.0.0.1:9091}:8080" | ||
server: | ||
build: | ||
context: ocr4all-app | ||
dockerfile: Dockerfile | ||
args: | ||
- TAG=${OCR4ALL_TAG:-17-jdk-slim} | ||
- APP_VERSION=${OCR4ALL_APP_VERSION:-1.0-SNAPSHOT} | ||
user: "${UID:-}" | ||
restart: always | ||
environment: | ||
- SPRING_PROFILES_ACTIVE=${OCR4ALL_PROFILES:-logging-debug,server,api,documentation,docker} | ||
volumes: | ||
- ${OCR4ALL_HOME:-~/ocr4all/docker}:/srv/ocr4all | ||
ports: | ||
- "${OCR4ALL_API_PORT:-9090}:8080" | ||
depends_on: | ||
- msa-calamari | ||
- msa-ocrd | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters