Ideas sobre la evaluación y el ajuste de modelos
Introducción
Una vez entrenado el modelo de visión por ordenador, es esencial evaluarlo y perfeccionarlo para que funcione de forma óptima. No basta con entrenar el modelo. Tiene que asegurarse de que su modelo es preciso, eficaz y cumple el objetivo de su proyecto de visión por ordenador. Mediante la evaluación y el ajuste de su modelo, puede identificar los puntos débiles, mejorar su precisión y aumentar el rendimiento general.
Observa: Ideas para evaluar y ajustar modelos | Consejos para mejorar la precisión media
En esta guía, compartiremos ideas sobre la evaluación y el ajuste de modelos que harán que este paso de un proyecto de visión por ordenador sea más accesible. Discutiremos cómo entender las métricas de evaluación e implementar técnicas de ajuste fino, dándole el conocimiento para elevar las capacidades de su modelo.
Evaluación del rendimiento del modelo mediante métricas
Evaluar el rendimiento de un modelo nos ayuda a comprender su eficacia. Para medir el rendimiento se utilizan varios parámetros. Estos parámetros proporcionan información numérica clara que puede orientar las mejoras para garantizar que el modelo cumple los objetivos previstos. Veamos con más detalle algunos parámetros clave.
Puntuación de confianza
La puntuación de confianza representa la certeza del modelo de que un objeto detectado pertenece a una clase determinada. Oscila entre 0 y 1, y las puntuaciones más altas indican una mayor confianza. La puntuación de confianza ayuda a filtrar las predicciones; sólo se consideran válidas las detecciones con puntuaciones de confianza por encima de un umbral especificado.
Consejo rápido: Cuando ejecute inferencias, si no ve ninguna predicción y ha comprobado todo lo demás, intente reducir la puntuación de confianza. A veces, el umbral es demasiado alto, lo que hace que el modelo ignore predicciones válidas. Reducir la puntuación permite al modelo considerar más posibilidades. Puede que esto no cumpla los objetivos de tu proyecto, pero es una buena forma de ver lo que puede hacer el modelo y decidir cómo afinarlo.
Intersección sobre Union
La intersección sobre la unión (IoU) es una métrica de detección de objetos que mide el grado de solapamiento entre el cuadro delimitador previsto y el cuadro delimitador real. Los valores de IoU oscilan entre 0 y 1, donde uno significa una coincidencia perfecta. IoU es esencial porque mide hasta qué punto los límites predichos coinciden con los límites reales del objeto.
Media Media Precisión
La precisión media (mAP) es una forma de medir el rendimiento de un modelo de detección de objetos. Examina la precisión en la detección de cada clase de objeto, promedia estas puntuaciones y ofrece una cifra global que muestra la precisión con la que el modelo puede identificar y clasificar objetos.
Centrémonos en dos métricas mAP específicas:
- mAP@.5: Mide la precisión media en un único umbral 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 menos estricto. Se centra en si el objeto está más o menos en el lugar correcto, sin necesidad de una colocación perfecta. Ayuda a ver si el modelo es bueno en general a la hora de detectar objetos.
- mAP@.5:.95: Promedia los valores de mAP calculados en múltiples umbrales de IoU, de 0,5 a 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 en diferentes niveles de rigor y es especialmente útil para aplicaciones que necesitan una detección precisa de objetos.
Otras métricas mAP son mAP@0.75, que utiliza un umbral IoU más estricto de 0,75, y mAP@small, medium y large, que evalúan la precisión en objetos de distintos tamaños.
Evaluación del rendimiento del modelo YOLO11
Con respecto a YOLO11, puede 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 deYOLO11 y cómo pueden interpretarse.
Preguntas comunes de la Comunidad
Al evaluar su modelo YOLO11 , es posible que se encuentre con algunos contratiempos. Basándonos en preguntas habituales de la comunidad, aquí tienes algunos consejos que te ayudarán a sacar el máximo partido a tu modelo YOLO11 :
Manejo de tamaños de imagen variables
La evaluación de su modelo YOLO11 con imágenes de diferentes tamaños puede ayudarle a comprender su rendimiento en diversos conjuntos de datos. Para ello, utilice el rect=true
parámetro de validación, YOLO11 ajusta la zancada de la red para cada lote en función del tamaño de las imágenes, lo que permite al modelo manejar imágenes rectangulares sin forzarlas a un único tamaño.
En imgsz
El parámetro de validación establece la dimensión máxima para el cambio de tamaño de la imagen, que es 640 por defecto. Puede ajustarlo en función de las dimensiones máximas de su conjunto de datos y de la memoria disponible en GPU . Incluso con imgsz
set, rect=true
permite que el modelo gestione eficazmente los distintos tamaños de imagen ajustando dinámicamente la zancada.
Acceda a YOLO11 Metrics
Si desea conocer en profundidad el rendimiento de su modelo YOLO11 , puede acceder fácilmente a métricas de evaluación específicas con unas pocas líneas de código de Python . El siguiente fragmento de código te permitirá cargar tu modelo, ejecutar una evaluación e imprimir varias métricas que muestran el rendimiento de tu modelo.
Utilización
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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("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 métricas de velocidad como el tiempo de preproceso, el tiempo de inferencia, la pérdida y el tiempo de postproceso. Analizando estas métricas, puede ajustar y optimizar su modelo YOLO11 para obtener un mejor rendimiento, haciéndolo más eficaz para su caso de uso específico.
¿Cómo funciona el ajuste fino?
El ajuste fino consiste en tomar un modelo preentrenado y ajustar sus parámetros para mejorar su rendimiento en una tarea o conjunto de datos específicos. El proceso, también conocido como reentrenamiento del modelo, permite que el modelo comprenda y prediga mejor los resultados de los datos específicos que encontrará en las aplicaciones del mundo real. Puede volver a entrenar su modelo basándose en la evaluación del mismo para obtener resultados óptimos.
Consejos para afinar su modelo
Poner a punto 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 en el proceso.
Empezar con un mayor ritmo de aprendizaje
Normalmente, durante las primeras épocas de entrenamiento, la tasa de aprendizaje comienza siendo baja y aumenta gradualmente para estabilizar el proceso de entrenamiento. Sin embargo, como tu modelo ya ha aprendido algunas características del conjunto de datos anterior, empezar con una tasa de aprendizaje más alta desde el principio puede ser más beneficioso.
Al evaluar su modelo YOLO11 , puede establecer el warmup_epochs
parámetro de validación a warmup_epochs=0
para evitar que la tasa de aprendizaje comience demasiado alta. 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 de 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, se mantiene la resolución original y el modelo puede aprender de los fragmentos de alta resolución. Cuando utilice YOLO11, asegúrese de ajustar correctamente las etiquetas para estos nuevos segmentos.
Comprometerse con la Comunidad
Compartir tus ideas y preguntas con otros entusiastas de la visión por computador puede inspirar soluciones creativas a los obstáculos de tus proyectos. Aquí tienes algunas formas excelentes de aprender, solucionar problemas y conectarte.
Encontrar ayuda y apoyo
- Problemas en GitHub: Explora el repositorio GitHub de YOLO11 y utiliza la pestaña Problemas para hacer preguntas, informar de errores y sugerir funciones. La comunidad y los mantenedores están a tu disposición para ayudarte con cualquier problema que encuentres.
- Ultralytics Servidor Discord: Únete al servidor Discord deUltralytics para conectar con otros usuarios y desarrolladores, obtener ayuda, compartir conocimientos y aportar ideas.
Documentación oficial
- Ultralytics YOLO11 Documentación: Consulte la documentación oficial de YOLO11 para obtener guías completas y valiosos conocimientos sobre diversas tareas y proyectos de visión por ordenador.
Reflexiones finales
La evaluación y el ajuste de su modelo de visión por ordenador son pasos importantes para el éxito de la implantación del modelo. Estos pasos ayudan a garantizar que el modelo sea preciso, eficaz y adecuado para la aplicación en su conjunto. La clave para entrenar el mejor modelo posible es la experimentación y el aprendizaje continuos. No dude en ajustar los parámetros, probar nuevas técnicas y explorar diferentes conjuntos de datos. Sigue experimentando y superando los límites de lo posible.
PREGUNTAS FRECUENTES
¿Cuáles son los parámetros clave para evaluar el rendimiento del modelo YOLO11 ?
Para evaluar el rendimiento del modelo YOLO11 , los parámetros más importantes son la puntuación de confianza, la intersección sobre la unión (IoU) y la precisión media (mAP). La puntuación de confianza mide la certeza del modelo para cada clase de objeto detectado. IoU evalúa el grado de solapamiento entre el cuadro delimitador previsto y la realidad sobre el terreno. La precisión media (mAP) agrega las puntuaciones de precisión entre las clases, siendo mAP@.5 y mAP@.5:.95 dos tipos comunes para variar los umbrales de IoU. Obtenga más información sobre estas métricas en nuestra guía de métricas de rendimientoYOLO11 .
¿Cómo puedo ajustar un modelo YOLO11 preentrenado a mi conjunto de datos específico?
Afinar un modelo preentrenado de YOLO11 implica ajustar sus parámetros para mejorar el rendimiento en una tarea o conjunto de datos específicos. Comience por evaluar su modelo utilizando métricas y, a continuación, establezca una tasa de aprendizaje inicial más alta ajustando el parámetro warmup_epochs
a 0 para una estabilidad inmediata. Utilice parámetros como rect=true
para manejar con eficacia tamaños de imagen variados. Para más información, consulte nuestra sección sobre puesta a punto de los modelos YOLO11.
¿Cómo puedo gestionar tamaños de imagen variables al evaluar mi modelo YOLO11 ?
Para manejar tamaños de imagen variables durante la evaluación, utilice la función rect=true
en YOLO11, que ajusta la zancada de la red para cada lote en función del tamaño de las imágenes. El parámetro imgsz
establece la dimensión máxima para redimensionar la imagen, por defecto 640. Ajustar imgsz
para adaptarse a su conjunto de datos y a la memoria GPU . Para más información, visite nuestra sección sobre el tratamiento de imágenes de tamaño variable.
¿Qué medidas prácticas puedo tomar para mejorar la precisión media de mi modelo YOLO11 ?
La mejora de la precisión media (mAP) de un modelo YOLO11 implica varios pasos:
- Ajuste de hiperparámetros: Experimente con diferentes velocidades de aprendizaje, tamaños de lote y aumentos de imagen.
- Aumento de datos: Utilice técnicas como Mosaic y MixUp para crear diversas muestras de entrenamiento.
- Mosaico de imágenes: Divida imágenes grandes en mosaicos más pequeños para mejorar la precisión de detección de objetos pequeños. Consulte nuestra guía detallada sobre el ajuste del modelo para conocer estrategias específicas.
¿Cómo se accede a las métricas de evaluación de modelos de YOLO11 en Python?
Puede acceder a las métricas de evaluación del modelo YOLO11 utilizando Python con los siguientes pasos:
Utilización
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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)
El análisis de estas métricas ayuda a ajustar y optimizar su modelo YOLO11 . Para obtener más información, consulte nuestra guía sobre las métricas deYOLO11 .