Saltar al contenido

Guía para el ensayo de modelos

Introducción

Después de entrenar y evaluar tu modelo, es hora de probarlo. La prueba del modelo consiste en evaluar su rendimiento en situaciones reales. Las pruebas tienen en cuenta factores como la precisión, la fiabilidad, la imparcialidad y la facilidad de comprensión de las decisiones del modelo. El objetivo es asegurarse de que el modelo funciona según lo previsto, ofrece los resultados esperados y se ajusta al objetivo general de tu aplicación o proyecto.

Model testing is quite similar to model evaluation, but they are two distinct steps in a computer vision project. Model evaluation involves metrics and plots to assess the model's accuracy. On the other hand, model testing checks if the model's learned behavior is the same as expectations. In this guide, we'll explore strategies for testing your computer vision models.

Prueba de modelos Vs. Evaluación de modelos

En primer lugar, vamos a entender la diferencia entre la evaluación y la comprobación de modelos con un ejemplo.

Suppose you have trained a computer vision model to recognize cats and dogs, and you want to deploy this model at a pet store to monitor the animals. During the model evaluation phase, you use a labeled dataset to calculate metrics like accuracy, precision, recall, and F1 score. For instance, the model might have an accuracy of 98% in distinguishing between cats and dogs in a given dataset.

Tras la evaluación, pruebas el modelo utilizando imágenes de una tienda de animales para ver lo bien que identifica a perros y gatos en condiciones más variadas y realistas. Comprueba si puede etiquetar correctamente a perros y gatos cuando están en movimiento, en diferentes condiciones de iluminación o parcialmente ocultos por objetos como juguetes o muebles. La prueba de modelos comprueba que el modelo se comporta como se espera fuera del entorno de evaluación controlado.

Preparación para el ensayo con modelo

Computer vision models learn from datasets by detecting patterns, making predictions, and evaluating their performance. These datasets are usually divided into training and testing sets to simulate real-world conditions. Training data teaches the model while testing data verifies its accuracy.

Aquí tienes dos puntos que debes tener en cuenta antes de probar tu modelo:

  • Representación realista: Los datos de prueba no vistos previamente deben ser similares a los datos que el modelo tendrá que manejar cuando se implante. Esto ayuda a obtener una comprensión realista de las capacidades del modelo.
  • Tamaño suficiente: El tamaño del conjunto de datos de prueba debe ser lo suficientemente grande como para proporcionar información fiable sobre el rendimiento del modelo.

Probar tu modelo de visión artificial

He aquí los pasos clave que debes dar para probar tu modelo de visión artificial y comprender su rendimiento.

  • Ejecutar predicciones: Utiliza el modelo para hacer predicciones sobre el conjunto de datos de prueba.
  • Comparar predicciones: Comprueba lo bien que coinciden las predicciones del modelo con las etiquetas reales (ground truth).
  • Calcula las métricas de rendimiento: Calcula mé tricas como la exactitud, la precisión, la recuperación y la puntuación F1 para comprender los puntos fuertes y débiles del modelo. Las pruebas se centran en cómo reflejan estas métricas el rendimiento en el mundo real.
  • Visualiza los resultados: Crea ayudas visuales como matrices de confusión y curvas ROC. Te ayudarán a detectar áreas concretas en las que el modelo podría no funcionar bien en aplicaciones prácticas.

A continuación, se pueden analizar los resultados de las pruebas:

  • Imágenes mal clasificadas: Identifica y revisa las imágenes que el modelo ha clasificado mal para comprender en qué se equivoca.
  • Análisis de errores: Realiza un análisis exhaustivo de los errores para comprender los tipos de errores (por ejemplo, falsos positivos frente a falsos negativos) y sus posibles causas.
  • Sesgo e imparcialidad: Comprueba si hay sesgos en las predicciones del modelo. Asegúrate de que el modelo funciona igual de bien en los distintos subconjuntos de datos, especialmente si incluye atributos sensibles como la raza, el sexo o la edad.

Testing Your YOLO11 Model

To test your YOLO11 model, you can use the validation mode. It's a straightforward way to understand the model's strengths and areas that need improvement. Also, you'll need to format your test dataset correctly for YOLO11. For more details on how to use the validation mode, check out the Model Validation docs page.

Using YOLO11 to Predict on Multiple Test Images

If you want to test your trained YOLO11 model on multiple images stored in a folder, you can easily do so in one go. Instead of using the validation mode, which is typically used to evaluate model performance on a validation set and provide detailed metrics, you might just want to see predictions on all images in your test set. For this, you can use the prediction mode.

