Cómo entrenar modelos Ultralytics YOLO para detectar animales en la naturaleza
Aprende a entrenar modelos YOLO para detectar animales en la naturaleza usando el conjunto de datos African Wildlife y utiliza el modelo para ejecutar inferencias sobre imágenes no vistas.

La fauna de nuestro planeta es increíblemente diversa, desde abejas zumbadoras hasta imponentes elefantes, 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ábitat, la caza furtiva y el cambio climático. Todos estos factores afectan negativamente a las poblaciones de fauna silvestre.
Los métodos tradicionales de monitorización de animales, como analizar manualmente las imágenes de cámaras trampa y realizar estudios de campo, pueden ser lentos y requerir muchos recursos. Estos esfuerzos a menudo no permiten cubrir eficazmente grandes áreas y poblaciones numerosas.
Para superar estas limitaciones, la inteligencia artificial (AI) puede utilizarse como una herramienta eficaz para la conservación de la fauna silvestre. En concreto, los modelos de visión por computador como Ultralytics YOLO11 pueden analizar datos visuales, como imágenes y vídeos, para automatizar la identificación y el seguimiento de animales en tiempo real.
Las tareas de visión por computador, como la detección de objetos y la segmentación de instancias, compatibles con Ultralytics YOLO11, son muy útiles en este contexto. Al analizar datos visuales, estas tareas nos ayudan a recopilar datos cruciales, identificar patrones ecológicos y responder con mayor eficacia a las amenazas medioambientales.
En este artículo, repasaremos el proceso para entrenar Ultralytics YOLO11 para detectar animales. ¡Empecemos!
Primeros pasos con Ultralytics YOLO11#
Antes de adentrarnos en el tutorial, echemos un vistazo a las distintas opciones de configuración y herramientas que necesitarás para entrenar y utilizar Ultralytics YOLO11.
La principal herramienta que necesitarás es el paquete de Python de Ultralytics, que facilita el trabajo con modelos YOLO en tareas como el entrenamiento, la detección de objetos y la ejecución de inferencias. Para utilizar el paquete de Ultralytics, tendrás que configurar un entorno donde ejecutar el código, y puedes elegir entre varias opciones.
Estas son 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 el ordenador escribiendo comandos. A diferencia de las interfaces gráficas (GUIs), en las que haces clic en botones y utilizas el 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 del código al instante, facilitando 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 GPU potentes. Es fácil de configurar y no necesitas instalar nada en el ordenador.
Aunque puedes explorar otras opciones para configurar tu entorno en la documentación oficial de Ultralytics, las tres opciones mencionadas requieren muy poca configuración y son fáciles de usar, por lo que resultan ideales para empezar rápidamente.
En este tutorial, mostraremos cómo configurar y entrenar Ultralytics YOLO11 con Google Colab, Jupyter Notebooks o un archivo sencillo de Python, ya que los pasos son muy similares en todos estos entornos.
Descripción del conjunto de datos African Wildlife#
Después de seleccionar un entorno de desarrollo, para entrenar Ultralytics YOLO11 específicamente para detectar animales salvajes, necesitamos un conjunto de datos de imágenes etiquetadas de alta calidad. Cada imagen debe mostrar claramente dónde están los animales y de qué tipo son, para que el modelo aprenda a reconocerlos mediante aprendizaje supervisado.
En este tutorial utilizaremos el conjunto de datos African Wildlife. Es compatible con el paquete de Python de Ultralytics y está diseñado específicamente para detectar animales habituales de los ecosistemas africanos. Contiene imágenes anotadas de cuatro especies clave: búfalos, elefantes, rinocerontes y cebras.

