todos los proyectos

Plataforma de contenidos

Evaluación de la calidad de capturas de pantalla

Una plataforma de contenidos revisaba a mano las capturas de pantalla para decidir si el texto que contenían era legible, y el volumen superó al equipo. Ahora un microservicio puntúa cada imagen con OCR y análisis de imagen y devuelve una valoración de buena, aceptable o mala a través de una API REST.

revisión manual→puntuación por api

buena / aceptable / mala

screenshot-quality · entregado en 2024 · revisión manual → puntuación por api

El reto

Una plataforma de contenidos recibe un flujo constante de capturas de pantalla con texto, y había que revisar cada una a mano: ¿se puede leer el texto de esta imagen o no? El volumen superó lo que una persona podía revisar.

El servicio tenía que puntuar la legibilidad de forma automática, devolver el resultado en una escala configurable y aguantar cargas por lotes sin bloquear a quien hace la petición.

El enfoque

El microservicio recibe una imagen a través de una API REST y devuelve una valoración de calidad (buena, aceptable o mala) en una escala configurable. El procesado es asíncrono: quien hace la petición envía una imagen, recibe al instante un identificador y recoge más tarde la valoración terminada, así que los lotes grandes nunca bloquean nada.

La puntuación combina dos señales: lo que el motor de OCR consigue leer y los parámetros de la propia imagen. Cada señal por separado juzga mal algunas imágenes; juntas siguen de cerca cómo valora una persona la legibilidad.

Arquitectura

  • Backend: Python, FastAPI, con Celery y RabbitMQ para el procesado asíncrono
  • OCR: EasyOCR para el reconocimiento de texto
  • Datos: SQLite con Alembic para guardar los resultados del análisis
  • Despliegue: Docker Compose (FastAPI, worker de Celery, RabbitMQ)

Resultados

La revisión de capturas que antes ocupaba el tiempo de una persona ahora se hace bajo demanda: envías una imagen y recibes una puntuación. La escala es configurable, así que la plataforma decide dónde termina lo bueno y empieza lo aceptable.