Benchmarks de precisión
Resultados obtenidos de artefactos de evaluación confirmados. Las fechas indicadas son las fechas de medición.
Actualización del motor OCR: PP-OCRv5 → PP-OCRv6
| Métrica | PP-OCRv5 (anterior) | PP-OCRv6 medium + box_thresh 0.5 (actual) |
|---|---|---|
| Recuperación de palabras (foto de cámara) | 0.670 | 0.865 (+29 %) |
| Recuperación de diacríticos polacos (foto de cámara) | 0.562 | 0.775 (+38 %) |
| Precisión de palabras (foto de cámara) | 0.986 | 0.955 |
| Recuperación numérica (recibo) | 0.818 | 1.000 (+22 %) |
| Factura impresa densa (recuperación/precisión de palabras) | 1.000 / 1.000 | 1.000 / 1.000 |
| Latencia GPU en caliente (RTX 3090, página densa) | ~0.55 s | ~1.13 s |
La recuperación de palabras en páginas impresas renderizadas (PDF de facturas y recibos) es 1.000 en ambas versiones del motor — la mejora se concentra en fotos de cámara, donde la perspectiva, el brillo y la compresión exigen más al detector. La recuperación numérica (importes, fechas e identificadores) es el indicador más próximo de la precisión de extracción de campos, ya que los campos se emparejan a partir de esos tokens.
Motor fotográfico: preprocesamiento de documentos de cámara
| Métrica | Sin preprocesamiento (referencia) | Con enderezamiento (cargas de cámara) |
|---|---|---|
| Recuperación de palabras (foto de cámara) | 0.865 | 0.921 (+6.6 %) |
| Recuperación de diacríticos polacos (foto de cámara) | 0.775 | 0.854 (+10.2 %) |
| Precisión de palabras (foto de cámara) | 0.955 | 0.961 |
| Recuperación de palabras. Página densa impresa | 1.000 | 0.635 (regresión, solo para fotos por diseño) |
La mejora de la corrección geométrica es real, pero requiere que el servicio OCR devuelva la imagen de página transformada para que los cuadros delimitadores se dibujen en el espacio de coordenadas correcto (transformado). La restricción a fotos evita la regresión en páginas densas. La función está controlada por la variable de entorno OCR_PHOTO_TRANSFORMS_ENABLED.
Detección de separación de PDF con múltiples facturas
| Condición | Precisión de límites | Recuperación de límites | F1 | Documentos evaluados |
|---|---|---|---|---|
| Texto limpio (sin ruido OCR) | 1.000 | 1.000 | 1.000 | 660 |
| Ruido OCR a nivel de caracteres: 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.
Notas metodológicas
-
Todos los números proceden de artefactos de evaluación confirmados en el repositorio (
docs/ocr-calibration/*.json,docs/OCR_IMAGE_CALIBRATION.md). Los resultados de detección de separación están endocs/ocr-calibration/split_detection_results.json. No se estima ni extrapola ningún número. - La puntuación de OCR usa recuperación y precisión de multiconjuntos sin tener en cuenta el orden: la métrica cuenta si cada token de palabra de la referencia aparece en la salida de OCR (recuperación) y si cada token de la salida de OCR aparece en la referencia (precisión), sin penalizar las diferencias en el orden de lectura. Es un indicador mejor de la precisión de extracción de campos que las métricas de similitud de secuencias, que son sensibles a los cambios de segmentación de línea que no afectan al contenido de los tokens.
-
La referencia de las fotos de cámara es una transcripción humana del documento de prueba (
docs/IMG_2375.HEIC). La referencia de las páginas impresas procede de pdftotext, la misma herramienta utilizada en la vía rápida para PDF digitales. - La precisión y la recuperación de detección de separación miden coincidencias exactas por índice de página en PDF de varias facturas generados sintéticamente con límites conocidos. El conjunto de evaluación cubre distintos tipos de factura, formatos de fecha y nombres de proveedores.
-
Las nuevas ejecuciones de las pruebas tras cualquier cambio de motor se pueden activar con los scripts de
scripts/. Los resultados nuevos se guardan endev-artifacts/(ignorado por Git) y se confirman tras la revisión.
Preguntas sobre la metodología o los resultados: hello@synairo.com