Información sobre la evaluación y el ajuste fino de modelos#
Después de entrenar un modelo YOLO, el siguiente paso es medir su rendimiento y ajustarlo con precisión para cerrar las brechas. La evaluación utiliza métricas como mAP y IoU para cuantificar la precisión, mientras que el ajuste fino modifica los parámetros de entrenamiento para reforzar los puntos débiles y lograr que el modelo cumpla con el objetivo de tu proyecto. Esta guía explica las métricas de evaluación clave, cómo interpretarlas y cómo actuar en función de lo que muestran.
Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision
La evaluación y el ajuste fino se sitúan casi al final del flujo de trabajo de proyectos de visión artificial, una vez que el entrenamiento está en marcha y necesitas comprobar que el modelo es preciso, eficiente y está listo para su despliegue.
Métricas de evaluación clave#
Varias métricas miden la eficacia con la que funciona un modelo. Estas métricas de rendimiento ofrecen información numérica clara que guía las mejoras para asegurar que el modelo cumple con sus objetivos previstos.
Puntuación de confianza#
La puntuación de confianza representa la certeza del modelo de que un objeto detectado pertenece a una clase particular. Oscila entre 0 y 1, donde las puntuaciones más altas indican una mayor confianza. La puntuación de confianza ayuda a filtrar las predicciones; solo se consideran válidas las detecciones con puntuaciones superiores a un umbral especificado.
Al ejecutar la inferencia, si no ves ninguna predicción y ya has revisado todo lo demás, intenta reducir el umbral de confianza. A veces, el umbral es demasiado alto, lo que hace que el modelo ignore predicciones válidas. Reducirlo permite que el modelo considere más posibilidades. Puede que esto no cumpla con los objetivos finales de tu proyecto, pero es una buena forma de ver de qué es capaz el modelo y decidir cómo ajustarlo.
Intersection over Union#
La Intersection over Union (IoU) es una métrica de la detección de objetos que mide el grado de solapamiento entre la caja delimitadora predicha y la caja delimitadora real (ground truth). Los valores de IoU oscilan entre 0 y 1, donde uno representa una coincidencia perfecta. La IoU es fundamental porque mide cómo se ajustan los límites previstos a los límites reales del objeto.
Precisión media#
La Mean Average Precision (mAP) mide el rendimiento global de un modelo de detección de objetos. Analiza la precisión de detección de cada clase de objeto, calcula la media de estas puntuaciones y ofrece un valor único que muestra con qué exactitud el modelo puede identificar y clasificar objetos.
Dos métricas de mAP son las que se reportan con mayor frecuencia:
- mAP@.5: Mide la precisión media en un único umbral de IoU de 0.5. Esta métrica comprueba si el modelo puede encontrar objetos correctamente con un requisito de precisión más flexible. Se centra en si el objeto está aproximadamente en el lugar correcto, sin necesidad de una ubicación perfecta, y ayuda a ver si el modelo es generalmente bueno detectando objetos.
- mAP@.5:.95: Promedia los valores de mAP calculados en múltiples umbrales de IoU, desde 0.5 hasta 0.95 en incrementos de 0.05. Esta métrica es más detallada y estricta. Ofrece una imagen más completa de la precisión con la que el modelo puede encontrar objetos en diferentes niveles de exigencia y es especialmente útil para aplicaciones que requieren una detección de objetos precisa.
Otras métricas mAP incluyen mAP@0.75, que utiliza un umbral de IoU más estricto de 0.75, y mAP@small, medium, y large, que evalúan la precisión en objetos de diferentes tamaños.
Evaluación de un modelo YOLO26#
Puedes evaluar un modelo YOLO26 entrenado con el modo de validación. Si quieres profundizar en cómo se calcula e interpreta cada métrica, consulta la guía de métricas de rendimiento de YOLO26.
Manejo de tamaños de imagen variables#
Evaluar tu modelo en imágenes de diferentes tamaños te ayuda a comprender su rendimiento en conjuntos de datos diversos. El parámetro de validación rect=true agrupa las imágenes por relación de aspecto y aplica relleno (padding) a cada lote hasta alcanzar la dimensión mínima compatible, de modo que las imágenes rectangulares se evalúan sin necesidad de forzarlas a ser cuadradas.
El parámetro imgsz define el tamaño de imagen empleado durante la validación, aplicándose en formato cuadrado. Si no lo configuras de forma explícita, YOLO26 reutiliza el valor guardado en la configuración del modelo (640 para los modelos preentrenados oficiales, o el tamaño con el que se haya entrenado un punto de control personalizado). Con rect=true, YOLO26 limita el lado más largo a imgsz y rellena el lado más corto hasta un múltiplo del salto (stride), manteniendo así la relación de aspecto. Ajusta imgsz según las dimensiones de tu conjunto de datos y la memoria GPU disponible.
Acceso a las métricas de YOLO26#
Para comprender el rendimiento de tu modelo en detalle, puedes acceder a métricas de evaluación específicas con unas pocas líneas de Python. El fragmento a continuación carga un modelo, ejecuta la validación e imprime las métricas más útiles.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Run validation on your dataset
results = model.val(data="coco8.yaml")
# Overall metrics
print("mAP50-95:", results.box.map) # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50) # mAP at IoU 0.50
print("mAP75:", results.box.map75) # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness()) # weighted score used for model selection
# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)
# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)
# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)Ten en cuenta que fitness() es un método y debe llamarse con paréntesis, mientras que métricas como map, map50 y mp son propiedades a las que se accede directamente.
El atributo results.box.image_metrics es un diccionario por imagen indexado por el nombre de archivo de la imagen, que contiene precision, recall, f1, tp, fp y fn con un valor de IoU de 0.5 para cada imagen. Los tiempos de preprocesamiento, inferencia, pérdida (loss) y postprocesamiento se informan por separado en el diccionario results.speed. En conjunto, esto te permite identificar con qué imágenes tiene problemas el modelo y aplicar los ajustes necesarios.
Ajuste fino de tu modelo#
El ajuste fino toma un modelo preentrenado y modifica sus parámetros para mejorar el rendimiento en una tarea o conjunto de datos específico. También conocido como reentrenamiento del modelo, permite que este comprenda mejor y prediga los resultados de los datos que encontrará en aplicaciones del mundo real. Basándote en los resultados de tu evaluación, reentrenas el modelo con tus propios datos, ajustando los argumentos de entrenamiento descritos en la guía de ajuste fino.
Mosaico de imágenes para objetos pequeños#
El teselado de imágenes (image tiling) puede mejorar la precisión de detección en objetos pequeños. Al dividir imágenes grandes en segmentos más pequeños —por ejemplo, fragmentando imágenes de 1280x1280 en múltiples porciones de 640x640— se conserva la resolución original y se permite que el modelo aprenda a partir de fragmentos de alta resolución. Ultralytics admite esta funcionalidad durante la inferencia mediante la inferencia por teselado de SAHI. Cuando entrenes con imágenes teseladas, asegúrate de ajustar correctamente tus etiquetas para cada nuevo segmento.
Conclusión#
La evaluación y el ajuste fino son lo que transforma un modelo entrenado en uno confiable y listo para implementar: métricas como mAP y IoU exponen las debilidades, y los cambios específicos en los parámetros las solucionan. Comienza con el modo de validación para evaluar tu modelo, luego reentrena con los argumentos cubiertos en la guía de ajuste fino y continúa iterando con nuevos parámetros, técnicas y conjuntos de datos. Si surgen dudas en el camino, consulta a la comunidad en el repositorio de GitHub de Ultralytics o en el servidor de Discord de Ultralytics.
FAQ#
Para evaluar el rendimiento del modelo YOLO26, entre las métricas importantes se incluyen la puntuación de confianza (Confidence Score), la intersección sobre la unión (IoU) y la precisión media media (mAP). La puntuación de confianza mide la seguridad del modelo para cada clase de objeto detectada. La IoU evalúa cómo se solapa la caja delimitadora predicha con la caja real. La precisión media media (mAP) agrupa las puntuaciones de precisión de todas las clases, siendo mAP@.5 y mAP@.5:.95 dos tipos comunes para distintos umbrales de IoU. Obtén más información sobre estas métricas en nuestra guía de métricas de rendimiento de YOLO26.
El ajuste fino de un modelo YOLO26 preentrenado implica modificar sus parámetros para mejorar el rendimiento en una tarea o conjunto de datos específico. Comienza evaluando tu modelo con métricas, y luego reentrena a partir de los pesos preentrenados usando tu propio conjunto de datos. Durante la evaluación, parámetros como
rect=trueayudan a manejar eficazmente diversos tamaños de imagen. Para conocer los argumentos de entrenamiento que debes ajustar, consulta la guía de ajuste fino.Para gestionar tamaños de imagen variables durante la evaluación, utiliza el parámetro
rect=trueen YOLO26, el cual agrupa las imágenes por relación de aspecto y añade relleno a cada lote en lugar de forzar a todas las imágenes a adoptar un formato cuadrado. El parámetroimgszestablece el tamaño de imagen para la validación; si no lo sobrescribes, YOLO26 reutiliza el valor guardado del modelo (640 para los modelos preentrenados oficiales). Ajustaimgszpara adaptarlo a tu conjunto de datos y a la memoria de tu GPU. Para más detalles, visita nuestra sección sobre la gestión de tamaños de imagen variables.Mejorar la precisión media (mAP) de un modelo YOLO26 implica varios pasos:
- Ajuste de hiperparámetros: Experimenta con diferentes tasas de aprendizaje, tamaños de lote y aumentos de datos.
- Aumento de datos: Utiliza técnicas como Mosaic y MixUp para generar muestras de entrenamiento variadas.
- Mosaico de imágenes: divide imágenes más grandes en mosaicos más pequeños para mejorar la precisión de la detección de objetos pequeños.
Para conocer los argumentos de entrenamiento detrás de los pasos 1 y 2, consulta la guía de ajuste fino; el paso 3 se aborda en la sección de mosaico de imágenes.
Puedes acceder a las métricas de evaluación del modelo YOLO26 usando Python después de ejecutar la validación:
Usofrom ultralytics import YOLO # Load a model model = YOLO("yolo26n.pt") # Run validation results = model.val(data="coco8.yaml") # Access key metrics print("Mean average precision at IoU=0.50:", results.box.map50) print("Mean average precision at IoU=0.50:0.95:", results.box.map) print("Mean recall:", results.box.mr) print("Class indices evaluated:", results.box.ap_class_index)El análisis de estas métricas te ayuda a afinar y optimizar tu modelo YOLO26. Si quieres profundizar más, consulta nuestra guía sobre métricas de rendimiento de YOLO.