[Reimpreso] Introducción a OCR

Reimpresión de aprendizaje: https://www.jianshu.com/p/921c1da740b5

OCR ( reconocimiento óptico de caracteres , reconocimiento óptico de caracteres ) se refiere a dispositivos electrónicos (como escáneres o cámaras digitales) que verifican los caracteres impresos en papel, determinan su forma detectando patrones oscuros y claros y luego utilizan métodos de reconocimiento de caracteres para traducir las formas en computadoras. El proceso de escritura.

En general, el OCR se divide generalmente en dos pasos principales: procesamiento de imágenes y reconocimiento de texto .

Uno, procesamiento de imágenes

Antes de reconocer el texto, necesitamos preprocesar la imagen original para la extracción y el aprendizaje de características posteriores. Este proceso generalmente incluye:

Escala de grises, binarización, reducción de ruido, corrección de inclinación, segmentación de texto y otros subpasos.

Cada paso implica diferentes algoritmos.

Tomamos la imagen original a continuación como ejemplo para explicar cada paso.

Imagen original

 

1. Escala de grises

Procesamiento de grises . En el modelo RGB, si R = G = B, el color representa un color en escala de grises. El valor de R = G = B se denomina valor de grises. Por lo tanto, cada imagen en escala de grises El píxel solo necesita un byte para almacenar el valor de gris (también llamado valor de intensidad, valor de brillo) y el rango de gris es 0-255.

En pocas palabras, es convertir una imagen en color en una imagen en blanco y negro.

Escala de grises

El gris generalmente tiene cuatro métodos: método de componentes, método de valor máximo, método de promedio y método de promedio ponderado para imágenes en color en escala de grises.

 

2. Binarización

Una imagen incluye objetos de destino, fondo y ruido. Para extraer directamente los objetos de destino de una imagen digital de valores múltiples, el método más común es establecer un umbral T y usar T para dividir los datos de la imagen en dos partes: mayor que T grupo de píxeles y el grupo de píxeles es menor que T .

Este es el método más especial para estudiar la transformación de escala de grises, que se denomina binarización de imágenes.

Las imágenes binarias en blanco y negro no contienen gris, solo blanco puro y negro puro .

Binarización

Lo más importante en la binarización es la selección del umbral, que generalmente se divide en umbral fijo y umbral adaptativo . Los métodos de binarización más utilizados son: método bimodal, método de parámetro P, método iterativo y método OTSU .

 

3. Reducción del ruido de la imagen

Las imágenes digitales en la realidad a menudo se ven afectadas por la interferencia de los equipos de imágenes y el ruido ambiental externo durante el proceso de digitalización y transmisión, y se denominan imágenes ruidosas o imágenes ruidosas.

El proceso de reducción de ruido en una imagen digital se denomina eliminación de ruido de imagen ( Image Denoising ).

Hay muchas fuentes de ruido en las imágenes y estos ruidos provienen de varios aspectos, como la adquisición, transmisión y compresión de imágenes. Los tipos de ruido también son diferentes, como el ruido de sal y pimienta, el ruido de Gauss, etc. Existen diferentes algoritmos de procesamiento para diferentes ruidos.

En la imagen obtenida en el paso anterior se pueden apreciar muchos pequeños puntos negros esporádicos, este es el ruido en la imagen, que interferirá mucho con el corte y reconocimiento de la imagen por nuestro programa, por lo que necesitamos un procesamiento de reducción de ruido. La reducción de ruido es muy importante en esta etapa y la calidad del algoritmo de reducción de ruido tiene una gran influencia en la extracción de características.

Reducción de ruido de imagen

El método de reducción de ruido de imagen generalmente significa filtro, filtro Wiener adaptativo, filtro mediano, filtro de ruido morfológico, eliminación de ruido de ondas .

 

4. Corrección de inclinación

Para el usuario es imposible estar absolutamente horizontal a la hora de tomar fotografías, por lo que es necesario rotar la imagen a través del programa para encontrar una posición que se considere más horizontal, para que la imagen cortada sea la mejor. efecto.

El método de corrección de inclinación más utilizado es Hough Transform , cuyo principio es expandir la imagen y conectar el texto intermitente en una línea recta para facilitar la detección de línea recta. Después de calcular el ángulo de la línea recta, puede utilizar el algoritmo de rotación para corregir la imagen oblicua a una posición horizontal.

 

5, corte de personaje

Para un texto de varias líneas, la segmentación del texto incluye dos pasos: segmentación de línea y segmentación de caracteres . La corrección de sesgo es la premisa de la segmentación de texto .

Proyectamos el texto con corrección de sesgo en el eje Y y sumamos todos los valores para que podamos obtener un histograma en el eje y.

Histograma de proyección de la imagen en el eje Y

 

La parte inferior del histograma es el fondo y el pico es el área donde se encuentra el primer plano (texto). Entonces reconocemos la posición de cada línea de texto.

Segmentación de filas

 

La segmentación de caracteres es similar a la segmentación de líneas, pero esta vez necesitamos proyectar cada línea de texto en el eje X.

Sin embargo, debe tenerse en cuenta que los dos caracteres de la misma línea suelen estar muy juntos y, en ocasiones, se superponen en la dirección vertical. Al proyectar, se considera que son un solo carácter, lo que provocará errores al cortar (en su mayoría aparecen en caracteres ingleses). ); A veces hay un pequeño espacio en la proyección de la estructura izquierda y derecha del mismo carácter en el eje X. Al cortar, un carácter se divide por error en dos caracteres (principalmente en caracteres chinos).

Por lo tanto, en comparación con la segmentación de líneas, la segmentación de caracteres es más difícil.

