La visión artificial está en constante evolución en parte motivada por los avances en la Inteligencia Artificial (AI) y la optimización de los algoritmos basados en Deep Learning. El Deep Learning es una tecnología que permite que un ordenador aprenda como un ser humano lo que facilita a los sistemas de visión artificial emplear métodos de aprendizaje más robustos, efectivos y muy similares a los del cerebro humano.
En el proceso de aprendizaje humano utilizamos imágenes. Nuestra mente aprenderá ciertas características de estas imágenes y sabrá tomar una imagen que no ha visto antes e identificar el objecto que se quiera reconocer.
Esta es la forma humana de aprender, y es lo que hace que se nos dé tan bien hacer estas tareas de reconocimiento.
Sin embargo, para que lo haga un ordenador, hay que utilizar algoritmos complejos para describir lo que ha de reconocer. Con los métodos tradicionales de procesado de imagen es necesario especificar que nos encuentre una estructura de cierta forma, de tales posibles colores, con determinadas características, tamaño, etc…
Con el avance de la tecnología de visión artificial es imprescindible utilizar soluciones que se basan en este método más humano de aprendizaje, que es lo que viene a ser el deep learning.
De manera similar al cerebro humano, una neurona artificial contiene una función de activación no lineal y tiene varias conexiones entrantes y salientes ponderadas. Las neuronas están capacitadas para filtrar y detectar características o patrones específicos recibiendo la entrada ponderada, transformándola con la función de activación y pasándola a las conexiones salientes. Básicamente la red consiste en una entrada, una salida y varias capas ocultas completamente conectadas entre ellas. Cada capa se representa como una serie de neuronas y progresivamente extraen características de la entrada hasta que la capa final donde esencialmente toma una decisión sobre lo que muestra la entrada. Cuantas más capas tenga la red más características aprenderá y más compleja es la estructura. Una de las técnicas utilizadas para facilitar el entrenamiento consiste en trabajar con transfer learning aprovechando el conocimiento de redes pre-entrenadas y con esto utilizar las imágenes específicas de la aplicación para entrenar solamente algunas camadas de la red.
Ilustración 1 – Red Neural Profunda (Deep Learning)
Con esta tecnología el proceso de entrenamiento es interactivo ya que aprende generando una señal de error que mide la diferencia entre la previsión de la red y los valores deseados y luego utiliza la misma señal de error para cambiar los pesos de los parámetros para que las predicciones sean más precisas.
Las redes neuronales existen desde hace más de 30 años, pero el Deep learning está cobrando mucha importancia últimamente debido a la gran cantidad de informaciones disponibles al día de hoy (BIG DATA) y a la capacidad de las GPUs de última generación.
Al nivel de aplicaciones, este tipo de solución está direccionada para entornos complejos no homogéneos donde no es posible hacer una extracción fiable las características de las imágenes por eso se utiliza en todos los sectores en aplicaciones variadas como reconocimiento de caracteres (OCR), aplicaciones de control de seguridad, inspección de superficies, inspección de alimentos y en la industria textil, donde es posible identificar defectos en una gran variedad de productos con patrones y tramas diferentes.
Básicamente el Deep learning viene a solventar las limitaciones de las soluciones de visión tradicionales y se centra en tres tareas fundamentales: detección de obyectos, clasificación y segmentación de defectos.
Ilustración 2 – Detección de personas
En conclusión, con las nuevas tecnologías convergimos para fusionar la capacidad humana con el poder, la consistencia y fiabilidad de una máquina reduciendo y tiempo de desarrollo y llegando a aplicaciones cada vez más complejas.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!