Ultralytics YOLO27:

Cómo probar modelos de visión por ordenador#

Introducción#

Las pruebas del modelo comprueban cómo funciona un modelo entrenado con datos del mundo real que no había visto antes: objetos en movimiento, con poca luz o parcialmente ocultos, en lugar de un banco de pruebas seleccionado. Mientras que la evaluación del modelo mide métricas en un conjunto de datos etiquetado, las pruebas verifican que el comportamiento aprendido por el modelo coincide con los objetivos de tu aplicación antes de la implementación. Esta guía explica cómo preparar los datos de prueba, probar modelos Ultralytics YOLO26 y detectar el sobreajuste, el subajuste y la fuga de datos.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Pruebas del modelo frente a evaluación del modelo#

Las pruebas del modelo y la evaluación del modelo son dos pasos distintos de un proyecto de visión por ordenador. La evaluación mide el rendimiento mediante métricas en un conjunto de datos etiquetado; las pruebas comprueban si el comportamiento aprendido por el modelo se mantiene en condiciones similares a las de la implementación.

Supón que has entrenado un modelo de visión por ordenador para reconocer gatos y perros y quieres implementarlo en una tienda de animales para monitorizar a los animales. Durante la fase de evaluación del modelo, utilizas un conjunto de datos etiquetado para calcular métricas como la exactitud, la precisión y la exhaustividad. Por ejemplo, el modelo podría tener una exactitud del 98 % al distinguir entre gatos y perros en un conjunto de datos determinado.

Después de la evaluación, pruebas el modelo con imágenes de una tienda de animales para comprobar hasta qué punto identifica gatos y perros en condiciones más variadas y realistas. Compruebas si puede etiquetar correctamente a gatos y perros cuando están en movimiento, con distintas condiciones de iluminación o parcialmente ocultos por objetos como juguetes o muebles. Las pruebas del modelo verifican que este se comporta como se espera fuera del entorno de evaluación controlado.

Preparación para las pruebas del modelo#

Los conjuntos de datos de visión por ordenador suelen dividirse en conjuntos de entrenamiento y prueba para simular condiciones del mundo real: los datos de entrenamiento enseñan al modelo, mientras que los datos de prueba verifican su comportamiento con ejemplos que nunca ha visto. La Ultralytics Platform mantiene la organización y el etiquetado de los conjuntos de datos en un solo lugar, lo que facilita crear un conjunto de prueba etiquetado.

Antes de probarlo
  • Representación realista: Los datos de prueba que el modelo no haya visto antes deben ser similares a los datos que gestionará cuando se implemente. Así obtendrás una imagen realista de las capacidades del modelo.
  • Tamaño suficiente: El conjunto de datos de prueba debe ser lo bastante grande como para ofrecer información fiable sobre el rendimiento del modelo.

Cómo probar un modelo YOLO26#

Probar un modelo YOLO26 entrenado implica dos flujos de trabajo complementarios: validar con una división de prueba etiquetada para obtener métricas cuantitativas y realizar predicciones sobre imágenes nuevas para inspeccionar cualitativamente su comportamiento.

Validación con una división de prueba etiquetada#

El modo de validación compara las predicciones del modelo con las etiquetas reales y proporciona precisión, exhaustividad, mAP50 y mAP50-95 para modelos de detección. También guarda ayudas visuales como una matriz de confusión y una curva de precisión-exhaustividad, que te ayudan a detectar áreas concretas en las que el modelo podría no rendir bien.

Uso
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map)  # mAP50-95

De forma predeterminada, la validación se ejecuta en la división val del conjunto de datos. Para medir el rendimiento en un conjunto de prueba reservado, define una división test: en el YAML del conjunto de datos y pasa split="test".

Predicción sobre imágenes nuevas#

El modo de predicción ejecuta el modelo con datos nuevos que no ha visto antes y no requiere etiquetas. No produce métricas de rendimiento, pero guardar las salidas anotadas te permite revisar cómo se comporta el modelo con imágenes del mundo real, por ejemplo, con una carpeta completa de imágenes de prueba de una sola vez.

Uso
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)
Probar un modelo preentrenado antes del entrenamiento personalizado

