Entiendo cómo las redes neuronales de trabajo, pero si me las quieren usar para el procesamiento de imágenes como el real reconocimiento de caracteres, no puedo entender cómo puedo entrada de los datos de la imagen a la red neuronal.

Tengo una muy grande la imagen de un A carta. Tal vez debería tratar de obtener algo de información/especificaciones de la imagen y, a continuación, utilizar un vector de valores de la especificación? Y que será la entrada de la red neuronal?

Que ya ha hecho tal cosa, ¿puede explicar cómo hacerlo?

  • ¿Tienes neuronet ya? Si no es así – esta es una pregunta extraña. Si sí – post de la interfaz, al menos.
  • No es una pregunta extraña. En realidad, si tengo la interfaz, entonces significa que puedo hacer en primer lugar una decisión de cómo se me de la imagen de entrada a la neuro red. La pregunta es – ¿puedo introducir los datos de la imagen, como Una carta en un neuro red, incluso si es muy grande o pequeña, o debo romper para algunos parámetros, que únicamente determinan la letra a!
  • Si debo romper a los parámetros, ¿Qué tipo de parámetros que debo usar?
InformationsquelleAutor Dzen | 2010-01-18

5 Comentarios

  1. 24

    La solución más fácil sería para normalizar todas sus imágenes, tanto para el entrenamiento y prueba, para tener la misma resolución. También el carácter de cada imagen debe ser aproximadamente del mismo tamaño. También es una buena idea utilizar la escala de grises de las imágenes, de manera que cada píxel sería dar un solo número. Entonces usted puede usar cada valor de píxel como una entrada a la red. Por ejemplo, si usted tiene imágenes de tamaño 16×16 píxeles, la red tendría 16*16 = 256 neuronas de entrada. La primera neurona de ver el valor del pixel (0,0), el segundo en (0,1), y así sucesivamente. Básicamente, poner la imagen de los valores en un vector y de alimentación de este vector en la red. Esto ya debería de funcionar.

    Por primera extracción de características (por ejemplo, bordes) de la imagen y, a continuación, utilizar la red de estas características, quizás podría aumentar la velocidad de aprendizaje y también hacer que la detección sea más robusto. Lo que debe hacer en ese caso es la incorporación de los conocimientos previos. Para el reconocimiento de caracteres se sabe que ciertas características relevantes. Así, mediante la extracción de ellos como un paso de preprocesamiento, la red no tiene que aprender de esas características. Sin embargo, si usted proporciona el mal, es decir, irrelevante, características, la red no será capaz de aprender la imagen –> asignación de caracteres.

    • Son mis pasos de solución de esta cuestión bueno? 1. binarize de la imagen. 2. la segmentación. encuentre conectado partes de la imagen. puede ser el uso de contornos. 3. para cada segmento de proceder es por separado de otros segmentos. 3.1 extraer cierta información de la imagen segmento. 3.2 comparar con algún patrón o de entrada a la neuro red. así que tengo algunas preguntas. 1. si me segmento de la imagen y tengo una letra » i » no, el punto frío será separado de su segmento. Entonces, ¿cómo manejar esta situación? Se puede añadir algún caso especial. 2. Debo cambiar el tamaño del segmento, si es muy grande o demasiado pequeño?
    • Puedo entrada de los diferentes tamaños de imágenes para mi neuro net? Yo no creo que pueda, pero no estoy seguro. Así que la imagen puede contener algunos de los diferentes tamaños de las letras, cómo se maneja?
    • Su pre-pasos de procesamiento de sonido como esto podría funcionar, sin embargo, me permito sugerir a partir con lo que he indicado en el primer párrafo. A mí me parece que no tiene mucha experiencia con las redes neuronales o de reconocimiento de caracteres. Así, en orden a conseguir una sensación para lo que funciona y cómo funciona, usted debe comenzar con un caso sencillo. Añadir demasiados pasos a la vez aumentará la posibilidad de algún error y sin una real idea de qué esperar de cada paso que usted tendrá un tiempo difícil de depurar el código.
    • Usted no debe usar diferentes tamaños, no al menos como un primer paso. En teoría, una red neuronal capaz de reconocer todo lo que ha visto durante el entrenamiento, dado que se entrena con la cantidad suficiente de datos y la red es lo suficientemente grande. Sin embargo, en la práctica casi siempre ot normalizar su entrada imágenes de primera. Hay enfoques que intentan aprender invariante de escala, como Yann LeCun del convolucional redes (véase, p. ej., yann.lecun.com/exdb/lenet para el reconocimiento de caracteres). Sin embargo, te sugiero empezar con el enfoque más simple, tal vez no las cartas, pero sólo los números a la primera.
    • No utilice imágenes que contienen los diferentes personajes. El uso de imágenes que contienen un solo personaje, tienen el mismo tamaño, y el personaje en una imagen también debe tener el mismo tamaño. Para guardar todos los preprocesamiento de trabajo, conseguir el código POSTAL de datos de www-stat.stanford.edu/~tibs/ElemStatLearn/data.html (en la parte inferior de la página) y el tren de la red con que. Aquí usted no tiene que lidiar con la normalización y la organización de píxel valus en un vector, todo ha sido hecho ya. Si la red es capaz de hacer algo útil en los datos, usted puede comenzar a agregar pasos adicionales a ti mismo.
    • ¿Quiere usted decir que la única cosa que necesita hacer es hacer que la Red Neuronal, entrenar y eso es todo?
    • Sí, como un primer paso de conseguir esos datos, el tren de la red con lo pruebas. Y si funciona bien, puede comenzar a agregar pasos adicionales como el uso de sus propias imágenes.

  2. 7

    El nombre para el problema que estamos tratando de resolver es «la extracción de características«. Es, decididamente, no trivial y un tema de investigación activa.

    La ingenua manera de ir sobre esto es simplemente para asignar a cada píxel de la imagen de entrada correspondiente de la neurona. Obviamente, esto sólo funciona para las imágenes que son todos del mismo tamaño, y generalmente es de eficacia limitada.

    Más allá de esto, hay un montón de cosas que usted puede hacer… filtros de Gabor, Haar-like features, PCA e ICA, dispersas características, sólo para nombrar unos pocos ejemplos frecuentes. Mi consejo sería para recoger un libro de texto sobre redes neuronales y reconocimiento de patrones o, específicamente, el reconocimiento óptico de caracteres.

    • puedes sugerir algunos buenos libros sobre el OCR?
    • No es mi especialidad, pero una rápida búsqueda resulta «Extracción de la Característica de los Enfoques para el Reconocimiento Óptico de Caracteres» de Roman Yampolskiy, que se ve como si pudiera contener lo que está después.
  3. 2

    Todas estas consideraciones acerca de la aplicación de NNs a imágenes están cubiertos en nuestros Revisión de 2002 de papel
    (Basado en características, basada en píxeles, la invariancia de escala, etc.)

    Su mayor desafío es la llamada «maldición de la dimensionalidad’.

    Me gustaría comparar NN-rendimiento con el de una máquina de soporte vectorial (difícil que los núcleos a utilizar).

  4. 1

    Puede utilizar como entrada los píxeles reales. Esta es la razón por la que a veces es preferible utilizar una menor resolución de las imágenes de entrada.

    La cosa buena acerca de ANN es que de alguna manera son capaces de selección de características (haciendo caso omiso de la no-importante píxeles mediante la asignación de cerca de cero pesos de los nodos de entrada)

Dejar respuesta

Please enter your comment!
Please enter your name here