Aplicación del aprendizaje profundo en la corrección de documentos.

Aplicación del aprendizaje profundo en la corrección de documentos.

1. Escanee el documento

En nuestra vida diaria, utilizamos a menudo la función de escanear documentos. Incluyendo la función de escaneo incorporada de IOS Memo, Scanner Almighty , etc., el escaneo de documentos nos ha brindado mucha comodidad. El escaneo de documentos puede manejar una amplia gama de aplicaciones, incluidas tarjetas de identificación, tarjetas bancarias, formularios en papel, etc. El propósito de escanear documentos es identificar mejor la información del texto. Sin embargo, al escanear un documento, encontrará todo tipo de problemas extraños, incluidas sombras, arrugas del documento, deformación del documento, etc. Hoy discutiremos principalmente el tema de la deformación del documento.

2. Métodos tradicionales para solucionar la deformación de documentos.

2.1 Documento de deformación

En nuestra vida diaria, al escanear un documento, generalmente no es posible capturar todo el documento o capturar un rectángulo estándar, lo que puede causar varios problemas que resultan en cierta deformación de la imagen escaneada. Esto incluye principalmente flexión, plegado, plegado, perspectiva, rotación, etc. El procesamiento informático de documentos canónicos es muy sencillo, pero cuando simplemente rotamos el documento, aparecerán algunos problemas. Ante otras transformaciones más complejas, la tarea de escanear se vuelve más difícil.

La imagen de la izquierda a continuación es una situación que es más fácil de manejar para la computadora, pero al procesar las imágenes de la derecha, los resultados no son tan ideales.

Insertar descripción de la imagen aquí

Para facilitar la identificación, corregiremos la imagen deformada. Aquí comparamos los métodos de corrección tradicionales y los métodos de corrección basados ​​en el aprendizaje profundo.

2.2 Métodos tradicionales

Antes de que el aprendizaje profundo se hiciera popular, ya existían contramedidas relevantes para resolver el problema de la deformación de los documentos. Por ejemplo, los naipes de la imagen siguiente tienen problemas como la rotación y la perspectiva. Esperamos que el póquer se pueda presentar individualmente en forma de un rectángulo aproximadamente perfecto.

Tomando a Xiao Wang como ejemplo, primero encontrará las coordenadas de las cuatro esquinas del póker (documento), y aquí se utilizarán varios métodos de procesamiento de imágenes, gradiente de imagen, detección de bordes y otros algoritmos. Luego estima el ancho y la altura del atizador. Entonces podemos entender el proceso de restauración de imágenes como la siguiente figura:

Podemos obtener una matriz de transformación basada en las coordenadas de cuatro puntos del cuadro rojo de la izquierda y las coordenadas de cuatro puntos del cuadro rojo de la derecha, y luego realizar una transformación afín en la imagen original para obtener la imagen corregida. Luego realice el reconocimiento de texto en la imagen corregida, para que los resultados obtenidos sean más precisos.

En el ejemplo anterior, aplicamos la misma transformación a cada píxel, lo que puede resolver bien el problema de la perspectiva. Ante deformaciones más complejas, como flexión, plegado, etc. También necesitamos hacer ajustes al procesamiento anterior.

Las imágenes se pueden restaurar hasta cierto punto utilizando métodos tradicionales, pero la situación real es mucho más complicada que la anterior y se encontrarán varios problemas utilizando métodos tradicionales.

3. Método basado en campo de compensación.

El aprendizaje profundo proporciona un nuevo método para corregir la deformación de la imagen. Este método es similar a la transformación afín anterior, pero la matriz de transformación se obtiene mediante aprendizaje profundo, a esta matriz de transformación la llamamos "campo de compensación".

3.1 Campo de compensación

Un campo de desplazamiento es una imagen con una dirección y magnitud similar al gradiente de una imagen. La siguiente figura es un ejemplo de un campo de compensación.

El campo de desplazamiento tiene la misma forma que la imagen y cada flecha en el campo de desplazamiento es un vector que contiene información de dirección y magnitud. Es decir, en qué dirección se debe desplazar la posición correspondiente de la imagen y la cantidad de desplazamiento.

En la operación real, se entrena una red neuronal, toma la imagen de deformación como entrada y luego genera el campo de compensación. Como se muestra abajo:
Insertar descripción de la imagen aquí

Después de obtener el campo de desplazamiento, podemos corregir la imagen.

3.2 Corrección de documentos

Podemos dejar que la imagen original y el campo de desplazamiento realicen operaciones similares a la transformación afín, es decir, realicen los desplazamientos correspondientes para cada píxel de la imagen original, y luego podremos obtener la imagen corregida. El diagrama de operación de compensación es el siguiente:

Insertar descripción de la imagen aquí

En el ejemplo anterior, la imagen original está solo parcialmente deformada. Este problema es difícil de manejar con métodos tradicionales, pero se puede resolver fácilmente usando campos de desplazamiento. En comparación con la transformación afín tradicional, el campo de compensación puede transformar cada píxel de manera diferente, lo que permite ajustes más flexibles. Problemas como arrugas y dobleces se pueden solucionar muy bien.

