El blog de Machine Learning

Cómo hacer un clasificador de imágenes sin programar. Parte 1

no coding

En este artículo, explicaré cómo construir un clasificador de imágenes sin programar, usando las herramientas existentes disponibles en el mercado. Este tutorial está dirigido a principiantes en los campos de Machine Learning y entusiastas de inteligencia artificial que no tienen ninguna habilidad de programación.

¿Por qué decidí escribir este tutorial?

Hay muchas personas en el mundo que podrían beneficiarse del machine learning pero que no saben cómo programar. Mi misión es hacer que la Inteligencia Artificial esté al alcance de todos y creo que esta podría ser una buena forma de hacer que la gente se interese más en el tema!

power to the data

En este tutorial, utilizaremos un nuevo servicio increíblemente poderoso de Google Cloud, llamado Auto ML Vision, que actualmente se encuentra en versión beta (lo que significa que solo debe usarse para tests, pero no en aplicaciones reales, ya que el producto podría cambiar sin previo aviso).

Para construir un clasificador de imágenes, necesitarás tres cosas:

  1. Una buena idea de lo que quieres lograr
  2. Un dataset de imágenes
  3. Una cuenta de Google Cloud

Este tutorial está dividido en tres partes. La primera parte de este tutorial se centrará en explicar qué es un clasificador de imágenes y qué se puede hacer con él. ¡Empezemos!

lets get it on

¿Qué es la clasificación de imágenes?

Como humanos, podemos ver fácilmente lo que estamos mirando en menos de un segundo.

Aprendemos esta habilidad desde una edad muy temprana ya que es esencial para nuestra supervivencia.

Un bebé de dos meses puede clasificar rostros que ve en tres categorías "mamá", "papá" y "otras personas".

Para cuando tienen un año, ya pueden procesar la información que ven y deciden con un alto nivel de confianza y precisión entre miles de categorías y subcategorías como "animales", "frutas", "personas", " colores ", etc.

 

baby image classification

Un bebé es capaz de distinguir un perro de un gato, incluso si es la primera vez que ha visto esa imágenes en particular.

Esta es la clasificación de imagenes. La capacidad de mirar una imagen y decidir qué es, o en otras palabras, qué "etiqueta" asignarle.

En la vida real, hay millones y millones de etiquetas, organizadas en diferentes categorías y subcategorías.

¿Qué es tan difícil acerca de eso?

Como humanos, podemos aprender y recordar millones de etiquetas y clasificar objetos en un instante. Las computadoras, por otro lado, no ven las cosas "desde arriba". Las máquinas no entienden los conceptos, solo ven los píxeles en una imagen y sus valores correspondientes.

 

human vision vs computer vision

 

 

Si queremos enseñarle a una máquina qué es un objeto, debemos explicarselo en términos que pueda entender.

Tomemos el ejemplo de una manzana. Al principio, uno podría decir que es fácil explicar qué es una manzana. Es roja y es redonda, ¿no? Pero, ¿qué sucede si la manzana tiene otro color, una forma diferente o incluso si hay otros objetos en la imagen?

apple image classification

No es una buena idea hacer reglas y excepciones a las reglas, sino más bien tratar de entender cual es la "huella digital" de un objeto.

Resulta que si tenemos suficientes ejemplos de un objeto, podemos calcular la función matemática que define al mismo.

La clasificación de imágenes en el contexto del machine learning es el arte de procesar imágenes múltiples de un objeto y calcular la función matemática que define dicho objeto. Esto es más comúnmente conocido como "entrenar un modelo" y es lo que hacen los profesionales del machine learning para ganarse la vida.

Una vez que un modelo ha sido entrenado, puede usarse para predecir si una nueva imagen es un determinado objeto o no.

Sobra decir que un modelo puede ser entrenado para clasificar múltiples etiquetas.

image classification

¿Cuáles son los usos prácticos de la clasificación de imágenes?

Ahora que sabemos lo que es la clasificación de imagenes, podemos enseñarle a una computadora a reconocer múltiples etiquetas en las imágenes. Estos son algunos de los usos comunes de la clasificación de imágenes en la actualidad:

 

Reconocimiento de números y de letras:

Esta es la capacidad de reconocer caracteres en una imagen (incluso si están escritos a mano). Esto es utilizado por los servicios postales en todo el mundo, pero también se usa en los sistemas de seguridad (escaneo de insignias, números de placas de automóviles, etc.)

number recognition

Reconocimiento facial:

Los sistemas de seguridad de todo el mundo podrían mejorar si aprendieran a clasificar rostros en una imagen. Actualmente es utilizado por Apple en el iphone X. Incluso hay un controvertido proyecto para ayudar a los agentes de policía a encontrar personas desaparecidas comparando caras en la calle con una base de datos de personas desaparecidas.

face recognition

 

Reconocimiento de productos:

Los supermercados y las tiendas minoristas de todo el mundo podrían beneficiarse de esta tecnología. Esto podría ayudar a las compañías a tener una mejor idea de su mercado, a tener una mejor administración de los estantes y a hacer un seguimiento de sus productos.

product classification

Ayudando a los doctores.

Un modelo fue entrenado recientemente para identificar imágenes y para decir si hay un cáncer o no. ¡Las aplicaciones en el campo de la medicina son enormes!

cancer recognition machine learning

Identificar las interacciones humanas y predecir el futuro

En 2016, los investigadores del MIT entrenaron un modelo con imágenes de secuencias de video, para intentar predecir lo que las personas de la imagen estaban a punto de hacer. Entrenaron a un modelo para ver una imagen antes de la acción y predecir si la gente estaba a punto de besarse, abrazarse o chocarse la mano. Este es un ejemplo increíble de machine learning utilizado para predecir el futuro.

future prediction with machine learning

Identificando conceptos abstractos

Las computadoras no solo son capaces de reconocer objetos simples como "perros" y "gatos", también podemos enseñarles a reconocer conceptos abstractos como "cubismo", "expresionismo" e "impresionismo" e incluso podemos combinar el modelo que hemos entrenado, con una imagen existente. ¡Los resultados son increíbles!

machine learning art

 

Con suficientes datos, podemos entrenar una máquina para identificar lo que queramos en una imagen. ¡Las posibilidades son infinitas! Antes de empezar este tutorial, deberás decidir qué deseas hacer. Te sugiero que comiences simplemente definiendo dos etiquetas.

¿Puedes ver una imagen y asignar una de tus etiquetas en menos de dos segundos? Si no puedes hacerlo, tu modelo tampoco podrá.

En este tutorial, haré una aplicación que podrá decir si mis hijos estarían seguros jugando alrededor de un objeto o no y lo llamaré "¿Puedo abrazarlo?".

can i hug it

Con un poco de suerte, podré vender mi tecnología a los fabricantes de cámaras de vigilancia para bebés para que puedan alertar a los padres cuando los niños están tratando de jugar con su hacha medieval.

Continúa leyendo la segunda parte de este tutorial.

Inteligencia Artificial
Aprendizaje profundo
Transformación digital
Aprendizaje supervisado
Aprendizaje automático