HTR · 04

Tesztkörnyezet előkészítése a HTR-rel való munkához

Megjelent: Frissítve: Kiadó: Vestigia Scriptorium

Bevezetés

Mielőtt elkezdenénk saját Ground Truth elkészítését és a HTR modell betanítását, célszerű külön tesztkörnyezetet készíteni, amelyben biztonságosan kísérletezhetünk digitalizált dokumentumokkal, modellekkel és egyedi eszközbeállításokkal.

Az első kísérlethez nem szükséges szerver infrastruktúrát kiépíteni vagy nagy teljesítményű munkaállomást beszerezni. Sokkal fontosabb, hogy olyan környezetet válasszunk, amely megfelel a projekt céljának.

Három alapvető lehetőség különböztethető meg gyakorlati szempontból a történelmi kéziratokkal való munka során:

  1. Transkribus– a legegyszerűbb módja saját HTR infrastruktúra telepítése nélkül;
  2. eScriptorium– helyi vagy szerver alapú grafikus környezet, amely többek között a Kraken rendszert használja;
  3. Kraken– egy különálló eszköz, amelyet elsősorban a parancssorból vezérelnek.

Mindegyik változat más-más munkamódszerhez alkalmas.


1. Először határozza meg a tesztkörnyezet célját

Bármilyen szoftver telepítése előtt tanácsos válaszolni néhány alapvető kérdésre.

Csak:

  • próbáljon meg több oldal automatikus felismerését;
  • hozza létre saját Ground Truth;
  • képezze ki saját modelljét;
  • kísérlet különböző modellekkel;
  • A helyileg dolgozza fel a dokumentumokat anélkül, hogy elküldené őket külső szolgáltatásnak;
  • A több száz vagy több ezer kép feldolgozását automatizálja;
  • Csatlakoztassa a HTR-t saját program- vagy adatbázis-környezetéhez?

Ha csak a HTR-vel való munka elvét akarjuk megérteni, egy saját szerver szükségtelen bonyodalom.

Ha azonban adatformátumokkal, automatizálással, egyedi modellekkel és kötegelt feldolgozással szeretnénk kísérletezni, a helyi környezet kezd értelmet nyerni.


A lehetőség: Transkribus – a legegyszerűbb módja

2. Mikor kell használni a Transkribus

Kezdők számára általában a Transkribus a leggyorsabb út az első kísérlethez.

Nincs szükség Python, adatbázis, Docker vagy neurális hálózati keretrendszer telepítésére. A felhasználó létrehoz egy fiókot, dokumentumokat tölt fel, és a webalkalmazáson keresztül dolgozik.

A A Transkribus lehetővé teszi például:

  • digitalizált dokumentumok importálása;
  • automatikus elrendezés elemzés;
  • átírások létrehozása és javítása;
  • a Ground Truth előkészítése;
  • a meglévő HTR modellek használata;
  • saját modellek képzése;
  • az eredmények értékelése;
  • export átiratok.

A HTR első bevezetését ezért érdemes itt kezdeni.

Amire szükségünk van

A gyakorlati minimum a következőkből áll:

  • közönséges számítógép;
  • modern webböngésző;
  • internetkapcsolat;
  • egy Transkribus fiók;
  • egy történelmi dokumentum több kiváló minőségű digitalizált oldala.

Magukat a számításokat nem kell saját számítógépen elvégezni.

Ami már nem alkalmas a telepítésre

Régebben volt egy asztali Transkribus eXpert Client. Mára azonban elavultként szerepel, és nem fejlesztik tovább; új funkciók koncentrálódnak a webalkalmazásban. [1]

Ezért nincs értelme egy munkafolyamatot asztali kliensre építeni egy új projekthez.


B változat: eScriptorium – saját grafikus HTR környezet

3. Mi az a eScriptorium

A eScriptorium egy nyitott környezet, amelyet történelmi dokumentumokkal való munkavégzésre terveztek. Webes felületet biztosít képimportáláshoz, szegmentáláshoz, átíráshoz, annotációhoz, modell betanításhoz és automatikus felismeréshez.

Magához a HTR-hez elsősorban a Kraken rendszert használja. [2]

A eScriptorium előnye két jellemző kombinációjában rejlik:

  • felhasználó grafikus webes felületen dolgozik;
  • maga a környezet is futtatható saját számítógépén vagy szerverén.

