talón ¿Cómo funciona la clasificación de imágenes? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Cómo funciona la clasificación de imágenes?

mm
Actualizado on

¿Cómo puede su teléfono determinar qué objeto es simplemente tomándole una foto? ¿Cómo los sitios web de redes sociales etiquetan automáticamente a las personas en las fotos? Esto se logra mediante el reconocimiento y la clasificación de imágenes con tecnología de IA.

El reconocimiento y la clasificación de imágenes es lo que permite muchos de los logros más impresionantes de la inteligencia artificial. Sin embargo, ¿cómo aprenden las computadoras a detectar y clasificar imágenes? En este artículo, cubriremos los métodos generales que usan las computadoras para interpretar y detectar imágenes y luego echaremos un vistazo a algunos de los métodos más populares para clasificar esas imágenes.

Clasificación a nivel de píxel frente a clasificación basada en objetos

Las técnicas de clasificación de imágenes se pueden dividir principalmente en dos categorías diferentes: clasificación basada en píxeles y clasificación basada en objetos.

Los píxeles son las unidades base de una imagen, y el análisis de píxeles es la forma principal en que se realiza la clasificación de imágenes. Sin embargo, los algoritmos de clasificación pueden usar solo la información espectral dentro de los píxeles individuales para clasificar una imagen o examinar la información espacial (píxeles cercanos) junto con la información espectral. Los métodos de clasificación basados ​​en píxeles utilizan solo información espectral (la intensidad de un píxel), mientras que los métodos de clasificación basados ​​en objetos tienen en cuenta tanto la información espectral de píxeles como la información espacial.

Existen diferentes técnicas de clasificación utilizadas para la clasificación basada en píxeles. Estos incluyen la distancia mínima a la media, la máxima probabilidad y la distancia mínima de Mahalanobis. Estos métodos requieren que se conozcan las medias y las varianzas de las clases, y todos funcionan examinando la "distancia" entre las medias de las clases y los píxeles de destino.

Los métodos de clasificación basados ​​en píxeles están limitados por el hecho de que no pueden usar información de otros píxeles cercanos. Por el contrario, los métodos de clasificación basados ​​en objetos pueden incluir otros píxeles y, por lo tanto, también utilizan información espacial para clasificar elementos. Tenga en cuenta que "objeto" solo se refiere a regiones contiguas de píxeles y no si hay o no un objeto de destino dentro de esa región de píxeles.

Preprocesamiento de datos de imagen para detección de objetos

Los sistemas de clasificación de imágenes más recientes y confiables utilizan principalmente esquemas de clasificación a nivel de objeto y, para estos enfoques, los datos de imágenes deben prepararse de formas específicas. Los objetos/regiones necesitan ser seleccionados y preprocesados.

Antes de que una imagen, y los objetos/regiones dentro de esa imagen, puedan clasificarse, la computadora debe interpretar los datos que componen esa imagen. Las imágenes deben preprocesarse y prepararse para su entrada en el algoritmo de clasificación, y esto se realiza mediante la detección de objetos. Esta es una parte fundamental de la preparación de los datos y las imágenes para entrenar el clasificador de aprendizaje automático.

La detección de objetos se realiza con variedad de métodos y técnicas. Para empezar, si hay o no múltiples objetos de interés o un solo objeto de interés, afecta la forma en que se maneja el preprocesamiento de la imagen. Si solo hay un objeto de interés, la imagen se somete a localización de imagen. Los píxeles que componen la imagen tienen valores numéricos que son interpretados por la computadora y se utilizan para mostrar los colores y matices adecuados. Un objeto conocido como cuadro delimitador se dibuja alrededor del objeto de interés, lo que ayuda a la computadora a saber qué parte de la imagen es importante y qué valores de píxel definen el objeto. Si hay varios objetos de interés en la imagen, se utiliza una técnica denominada detección de objetos para aplicar estos cuadros delimitadores a todos los objetos de la imagen.

Foto: Adrian Rosebrock vía Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union__-_object_detection_bounding_boxes.jpg)

Otro método de preprocesamiento es la segmentación de imágenes. La segmentación de imágenes funciona dividiendo la imagen completa en segmentos basados ​​en características similares. Las diferentes regiones de la imagen tendrán valores de píxeles similares en comparación con otras regiones de la imagen, por lo que estos píxeles se agrupan en máscaras de imagen que corresponden a la forma y los límites de los objetos relevantes dentro de la imagen. La segmentación de imágenes ayuda a la computadora a aislar las características de la imagen que le ayudarán a clasificar un objeto, al igual que lo hacen los cuadros delimitadores, pero proporcionan etiquetas mucho más precisas a nivel de píxel.

Una vez completada la detección de objetos o la segmentación de imágenes, se aplican etiquetas a las regiones en cuestión. Estas etiquetas se introducen, junto con los valores de los píxeles que componen el objeto, en los algoritmos de aprendizaje automático que aprenderán patrones asociados con las diferentes etiquetas.

