Reconocimiento de patrones

Introducción al reconocimiento de patrones

El reconocimiento de patrones es un proceso que consiste en utilizar algoritmos informáticos para clasificar datos de entrada en objetos, clases o categorías, en base a sus características principales o elementos constantes. El reconocimiento de patrones tiene aplicación en visión artificial, segmentación de imágenes, detección de objetos, procesamiento de datos de radar, reconocimiento de voz, clasificación de texto y mucho más.

Existen dos métodos de clasificación en el reconocimiento de patrones: supervisada y no supervisada. Para aplicar el reconocimiento de patrones supervisado, se necesita un conjunto de datos etiquetados de gran tamaño; en caso de no contar con ellos, se puede aplicar un enfoque no supervisado.

Reconocimiento de patrones con Machine Learning y Deep Learning

Puede aplicar técnicas de Machine Learning o Deep Learning con MATLAB® en las aplicaciones de reconocimiento de patrones.

El enfoque con Machine Learning consiste en preparar los datos, extraer manualmente las características para establecer las diferentes clases presentes en los datos y entrenar un modelo de Machine Learning para clasificar objetos nuevos. Entre los modelos o técnicas de Machine Learning que se utilizan con frecuencia para detectar objetos se incluyen características de canales agregados (ACF), clasificación con SVM mediante características de histogramas de gradientes orientados (HOG) y Viola-Jones. Todos estos métodos están disponibles en MATLAB®.

El enfoque con Deep Learning consiste en preparar los datos, entrenar la red neuronal profunda y probar el modelo entrenado con datos nuevos. Entre los modelos de Deep Learning que se utilizan con frecuencia para el reconocimiento de patrones se incluyen R-CNN y YOLO v2, que también están disponibles en MATLAB. En los últimos años, los enfoques de Deep Learning han ganado más popularidad que los de Machine Learning.

Las principales diferencias entre los enfoques de Machine Learning y Deep Learning son que los modelos de Deep Learning requieren un conjunto de datos de entrenamiento de mayor tamaño y más tiempo de entrenamiento. Por otro lado, los modelos de Machine Learning se pueden entrenar con un conjunto de datos más pequeño y suelen ser más fáciles de interpretar y depurar si no funcionan según lo esperado. Sin embargo, son menos precisos que un modelo de Deep Learning entrenado con un conjunto de datos etiquetados de gran tamaño. 

Una aplicación frecuente del reconocimiento de patrones en ingeniería es la detección de defectos durante la fabricación, para mejorar la calidad del producto a la vez que se reducen los costes de producción en aplicaciones industriales. La siguiente figura muestra cómo las empresas utilizan técnicas basadas en visión artificial con MATLAB para detectar defectos de forma eficiente en tres etapas: captura de imágenes, procesamiento de imágenes para mejorar la calidad y modelado con IA para clasificar el objeto como correcto o defectuoso.

Aplicación de inspección óptica que utiliza el reconocimiento de patrones para detectar defectos en piezas fabricadas.

Aplicación de inspección óptica que utiliza el reconocimiento de patrones para detectar defectos en piezas fabricadas.

Clasificación supervisada

Los métodos de clasificación supervisada para el reconocimiento de patrones aplican algoritmos de aprendizaje supervisado a los datos de entrada, para establecer correspondencias entre los datos de entrenamiento etiquetados manualmente y los resultados deseados.

En la visión artificial, las técnicas de reconocimiento de patrones supervisado se utilizan en reconocimiento óptico de caracteres (OCR), detección de objetos y clasificación de objetos.

Detección de la señal de stop (izquierda) y etiquetado automatizado de partes en una planta de procesamiento de gas (derecha).

Detección de la señal de stop (izquierda) y etiquetado automatizado de partes en una planta de procesamiento de gas (derecha).

Clasificación no supervisada

Los métodos de clasificación no supervisada intentan encontrar estructuras ocultas en datos no etiquetados con técnicas de segmentación o agrupación en clusters. Entre los métodos frecuentes de clasificación no supervisada se encuentran los siguientes:

  • Clusters de K-means
  • Modelos de mezcla gaussiana
  • Modelos ocultos de Markov

Para la detección de objetos y la segmentación de imágenes, también se emplean técnicas de reconocimiento de patrones no supervisado, especialmente en tareas en las que resulta difícil obtener suficientes datos etiquetados para aplicar la detección y clasificación supervisadas de objetos.

Detección de objetos en movimiento mediante la clasificación de píxeles de la imagen en primer plano (píxeles blancos) y fondo (píxeles negros) con modelos de mezclas gaussianas.

Detección de objetos en movimiento mediante la clasificación de píxeles de la imagen en primer plano (píxeles blancos) y fondo (píxeles negros) con modelos de mezclas gaussianas. Vea este ejemplo para obtener más detalles.

Segmentación de imágenes basada en color con clusters de K-means.

Segmentación de imágenes basada en color con clusters de K-means.

Para obtener detalles sobre cómo utilizar el reconocimiento de patrones, consulte Computer Vision Toolbox™Image Processing Toolbox™Statistics and Machine Learning Toolbox™, que se utilizan con MATLAB.

También puede consultar estos temas: MATLAB para Deep Learning, detección de objetos, reconocimiento de objetos, reconocimiento de imágenes, segmentación de imágenes, inspección visual, extracción de características, Machine Learning, reconocimiento de patrones, procesamiento de nubes de puntos, Deep Learning, computer vision (visión artificial)