Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Guías

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 VinaAbirami Vina14 min de lectura
Entrenamiento de modelos Ultralytics YOLO para detectar animales en libertad

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.

Un vistazo al conjunto de datos African Wildlife Dataset

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 ultralytics

Paso 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.

El resultado que verás mientras se ejecuta el entrenamiento del modelo

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.

Ejemplo de los gráficos que puedes analizar para evaluar tu modelo

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.

Ejecución de una inferencia con el modelo Ultralytics YOLO11 ajustado en una imagen de prueba

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.

Detección de fauna silvestre con el modelo Ultralytics YOLO11 ajustado en una imagen que no se ha usado antes

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

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático