Monografias.com > Otros
Descargar Imprimir Comentar Ver trabajos relacionados

Sistema de Visión Artificial para Determinar el Flujo de Café Soluble en un Prototipo de Aglomeración de Polvos, Mediante Rede




Enviado por vallejowilli



     

    Indice
    1.
    Introducción

    2. Visión
    Artificial

    3. Redes
    Neuronales

    4. Análisis de paletas de
    colores e histogramas

    5. Obtención del
    vector de características

    6.
    Bibliografía

    1.
    Introducción

    La solución a problemas de
    procesos
    industriales debe estar enmarcada en desarrollos de tipo
    tecnológico con los nuevos conceptos que se discuten en
    las clases de ingeniería, o que son de fácil
    acceso por la INTERNET. Tales conceptos
    deben necesariamente conducir a una solución
    práctica por demás bien estructurada y
    acompañada del componente computacional para optimizar la
    solución acertada.
    En el presente trabajo, el lector podrá analizar
    detalladamente un simple subsistema del proceso
    industrial de aglomeración, que bien pareciera ser
    complejo o sin interés de
    automatizar, pero que por diseño
    inicial debe funcionar continuamente, y que por las condiciones
    de humedad del ambiente
    presenta problemas de no continuidad de alimentación.
    Dicho subsistema es una bandeja de alimentación a granel
    en la cual se requiere cuantificar su flujo sin la necesidad
    de
    instalar un sensor comercial o un medidor de flujo sofisticado y
    costoso. Se debe hacer un sistema que
    asegure la alimentación continua y bien distribuida, para
    optimizar la productividad del
    proceso de aglomeración de café, en el cual hay un
    desempeño del 60% por efectos de
    reprocesos.
    Dado lo anterior, y con la agravante de tener que diseñar
    un sistema a partir de la observación, el corazón de
    este trabajo, denominado "Sistema de Visión Artificial
    para Determinar el Flujo de Café Soluble en un Prototipo
    de Aglomeración de Polvos, Mediante Redes
    Neuronales", es la implementación de una red neuronal artificial,
    desarrollo que
    se lleva a cabo para optar al título de ingeniero
    Electrónico en la universidad
    Autónoma de Manizales.
    En adelante, el lector podrá contextualizarse en cuatro
    (4) tópicos que deben ser acometidos para lograr los
    objetivos
    propuestos:

    1. Prototipo del sistema a mejorar: Es necesario
      desarrollar un prototipo del sistema en estudio, ya que por
      condiciones económicas y de disponibilidades no es
      posible trabajar directamente sobre el proceso
      real.
    2. Captura de imágenes
      y criterios digitales de selección: Ya que lo que se pretende es
      cuantificar el flujo de café que entra a la
      cámara de aglomeración mediante
      observación, es necesario obtener una buena
      galería de fotos del
      prototipo en el momento de depositar el café al
      recipiente, para luego analizarlas digitalmente y seleccionar
      el mejor tratamiento de esas imágenes, que finalmente
      contribuyan con los objetivos trazados.
    3. Implementación de una red neuronal artificial
      del tipo "Perceptrón" y con características "ADALINE" (Adaptive
      Linear Element): Para determinar la cantidad de flujo que entra
      a la cámara de aglomeración a partir de las
      imágenes obtenidas de éste, se implementa una red
      neuronal artificial con 6 nodos en la capa de entrada y 7 nodos
      en la capa de salida, pero sin capas ocultas. Que entrega una
      salida análoga en formato digital de valores de 7
      bits, a partir de las 6 entradas que corresponden a los
      promedios de los histogramas de cada imagen
      capturada del proceso.
    4. Almacenamiento de imágenes patrones y entrenamiento
      de la red: Con el fin de hacer que esta implementación
      trabaje en línea con el proceso de aglomeración,
      se diseña un programa
      computacional en el ambiente Windows98 con el software
      VisualC++, que almacena tres imágenes en sendos archivos del
      tipo BMP, que pueden ser seleccionadas por el operario desde un
      menú y que se capturan instantáneamente
      según lo observado en tiempo real por
      la cámara de video. Dichos
      patrones sirven como entrenamiento para la red neuronal
      artificial, que también está implementada en el
      mismo software.

    En este momento el proyecto se da
    por concluido, mas queda abierto para que alguien más
    implemente un algoritmo de
    control para el
    sistema de proceso de café, a partir de la salida obtenida
    con la red neuronal y haciendo uso del desarrollo
    electrónico para control de velocidad del
    motor de la
    bandeja vibratoria, elaborados en el presente proyecto. Para
    así alcanzar el objetivo
    general trazado inicialmente, de controlar el flujo del proceso,
    el cual es: "Desarrollar un prototipo de un sistema de
    vibración para controlar el flujo de entrada de
    café soluble a un recipiente, usando reconocimiento de
    imágenes mediante redes neuronales".

    Objetivos

    1. Elaborar un prototipo de un sistema industrial de
      alimentación de café soluble en una cámara
      de aglomeración, que por medio de vibración
      desplace el café hacia un recipiente
      cualquiera.
    2. Elaborar un sistema de visión artificial, en
      donde, por medio de redes neuronales, se especifique la
      situación actual del proceso.

    Alcances Y
    Limitaciones

    • Disminuir reprocesos por efectos de mala
      aglomeración del producto.
    • Aumentar la eficiencia del
      proceso al hacer un control digital.
    • Cuantificar el flujo de un sistema a granel por medio
      de la visión artificial.

    Prototipo Del
    Sistema

    Características del Prototipo de
    Aglomeración: Es una bandeja de metal de 23x12x6 cm, con
    una ventana de salida de 12cm de ancho por 6cm de altura. El
    vibrador es hecho con un motor de CA a 110V con una
    excéntrica, que gira a 750 RPM con una potencia de 1/30
    HP ó 0.021 Kw y que está suspendido en dos
    resortes, para mejorar la transmisión de la
    vibración.
    Circuito electrónico de Variación de Velocidad.
    Está diseñado para trabajar en CA (corriente
    alterna), según lo diseñado en clases de octavo
    semestre en electrónica de potencia.

    2. Visión
    Artificial

    La visión artificial se enmarca en este proyecto
    en el análisis de los histogramas de las
    imágenes capturadas, ya que ellos indican la
    concentración de puntos de la paleta de colores con que
    fueron creadas.

    3. Redes
    Neuronales

    Las redes neuronales artificiales, o RNA (ANN, en
    inglés
    Artificial Neural Networks) son sistemas
    diseñados para asemejar la forma como el cerebro humano
    piensa. Las RNA son buenas en tareas tales como
    clasificación y reconocimiento de patrones,
    aproximación de funciones,
    optimización, cuantizaciones vectoriales y agrupamiento de
    datos. En la
    actualidad los computadores son muy rápidos en tareas de
    algoritmos
    computacionales y muy precisos en operaciones
    aritméticas."

     

    Las RNA tienen un gran número de elementos de
    procesamiento interconectados favorablemente (nodos o unidades)
    que usualmente operan en paralelo y son configurados en
    arquitecturas regulares. Las RNA están inspiradas mediante
    el modelado de redes de neuronas reales (biológicas) en el
    cerebro, haciendo que como el cerebro humano, las RNA tengan
    capacidad de aprendizaje,
    recordar, y generalizar a partir de patrones entrenados o datos.
    Un cerebro humano de 1011 neuronas de tipos muy
    diferentes.
    Redes perceptrón de Capa simple. Una red
    Feedforward de capa simple, se conoce como perceptrón
    simple. El problema de aprendizaje es de interés a lo
    largo de todo el aprendizaje
    supervisado. Así que hay una pregunta para un
    patrón de salida particular dk
    =[d1k, d2k, …,
    dnk]T en respuesta a un
    patrón de entrada xk
    =[x1k, x2k, …,
    xmk]T, k=1,2,…,p, m es el
    número de entradas, n es el número de salidas, y p
    es el número de pares de entrada-salida en el conjunto de
    entrenamiento. Esto es, nosotros queremos que el patrón de
    salida actual yk =[y1k,
    y2k, …,
    ynk]T sea igual al patrón
    objetivo dk después del proceso de aprendizaje:
    i=1,2,…,n;
    k=1,2,…,p,

    Donde wiT =[wi1,
    wi2, …, wim]T es el vector
    peso asociado con PEi, y a(·) es la función de
    activación del i-ésimo PE, el cual puede ser, una
    función umbral o una función sigmoide
    continúa. Las reglas de aprendizaje en general comienzan
    con una suposición inicial en los valores de
    los pesos y hacen ajustes sucesivos basados en la evaluación
    de una función objetiva. Ellos finalmente alcanzan una
    solución cerca de lo óptimo u óptima en un
    número finito de pasos.

    4. Análisis
    de paletas de colores e histogramas

    Se deben leer las imágenes previamente guardadas
    en archivos "bmp". Inicialmente se habían capturado en
    color verdadero
    24 bits, así que para poderlas tratar se deben convertir a
    256 colores BMP. Con la instrucción en Matlab bmpread, del
    toolbox imagen de la versión 4,2, se capturan tanto la
    matriz de
    intensidades de la imagen como la paleta de colores de la misma,
    para luego ser analizadas de la siguiente forma:

    1. Con la matriz de intensidades (MI) se puede
      fácilmente determinar el histograma de la
      imagen.
    2. Con base en el histograma se pueden detectar las
      intensidades servibles o las inservibles y con la matriz RGB se
      puede descubrir el color de interés.
    3. Después de obtener el histograma de la paleta
      de colores de 256 RGB, se procede a analizar el vector del
      histograma.

    5. Obtención
    del vector de características

    Después de capturadas las imágenes, del
    flujo del prototipo, se analizan con la asesora de tratamiento
    digital, con quien se determina trabajar en el histograma para,
    finalmente, conseguir un punto de decisión del sistema al
    cambiar éste su cortina de alimentación, que
    necesariamente varía su color.
    Después de haber analizado el promedio del histograma de
    cada imagen y además también los histogramas de la
    paleta de colores RGB y gris, los histogramas de la resta de las
    imágenes y sus correspondientes promedios, se determina en
    compañía del asesor que los parámetros que
    más contribuyen al reconocimiento de cada patrón
    son los terceros, es decir, el promedio del histograma de la
    imagen restada. Para ilustrar el porqué se ha tomado esta
    decisión, se presentan los histogramas obtenidos de cada
    imagen.

    Diseño De La Red
    Neuronal

    Con los resultados de estas imágenes se puede proceder a
    implementar la red neuronal utilizando para ello los seis (6)
    valores centrales de los promedios de los histogramas. De la
    siguiente forma:
    donde X1, X2, X3, X4, X5y X6 son las entradas correspondientes a
    los valores 2 al 7 de los histogramas y wi1, wi2, wi3, wi4, wi5 y
    wi6 son los pesos que deben ser ajustados para obtener las
    salidas deseadas yj. A continuación se muestra una tabla
    con los valores de los histogramas de siete(7) imágenes
    que se pueden emplear como patrones, ya que indican valores fijos
    en cuanto a flujo se refiere.
    A partir del éxito
    en el entrenamiento de la red, se puede asegurar que cualquier
    imagen del sistema puede ser cuantificada en términos de
    flujo, así pues:

    Tabla 1 Tabla final de los valores promedio para
    entrenar la red neuronal

    SALIDA

    e

    0,85

    0,6

    0,5

    0,3

    0,2

    0,1

    0

    n

    58,87

    76,44

    62,96

    31,16

    19,19

    26,53

    2,69

    t

    44,34

    36,16

    35,93

    10,5

    5,16

    2,5

    0

    r

    22,65

    11,22

    10,56

    8,47

    7,03

    0,78

    0

    a

    15,06

    7

    8,75

    13,34

    5,19

    0,03

    0

    d

    17,9

    5,41

    4,69

    9,06

    3,09

    0

    0

    a

    14,25

    1,19

    3,41

    8

    0,16

    0

    0

    Con el objetivo de encontrar la mejor
    respuesta del sistema, se ha implementado el siguiente algoritmo
    en VisualC++, como parte del desarrollo de la red neuronal
    artificial tipo perceptrón, correspondiente a la
    ecuación 2, el cual calcula la salida más
    óptima de la red:

    i=1,2,…,n; k=1,2,…,p,

    así mismo, este nuevo algoritmo se desarrolla
    para completar el funcionamiento de la red total, según la
    siguiente descripción, corredpondiente a la
    ecuación 7, que calcula los pesos de la red según
    el error a la salida:
    Operatividad de la Red Neuronal. Se ha escogido una red de dos
    capas sin neuronas ocultas o intermedias. La capa de entrada
    tiene 6 nodos y la salida 7. Cada nodo de salida pertenece a cada
    uno de los valores de salida que interesan para atacar al
    transistor PNP
    que regulará al motor. La red escogerá en cada
    momento que valor de
    salida es el más óptimo según los valores de
    entrada. Cada salida tiene asociado un vector de entrada o
    patrón, ante una entrada determinada, el nodo de salida
    que tenga el vector más parecido será el ganador.
    Factor mu de entrenamiento o factor de aprendizaje. Es una
    constante que define en cada paso de ajuste de pesos en
    qué fracción hay que variarlo. Un valor muy alto
    puede hacer que la red nunca converja en una solución
    óptima pues el valor óptimo de pesos no cae dentro
    de un incremento. Un valor excesivamente bajo alargaría el
    entrenamiento mucho.
    Se observará que la salida la da con 7 valores binarios.
    De izquierda a derecha en valores decrecientes. El primero es el
    de 0,85 voltios el segundo de 0,6 y así hasta el de 0
    voltios. El nodo que escoge la red como salida se pone a 1 y los
    que no a 0.
    Para agrupar todo lo anterior en un solo software, se
    decidió implementar el programa en VisualC++ para captura
    de video, grabación de imágenes en *.BMP y
    tratamiento digital de las mismas, con las siguientes
    características:

    1. Inicialización de los controladores de
      video.
    2. Captura de video,
    3. Manipulación del controlador hwndC, que es el
      que contiene la información de la memoria
      de video.
    4. Menú adicional para grabar tres patrones del
      proceso en tiempo real.
    5. Algoritmo de grabación de archivos en formato
      *.BMP.
    6. Implementación de la red neuronal con valores
      predefinidos, capturando la información desde los
      archivos ya guardados.
    7. Algoritmo de aprendizaje de la red
      neuronal.

    Resultados
    En cuanto a la captura de imágenes se obtuvieron
    resultados positivos, ya que en asesoría con la profesora
    Luz
    Ángela Aristizabal se determinó trabajar las
    imágenes de plano perpendicular al flujo de la bandeja con
    fondo blanco para minimizar tratamiento digital. Las
    imágenes analizadas fueron estáticas y mostraban el
    comportamiento
    real del sistema.

    1. Análisis de color de las imágenes: En
      cuanto al análisis de las fotografías para
      determinar el vector de características en común
      de cada una de ellas, el resultado estuvo en que después
      de mirar cada histograma se determinó que lo mejor era
      trabajar con el histograma de la resta entre las
      imágenes sin caída de producto y la que muestra
      caída de producto; así se obtienen dos colores
      bien definidos, dejando uno negro para los colores iguales y
      uno blanco para los que no coinciden. Con esto el vector del
      histograma es más acertado para clasificar cada imagen;
      por último para simplificar las cosas, se
      determinó en asesoría con Nicolás Toro,
      obtener 8 valores de cada histograma de la imagen, para
      así analizarlos mejor, así el resultado es mejor,
      porque se promedian los 256 valores de cada histograma cada 32
      puntos y se obtiene un mejor criterio de selección para
      alimentar a la red neuronal.

    Red neuronal: La implementación y entrenamiento
    de la red neuronal obtuvo el resultado de ser implementada
    exactamente como se describe en el marco
    teórico y quedó funcionando como se describe en
    el desarrollo del proyecto, se demora máximo un minuto en
    entrenarse con los siete patrones de la tabla uno y funciona
    eficiente y adecuadamente con cualquier valor de entrada
    después de ser entrenada, con una certeza del 99%.
    Es pues necesario que se replantee la implementación en
    Visual C++ del
    manejo de mensajes de windows para
    los procedimientos y
    se implemente un nuevo programa en estructura
    multihilo con el mismo software, ya que los resultados con
    éste son satisfactorios y evitan la generación de
    mucho código,
    porque el programa lo crea automáticamente, más no
    lo hace con estructuras
    procedimentales, como está elaborado el programa de este
    proyecto.
    Por lo anterior se puede concluir que el presente proyecto fue
    efectivo en cuanto a resultados, ya que la red neuronal
    también presentó buenos resultados y su
    entrenamiento no se demora más de 1 minuto con una certeza
    del 99%.

    6.
    Bibliografía

    "Sistema de reconocimiento de células
    hemáticas mediante redes neuronales", por Victoria Eugenia
    Vélez Burbano y César Augusto Duque Pérez.
    1999. Universidad Autónoma de Manizales.
    "Seguimiento de un cuerpo celeste a partir de una secuencia de
    imágenes por medio de la automatización de una montura ecuatorial",
    por Fredy Ruiz Castro y Mauricio Mejía Lobo. 2000.
    Universidad Autónoma de Manizales.
    Maloney, Timothy J. Electrónica Industrial Moderna. Edit.
    Prentice Hall Hispanoamericana, S.A. México.
    Edición. 1997.
    CHIN-TENG LIN y C.S. GEORGE LEE, Neural Fuzzy Systems, Edit.
    Prentice Hall.
    Gómez-Allende, Darío Maravall. Reconocimiento de
    Formas y Visión Artificial. Edit. Ra-Ma. Madrid. 1993.
    Gonzales, Rafael C. y Woods, Richard E. Digital Image Processing.
    Edit. Addison-Wesley Publishing Company. USA. 1992.
    RHYS LEWIS. Practical Digital Image Processing. Edit. Ellis
    Horwood Limited. Gran Bretaña. 1990.
    Pappas, Chris H. y Murray, William H. III. Microsoft
    Visual C++ 6.0, Manual de
    Referencia. Edit. Mc Graw Hill. España.
    1999.
    Kruglinski, David J.; Scot, Wingo y Shepherd, George. Programación Avanzada con Visual C++ 6.0.
    España. 1998.
    Asesores
    RUBÉN
    DARÍO FLÓREZ. (Ing. Electricista U. Nal.
    Colombia)
    Profesor de la Universidad Autónoma de Manizales.
    Reconocimiento de imágenes y elementos electrónicos
    de Hardware.
    ÁNGELA ARISTIZABAL. (Ing. de Sistemas UAM Colombia)
    Profesora de la Universidad Autóma de Manizales.
    Digitalización de imágenes.
    NICOLÁS TORO. (Ing. Electricista U. Nal. Colombia)
    Director de carrera de Ing. Electrónica de la Universidad
    Nacional de Colombia.
    Técnicas de procesamiento de patrones
    digitales (Redes Neuronales).

    Resumen (Español)
    Sistema de Visión Artificial para Determinar el Flujo de
    Café Soluble en un Prototipo de Aglomeración de
    Polvos, Mediante Redes Neuronales
    En este trabajo, el lector podrá analizar detalladamente
    un simple subsistema del proceso industrial de
    aglomeración, que por diseño inicial debe funcionar
    continuamente, y que por las condiciones de humedad del ambiente
    presenta problemas de no continuidad de alimentación.
    Dicho subsistema es una bandeja de alimentación a granel
    en la cual se requiere cuantificar su flujo sin la necesidad de
    instalar un sensor comercial o un medidor de flujo sofisticado y
    costoso. Se debe hacer un sistema que asegure la
    alimentación continua y bien distribuida, para optimizar
    la productividad del proceso de aglomeración de
    café, en el cual hay un desempeño del 60% por
    efectos de reprocesos. Los siguientes son los tópicos
    desarrollados:

    1. Prototipo del sistema a mejorar: Prototipo del
      sistema en estudio.
    2. Captura de imágenes y criterios digitales de
      selección: Obtención una buena galería de
      fotos del prototipo para cuantificar el flujo de café
      que entra a la cámara de aglomeración y
      análisis digital posterior
    3. Implementación de una red neuronal artificial
      del tipo "Perceptrón" y con características
      "ADALINE" (Adaptive Linear Element): Para determinar la
      cantidad de flujo que entra a la cámara de
      aglomeración, se implementa una red neuronal
      artificial con 6 nodos en la capa de entrada y 7 nodos en la
      capa de salida.

      Abstract
      (English)
      System of Artificial Vision to Determine the Flow of Soluble
      Coffee in a Prototype of Powders Agglomeration, By means of
      Artificial Neural Networks
      By: William Vallejo Quintero
      In this work, the reader will be able to analyze a simple
      subsystem of the industrial process of agglomeration that
      should work continually for design initial and that for the
      conditions of humidity of the environment it presents
      problems of not continuously feed.
      This subsystem is a bulk feed in which is required to
      quantify its flow without the necessity of installing a
      commercial sensor or a sophisticated and expensive flow
      meter. A system should be made that assures the continuous
      and well distributed feeding, to optimize the productivity of
      the process of coffee agglomeration, in which there is an
      performance of 60% for reprocesos effects. The following ones
      are the developed topics:

    4. Almacenamiento de imágenes patrones y
      entrenamiento de la red: Para que esta implementación
      trabaje en línea con el proceso de aglomeración,
      se diseña un programa computacional en el ambiente
      Windows98 con el software VisualC++, que almacena tres
      imágenes en sendos archivos del tipo BMP, que pueden ser
      seleccionadas por el operario desde un menú y que se
      capturan instantáneamente según lo observado en
      tiempo real por la cámara de video.
    5. Prototype of the system to improve: Prototype of the
      system in study.
    6. Capture of images and digital approaches of
      selection: Obtaining a good gallery of pictures of the
      prototype to quantify the flow of coffee that it enters to the
      agglomeration camera and later digital analysis
    7. Implementation of a artificial neural network of the
      type " Perceptrón " and with characteristic " ADALINE "
      (Adaptive Linear Element): To determine the quantity of flow
      that enters to the agglomeration camera, an artificial neural
      network it is implemented with 6 nodes in the inlet layer and 7
      nodes in the outlet layer.
    8. Storage of patron images and training of the network:
      So that this implementation works on-line with the
      agglomeration process, a computer program is designed in the
      Win98 program with the VisualC++ software, that stores three
      images in BMP files and can be selected by the operative
      personal from a
      menu and that they are captured instantly according to that
      observed in real time by the video camera.

     

     

     

    Autor:

    William Vallejo

    (Ing. Electrónico UAM)
    27 años
    Manizales – Colombia

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter