Visión artificial, una alternativa a la sensórica convencional en la implementación de los sistemas de control

Artificial vision, an alternative to the conventional sensor in the implementation of control systems


Alexander Vasco Orozco
Ana María Tamayo Ocampo


Recibido: 02/02/2016- Aceptado: 04/05/2016

Cómo citar este artículo: A. Vasco y A. Tamayo. “Visión artificial, una alternativa a la sensórica convencional en la implementación de los sistemas de control”, IngEam, vol. 3, n.° 3, pp. 1-8, 2016

Resumen

En el presente artículo se ilustra la importancia de una herramienta para la adquisición, procesamiento y aplicación en el análisis y control dinámico de sistemas mecatrónicos y electro-mecánicos, como instrumento activo en el proceso de enseñanza y una alternativa económica y sencilla de adquirir para la implementación física de los proyectos, enfocado a las áreas de control y visión artificial; siendo una de las estrategias más directas, eficientes y novedosas de aprendizaje, la visión artificial es ideal para el entendimiento del estudiante a nivel profesional, en esta ocasión a través del software Matlab (Simulink), brindando un acercamiento a la actualidad de los sistemas y algoritmos aplicados en este campo, y una herramienta tangible para su implementación dinámica.

Palabras clave: Algoritmos de control, algoritmos dinámicos, aprendizaje significativo, educación, procesamiento de imágenes, visión artificial.

Abstract

article illustrates the importance of a tool for acquisition, processing and application in the analysis and dynamic control of mechatronics and electro-mechanical systems as an active instrument in the teaching process and an economical and simple alternative to acquire the Physical implementation of the projects, focused on the areas of control and artificial vision; Being one of the most direct, efficient and innovative strategies of learning, the artificial vision is ideal for the student's understanding at a professional level, this time through the Matlab software (Simulink), providing an approach to current systems and Algorithms applied on this field, and a tangible tool for its dynamic implementation.

Keywords: Control algorithms, dynamic algorithms, meaningful learning, education, image processing, artificial vision.

Introducción

En la actualidad, la formación universitaria en el área de ingeniería está basada en la implementación de los conceptos teóricos através de proyectos, este hecho es aún más visible en las temáticas de control y automatización, en los cuales, sin importar el origen o el tipo de implementación, los productos o prototipos finales deben tener dispositivos con capacidad de detectar cualquier dominio de energía (mecánico,neumático, térmico entre otros) y transformarlo en señales eléctricas, para así poder procesarlas en dispositivos de controla través de algoritmos computacionales o análogos. Estos artefactos son los llamados sensores y aunque existen para diferentes variables y con muchos diferentes principios de funcionamiento, casi cualquiera puede ser reemplazado por un sistema de visión artificial. Con referencia a lo anterior, se puede definirla visión artificial como un campo de la inteligencia artificial que, mediante la utilización de las técnicas adecuadas,permite la obtención, procesamiento y análisis de cualquier tipo de información obtenida a través de imágenes digitales. Por tanto, la Visión Artificial o también llamada Visión por Computador, pretende capturar la información visual del entorno físico para extraer características relevantes visuales,utilizando procedimientos automáticos. En resumen, visión es un proceso que produce a partir de imágenes del mundo exterior una descripción útil para el observador y no tiene información irrelevante [1].

De esta forma, la implementación de mecanismos automatizados, o sistemas de control se vuelve mucho más sencilla,rápida, confiable y económica, ya que se cambian los dispositivos sensores, que en la mayoría de ocasiones deben ser comprados fuera de la ciudad, son costosos, requieren circuitos adicionales de acondicionamiento y son muy sensibles a variaciones de energía o derivas térmicas, lo que los hacen dispositivos muy frágiles. Además, deben estar en contacto directo con el proceso, lo que se ve reflejado en el rápido desgaste por condiciones de funcionamiento como temperatura, humedad entre otros. Por otra parte, la misma medición se logra con un dispositivo para adquisición de imágenes,que en general puede ser una cámara web doméstica complementada con un software para procesamiento de imágenes.

En el presente documento se ilustran los conceptos, dispositivos, herramienta software y demás elementos a tener encuenta para poder utilizar de una manera adecuada, los medios de la visión artificial como sistema de detección y censado de un sistema autónomo en tiempo real, además de una experiencia de aula con resultados exitosos.

Conceptos importantes

