Skip to content
Snippets Groups Projects
user avatar
Teklia Bot authored
a12aa1a6
History

DAN: a Segmentation-free Document Attention Network for Handwritten Document Recognition

Documentation

For more details about this package, make sure to see the documentation available at https://teklia.gitlab.io/atr/dan/.

Installation

To use DAN in your own scripts, install it using pip:

pip install -e .

Inference

To apply DAN to an image, one needs to first add a few imports and to load an image. Note that the image should be in RGB.

import cv2
from dan.predict import DAN

image = cv2.cvtColor(cv2.imread(IMAGE_PATH), cv2.COLOR_BGR2RGB)

Then one can initialize and load the trained model with the parameters used during training.

model_path = 'model.pt'
params_path = 'parameters.yml'
charset_path = 'charset.pkl'

model = DAN('cpu')
model.load(model_path, params_path, charset_path, mode="eval")

To run the inference on a GPU, one can replace cpu by the name of the GPU. In the end, one can run the prediction:

text, confidence_scores = model.predict(image, confidences=True)

Training

This package provides three subcommands. To get more information about any subcommand, use the --help option.

Data extraction from Arkindex

See the dedicated section on the official DAN documentation.

Dataset formatting

See the dedicated section on the official DAN documentation.

Model training

See the dedicated section on the official DAN documentation.

Synthetic data generation

See the dedicated section on the official DAN documentation.

Model prediction

See the dedicated section on the official DAN documentation.