Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Aprenda a crear aplicaciones para drones basadas en IA con Ultralytics YOLO11, que permite la detección de objetos en tiempo real y tareas de visión por ordenador basadas en drones.
Las compras en tienda y las compras online pueden parecer similares, pero dependen de diferentes logísticas. Las tiendas necesitan que se repongan los estantes, mientras que los pedidos online dependen de las entregas a domicilio. Gracias a los avances tecnológicos, ambas experiencias de compra se están transformando en paralelo.
Por ejemplo, se está produciendo un cambio importante en las entregas. Los drones impulsados por IA están cambiando la forma en que los productos llegan a nuestros hogares. Se espera que estos drones inteligentes gestionen alrededor de 808 millones de entregas en la próxima década, convirtiendo los cielos en la ruta de entrega más nueva para el comercio cotidiano.
Los drones de reparto utilizan inteligencia artificial (IA) y visión por ordenador, un subcampo de la IA que se emplea para analizar datos visuales, para navegar y maniobrar sorteando obstáculos. Modelos de visión por ordenador como Ultralytics YOLO11 pueden ayudar a los drones a detect y track objetos en tiempo real, lo que les permite comprender mejor su entorno e interactuar con él.
Fig. 1. Un dron de reparto llevando un paquete a su destino.
Empresas como Meituan y DJI ya están integrando la visión artificial en sus drones. De hecho, la rápida adopción de drones en diversas industrias ha preparado el mercado de drones con IA para dispararse a 206.900 millones de dólares en 2031.
En este artículo, analizaremos cómo pueden utilizarse modelos de visión por ordenador como Ultralytics YOLO11 en aplicaciones basadas en drones, como los drones de reparto. Recorreremos un ejemplo que mostrará cómo se pueden desarrollar y probar estas tecnologías antes de utilizarlas en escenarios reales.
Utilización de Ultralytics YOLO11 en drones para detect viviendas
Un elemento clave de los drones de reparto es su capacidad para detect casas mientras navegan. Para recrear esta capacidad y entender cómo funciona, entrenaremos un modelo de visión por ordenador que pueda identificar casas en las imágenes captadas por un dron aéreo. Para ello, entrenaremos YOLO11 de forma personalizada, lo que implica ajustar un modelo YOLO11 preentrenado para que reconozca y detect casas utilizando ejemplos etiquetados.
Para ello, necesitaremos datos de vídeo de alta calidad de un dron. Curiosamente, incluso sin acceso a un dron real, podemos generar imágenes aéreas realistas. Echemos un vistazo a cómo.
Creación de una toma artificial de un dron con Google Earth Studio
Google Earth Studio es una herramienta de animación basada en web que los usuarios pueden utilizar para crear contenidos fijos y animados utilizando las imágenes por satélite y en 3D de Google Earth. Podemos utilizarla para crear imágenes aéreas realistas.
El primer paso es abrir Google Earth Studio y crear un proyecto, como se muestra a continuación.
Necesitarás una cuenta de Google para acceder.
Fig. 2. Creación de un proyecto en Google Earth Studio.
Una vez que te hayas registrado, puedes elegir una ubicación para tu vídeo con dron artificial. Utilizando la barra de búsqueda de la esquina superior izquierda de la página, puedes buscar ubicaciones. Para este tutorial, elegiremos Canadá. Además, como vamos a entrenar un modelo para detect casas, nuestro vídeo de dron debería tener una vista aérea de casas.
Fig. 3. Selección de una ubicación con Google Earth Studio.
A continuación, podemos establecer el primer y el último fotograma para capturar el movimiento de la toma de dron artificial. Una vez que haya elegido la ubicación de inicio para la toma de dron, establezca el primer fotograma utilizando los diamantes azules, como se muestra a continuación.
Fig. 4. Ajuste el primer fotograma utilizando los diamantes azules.
A continuación, podemos elegir el último fotograma para determinar el destino del dron. Esto nos ayudará a crear un efecto de movimiento para las imágenes del dron. Para ello, deslice la barra (resaltada abajo) hacia la derecha hasta un momento específico para crear el efecto de movimiento para la toma del dron. Una vez más, utilice los diamantes azules para establecer el último punto.
Fig. 5. Ajuste del último fotograma moviendo la barra.
Finalmente, puedes guardar este proyecto y renderizarlo haciendo clic en el botón rojo “Render” en la esquina superior derecha de la página. Esto te dará la salida de video final de la toma del dron, creando con éxito metraje de video de dron artificial.
Fig. 6. Renderizado del video de salida final.
¿Cómo etiquetar los datos del dron?
Ahora que hemos creado metraje de video de dron artificial, el siguiente paso es etiquetar o anotar las casas en él. También necesitaremos separar los fotogramas individuales del video.
Para empezar con esto, instalaremos LabelImg. LabelImg es una herramienta de etiquetado de imágenes de código abierto. Puede instalarlo directamente desde la terminal utilizando el instalador de paquetes pip ejecutando el siguiente comando: “pip install labelImg”.
Después de la instalación, puede ejecutar la herramienta utilizando el comando ‘labelImg’ en su terminal o símbolo del sistema. Esto le llevará a la página que se muestra a continuación.
Fig. 7. La interfaz de la herramienta LabelImg.
Mientras tanto, podemos utilizar un convertidor de video a imagen en línea o una herramienta llamada FFmpeg para dividir el video en fotogramas. FFmpeg es una colección de bibliotecas y herramientas para procesar contenido multimedia como audio, video, subtítulos y metadatos relacionados.
Puede utilizar el siguiente comando de terminal para separar cada fotograma del video del dron:
Una vez que hemos separado los fotogramas de la grabación del dron, podemos empezar a etiquetar los objetos (casas) que aparecen en ellos. Navegando hasta la carpeta de imágenes a través de la herramienta LabelImg, podemos etiquetar los objetos de cada imagen. Asegúrate de guardar y verificar cada imagen etiquetada. Una vez anotadas las imágenes, podemos pasar a entrenar YOLO11 con estos datos.
Fig. 8. Un ejemplo de cómo guardar imágenes anotadas.
Flujo de trabajo de entrenamiento del modelo YOLO11
Antes de empezar a entrenar a YOLO11, organizaremos nuestras imágenes y etiquetas. Empieza creando dos carpetas: una llamada "train" y la otra "valid". Divide tus imágenes entre estas carpetas. Dentro de cada una, crea subcarpetas separadas para las imágenes y sus correspondientes archivos de etiquetas (formato de texto), como se muestra a continuación.
Fig. 9. Un ejemplo de cómo crear carpetas de imágenes y etiquetas.
A continuación, podemos empezar a entrenar el modelo YOLO11 del siguiente modo:
Paso 1: Instale el paqueteUltralytics Python . Puede hacerlo ejecutando el comando "pip install ultralytics" en su terminal. Si se encuentra con algún problema de instalación, consulte nuestra guía de solución de problemas para obtener consejos y trucos que le ayudarán a resolverlos.
Paso 2: Tras instalar correctamente el paquete, cree un archivo con el nombre 'datayaml'. Se trata de un archivo de configuración crucial para el entrenamiento del modelo. En el archivo datayaml yaml, incluya la siguiente información: la ruta al conjunto de datos de entrenamiento, la ruta al conjunto de datos de validación, el número de clases (nc) y una lista de nombres de clases (names), como se muestra a continuación.
Fig 10. Ejemplo de archivo datayaml .
Paso 3: Una vez configurado el archivo 'datayaml', puedes empezar a entrenar tu modelo usando el siguiente código Python . Este código carga el modelo YOLO11 preentrenado y lo entrena según tus configuraciones.
from ultralytics import YOLO
# Load a YOLO11 modelmodel = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano# Train the model with your data and settingsmodel.train(data="data.yaml", epochs=100, imgsz=640)
Paso 4: Una vez completado el entrenamiento, deberías ver un resultado similar al que se muestra a continuación. Esto significa que has entrenado con éxito tu modelo YOLO11 para aplicaciones basadas en drones.
Fig. 11. La salida que se muestra después del entrenamiento del modelo.
Ejecución de predicciones con Ultralytics YOLO11 en drones
El modelo YOLO11 entrenado puede utilizarse ahora para hacer predicciones mediante un proceso denominado inferencia. La inferencia consiste en utilizar un modelo para analizar datos nuevos y desconocidos basándose en lo que ha aprendido durante el entrenamiento. En este caso, el modelo puede utilizarse para encontrar y etiquetar objetos concretos, como casas, en imágenes o vídeos dibujando recuadros alrededor de ellos.
Para ejecutar una predicción, puede utilizar el modelo YOLO11 entrenado en un vídeo de entrada utilizando el siguiente código Python . En este ejemplo, utilizaremos el mismo vídeo de dron artificial que se utilizó para el entrenamiento, pero puedes utilizar cualquier otro archivo de vídeo si lo prefieres.
# Import libraryfrom ultralytics import YOLO
# Load the YOLO modelmodel = YOLO("best.pt") # Choose your custom-trained model# Predict the results from the modelresults = model.predict(source="path/to/original/video.mp4", show=True, save=True)
Después de ejecutar este código, se guardará el archivo de vídeo de salida con las predicciones y los cuadros delimitadores.
Fig. 12. Un fotograma del archivo de vídeo de salida.
Integración de Ultralytics YOLO11 en drones para diversas aplicaciones
La detección de casas para la entrega de paquetes con drones es sólo un ejemplo de cómo pueden aplicarse la visión por ordenador y YOLO11 . Aquí tienes otros usos reales de la visión por ordenador, YOLO11 y los drones aéreos:
Vigilancia y seguridad:Los drones con IA pueden utilizarse para vigilar grandes áreas en tiempo real. Pueden detect intrusiones, track actividades sospechosas y mejorar la seguridad en las fronteras nacionales, así como en grandes eventos públicos.
Respuesta a desastres y búsqueda y rescate: Equipados con cámaras térmicas y detección de objetos, los drones pueden ayudar a localizar supervivientes en zonas de desastre. También pueden evaluar los daños y entregar suministros de emergencia.
Agricultura y agricultura de precisión: Los drones integrados con visión por ordenador pueden utilizarse para analizar la salud de los cultivos y detect enfermedades, ayudando a los agricultores a aumentar el rendimiento y reducir los costes.
Cartografía y análisis geoespacial: Mediante la recopilación de mapas 3D de alta resolución, los drones con IA pueden ayudar en la planificación urbana y los estudios de terrenos. Proporcionan evaluaciones del terreno más rápidas y precisas que los métodos tradicionales.
Conclusiones clave
Los drones con IA y visión artificial están cambiando muchos sectores, desde la entrega de paquetes a la ayuda en emergencias y la agricultura. En esta guía explicamos cómo crear un vídeo artificial con un dron, etiquetar objetos en él, entrenar a YOLO11 y utilizarlo para detect casas.
Aplicar la detección de objetos a las grabaciones de los drones los hace más inteligentes, ya que les permite reconocer y track objetos automáticamente en tiempo real. A medida que mejore la tecnología, es probable que los drones basados en IA desempeñen un papel aún más importante en la agilización de las entregas, la mejora de la seguridad y la respuesta ante catástrofes.