Fig. 1. Un vistazo al conjunto de datos African Wildlife.
Estas son algunas características clave del conjunto de datos African Wildlife:
- Escala: El conjunto de datos 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 eficazmente y se evalúe exhaustivamente.
- Integración fluida: Ultralytics proporciona un archivo de configuración YAML que define las rutas del conjunto de datos, las clases y otros detalles, lo que facilita su uso al entrenar modelos YOLO.
- Licencia abierta: Este conjunto de datos se distribuye con la licencia AGPL-3.0, fomentando la transparencia y la colaboración.
Entrenamiento de Ultralytics YOLO11 para la detección de animales#
Ahora que hemos explorado el conjunto de datos African Wildlife, podemos empezar a entrenar un modelo Ultralytics YOLO11 para detectar animales en imágenes. El proceso incluye configurar el entorno de desarrollo, entrenar el modelo YOLO11 y evaluar su rendimiento.
Paso 1: Configuración del entorno#
Para empezar, prepararemos un entorno para entrenar y probar el modelo. Puedes utilizar Google Colab, Jupyter Notebooks o un archivo sencillo de Python, según tus preferencias. Crea un cuaderno nuevo de Google Colab, un Jupyter Notebook o un archivo de 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 con modelos grandes, puedes cambiar el entorno de ejecución para utilizar una GPU. En Google Colab, ve a la pestaña "Runtime" del menú, selecciona "Change runtime type" y configura el acelerador de hardware como una GPU (preferiblemente una GPU T4). Esto es importante para reducir los tiempos de entrenamiento.
A continuación, independientemente del entorno que utilices, tendrás que instalar el paquete de 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 ultralyticsPaso 2: Carga de Ultralytics YOLO11 y preparación del conjunto de datos#
Una vez instalado el paquete de Ultralytics, el siguiente paso es cargar el modelo YOLO11 y preparar el conjunto de datos para el entrenamiento. Primero cargamos el modelo YOLO11, que ya está preentrenado para tareas generales de detección de objetos. Este modelo preentrenado nos proporciona un buen punto de partida, ya que ya ha aprendido a detectar diversos objetos.
A continuación, especificamos el conjunto de datos mediante un archivo YAML que contiene información sobre las imágenes y las etiquetas. Este archivo indica al modelo dónde encontrar el conjunto de datos y qué objetos debe aprender a reconocer.
El conjunto de datos African Wildlife es compatible con el paquete de Ultralytics, por lo que se descargará automáticamente al iniciar el entrenamiento, ahorrándote la molestia de configurarlo manualmente.
Una vez que el conjunto de datos está listo, el modelo comienza a entrenarse. El modelo recorrerá el conjunto de datos varias veces, en 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 cambiarán de tamaño a unas dimensiones uniformes para su procesamiento y el modelo trabajará con un número determinado de imágenes cada vez, lo que se conoce como lote. Esto ayuda al modelo a aprender de forma más eficiente.
En resumen, el modelo se carga, el conjunto de datos se descarga automáticamente y el entrenamiento comienza a ejecutarse para detectar animales basándose en el conjunto de datos African Wildlife cuando se ejecuta el fragmento de código siguiente.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)Paso 3: Guía del entrenamiento de Ultralytics YOLO11#
Una vez ejecutado el fragmento de código anterior, el modelo comienza a entrenarse según la configuración que le hemos proporcionado. Mediante el código, le hemos indicado al modelo que recorra las imágenes de entrenamiento 30 veces. Esto significa que el modelo examinará todas las imágenes del conjunto de datos 30 veces y aprenderá un poco más en cada ocasión.
Imagina que intentas aprender a dibujar un animal. La primera vez que dibujes puede que no salga bien, pero después de practicar una y otra vez empezarás 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 en el modelo: examina las imágenes, comete errores, aprende de ellos y mejora su capacidad para reconocer animales cada vez.
Si el código de entrenamiento se ejecuta correctamente, verás el siguiente resultado a medida que avance el entrenamiento:
- Configuración del entrenamiento: La primera parte muestra la versión de Ultralytics, PyTorch y el hardware utilizado (CPU en este caso), junto con la configuración del entrenamiento, incluidos el modelo (yolo11n.pt), el tamaño del lote, las épocas y el tamaño de imagen.
- Resumen del modelo: Proporciona información sobre la complejidad del modelo, como el número de capas y parámetros, mostrando el tamaño del modelo.
- Optimizador y tasa de aprendizaje: Menciona el optimizador (por ejemplo, AdamW) y la tasa de aprendizaje, que controlan cómo ajusta el modelo sus parámetros durante el entrenamiento.
- Análisis del conjunto de datos: El modelo analiza el conjunto de datos y muestra cuántas imágenes son válidas y están listas para el entrenamiento. Confirma que no hay problemas con el conjunto de datos.
- Progreso del entrenamiento: El resultado se actualiza después de cada época (ciclo de entrenamiento) y muestra el progreso junto con valores de pérdida clave (box_loss, cls_loss, dfl_loss), que indican hasta qué punto está aprendiendo el modelo.
- Métricas de rendimiento: Después de cada época, verás métricas de rendimiento como precisión, exhaustividad y mAP (precisión media promedio). Estos valores muestran la precisión del modelo al detectar y clasificar objetos.
- Uso de memoria de la 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.
Paso 4: Evaluación del 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, ve a la carpeta "runs", después a la carpeta "detect" y, por último, a la carpeta "train", donde encontrarás registros que muestran indicadores clave de rendimiento.
Para quienes utilizan un entorno de Python, los resultados del entrenamiento se guardan de forma predeterminada en el directorio “runs/train/”, dentro del directorio de trabajo actual. Cada ejecución del entrenamiento crea un subdirectorio nuevo (por ejemplo, runs/train/exp, runs/train/exp2, etc.), donde encontrarás los registros y otros resultados relacionados con el entrenamiento.
Si utilizas la CLI, puedes acceder fácilmente a estos resultados y ajustes mediante el comando “yolo settings”, que te permite consultar 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 cómo ha ido el proceso de entrenamiento del modelo. Estos gráficos, creados una vez finalizado el entrenamiento, muestran si el modelo ha mejorado con el tiempo al cometer menos errores y alcanzar una mayor precisión.
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 entender hasta qué punto aprendió el modelo a reconocer animales y cuánto mejoró al finalizar el entrenamiento.

