Corrección de deformación de páginas (Page Dewarping)
- Aborda la tarea de enderezar imágenes de páginas curvadas como un problema de optimización
Contexto
- Los métodos existentes de corrección de deformación, como la biblioteca Leptonica o el método Coordinate Transform Model (CTM), usan un enfoque de descomposición jerárquica del problema
- Separar el texto por líneas
- Encontrar un
warping o una transformación de coordenadas para que las líneas queden paralelas y horizontales
- A partir de la idea del enfoque basado en el modelo de cilindro 3D de CTM, se creó un modelo paramétrico propio usando parámetros que determinan la forma de la página
- Vector de rotación/traslación 3D, pendiente de curvatura de la página, desplazamiento de la línea horizontal, etc.
- Se define como un problema de optimización
- Se buscan puntos clave a lo largo de las regiones de texto horizontales en la foto original
- Partiendo de una estimación inicial, se optimizan los parámetros del modelo para minimizar el error de reproyección de los puntos clave
Procedimiento
- Extracción de los bordes de la página
- Detección de contornos de texto
- Uso de binarización, operaciones morfológicas y análisis de componentes conectados
- Especializado para detectar también tablas de texto vertical
- Agrupación de contornos de texto en regiones horizontales
- Muestreo de puntos clave en regiones horizontales
- Estimación inicial de los parámetros del modelo
- Minimización del error de reproyección mediante optimización
- Uso del solver Powell de
scipy.optimize.minimize
- Consume la mayor parte del tiempo de ejecución
- Transformación de coordenadas con el modelo óptimo, seguida de remapeo de la imagen y binarización
Resultados
- Funciona bien en varios videos de ejemplo
- La optimización toma tiempo porque hay muchos parámetros del modelo
- No se consideró la distorsión en dirección horizontal
Cierre
- Un flujo de trabajo típico de construir conocimiento previo y formularlo como un problema de optimización
- Un enfoque similar a Deformable Part Model y Active Appearance Model
- También se obtuvieron aprendizajes prácticos sobre herramientas como Emacs y Pylint
- No hay planes de seguir desarrollándolo, pero es un proyecto que puede servir de referencia al enseñar visión por computadora
Opinión de GN⁺
- Para una usabilidad real, parece necesario corregir también la distorsión en dirección horizontal. Para eso, probablemente se necesite un modelo más sofisticado, como CTM.
- Mejorar la velocidad de optimización parece importante. Reducir la cantidad de parámetros o usar técnicas de optimización más rápidas podría ayudar.
- Sería interesante compararlo con métodos basados en deep learning. Tal vez el deep learning pueda resolver al mismo tiempo la extracción de características y el modelado.
- Para aplicarlo a tareas como la digitalización de documentos en entornos industriales, parece necesario asegurar mayor robustez frente a documentos con diseños variados.
- Es positivo que se haya publicado como open source, pero para uso real probablemente sería mejor distribuirlo como un programa independiente en lugar de un script de Python.
1 comentarios
Opiniones de Hacker News
Resumen:
de-curlingde páginas escaneadas que no se podían abrir por completo era un desafíode-wrinklingpara recibosde-warpingsin contacto con tomografía de rayos X es posible