Cómo entrenar modelos de Ultralytics YOLO para detectar animales en su hábitat natural
Aprende cómo entrenar modelos YOLO para detectar animales en su hábitat natural usando el African Wildlife Dataset y utiliza el modelo para realizar inferencias en imágenes desconocidas.

La vida silvestre de nuestro planeta es increíblemente diversa, desde abejas que zumban hasta elefantes imponentes, y preservar esta biodiversidad es clave para mantener un ecosistema equilibrado. Sin embargo, los esfuerzos de conservación son cada vez más difíciles debido a la pérdida de hábitats, la caza furtiva y el cambio climático. Todos estos factores afectan negativamente a las poblaciones de vida silvestre.
Los métodos tradicionales de monitoreo de animales, como el análisis manual de imágenes de cámaras trampa y la realización de estudios de campo, pueden ser lentos y requerir muchos recursos. Estos esfuerzos a menudo no logran cubrir grandes áreas ni grandes poblaciones de manera efectiva.
Para superar estas limitaciones, la inteligencia artificial (IA) puede utilizarse como una herramienta impactante en la conservación de la vida silvestre. Específicamente, modelos de visión artificial como Ultralytics YOLO11 pueden analizar datos visuales como imágenes y videos para automatizar la identificación y el seguimiento de animales en tiempo real.
Las tareas de visión artificial como la detección de objetos y la segmentación de instancias, respaldadas por YOLO11, son muy útiles aquí. Al analizar datos visuales, estas tareas nos ayudan a recopilar datos cruciales, identificar patrones ecológicos y responder de manera más eficaz a las amenazas ambientales.
En este artículo, recorreremos el proceso de entrenamiento de YOLO11 para detectar animales. ¡Empecemos!
Link to this sectionPrimeros pasos con Ultralytics YOLO11#
Antes de sumergirnos en el tutorial, echemos un vistazo a las diferentes opciones de configuración y herramientas que necesitarás para entrenar y usar YOLO11.
La herramienta principal que necesitarás es el paquete Python de Ultralytics, que facilita el trabajo con modelos YOLO para tareas como el entrenamiento, la detección de objetos y la ejecución de inferencias. Para usar el paquete Ultralytics, necesitarás configurar un entorno para ejecutar tu código, y existen varias opciones entre las que puedes elegir.
Aquí tienes algunas de las opciones más populares para configurar tu entorno de desarrollo:
- Interfaz de línea de comandos (CLI): La CLI, también conocida como terminal, es una herramienta basada en texto que te permite interactuar con tu ordenador escribiendo comandos. A diferencia de las interfaces gráficas (GUI), donde haces clic en botones y usas un ratón, la CLI requiere que escribas instrucciones de texto para ejecutar programas o realizar tareas.
- Jupyter Notebooks: Estos cuadernos te permiten escribir y ejecutar código en pequeños fragmentos llamados celdas. Son interactivos, lo que significa que puedes ver el resultado de tu código de inmediato, lo que facilita las pruebas y la depuración.
- Google Colab: Google Colab es una plataforma basada en la nube que funciona como Jupyter Notebooks pero ofrece acceso gratuito a potentes GPU. Es fácil de configurar y no necesitas instalar nada en tu ordenador.
Aunque existen otras opciones para configurar tu entorno que puedes explorar en la documentación oficial de Ultralytics, las tres opciones mencionadas anteriormente requieren muy poca configuración y son fáciles de usar, lo que las hace ideales para empezar rápidamente.
En este tutorial, mostraremos cómo configurar y entrenar YOLO11 utilizando Google Colab, Jupyter Notebooks o un archivo Python simple, ya que los pasos son muy similares en todos estos entornos.
Link to this sectionComprender el dataset de vida silvestre africana#
Después de seleccionar un entorno de desarrollo, para entrenar a YOLO11 específicamente para detectar animales salvajes, necesitamos un dataset de alta calidad de imágenes etiquetadas. Cada imagen debe mostrar claramente dónde están los animales y de qué tipo son, para que el modelo pueda aprender a reconocerlos mediante el aprendizaje supervisado.
En este tutorial, utilizaremos el dataset de vida silvestre africana. Está respaldado por el paquete Python de Ultralytics y está diseñado específicamente para detectar animales que se encuentran comúnmente en los ecosistemas africanos. Contiene imágenes anotadas de cuatro especies clave: búfalos, elefantes, rinocerontes y cebras.