Para comprobar si YOLO26 se adapta a tu aplicación antes de invertir en un entrenamiento personalizado, ejecuta el modo de predicción con un checkpoint preentrenado sobre tus propias imágenes. Los modelos están preentrenados con conjuntos de datos como COCO, por lo que los resultados ofrecen una idea rápida de cómo podría funcionar el modelo en tu contexto específico.

Modo de validación frente a modo de predicción#

ModoFinalidadRequiere etiquetasSalida
ValidaciónCuantifica el rendimiento frente a la verdad terrenoPrecisión, exhaustividad, mAP50, mAP50-95, matriz de confusión y curvas PR
PredicciónInspecciona el comportamiento del modelo con datos nuevos y sin etiquetarNoImágenes anotadas y resultados de predicción, sin métricas

Cómo analizar los resultados de las pruebas#

Cuando tengas las predicciones y las métricas, analiza en profundidad dónde y por qué falla el modelo:

  • Imágenes mal clasificadas: Identifica y revisa las imágenes que el modelo ha clasificado incorrectamente para entender dónde se está equivocando.
  • Análisis de errores: Realiza un análisis exhaustivo de los errores para entender sus tipos (por ejemplo, falsos positivos frente a falsos negativos) y sus posibles causas.
  • Sesgo y equidad: Comprueba si existe algún sesgo en las predicciones del modelo. Asegúrate de que el modelo funciona igual de bien en distintos subconjuntos de datos, especialmente si incluyen atributos sensibles como raza, género o edad.

Sobreajuste y subajuste en aprendizaje automático#

Al probar un modelo de aprendizaje automático, especialmente en visión por ordenador, es importante vigilar el sobreajuste y el subajuste. Estos problemas pueden afectar considerablemente al funcionamiento del modelo con datos nuevos.

ProblemaSignos habitualesCómo abordarlo
SobreajusteAlta exactitud en el entrenamiento, pero baja exactitud en la validación; sensibilidad excesiva a cambios menores o detalles irrelevantes de las imágenesAplica regularización, como dropout; aumenta el tamaño del conjunto de datos de entrenamiento y simplifica la arquitectura del modelo
SubajusteBaja exactitud incluso en el conjunto de entrenamiento; incapacidad constante para reconocer características u objetos evidentesUtiliza un modelo más complejo, proporciona características más relevantes y aumenta las épocas de entrenamiento

La clave es encontrar un equilibrio para que el modelo funcione bien tanto en los conjuntos de datos de entrenamiento como de validación. Supervisar periódicamente las métricas e inspeccionar visualmente las predicciones durante las pruebas te ayuda a detectar una deriva hacia cualquiera de los dos extremos.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Fuga de datos en visión por ordenador y cómo evitarla#

La fuga de datos se produce cuando se utiliza accidentalmente información ajena al conjunto de datos de entrenamiento para entrenar el modelo. El modelo puede parecer muy preciso durante el entrenamiento, pero no funcionará bien con datos nuevos que no haya visto cuando se produce una fuga de datos.

La fuga puede ser difícil de detectar y suele deberse a sesgos ocultos en los datos de entrenamiento:

Tipo de sesgoCómo se manifiesta
Sesgo de cámaraDistintos ángulos, condiciones de iluminación, sombras y movimientos de cámara introducen patrones no deseados
Sesgo de superposiciónLos logotipos, las marcas de tiempo u otras superposiciones en las imágenes confunden al modelo
Sesgo de fuente y objetoFuentes u objetos específicos que aparecen con frecuencia en determinadas clases desvían el aprendizaje del modelo
Sesgo espacialLos desequilibrios entre primer plano y fondo, las distribuciones de bounding box y las ubicaciones de los objetos afectan al entrenamiento
Sesgo de etiquetas y dominioLas etiquetas incorrectas o los cambios en los tipos de datos provocan fugas

Cómo detectar y evitar la fuga de datos#

Para encontrar fugas de datos, comprueba si los resultados del modelo son sorprendentemente buenos, observa si una característica es mucho más importante que las demás, verifica de nuevo que las decisiones del modelo tengan sentido intuitivamente y confirma que los datos se dividieron correctamente antes de cualquier procesamiento.

