2012-07-11 20 views
7

Estoy haciendo un simple reconocimiento de letras y dígitos con redes neuronales. Hasta ahora usé cada píxel de la imagen de la carta como entrada a la red. Huelga decir que este enfoque produce redes que son muy grandes. Así que me gustaría extraer características de mis imágenes y usarlas como entradas para NN. Mi primera pregunta es qué propiedades de las letras son buenas para reconocerlas. La segunda pregunta es cómo representar estas características como entradas a redes neuronales. Por ejemplo, pude haber detectado todas las esquinas en las letras y tenerlas como un vector de (x, y) puntos. Cómo transformar este vector en algo adecuado para un NN (ya que los tamaños del vector pueden ser diferentes para diferentes letras).Extracción de funciones de redes neuronales

Respuesta

3

Muchas personas han tomado variedades de funciones para OCR. Lo más simple es, por supuesto, pasar los valores de píxeles directamente.

Hay datos de reconocimiento de letras en muestras de OpenCV, extraídos del conjunto de datos de UCI. Emplea alrededor de 16 funciones diferentes. Verifique esta SOF: How to create data fom image like "Letter Image Recognition Dataset" from UCI

También puede ver el documento que explica esto en una de sus respuestas. Puedes obtenerlo buscando en Google.

También podría interesarle this PPT. Ofrece una explicación concisa de las diferentes técnicas de extracción de características que se utilizan hoy en día.

4

Este artículo, Introduction to Artificial Intelligence. OCR using Artificial Neural Networks by Kluever (2008) da una encuesta de 4 características técnicas de extracción para OCR utilizando redes neuronales. Describe los siguientes métodos:

  • Ejecutar codificación de longitud (RLE): Necesita una imagen binaria para esto (es decir, solo blanco o negro). La cadena binaria se puede codificar en una representación más pequeña.
  • Detección de bordes: encuentre los bordes. Puede ser bastante grosero con esto, así que en lugar de devolver las coordenadas exactas (x, y) puede reducir la matriz contando solo si dicho borde ocurre en ubicaciones reducidas (es decir, en 20%, 40%, 60 & y 80 % de la imagen).
  • Count 'True Pixels': Esto reduce la dimensionalidad de width * height de la matriz de imágenes a width + height. Utiliza el vector width y el vector height como entrada separada.
  • Entrada de matriz básica: Ya ha intentado esto; Ingresar la matriz completa da buenos resultados, pero como ha notado puede dar lugar a una alta dimensionalidad y tiempos de entrenamiento. Puede experimentar reduciendo el tamaño de sus imágenes (por ejemplo, de 200x200 a 50x50).
1

Si tiene un vector de entrada de dimensiones muy altas, le sugiero que aplique el análisis de componentes principales (PCA) para eliminar las características redundantes y reducir la dimensionalidad del vector de características.

Cuestiones relacionadas