Aplicaciones de la IA: Visión Computacional

 En Inteligencia Artificial

En la entrada anterior hablábamos sobre las Redes de Neuronas Artificiales: definición, componentes y utilidad. En esta ocasión, extendemos su concepto para hablar de una de las ramas más importantes de la Inteligencia Artificial: la Visión computacional (o artificial).

El padre de esta ciencia es Larry Roberts, también figura destacada por ser uno de los creadores de Internet. En su artículo de 1963, habla sobre cómo un sistema informático podría ser capaz de extraer el objeto sólido a partir de imágenes 2D del mismo, utilizando transformaciones y perspectivas (también aportó terminología). La imagen que resume su teoría se encuentra a continuación.

La Visión Artificial persigue construir máquinas que sean capaces de interpretar imágenes. Al fin y al cabo, tener la capacidad de ver un entorno implica percibirlo, es decir, poder abstraer los elementos del mismo y diferenciarlos de los demás.

Sin embargo, poder dotar a las máquinas de esta característica no es trivial ni sencillo, ya que, en primer lugar, hay una alta variabilidad entre las instancias de una misma clase. Para nosotros, una silla es, indudablemente, una silla. Sabemos que lo es porque suele ser pequeña, suele tener respaldo y cuenta con tres o cuatro patas. Para una máquina, esta capacidad diferenciadora no es intrínseca. Si queremos que un sistema sea capaz de diferenciar una silla del resto de los muebles del hogar, deberemos tener una enorme cantidad de imágenes de sillas, todas distintas entre sí, para que logre abstraer las características que la definen. En la siguiente imagen se muestra el comportamiento de una máquina que sólo puede interpretar parcialmente las imágenes de las sillas porque no ha recibido suficientes estímulos.

La segunda complicación más importante es la relativa a las propias características de la imagen: brillo, contraste, saturación, deformidad, contexto, oclusión… Para una máquina puede ser complicado llegar a diferenciar una entidad concreta si el nivel de luz es bajo, si hay elementos que la distraigan o si existen deformaciones en la imagen, como se muestra a continuación.

El procesamiento de imágenes se establece como la solución al segundo problema. En este método, se transforman las imágenes a gris y se aplican transformaciones para buscar una mejor distribución en los niveles de gris y eliminar el ruido de la imagen.

Las cuatro grandes aplicaciones de la visión computacional son, a grandes rasgos (dedicaremos una entrada a cada uno de estos tipos):

  1. Reconocimiento de objetos (object detection). Consiste en identificar elementos en una imagen y encuadrarlos.
  2. Seguimiento de objetos (object tracking). Es la identificación de elementos en vídeos (conjuntos de imágenes), lo cual requiere una capacidad de cómputo bastante grande.
  3. Segmentación semántica (semantic segmentation). Consiste en identificar elementos semejantes en las imágenes y dibujar y rellenar su contorno con colores determinados.
  4. Segmentación de instancias (instance segmentation). Partiendo de la segmentación semántica, se clasifican los objetos en instancias, es decir, elementos que luzcan igual (por ejemplo, una silla es una silla, pero se agruparán con un color las que estén mirando hacia la izquierda, y con otro las que estén mirando hacia la derecha).

En la siguiente imagen se muestran las diferencias de la primera, tercera y cuarta categorías.

Además, estas cuatro aplicaciones utilizan las Redes de Neuronas Artificiales, haciendo que sean las indudables protagonistas en esta ciencia.

En esta entrega hemos hablado sobre la visión artificial, la ciencia que aporta la capacidad a las máquinas de ver. En la siguiente, nos centraremos en la capacidad de inteligencia a través del Machine Learning, Deep Learning y los limites morales y éticos de las máquinas (uno de los temas que más debates ha generado).

 

Autor: Carlos Vázquez, Data Scientist | AI Engineer en Avansis

Presiona ENTER para comenzar la búsqueda en Avansis