Ez alkalmas például ott, ahol a képadatokat, a Ground Truth-t és a modelleket saját irányításunk alatt szeretnénk tartani.


4. Az első helyi telepítéshez javasolt környezet

A helyi eScriptorium legegyszerűbb módja jelenleg a Docker.

A hivatalos eScriptorium dokumentációban a Docker ajánlott telepítési mód szerepel. [3]

Például a következő konfiguráció alkalmas tesztszámítógéphez:

Operációs rendszer

  • Linux;
  • macOS;
  • Windows WSL 2-vel.

Technikai kísérletekhez általában a Linux a legkényelmesebb, mint például az Ubuntu jelenlegi LTS-kiadása.

Alapszoftver

Szükségünk van:

  • Git;
  • Docker motor vagy Docker asztali számítógép;
  • Docker Compose v2;
  • webböngésző.

A A Docker itt egy fontos problémát old meg: A eScriptorium nem egyetlen program, hanem több szolgáltatás halmaza. Többek között webalkalmazást, PostgreSQL adatbázist, Redis és Celery dolgozókat használ. A Docker az egyes alkatrészeket külön tartályokban futtatja. [2]

Egy kezdő számára ez lényegesen egyszerűbb, mintha az összes függőséget külön-külön telepítené.


5. Docker ellenőrzés

A Docker telepítése után először ellenőrizzük, hogy működik-e.

A terminálban:

docker --version
docker compose version

A második parancs fontos. A jelenlegi eScriptorium dokumentáció a következő parancsot használja:

docker compose

azaz Docker Compose v2.

Régebbi önálló program:

docker-compose

A már elavult. [3]

Ellenőrizhetjük a Docker működőképességét például:

docker run hello-world

Ha a teszttároló sikeresen elindul, az alapkörnyezet készen áll.


6. Töltse le a eScriptorium

A forrásfájlokat a Git segítségével fogjuk letölteni:

git clone https://gitlab.com/scripta/escriptorium.git
cd escriptorium

Ezután létrehozunk egy konfigurációs fájlt:

cp variables.env_example variables.env

A variables.env fájl helyi példánybeállításokat tartalmaz.

Az első futtatás előtt tanácsos módosítani legalább:

  • SECRET_KEY;
  • adminisztrátor neve;
  • rendszergazdai jelszó;
  • adminisztrátori e-mail;
  • esetleg domain és hálózati beállítások.

Még a tesztkörnyezetben sem tanácsos megtartani az alapértelmezett jelszót, ha a rendszer a hálózat másik részéről elérhető. [3]


7. A eScriptorium indítása

Az aktuális tárolóképek a következő paranccsal tölthetők le:

docker compose pull

Ezután elindítjuk a környezetet:

docker compose up -d

A -d paraméter azt jelenti, hogy a tárolók a háttérben futnak.

Ellenőrizzük az állapotot:

docker compose ps

Alapértelmezés szerint a helyi interfész elérhető a böngészőben a következő címen:

http://localhost:8080/

A variables.env kódban beállított rendszergazdai fiókkal jelentkezünk be. [3]


8. A eScriptorium leállítása

Leállíthatjuk a tesztkörnyezetet:

docker compose down

Az adatok megőrzésre kerülnek.

Legyen nagyon óvatos a paranccsal:

docker compose down -v

A -v opció a Docker köteteket is törli, így törölheti az adatbázist és a tárolt példányadatokat. [3]

Ezért a kezdők számára biztonságosabb a közös használat:

docker compose down

C változat: Kraken – működjön közvetlenül a HTR motorral

9. Mi az a Kraken

A Kraken egy nyílt forráskódú rendszer az automatikus szövegfelismeréshez, amely elsősorban történelmi dokumentumokra és különféle típusú szkriptekre összpontosít.

Támogatja többek között:

  • oldalszegmentálás;
  • vonalérzékelés;
  • szövegfelismerés;
  • saját modellek betanítása;
  • PAGE XML;
  • ALTO;
  • hOCR;
  • A előképzett modellekkel működik. [4]

Különösen alkalmas azoknak a felhasználóknak, akik a HTR folyamat egyes lépéseit ellenőrizni szeretnék, vagy saját szkripteikbe szeretnék beépíteni.