Para prevenirla, utiliza un conjunto de datos diverso con imágenes o vídeos de distintas cámaras y entornos, y revisa cuidadosamente los datos en busca de sesgos ocultos, como que todas las muestras positivas se hayan tomado a una hora concreta del día. Evitar la fuga de datos hace que tus modelos de visión por ordenador sean más fiables en situaciones del mundo real.

Qué hacer después de probar el modelo#

Después de probar el modelo, los pasos siguientes dependen de los resultados. Si el modelo funciona bien, puedes implementarlo en un entorno del mundo real. Si los resultados no son satisfactorios, tendrás que mejorarlo. Esto puede implicar analizar errores, recopilar más datos, mejorar la calidad de los datos, ajustar los hiperparámetros y volver a entrenar el modelo.

Conclusión#

Las pruebas rigurosas del modelo —validar con una división de prueba reservada, realizar predicciones sobre imágenes del mundo real y comprobar si existe sobreajuste y fuga de datos— son las que convierten un modelo bien evaluado en uno fiable. Aborda los problemas que detecten las pruebas antes de la implementación y será mucho más probable que el modelo funcione como debe en producción. Si te surgen dudas durante el proceso, pregunta a la comunidad en el repositorio de Ultralytics en GitHub o en el servidor de Ultralytics en Discord.

Preguntas frecuentes#

  • La evaluación del modelo mide el rendimiento mediante métricas en un conjunto de datos etiquetado, mientras que las pruebas del modelo comprueban cómo se comporta con datos nuevos que no ha visto y que se parecen a las condiciones de implementación. La evaluación produce valores como la precisión y mAP a partir de un conjunto de datos controlado; las pruebas revelan si el comportamiento aprendido se mantiene con distintas condiciones de iluminación, movimiento u oclusión. Consulta Pruebas del modelo frente a evaluación del modelo para ver un ejemplo práctico.

  • Utiliza el modo de predicción y pasa la ruta de una carpeta como source; YOLO26 se ejecutará con todas las imágenes de la carpeta y podrá guardar los resultados anotados para revisarlos. El modo de predicción no calcula métricas; para cuantificar el rendimiento con un conjunto etiquetado, utiliza el modo de validación. Ambos flujos de trabajo se muestran en Cómo probar un modelo YOLO26.

  • Para los modelos de detección, la validación proporciona precisión, exhaustividad, mAP50 y mAP50-95, y guarda gráficos que incluyen una matriz de confusión y una curva de precisión-exhaustividad. Para validar con una división de prueba específica en lugar de la división predeterminada val, define test: en el YAML del conjunto de datos y pasa split="test". Consulta la guía de métricas de rendimiento para saber cómo interpretar cada métrica.

  • Para el sobreajuste, aplica técnicas de regularización como dropout, aumenta el tamaño del conjunto de datos de entrenamiento o simplifica la arquitectura del modelo. Para el subajuste, utiliza un modelo más complejo, proporciona características más relevantes o entrena durante más épocas. Los signos de cada problema y sus soluciones correspondientes se resumen en Sobreajuste y subajuste en aprendizaje automático.

  • Sospecha que existe una fuga de datos cuando el rendimiento en las pruebas sea sorprendentemente bueno, una sola característica domine las predicciones o las decisiones del modelo no tengan sentido intuitivamente. Evítala utilizando conjuntos de datos diversos de distintas cámaras y entornos, revisando los datos en busca de sesgos ocultos y verificando que la división entre entrenamiento y prueba se realizó antes de cualquier procesamiento. Consulta Fuga de datos en visión por ordenador para conocer los tipos de sesgo habituales.

  • Si los resultados cumplen los objetivos de tu proyecto, implementa el modelo; si no, mejóralo antes de implementarlo. Esto puede implicar analizar errores, recopilar datos más diversos, mejorar la calidad de los datos, ajustar los hiperparámetros y volver a entrenar. Repite las pruebas después de cada ronda de cambios para confirmar que las correcciones han funcionado.

Comentarios