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 (photo caméra) | 0.000 | 0.000 |
| 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 : [email protected]
Pas encore mesuré
Deux chiffres qu'un acheteur demandera sont volontairement absents de cette page, car aucune évaluation ne les étaye :
- Précision d'extraction au niveau des champs (précision, rappel, F1 ou correspondance exacte par champ, comme le numéro de facture, le total ou le numéro fiscal). Les chiffres OCR ci-dessus mesurent si les mots sont lus, pas si la bonne valeur arrive dans le bon champ. Un jeu d'évaluation annoté est en cours de constitution ; tant qu'il n'existe pas, aucun pourcentage n'est publié.
- Latence de bout en bout (p50 et p95 du téléversement au résultat). Les temps par étape sont enregistrés comme métriques, mais aucune référence n'a été publiée.
Là où DocSolved fait moins bien, c'est connu : photos de pages brillantes ou courbées (rappel de mots 0,865 contre 1,000 sur une page imprimée propre), les chiffres sur cette même photo (rappel numérique 0,000, inchangé par rapport au moteur précédent, alors qu'un seuil de détection que nous ne livrons pas y atteint 1,000), diacritiques polonais sur photo (0,775) et redressement de photo appliqué à une page déjà plate (0,635, raison pour laquelle il ne s'applique qu'aux photos). Ces cas peuvent être vérifiés plutôt que crus sur parole : sur un document numérisé, un champ extrait porte l'ancrage que l'appariement a pu établir — le texte source apparié, un statut d'appariement et une position sur la page lorsque la valeur est ancrée — et peut porter un score de confiance. Les champs issus de factures électroniques structurées ne passent pas du tout par l'OCR ; ils proviennent des données sources et n'ont pas besoin de ces signaux.
Chiffres lisibles par machine : docs/benchmarks/results.json dans le dépôt, dérivés des artefacts versionnés, et la méthodologie dans docs/benchmarks/METHODOLOGY.md.