La visión artificial la componen un conjunto de procesos destinados al análisis de imágenes. Estos procesos son: captación de imágenes, memorización de la información, procesado e interpretación de los resultados. Con la visión artificial se pueden:

  • Automatizar tareas repetitivas de inspección realizadas por operadores.
  • Realizar controles de calidad deproductos que no era posibleverificar por métodos tradicionales.
  • Realizar inspecciones de objetos sin contacto físico.
  • Realizar la inspección del 100 % dela producción (calidad total) a gran velocidad.
  • Reducir el tiempo de ciclo enprocesos automatizados. Realizarinspecciones en procesos dondeexiste diversidad de piezas concambios frecuentes de producción.

Las principales aplicaciones de la visiónartificial en la industria actual son:

  • Identificación e inspección de objetos.
  • Determinación de la posición de los objetos en el espacio.
  • Establecimiento de relaciones espaciales entre varios objetos(guiado de robots).
  • Determinación de las coordenadasimportantes de un objeto.
  • Realización de mediciones angulares.
  • Mediciones tridimensionales.

Definiciones

  • Píxel. Una imagen digital se considera como una cuadrícula. Cada elemento de esa cuadrícula se llama Píxel (Picture element). La resolución estándar de una imagen digital se puede considerar de 512x484 Pixel [2].
  • Nivel de grises. Cuando una imagenes digitalizada, la intensidad del brillo en la escena original correspondiente a cada punto es cuantificada, dando lugar a un número denominado “nivel de gris”.Imagen binaria. Es aquella que sólo tiene dos niveles de gris: negro y blanco. Cada píxel se convierte en negro o blanco en función de lllamado nivel binario o UMBRAL.
  • Escena. Es un área de memoria donde se guardan todos los parámetros referentes a la inspección de un objeto en particular: Cámara utilizada, imágenes patrón memorizadas, tolerancias, datos a visualizar, entradas y salidas de control, etc. Window (ventana de medida). Es el área específica de la imagen recogida que se quiere inspeccionar [3].

Aplicaciones de la visión artificial

Las aplicaciones son tantas como nuestra imaginación y eldispositivo de procesamiento lo permitan, sin embargo las aplicaciones típicasde la visión artificial se muestran a continuación:

Figura 1. Aplicaciones de la visión artificial

Etapas básicas de una aplicación en visión Artificial

Aunque cada aplicación de Visión Artificial tiene susespecificidades, se puede decir que existen etapas comunes. No necesariamentedebe cubrirse todas en una implementación concreta. Hay algunas veces que solose  tiene un subconjunto de las fases quese van a citar. Por otro lado, aunque la exposición muestra un encadenamientotemporal de una etapa sobre otra, no es real esta simplificación; se hace parafacilitar la comprensión y en la puesta en práctica siempre se encuentrarealimentación entre  las distintas fases.

La primera etapa es la construcción del sistema deformación de las imágenes. Su objetivo es realzar, mediante técnicasfotográficas (iluminación, óptica, cámaras, filtros, pantallas), lascaracterísticas visuales de los objetos (formas, texturas, colores, sombras).El éxito de muchas aplicaciones depende de un buen diseño en esta primeraetapa.

Una vez adquirida la imagen se pasará a la etapa depreprocesado. El objetivo es mejorar la calidad informativa de la imagenadquirida. Se incluyen operaciones de mejora de la relación señal-ruido tales como denoising, para atenuarlas  imperfecciones de la adquisicióndebido a la función de transferencia del sistema de captación de imágenes;deconvolution para regularizar la imagen, mejorar el contraste u optimizar ladistribución de la intensidad y enhancement para realzar algunascaracterísticas de la imagen, como bordes oáreas.

Segmentación es la fase donde se particiona laimagen en áreas con significado. Por ejemplo, en una imagen de satélite sedetermina las zonas de agua, de cultivo, urbanas, carreteras. Existen variastécnicas: crecimiento de regiones, umbralizaciones, discontinuidades, uso delcolor o de movimiento, entre otras.

Una vez dividida la imagen en zonas concaracterísticas de más alto nivel se pasará a su extracción de lascaracterísticas. Básicamente son de tipo morfológico, tales como área,perímetro, excentricidad, momentos de inercia, esqueletos, pero también sepuede emplear características basadas en la textura o en el color.

Fíjese que se ha pasado de una informaciónvisual primaria a algo más elaborado. Con las características analizadas decada región se debe de clasificar e interpretar. Por tanto, se diseñaránclasificadores que le dé a cada área segmentada una etiqueta de alto nivel,como por ejemplo, en una imagen aérea qué zonas son tierras de cultivo,áreas   urbanas, etc. Existe un elenco de técnicas declasificación, como redes neuronales, sistemas expertos, lógica borrosa,clasificadores estadísticos, etc.

Figura 2. Etapas dela visión artificial

