¿Cuál fue el reto o problema a resolver?
Desde INFINITIA desarrollamos un proyecto de innovación relacionado con la inteligencia artificial, diseñando y materializando un sistema de visión por computador para llevar a cabo tareas de detección, localización y recogida de piezas en una línea de producción.
Este sistema de visión artificial debía reconocer unas tapas metálicas para la posterior recogida por parte de un robot con un imán. Para ello, el sistema tenía que detectar las tapas, localizarlas en el plano y clasificarlas.
Así pues, desde el área de Desarrollo de Producto desarrollamos un sistema que emplease un aprendizaje profundo aplicado a la visión por computador para la detección de objetos. A través del diseño de redes neuronales, conseguimos detectar con éxito la posición y orientación de todas las tapas de la bandeja con una tasa de acierto superior al 99%, cumpliendo con los objetivos impuestos por el cliente y superando con éxito los considerables retos que suponía este caso.
Tras visitar las instalaciones del cliente para inspeccionar in situ la estación de la línea de producción y conocer las especificaciones técnicas, se abordó el estudio del caso de uso. Para ello, se estableció el objetivo del proyecto, se investigaron diferentes redes neuronales disponibles y se concretó el procedimiento a seguir, así como las herramientas a utilizar.
Este proyecto precisaba un desarrollo complejo, que se realizó a varios niveles. Nuestro equipo programó el software de manejo de la cámara, el software de aprendizaje profundo mediante redes neuronales y el software de la interfaz de uso del sistema. En todos ellos se utilizó el lenguaje de programación Python, el más utilizado para inteligencia artificial y visión por computador, y diversas librerías de manejo de cámaras y de entrenamiento de redes neuronales, como TensorFlow y PyTorch.
El último paso fue implementar el sistema de visión artificial en la línea de producción, mediante cámaras industriales, un ordenador con GPU para ejecutar los cálculos de inferencia sobre las imágenes capturadas y acelerar el tiempo de cómputo, y pantallas para la visualización de los resultados. Una vez concluido el montaje, procedimos a la puesta en marcha del sistema, comprobando su correcto funcionamiento y subsanando las posibles incompatibilidades con el hardware definitivo.