『Detección_OCR』 Seglink

Inserte la descripción de la imagen aquí


Prefacio

论文 : Detección de texto orientado en imágenes naturales vinculando segmentos
代码 : https://github.com/bgshih/seglink

  • Permítanme hablar sobre las dificultades de la detección de texto: 1. El rango de la relación de aspecto del cuadro delimitador de la línea de texto es demasiado amplio; 2. El formato del idioma no es uniforme (por ejemplo, no hay espacio entre las líneas de texto en chino e inglés líneas de texto); 3. Líneas de texto La dirección es arbitraria.
  • En respuesta a las dificultades mencionadas anteriormente, este artículo propone seglink, que es una mejora sobre la base del método de detección de objetivos SSD. Su idea básica: dado que es difícil detectar toda la línea de texto a la vez, primero detecte la fragmentos, y luego combinar todos Los fragmentos están conectados para obtener la línea de texto final. La ventaja de esto es que puede detectar líneas de texto de cualquier longitud

1. Estructura de la red

  1. Usando la idea del algoritmo SSD, primero use VGG16 como la columna vertebral para la extracción de características, donde los componentes completamente conectados de VGG16 (FC6, FC7) se reemplazan con capas convolucionales (conv6, conv7) y luego capas convolucionales conv8 a conv11.
    Nota: El tamaño entre conv4 ~ conv11 disminuye en orden (cada capa es la mitad de la capa anterior). Este enfoque consiste en realizar una detección de objetivos de múltiples escalas, es decir, los mapas de características grandes son buenos para detectar objetos pequeños y los mapas de características pequeñas son buenos para detectar objetos grandes. Con la ayuda de mapas de características de diferentes escalas, al detectar segmentos y enlaces de 6 capas de características, se pueden detectar líneas de texto de diferentes tamaños.
  2. Al observar la siguiente capa convolucional, podemos encontrar que utilizando capas convolucionales 3 × 3 para mapas de características de diferentes capas para producir el resultado final (incluido el segmento y el enlace), las dimensiones de la salida de diferentes capas de características son diferentes, porque además de la capa conv4_3, hay enlaces entre capas en otras capas. Aquí segmento es la información direccional bbox del texto (puede ser una palabra o varios caracteres, en resumen, es parte de la línea de texto), el enlace es la información de conexión de diferentes segmentos (el artículo también lo agregará a la red para aprendizaje automático).
  3. Cuando se detectan todos los segmentos, podemos fusionar la información del cuadro y la información de enlace de los segmentos de cada mapa de características mediante la combinación de segmentos para obtener la línea de texto final.

1.1 Detección de segmento

La estructura completa de SSD tomó la idea, en la detección de segmento (corte), y el proceso de detección es similar al modelo SSD, por “套框”cierto, los resultados de la regresión y genera el número de canal de cada mapa de características para convolucional 7, donde dos El valor de confianza que indica si el segmento es un texto es (0, 1) y los cinco restantes son las cinco compensaciones del segmento en relación con el cuadro predeterminado en la posición correspondiente. Cada segmento se representa como:

Inserte la descripción de la imagen aquí

  • El segmento puede entenderse como parte de una línea de texto, que puede ser un carácter o cualquier parte de una línea de texto. Una línea de texto completa contiene varios segmentos y cada segmento está conectado mediante un vínculo. La idea de la detección de texto de segmento es en realidad la misma que la de CTPN. Primero, detecte una parte de la línea de texto y luego conéctelas para formar una línea de texto.
  • Primero, cada segmento tiene un área de superposición determinada, y luego la parte de conexión de cada dos segmentos es el punto central de los dos segmentos. Cada segmento y enlace se puede detectar confiando solo en la información de textura de la imagen parcial, sin el Información de la imagen.
  • La detección de una red de segmento requiere generar la confianza del segmento y un desplazamiento de regresión del segmento en relación con los cinco parámetros de los cuadros predeterminados. La posición de los cuadros predeterminados se puede entender de esta manera. En relación con cada punto en el mapa de características que está convolucionado, se puede encontrar el punto correspondiente en la imagen original. Esto corresponde al punto en la imagen original en el mapa de características es la posición de los cuadros predeterminados. [Nota: todos son rectángulos sin esquinas giratorias]

