Visión artificial

Visión artificial

Visión Artificial.Tecnología habilitadora de la industria 4.0

La visión artificial ofrece funcionalidades cada vez más avanzadas en sistemas de control de calidad, inspección de defectos, verificación de montajes, trazabilidad, metrología, lectura de códigos, guiado de robots y bin picking.

Vision Artificial

La visión artificial y su aplicación en la industria 4.0 puede aportar datos y estadísticas para mejorar y controlar todo el proceso de fabricación. De esta manera todos aquellos proyectos industriales que requieran trazabilidad, almacenamiento y recopilación de datos o integración con arquitectura MES o con el sistema ERP del cliente, pueden obtener estas funcionalidades gracias a la integración de hardware de altas prestaciones y software tecnológico personalizado.

Dentro de los sistemas de visión, algunos son sensores sencillos y otros utilizan una tecnología bastante compleja. La utilización de un tipo u otro dependerá de las necesidades del proyecto.

  • Sensores de visión.- Son sistemas sencillos de instalar, pero también más básicos. Su tarea se limita a detectar el paso de un objeto o el fallo.
  • Cámaras inteligentes y sistemas de visión integrados.- Ofrecen mejores prestaciones que los sensores de visión y tienen una gran potencia de cálculo. Esto les permite dar solución a la mayoría de aplicaciones de visión industrial.
  • Sistemas de visión avanzados.- Guardan muchas similitudes con lo anteriores, pero cuentan con un hardware mucho más potente. Esto permite al sistema analizar una gran cantidad de datos simultáneamente y trabajar con algoritmos de análisis más avanzados.

Comprende disciplinas dentro del mundo de la robótica y de  la informática, cuyos avances han permitido el diseño de soluciones automatizadas inteligentes, dinámicas y versátiles, que se suelen apoyar en la  inteligencia artificial utilizando algoritmos para decodificar las imágenes y reconocer  formas, figuras y patrones, que luego pueden usar en la industria.

Visión Artificial

En deteccion de objetos, el objetivo es enseñar a los ordenadores a reconocer modelos y partrones en las imagenes que puedan diferenciar y clasificar. El analisis de un gran volumen de imagenes y de videos es algo que los sistemas de inteleigencia artificial pueden hacer en segundoLa visión en 3D, tridimensional tiene una infinidad de aplicaciones. La capacidad de ver los objetos y percibir el entorno tal como lo haría la visión humana con la potencia de un entorno virtual.

La fabricación de equipos electrónicos es una de las áreas que mayor demanda tiene de este tipo de soluciones. La selección de piezas y la soldadura automatizada garantizan la calidad de los ensamblajes de manera automatizada y continua.

La industria de la automoción gracias a la incorporación de robots ha sido  capaz de llevar a la práctica  los procesos de montaje y soldadura, pudiendo reconocer piezas, inspeccionar soldaduras, comprobar pintura y más.

En logística se requieren de procedimientos  repetitivos que son perfectos para la visión por ordenador, como las tareas de empaquetado, el picking, la alimentación de piezas para su procesamiento mecánico, la inspección de calidad de productos terminados y la clasificación de elementos.

En seguridad es de gran ayuda el controlar al personal o detectar intrusos y detectar la proximidad para detener los trabajos o avisan de potenciales accidentes.

Entre las ventajas de aplicar visión por computado se encuentran las siguientes:

  • Solución para actividades repetitivas.
  • Mayor seguridad en el uso de equipos industriales.
  • Facilidad de aprendizaje y uso.
  • Permiten conseguir altísimos niveles de control de calidad.
  • Detección instantánea de defectos.
  • Detección milimétrica para guiar actividades de máxima precisión.
  • Inspección de superficies de máxima exigencia.

Redes Neuronales Convolucionales.

Deep Learning

Las redes neuronales artificiales que  imitan  la actividad en capas de neuronas en la neo corteza, que es la parte del cerebro humano donde ocurre el pensamiento.

Estas redes neuronales aprenden estructuras jerarquizas y niveles de representación y abstracción para comprender los patrones de datos procedentes de fuentes como imágenes video, sonido o texto. En estos modelos, las abstracciones de nivel superior se definen como la composición de la abstracción de nivel inferior.

Mediante el Deep Learning permite que un sistema aprenda funciones complejas asignadas desde el espacio de entrada al espacio de salida, sin muchas dependencias de las funciones creadas por lo humanos.

Una neurona tiene una o más entrada y una salida y dependiendo del valor de esas entradas, la neurona puede activarse, es decir pasar de estar apagada a encendida, pensando en un interruptor binario 0 y 1. En el caso de Deep Learning las estructuras algorítmicas  permiten modelos que están compuestos de múltiples capas de procesamiento, construidos con neuronas artificiales, para aprender representaciones de datos, con múltiples niveles de abstracción que realizan una serie de transformaciones lineales  y no lineales, que a partir de los datos de entrada generan una salida próxima a la esperada.

El aprendizaje supervisado en este caso consiste en obtener los parámetros de estas transformaciones y conseguir que estas sean optimas, es decir que la salida producida y la esperada difieran lo mínimo posible

