Skip to content

Commit

Permalink
add beta release section
Browse files Browse the repository at this point in the history
  • Loading branch information
maxnth committed Aug 28, 2024
1 parent 1eaa99a commit 01bbcf4
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 0 deletions.
9 changes: 9 additions & 0 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,15 @@ function sidebarDefault() {
}
]
},
{
text: "✨ 1.0 Beta Release",
collapsible: true,
items: [
{text: "OCR4all 1.0", link: "/beta"},
{text: "Introduction", link: "/beta/introduction"},
{text: "Setup", link: "/beta/setup"},
]
}
]
}

20 changes: 20 additions & 0 deletions docs/beta/index.md
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)
81 changes: 81 additions & 0 deletions docs/beta/introduction.md
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.
75 changes: 75 additions & 0 deletions docs/beta/setup.md
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
```
3 changes: 3 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ hero:
- theme: alt
text: User Guide
link: /guide/user-guide/introduction
- theme: brand
text: ✨ Beta Release 1.0
link: /beta

features:
- title: Fully free and open-source
Expand Down

0 comments on commit 01bbcf4

Please sign in to comment.