Link to this sectionCómo probar modelos de visión artificial#
Link to this sectionIntroducción#
La prueba de modelos comprueba cómo funciona un modelo entrenado con datos reales nunca vistos (objetos en movimiento, con poca luz o parcialmente ocultos) en lugar de hacerlo con un benchmark curado. Mientras que la evaluación de modelos mide métricas en un conjunto de datos etiquetado, la prueba verifica que el comportamiento aprendido del modelo coincida con los objetivos de tu aplicación antes de su implementación. Esta guía cubre la preparación de datos de prueba, la prueba de modelos YOLO26 de Ultralytics y cómo detectar overfitting, underfitting y fugas de datos (data leakage).
Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀
Link to this sectionPrueba de modelos frente a evaluación de modelos#
La prueba de modelos y la evaluación de modelos son dos pasos distintos en un proyecto de visión artificial. La evaluación mide el rendimiento mediante métricas en un conjunto de datos etiquetado; la prueba comprueba si el comportamiento aprendido del modelo se mantiene en condiciones similares a las de la implementación real.
Supón que has entrenado un modelo de visión artificial para reconocer gatos y perros, y quieres implementarlo en una tienda de mascotas para vigilar a los animales. Durante la fase de evaluación del modelo, utilizas un conjunto de datos etiquetado para calcular métricas como precisión, exactitud y recall. Por ejemplo, el modelo podría tener un 98% de exactitud al distinguir entre gatos y perros en un conjunto de datos determinado.
Tras la evaluación, pruebas el modelo utilizando imágenes de una tienda de mascotas para ver qué tan bien identifica gatos y perros en condiciones más variadas y realistas. Compruebas si puede etiquetar correctamente a los gatos y perros cuando se mueven, en diferentes condiciones de iluminación o cuando están parcialmente ocultos por objetos como juguetes o muebles. La prueba de modelos verifica que el modelo se comporte como se espera fuera del entorno de evaluación controlado.
Link to this sectionPreparación para la prueba de modelos#
Los datasets de visión artificial se dividen normalmente 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 antes ha visto. La Ultralytics Platform mantiene la organización y anotación de los datasets en un mismo lugar, lo que ayuda a la hora de crear un conjunto de prueba etiquetado.
- Representación realista: Los datos de prueba nunca antes vistos deben ser similares a los datos que el modelo manejará cuando se implemente. Esto ofrece una imagen realista de las capacidades del modelo.
- Tamaño suficiente: El dataset de prueba debe ser lo suficientemente grande como para proporcionar información fiable sobre el rendimiento del modelo.
Link to this sectionCómo probar un modelo YOLO26#
Probar un modelo YOLO26 entrenado implica dos flujos de trabajo complementarios: validar en una división de prueba etiquetada para obtener métricas cuantitativas y realizar predicciones en imágenes nuevas para inspeccionar el comportamiento cualitativamente.
Link to this sectionValidar en una división de prueba etiquetada#
El modo de validación compara las predicciones del modelo con las etiquetas reales (ground-truth) e informa de la precisión, el recall, 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-recall, que te ayudan a detectar áreas específicas donde el modelo podría no estar funcionando bien.
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-95Por defecto, la validación se ejecuta en la división val del dataset. Para medir el rendimiento en un conjunto de prueba separado, define una división test: en tu YAML de dataset y utiliza split="test".
Link to this sectionRealizar predicciones en imágenes nuevas#
El modo de predicción ejecuta el modelo en datos nuevos y no vistos sin necesidad de etiquetas. No produce métricas de rendimiento, pero guardar las salidas anotadas te permite revisar cómo se comporta el modelo en imágenes del mundo real, por ejemplo, una carpeta completa de imágenes de prueba de una vez.
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)Para comprobar si YOLO26 se adapta a tu aplicación antes de invertir en entrenamiento personalizado, ejecuta el modo de predicción con un checkpoint preentrenado en tus propias imágenes. Los modelos están preentrenados en datasets como COCO, por lo que los resultados dan una idea rápida de qué tan bien podría funcionar el modelo en tu contexto específico.
Link to this sectionModo de validación frente a modo de predicción#
| Modo | Propósito | Requiere etiquetas | Salida |
|---|---|---|---|
| Validación | Cuantificar el rendimiento frente a la verdad básica (ground truth) | Sí | Precisión, recall, mAP50, mAP50-95, matriz de confusión, curvas PR |
| Predicción | Inspeccionar el comportamiento del modelo en datos nuevos sin etiquetar | No | Imágenes anotadas y resultados de predicción, sin métricas |
Link to this sectionCómo analizar los resultados de las pruebas#
Una vez que tengas las predicciones y las métricas, investiga dónde y por qué falla el modelo:
- Imágenes mal clasificadas: Identifica y revisa las imágenes que el modelo clasificó incorrectamente para entender dónde se está equivocando.
- Análisis de errores: Realiza un análisis de errores exhaustivo para comprender los tipos de errores (por ejemplo, falsos positivos frente a falsos negativos) y sus posibles causas.
- Sesgo y equidad: Comprueba si hay sesgos en las predicciones del modelo. Asegúrate de que el modelo funcione igual de bien en diferentes subconjuntos de datos, especialmente si incluye atributos sensibles como raza, género o edad.
Link to this sectionOverfitting y underfitting en Machine Learning#
Al probar un modelo de aprendizaje automático, especialmente en visión artificial, es importante estar atento al overfitting y al underfitting. Estos problemas pueden afectar significativamente el rendimiento de tu modelo con nuevos datos.
| Problema | Señales comunes | Cómo solucionarlo |
|---|---|---|
| Overfitting | Alta precisión en entrenamiento pero baja precisión en validación; hipersensibilidad a cambios menores o detalles irrelevantes en las imágenes | Aplica regularización como dropout, aumenta el tamaño del dataset de entrenamiento, simplifica la arquitectura del modelo |
| Underfitting | Baja precisión incluso en el conjunto de entrenamiento; fallo constante al reconocer características u objetos obvios | Utiliza un modelo más complejo, proporciona características más relevantes, aumenta las épocas de entrenamiento |
La clave es encontrar un equilibrio para que el modelo funcione bien tanto en el dataset de entrenamiento como en el de validación. Supervisar regularmente las métricas e inspeccionar visualmente las predicciones durante las pruebas te ayuda a detectar si te desvías hacia cualquiera de los dos extremos.
Link to this sectionFugas de datos en visión artificial y cómo evitarlas#
Las fugas de datos (data leakage) ocurren cuando información externa al dataset de entrenamiento se utiliza accidentalmente para entrenar el modelo. El modelo puede parecer muy preciso durante el entrenamiento, pero no funcionará bien con datos nuevos y nunca vistos cuando esto ocurre.
Las fugas pueden ser difíciles de detectar y a menudo provienen de sesgos ocultos en los datos de entrenamiento:
| Tipo de sesgo | Qué aspecto tiene |
|---|---|
| Sesgo de cámara | Diferentes ángulos, iluminación, sombras y movimientos de cámara introducen patrones no deseados |
| Sesgo de superposición | Logotipos, marcas de tiempo u otras superposiciones en las imágenes engañan al modelo |
| Sesgo de fuente y objeto | Fuentes u objetos específicos que aparecen frecuentemente en ciertas clases sesgan el aprendizaje del modelo |
| Sesgo espacial | Los desequilibrios en el primer plano/fondo, las distribuciones de bbox y las ubicaciones de los objetos afectan al entrenamiento |
| Sesgo de etiqueta y dominio | Etiquetas incorrectas o cambios en los tipos de datos conducen a fugas |
Link to this sectionCómo detectar y evitar las fugas de datos#
Para encontrar fugas de datos, comprueba si los resultados del modelo son sorprendentemente buenos, analiza si una característica es mucho más importante que otras, vuelve a verificar que las decisiones del modelo tengan sentido de forma intuitiva y verifica que los datos se dividieron correctamente antes de cualquier procesamiento.
Para evitarlo, utiliza un dataset diverso con imágenes o vídeos de diferentes cámaras y entornos, y revisa cuidadosamente tus datos en busca de sesgos ocultos, como que todas las muestras positivas se hayan tomado en una hora específica del día. Evitar las fugas de datos hace que tus modelos de visión artificial sean más fiables en situaciones del mundo real.
Link to this sectionQué sigue después de la prueba del modelo#
Después de probar tu modelo, los siguientes pasos dependen de los resultados. Si tu modelo funciona bien, puedes implementarlo en un entorno real. Si los resultados no son satisfactorios, necesitarás realizar mejoras. Esto podría implicar analizar errores, recopilar más datos, mejorar la calidad de los datos, ajustar hiperparámetros y volver a entrenar el modelo.
Link to this sectionConclusión#
Una prueba de modelo rigurosa (validar en una división de prueba separada, predecir en imágenes del mundo real y comprobar el overfitting y las fugas de datos) es lo que convierte a un modelo bien evaluado en uno fiable. Aborda los problemas que las pruebas revelen antes de la implementación, y es mucho más probable que tu modelo funcione según lo previsto en producción. Si surgen preguntas en el camino, consulta a la comunidad en el repositorio de GitHub de Ultralytics o en el servidor de Discord de Ultralytics.
Link to this sectionFAQ#
Link to this section¿Cuáles son las diferencias clave entre la evaluación de modelos y la prueba de modelos en visión artificial?#
La evaluación de modelos mide el rendimiento con métricas en un dataset etiquetado, mientras que la prueba de modelos comprueba cómo se comporta el modelo con datos nuevos y nunca vistos que se parecen a las condiciones de implementación. La evaluación produce números como la precisión y el mAP a partir de un dataset controlado; la prueba revela si el comportamiento aprendido se mantiene con iluminación, movimiento u oclusión variables. Consulta Prueba de modelos frente a evaluación de modelos para ver un ejemplo práctico.
Link to this section¿Cómo puedo probar mi modelo YOLO26 de Ultralytics en múltiples imágenes?#
Utiliza el modo de predicción y pasa la ruta de una carpeta como source: YOLO26 se ejecuta en cada imagen de la carpeta y puede guardar los resultados anotados para su revisión. El modo de predicción no calcula métricas; para cuantificar el rendimiento en un conjunto etiquetado, utiliza el modo de validación en su lugar. Ambos flujos de trabajo se muestran en Cómo probar un modelo YOLO26.
Link to this section¿Qué métricas reporta la validación de YOLO26 en un conjunto de prueba?#
Para modelos de detección, la validación reporta precisión, recall, mAP50 y mAP50-95, y guarda gráficos que incluyen una matriz de confusión y una curva de precisión-recall. Para validar en una división de prueba dedicada en lugar de la división val por defecto, define test: en tu YAML de dataset y usa split="test". Consulta la guía de métricas de rendimiento para saber cómo interpretar cada métrica.
Link to this section¿Qué debo hacer si mi modelo de visión artificial muestra signos de overfitting o underfitting?#
Para el overfitting, aplica técnicas de regularización como dropout, aumenta el tamaño del dataset de entrenamiento o simplifica la arquitectura del modelo. Para el underfitting, utiliza un modelo más complejo, proporciona características más relevantes o entrena durante más épocas. Las señales de cada problema y las soluciones correspondientes se resumen en Overfitting y Underfitting en Machine Learning.
Link to this section¿Cómo puedo detectar y evitar las fugas de datos en visión artificial?#
Sospecha de fugas de datos cuando el rendimiento en la prueba parezca sorprendentemente bueno, una sola característica domine las predicciones o las decisiones del modelo no tengan un sentido intuitivo. Evítalo utilizando datasets diversos de diferentes cámaras y entornos, revisando los datos en busca de sesgos ocultos y verificando que la división de entrenamiento/prueba haya ocurrido antes de cualquier procesamiento. Consulta Fugas de datos en visión artificial para conocer los tipos de sesgo comunes.
Link to this section¿Qué pasos debo seguir después de probar mi modelo de visión artificial?#
Si los resultados cumplen los objetivos de tu proyecto, implementa el modelo; si no, mejóralo antes de la implementación. Esto puede significar analizar errores, recopilar datos más diversos, mejorar la calidad de los datos, ajustar hiperparámetros y volver a entrenar. Repite la prueba después de cada ronda de cambios para confirmar que las correcciones funcionaron.