Herramientas Software

Aunque existen innumerables herramientascomputacionales para poder procesar los datos provenientes de la cámara,resaltan dos software por su interfaz amigable y cantidad de funciones quepermiten al usuario realizar grandes y complejos algoritmos, estos programasson Matlab y LabView, ambos presentan toolbox especializados para visiónartificial:

IMAQ de LabView

IMAQ (ImageAcquisition), durante las versiones 6y 7.1 de LabVIEW se llamaba IMAQVision a la librería que poseía las funcionesde procesamiento digital de imágenes y que permitían implementar lasfuncionalidades de una visión artificial; a partir de la versión 7.1.1 seprocedió a llamar a esta librería NI Vision.

Actualmente existe un paquete que se llamaNI-IMAQ que contiene las librerías que controlan la adquisición de imágenes ylos instaladores que permiten utilizar dispositivos de adquisición de imágenesde National Instruments o de estándares reconocidos como las cámaras IEEE. Elconjunto de librerías que nos facilita IMAQVision para el diagrama de bloquesson las siguientes:

Figura 3. Bloques IMAQ de LabView

Ni-IMAQ. Poseelos instrumentos virtuales (Virtual Instruments, VI) que establecen el sistemade adquisición y captura  las imágenes

Vision Utilities. Proporcionalos instrumentos virtuales que permiten crear y manipular imágenes en NIVision, leer y escribir imágenes en diferentes formatos, establecer regiones deinterés, manipular los píxeles, sobreponer líneas o rectángulos, calibrar pararealizar conversiones de medidas de píxeles a medidas del mundo real.

Figura 4. Bloques de Vision Utilities

Simulink de Matlab:

MATLAB (abreviatura de MATrix LABoratory,"laboratorio de matrices") es un software matemático que ofrece unentorno de desarrollo integrado (IDE) con un lenguaje de programación propio(lenguaje M). Está disponible para las plataformas de Unix, Windows y Apple.Entre sus prestaciones básicas se encuentran: la manipulación de matrices, larepresentación de datos y funciones, la implementación de algoritmos, lacreación de interfaces de usuario (GUI) y la comunicación con programas enotros lenguajes. Además, se pueden ampliar las capacidades de  MATLAB con las cajas de herramientas(toolboxes). Para el caso de manipulación de imágenes se emplea el toolbox“ImageProcessing”, Simulink presenta cada una de las funciones de procesamientode imágenes en bloques configurables para cualquier acción necesario deprocesamiento de imágenes.Más adelante se describen los principales bloques deSimulink de Matlab.

Experiencia de aula

La institución universitaria EAM no es ajena aeste tema, su programa de Ingeniería Mecatrónica ha venido trabajando de formasistemática en la consolidación de la visión artificial como herramientapráctica para el estudiante, aplicados especialmente en inteligenciaartificial, robótica móvil y control de procesos. A continuación sedescribe       una experiencia en la implementación de estos sistemas en el controlde un sistema de levitación neumática en el espacio académico Control II deoctavo semestre. 

En general un levitador es un sistema cuyoobjetivo es controlar la posición de un objeto a una altura deseada, a travésde la manipulación de un flujo, que en este caso será aire, generado por unapequeña turbina al fondo de un recipiente como se puede observar en lasiguiente imagen.

Figura 5. Levitador neumático

Sin embargo, estos sistemas por lo generaldetectan la posición mediante un arreglo de varios sensores ópticos réflex a lolargo de todo el sistema, es decir varios emisores de haz de luz y variosreceptores, cabe resaltar que solo se podrán detectar posiciones específicas yademás se requieren etapas de acondicionamiento adicionales; también es comúnutilizar sensores ultrasónicos o de radiofrecuencia, pero los costos, las nolinealidades y el acondicionamiento serian una dificultad. Por tanto, para el proyectorealizado fue una alternativa perfecta el uso de la visión artificial para ladetección total del nivel del elemento que en este caso era una esfera deicopor.

Configuración del Software

El software utilizado fue simulink de  Matlab, quien a través de la unión de  bloques permite el procesamiento de la imageny la selección de la información relevante del proceso, para esto se realizó elsiguiente algoritmo:

Figura 6.Implementación en Simulink

  1. El primer bloque es el utilizado para adquirir lasimágenes desde la cámara, y leerá una imagen cada cierto tiempo definido por eltiempo de muestreo. Se pueden adquirir los datos en blanco y negro (escala degrises) o a color RGB (red, green,y blue).
  2. La segunda sección selecciona o limita a un solo colortoda la imagen, comparando el valor de cada pixel que corresponda al colordeseado en este caso, detectara todo aquello que sea negro. Paraeste caso se encuentra en el rango entre 0.02 y 0.04 para cada color RGB; cuando esta condición secumple el bloque AND habilita la continuidad de la información.
  3. En la tercera parte se le asignan bordes, límites yforma a los colores seleccionados (negro en este caso), y al área seleccionadose le puede extraer el centroide del contorno. Esto genera una gran matriz de información que debe ser reducida solo con la información deseada, que sería laposición en la vertical o eje z.
  4. En esta parte se toma toda la matriz que contienela información de los 3 ejes, y se extrae posición en el eje Z, ya que se desea controlar la posiciónvertical de la esfera.
  5. En la la quinta parte se visualiza el resultado detodo el procesamiento en la imagen real.
Con esta implementación obtenemos en tiempo real la información de la posición vertical de la esfera, es decir que todo el sistema electrónico fue reemplazado por una simple cámara web.

Figura 7. Detección de la posición de la esfera

Finalmente se complementa el sistema de salida de datos a través de una tarjeta de adquisición NI6008 de National Instruments y una estrategia de control PI (proporcional - integral) sintonizada por el método de oscilación de Ziegler - Nichols. El resultado final se observa a continuación:

Todo el conjunto como sistema de control funciona muy bien, tanto así que el sistema es capaz de seguir dinámicas tipo senoidales de    baja    frecuencia.    Para    finalizar    es importante resaltar que toda la implementación se realizó con una cámara web comercial (domestica), y fue fácilmente utilizada debido a que nunca estuvo en contacto con el sistema físico.

Figura 8. Implementación de controlador PI.

Figura 9. Respuesta real ante una senoidal 

Conclusiones

Es de gran importancia para la educación universitaria actual, conocer, manipular e implementar los sistemas de visión artificial como una herramienta alternativa a la sensórica tradicional y así poder generar proyectos de mayor precisión a menor costo.

Es necesario seleccionar los parámetros adecuados para el buen procesamiento de la imagen, ya que un tiempo de muestreo   muy pequeño, saturara el procesador y bloqueara el sistema, lo que puede tener consecuencias muy graves en el proceso, ya que el controlador queda sin la información de retroalimentación [4].

Todo el sistema toma robustez a medida que el dispositivo de adquisición (cámara) cumpla con las especificaciones necesarias para tal fin, y actualmente el mercado ofrece soluciones integrales con respecto a dispositivos y procesadores dedicados para visión artificial [5].

La visión artificial se convierte en una poderosa herramienta y un gran complemento a las competencias técnicas de los ingenieros, especialmente de los mecatronicos, ya que permite integrar sistemas con mayor cantidad de variables y detectar y procesar toda esta información para  sistemas   inteligente   y  multivariables [6].

Referencias bibliográficas

[1]        A           Borja,     Visión           por       Computador. Universidad Politécnica de Valencia  [En Línea]. 2014,  23  de febrero. Disponible en http://www.ehu.eus/ccwintco/uploads/archive/2/2d/20140908124043!Vision_2014 0908

[2] Visión Artificial, Aplicación práctica de la visión artificial en el control de procesos  industriales  [En  Línea]2013, 15        de        agosto.            Disponible        en http://visionartificial.fpcat.cat/wp- content/uploads/UD_1_didac_Conceptos_previos.pdf

[3] Universidad    Politécnica de     Madrid. Visión    Artificial:           Fundamentos       y Aplicaciones  [En  Línea].. 2014, 15 de agosto.                                   Disponible en http://arantxa.ii.uam.es/~jms/seminarios_ doctorado/abstracts2006- 2007/20070503LSalagado.pd

[4] Universidad Politécnica de Madrid, Introducción a la Visión Artificial [En Línea].. 2015, 15 de agosto. Disponible en http://www.elai.upm.es/spain/Asignaturas/Robotica/ApuntesVA/cap1IntroVA.pdf

[5] National Instruments Corporation, 10 Things            to         Consider           When   Choosing Vision Software [En  Línea].. 2016, 15 de agosto.               Disponible                   en http://zone.ni.com/devzone/cda/tut/p/id/2957

[6] Universidad Autómata de Ciudad Juárez, Procesamiento Digital de imágenes, [En  Línea].. 2016, 15 de agosto. Disponible en http://www.uacj.mx/Publicaciones/GeneracionImagenes/imagenesCap8.pdf

[7] Etitutela, Visión artificial [En  Línea].. 2016,           15        de        agosto.            Disponible        en http://www.etitudela.com/celula/downloads/visionartificial.pdf






















Enlaces refback