En la figura se representa una red neuronal artificial con tres capas, una de entrada que recibe los datos de entrada, una de salida que devuelve la predicción realizada y las capas del medio, que se llaman  ocultas.

Se pueden tener muchas más capas cada una con una cantidad distinta de neuronas, interconectadas unas con otras de diferente forma entre las neuronas de diferentes capas.

Celula Neuronal

Celulas Neuronales

Son capaces de aprender en las primeras capas una serie de características básicas de la imagen, como son líneas o formas más o menos simples y en posteriores fases aprenden a discriminar entre elementos más complejos, como ojos u orejas de una cara. Finalmente, en capas más profundas son capaces de diferenciar objetos complejos, como personas, perros, gatos o coches.

Una convolución es una operación que involucra dos matrices. Por un lado la propia imagen a la que queremos aplicar la convolución, y otra matriz más pequeña llamada kernel.

El resultado de la convolución, producto escalar de dos matrices,  es otra matriz de las mismas dimensiones que la imagen original. Para calcular la matriz de convolución vamos desplazando el kernel por cada uno de los elementos de la matriz principal y hacemos la suma de los productos de cada uno de los elementos de ambas matrices.

El kernel  pasaría por cada uno de los elementos de la matriz, la imagen descompuesta en pixels, para ir generando la matriz de convolución. Podemos imaginar un kernel como una especie de filtro que nos permite hacer cosas como detectar en las imágenes bordes, líneas verticales y horizontales, así como desenfocar y enfocar la imagen.

Si se convierte la imagen a escala de grises,  nuestra imagen se puede operar como si fuera una sola matriz. Si fuera una imagen en color tendríamos tres matrices, una por cada canal de color RGB.

La arquitectura típica de una CNN dedicada al reconocimiento y clasificación de imágenes, está dividida en dos partes. La etapa convolucional y la fase de clasificación.

La primera utiliza dos tipos de capas, la convolución y la de Max Pooling.  El primer parámetro es el número de  kernels,  que se va a aplicar a la imagen, y el segundo parámetro es el tamaño de estos.

Cada kernel genera un conjunto de características en la imagen inicial, algunos  detectarán  líneas verticales, otros las horizontales, otros las esquinas, etc. Como resultado se va a obtener una serie de imágenes, tantas como kernels apliquemos,  en las que la red será capaz de reconocer formas simples como líneas y otros tipos de características.

 Si vamos repitiendo el proceso, y pasamos el resultado por otra capa convolucional, esta será capar de reconocer elementos más complejos, como una oreja o un ojo  de una cara, y así hasta ser capaz de reconocer un gato o un perro.

El otro tipo de capa que usa una red convolucional para reconocimiento de imágenes es MaxPooling. La capa de reducción o pooling, se coloca generalmente después de la capa convolucional y su utilidad principal radica en la reducción de las dimensiones espaciales (ancho x alto) del volumen de entrada para la siguiente capa convolucional. No afecta a la dimensión de profundidad del volumen.

Esta capa aplica un filtro que reduce la dimensión de la imagen, esto es, la hace más pequeña. El objetivo es reducir el coste de ordenador y minimizar la posibilidad de overfitting y se consigue aumentar la abstracción sobre los datos de entrada. El sobreajuste o overfitting es el efecto de sobreentrenar un algoritmo de aprendizaje con unos ciertos datos para los que se conoce el resultado deseado.

El tamaño de los kernels es de  tamaño impar (3×3, 5×5, etc.) y es habitual que el número de kernels que se aplica en cada capa convolucional vaya en aumento y tome valores,  potencias de 2,  cada vez más grandes según se profundiza en la red.

En redes complejas se utilizan  hasta 512, 1024, 2048 y hasta más número de filtros. También es habitual incluir una capa de max pooling cada pocas capas de convolución.
La última fase de la red es la de clasificación. Se utiliza una capa densamente conectada. Previamente se aplanan con flatten, combinación de  todas las capas de texto, imágenes y otros elementos gráficos en una sola capa,  las salidas de la fase convolucional, que es una imagen en dos dimensiones, para convertirlo en un vector.

En la última fase se utiliza la función de activación softmax,  usando como la capa final de los clasificadores, de diez salidas, una por cada tipo de imagen a clasificar,  que nos devuelve a una distribución de probabilidad de cuál es la probabilidad de que la imagen pertenezca a cada una de las clases

Imagen en pixels 

Producto escalar de los pixels de la matriz por el kernel

El resultado es una matriz de pixels diferente                 

Este tipo de red es una variación de una percepción  multicapa, sin embargo, debido a que su aplicación es realizada en matrices bidimensionales, son muy efectivas para tareas de visión artificial, como en la clasificación y segmentación de imágenes, entre otras aplicaciones.

Aprenden  a reconocer objetos dentro de imágenes, pero para ello necesitan “entrenarse”  con  una cantidad importante de “muestras” ,  más de 10.000, de ésta forma las neuronas de la red van a poder captar las características únicas de cada objeto y a su vez, poder generalizarlo al proceso de aprendizaje de un algoritmo ” .