Diferencia entre los modos de validación y predicción

  • Modo Validación: Se utiliza para evaluar el rendimiento del modelo comparando las predicciones con etiquetas conocidas (verdad básica). Proporciona métricas detalladas como la exactitud, la precisión, el recuerdo y la puntuación F1.
  • Modo Predicción: Se utiliza para ejecutar el modelo sobre datos nuevos, no vistos, para generar predicciones. No proporciona métricas de rendimiento detalladas, pero te permite ver cómo funciona el modelo en imágenes del mundo real.

Running YOLO11 Predictions Without Custom Training

If you are interested in testing the basic YOLO11 model to understand whether it can be used for your application without custom training, you can use the prediction mode. While the model is pre-trained on datasets like COCO, running predictions on your own dataset can give you a quick sense of how well it might perform in your specific context.

Overfitting and Underfitting in Machine Learning

Al probar un modelo de aprendizaje automático, especialmente en visión por ordenador, es importante tener cuidado con el sobreajuste y el infraajuste. Estos problemas pueden afectar significativamente a lo bien que funciona tu modelo con nuevos datos.

Sobreajuste

El sobreajuste se produce cuando tu modelo aprende demasiado bien los datos de entrenamiento, incluyendo el ruido y los detalles que no se generalizan a los nuevos datos. En visión por ordenador, esto significa que tu modelo puede funcionar muy bien con las imágenes de entrenamiento, pero tener problemas con las nuevas.

Signos de sobreajuste

  • High Training Accuracy, Low Validation Accuracy: If your model performs very well on training data but poorly on validation or test data, it's likely overfitting.
  • Inspección visual: A veces, puedes observar un ajuste excesivo si tu modelo es demasiado sensible a pequeños cambios o detalles irrelevantes en las imágenes.

Insuficiente

La inadaptación se produce cuando tu modelo no puede captar los patrones subyacentes en los datos. En visión por ordenador, un modelo insuficientemente ajustado puede incluso no reconocer correctamente los objetos en las imágenes de entrenamiento.

Signos de inadaptación

  • Baja precisión de entrenamiento: Si tu modelo no puede alcanzar una alta precisión en el conjunto de entrenamiento, puede que esté infraajustado.
  • Clasificación visual errónea: Un fallo sistemático en el reconocimiento de características u objetos obvios sugiere un ajuste insuficiente.

Equilibrar la sobreadaptación y la inadaptación

La clave está en encontrar un equilibrio entre el sobreajuste y el infraajuste. Lo ideal es que un modelo funcione bien tanto en los conjuntos de datos de entrenamiento como en los de validación. Supervisar regularmente el rendimiento de tu modelo mediante métricas e inspecciones visuales, junto con aplicar las estrategias adecuadas, puede ayudarte a conseguir los mejores resultados.

Visión general de la sobreadaptación y la inadaptación

Fuga de Datos en Visión por Computador y Cómo Evitarla

Al probar tu modelo, algo importante que debes tener en cuenta es la fuga de datos. 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 y desconocidos cuando se produzca una fuga de datos.

Por qué se produce la fuga de datos

La fuga de datos puede ser difícil de detectar y a menudo procede de sesgos ocultos en los datos de entrenamiento. He aquí algunas formas habituales de que se produzca en la visión por ordenador:

  • Sesgo de la cámara: Los diferentes ángulos, la iluminación, las sombras y los movimientos de la cámara pueden introducir patrones no deseados.
  • Sesgo de superposición: Los logotipos, las marcas de tiempo u otras superposiciones en las imágenes pueden inducir a error al modelo.
  • Sesgo de fuentes y objetos: Las fuentes u objetos específicos que aparecen con frecuencia en determinadas clases pueden sesgar el aprendizaje del modelo.
  • Spatial Bias: Imbalances in foreground-background, bounding box distributions, and object locations can affect training.
  • Sesgo de etiqueta y dominio: Las etiquetas incorrectas o los cambios en los tipos de datos pueden provocar fugas.

Detectar la fuga de datos

Para encontrar fugas de datos, puedes

  • Comprueba el rendimiento: Si los resultados del modelo son sorprendentemente buenos, puede que tenga fugas.
  • Fíjate en la importancia de las características: Si una característica es mucho más importante que otras, podría indicar una fuga.
  • Inspección visual: Comprueba que las decisiones del modelo tienen sentido intuitivamente.
  • Verifica la Separación de Datos: Asegúrate de que los datos se han dividido correctamente antes de cualquier procesamiento.

Evitar la fuga de datos

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

Qué viene después del ensayo con modelo

Tras probar tu modelo, los siguientes pasos dependen de los resultados. Si tu modelo funciona bien, puedes desplegarlo en un entorno real. Si los resultados no son satisfactorios, tendrás que introducir mejoras. Esto podría implicar analizar los errores, recopilar más datos, mejorar la calidad de los datos, ajustar los hiperparámetros y volver a entrenar el modelo.