1.2 detección de enlaces

En términos de enlace (conexión) entre segmento y segmento, existen principalmente dos situaciones, una es la detección de conexión entre capas y la otra es la detección de conexión entre capas. Como se muestra abajo:

  • La detección de conexión en la capa indica el estado de conexión de cada segmento al segmento en los 8 vecindarios de la misma capa de características. Cada enlace tiene dos puntajes: un puntaje positivo y un puntaje negativo. Un puntaje positivo indica que los dos pertenecen al mismo texto (debe estar conectado); una puntuación negativa significa que los dos pertenecen a textos diferentes (debe estar desconectado).
  • La detección de enlaces entre capas sirve principalmente para resolver el problema de la detección repetida y la redundancia cuando los segmentos del mismo texto se detectan en diferentes capas. En el mapa de características de dos capas adyacentes, los vecinos del segmento de la última capa son además Además de los vecinos, hay vecinos en la capa anterior, pero la siguiente capa no es vecina de la capa anterior, esta redundancia se eliminará en el algoritmo de fusión posterior.

1.3 Algoritmo de fusión

  • paso 1: saca los segmentos de la misma fila
  • Paso 2: Realice una regresión lineal de mínimos cuadrados en los puntos centrales de estos segmentos para obtener una línea recta.
  • Paso 3: el punto central de cada segmento se proyecta verticalmente a esta línea
  • Paso 4: Saque los dos puntos con la distancia más lejana de todos los puntos de proyección, denotados como ( xp x_pXp, y p y_p yp), ( xq x_qXq, y q y_q yq)
  • Paso 5: Luego, los parámetros de posición del cuadro de texto combinado final se marcan como ( xb, yb, wb, hb, θ b x_b, y_b, w_b, h_b, \ theta_bXb,yb,wb,hb,θb), la posición del punto central es (( xp x_pXp+ xq x_qXq)/2, ( y p y_p yp+ y q y_q yq) / 2), el ancho son los dos puntos más lejanos ( xp, yp x_p, y_pXp,yp), ( x q , y q x_q, y_q Xq,yq) Más la mitad del ancho del segmento, la altura es la altura promedio de todos los segmentos

Dos, idea de red

  • Se proponen dos elementos básicos de detección de líneas de texto: segmento y enlace
  • Propuso una estructura de red mejorada basada en SSD (estructura de red convolucional completa), mientras predice segmentos y enlaces de diferentes escalas
  • Propuso dos tipos de enlace: conectar la capa interna (enlace dentro de la capa) y la capa de conexión cruzada (enlace entre capas)
  • Puede manejar texto multidireccional y de longitud arbitraria

Tres, evaluación

  • En comparación con el método CTPN, SegLink introduce un bbox direccional (segmento (x, y, w, h, θ)), que puede detectar líneas de texto en cualquier dirección, mientras que CTPN se utiliza principalmente para detectar líneas de texto horizontales, por supuesto, si cambia el ancla vertical a un ancla horizontal, también puede detectar la línea de texto vertical
  • Los dos umbrales α y β se obtienen mediante el método de búsqueda de cuadrícula. La búsqueda de cuadrícula es una técnica de optimización de hiperparámetros de modelo violento. En este artículo, se utiliza 0.1 paso para una búsqueda exhaustiva
  • No se puede detectar texto muy grande porque el enlace se usa principalmente para conectar segmentos adyacentes y no se puede usar para detectar líneas de texto que están muy separadas
  • No puede detectar deformaciones o curvas de texto, porque el algoritmo de combinación de segmentos adopta un ajuste de línea recta al combinar. Aquí puede modificar el algoritmo de fusión para detectar deformaciones o curvas de texto.

referencias

  1. https://my.oschina.net/u/876354/blog/3049704

Supongo que te gusta

Origin blog.csdn.net/libo1004/article/details/112664805
Recomendado
Clasificación