Fig. 3. Un ejemplo de los gráficos que puedes analizar para evaluar tu modelo.
Métricas clave de evaluación del rendimiento#
Además, aquí tienes un análisis más detallado de algunas métricas que puedes utilizar para evaluar el rendimiento del modelo:
- Precisión media promedio (mAP): Esta métrica mide la precisión general del modelo al detectar animales de todas las clases, calculando el promedio de las puntuaciones de precisión en distintos niveles de exhaustividad.
- Precisión: Representa el porcentaje de detecciones correctas y se calcula dividiendo el número de detecciones positivas verdaderas entre el número total de detecciones realizadas.
- Exhaustividad: Indica el porcentaje de animales reales presentes en las imágenes que el modelo identificó correctamente, lo que refleja su capacidad para detectar todas las instancias relevantes.
Estas métricas de evaluación pueden ayudarte a ajustar el modelo para mejorar su precisión antes de utilizarlo en aplicaciones reales.
Ejecución de inferencias con tu modelo Ultralytics YOLO11 entrenado a medida#
Ahora que hemos entrenado y evaluado Ultralytics YOLO11, es hora de utilizarlo para analizar imágenes y ejecutar inferencias. Puedes utilizar las imágenes de prueba del conjunto de datos o imágenes nuevas de distintas fuentes.
Utilizaremos el siguiente fragmento de código para ejecutar el modelo sobre una imagen del conjunto de datos de prueba. Importa los módulos necesarios de la biblioteca de Ultralytics. A continuación, define la ruta al archivo con los mejores pesos del modelo ("best.pt"), almacenado 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 conjunto de datos de prueba African Wildlife. El modelo se aplica a esta imagen para detectar objetos, se generan los resultados y se guarda la salida (como los objetos detectados o las 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 de salida que se muestra a continuación se guardará en la carpeta "predict", situada dentro del directorio runs/detect. Para las pruebas posteriores, se crearán nuevas carpetas como "predict2", "predict3", etc., para almacenar las imágenes.

Fig. 4. Ejecución de una inferencia con el modelo Ultralytics YOLO11 ajustado sobre una imagen de prueba.
Para probar imágenes de distintas fuentes, puedes utilizar el código siguiente. Hemos utilizado una imagen de Pexels. Puedes utilizar 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 de salida que se muestra a continuación se guardará en la carpeta correspondiente.

Fig. 5. Detección de fauna silvestre con el modelo Ultralytics YOLO11 ajustado sobre una imagen desconocida.
IA para la conservación de la fauna silvestre: aplicaciones reales#
Los modelos como Ultralytics YOLO11 pueden detectar y seguir animales automáticamente, lo que permite diversas aplicaciones prácticas. Estas son algunas de las áreas clave en las que la IA de visión puede utilizarse para apoyar los esfuerzos de conservación de la fauna silvestre:
- Monitorización de especies: La IA de visión puede utilizarse para procesar datos visuales, como imágenes y vídeos, identificar especies con precisión, contar poblaciones y realizar un seguimiento de sus desplazamientos a lo largo del tiempo.
- Alertas de cámaras inteligentes: En zonas remotas, la visión por computador puede utilizarse para clasificar animales continuamente y enviar alertas en tiempo real, lo que permite a las autoridades encargadas de la fauna silvestre responder rápidamente a amenazas como comportamientos animales anómalos o conflictos entre humanos y animales.
- Análisis del comportamiento: Al monitorizar la migración, los hábitos alimentarios y las interacciones sociales, los sistemas de IA de visión pueden proporcionar información exhaustiva sobre la dinámica entre especies.
- Prevención de la caza furtiva: La IA de visión puede utilizarse para detectar la presencia humana no autorizada y signos de caza furtiva, aprovechando el aprendizaje automático y los datos históricos para localizar los puntos críticos de riesgo.
Conclusiones clave#
Los modelos de visión por computador como Ultralytics YOLO11 pueden desempeñar un papel clave en la conservación de la fauna 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 vídeos procedentes de diversas fuentes, lo que permite realizar evaluaciones precisas de la fauna silvestre.
Ultralytics YOLO11, en particular, es una excelente opción para la detección de objetos en tiempo real, por lo que encaja perfectamente en tareas como la vigilancia contra la caza furtiva, el análisis del comportamiento y la monitorización de ecosistemas. Al incorporar modelos basados en IA a los esfuerzos de conservación, podemos proteger mejor las especies, mejorar el seguimiento de la biodiversidad y tomar decisiones más informadas para proteger la fauna silvestre en peligro de extinción.
Únete a nuestra comunidad y explora el repositorio de GitHub para obtener más información sobre la visión por computador. Descubre más aplicaciones relacionadas con la IA en sanidad y la visión por computador en la fabricación en nuestras páginas de soluciones. Consulta las opciones de licencia de Ultralytics para empezar a utilizar la IA de visión.