En ocasiones el documento corregido tendrá algunos vacíos, por lo que el proceso de reparación completo también agregará una operación de llenado. Hay muchas formas de llenarlo, una de las cuales es llenarlo con la red de pacientes hospitalizados. Los pasos específicos son los siguientes:

Insertar descripción de la imagen aquí

Hoy en día, el escaneo de documentos se puede realizar de forma muy inteligente y puede identificar varios documentos complejos. Incluyendo manuscritos escritos a mano, imágenes de nubes de palabras, tablas, etc. Aquí tomamos TextIn, la plataforma de servicio de reconocimiento de texto inteligente de Hehe Information , como ejemplo para experimentar la función de escaneo de documentos.

4. Experiencia real

4.1 Estandarizar fotografías y manuscritos

Podemos experimentar nuestras funciones relacionadas con el reconocimiento de texto en TextIn . Primero probemos imágenes relativamente estándar. Aquí se utiliza una imagen de tabla para realizar pruebas.

Insertar descripción de la imagen aquí

El lado izquierdo es la imagen utilizada para el reconocimiento y el lado derecho es el resultado del reconocimiento. El contenido se reconoce perfectamente y el contenido de la derecha se puede copiar directamente.

Departamento de vehículosDepartamento de vehículos Jeje información tiempo de transporte tiempo del coche 20 de mayo de 2020 Número de pasajeros 14 personas
Destino Shibei, distrito de Jing'an, cubo de nubes de Shanghai
Contacto Contacto Él Xiaohe número de contacto número de contacto 18888888888 El conductor conduce de forma segura y puntual El conductor conduce de forma segura y puntual
Motivo del coche (motivo para utilizar el coche): viaje oficial Conduzca con seguridad y recoja a tiempo (Verifique después de que el pasajero termine el automóvil. Verifique después de que el pasajero termine el automóvil)
Número de matrícula Número de matrícula Shanghai M888888 Nombre del conductor He Xiaoan numero de contacto021-88888888 Lugares de recogida Lugar de recogida n.º 88, Parque Industrial de Shanghai
Responsable del departamento de auditoría de vehículos. Liu Yang Responsable administrativoJefe del departamento administrativo Yang Zhou

4.2 Guiones de rodaje

Por lo general, el escaneo de documentos se realiza utilizando imágenes capturadas. A continuación, intentamos probarlo con las imágenes que tomamos nosotros mismos, añadiendo artificialmente algunas dificultades a la hora de tomar fotografías. El lado izquierdo es la imagen reconocida, se cree que se crean sombras, arrugas, etc. para aumentar la dificultad del reconocimiento. En el lado derecho está el resultado del reconocimiento, se puede ver que el contenido general se ha reconocido normalmente.

Insertar descripción de la imagen aquí

Aquí está parte de ello:

Las siguientes cinco partes:

(1) Orificio de muestreo: permite que el equipo digital observe elementos específicos de la imagen sin verse afectado por otras partes de la imagen.

(2) Mecanismo de escaneo de imágenes: hace que el orificio de muestreo se mueva en la imagen de una manera predefinida, observando así cada secuencia en secuencia

Un píxel.

(3) Sensor de luz: detecta el brillo de cada píxel de la imagen mediante muestreo, normalmente utilizando una matriz CCD.

(4) Cuantizador: convierte la cantidad continua emitida por el sensor de luz en un valor entero. Un cuantificador típico es un convertidor A/D.

circuito, que produce un valor proporcional al voltaje o corriente de entrada.

4.3 Imagen de nube de palabras

Además de las dos imágenes convencionales anteriores, TextIn también puede escanear imágenes complejas como fotografías de identificación, currículums, certificados de bienes raíces, nubes de palabras, etc. Por ejemplo, el siguiente es un ejemplo de una nube de palabras:

Insertar descripción de la imagen aquí

En comparación con las preguntas anteriores, la situación de la nube de palabras es más complicada. El texto aquí es multilingüe y tiene múltiples perspectivas, lo que hace que sea muy difícil de identificar. Es muy posible identificar los resultados en TextIn:

Hola T.

Hola.

Hola

Eso es todo.

Saludos.

Hola.

Hola

Salam

Mientras se reconoce el texto, también se muestra en el idioma correspondiente.

4.4 Eliminación del patrón Moiré

Cuando tomamos fotografías de productos electrónicos, aparecerán algunas texturas extrañas, esta textura es muaré. La eliminación del muaré puede mejorar la claridad de las imágenes y el texto, haciéndolos más fáciles de identificar. El reconocimiento de patrones muaré también se puede implementar mediante el aprendizaje profundo y se puede entrenar una red especializada en eliminación de patrones muaré. Aquí hay una dirección de experiencia para eliminar patrones muaré. La siguiente es una comparación de imágenes con patrones muaré e imágenes sin patrones muaré:

Insertar descripción de la imagen aquí

Después de la eliminación, el contenido del texto se puede ver claramente.

4.5 Detección inteligente de PS