En este caso, podemos preestablecer un valor esperado del ancho del carácter, si la proyección del carácter recortado excede el valor esperado, se considera que son dos caracteres;

Si es mucho menor que el valor esperado, ignore este espacio y combine los "caracteres" en los lados izquierdo y derecho del espacio en un carácter para reconocerlos.

Segmentación de personajes

 

 

Dos, reconocimiento de texto

Una vez que se completa el preprocesamiento, llega a la etapa de reconocimiento de texto. Esta etapa involucrará algunos conocimientos de inteligencia artificial, que es relativamente abstracto y no se puede expresar con imágenes.

 

1. Extracción de características y reducción de dimensionalidad

Las características son la información clave que se utiliza para identificar el texto. Cada texto diferente se puede distinguir de otros textos por características. Para números y letras en inglés, esta extracción de características es relativamente fácil, un total de 10 + 26 x 2 = 52 caracteres, y todos son conjuntos de caracteres pequeños. Para los caracteres chinos, la extracción de características es más difícil, porque en primer lugar, los caracteres chinos son un conjunto de caracteres grande; en segundo lugar, hay 3755 caracteres chinos de primer nivel que se usan con más frecuencia en el estándar nacional; finalmente, la estructura de los caracteres chinos es compleja, con muchos caracteres y características similares. La dimensión es relativamente grande.

Después de determinar qué características utilizar, es posible realizar una reducción de la dimensionalidad de la característica. En este caso, si la dimensionalidad de la característica es demasiado alta, la eficiencia del clasificador se verá muy afectada. Para aumentar la tasa de reconocimiento, a menudo es necesario El proceso de reducción de dimensionalidad también es muy importante, no solo es necesario reducir la dimensión de la característica, sino también hacer que el vector de característica después de la reducción de dimensión retenga suficiente información (para distinguir entre diferentes textos).

 

2. Diseño y formación de clasificadores

Para una imagen de texto, extraiga características, tírelas al clasificador, el clasificador la clasifica y le dice con qué texto se debe reconocer la característica.

El diseño del clasificador es nuestra tarea. Los métodos de diseño de clasificadores generalmente incluyen: método de coincidencia de plantillas, método de función discriminante, método de clasificación de redes neuronales, método de razonamiento basado en reglas, etc. , que no se describen aquí. Antes del reconocimiento real, a menudo se capacita al clasificador, que es un proceso de aprendizaje supervisado. También hay muchos clasificadores maduros, como SVM, CNN, etc.

 

3. Postprocesamiento

De hecho, se trata de optimizar los resultados de clasificación del clasificador, que generalmente involucra la categoría de comprensión del lenguaje natural.

El primero es el procesamiento de caracteres similares: por ejemplo, "分" y "xi" tienen una forma similar, pero si encuentra la palabra "puntuación", no debe reconocerse como "número xi", porque "puntuación" es un valor normal. Palabras. Esto debe ser corregido por el modelo de lenguaje .

El segundo es el tratamiento del diseño del texto: por ejemplo, algunos libros se dividen en dos columnas, las columnas izquierda y derecha de la misma línea no pertenecen a la misma oración y no hay conexión gramatical. Si se corta según la línea, se unirán el final de la línea izquierda y el comienzo de la derecha, que es lo que no queremos ver, esta situación requiere un tratamiento especial.

 

Tres escenarios de aplicación

 

1. Nativo digital

El mapa de productos de Taobao es el mapa de texto nativo digital más representativo. 
caracteristicas:

  • Lo más complejo y diverso: varias fuentes, fondos, permutaciones, combinaciones, etc. (MTWI Challenge, la mayor competencia de OCR). 
  • Más valioso: soporte de información sobre productos básicos 
  • La mayor cantidad de imágenes: cientos de miles de millones de imágenes, actualizadas diariamente.

 

2. Documento

Los requisitos de OCR de documentos son muy amplios e involucran varios escenarios comerciales oficiales. 
caracteristicas:

  • Tasa de reconocimiento del 100%: precisión del 98% de la participación humana, explorando los límites del conocimiento de la IA;
  • Facilidad de uso del producto: funciones perfectas, cercanas a las necesidades comerciales;
  • Aplicación comercial: el negocio de los documentos está maduro. 

 

3. Formulario de fotografía:

El OCR del formulario de fotografía es muy valioso y muy desafiante. 
caracteristicas:

  • Escenarios y datos: los datos tienen privacidad y los escenarios de aplicaciones típicos acumulan capacidades técnicas;
  • Versatilidad del producto: conocimiento experto + plantilla = comprensión de texto, un conjunto de soluciones para cientos de tipos.
  • Valor comercial: integración profunda con escenarios de la industria, capacidades de inteligencia artificial para mejorar los procesos de datos de la industria. (Proporcionar reconocimiento de formularios fotográficos personalizados y servicios estructurados en la nube) 


4. Categoría de escena natural:

La dirección clave de la investigación académica de OCR. 
caracteristicas:

  • Datos: No hay una definición de tipo de datos específica, como datos de disparos en la calle;
  • Dificultades técnicas: Incertidumbre, la dificultad esencial de la interferencia del entorno complejo es el posicionamiento y la identificación;
  • Valor comercial: el mercado tiene un enorme potencial, como el reconocimiento de matrículas, la supervisión de cámaras y la conducción autónoma. (Capacidades técnicas líderes, la industria está en progreso)

 

[Estudio reimpreso, sin otro uso]

Supongo que te gusta

Origin blog.csdn.net/zhongguomao/article/details/108303104
Recomendado
Clasificación