Voici la première vidéo d’une petite série sur la prise en main de Kraken, utilisé pour des projets d’OCR/HTRisation (récupération de l’information textuelle et de la mise en page) de documents numérisés.
Kraken est un outil clé en main pour « OCRiser » (ou « HTRiser ») des documents; il peut s’utiliser via un terminal ou via Python. Il est conçu avant tout pour l’analyse de documents historiques manuscrits. Si on peut utiliser des modèles mis à disposition pour la communauté, on peut également faire du fine-tuning de modèles pour ses besoins propres.
OCR, HTR : Kraken ou Tesseract ?
Tesseract et Kraken sont deux outils utilisés pour la reconnaissance de texte, mais ils ont des caractéristiques et des objectifs différents.

Quand Tesseract est utilisé pour extraire du texte à partir d’images et peut gérer des documents simples comme des PDF ou des images scannées, Kraken, en revanche, est peut-être plus adapté pour traiter des documents avec des écritures manuscrites, des polices anciennes ou des documents en plusieurs colonnes — ce qui le rend utile pour les chercheurs en histoire ou en archivistique.
Installation (juste sur Mac et Linux)
Il faut d’abord créer un environnement virtuel dédié, puis y installer Kraken.
Rien de plus simple (attention, c’est assez long, donc se mettre sur un bonne connexion):
mkdir mon_env_virtuel && cd mon_env_virtuel
python3 -m venv . && source ./bin/activate
pip install kraken
Vérifiez si pip est bien installé ou essayez pip3 install kraken. Sinon essayez avec conda. Je vous renvoie vers la documentation : https://kraken.re/main/index.html
Trouver les modèles en ligne
Pour prendre en main Kraken, il nous faut des modèles pour pouvoir effectuer des premiers tests. Zenodo est un dépôt communautaire de modèles : vous pourrez trouvez de quoi faire voire déployer vos propres modèles.
Chaque modèle est identifié avec un identifiant unique, le DOI, par exemple « 10.5281/zenodo.10592716 ».
Un exemple de modèle : https://zenodo.org/records/7089018
Voici comment lister les modèles disponibles sur le dépôt central (fonctionne avec une connexion internet):
kraken list
Affiner sa recherche avec un grep
:
kraken list | grep -E -i "Fraktur"
kraken list | grep -E -i "LECTAUREP Contemporary French Model"
kraken list | grep -E -i "manuscript" > results.txt
Récupérer les métadonnées décrivant les modèles en indiquant le DOI (identifiant d’objet numérique), avec `show` :
kraken show 10.5281/zenodo.10592716
# Modèle : "catmus-print-fondue-large.mlmodel"
Installer des modèles
On utilise la commande `kraken get`. Je recommande de le faire avec la ligne de code suggérée par la documentation officielle, car ce modèle s’installe sans encombres (normalement) :
$ kraken get 10.5281/zenodo.10592716
Installation manuelle et modèles installés
Les modèles sont installés dans le dossier `~/.config/kraken`. Il se peut que certains modèles ne s’installent pas correctement avec ‘kraken get DOI_du_modèle’. Une bonne solution consiste à télécharger le modèle (en .mlmodel) directement sur Zenodo et à le placer dans le dossier d’installation.
Pour aller dans le dossier :
#Accéder au dossier :
cd ~/.config/kraken
# Ou faire une recherche avec find si jamais vous ne le trouvez pas :
find -name "catmus-print-fondue-large.mlmodel"
Premier test
Dans un dossier, j’ai une image nommé img.jpeg; je veux récupérer l’information textuelle brute dans un fichier « image.txt »; pour ce faire j’utilise :
kraken -i img.jpeg image.txt segment -bl ocr -m catmus-print-fondue-large.mlmodel
Prochaine partie : anatomie d’une commande kraken et du paysage des processus (segmentation, reconnaissance et sérialisation) !
Laisser un commentaire