Fig 1. Un vistazo al dataset de vida silvestre africana.
Aquí tienes algunas características clave del dataset de vida silvestre africana:
- Escala: El dataset consta de 1504 imágenes divididas en tres subconjuntos: 1052 para entrenamiento, 225 para validación y 227 para pruebas. Esta división garantiza que el modelo aprenda de manera efectiva y sea evaluado minuciosamente.
- Integración perfecta: Ultralytics proporciona un archivo de configuración YAML que define las rutas, las clases y otros detalles del dataset, lo que facilita su uso al entrenar modelos YOLO.
- Licencia abierta: Este dataset se distribuye bajo la licencia AGPL-3.0, lo que fomenta la transparencia y la colaboración.
Link to this sectionEntrenar Ultralytics YOLO11 para la detección de animales#
Ahora que hemos explorado el dataset de vida silvestre africana, podemos empezar a entrenar un modelo YOLO11 para detectar animales en imágenes. El proceso implica configurar el entorno de desarrollo, entrenar el modelo YOLO11 y evaluar su rendimiento.
Link to this sectionPaso 1: Configurar el entorno#
Para empezar, prepararemos un entorno para entrenar y probar el modelo. Se puede utilizar Google Colab, Jupyter Notebooks o un archivo Python simple, dependiendo de tu preferencia. Crea un nuevo cuaderno de Google Colab, Jupyter Notebook o archivo Python según corresponda.
Si utilizas Google Colab, el entorno se ejecuta de forma predeterminada en una CPU (unidad central de procesamiento), lo que puede ralentizar el entrenamiento. Para acelerar el proceso, especialmente para modelos más grandes, puedes cambiar el entorno de ejecución para utilizar una GPU. En Google Colab, puedes navegar a la pestaña "Entorno de ejecución" en el menú, seleccionar "Cambiar tipo de entorno de ejecución" y configurar el acelerador de hardware en una GPU (preferiblemente una GPU T4). Esto es importante para reducir los tiempos de entrenamiento.
A continuación, independientemente del entorno que utilices, debes instalar el paquete Python de Ultralytics. Si utilizas un entorno basado en cuadernos (Google Colab o Jupyter), ejecuta el siguiente comando con un signo de exclamación (!) al principio.
pip install ultralyticsLink to this sectionPaso 2: Cargar YOLO11 y preparar el dataset#
Una vez instalado el paquete Ultralytics, el siguiente paso es cargar el modelo YOLO11 y preparar el dataset para el entrenamiento. Primero, cargamos el modelo YOLO11, que ya viene preentrenado en tareas generales de detección de objetos. Este modelo preentrenado nos ofrece un buen punto de partida, ya que ya ha aprendido a detectar diversos objetos.
Luego, especificamos el dataset usando un archivo YAML, que contiene información sobre las imágenes y las etiquetas. Este archivo le indica al modelo dónde encontrar el dataset y qué objetos debe aprender a reconocer.
El dataset de vida silvestre africana es compatible con el paquete Ultralytics, por lo que se descargará automáticamente cuando comiences el entrenamiento, ahorrándote el problema de configurarlo manualmente.
Una vez que el dataset esté listo, el modelo comienza el entrenamiento. El modelo pasará por el dataset varias veces, un proceso llamado entrenamiento durante múltiples épocas, para mejorar su capacidad de reconocer animales en las imágenes. Durante este proceso, las imágenes se redimensionarán a un tamaño consistente para su procesamiento, y el modelo trabajará con un número determinado de imágenes a la vez, conocido como lote (batch). Esto ayuda a que el modelo aprenda de manera más eficiente.
En resumen, el modelo se carga, el dataset se descarga automáticamente y el entrenamiento comienza a ejecutarse para detectar animales basados en el dataset de vida silvestre africana cuando se ejecuta el fragmento de código a continuación.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)Link to this sectionPaso 3: Tutorial de entrenamiento de YOLO11#
Una vez que se ejecuta el fragmento de código anterior, el modelo comienza a entrenarse según la configuración que le dimos. Le hemos dicho al modelo a través del código que pase por las imágenes de entrenamiento 30 veces. Por lo tanto, esto significa que el modelo analizará todas las imágenes del dataset 30 veces, aprendiendo un poco más cada vez.
Imagina que estás intentando aprender a dibujar un animal. La primera vez que dibujes, puede que no se vea bien, pero después de practicar una y otra vez, empiezas a mejorar. Cada vez que lo intentas de nuevo, aprendes de lo que salió mal y lo corriges. Eso es lo que hace cada época para el modelo: analiza las imágenes, comete errores, aprende de ellos y mejora cada vez en el reconocimiento de animales.
Si el código de entrenamiento se está ejecutando correctamente, verás el siguiente resultado a medida que avance el entrenamiento:
- Configuración de entrenamiento: La primera parte muestra la versión de Ultralytics, PyTorch y el hardware que se está utilizando (CPU en este caso), junto con la configuración de entrenamiento, incluido el modelo (yolo11n.pt), el tamaño del lote, las épocas y el tamaño de la imagen.
- Resumen del modelo: Proporciona información sobre la complejidad del modelo, como la cantidad de capas y parámetros, mostrando qué tan grande es el modelo.
- Optimizador y tasa de aprendizaje: Menciona el optimizador (por ejemplo, AdamW) y la tasa de aprendizaje, que controlan cómo el modelo ajusta sus parámetros durante el entrenamiento.
- Escaneo del dataset: El modelo escanea el dataset, mostrando cuántas imágenes son válidas y están listas para el entrenamiento. Confirma que no hay problemas con el dataset.
- Progreso del entrenamiento: El resultado se actualiza después de cada época (ciclo de entrenamiento), mostrando el progreso del entrenamiento junto con valores de pérdida clave (box_loss, cls_loss, dfl_loss), que indican qué tan bien está aprendiendo el modelo.
- Métricas de rendimiento: Después de cada época, verás métricas de rendimiento como precisión, exhaustividad (recall) y mAP (precisión media media). Estos valores muestran qué tan preciso es el modelo para detectar y clasificar objetos.
- Uso de memoria de GPU: Si utilizas una GPU, el resultado muestra el uso de memoria para realizar un seguimiento de la utilización del hardware.

