¿Qué idiomas puede reconocer el Cubo de Rubik?
Después de probar y verificar el código fuente de tesseract 3.01, la versión tesseract 3.01 no admite el reconocimiento OCR en varios idiomas y fuentes.
La versión 3.01 de Tesseract no admite nuevos datos de entrenamiento, ni agrega conjuntos de caracteres originales, ni admite el uso conjunto de múltiples bibliotecas de entrenamiento.
¿Cómo utilizar Tesseract para el reconocimiento de múltiples idiomas o múltiples fuentes?
Una forma es entrenar el conjunto de caracteres usted mismo y colocar los datos de entrenamiento para todas las fuentes e idiomas en un archivo de datos de entrenamiento. Este método requiere una gran cantidad de datos de muestra de capacitación, una gran carga de trabajo y descarta la biblioteca de capacitación original de Google, lo que no es rentable.
Otro método es actualizar tesseract a la versión 3.02. Actualmente, la versión 3.02 no se ha lanzado y es necesario descargar el código fuente, compilarlo y generarlo. tesseract3.02 admite el uso de múltiples bibliotecas de capacitación, por lo que puede admitir el reconocimiento de múltiples idiomas y fuentes, y el conjunto de datos inherente de tesseract3.02 debería agregar una gran cantidad de muestras, porque su tamaño es mucho mayor que los datos. archivo de la versión 3.01. Es significativamente más grande que el archivo de datos de la versión 3.01.
Los principios y algoritmos de reconocimiento multilingüe de Tesseract se presentan específicamente en el artículo "Adaptación del motor OCR de código abierto de Tesseract para OCR multilingüe". Registre su comprensión de este artículo aquí.
Tendencias actuales en reconocimiento de caracteres OCR:
Latín-gt; chino, japonés, coreano-gt; hindi
Estos caracteres en varios idiomas. tienen sus propias características.
Chino y japonés: Hay algunos caracteres chinos idénticos, pero hay miles de glifos y estructuras.
Coreano: Tiene una estructura de glifos propia y única y un gran número.
Árabe: Las letras se escriben en fila, con diferentes posiciones y formas.
Hindi: Los caracteres se unen para formar miles de formas, representando diferentes sílabas. Cubre los problemas que enfrentan los idiomas árabe y coreano.
La escritura a mano, el coreano y el hindi tienen estructuras radicales y de raíz. En comparación con el coreano, las raíces de los caracteres chinos se encuentran en diferentes caracteres chinos, la forma de los caracteres es variable y, a menudo, se escriben junto con otros radicales. El hindi es un poco más complicado.
El reconocimiento de caracteres latinos se tratará en otro artículo, aquí hay algunas ideas y cuestiones no mencionadas.
1. Después de analizar el área de conexión, busque el blob, que es un bloque de letras individuales.
2. Realizar inspección. Utiliza algoritmos de segmentación y detección de espacios iguales, incluida la identificación de diferencias de espacios en blanco entre palabras y letras.
3. Reconocimiento de un solo carácter, segmentación y asociación de caracteres con una tasa de reconocimiento inicial baja. Para múltiples posibilidades, aplique el cálculo de la distancia del léxico para seleccionar la mejor posibilidad.
4. Reconocimiento múltiple: los personajes con mejores resultados de reconocimiento se utilizan como muestras de entrenamiento y otros personajes con peores resultados de reconocimiento se reconocen nuevamente. (Clasificador adaptativo)
Problema:
Generalmente, una letra es una región conectada, pero hay excepciones. Una letra tiene múltiples regiones conectadas o agujeros anidados, como un círculo. con un carácter c o R.
-------------
Diseño del artículo:
1. Disposición horizontal, vertical y mixta
<. p>tesseract inicialmente admite el procesamiento de arreglos horizontales. Si desea manejar múltiples arreglos, tesseract necesita considerar una mayor detección de características.Detección de sangría de párrafo; detección de espaciado de caracteres (el valor medio del espaciado de caracteres en líneas verticales es menor que el tamaño promedio de la línea de texto (columna)
Además, para la página La mayoría de las líneas verticales se pueden girar 90 grados, lo que puede convertir la mayor parte del texto en líneas horizontales y reducir la tasa de detección de falsos positivos en áreas de líneas verticales.
Existen arreglos mixtos y son comunes en todo tipo de texto, por lo que tesseract puede manejar estos casos.
2. Detección de filas y columnas de texto
Algoritmo de detección de líneas:
El espacio directo entre caracteres en cada línea de texto es relativamente pequeño, generalmente más pequeño que el interlineado, y los caracteres son generalmente Los tamaños son aproximadamente los mismos, además hay caracteres individuales en posiciones especiales. Aprovechando esta característica, las cadenas adyacentes forman una línea. Después de formar varias filas, hay varias filas en paralelo y varias filas en paralelo forman un módulo.
La tipografía formada por diferentes líneas paralelas divide toda la página.
Después de completar la detección de línea, puede detectar caracteres individuales dentro de la línea. Para los caracteres latinos, el espacio es la unidad de reconocimiento más pequeña. En algunos idiomas, la característica del espacio no es obvia. Por ejemplo, en los caracteres chinos, no hay diferencia entre los espacios entre las palabras. área conectada. Como unidad de reconocimiento independiente, este método de reconocimiento carece de la capacidad de reconocimiento general, como diccionarios, etc. Una solución es identificar primero los signos de puntuación (signos de puntuación), pero todavía existen limitaciones para oraciones largas.
Si los idiomas se mezclan, las características de tamaño de los caracteres pueden ser diferentes, como los caracteres latinos y los caracteres chinos. Esto requiere aplicar diferentes umbrales para filtrar caracteres en diferentes idiomas.
3. Eslavo eslavo antiguo, similar al ruso, etc., a la derecha, estimación de la altura de los caracteres x letras minúsculas
El método de detección de caracteres latinos no es adecuado para este idioma.
La detección del idioma ruso requiere la aplicación de funciones adicionales. No se tendrán en cuenta aquellos que no estén familiarizados con el ruso.
4. Reconocimiento de palabras y frases
Incluyendo segmentación, búsqueda y clasificación de formas
El reconocimiento de lenguajes alfabéticos y jeroglíficos difiere en muchos aspectos. Los límites de las palabras jeroglíficas no son tan claros como los de la escritura alfabética.
Para las asociaciones entre jeroglíficos, tesseract utiliza un método de búsqueda primero para encontrar coincidencias en el diccionario, lo que requiere una búsqueda más profunda que una búsqueda de vocabulario alfabético.
Clasificación de formas
El ancho y la longitud de las líneas se pueden utilizar como características de forma de los caracteres. Para una palabra o carácter, primero puede clasificarlo de manera aproximada seleccionando varias categorías más cercanas y luego clasificarlo cuidadosamente seleccionando categorías posibles de las categorías candidatas.
6. Postprocesamiento sensible al contexto
Búsqueda en diccionario