10. Izolált Python-környezet létrehozása

Kraken nem telepíthető válogatás nélkül a Python rendszerbe.

Kísérleti munkához érdemes külön virtuális környezetet létrehozni.

Például:

python3 -m venv htr-env

Aktiválás Linux és macOS rendszeren:

source htr-env/bin/activate

Ezután frissítjük a telepítőket:

python -m pip install --upgrade pip

és telepítse a Kraken elemet:

pip install kraken

A Kraken jelenlegi dokumentációja a pip-n keresztüli telepítést sorolja fel szabványos támogatott elérési útként. [4]


11. Kraken telepítés ellenőrzése

Telepítés után:

kraken --help

Ha a súgó megjelenik, az alap telepítés működik.

A Kraken a meglévő modellek tárházához is hozzáfér. Az elérhető modellek megtekinthetők pl.

kraken list

Egy adott modellre vonatkozó információk a következő módon szerezhetők be:

kraken show IDENTIFIKATOR_MODELU

A Kraken így lehetővé teszi, hogy ne csak a saját, hanem a meglévő, szabadon elérhető modellekkel is kísérletezzen. [4]


12. Első felismerési teszt

A saját modell betanítása előtt célszerű a teljes feldolgozási folyamatot egy képen ellenőrizni.

A feldolgozás elve a következő:

kép → szegmentálás → felismerés → szöveg/XML

Megfelelő modell esetén használhatja például:

kraken -i strana.tif vystup.txt segment -bl ocr -m model.mlmodel

A Kraken először meghatározza a vonalszerkezetet, majd a megadott modell segítségével felismerést hajt végre. [4]

Ennek az első kísérletnek nem az a célja, hogy tökéletes átiratot kapjunk.

Csak a következőket kell ellenőriznünk:

  • A Kraken indítható;
  • bemeneti kép betölthető;
  • modell betölthető;
  • szegmentáció történik;
  • kimeneti szöveg jön létre.

Csak akkor van értelme saját tanítássel foglalkozni.


13. CPU vagy GPU?

HTR környezet létrehozásakor az egyik leggyakoribb kérdés az, hogy szükséges-e grafikus kártya.

Egyedül a következő feladatokhoz:

  • dokumentum megtekintése;
  • a Ground Truth előkészítése;
  • az átírások korrekciója;
  • kis felismerési tesztek;

Az erős GPU nem előfeltétel.

Azonban neurális modellek képzése esetén a kompatibilis GPU jelentősen felgyorsíthatja a folyamatot.

A eScriptorium lehetővé teszi a kiképző dolgozó számára, hogy NVIDIA GPU-kat használjon az NVIDIA Container Toolkit segítségével. A jelenlegi dokumentáció a következő típusú eszközbeállítást használja:

KRAKEN_TRAINING_DEVICE=cuda:0

és GPU-konfiguráció a Docker Compose-ben. [3]

Az első kísérletnél azonban nem célszerű a CUDA és a meghajtók telepítésével kezdeni, ha nem biztos, hogy szükségünk lesz rájuk.

Egy ésszerűbb lépés a következő:

először futtassa a rendszert CPU-n → hozzon létre egy kis kísérletet → csak azután konfiguráljon GPU-t.

Ez nagymértékben csökkenti a telepítési problémák lehetséges forrásainak számát.


14. A projektkönyvtárak javasolt felépítése

A választott eszköztől függetlenül hasznos, ha az adatokat a kezdetektől rendszerezi.

Például:

htr-projekt/
│
├── images-vagyiginal/
│   └── eredeti digitalizált képek
│
├── images-wvagyking/
│   └── a képek munkapéldányai
│
├── ground-truth/
│   └── ellenőrzött átiratok
│
├── pagexml/
│   └── PAGE XML
│
├── models/
│   ├── model-001/
│   ├── model-002/
│   └── model-003/
│
├── test/
│   └── független tesztadatok
│
├── results/
│   └── a kísérletek eredményei
│
└── documentation/
    ├── transcription-rules.md
    └── experiment-log.md

Az ilyen felosztás nem műszaki feltétele a HTR rendszernek. Ez egy olyan szervezeti intézkedés, amely nagyon hamar megtérül.

