Aprende a crear aplicaciones para drones potenciadas por 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 tiendas y las compras online pueden parecer iguales, pero dependen de una logística diferente. Las tiendas necesitan que se repongan las estanterías, mientras que los pedidos online dependen de las entregas a domicilio. Gracias a los avances tecnológicos, ambas experiencias de compra se están reconfigurando en paralelo.
Por ejemplo, se está produciendo un cambio importante en las entregas. Los drones dotados de IA están cambiando la forma en que los productos llegan a nuestros hogares. Se espera que estos drones inteligentes realicen unos 808 millones de entregas en la próxima década, convirtiendo los cielos en la nueva ruta de entrega para el comercio cotidiano.
Los drones de reparto utilizan la inteligencia artificial (IA) y la visión por ordenador, un subcampo de la IA que se emplea para analizar datos visuales, para navegar y maniobrar sorteando obstáculos. Los modelos de visión por ordenador como Ultralytics YOLO11 pueden ayudar a los drones a detectar y seguir objetos en tiempo real, permitiéndoles comprender mejor su entorno e interactuar con él.
Empresas como Meituan y DJI ya están integrando la visión por ordenador en sus drones. De hecho, la rápida adopción de drones en diversas industrias ha hecho que el mercado de drones con IA se dispare hasta los 206.900 millones de dólares en 2031.
En este artículo, veremos más de cerca cómo pueden utilizarse los modelos de visión por ordenador como Ultralytics YOLO11 en aplicaciones basadas en drones, como las entregas con drones. Recorreremos un ejemplo que mostrará cómo pueden desarrollarse y probarse estas tecnologías antes de utilizarlas en escenarios del mundo real.
Una parte clave de los drones de reparto es su capacidad para detectar casas mientras navegan. Para recrear esta capacidad y comprender cómo funciona, entrenaremos un modelo de visión por ordenador que pueda identificar casas en las secuencias captadas por un dron aéreo. Para ello, entrenaremos YOLO11 a medida, lo que implica ajustar un modelo YOLO11 preentrenado para reconocer y detectar 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 secuencias aéreas realistas. Veamos cómo.
Google Earth Studio es una herramienta de animación basada en web que pueden utilizar los usuarios para crear contenidos fijos y animados utilizando las imágenes por satélite y 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.
Una vez que te hayas identificado, puedes elegir una ubicación para tu vídeo con dron artificial. Utilizando la barra de búsqueda situada en 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 detectar casas, nuestro vídeo de dron debe tener una vista aérea de casas.
A continuación, podemos fijar el primer y el último fotograma para capturar el movimiento de la toma artificial del dron. Una vez que hayas elegido la ubicación inicial para la toma del dron, fija el primer fotograma utilizando los diamantes azules, como se muestra a continuación.
A continuación, podemos elegir el último fotograma para determinar el destino del dron. Esto nos ayudará a crear un efecto de movimiento para la toma del dron. Para ello, desliza la barra (resaltada más abajo) hacia la derecha hasta un momento determinado para crear el efecto de movimiento para la toma del dron. Una vez más, utiliza los diamantes azules para fijar el último punto.
Por último, puedes guardar este proyecto y renderizarlo haciendo clic en el botón rojo "Renderizar" de la esquina superior derecha de la página. Esto te dará la salida de vídeo final de la toma del dron, creando con éxito secuencias de vídeo de drones artificiales.
Ahora que hemos creado secuencias de vídeo de drones artificiales, el siguiente paso es etiquetar o anotar las casas que aparecen en ellas. También tendremos que separar los fotogramas individuales del vídeo.
Para empezar con esto, instalaremos LabelImg. LabelImg es una herramienta de etiquetado de imágenes de código abierto. Puedes instalarla directamente desde el terminal utilizando el instalador de paquetes pip ejecutando el siguiente comando: "pip install labelImg".
Tras la instalación, puedes ejecutar la herramienta utilizando el comando "labelImg" en tu terminal o símbolo del sistema. Esto te llevará a la página que se muestra a continuación.
Mientras tanto, podemos utilizar un conversor de vídeo a imagen online o una herramienta llamada FFmpeg para dividir el vídeo en fotogramas. FFmpeg es una colección de bibliotecas y herramientas para procesar contenidos multimedia como audio, vídeo, subtítulos y metadatos relacionados.
Puedes utilizar el siguiente comando de terminal para separar cada fotograma del vídeo de la grabación del dron:
ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg
Una vez que hemos separado los fotogramas de la grabación del dron, podemos empezar a etiquetar los objetos (casas) que hay en ellos. Navegando a 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.
Antes de empezar a entrenar a YOLO11, organizaremos nuestras imágenes y etiquetas. Empieza creando dos carpetas: una llamada "entrenar" y la otra "válido". 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 texto), como se muestra a continuación.
A continuación, podemos empezar a entrenar el modelo YOLO11 del siguiente modo:
from ultralytics import YOLO
# Load a YOLO11 model
model = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano
# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
El modelo YOLO11 entrenado puede utilizarse ahora para hacer predicciones mediante un proceso llamado inferencia. La inferencia consiste en utilizar un modelo para analizar datos nuevos, no vistos, basándose en lo que aprendió 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 cuadros delimitadores a su alrededor.
Para ejecutar una predicción, puedes 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 library
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("best.pt") # Choose your custom-trained model
# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)
Tras ejecutar este código, se guardará el archivo de vídeo de salida con las predicciones y los cuadros delimitadores.
Detectar casas para los paquetes de entrega de los 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:
Los drones de IA impulsados por visión por ordenador están cambiando muchos sectores, desde la entrega de paquetes a la ayuda en emergencias y la agricultura. En esta guía, hemos recorrido el proceso de crear un vídeo de dron artificial, etiquetar objetos en él, entrenar a YOLO11 y utilizarlo para detectar casas.
Aplicar la detección de objetos a las grabaciones de los drones los hace más inteligentes, permitiéndoles reconocer y rastrear objetos automáticamente en tiempo real. A medida que mejore la tecnología, es probable que los drones impulsados por IA desempeñen un papel aún más importante en la realización de entregas más rápidas, la mejora de la seguridad y la ayuda en la respuesta a catástrofes.
Únete a nuestra comunidad y explora nuestro repositorio de GitHub para saber más sobre Vision AI, y consulta nuestras opciones de licencia para poner en marcha tus proyectos de visión por ordenador. ¿Te interesan innovaciones como la IA en la fabricación o la visión por ordenador en la industria del automóvil? Visita nuestras páginas de soluciones para descubrir más.
Comienza tu viaje con el futuro del aprendizaje automático