Únete a la conversación sobre IA

Formar parte de una comunidad de entusiastas de la visión por ordenador puede ayudar a resolver problemas y a aprender de forma más eficaz. Aquí tienes algunas formas de conectar, buscar ayuda y compartir tus ideas.

Recursos comunitarios

  • GitHub Issues: Explore the YOLO11 GitHub repository and use the Issues tab to ask questions, report bugs, and suggest new features. The community and maintainers are very active and ready to help.
  • Ultralytics Servidor Discord: Únete al servidor Discord deUltralytics para chatear con otros usuarios y desarrolladores, obtener ayuda y compartir tus experiencias.

Documentación oficial

  • Ultralytics YOLO11 Documentation: Check out the official YOLO11 documentation for detailed guides and helpful tips on various computer vision projects.

Estos recursos te ayudarán a superar los retos y a mantenerte al día de las últimas tendencias y prácticas dentro de la comunidad de visión por ordenador.

En resumen

Building trustworthy computer vision models relies on rigorous model testing. By testing the model with previously unseen data, we can analyze it and spot weaknesses like overfitting and data leakage. Addressing these issues before deployment helps the model perform well in real-world applications. It's important to remember that model testing is just as crucial as model evaluation in guaranteeing the model's long-term success and effectiveness.

PREGUNTAS FRECUENTES

¿Cuáles son las principales diferencias entre la evaluación de modelos y la comprobación de modelos en visión por ordenador?

Model evaluation and model testing are distinct steps in a computer vision project. Model evaluation involves using a labeled dataset to compute metrics such as accuracy, precision, recall, and F1 score, providing insights into the model's performance with a controlled dataset. Model testing, on the other hand, assesses the model's performance in real-world scenarios by applying it to new, unseen data, ensuring the model's learned behavior aligns with expectations outside the evaluation environment. For a detailed guide, refer to the steps in a computer vision project.

How can I test my Ultralytics YOLO11 model on multiple images?

To test your Ultralytics YOLO11 model on multiple images, you can use the prediction mode. This mode allows you to run the model on new, unseen data to generate predictions without providing detailed metrics. This is ideal for real-world performance testing on larger image sets stored in a folder. For evaluating performance metrics, use the validation mode instead.

¿Qué debo hacer si mi modelo de visión artificial muestra signos de ajuste excesivo o insuficiente?

Para abordar el sobreajuste:

  • Regularization techniques like dropout.
  • Aumenta el tamaño del conjunto de datos de entrenamiento.
  • Simplifica la arquitectura del modelo.

Para abordar la inadaptación:

  • Utiliza un modelo más complejo.
  • Proporciona funciones más relevantes.
  • Increase training iterations or epochs.

Revisa las imágenes mal clasificadas, realiza un análisis exhaustivo de los errores y controla regularmente las métricas de rendimiento para mantener un equilibrio. Para más información sobre estos conceptos, explora nuestra sección sobre Sobreadaptación e Inadaptación.

¿Cómo detectar y evitar la fuga de datos en visión artificial?

Para detectar fugas de datos:

  • Comprueba que el rendimiento de la prueba no es inusualmente alto.
  • Comprueba la importancia de las características para obtener información inesperada.
  • Revisa intuitivamente las decisiones del modelo.
  • Asegúrate de que la división de los datos es correcta antes de procesarlos.

Para evitar la fuga de datos:

  • Utiliza diversos conjuntos de datos con varios entornos.
  • Revisa cuidadosamente los datos en busca de sesgos ocultos.
  • Asegúrate de que no haya solapamiento de información entre los conjuntos de entrenamiento y de prueba.

Para conocer estrategias detalladas sobre cómo evitar la fuga de datos, consulta nuestra sección sobre Fuga de Datos en Visión por Computador.

¿Qué pasos debo dar después de probar mi modelo de visión artificial?

Tras la prueba, si el rendimiento del modelo cumple los objetivos del proyecto, procede a su implantación. Si los resultados son insatisfactorios, considera:

  • Análisis de errores.
  • Recopilar datos más diversos y de mayor calidad.
  • Hyperparameter tuning.
  • Reentrenar el modelo.

Obtén información de la sección Prueba de Modelos Vs. Evaluación de modelos para perfeccionar y mejorar la eficacia de los modelos en aplicaciones reales.

How do I run YOLO11 predictions without custom training?

You can run predictions using the pre-trained YOLO11 model on your dataset to see if it suits your application needs. Utilize the prediction mode to get a quick sense of performance results without diving into custom training.

📅 Created 3 months ago ✏️ Updated 22 days ago

Comentarios