Különösen fontos szétválasztani:

eredeti képek,
Ground Truth,
képzési adatok,
független vizsgálati adatok,
egyedi modelleredmények.

Egyébként később könnyen megtörténhet, hogy nem tudjuk, hogy egy adott oldal a képzés része volt-e vagy sem.


15. Ne módosítsa az eredeti képeket

Az eredeti digitalizált fájlokat célszerű külön könyvtárban tartani és nem felülírni.

Ha módosítanunk kell:

  • felbontás;
  • kontraszt;
  • szín;
  • képkivágás;
  • binarizálás;
  • képtájolás;

munkapéldányt készítünk.

Az eredeti fájlt meg kell őrizni.

Ez nem csak a HTR kísérlet szempontjából fontos, hanem a feldolgozás általános archiválható reprodukálhatósága szempontjából is.


16. PAGE XML megfelelő csereformátumként

Hosszabb távú munkához nem célszerű a projektet csak egy program belső formátumához zárni.

A történelmi dokumentumokhoz használt egyik kiemelkedő formátum a PAGE XML.

Tartalmazhat például:

  • oldalméretek;
  • szövegrégiók;
  • a szövegsorok koordinátái;
  • alapvonalak;
  • olvasási sorrend;
  • átírás;
  • további szerkezeti információk.

A Kraken támogatja a PAGE XML formátumot, és az OCR-D ökoszisztéma a PAGE XML fő Ground Truth formátumot is használja. [4] [5]

Archiválási projekteknél ezért tanácsos ellenőrizni, hogy a Ground Truth és az eredmények szabványos formátumba exportálhatók-e, függetlenül az adott alkalmazástól.


17. Vezessen nyilvántartást a kísérletekről

Nagyon könnyen előáll egy helyzet:

"A 7-es modell jobb volt, mint a 6-os, de már nem tudjuk, miért."

Ezért tanácsos egy egyszerű protokollt tartani az első kísérlettől kezdve.

Például:

Model: statek-001
Dátum: 2026-09-09

Training:
45 oldal
8 742 szó

Validation:
5 oldal
963 szó

Base model:
név / azonosító

Beállítások:
...

CER validation:
7,4 %

Megjegyzés:
Problémák a C írnokkal.
Gyakran összetéveszti az r/n és e/c betűket.

Következő verzió:

Model: statek-002

Változás:
+15 GT-oldal a C írnoktól

CER validation:
5,8 %

Egy ilyen egyszerű szöveges fájl értékesebb lehet később, mint maguk az automatikus mentési naplók.


18. Verziószámítás

A Git alkalmas konfigurációs fájlok, átírási szabályok, szkriptek és dokumentációk tárolására.

Például:

git init

Azonban nem kell több ezer nagy TIFF-képet vagy több gigabájtos modellt tárolnunk a Gitben.

A Git különösen alkalmas:

  • átírási szabályok;
  • szkriptek;
  • konfigurációs fájlok;
  • kis XML-fájlok;
  • kísérletek dokumentációja.

A nagy képadatokat jobb más módon archiválni.


19. Biztonsági mentés

A A Ground Truth általában drágább, mint maga a HTR modell.

Újra betaníthatjuk a modellt.

Egy kézzel készített és ellenőrzött, több száz vagy több ezer sorból álló átírás több tíz-száz óra emberi munkát jelenthet.

Ezért a Ground Truth fájlról rendszeresen biztonsági másolatot kell készíteni legalább két független másolatban.

A gyakorlati adatérték-hierarchia általában a következő:

eredeti digitalizált kép → Ground Truth → metaadatok és dokumentáció → modell → automatikusan generált kimenet

Egy modell elvesztése bosszantó.

A Ground Truth minőség elvesztése azt jelentheti, hogy a teljes projekt jelentős részét újra kell készíteni.


20. Ajánlott tesztelési környezet kezdőknek

Az első kísérlethez két fázis ajánlható.

1. fázis – nincs telepítés

A következőket fogjuk használni:

Transkribus + egy dokumentum 10-20 oldala

A cél az, hogy megértsük:

  • szegmentálás;
  • alapvonalak;
  • átírás;
  • Ground Truth;
  • meglévő modellek;
  • CER;
  • képzési elv.