Fig 2. El resultado que verás mientras se ejecuta el entrenamiento del modelo.
Link to this sectionPaso 4: Evaluar el rendimiento del modelo entrenado a medida#
Una vez completado el proceso de entrenamiento, puedes revisar y validar las métricas de rendimiento del modelo. En Google Colab, puedes navegar a la carpeta "runs", luego a la carpeta "detect" y finalmente a la carpeta "train", donde encontrarás registros que muestran los indicadores clave de rendimiento.
Para los usuarios en un entorno de Python, los resultados del entrenamiento se guardan de forma predeterminada en el directorio “runs/train/” dentro de tu directorio de trabajo actual. Cada ejecución de entrenamiento crea un nuevo subdirectorio (por ejemplo, runs/train/exp, runs/train/exp2, etc.), donde puedes encontrar los registros y otros resultados relacionados con el entrenamiento.
Si utilizas la CLI, puedes acceder fácilmente a estos resultados y configuraciones mediante el comando “yolo settings”, que te permite ver o modificar las rutas y otras configuraciones relacionadas con los registros de entrenamiento y los detalles del experimento.
Entre los registros, también encontrarás algunos gráficos que puedes consultar para ver qué tan bien fue el proceso de entrenamiento del modelo. Estos gráficos, creados una vez completado el entrenamiento, muestran si el modelo mejoró con el tiempo al cometer menos errores y volverse más preciso.
Realizan un seguimiento del progreso del modelo, mostrando cómo disminuyó la pérdida (la diferencia entre las predicciones del modelo y los valores reales) y cómo aumentó la precisión durante el entrenamiento. Esto te ayuda a comprender qué tan bien aprendió el modelo a reconocer animales y cuánto mejoró al final del entrenamiento.

