Benchmarks de précision
Résultats issus des artefacts d’évaluation validés. Les dates indiquées sont les dates de mesure.
Mise à niveau moteur OCR : PP-OCRv5 → PP-OCRv6
| Métrique | PP-OCRv5 (précédent) | PP-OCRv6 medium + box_thresh 0.5 (actuel) |
|---|---|---|
| Rappel de mots (photo caméra) | 0.670 | 0.865 (+29 %) |
| Rappel diacritiques polonais (photo caméra) | 0.562 | 0.775 (+38 %) |
| Précision de mots (photo caméra) | 0.986 | 0.955 |
| Rappel numérique (ticket de caisse) | 0.818 | 1.000 (+22 %) |
| Facture imprimée dense (rappel/précision de mots) | 1.000 / 1.000 | 1.000 / 1.000 |
| Latence GPU à chaud (RTX 3090, page dense) | ~0.55 s | ~1.13 s |
Le rappel des mots sur les pages imprimées rendues (PDF de factures et de reçus) est de 1,000 avec les deux versions du moteur : l'amélioration se concentre sur les photos prises par appareil, où la perspective, la brillance et la compression sollicitent le détecteur. Le rappel numérique (montants, dates, identifiants) est l'indicateur le plus proche de la précision d'extraction des champs, car les champs sont associés à partir de ces jetons.
Moteur photo : prétraitement de documents caméra
| Métrique | Sans prétraitement (référence) | Avec redressement (uploads caméra) |
|---|---|---|
| Rappel de mots (photo caméra) | 0.865 | 0.921 (+6.6 %) |
| Rappel diacritiques polonais (photo caméra) | 0.775 | 0.854 (+10.2 %) |
| Précision de mots (photo caméra) | 0.955 | 0.961 |
| Rappel de mots. Page dense imprimée | 1.000 | 0.635 (régression, limité aux photos par conception) |
Le gain apporté par le redressement est réel, mais nécessite que le service OCR renvoie l'image de page transformée afin que les boîtes englobantes soient tracées dans le bon espace de coordonnées (transformé). La limitation aux photos évite la régression sur les pages denses. La fonctionnalité est contrôlée par la variable d'environnement OCR_PHOTO_TRANSFORMS_ENABLED.
Détection de séparation de PDF multi-factures
| Condition | Précision des limites | Rappel des limites | F1 | Documents évalués |
|---|---|---|---|---|
| Texte propre (sans bruit OCR) | 1.000 | 1.000 | 1.000 | 660 |
| Bruit OCR au niveau des caractères : 2 % | - | - | 0.969 | 660 |
The eval set mixes multi-invoice PDFs with single-invoice negatives. Precision and recall are computed on exact page-index boundary matches. The 2 %% OCR noise model applies per-character confusion, dropping, and swapping (including colon loss, which breaks label regexes). At that noise level the detector achieves F1 0.969, which motivated the suggest-and-confirm UX: boundaries are offered to the user for review rather than applied silently.
Notes méthodologiques
-
Tous les chiffres proviennent des artefacts d'évaluation validés dans le dépôt (
docs/ocr-calibration/*.json,docs/OCR_IMAGE_CALIBRATION.md). Les résultats de la détection de séparation se trouvent dansdocs/ocr-calibration/split_detection_results.json. Aucun chiffre n'est estimé ni extrapolé. - L'évaluation OCR utilise le rappel et la précision d'ensembles multiples indépendants de l'ordre : la métrique vérifie si chaque jeton de mot de la vérité terrain apparaît dans la sortie OCR (rappel) et si chaque jeton de la sortie OCR apparaît dans la vérité terrain (précision), sans pénaliser les différences d'ordre de lecture. C'est un meilleur indicateur de la précision d'extraction des champs que les métriques de similarité de séquence, sensibles aux changements de segmentation des lignes qui n'affectent pas le contenu des jetons.
-
La vérité terrain de la photo prise par appareil est une transcription humaine du document de test (
docs/IMG_2375.HEIC). La vérité terrain de la page imprimée est dérivée de pdftotext, le même outil utilisé par le chemin rapide pour les PDF numériques. - La précision et le rappel de la détection de séparation mesurent les correspondances exactes d'index de page sur des PDF à plusieurs factures générés synthétiquement, dont les limites sont connues. L'ensemble d'évaluation couvre plusieurs types de facture, formats de date et noms de fournisseur.
-
Les nouvelles exécutions des benchmarks après toute modification du moteur peuvent être déclenchées avec les scripts de
scripts/. Les nouveaux résultats sont déposés dansdev-artifacts/(ignoré par git) et validés après examen.
Questions sur la méthodologie ou les résultats : hello@synairo.com