Cómo entrenar modelos Ultralytics YOLO para detectar animales en libertad
Descubre cómo entrenar modelos YOLO para detectar animales en libertad con el conjunto de datos African Wildlife y utilizar el modelo para ejecutar inferencias en imágenes que no haya visto.
Abirami Vina14 min de lectura
La fauna de nuestro planeta es increíblemente diversa, desde abejas zumbadoras hasta imponentes elefantes, y preservar esta biodiversidad es fundamental para mantener un ecosistema equilibrado. Sin embargo, la pérdida de hábitats, la caza furtiva y el cambio climático dificultan cada vez más los esfuerzos de conservación. Todos estos factores afectan negativamente a las poblaciones de animales salvajes.
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. A menudo, estos métodos no permiten cubrir eficazmente grandes zonas ni poblaciones numerosas.
Para superar estas limitaciones, la inteligencia artificial (AI) puede ser una herramienta eficaz para conservar la fauna. En concreto, los modelos de visión artificial 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 artificial, como la detección de objetos y la segmentación de instancias, compatibles con Ultralytics YOLO11, son muy útiles en este ámbito. Al analizar datos visuales, estas tareas nos ayudan a recopilar datos esenciales, identificar patrones ecológicos y responder con mayor eficacia a las amenazas medioambientales.
En este artículo, explicaremos el proceso para entrenar Ultralytics YOLO11 y detectar animales.
Primeros pasos con Ultralytics YOLO11#
Antes de empezar el tutorial, veamos las distintas opciones de configuración y las herramientas que necesitarás para entrenar y usar Ultralytics YOLO11.
La herramienta principal que necesitarás es el paquete 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 usar el paquete Ultralytics, tendrás que configurar un entorno en el que ejecutar el código; 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 de 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 usas el ratón, la CLI requiere que escribas instrucciones para ejecutar programas o tareas.
- Jupyter Notebooks: Estos cuadernos te permiten escribir y ejecutar código en pequeños fragmentos llamados celdas. Son interactivos: puedes ver inmediatamente el resultado del código, lo que facilita las pruebas y la depuración.
- Google Colab: Google Colab es una plataforma 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 el ordenador.
Aunque puedes explorar otras opciones para configurar el 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 sencillo archivo Python, ya que los pasos son muy parecidos en todos estos entornos.
Conoce el conjunto de datos African Wildlife Dataset#
Una vez elegido el 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 con claridad dónde están los animales y de qué tipo son, para que el modelo aprenda a reconocerlos mediante aprendizaje supervisado.
En este tutorial usaremos el conjunto de datos African Wildlife Dataset. Es compatible con el paquete Python de Ultralytics y está diseñado específicamente para detectar animales habituales de los ecosistemas africanos. Contiene imágenes anotadas de cuatro especies principales: búfalos, elefantes, rinocerontes y cebras.

