Perspectivas sobre la evaluación y el ajuste fino de modelos
Introducción
Una vez que hayas entrenado tu modelo de visión artificial, evaluarlo y refinarlo para que funcione de manera óptima es fundamental. Simplemente entrenar tu modelo no es suficiente. Necesitas asegurarte de que tu modelo sea preciso, eficiente y cumpla con el objetivo de tu proyecto de visión artificial. Al evaluar y ajustar tu modelo, puedes identificar debilidades, mejorar su precisión y aumentar el rendimiento general.
Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision
En esta guía, compartimos perspectivas sobre la evaluación y el ajuste fino de modelos para hacer que este paso de un proyecto de visión artificial sea más accesible. Hablamos sobre cómo entender las métricas de evaluación e implementar técnicas de ajuste fino, brindándote el conocimiento necesario para elevar las capacidades de tu modelo.
Evaluación del rendimiento del modelo mediante métricas
Evaluar qué tan bien funciona un modelo nos ayuda a entender su efectividad. Se utilizan varias métricas para medir el rendimiento. Estas métricas de rendimiento proporcionan perspectivas numéricas claras que pueden guiar las mejoras para asegurar que el modelo cumpla con los objetivos previstos. Analicemos de cerca algunas métricas clave.
Puntuación de confianza
La puntuación de confianza representa la certeza del modelo de que un objeto detectado pertenece a una clase en particular. Oscila entre 0 y 1, donde puntuaciones más altas indican mayor confianza. La puntuación de confianza ayuda a filtrar las predicciones; solo las detecciones con puntuaciones de confianza por encima de un umbral específico se consideran válidas.
Consejo rápido: Al ejecutar inferencias, si no ves ninguna predicción y ya has comprobado todo lo demás, intenta reducir la puntuación de confianza. A veces, el umbral es demasiado alto, lo que provoca que el modelo ignore predicciones válidas. Reducir la puntuación permite que el modelo considere más posibilidades. Es posible que esto no cumpla con los objetivos de tu proyecto, pero es una buena manera de ver lo que el modelo puede hacer y decidir cómo ajustarlo.
Intersección sobre Unión
Intersección sobre Unión (IoU) es una métrica en detección de objetos que mide qué tan bien se superpone el cuadro delimitador predicho con el cuadro delimitador de la verdad fundamental. Los valores de IoU oscilan entre 0 y 1, donde uno representa una coincidencia perfecta. La IoU es esencial porque mide qué tan cerca coinciden los límites predichos con los límites reales del objeto.
Precisión media promedio
Precisión media promedio (mAP) es una forma de medir el rendimiento de un modelo de detección de objetos. Observa la precisión de la detección de cada clase de objeto, promedia estas puntuaciones y ofrece un número general que muestra con qué precisión puede el modelo identificar y clasificar objetos.
Centrémonos en dos métricas específicas de mAP:
- mAP@.5: Mide la precisión media en un solo umbral de IoU (Intersección sobre Unión) de 0.5. Esta métrica comprueba si el modelo puede encontrar correctamente objetos 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 colocación perfecta. 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. Proporciona una imagen más completa de la precisión con la que el modelo puede encontrar objetos a diferentes niveles de rigor y es especialmente útil para aplicaciones que requieren una detección de objetos precisa.
Otras métricas de 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 del rendimiento del modelo YOLO26
Con respecto a YOLO26, puedes utilizar el modo de validación para evaluar el modelo. Además, asegúrate de echar un vistazo a nuestra guía que profundiza en las métricas de rendimiento de YOLO26 y cómo pueden interpretarse.
Preguntas comunes de la comunidad
Al evaluar tu modelo YOLO26, es posible que te encuentres con algunos contratiempos. Basado en las preguntas comunes de la comunidad, aquí tienes algunos consejos para ayudarte a aprovechar al máximo tu modelo YOLO26:
Manejo de tamaños de imagen variables
Evaluar tu modelo YOLO26 con imágenes de diferentes tamaños puede ayudarte a entender su rendimiento en conjuntos de datos diversos. Al usar el parámetro de validación rect=true, YOLO26 ajusta el paso (stride) de la red para cada lote en función de los tamaños de las imágenes, lo que permite al modelo manejar imágenes rectangulares sin forzarlas a un único tamaño.
El parámetro de validación imgsz establece la dimensión máxima para el cambio de tamaño de la imagen, que es 640 por defecto. Puedes ajustarlo según las dimensiones máximas de tu conjunto de datos y la memoria de GPU disponible. Incluso con imgsz establecido, rect=true permite al modelo gestionar tamaños de imagen variables de manera efectiva ajustando dinámicamente el paso.
Acceso a las métricas de YOLO26
Si quieres obtener una comprensión más profunda del rendimiento de tu modelo YOLO26, puedes acceder fácilmente a métricas de evaluación específicas con unas pocas líneas de código Python. El fragmento de código a continuación te permitirá cargar tu modelo, ejecutar una evaluación e imprimir varias métricas que muestran cómo está funcionando tu modelo.
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Run the evaluation
results = model.val(data="coco8.yaml")
# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Per-image metrics:", results.box.image_metrics)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)El objeto de resultados también incluye image_metrics, un diccionario por imagen organizado por el nombre del archivo de la imagen con precision, recall, f1, tp, fp y fn, así como métricas de velocidad como tiempo de preprocesamiento, tiempo de inferencia, pérdida y tiempo de postprocesamiento. Al analizar estas métricas, puedes ajustar y optimizar tu modelo YOLO26 para obtener un mejor rendimiento, haciéndolo más efectivo para tu caso de uso específico.
¿Cómo funciona el ajuste fino?
El ajuste fino implica tomar un modelo preentrenado y ajustar sus parámetros para mejorar el rendimiento en una tarea o conjunto de datos específico. El proceso, también conocido como reentrenamiento del modelo, permite al modelo comprender y predecir mejor los resultados para los datos específicos que encontrará en aplicaciones del mundo real. Puedes reentrenar tu modelo basándote en la evaluación de tu modelo para lograr resultados óptimos.
Consejos para el ajuste fino de tu modelo
El ajuste fino de un modelo significa prestar mucha atención a varios parámetros y técnicas vitales para lograr un rendimiento óptimo. Aquí tienes algunos consejos esenciales para guiarte a través del proceso.
Comenzar con una tasa de aprendizaje más alta
Por lo general, durante las épocas iniciales de entrenamiento, la tasa de aprendizaje comienza baja y aumenta gradualmente para estabilizar el proceso de entrenamiento. Sin embargo, dado que tu modelo ya ha aprendido algunas características del conjunto de datos anterior, comenzar con una tasa de aprendizaje más alta desde el principio puede ser más beneficioso.
Al evaluar tu modelo YOLO26, puedes establecer el parámetro de validación warmup_epochs en warmup_epochs=0 para evitar que la tasa de aprendizaje comience demasiado baja. Siguiendo este proceso, el entrenamiento continuará a partir de los pesos proporcionados, ajustándose a los matices de tus nuevos datos.
Mosaico de imágenes para objetos pequeños
El mosaico de imágenes puede mejorar la precisión de la detección para objetos pequeños. Al dividir imágenes más grandes en segmentos más pequeños, como dividir imágenes de 1280x1280 en múltiples segmentos de 640x640, mantienes la resolución original y el modelo puede aprender de fragmentos de alta resolución. Cuando utilices YOLO26, asegúrate de ajustar correctamente tus etiquetas para estos nuevos segmentos.
Interactúa con la comunidad
Compartir tus ideas y preguntas con otros entusiastas de la visión artificial puede inspirar soluciones creativas a los obstáculos en tus proyectos. Aquí tienes algunas maneras excelentes de aprender, solucionar problemas y conectar.
Cómo encontrar ayuda y soporte
- GitHub Issues: Explora el repositorio de YOLO26 en GitHub y utiliza la pestaña Issues para hacer preguntas, reportar errores y sugerir funciones. La comunidad y los responsables de mantenimiento están disponibles para ayudar con cualquier problema que encuentres.
- Servidor de Discord de Ultralytics: Únete al servidor de Discord de Ultralytics para conectar con otros usuarios y desarrolladores, obtener ayuda, compartir conocimientos e intercambiar ideas.
Documentación oficial
- Documentación de Ultralytics YOLO26: Echa un vistazo a la documentación oficial de YOLO26 para obtener guías completas y perspectivas valiosas sobre diversas tareas y proyectos de visión artificial.
Reflexiones finales
Evaluar y ajustar tu modelo de visión artificial son pasos importantes para una despliegue de modelo exitosa. Estos pasos ayudan a asegurar que tu modelo sea preciso, eficiente y adecuado para tu aplicación general. La clave para entrenar el mejor modelo posible es la experimentación y el aprendizaje continuos. No dudes en ajustar los parámetros, probar nuevas técnicas y explorar diferentes conjuntos de datos. ¡Sigue experimentando y superando los límites de lo que es posible!
Preguntas frecuentes
¿Cuáles son las métricas clave para evaluar el rendimiento del modelo YOLO26?
Para evaluar el rendimiento del modelo YOLO26, las métricas importantes incluyen la Puntuación de Confianza, la Intersección sobre Unión (IoU) y la Precisión Media Promedio (mAP). La Puntuación de Confianza mide la certeza del modelo para cada clase de objeto detectado. La IoU evalúa qué tan bien se superpone el cuadro delimitador predicho con la verdad fundamental. La Precisión Media Promedio (mAP) agrega puntuaciones de precisión entre clases, siendo mAP@.5 y mAP@.5:.95 dos tipos comunes para distintos umbrales de IoU. Aprende más sobre estas métricas en nuestra guía de métricas de rendimiento de YOLO26.
¿Cómo puedo ajustar un modelo YOLO26 preentrenado para mi conjunto de datos específico?
El ajuste fino de un modelo YOLO26 preentrenado implica ajustar sus parámetros para mejorar el rendimiento en una tarea o conjunto de datos específico. Comienza evaluando tu modelo usando métricas, luego establece una tasa de aprendizaje inicial más alta ajustando el parámetro warmup_epochs a 0 para una estabilidad inmediata. Usa parámetros como rect=true para manejar tamaños de imagen variados de manera efectiva. Para obtener una guía más detallada, consulta nuestra sección sobre ajuste fino de modelos YOLO26.
¿Cómo puedo manejar tamaños de imagen variables al evaluar mi modelo YOLO26?
Para manejar tamaños de imagen variables durante la evaluación, utiliza el parámetro rect=true en YOLO26, que ajusta el paso de la red para cada lote en función de los tamaños de las imágenes. El parámetro imgsz establece la dimensión máxima para el cambio de tamaño de la imagen, con un valor predeterminado de 640. Ajusta imgsz para adaptarlo a tu conjunto de datos y a la memoria de la GPU. Para obtener más detalles, visita nuestra sección sobre cómo manejar tamaños de imagen variables.
¿Qué pasos prácticos puedo tomar para mejorar la precisión media promedio para mi modelo YOLO26?
Mejorar la precisión media promedio (mAP) para un modelo YOLO26 implica varios pasos:
- Ajuste de hiperparámetros: Experimenta con diferentes tasas de aprendizaje, tamaños de lote y aumentos de imagen.
- Aumento de datos: Usa técnicas como Mosaic y MixUp para crear muestras de entrenamiento diversas.
- 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 para objetos pequeños. Consulta nuestra guía detallada sobre ajuste fino de modelos para estrategias específicas.
¿Cómo accedo a las métricas de evaluación del modelo YOLO26 en Python?
Puedes acceder a las métricas de evaluación del modelo YOLO26 usando Python con los siguientes pasos:
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Run the evaluation
results = model.val(data="coco8.yaml")
# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)Analizar estas métricas ayuda a ajustar y optimizar tu modelo YOLO26. Para profundizar, consulta nuestra guía sobre métricas de YOLO26.