Detección de Anomalías
Descubra cómo la detección de anomalías en IA/ML identifica patrones inusuales en los datos, con aplicaciones en la prevención del fraude, la atención médica y más.
La detección de anomalías es una función esencial de la
inteligencia artificial que consiste en
identificar puntos de datos, eventos u observaciones que se desvían significativamente de la mayoría del conjunto de datos. Estos
Estas desviaciones, conocidas como valores atípicos, suelen indicar incidentes críticos, como defectos estructurales,
condiciones médicas o fallos de seguridad. En el contexto específico de la
visión por ordenador, los algoritmos de detección de anomalías
analizan los datos visuales para señalar patrones irregulares que no se ajustan a una representación aprendida de comportamiento o apariencia "normal", filtrando así el ruido.
normal", filtrando el ruido de las señales significativas.
Mecanismos y enfoques básicos
La implementación de la detección de anomalías suele basarse en análisis estadísticos y
técnicas de aprendizaje profundo. Dependiendo de la
la disponibilidad de datos de entrenamiento etiquetados
pueden clasificarse en tres tipos principales:
-
Aprendizaje supervisado: Este método utiliza un conjunto de datos totalmente etiquetados que contienen ejemplos normales y anómalos. El modelo se entrena
para realizar una clasificación binaria o multiclase. Aunque es eficaz, este método requiere un volumen significativo de ejemplos de anomalías conocidas, que pueden ser escasos en la vida real.
ejemplos anómalos conocidos, que pueden ser escasos en el mundo real.
-
Aprendizaje no supervisado: Esta técnica, que funciona sin datos etiquetados, parte de la base de que las anomalías son raras y distintas. Algoritmos como
K-means o
DBSCAN
agrupan puntos de datos similares y dejan puntos aislados para clasificarlos como valores atípicos.
-
Aprendizaje semisupervisado: Este es un enfoque popular en la inspección visual donde el sistema es
se entrena exclusivamente con datos normales. Durante la inferencia, cualquier entrada que arroje un alto error de reconstrucción -a menudo
calculado mediante un autocodificador-se marca como una
anomalía.
Detección de anomalías vs. Detección de objetos
Aunque ambas técnicas se utilizan para analizar imágenes, es importante distinguir la detección de anomalías de la
detección de objetos.
-
La detección de objetos se centra en localizar y clasificar instancias de categorías conocidas (por ejemplo,
coches, peatones) utilizando recuadros delimitadores definidos. El modelo
modelo debe haber visto ejemplos de estos objetos específicos durante el entrenamiento.
-
La detección de anomalías suele ser de conjunto abierto, lo que significa que busca desviaciones desconocidas. En
ejemplo, un sistema que supervisa una cinta transportadora puede estar entrenado para detectar productos perfectos y debe señalar cualquier arañazo, abolladura o decoloración sin saber explícitamente de antemano cómo son esos defectos,
o decoloración sin saber explícitamente qué aspecto tienen esos defectos de antemano. Sin embargo, los modelos robustos como
Ultralytics YOLO11 pueden adaptarse para la detección supervisada
supervisada tratando los defectos específicos como clases distintas.
Aplicaciones en el mundo real
La capacidad de detectar automáticamente irregularidades hace que esta tecnología sea indispensable en diversos sectores.
Aplicación de la detección de defectos con YOLO11
Una forma práctica de aplicar una forma supervisada de detección de anomalías consiste en entrenar un modelo de visión para que reconozca
clases específicas de defectos. El siguiente ejemplo muestra cómo cargar un
modelo entrenado a medida
y ejecutar la inferencia para identificar anomalías etiquetadas como objetos.
from ultralytics import YOLO
# Load a YOLO11 model trained to detect specific defects (e.g., scratches)
model = YOLO("yolo11n.pt") # Replace with your custom trained weights
# Perform inference on a new image to check for anomalies
results = model.predict("path/to/product_image.jpg", conf=0.25)
# Display the results to visualize identified defects
for result in results:
result.show() # Renders the image with bounding boxes around defects
Herramientas y Frameworks
El desarrollo de estos sistemas requiere sólidos ecosistemas de software.
-
Bibliotecas: bibliotecas básicas como PyTorch y
TensorFlow proporcionan los bloques de construcción para las arquitecturas de aprendizaje profundo.
-
Tratamiento de datos: Para los datos no visuales, el
módulo de detección de valores atípicos de Scikit-learn
ofrece algoritmos estándar como Isolation Forest.
-
Soluciones integrales: La próxima
PlataformaUltralytics está diseñada para agilizar todo el flujo de trabajo, desde la anotación de datos hasta la formación de modelos y su despliegue.
la anotación de datos a la formación y despliegue de modelos,
facilitando la creación de sistemas de visión especializados para detectar anomalías en entornos en tiempo real.