Además de manejar las tareas anteriores relacionadas con el escaneo de documentos y el reconocimiento de texto, TextIn también puede realizar una detección inteligente de PS para detectar si la imagen ha sido retocada con Photoshop. Muy eficaz para prevenir el fraude. Hoy en día, la tecnología PS está muy madura. Muchas imágenes retocadas con Photoshop no pueden ser discernidas por el ojo humano. PS se puede utilizar para falsificar registros de reproducción, certificados académicos, documentos de certificación en papel, etc. El uso de la detección inteligente de PS puede identificar muy bien estas imágenes falsas. Aquí realizamos un procesamiento PS artificial en imágenes normales y luego las probamos en TextIn .

Insertar descripción de la imagen aquí

A la izquierda hay una imagen que ha sido PS. Es difícil juzgar si ha sido PS a simple vista. El lado derecho es el resultado de la detección. Además de mostrar si hay manipulación, el resultado también mostrará el área manipulada.

4.6 Quitar marca de agua

La eliminación de marcas de agua también es una función que a menudo necesitamos usar. A veces, cuando descargamos imágenes, se agregarán automáticamente algunas marcas de agua, lo que bloqueará parte del contenido. TextIn proporciona la función de eliminar la marca de agua, que se puede experimentar en TextIn . El siguiente es un ejemplo del efecto real:

Insertar descripción de la imagen aquí

A la izquierda está el efecto después del procesamiento y a la derecha está el efecto con marca de agua. En primer lugar, el efecto de eliminar la marca de agua es muy bueno y la marca de agua se elimina normalmente. Y no hay sensación borrosa en la parte donde se elimina la marca de agua.

Además, podemos hacer algo interesante: podemos agregar manualmente una marca de agua a un documento, luego usar TextIn para eliminar la marca de agua y luego enviar el resultado de la eliminación de la marca de agua a la detección inteligente de PS mencionada anteriormente para detectar si ha sido manipulada. Podemos encontrarnos con un fenómeno muy interesante. Puedes probarlo tú mismo.

4.7 Borrar automáticamente texto escrito a mano

También hay una función interesante en TextIn, que consiste en borrar automáticamente el texto escrito a mano. Esto es muy útil cuando escaneamos exámenes. Esta función se puede experimentar en TextIn . Aquí están los resultados de la prueba:

Insertar descripción de la imagen aquí

Lo que estamos probando es un examen escrito y corregido, que incluye inglés escrito a mano, selección manual de casillas, marcas de verificación, etc. Después de la extracción, se eliminaron las partes escritas a mano, mientras que se retuvo el contenido del papel de prueba. Además, el resultado de la eliminación también mejora la imagen original, haciéndola más fácil de ver.

4.8 Detección e identificación de focas

Para algunas empresas, se puede utilizar la función de reconocimiento y detección de sellos. El texto del sello suele ser curvo y los programas generales de reconocimiento de texto no pueden manejarlo bien. TextIn proporciona la función de detección y reconocimiento del sello. Incluyendo detectar el sello en la imagen e identificar el texto en el sello, el siguiente es un efecto específico:

Insertar descripción de la imagen aquí

La imagen de la izquierda es la imagen detectada. Hay varios sellos en la imagen. La imagen de la derecha es el resultado de la detección. Se detectó cada sello y se identificó el contenido del texto del sello. Las funciones anteriores se pueden experimentar en TextIn .

4.9 Otras funciones

Además de las funciones anteriores, TextIn también puede realizar funciones como reconocimiento de códigos QR, reconocimiento de billetes, reconocimiento de vehículos y reconocimiento de pruebas personales. También hay una función de conversión de documentos. A continuación se muestran algunas interfaces que se pueden utilizar:

Insertar descripción de la imagen aquí

Las funciones anteriores se pueden experimentar directamente o puede utilizar la API proporcionada por TextIn para conectar las funciones a su propia aplicación. Para obtener documentación API específica, consulte https://www.textin.com/document/index .

Por ejemplo, el siguiente es un fragmento de código para el reconocimiento de texto general de Python:

import requests
import json

def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

class CommonOcr(object):
    def __init__(self, img_path):
        # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id
        # 示例代码中 x-ti-app-id 非真实数据
        self._app_id = 'c81f*************************e9ff'
        # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code
        # 示例代码中 x-ti-secret-code 非真实数据
        self._secret_code = '5508***********************1c17'
        self._img_path = img_path

    def recognize(self):
        # 通用文字识别
        url = 'https://api.textin.com/ai/service/v2/recognize'
        head = {
    
    }
        try:
            image = get_file_content(self._img_path)
            head['x-ti-app-id'] = self._app_id
            head['x-ti-secret-code'] = self._secret_code
            result = requests.post(url, data=image, headers=head)
            return result.text
        except Exception as e:
            return e

if __name__ == "__main__":
    response = CommonOcr(r'example.jpg')
    print(response.recognize())

La implementación es muy sencilla, solo necesitamos modificar la ruta de la imagen en CommonOcr. Para obtener más funciones, consulte https://www.textin.com/

Supongo que te gusta

Origin blog.csdn.net/ZackSock/article/details/127570572
Recomendado
Clasificación