Detección de anomalías con Machine Learning

Roni Bandini
3 min readMay 19, 2024

--

Detección de anomalías

El control de calidad en una línea de producción es uno de esos trabajos que parecen pertenecer a las máquinas por más que sean llevados a cabo por personas.

Sin embargo una de sus complejidades para la automatización solía ser la incertidumbre de la falla. El rango es demasiado extenso y se produce una asimetría de datos (siempre va a existir una gran cantidad de datos sobre muestras de calidad y unas pocas de los items fallados)

Dentro de la Inteligencia Artificial se encuentra el Machine Learning y dentro del Machine Learning varios algoritmos funcionales. Uno de ellos se encarga exactamente de la detección de anomalías. En escencia funciona de esta manera: se entrena un modelo sin supervisión (en estos términos sin etiquetado) con las piezas que pasan el control de calidad.

Raw features de la pieza a controlar

Se extraen características y se entrena el modelo con una técnica de clustering llamada Gaussian Mixture Models. Los puntos de datos con baja probabilidad son identificados y si un punto de datos tiene baja probabilidad significativa de ser generado comparado con los otros puntos de datos se considera una anomalía y devuelve un anomaly score alto.

Anomaly score por sección de la pieza

Es posible obtener además la ubicación de la anomalía en la imagen.

Proyecto de ejemplo sobre detección de anomalías

Para explicar en concreto la detección de anomalías desarrollé un pequeño proyecto con la placa de Computer Vision Texas Instruments TIAM62A, una cámara USB y Python.

Entrené el modelo. Hice el deploy del modelo a la placa TI y escribí un script Python que monitorea las imagenes obtenidas por la cámara, realiza inferencias con el modelo local y las parsea mostrando en consola la ubicación de la anomalía por medio de una matriz de texto (X para la anomalía y . para la celda regular)

Nota: es posible usar cualquier otra placa con Python como una Raspberry Pi.

Proyecto de ejemplo sobre Visual Anomaly

El script Python puede ser descargado desde https://github.com/ronibandini/visualAnomaly

El entrenamiento del modelo de Machine Learning fue realizado con la plataforma Edge Impulse.

El tutorial completo del proyecto de Visual Anomaly se encuentra en este link (en inglés)

Demo

Demo Visual Anomaly demo

--

--

Roni Bandini

Contracultura maker 🛠️ Arte electrónico 💡Inteligencia Artificial