Fases en el Desarrollo de Sistemas de Inspección Visual

Por el lng. Gustavo Valdés – National Instruments
InTech México Automatización
Julio Septiembre 2007


Configure su sistema de inspección visual con las herramientas adecuadas de software de análisis y hardware de adquisición de imágenes.


El tema de visión artificial no ha sido trivial para los ingenieros de procesos industriales y pruebas por muchos años. Algunos han tenido malas experiencias, otros lo han evitado, y otros más ni siquiera lo han considerado como una alternativa para sus necesidades de automatización. Sin embargo, los avances tecnológicos en los últimos 10 años tanto en las plataformas de software para adquisición de imágenes han cambiado estas tendencias y permitido que ahora se puedan considerar sistemas de visión en las aplicaciones de cada ingeniero.

Haga la elección adecuada

Por mucho tiempo, las herramientas de software para aplicaciones de inspección visual eran el componente más difícil de configurar y utilizar. Hoy en día, éstas han evolucionado y se han convertido en los componentes más sólidos, ofreciendo una mayor variedad de ambientes de desarrollo de aplicaciones. Por ejemplo, los diseñadores pueden elegir diseñar su aplicación en software como programación textual en C++ o Visual Basic, o un ambiente de programación gráfica como LabVIEW, o un ambiente completamente configurable que no requiera de programación.

Elegir una plataforma de software requiere de prestar atención a factores como la facilidad de uso, capacidad de crecimiento, compatibilidad con hardware y costo – no sólo para desarrollar la aplicación sino también para implementarla. La facilidad de uso en las últimas etapas del desarrollo de la aplicación es particularmente importante ya que asegura su soporte en el futuro. Nada es más costoso que tener que reinventar soluciones desarrolladas en el pasado.

Muchos productos de visión artificial están disponibles para probar en su versión de evaluación antes de comprarlos. Un excelente primer paso es aprovechar este periodo de prueba para comparar su facilidad de uso. En muchas ocasiones, el factor determinante será qué tan rápido estará la aplicación lista y corriendo. Finalmente, es clave que el paquete de visión tenga soporte para el ambiente de desarrollo que sea considerado.

Un elemento que se puede utilizar para medir la capacidad del software es su facilidad para mover el diseño de una fase del desarrollo a otra. Existen cuatro fases principales en el diseño de software de visión artificial: pre-diseño, diseño, prototipo, e implementación. Es importante contar con un paquete de software que pueda utilizarse fácil y rápidamente a lo largo de estas etapas.

Pruebas de verificación

La etapa de pre-diseño, como su nombre lo sugiere, es todo aquello previo al diseño de la aplicación. Para ello, un sistema para la adquisición de imágenes basado en pe con una cámara de IEEE 1394 (también conocida como FireWire) es una buena alternativa. El pre-diseño debe comenzar una vez que se tenga una idea general del hardware que se utilizará. Es muy útil tener diferentes muestras (buenas y malas) del producto que se vaya a inspeccionar, iluminación lo suficientemente buena, y una idea general de la cámara que se montará. Posteriormente, hay que montar la cámara de pruebas en el lugar donde se llevará a cabo la inspección y tomar imágenes.

Para simular las condiciones de la forma más cercana a la realidad, es necesario proveer a la cámara de diferentes muestras de los productos bajo inspección buena y mala. Un truco recurrido comúnmente es variar las condiciones de iluminación para simular las diferentes condiciones ambientales y escenarios de iluminación internos, además de desajustes al punto focal del lente para producir imágenes borrosas. En esta etapa, solamente se capturan diferentes imágenes en algún disco duro de la PC sin realizar mucho procesamiento aún.

Básicamente, el objetivo es crear un súper conjunto con todas las condiciones que puedan ocurrir una vez que la aplicación está implementada y corriendo. De esta forma, se pueden considerar todos los casos especiales en el sistema antes de que esté instalado en forma. Una vez que las imágenes sean capturadas, es momento de pasar a la fase de diseño.

Diseño de la inspección visual

La fase de diseño es cuando se experimenta con diferentes herramientas en el paquete de software de visión para verificar cuáles se ajustan mejor al tipo de inspección necesaria. Utilizando su librería de imágenes, es necesario asegurarse que la estrategia de procesamiento desarrollada maneje todas las condiciones impuestas en las imágenes de prueba.

Muchos paquetes de software de visión incluyen “asistentes” de configuración que le permiten al usuario probar diferentes herramientas y explorar condiciones hipotéticas en imágenes de prueba. Muchos de estos asistentes también pueden generar código, permitiéndole al usuario integrar fácilmente éste a su ambiente de desarrollo de software.