Fig. 1. Un vistazo al conjunto de datos African Wildlife Dataset.
Estas son algunas características clave del conjunto de datos African Wildlife Dataset:
- 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 de forma eficaz y se evalúe exhaustivamente.
- Integración sencilla: Ultralytics proporciona un archivo de configuración YAML que define las rutas a los conjuntos de datos, las clases y otros detalles, lo que facilita su uso al entrenar modelos YOLO.
- Licencia: El conjunto de datos de origen, publicado en Kaggle por Bianca Ferreira, no especifica ninguna licencia, así que consulta sus condiciones antes de utilizarlo con fines comerciales.
Entrenamiento de Ultralytics YOLO11 para detectar animales#
Ahora que hemos explorado el conjunto de datos de fauna africana, podemos empezar a entrenar un modelo Ultralytics YOLO11 para detectar animales en imágenes. El proceso consiste en configurar el entorno de desarrollo, entrenar el modelo YOLO11 y evaluar su rendimiento.
Paso 1: Configurar el entorno#
Para empezar, prepararemos un entorno en el que entrenar y probar el modelo. Puedes usar Google Colab, Jupyter Notebooks o un sencillo archivo Python, según tus preferencias. Crea un cuaderno nuevo de Google Colab o Jupyter, o un archivo Python, según corresponda.
Si usas 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 usar una GPU. En Google Colab, ve a la pestaña «Runtime» del menú, selecciona «Change runtime type» y configura una GPU como acelerador de hardware (preferiblemente una GPU T4). Esto es importante para reducir el tiempo de entrenamiento.
A continuación, sea cual sea el entorno que utilices, tendrás que instalar el paquete Python de Ultralytics. Si trabajas en 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: Cargar Ultralytics YOLO11 y preparar el conjunto de datos#
Una vez instalado el paquete Ultralytics, el siguiente paso es cargar el modelo YOLO11 y preparar el conjunto de datos para el entrenamiento. Primero, cargamos el modelo YOLO11n, que ya está preentrenado para tareas generales de detección de objetos. Este modelo preentrenado nos ofrece un buen punto de partida, ya que ha aprendido a detectar distintos 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 paquete Ultralytics es compatible con el conjunto de datos de fauna africana, por lo que se descargará automáticamente al iniciar el entrenamiento y no tendrás que configurarlo manualmente. También puedes consultar sus imágenes y etiquetas en Ultralytics Platform.
Cuando el conjunto de datos está listo, el modelo empieza a entrenarse. El modelo recorrerá el conjunto de datos varias veces, en un proceso llamado entrenamiento durante varias é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 uniforme para procesarlas, y el modelo trabajará con un número determinado de imágenes cada vez, denominado lote. Esto ayuda al modelo a aprender de forma más eficiente.
En resumen, al ejecutar el siguiente fragmento de código, se carga el modelo, se descarga automáticamente el conjunto de datos y comienza el entrenamiento para detectar animales a partir de African Wildlife Dataset.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)El mismo código funciona con los modelos más recientes de Ultralytics YOLO26: solo tienes que sustituir yolo11n.pt por yolo26n.pt.
Paso 3: Guía del entrenamiento de Ultralytics YOLO11#
Al ejecutar el fragmento de código anterior, el modelo empieza a entrenarse con la configuración que le hemos indicado. Mediante el código, le hemos dicho que recorra las imágenes de entrenamiento 30 veces. Es decir, el modelo examinará todas las imágenes del conjunto de datos 30 veces y aprenderá un poco más en cada pasada.
Imagina que estás aprendiendo a dibujar un animal. La primera vez puede que no te salga bien, pero, con la práctica, empiezas a mejorar. Cada vez que lo intentas, aprendes de los errores y los corriges. Eso es lo que hace cada época por el modelo: examina las imágenes, comete errores, aprende de ellos y mejora su capacidad para reconocer animales en cada pasada.
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, incluido el modelo (yolo11n.pt), el tamaño del lote, el número de é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, y muestra el tamaño del modelo.
- Optimizador y tasa de aprendizaje: Indica el optimizador (p. ej., 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 del entrenamiento junto con los valores de pérdida clave (box_loss, cls_loss, dfl_loss), que indican cómo está aprendiendo el modelo.
- Métricas de rendimiento: Después de cada época, verás métricas de rendimiento como la precisión, la exhaustividad y mAP (precisión media). Estos valores muestran la precisión con la que el modelo detecta y clasifica objetos.
- Uso de memoria de la GPU: Si usas una GPU, el resultado muestra el uso de memoria para que puedas supervisar la utilización del hardware.

Fig. 2. El resultado que verás mientras se ejecuta el entrenamiento del modelo.
Paso 4: Evaluar el rendimiento del modelo entrenado con tus propios datos#
Cuando termine el proceso de entrenamiento, puedes revisar y validar las métricas de rendimiento del modelo. En Google Colab, puedes ir a la carpeta "runs", luego a la carpeta "detect" y, por último, a la carpeta "train", donde encontrarás registros con los indicadores de rendimiento clave.
Para quienes trabajen en un entorno Python, los resultados del entrenamiento se guardan de forma predeterminada en el directorio “runs/detect/train” de tu directorio de trabajo actual. Cada nueva ejecución del entrenamiento crea un subdirectorio (por ejemplo, runs/detect/train2, runs/detect/train3, etc.), donde encontrarás los registros y otros resultados relacionados con el entrenamiento.
Si usas la CLI, puedes acceder fácilmente a estos resultados y ajustes mediante el comando “yolo settings”, que te permite ver o modificar las rutas y otras configuraciones relacionadas con los registros del 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, generados al finalizar el entrenamiento, muestran si el modelo ha mejorado con el tiempo al cometer menos errores y ganar precisión.
Muestran el progreso del modelo: cómo ha disminuido la pérdida (la diferencia entre las predicciones del modelo y los valores reales) y cómo ha aumentado la precisión durante el entrenamiento. Esto te ayuda a entender lo bien que ha aprendido el modelo a reconocer animales y cuánto ha mejorado al final del entrenamiento.

Fig. 3. Ejemplo de los gráficos que puedes analizar para evaluar tu modelo.
Métricas clave para evaluar el rendimiento#
Además, aquí tienes un análisis más detallado de algunas métricas que puedes usar para evaluar el rendimiento del modelo:
- Precisión media (mAP): Esta métrica mide la precisión general del modelo al detectar animales de todas las clases, calculando la media 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 verdaderos positivos detectados entre el número total de detecciones realizadas.
- Exhaustividad: Indica el porcentaje de animales reales en las imágenes que el modelo ha identificado correctamente y refleja su capacidad para detectar todas las instancias pertinentes.
Estas métricas de evaluación pueden ayudarte a ajustar el modelo para mejorar la precisión antes de usarlo en aplicaciones del mundo real.
Ejecutar inferencias con tu modelo Ultralytics YOLO11 entrenado con tus propios datos#
Ahora que hemos entrenado y evaluado Ultralytics YOLO11, es hora de usarlo para analizar imágenes y ejecutar inferencias. Puedes usar las imágenes de prueba del conjunto de datos o imágenes nuevas de otras fuentes.
Usaremos el siguiente fragmento de código para ejecutar el modelo en una imagen del conjunto de datos de prueba. Importa los módulos necesarios de la biblioteca Ultralytics. Después, define la ruta al archivo con los mejores pesos del modelo ("best.pt"), guardado en el directorio de resultados. El modelo YOLO11 entrenado con tus propios datos se carga con estos pesos.
A continuación, 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 (por ejemplo, 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", dentro del directorio runs/detect. Para las pruebas posteriores, se crearán nuevas carpetas, como "predict2", "predict3", etc., para guardar las imágenes.

Fig. 4. Ejecución de una inferencia con el modelo Ultralytics YOLO11 ajustado en una imagen de prueba.
Para probar imágenes de distintas fuentes, puedes usar el código siguiente. Hemos usado una imagen de Pexels. Puedes usar esa misma imagen u otra imagen pertinente.
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 en una imagen que no se ha usado antes.
IA para la conservación de la fauna silvestre: aplicaciones en el mundo real#
Modelos como Ultralytics YOLO11 pueden detectar y seguir animales automáticamente, lo que permite una gran variedad de aplicaciones prácticas. Estas son algunas de las áreas clave en las que la IA visual puede contribuir a los esfuerzos de conservación de la fauna silvestre:
- Seguimiento de especies: La IA visual puede procesar datos visuales, como imágenes y vídeos, para identificar especies con precisión, contar poblaciones y seguir sus movimientos a lo largo del tiempo.
- Alertas de cámaras inteligentes: En zonas remotas, la visión artificial puede clasificar animales continuamente y enviar alertas en tiempo real, lo que permite a las autoridades responsables de la fauna silvestre responder rápidamente a amenazas como los comportamientos animales anómalos o los conflictos entre personas y animales.
- Análisis del comportamiento: Al supervisar la migración, los hábitos alimentarios y las interacciones sociales, los sistemas de IA visual pueden ofrecer información exhaustiva sobre las dinámicas entre especies.
- Prevención de la caza furtiva: La IA visual puede detectar la presencia no autorizada de personas y señales de caza furtiva, y aprovechar el aprendizaje automático y los datos históricos para identificar zonas de alto riesgo.
Conclusiones clave#
Los modelos de visión artificial 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 visual, podemos procesar grandes volúmenes de imágenes y vídeos de distintas fuentes, lo que permite realizar evaluaciones precisas de la fauna silvestre.
En concreto, Ultralytics YOLO11 es una excelente opción para la detección de objetos en tiempo real, por lo que resulta ideal para tareas como la vigilancia contra la caza furtiva, el análisis del comportamiento y la supervisión de ecosistemas. Al incorporar modelos basados en IA a las iniciativas de conservación, podemos proteger mejor las especies, mejorar el seguimiento de la biodiversidad y tomar decisiones más fundamentadas para salvaguardar la fauna 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 la atención sanitaria y la visión artificial en la industria manufacturera en nuestras páginas de soluciones. Consulta las opciones de licencia de Ultralytics para empezar a usar IA visual.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