Algoritmos de aprendizaje automático

Una vez que los datos se han preparado y etiquetado, los datos se introducen en un algoritmo de aprendizaje automático, que se entrena con los datos. Cubriremos algunos de los tipos más comunes de aprendizaje automático algoritmos de clasificación de imágenes abajo.

K-Vecinos más cercanos

K-Nearest Neighbors es un algoritmo de clasificación que examina los ejemplos de entrenamiento más cercanos y observa sus etiquetas para determinar la etiqueta más probable para un ejemplo de prueba dado. Cuando se trata de la clasificación de imágenes usando KNN, los vectores de características y las etiquetas de las imágenes de entrenamiento se almacenan y solo el vector de características se pasa al algoritmo durante la prueba. Los vectores de características de entrenamiento y prueba luego se comparan entre sí en busca de similitudes.

Los algoritmos de clasificación basados ​​en KNN son extremadamente simples y manejan múltiples clases con bastante facilidad. Sin embargo, KNN calcula la similitud basándose en todas las características por igual. Esto significa que puede ser propenso a una clasificación errónea cuando se le proporcionan imágenes en las que solo un subconjunto de características es importante para la clasificación de la imagen.

Máquinas de vectores de soporte

Las máquinas de vectores de soporte son un método de clasificación que coloca puntos en el espacio y luego dibuja líneas divisorias entre los puntos, colocando objetos en diferentes clases según el lado del plano divisorio en el que caen los puntos. Las máquinas de vectores de soporte son capaces de realizar una clasificación no lineal mediante el uso de una técnica conocida como el truco del núcleo. Si bien los clasificadores SVM suelen ser muy precisos, un inconveniente sustancial de los clasificadores SVM es que tienden a estar limitados tanto por el tamaño como por la velocidad, y la velocidad se ve afectada a medida que aumenta el tamaño.

Perceptrones multicapa (redes neuronales)

Los perceptrones multicapa, también llamados modelos de redes neuronales, son algoritmos de aprendizaje automático inspirados en el cerebro humano. Los perceptrones multicapa se componen de varias capas que se unen entre sí, al igual que las neuronas en el cerebro humano están unidas entre sí. Las redes neuronales hacen suposiciones sobre cómo se relacionan las características de entrada con las clases de datos y estas suposiciones se ajustan en el transcurso del entrenamiento. Los modelos de redes neuronales simples, como el perceptrón multicapa, son capaces de aprender relaciones no lineales y, como resultado, pueden ser mucho más precisos que otros modelos. Sin embargo, los modelos MLP sufren algunos problemas notables, como la presencia de funciones de pérdida no convexas.

Algoritmos de aprendizaje profundo (CNN)

Foto: APhex34 a través de Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

El algoritmo de clasificación de imágenes más utilizado en los últimos tiempos es la red neuronal convolucional (CNN). Las CNN son versiones personalizadas de redes neuronales que combinan redes neuronales multicapa con capas especializadas que son capaces de extraer las características más importantes y relevantes para la clasificación de un objeto. Las CNN pueden descubrir, generar y aprender automáticamente características de las imágenes. Esto reduce en gran medida la necesidad de etiquetar y segmentar imágenes manualmente para prepararlas para algoritmos de aprendizaje automático. También tienen una ventaja sobre las redes MLP porque pueden manejar funciones de pérdida no convexas.

Las redes neuronales convolucionales obtienen su nombre del hecho de que crean "convoluciones". Las CNN funcionan tomando un filtro y deslizándolo sobre una imagen. Puede pensar en esto como ver secciones de un paisaje a través de una ventana móvil, concentrándose solo en las características que se pueden ver a través de la ventana en un momento dado. El filtro contiene valores numéricos que se multiplican por los valores de los propios píxeles. El resultado es un nuevo cuadro, o matriz, lleno de números que representan la imagen original. Este proceso se repite para una cantidad seleccionada de filtros y luego los marcos se unen en una nueva imagen que es un poco más pequeña y menos compleja que la imagen original. Se utiliza una técnica llamada agrupación para seleccionar solo los valores más importantes dentro de la imagen, y el objetivo es que las capas convolucionales extraigan eventualmente solo las partes más destacadas de la imagen que ayudarán a la red neuronal a reconocer los objetos en la imagen.

Redes neuronales convolucionales se componen de dos partes diferentes. Las capas convolucionales son las que extraen las características de la imagen y las convierten en un formato que las capas de la red neuronal pueden interpretar y aprender. Las primeras capas convolucionales son responsables de extraer los elementos más básicos de la imagen, como líneas y límites simples. Las capas convolucionales intermedias comienzan a capturar formas más complejas, como curvas y esquinas simples. Las capas convolucionales posteriores y más profundas extraen las características de alto nivel de la imagen, que son lo que se pasa a la parte de la red neuronal de la CNN, y es lo que aprende el clasificador.