Generalmente, la etapa de diseño ocurre en sistemas tipo pes. El procesamiento adicional disponible en las computadoras es benéfico para ejecutar varios algoritmos de visión artificial mientras que la aplicación se termina de ajustar. Durante esta etapa, los ingenieros de diseño aún no necesitan preocuparse por configurar las señales de disparo que iniciarán la adquisición de imágenes o las comunicaciones industriales. El objetivo principal de esta fase es asegurar la disponibilidad de un conjunto de algoritmos robustos para inspeccionar de manera exitosa los productos, independientemente de las condiciones externas.

Es también en esta etapa donde los diseñadores usualmente descubren casos especiales que no pueden ser resueltos por el software de aplicación o los algoritmos desarrollados hasta este momento. La mayoría de las aplicaciones tienen uno o dos de estos casos. En la práctica, la mejor forma de resolver este problema es notificando al operador que la cámara está fuera de foco o reciclando al producto en cuestión para una segunda inspección.

Preparación de un prototipo

Una vez que la fase de diseño ha sido completada y el software de aplicación es capaz de validar casi todos los casos, es momento de pasar a la etapa del prototipo, que usualmente requerirá una transición de hardware. Durante la generación del prototipo, muchas aplicaciones cambian de una plataforma de desarrollo tipo PC a cámaras inteligentes, sistemas compactos de visión, o PCs industriales. Aunque no siempre es el caso, regularmente una computadora de escritorio común no cumplirá los requisitos para una aplicación industrial.

La generación del prototipo no sólo involucra la adquisición de las imágenes, sino además el control de la iluminación, codificadores, sensores de proximidad y otros componentes del sistema. Algunos paquetes de software permiten realizar la transición de la PC a un dispositivo embebido, mientras que otros requerirán iniciar desde cero y desarrollar toda la aplicación de nuevo. Contar con una plataforma de software que sea capaz de evolucionar de un dispositivo de ejecución a otro ahorrará valiosísimo tiempo, permitiendo reducir el tiempo al mercado.

Finalmente, durante esta etapa es importante validar que el dispositivo de hardware soportará la funcionalidad completa requerida por el software. Hay que probar y verificar tantas condiciones como sea posible para asegurarse que los algoritmos creados con las imágenes almacenadas también funcionan con imágenes en vivo con condiciones reales. Mientras más tiempo se invierta en esta parte, mayor será la posibilidad de éxito al momento de implementar la aplicación final.

Decisiones al momento de la implementación

Una vez que el algoritmo ha sido verificado en imágenes reales – utilizando el hardware que se utilizará para las inspecciones en vivo, es momento de pasar a la etapa de implementación. De nuevo, la facilidad de uso en este caso será un factor importante: algunos entornos de desarrollo serán muy sencillos de implementar, mientras que otros no. En aquellas situaciones donde sólo sea necesario realizar una sola implementación, esto no será un factor tan crítico. Sin embargo, si la aplicación requiere de implementar múltiples sistemas en diferentes localidades entonces es importante que el software ofrezca el balance adecuado entre facilidad de implementación y capacidad de uso a lo largo de las diferentes fases, además de la factibilidad de su implementación en más de un sistema.

Consideraciones de costo

Después de todo lo que requiere desarrollar la aplicación de visión artificial en software, los diseñadores siempre se preparan para lo peor cuando preguntan cuál será el costo final del sistema. La respuesta a esto depende de diferentes factores. Los dos primeros costos asociados son el costo del software de visión artificial como tal y el costo de su despliegue o implementación. Algunos entornos de desarrollo son más costos en un principio, pero su costo de despliegue es bajo. Ésta no es la mejor alternativa para aquel usuario final de una sola implementación, pero sí se convierte en un verdadero beneficio para aquéllos que distribuyen su aplicación en múltiples sistemas.

El tercer costo está asociado con la curva de aprendizaje requerido para familiarizarse con el software. Ésta se puede calcular en las horas invertidas para aprender el entorno, lo cual puede o no incluir cursos de capacitación para acelerar el proceso. Ésta es otra razón adicional por la cual la facilidad de uso es clave.

El último costo a tomar en consideración es el costo de mantenimiento. La actualización a un procesador de mayor velocidad o a una cámara de mayor resolución puede ser una tarea difícil; asegúrese de considerar esto al evaluar el software. Algunos ambientes de desarrollo le facilitan la actualización de su hardware, mientras que otros no harán el proceso tan transparente.

0
Compartir:

Dejar un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.