Fig 3. Un ejemplo de los gráficos que puedes analizar para evaluar tu modelo.
Link to this sectionMétricas clave de evaluación del rendimiento#
Además, aquí tienes un vistazo más detallado a algunas de las métricas que puedes usar para evaluar el rendimiento del modelo:
- Precisión media media (mAP): Esta métrica mide la precisión general del modelo en la detección de animales en todas las clases promediando las puntuaciones de precisión en diferentes niveles de exhaustividad (recall).
- Precisión: Representa el porcentaje de detecciones correctas, calculado dividiendo el número de detecciones verdaderas positivas por el número total de detecciones realizadas.
- Exhaustividad (Recall): Indica el porcentaje de animales reales en las imágenes que fueron identificados correctamente por el modelo, reflejando su capacidad para capturar todos los casos relevantes.
Estas métricas de evaluación pueden ayudar a ajustar el modelo para mejorar la precisión antes de utilizarlo en aplicaciones del mundo real.
Link to this sectionEjecutar inferencias usando tu modelo YOLO11 entrenado a medida#
Ahora que hemos entrenado y evaluado YOLO11, es hora de usarlo para analizar imágenes y ejecutar inferencias. Puedes usar las imágenes de prueba del dataset o imágenes nuevas de diferentes fuentes.
Usaremos el siguiente fragmento de código para ejecutar el modelo en una imagen del dataset de prueba. Importa los módulos necesarios de la biblioteca Ultralytics. Luego, define la ruta al mejor archivo de pesos del modelo ("best.pt") guardado en el directorio de resultados. El modelo YOLO11 entrenado a medida se carga utilizando estos pesos.
Después, se establece la ruta a una imagen del dataset de prueba de vida silvestre africana. El modelo se aplica a esta imagen para la detección de objetos, se generan los resultados y se guarda el resultado (como objetos detectados o anotaciones).
from ultralytics import YOLO, settings
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"
img_results = model(image_path, save=True)La imagen resultante que se muestra a continuación se guardará en la carpeta "predict" ubicada dentro del directorio runs/detect. Para pruebas posteriores, se crearán nuevas carpetas como "predict2", "predict3", etc., para almacenar las imágenes.

Fig 4. Ejecutar una inferencia utilizando el modelo YOLO11 ajustado en una imagen de prueba.
Para probar imágenes de diferentes fuentes, puedes usar el código a continuación. Hemos utilizado una imagen de Pexels. Puedes usar la misma imagen o cualquier otra imagen relevante.
from ultralytics import YOLO
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)La imagen resultante que se muestra a continuación se guardará en la carpeta correspondiente.

Fig 5. Detectar vida silvestre utilizando el modelo YOLO11 ajustado en una imagen no vista.
Link to this sectionIA para la conservación de la vida silvestre: Aplicaciones del mundo real#
Modelos como YOLO11 pueden detectar y rastrear animales automáticamente, lo que permite una variedad de aplicaciones prácticas. Aquí tienes un vistazo a algunas de las áreas clave donde la IA de visión puede utilizarse para respaldar los esfuerzos de conservación de la vida silvestre:
- Monitoreo de especies: La IA de visión puede utilizarse para procesar datos visuales como imágenes y videos para identificar especies con precisión, contar poblaciones y rastrear sus movimientos a lo largo del tiempo.
- Alertas de cámara inteligente: En áreas remotas, la visión artificial puede utilizarse para clasificar animales continuamente y enviar alertas en tiempo real, permitiendo a las autoridades de vida silvestre responder rápidamente a amenazas como comportamientos animales anormales o conflictos entre humanos y vida silvestre.
- Análisis de comportamiento: Al monitorear la migración, los hábitos alimenticios y las interacciones sociales, los sistemas de IA de visión pueden proporcionar información completa sobre la dinámica entre especies.
- Prevención de la caza furtiva: La IA de visión se puede aprovechar para detectar la presencia humana no autorizada y signos de caza furtiva, al tiempo que se aprovecha el aprendizaje automático y los datos históricos para identificar puntos críticos de riesgo.
Link to this sectionConclusiones clave#
Los modelos de visión artificial como YOLO11 pueden desempeñar un papel clave en la conservación de la vida silvestre al automatizar la detección y el seguimiento de animales. Con la IA de visión, podemos procesar grandes volúmenes de imágenes y videos de diversas fuentes, lo que hace posible realizar evaluaciones precisas de la vida silvestre.
Ultralytics YOLO11, en particular, es una excelente opción para la detección de objetos en tiempo real, lo que lo hace perfecto para tareas como la vigilancia contra la caza furtiva, el análisis del comportamiento y el monitoreo de ecosistemas. Al incorporar modelos impulsados por IA en los esfuerzos de conservación, podemos proteger mejor a las especies, mejorar el seguimiento de la biodiversidad y tomar decisiones más informadas para salvaguardar la vida silvestre en peligro de extinción.
Únete a nuestra comunidad y explora el repositorio de GitHub para aprender más sobre visión artificial. Descubre más aplicaciones relacionadas con la IA en el cuidado de la salud y la visión artificial en la fabricación en nuestras páginas de soluciones. Consulta las opciones de licencia de Ultralytics para empezar con la IA de visión.