Csak akkor váltunk helyi környezetre, ha megtudjuk, hogy szisztematikusan szeretnénk használni a HTR-t.

2. fázis – Helyi labor

Egy közönséges számítógépen elkészítjük:

Windows + WSL 2
vagy
Linux

+
Git
+
Docker
+
eScriptvagyium
+
Kraken
+
source code editvagy
+
Git repositvagyy fvagy configuration and documentation

Ez olyan környezetet biztosít számunkra, amelyben kísérletezhetünk mind a eScriptorium GUI-n keresztül, mind pedig közvetlenül a Kraken segítségével.


21. Ajánlott első műszaki kísérlet

Egy 300 oldalas archív kötetet a telepítés után nem célszerű azonnal feltölteni.

Például öt-tíz oldal elegendő.

Eljárás:

1. Másolja a képeket a munkakönyvtárba.

2. Importálja őket a eScriptorium vagy Transkribus fájlba.

3. Végezze el a szegmentálást.

4. Ellenőrizze az alapvonalakat.

5. Próbáljon ki egy meglévő HTR modellt.

6. Több oldal manuális javítása.

7. Exportálás Ground Truth.

8. Ellenőrizze, hogy újra tudjuk tölteni a Ground Truth-t.

9. Ha Kraken-t használunk, futtassa az egyképfelismerést a parancssorból.

10. Jegyezze fel a használt szoftvert, a modellt és az elért eredményt.

Csak akkor terjesztjük ki a kísérletet több tíz oldalra, ha ez a kis hurok az elejétől a végéig működik.


22. Mit választanék saját archív projektemhez

Ha a cél elsősorban a előzménydokumentumok feldolgozása, nem a szerverkezelés tanulmányozása, akkor a Transkribus-vel kezdeném.

Ha kiderül, hogy szükségünk van:

  • teljes körű ellenőrzés az adatok felett;
  • helyi feldolgozás;
  • egyedi automatizálás;
  • nyitott modellekkel kísérletezik;
  • csatlakozás egyedi szoftverhez;

Ezután létrehoznék egy második tesztkörnyezetet a következők alapján:

Docker + eScriptorium + Kraken.

A Kraken külön telepítését használnám elsősorban kísérletekhez, automatizált szkriptekhez és modellekkel való részletesebb munkához.

Ez három szintet hoz létre:

Transkribus
│
│  a legegyszerűbb használat
│
eScriptvagyium
│
│  saját környezet + grafikus felület
│
Kraken
│
│  command line and direct wvagyk with HTR
│
own scripts and data wvagykflows

Oktatási és archiválási kísérleteknél egy ilyen elrendezés praktikusabb, mint egy komplett egyedi HTR infrastruktúra létrehozása az első naptól kezdve.


Felhasznált megjegyzések és források

[1]READ-COOP. How to use Transkribus eXpert (deprecated). Transkribus dokumentáció. A Transkribus eXpert asztali kliens már nem frissül, és az új funkciók a webalkalmazásba kerülnek.
https://help.transkribus.org/downloading-and-installing-transkribus-expert-deprecated

[2]Scripta. eScriptorium. Forrástár és projektarchitektúra leírása. A eScriptorium eszközöket integrál történelmi dokumentumok átírásához, megjegyzésekhez, betanításához és felismeréséhez, és a Kraken-t használja.
https://gitlab.com/scripta/escriptorium

[3]Scripta. eScriptorium – Install with Docker segítségével. Aktuális telepítési dokumentáció. A Docker, Docker Compose v2-t ajánlja, és leírja a GPU-konfigurációt az NVIDIA Container Toolkit használatával.
https://gitlab.com/scripta/escriptorium/-/wikis/docker-install

[4]KIESSLING, Benjamin. Kraken 5.3 Documentation. A telepítés, szegmentálás, felismerés, modellek és támogatott kimeneti formátumok dokumentációja.
https://kraken.re/5.3.0/

[5]OCR-D. The Ground Truth Guidelines. Ground Truth és PAGE XML dokumentáció.
https://ocr-d.de/en/gt-guidelines/trans/

[6]OCR-D. OCR-D Quick Start Guide. Példa egy konténerkörnyezet elkészítésére a Docker használatával és a történelmi dokumentumokkal való munkavégzéssel.
https://ocr-d.de/en/start