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
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.
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 awidth + height
. Utiliza el vectorwidth
y el vectorheight
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).
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.
- 1. Redes neuronales
- 2. Proyecto de redes neuronales?
- 3. RBF Redes neuronales C#
- 4. Redes neuronales para ruby
- 5. Referencia de redes neuronales artificiales
- 6. Salida continua en redes neuronales
- 7. Entradas secuenciales para redes neuronales
- 8. Programando redes neuronales con Python?
- 9. Redes neuronales en Haskell - Consejo
- 10. Redes neuronales en Lisp - Consejo
- 11. Uso de algoritmos genéticos para redes neuronales
- 12. Detección de tono usando redes neuronales
- 13. ejemplo de redes neuronales en .NET
- 14. cómo comenzar la programación de redes neuronales
- 15. Rendimiento en C++/Java para redes neuronales?
- 16. Redes neuronales o interacción persona-computadora
- 17. Tener problemas para entender las redes neuronales
- 18. Primeros pasos con redes neuronales (ANN)?
- 19. Redes neuronales en MATLAB, pesos iniciales
- 20. ¿Cómo actualizar el sesgo en la propagación de redes neuronales?
- 21. Predicción de series de tiempo a través de redes neuronales
- 22. Implementación de una función de activación softmax para redes neuronales
- 23. Buscando un tema interesante del área de redes neuronales
- 24. Módulos Perl fáciles de usar para redes neuronales
- 25. las redes neuronales no pueden descifrar las transformadas de Fourier?
- 26. ¿Qué son ideas interesantes para experimentar con redes neuronales artificiales?
- 27. ¿Cuál es la relación entre las redes bayesianas y neuronales?
- 28. Redes neuronales, ¿cómo se ven en la codificación?
- 29. Cuándo usar Algoritmos genéticos vs. cuándo usar redes neuronales?
- 30. ¿Cómo usar las redes neuronales para resolver soluciones "blandas"?