Sistemas Multiespectrales e Hiperespectrales

Cuando se toma una fotografía digital en color  estamos tomando tres fotografías, y  la imagen final es una combinación de tres colores, rojo, verde y azul, cada uno realizado en  un área amplia del espectro. Los colores finales visibles para el ojo humano se forman superponiendo estos colores para reproducir la variedad de los diferentes colores.

En cambio, cuando tomamos una imagen espectral, se toman docenas de imágenes y la imagen final es una combinación de hasta 220 colores. Al aumentar el número de imágenes y reducir el espectro, se obtienen datos extremadamente precisos sobre el objetivo que son invisibles para el ojo humano.

Las cámaras de visión hiperespectral combinan las ventajas de la visión artificial con la potencia de la espectroscopia de infrarrojos.  Analizando la respuesta espectral es posible medir la cantidad de un determinado compuesto o identificar de qué materia se trata. Al realizar el análisis espectral hasta el nivel de píxeles, estas cámaras proporcionan resultados inigualables a la hora de analizar la composición física y química de muestras grandes y pequeñas.

Estas cámaras son optimas para la automatización de tareas de inspección de propiedades o defectos, que no pueden ser realizadas mediante métodos convencionales.

Para entender cómo funcionan estas cámaras  primero tenemos que comprender cómo ve el ojo humano. Cuando vemos un objeto, es porque está siendo iluminado por una luz visible,  compuesta por diferentes longitudes de onda en la banda de los 400nm y los 700nm, que es lo que se conoce como el espectro visible.

Este espectro visible es una pequeña parte del espectro electromagnético que se extiende desde la radiación de menor longitud de onda, como los rayos gamma y los rayos X, pasando por la radiación ultravioleta, la  comentada luz visible y la radiación infrarroja, hasta las ondas electromagnéticas de mayor longitud de onda, como son las ondas de radio.

Cuando aplicamos visión artificial en un proceso industrial, uno de los primeros pasos es adquirir una imagen de aquello que se quiere analizar.

Las imágenes monocromo o en escala de grises se adquieren mediantecámaras monocromas y trabajan en una escala de grises de 0 a 255, y muchas aplicaciones de visión pueden resolverse mediante cámaras monocromo.

Las imágenes obtenidas a color tienen  tres veces más datos que las imágenes en escala de grises. El proceso de obtención de las imágenes es más complejo, pero es decisivo en muchas aplicaciones donde el color es una característica relevante.

También existen las imágenes multiespectrales en las que aumentamos de dimensión y tenemos información de varias longitudes de onda, desde 2 a 10, no contiguas entre sí. Nos sirven para detectar algunas diferencias en composición.

Las cámaras hiperespectrales están equipadas con sensores capaces de percibir centenares de longitudes de onda dentro y fuera del espectro visible, y combinan la visión artificial con la espectroscopia infrarroja para  crear mapas  tridimensionales, y contienen datos extremadamente precisos que son invisibles para el ojo humano. Permiten identificar lacomposición de productos en continuo, identificar distintos materiales, y ofrecer un mapa de su distribución.

Rápidas y fiables, estas cámaras resuelven una amplia gama de tareas analíticas en procesos como clasificación, análisis de ingredientes, o distribución y se utilizan en el sector industrial para la automatización de tareas de inspección de defectos o análisis de propiedades, difíciles de resolver por  visión artificial convencional. Se pueden implementar tanto en entornos de laboratorio como en líneas de producción.

Para entender cómo funciona una cámara hiperespectral hay que  comprender conceptos como:

  • Imagen hiperespectral.- Es una forma no invasiva de identificar diferentes materiales o definir sus propiedades, lo cual es muy útil para caracterizar objetos con un gran nivel de precisión.
  • Espectrómetro.- Equipos que  registran información física o química de manera muy precisa y en tiempo real.
  • Datos espectrales.- Se analizar con métodos quimiométricos lo cual permite una clasificación y cuantificación muy precisa y detallada.

Las cámaras digitales corrientes funcionan como un ojo humano, sólo son capaces de descubrir estas bandas espectrales, por lo que toda aquella información que quedar fuera del espectro de luz visible, permanece oculta. Con una cámara hiperespectral podemos capturar imágenes en cientos de bandas como si tuviéramos cientos de receptores de color.

Permite la identificación de los materiales que componen el objeto analizado. A partir de cada imagen se obtiene un perfil hiperespectral  y se identifican las características de la materia, extrayendo una gran cantidad de información que no se podría ni ver ni analizar a simple vista.

Una imagen hiperespectral nos ayuda a ver más allá de lo que ven nuestros ojos y representa información física y química de lo que estamos viendo en tiempo real. Como consecuencia, permite realizar la clasificación de un material sin necesidad de pasar por el laboratorio.

Las mayores ventajas del uso de esta tecnologia es que permite realizar analisis cuantitativos y cualitativos en la superficie de una imagen

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *