Cómo detectar regiones de texto solo de documentos escaneados

Si tuviera que abordar esta tarea, probablemente escribiría alguna función que pueda distinguir entre regiones de imagen y regiones de texto y luego borrar las regiones de imagen. Y luego, alimentaría la imagen resultante en un OCR.

Probablemente intente explotar algunos conocimientos que tengo sobre los tipos de documentos que puedo escanear. Por ejemplo, si se sabe que los documentos escaneados tendrán una impresión bastante legible, o no tendrán demasiado desorden, o tendrán un formato específico, entonces esto se puede usar en esta función. Además, se utilizarían otras heurísticas simples para ver la densidad de píxeles dentro de la ventana. Si las imágenes tienen bordes, algunas técnicas de detección de bordes pueden ser útiles para eliminar imágenes. Pero, todas estas suposiciones se basarían en algún conocimiento previo sobre la tarea.

No usaría ningún truco de ML explícitamente para resolver este tipo de problema.

Sin embargo, debo agregar que no tengo experiencia en hacer ninguna tarea de este tipo específicamente. Entonces, puedo estar equivocado. Y, esto es solo una sugerencia sobre cómo lo haría.

Bueno, he hecho esto como parte de un producto comercial, así que tengo que tener cuidado con la IP que revelo, pero déjame darte algunos consejos.
1) Se quiere encontrar texto: el texto está diseñado para facilitar la lectura, lo que significa que el contraste es intencionalmente alto y los patrones son lo suficientemente regulares como para que un alumno de primer grado pueda detectarlos.
2) El texto viene en diferentes tamaños y fuentes: tenga cuidado con cualquier enfoque de tamaño fijo.
3) OCR generalmente asume que cualquier cosa que alimentes es texto y rechaza solo lo que no puede entender.
4) Comience rechazando las áreas que sabe que no son interesantes: los espacios planos son fáciles de detectar y no contienen nada de valor, por ejemplo.

More Interesting

¿Cuál es una buena definición de Generalización wrt Deep Learning?

¿Cuál es el orden jerárquico del universo?

Cómo usar el aprendizaje automático para unir un patrón a partir de valores CSV

¿Cuáles son los algoritmos estándar para la inferencia en redes bayesianas?

¿Por qué los NN recurrentes son tan susceptibles al problema del gradiente de fuga?

¿Fallarán todos los modelos de aprendizaje automático en este conjunto de datos?

¿Es posible usar bibliotecas de aprendizaje automático OpenCV para aplicaciones que no son de visión por computadora?

¿Las redes de confrontación generativas funcionan para la detección de valores atípicos?

¿El evento IBM Watson vs. Jeopardy perjudicó los campos de aprendizaje automático e inteligencia humana?

¿Dónde puedo obtener más información sobre los métodos y algoritmos informáticos que coinciden y resumen diferentes partes del texto?

¿Cuáles son todas las formas en que Quora usa el procesamiento del lenguaje natural (PNL)?

¿Cómo se puede utilizar el aprendizaje automático para construir un sistema de predicción del comportamiento del cliente?

¿Hay alguna manera fácil de configurar AWS para el aprendizaje profundo con Tensorflow y Keras?

Veo que la mayoría de las API de Machine Learning están en Python, algunas usan C o C ++ bajo el capó. ¿Por qué los desarrolladores de framework no exponen las API de C ++?

¿Cuál debería ser el primer paso para aprender IA y aprendizaje automático?