¿Cómo funciona una aplicación como ‘TextGrabber’?

Esto se llama OCR, por “reconocimiento óptico de caracteres”.

Funciona en varios pasos:

  • Primero, utiliza algoritmos que intentan limpiar la imagen (eliminar elementos gráficos y fondos, enderezar la posición si la imagen está inclinada, tratar de reducir el ruido y hacer que los personajes se destaquen más)
  • Luego trata de encontrar los personajes en la imagen, o más específicamente sus cuadros delimitadores. En la imagen a continuación, estos son los contornos azules alrededor de cada personaje:
  • Luego ejecutará cada subimagen a través de otro algoritmo que intenta hacer coincidir cada imagen de personaje con una enorme base de datos de imágenes etiquetadas que contienen todo tipo de fuentes, formas y tamaños. Esto se llama datos de entrenamiento, y en algún momento un humano le dijo a la computadora qué imagen es qué personaje. Como las coincidencias nunca son perfectas, se utiliza un algoritmo que puede hacer coincidencias difusas (una red neuronal artificial).
  • Luego, se utiliza otro algoritmo, esta vez para realizar la corrección ortográfica en la salida de texto del último paso. La razón es que algunos caracteres estarán mal etiquetados, lo cual es fácilmente reparable con la corrección ortográfica tradicional la mayor parte del tiempo.

Aquí es donde termina el OCR tradicional. Sin embargo, el programa al que se ha vinculado puede hacer más:

  • Puede usar, lo adivinó, otra colección de algoritmos para realizar la traducción automática de la salida de texto desde arriba.
  • O también puede sintetizar la voz del texto, utilizando otro algoritmo.

En general, estos programas representan una encuesta casi completa de Inteligencia Artificial en Ciencias de la Computación: utilizan una amplia gama de técnicas para lograr su objetivo.

Parece una aplicación de reconocimiento óptico de caracteres (OCR) en esteroides.
Bueno, no conozco los detalles de este, pero de manera simple, OCR funciona así:

  1. Prepare un conjunto de datos de entrenamiento, en este caso varios caracteres, letras y números, es decir, cientos de imágenes de “a”, “b” y “c”.
  2. Extraiga el patrón general de cada personaje y regístrelo en la base de datos, básicamente este paso entrena al sistema para reconocer varias formas de caracteres.
  3. Cuando tomas una foto de texto, las aplicaciones separarán cada personaje en imágenes más pequeñas de un solo personaje usando algún algoritmo.
  4. Para cada imagen encontrada, extraiga su patrón de la misma manera con el paso 2 y compárelo con los datos registrados.
  5. El sistema considerará esa imagen como personaje con la mayor similitud del paso cuatro.

Hay varios algoritmos que puede implementar en estos pasos, mi amigo de la universidad una vez usó el Código de cadena para extraer el personaje de la imagen y el Modelo oculto de Markov para el entrenamiento y las pruebas.

Además de esos pasos básicos, también hay un procesamiento previo antes de los pasos principales, como ajustar el contraste, diluir la imagen de los caracteres en negrita o cualquier cosa para mejorar la imagen, desde el punto de vista de la computadora.

Los pasos anteriores no son sofisticados pero, hasta cierto punto, hace el trabajo.

Después de encontrar el texto, la traducción y la narración se realizan a través de un sistema diferente.