La solución más fácil sería normalizar todas sus imágenes, tanto para entrenamiento como para pruebas, para tener la misma resolución. Además, el personaje en cada imagen debe ser del mismo tamaño. También es una buena idea usar imágenes en escala de grises, por lo que cada píxel le daría un solo número. Entonces podría usar cada valor de píxel como una entrada a su red. Por ejemplo, si tiene imágenes de tamaño 16x16 píxeles, su red tendría 16 * 16 = 256 neuronas de entrada. La primera neurona vería el valor del píxel en (0,0), el segundo en (0,1), y así sucesivamente. Básicamente, coloca los valores de la imagen en un vector y alimenta este vector a la red. Esto ya debería funcionar.
Al extraer primero las características (por ejemplo, los bordes) de la imagen y luego usar la red en esas características, quizás podría aumentar la velocidad de aprendizaje y también hacer que la detección sea más robusta. Lo que haces en ese caso es incorporar conocimiento previo. Para el reconocimiento de caracteres, usted conoce ciertas características relevantes. Por lo tanto, al extraerlos como un paso de preprocesamiento, la red no tiene que aprender esas características. Sin embargo, si proporciona las funciones incorrectas, es decir, irrelevantes, la red no podrá aprender el mapeo de imágenes -> caracteres.
¿Ya tienes neuronet? Si no, esta es una pregunta extraña. En caso afirmativo, publique la interfaz al menos. –
No es una pregunta extraña. En realidad, si tengo una interfaz, significa que al principio tomo la decisión de cómo ingresaré la imagen en la red neuronal. La pregunta es: ¿puedo ingresar datos de imágenes, como la letra A, en una red neuronal, incluso si es muy grande o pequeña, o debería dividirla en algunos parámetros que determinan de manera única la letra A! – Dzen
Si debería dividirlo en parámetros, ¿qué tipo de parámetros debería usar? – Dzen